{"id":1925,"date":"2015-01-13T00:20:40","date_gmt":"2015-01-13T00:20:40","guid":{"rendered":"http:\/\/41j.com\/blog\/?p=1925"},"modified":"2015-03-06T04:40:58","modified_gmt":"2015-03-06T04:40:58","slug":"esp8266-sdk-library-symbols","status":"publish","type":"post","link":"https:\/\/41j.com\/blog\/2015\/01\/esp8266-sdk-library-symbols\/","title":{"rendered":"Some esp8266 SDK Library symbols"},"content":{"rendered":"<h4>This is a continuation of my notes on the esp8266 microcontroller, you can find a complete list of my esp8266 posts <a href=\"http:\/\/41j.com\/blog\/2015\/01\/esp8266-notes-summary\/\">here<\/a><\/h4>\n<p>\nThe community supported esp8266 toolchain available <a href=\"https:\/\/github.com\/esp8266\/esp8266-wiki\/wiki\/Toolchain\">here<\/a> works pretty well. It&#8217;s based on the vendor provided SDK, with an open source lx106 compiler (based on crosstool-ng). In order to create a workable image, there are a bunch of binary only libraries that are supplied by the vendor. Your code sits in a function called &#8220;user_main&#8221;, which is called by the vendor libs, I guess they handle startup and everything else. TCP, and pretty much everything hardware level is handled by the closed source libs. The device memory map, and internal architecture is also somewhat unclear. The vendor libs are as follows:<\/p>\n<pre>\r\n-rw-r--r-- 1 new new  13K Nov 21 13:47 libjson.a\r\n-rw-r--r-- 1 new new 232K Nov 21 13:47 liblwip.a\r\n-rw-r--r-- 1 new new  80K Nov 21 13:47 libmain.a\r\n-rw-r--r-- 1 new new 177K Nov 21 13:47 libnet80211.a\r\n-rw-r--r-- 1 new new 134K Nov 21 13:47 libphy.a\r\n-rw-r--r-- 1 new new 155K Nov 22 11:22 libpp.a\r\n-rw-r--r-- 1 new new 156K Nov 21 13:47 libssl.a\r\n-rw-r--r-- 1 new new  12K Nov 21 13:47 libupgrade.a\r\n-rw-r--r-- 1 new new 122K Nov 21 13:47 libwpa.a\r\n<\/pre>\n<p>Some (but not all) of the functionality that exists in these libs is exposed in their associated header files. It&#8217;s also notable that they don&#8217;t supply a standard C library. This is somewhat annoying (I need <a href=\"http:\/\/41j.com\/blog\/2015\/01\/standalone-sscanf-implementation-esp8266\/\">sscanf<\/a> for example, and ended up writing my own standalone version). What making things more difficult perhaps is that some parts of the standard library are present, but not others. It would be interesting to built out a complete libc in any case.<\/p>\n<p>Here&#8217;s the nm dump of libmain.a, below that there are dumps of the other libs. I&#8217;m particularly interested in digged around for more info on the SD card interface. But I could only find a single reference to the SDIO (SDIO_slp_reject).<\/p>\n<p>Googling a few of the symbol names appears to bring up some interesting info. In particular the TCP\/IP stack appears to be based on <a href=\"http:\/\/en.wikipedia.org\/wiki\/LwIP\">LwIP<\/a>. The SSL support on <a href=\"http:\/\/sourceforge.net\/projects\/axtls\/\">axTLS<\/a>.<\/p>\n<pre>\r\n\r\napp_main.o:\r\n         U _bss_end\r\n         U _bss_start\r\n         U Cache_Read_Enable\r\n00000004 T call_user_start\r\n         U cnx_attach\r\n         U done_cb\r\n         U ets_bzero\r\n         U ets_install_putc1\r\n         U ets_isr_attach\r\n         U ets_isr_unmask\r\n         U ets_memcpy\r\n         U ets_post\r\n         U ets_printf\r\n         U ets_run\r\n         U ets_task\r\n         U ets_timer_arm_new\r\n         U ets_timer_disarm\r\n         U ets_timer_init\r\n         U ets_timer_setfn\r\n         U flashchip\r\n         U g_ic\r\n         U ieee80211_ifattach\r\n         U ieee80211_phy_init\r\n00000008 B info\r\n         U lmacInit\r\n         U lwip_init\r\n         U os_printf\r\n         U phy_disable_agc\r\n         U phy_enable_agc\r\n         U pm_attach\r\n         U pp_attach\r\n         U pvPortMalloc\r\n00000014 T read_macaddr_from_otp\r\n         U register_chipv6_phy\r\n         U rtc_get_reset_reason\r\n         U sleep_reset_analog_rtcreg_8266\r\n         U spi_flash_read\r\n         U SPIRead\r\n         U SPIReadModeCnfig\r\n         U sys_check_timeouts\r\n         U system_restart\r\n         U system_rtc_mem_read\r\n         U system_rtc_mem_write\r\n         U uart_div_modify\r\n         U __udivsi3\r\n         U user_init\r\n0000002c B user_init_flag\r\n         U vPortFree\r\n         U wDevEnableRx\r\n         U wDev_Initialize\r\n         U wDev_ProcessFiq\r\n00000000 B wdt_eventq\r\n000000b4 T wdt_feed\r\n000002e0 T wdt_init\r\n         U wifi_mode_set\r\n         U wifi_softap_cacl_mac\r\n         U wifi_softap_set_default_ssid\r\n         U wifi_softap_start\r\n         U wifi_station_connect\r\n         U wifi_station_get_auto_connect\r\n         U wifi_station_start\r\n         U _xtos_set_exception_handler\r\n\r\neagle_lib.o:\r\n00000008 T divide\r\n00000554 T ets_sprintf\r\n         U ets_strlen\r\n000001d0 T ets_vsnprintf\r\n00000530 T ets_vsprintf\r\n00000044 T skip_atoi\r\n         U __udivsi3\r\n         U __umodsi3\r\n\r\neagle_lwip_if.o:\r\n         U dhcps_flag\r\n         U dhcps_start\r\n0000024c T eagle_lwip_getif\r\n000000d8 T eagle_lwip_if_alloc\r\n         U etharp_output\r\n         U ethernet_input\r\n         U ets_memcpy\r\n         U ets_task\r\n         U g_ic\r\n         U ieee80211_output_pbuf\r\n         U memcpy\r\n         U netif_add\r\n         U netif_set_addr\r\n         U os_printf\r\n         U pvPortMalloc\r\n\r\nets_timer.o:\r\n         U ets_printf\r\n0000002c T ets_timer_arm_new\r\n         U timer2_ms_flag\r\n         U timer_insert\r\n         U __udivsi3\r\n\r\nmem_manager.o:\r\n         U ets_intr_lock\r\n         U ets_intr_unlock\r\n         U ets_memcpy\r\n         U ets_memset\r\n         U _heap_start\r\n         U os_printf\r\n00000128 T pvPortCalloc\r\n0000001c T pvPortMalloc\r\n00000168 T pvPortRealloc\r\n00000150 T pvPortZalloc\r\n00000008 T vApplicationMallocFailedHook\r\n000000e8 T vPortFree\r\n000001a0 T vPortInitialiseBlocks\r\n00000020 T xPortGetFreeHeapSize\r\n\r\nspi_flash.o:\r\n         U Cache_Read_Disable\r\n         U Cache_Read_Enable\r\n         U flashchip\r\n         U SPIEraseSector\r\n00000088 T spi_flash_erase_sector\r\n0000001c T spi_flash_get_id\r\n00000120 T spi_flash_read\r\n000000c4 T spi_flash_write\r\n         U SPIRead\r\n         U SPIWrite\r\n         U Wait_SPI_Idle\r\n\r\nuser_interface.o:\r\n         U _bss_end\r\n         U _bss_start\r\n         U chm_get_current_channel\r\n         U chm_set_current_channel\r\n         U cnx_node_leave\r\n         U cnx_sta_connect_cmd\r\n         U cnx_sta_scan_cmd\r\n         U _data_end\r\n         U _data_start\r\n00000003 D dhcpc_flag\r\n00000002 D dhcps_flag\r\n         U dhcps_start\r\n         U dhcps_stop\r\n         U dhcp_start\r\n         U dhcp_stop\r\n000000e8 B done_cb\r\n         U eagle_lwip_getif\r\n         U ets_bzero\r\n         U ets_delay_us\r\n         U ets_isr_mask\r\n         U ets_memcmp\r\n         U ets_memcpy\r\n         U ets_memset\r\n         U ets_post\r\n         U ets_sprintf\r\n         U ets_strlen\r\n         U ets_strncmp\r\n         U ets_task\r\n         U ets_timer_arm_new\r\n         U ets_timer_disarm\r\n         U ets_timer_setfn\r\n         U ets_update_cpu_frequency\r\n         U ets_vprintf\r\n         U ets_write_char\r\n         U flashchip\r\n         U g_ic\r\n         U gpio_output_set\r\n         U _heap_start\r\n         U hexstr2bin\r\n         U ieee80211_ht_attach\r\n         U ieee80211_phy_init\r\n         U ieee80211_send_mgmt\r\n         U ieee80211_sta_new_state\r\n         U info\r\n         U memcpy\r\n         U __muldi3\r\n         U netif_set_addr\r\n0000000c T os_printf\r\n         U pbkdf2_sha1\r\n         U pm_is_open\r\n         U pm_is_waked\r\n         U pm_post\r\n         U pm_rtc_clock_cali_proc\r\n         U pm_set_sleep_time\r\n         U pm_set_sleep_type_from_upper\r\n         U ppRecycleRxPkt\r\n000000ec B promiscuous_cb\r\n         U pvPortMalloc\r\n         U pvPortZalloc\r\n         U _rodata_end\r\n         U _rodata_start\r\n         U scan_cancel\r\n         U scannum\r\n         U spi_flash_erase_sector\r\n         U spi_flash_read\r\n         U spi_flash_write\r\n         U sta_con_timer\r\n00000258 T system_adc_read\r\n00000404 T system_deep_sleep\r\n0000072c T system_get_chip_id\r\n0000070c T system_get_free_heap_size\r\n0000076c T system_get_rtc_time\r\n000005a8 T system_get_time\r\n00000868 T system_init_done_cb\r\n00000794 T system_mktime\r\n0000006c T system_os_post\r\n00001c44 T system_os_task\r\n00000240 T system_pp_recycle_rx_pkt\r\n000006a8 T system_print_meminfo\r\n0000027c T system_restart\r\n00000018 T system_restore\r\n00000754 T system_rtc_clock_cali_proc\r\n000000f4 T system_rtc_mem_read\r\n0000009c T system_rtc_mem_write\r\n00000234 T system_set_os_print\r\n000005d4 T system_station_got_ip_set\r\n0000058c T system_timer_reinit\r\n00001c84 T system_uart_swap\r\n00000344 T system_upgrade_flag_check\r\n00000320 T system_upgrade_flag_set\r\n00000364 T system_upgrade_reboot\r\n00000300 T system_upgrade_userbin_check\r\n000002e4 T system_upgrade_userbin_set\r\n         U test_tout\r\n00000001 D timer2_ms_flag\r\n         U __udivsi3\r\n         U user_init_flag\r\n         U vPortFree\r\n0000184c T wifi_get_channel\r\n00001934 T wifi_get_ip_info\r\n00001aa8 T wifi_get_macaddr\r\n000009d8 T wifi_get_opmode\r\n00001758 T wifi_get_phy_mode\r\n         U wifi_mode_set\r\n00000adc T wifi_param_save_protect\r\n000018a0 T wifi_promiscuous_enable\r\n0000186c T wifi_set_channel\r\n000019d4 T wifi_set_ip_info\r\n00001b3c T wifi_set_macaddr\r\n00000a5c T wifi_set_opmode\r\n000009fc T wifi_set_opmode_local\r\n0000178c T wifi_set_phy_mode\r\n0000191c T wifi_set_promiscuous_rx_cb\r\n00001824 T wifi_set_sleep_type\r\n00001184 T wifi_softap_cacl_mac\r\n000016a8 T wifi_softap_deauth\r\n00000884 T wifi_softap_dhcps_start\r\n000008d8 T wifi_softap_dhcps_stop\r\n00001650 T wifi_softap_free_station_info\r\n0000126c T wifi_softap_get_config\r\n000015c8 T wifi_softap_get_station_info\r\n00001360 T wifi_softap_set_config\r\n00001204 T wifi_softap_set_default_ssid\r\n0000155c T wifi_softap_set_station_info\r\n         U wifi_softap_start\r\n         U wifi_softap_stop\r\n00000ee4 T wifi_station_ap_change\r\n00000bfc T wifi_station_ap_number_set\r\n0000107c T wifi_station_connect\r\n0000092c T wifi_station_dhcpc_start\r\n00000998 T wifi_station_dhcpc_stop\r\n000010e0 T wifi_station_disconnect\r\n0000101c T wifi_station_get_auto_connect\r\n00000ba8 T wifi_station_get_config\r\n00001150 T wifi_station_get_connect_status\r\n00000e94 T wifi_station_get_current_ap_id\r\n00000fd8 T wifi_station_scan\r\n00001038 T wifi_station_set_auto_connect\r\n00000d7c T wifi_station_set_config\r\n         U wifi_station_start\r\n         U wifi_station_stop\r\n00001bf8 T wifi_status_led_install\r\n         U xPortGetFreeHeapSize\r\n<\/pre>\n<p>And here&#8217;s the &#8211;defined-only info from the other libs:<\/p>\n<p>libjson.a:<\/p>\n<pre>\r\njsonparse.o:\r\n00000204 T jsonparse_copy_value\r\n00000314 T jsonparse_get_len\r\n00000318 T jsonparse_get_type\r\n00000264 T jsonparse_get_value_as_int\r\n00000290 T jsonparse_get_value_as_long\r\n000002bc T jsonparse_get_value_as_ulong\r\n00000328 T jsonparse_has_next\r\n000000d8 T jsonparse_next\r\n000000c0 T jsonparse_setup\r\n000002ec T jsonparse_strcmp_value\r\n\r\njsontree.o:\r\n00000354 T jsontree_find_next\r\n00000178 T jsontree_path_name\r\n000001a4 T jsontree_print_next\r\n00000168 T jsontree_reset\r\n00000150 T jsontree_setup\r\n00000000 T jsontree_write_atom\r\n00000090 T jsontree_write_int\r\n00000100 T jsontree_write_int_array\r\n00000038 T jsontree_write_string\r\n<\/pre>\n<p>liblwip.a:<\/p>\n<pre>\r\napi_lib.o:\r\n\r\napi_msg.o:\r\n\r\nautoip.o:\r\n\r\ndef.o:\r\n\r\ndhcp.o:\r\n00000768 T dhcp_arp_reply\r\n00000518 T dhcp_cleanup\r\n0000026c T dhcp_coarse_tmr\r\n000002b8 T dhcp_fine_tmr\r\n00000650 T dhcp_inform\r\n0000071c T dhcp_network_changed\r\n00000cf8 T dhcp_release\r\n00000a70 T dhcp_renew\r\n00000000 B dhcp_rx_options_given\r\n00000010 B dhcp_rx_options_val\r\n000004f0 T dhcp_set_struct\r\n00000560 T dhcp_start\r\n00000dd4 T dhcp_stop\r\n\r\ndhcpserver.o:\r\n00000a24 T dhcps_coarse_tmr\r\n00000880 T dhcps_start\r\n00000900 T dhcps_stop\r\n00000000 T node_insert_to_list\r\n0000001c T node_remove_from_list\r\n00000010 B s\r\n00000940 T wifi_softap_set_dhcps_lease\r\n\r\ndns.o:\r\n000005f8 T dns_gethostbyname\r\n000000c8 T dns_getserver\r\n0000002c T dns_init\r\n00000094 T dns_setserver\r\n00000008 T dns_tmr\r\n\r\nerr.o:\r\n\r\nespconn.o:\r\n000004dc T espconn_accept\r\n00000174 T espconn_connect\r\n00000010 T espconn_copy_partial\r\n00000218 T espconn_create\r\n000005b0 T espconn_delete\r\n00000578 T espconn_disconnect\r\n000000ec T espconn_find_connection\r\n000003c4 T espconn_get_connection_info\r\n000005f4 T espconn_gethostbyname\r\n000000a0 T espconn_list_creat\r\n000000c0 T espconn_list_delete\r\n00000010 T espconn_port\r\n00000360 T espconn_regist_connectcb\r\n0000038c T espconn_regist_disconcb\r\n0000037c T espconn_regist_reconcb\r\n00000370 T espconn_regist_recvcb\r\n00000354 T espconn_regist_sentcb\r\n00000530 T espconn_regist_time\r\n00000268 T espconn_sent\r\n000002c4 T espconn_tcp_get_max_con\r\n000002f0 T espconn_tcp_get_max_con_allow\r\n000002d8 T espconn_tcp_set_max_con\r\n00000320 T espconn_tcp_set_max_con_allow\r\n00000008 B link_timer\r\n00000000 B plink_active\r\n00000010 B premot\r\n00000004 B pserver_list\r\n\r\nespconn_tcp.o:\r\n00000560 T espconn_tcp_client\r\n00000b80 T espconn_tcp_delete\r\n000001a0 T espconn_tcp_disconnect\r\n00000118 T espconn_tcp_sent\r\n00000ac0 T espconn_tcp_server\r\n\r\nespconn_udp.o:\r\n0000038c T espconn_igmp_join\r\n00000368 T espconn_igmp_leave\r\n00000294 T espconn_udp_disconnect\r\n00000060 T espconn_udp_sent\r\n000002f4 T espconn_udp_server\r\n\r\netharp.o:\r\n00000270 T etharp_cleanup_netif\r\n000002b0 T etharp_find_addr\r\n0000050c T etharp_output\r\n00000620 T etharp_query\r\n0000084c T etharp_request\r\n00000038 T etharp_tmr\r\n00000000 R ethbroadcast\r\n0000087c T ethernet_input\r\n00000006 R ethzero\r\n\r\nicmp.o:\r\n00000240 T icmp_dest_unreach\r\n00000060 T icmp_input\r\n\r\nigmp.o:\r\n0000000c T igmp_init\r\n000001fc T igmp_input\r\n0000036c T igmp_joingroup\r\n00000428 T igmp_leavegroup\r\n00000104 T igmp_lookfor_group\r\n000000d0 T igmp_report_groups\r\n00000024 T igmp_start\r\n0000006c T igmp_stop\r\n000004d4 T igmp_tmr\r\n\r\ninet_chksum.o:\r\n0000022c T inet_chksum\r\n00000244 T inet_chksum_pbuf\r\n0000007c T inet_chksum_pseudo\r\n00000148 T inet_chksum_pseudo_partial\r\n\r\ninet.o:\r\n\r\ninit.o:\r\n00000014 T lwip_init\r\n\r\nip_addr.o:\r\n00000000 T ip4_addr_isbroadcast\r\n00000034 T ip4_addr_netmask_valid\r\n00000078 T ipaddr_addr\r\n00000000 R ip_addr_any\r\n0000009c T ipaddr_aton\r\n00000004 R ip_addr_broadcast\r\n00000200 T ipaddr_ntoa\r\n0000021c T ipaddr_ntoa_r\r\n\r\nip_frag.o:\r\n\r\nip.o:\r\n0000000c B current_header\r\n00000000 B current_iphdr_dest\r\n00000004 B current_iphdr_src\r\n00000008 B current_netif\r\n00000154 T ip_input\r\n000005dc T ip_output\r\n000003c0 T ip_output_if\r\n000003f8 T ip_output_if_opt\r\n00000010 T ip_route\r\n00000088 T ip_router\r\n\r\nmem.o:\r\n\r\nmemp.o:\r\n00000000 R memp_sizes\r\n00000000 D memp_sizes_test\r\n\r\nnetbuf.o:\r\n\r\nnetdb.o:\r\n\r\nnetifapi.o:\r\n\r\nnetif.o:\r\n00000010 T netif_add\r\n00000004 B netif_default\r\n00000110 T netif_find\r\n00000000 T netif_init\r\n00000000 B netif_list\r\n000000ac T netif_remove\r\n00000074 T netif_set_addr\r\n000001e0 T netif_set_default\r\n00000234 T netif_set_down\r\n000001bc T netif_set_gw\r\n00000154 T netif_set_ipaddr\r\n000002b4 T netif_set_link_down\r\n00000264 T netif_set_link_up\r\n000001cc T netif_set_netmask\r\n000001f0 T netif_set_up\r\n\r\nnetio.o:\r\n00000434 T netio_init\r\n\r\npbuf.o:\r\n00000018 T pbuf_alloc\r\n000002c8 T pbuf_cat\r\n000002f4 T pbuf_chain\r\n000002a4 T pbuf_clen\r\n000004e8 T pbuf_coalesce\r\n00000350 T pbuf_copy\r\n000003f8 T pbuf_copy_partial\r\n00000310 T pbuf_dechain\r\n0000022c T pbuf_free\r\n0000051c T pbuf_get_at\r\n000001b0 T pbuf_header\r\n00000548 T pbuf_memcmp\r\n000005c0 T pbuf_memfind\r\n00000168 T pbuf_realloc\r\n000002bc T pbuf_ref\r\n00000620 T pbuf_strstr\r\n00000484 T pbuf_take\r\n\r\nping.o:\r\n\r\nraw.o:\r\n\r\nsockets.o:\r\n\r\nstats.o:\r\n\r\nsys_arch.o:\r\n\r\nsys.o:\r\n\r\ntcp_in.o:\r\n00000098 T tcp_input\r\n00000030 B tcp_input_pcb\r\n\r\ntcpip.o:\r\n\r\ntcp.o:\r\n000000d0 T tcp_abandon\r\n0000016c T tcp_abort\r\n00000a34 T tcp_accept\r\n00000004 B tcp_active_pcbs\r\n00000934 T tcp_alloc\r\n00000a18 T tcp_arg\r\n00000020 R tcp_backoff\r\n00000194 T tcp_bind\r\n00000010 B tcp_bound_pcbs\r\n00000028 T tcp_close\r\n000003a4 T tcp_connect\r\n00000b4c T tcp_debug_state_str\r\n00000b14 T tcp_eff_send_mss\r\n00000a2c T tcp_err\r\n00000778 T tcp_fasttmr\r\n00000014 B tcp_listen_pcbs\r\n0000023c T tcp_listen_with_backlog\r\n00000a04 T tcp_new\r\n00000b00 T tcp_next_iss\r\n00000000 R tcp_pcb_lists\r\n00000a44 T tcp_pcb_purge\r\n00000a94 T tcp_pcb_remove\r\n00000010 R tcp_persist_backoff\r\n00000a38 T tcp_poll\r\n00000a1c T tcp_recv\r\n00000338 T tcp_recved\r\n0000084c T tcp_recv_null\r\n00000818 T tcp_seg_free\r\n000007f4 T tcp_segs_free\r\n00000a24 T tcp_sent\r\n00000840 T tcp_setprio\r\n00000054 T tcp_shutdown\r\n000004f4 T tcp_slowtmr\r\n00000030 R tcp_state_str\r\n00000018 B tcp_ticks\r\n00000008 B tcp_tmp_pcb\r\n00000004 T tcp_tmr\r\n0000000c B tcp_tw_pcbs\r\n000002f4 T tcp_update_rcv_ann_wnd\r\n\r\ntcp_out.o:\r\n000006b8 T tcp_enqueue_flags\r\n00000df4 T tcp_keepalive\r\n00000854 T tcp_output\r\n00000ce0 T tcp_rexmit\r\n00000d8c T tcp_rexmit_fast\r\n00000ca0 T tcp_rexmit_rto\r\n00000b70 T tcp_rst\r\n000007ac T tcp_send_empty_ack\r\n0000010c T tcp_send_fin\r\n0000035c T tcp_write\r\n00000e8c T tcp_zero_window_probe\r\n\r\ntimers.o:\r\n00000270 T sys_check_timeouts\r\n0000032c T sys_restart_timeouts\r\n0000017c T sys_timeout\r\n00000114 T sys_timeouts_init\r\n000001fc T sys_untimeout\r\n00000060 T tcp_timer_needed\r\n\r\nudp.o:\r\n00000484 T udp_bind\r\n00000504 T udp_connect\r\n00000560 T udp_disconnect\r\n00000054 T udp_input\r\n000005c8 T udp_new\r\n00000000 B udp_pcbs\r\n00000578 T udp_recv\r\n00000588 T udp_remove\r\n00000294 T udp_send\r\n000002b0 T udp_sendto\r\n00000320 T udp_sendto_if\r\n<\/pre>\n<p>libnet80211.a:<\/p>\n<pre>\r\n\r\nieee80211_action.o:\r\n00000124 T ieee80211_recv_action\r\n000000cc T ieee80211_recv_action_register\r\n00000100 T ieee80211_recv_action_unregister\r\n00000068 T ieee80211_send_action\r\n00000010 T ieee80211_send_action_register\r\n00000044 T ieee80211_send_action_unregister\r\n\r\nieee80211.o:\r\n00000000 B g_ic\r\n00000180 T ieee80211_chan2ieee\r\n000001e0 T ieee80211_find_channel\r\n00000208 T ieee80211_find_channel_byieee\r\n000001a8 T ieee80211_ieee2mhz\r\n000000b8 T ieee80211_ifattach\r\n00000124 T ieee80211_mhz2ieee\r\n00000000 R ieee80211_opcap\r\n000002a8 T wifi_mode_set\r\n\r\nieee80211_crypto.o:\r\n00000000 T ieee80211_crypto_attach\r\n00000004 T ieee80211_crypto_available\r\n00000064 T ieee80211_crypto_decap\r\n00000010 T ieee80211_crypto_encap\r\n00000008 T ieee80211_crypto_setkey\r\n\r\nieee80211_crypto_ccmp.o:\r\n00000000 D ccmp\r\n\r\nieee80211_crypto_tkip.o:\r\n00000000 D tkip\r\n\r\nieee80211_crypto_wep.o:\r\n00000000 D wep\r\n\r\nieee80211_ets.o:\r\n00000008 T ieee80211_getmgtframe\r\n\r\nieee80211_hostap.o:\r\n000004ec T hostap_handle_timer\r\n000005d0 T hostap_input\r\n000003fc T ieee80211_hostap_attach\r\n00000019 B PendFreeBcnEb\r\n00000018 B TmpSTAAPCloseAP\r\n00000fa8 T wifi_softap_start\r\n000010cc T wifi_softap_stop\r\n\r\nieee80211_ht.o:\r\n00000790 T ieee80211_add_htcap\r\n000007ac T ieee80211_add_htcap_vendor\r\n000008dc T ieee80211_add_htinfo\r\n000008f8 T ieee80211_add_htinfo_vendor\r\n00000018 T ieee80211_ht_attach\r\n000000ac T ieee80211_ht_node_cleanup\r\n0000006c T ieee80211_ht_node_init\r\n00000200 T ieee80211_ht_updateparams\r\n000000e8 T ieee80211_parse_htcap\r\n000003f4 T ieee80211_setup_basic_htrates\r\n0000031c T ieee80211_setup_htrates\r\n\r\nieee80211_hwmp.o:\r\n\r\nieee80211_input.o:\r\n000001f4 T ieee80211_alloc_challenge\r\n00000070 T ieee80211_decap\r\n00000008 T ieee80211_deliver_data\r\n00000000 T ieee80211_parse_action\r\n00000238 T ieee80211_parse_beacon\r\n000007e4 T ieee80211_parse_rsn\r\n000006c8 T ieee80211_parse_wpa\r\n00000184 T ieee80211_setup_rates\r\n000008e0 T ieee80211_setup_rateset\r\n\r\nieee80211_mesh.o:\r\n\r\nieee80211_node.o:\r\n\r\nieee80211_output.o:\r\n000009f0 T ieee80211_add_rates\r\n00000a2c T ieee80211_add_xrates\r\n00001318 T ieee80211_alloc_proberesp\r\n0000192c T ieee80211_beacon_alloc\r\n00000ca0 T ieee80211_getcapinfo\r\n00000448 T ieee80211_mgmt_output\r\n00000048 T ieee80211_output_pbuf\r\n00000d6c T ieee80211_send_mgmt\r\n00000560 T ieee80211_send_nulldata\r\n00000af0 T ieee80211_send_probereq\r\n00001534 T ieee80211_send_proberesp\r\n00000308 T ieee80211_send_setup\r\n00000540 T ieee80211_tx_mgt_cb\r\n\r\nieee80211_phy.o:\r\n000000c4 T ieee80211_compute_duration\r\n00000148 T ieee80211_dot11Rate_rix\r\n00000004 T ieee80211_get_11g_ratetable\r\n00000014 T ieee80211_get_ratetable\r\n00000030 T ieee80211_phy_init\r\n00000068 T ieee80211_phy_type_get\r\n00000084 T ieee80211_setup_ratetable\r\n\r\nieee80211_power.o:\r\n00000154 T ieee80211_node_pwrsave\r\n00000024 T ieee80211_psq_cleanup\r\n00000004 T ieee80211_psq_init\r\n00000074 T ieee80211_pwrsave\r\n0000002c T ieee80211_set_tim\r\n\r\nieee80211_proto.o:\r\n000000f8 T ieee80211_addbasicrates\r\n00000020 D ieee80211_addr_bcast\r\n00000050 T ieee80211_iserp_rateset\r\n00000128 T ieee80211_mlme_connect_bss\r\n0000000c T ieee80211_proto_attach\r\n000000e4 T ieee80211_setbasicrates\r\n00000034 T ieee80211_set_shortslottime\r\n00000000 D ieee80211_state_name\r\n0000010c T ieee80211_wme_initparams\r\n00000110 T ieee80211_wme_updateparams\r\n\r\nieee80211_scan.o:\r\n000007d8 T cannel_scan_connect_state\r\n00000000 B gScanStruct\r\n00000018 T ieee80211_scan_attach\r\n00000544 T scan_add_bssid\r\n00000590 T scan_add_probe_ssid\r\n000003c8 T scan_cancel\r\n00000a64 T scan_check_hidden\r\n00000734 T scan_clear_channles\r\n00000804 T scan_connect_state\r\n000007c8 T scan_get_type\r\n0000057c T scan_hidden_ssid\r\n000000b4 B scannum\r\n00000c24 T scan_parse_beacon\r\n0000000c T scan_pm_channel_op_cb\r\n000008a0 T scan_profile_check\r\n0000056c T scan_remove_bssid\r\n000005d4 T scan_remove_probe_ssid\r\n000007b8 T scan_set_desChan\r\n000000e8 T scan_start\r\n\r\nieee80211_sta.o:\r\n000006b0 T ieee80211_parse_wmeparams\r\n000000c4 T ieee80211_sta_new_state\r\n000002e8 T sta_input\r\n00000030 T sta_status_set\r\n00000c44 T wifi_station_start\r\n00000008 T wifi_station_stop\r\n\r\nif_eagle.o:\r\n\r\nwl_chm.o:\r\n00000008 T chm_acquire_lock\r\n00000074 T chm_cancel_op\r\n00000224 T chm_check_same_channel\r\n00000160 T chm_end_op\r\n000001ec T chm_freq2index\r\n000000e0 T chm_get_current_channel\r\n00000020 T chm_init\r\n00000050 T chm_release_lock\r\n000000b0 T chm_return_home_channel\r\n000001b8 T chm_set_current_channel\r\n00000090 T chm_start_op\r\n\r\nwl_cnx.o:\r\n00000b8c T cnx_add_rc\r\n00000018 T cnx_attach\r\n000009f0 T cnx_bss_alloc\r\n000004e8 T cnx_connect_timeout\r\n000011d8 T cnx_node_alloc\r\n00001448 T cnx_node_join\r\n00001334 T cnx_node_leave\r\n00001248 T cnx_node_remove\r\n000012ac T cnx_node_search\r\n00000ab0 T cnx_rc_search\r\n00000e58 T cnx_rc_update_age\r\n00000d60 T cnx_rc_update_rssi\r\n00000dec T cnx_rc_update_state_metric\r\n00000c8c T cnx_remove_rc\r\n0000115c T cnx_sta_associated\r\n000000fc T cnx_sta_connect_cmd\r\n00000064 T cnx_sta_connect_led_timer_cb\r\n0000105c T cnx_sta_leave\r\n00000520 T cnx_start_handoff_cb\r\n00000220 T cnx_sta_scan_cmd\r\n00000e84 T cnx_update_bss\r\n00000ee4 T cnx_update_bss_more\r\n0000070c B g_cnx_probe_rc_list_cb\r\n00000708 B sta_con_timer\r\n<\/pre>\n<p>libphy.a:<\/p>\n<pre>\r\n\r\nate_test.o:\r\n\r\nphy.o:\r\n00000024 T bb_init\r\n0000002c T phy_change_channel\r\n00000098 T phy_delete_channel\r\n000000d0 T phy_disable_agc\r\n000000b4 T phy_enable_agc\r\n00000048 T phy_get_mactime\r\n00000044 T phy_init\r\n000000ec T phy_initialize_bb\r\n00000108 T phy_set_sense\r\n00000008 T register_phy_ops\r\n00000078 T RFChannelSel\r\n00000004 T rf_init\r\n\r\nphy_chip_v6_ana.o:\r\n00001508 T check_data_flag\r\n00000d34 T chip_60_set_channel\r\n00001004 T chip_v6_rf_init\r\n0000029c T chip_v6_rxmax_ext_ana\r\n00000ecc T chip_v6_set_chan\r\n00000e38 T chip_v6_set_chan_offset\r\n00000f64 T chip_v6_set_chan_wakeup\r\n0000153c T get_check_flag\r\n0000121c T low_power_set\r\n000003f0 T ram_chip_v6_rx_init\r\n000000e8 T ram_pbus_debugmode\r\n00000004 T ram_pbus_set_rxgain\r\n000001a0 T ram_pbus_xpd_tx_on\r\n000007d0 T ram_restart_cal\r\n000008f8 T ram_rfpll_set_freq\r\n00000a1c T ram_set_channel_freq\r\n000004f8 T readvdd33\r\n00000220 T set_rf_freq_offset\r\n0000074c T set_txcap_reg\r\n000012d8 T test_tout\r\n00000438 T tsen_meas\r\n00000698 T txpwr_offset\r\n00000848 T wait_rfpll_cal_end\r\n\r\nphy_chip_v6.o:\r\n00003690 T ant_switch_init\r\n00003114 T bbpll_cal\r\n00000275 B bbpll_cal_flag\r\n000035c8 T change_bbpll160\r\n000034d0 T change_bbpll160_sleep\r\n00000ad0 T check_data_func\r\n0000000c B check_result\r\n000001e8 B chip6_phy_init_ctrl\r\n00000010 B chip6_sleep_params\r\n00002e18 T chip_v6_initialize_bb\r\n00002344 T chip_v6_rxmax_ext\r\n000022f4 T chip_v6_rxmax_ext_dig\r\n00000c30 T chip_v6_set_chanfreq\r\n00001bdc T chip_v6_set_chan_misc\r\n00001a34 T chip_v6_set_chan_rx_cmp\r\n00000276 B deep_sleep_en\r\n00000b38 T do_noisefloor\r\n00000af4 T do_noisefloor_lsleep_v50\r\n00000258 B do_pwctrl_flag\r\n000004c8 T gen_rx_gain_table\r\n00001460 T get_noisefloor_sat\r\n00000000 B g_phyFuns\r\n00000278 B noise_array\r\n00001580 T noise_check_loop\r\n0000171c T noise_init\r\n00000614 T pbus_set_rxbbgain\r\n00002fec T periodic_cal\r\n00000270 B periodic_cal_dc_num\r\n00000274 B periodic_cal_flag\r\n000031bc T periodic_cal_top\r\n00002434 T phy_bb_rx_cfg\r\n000020b4 T phy_dig_spur_prot\r\n00001d34 T phy_dig_spur_set\r\n00000256 B phy_freq_offset\r\n00002938 T phy_gpio_cfg\r\n00002830 T phy_pbus_soc_cfg\r\n00000259 B pwctrl_debug\r\n000009dc T ram_get_corr_power\r\n00001440 T ram_get_noisefloor\r\n00001498 T ram_set_noise_floor\r\n000014f8 T ram_start_noisefloor\r\n00000000 T ram_tx_mac_disable\r\n00000000 T ram_tx_mac_enable\r\n00001544 T read_hw_noisefloor\r\n000037b0 T register_chipv6_phy\r\n00003224 T register_chipv6_phy_init_param\r\n00000008 T rtc_mem_backup\r\n0000003c T rtc_mem_recovery\r\n00000008 B rxdc_init_flag\r\n00000030 D rx_gain_swp\r\n00000004 B rxiq_compute_num\r\n0000198c T sdt_on_noise_start\r\n00000070 T set_cal_rxdc\r\n00003610 T set_crystal_uart\r\n00000164 T set_rx_gain_cal_iq\r\n000006b4 T set_rx_gain_testchip_50\r\n00000bb0 T start_dig_rx\r\n00000bfc T stop_dig_rx\r\n0000025c B sw_scan_mode\r\n00000e60 T target_power_add_backoff\r\n00001928 T target_power_backoff\r\n00000050 D test_rffreq_txcap\r\n000010ac T tx_atten_set_interp\r\n0000025a B txbk_dpdby_flag\r\n00000ca4 T tx_cap_init\r\n00002da4 T tx_cont_cfg\r\n00002d50 T tx_cont_dis\r\n00002c98 T tx_cont_en\r\n00000380 B tx_pwctrl_atten_init\r\n00000024 D tx_pwctrl_atten_init_en\r\n00001340 T tx_pwctrl_init\r\n00000ee0 T tx_pwctrl_init_cal\r\n00000002 D tx_rf_ana_gain\r\n000027ec T uart_wait_idle\r\n\r\nphy_chip_v6_cal.o:\r\n00000418 T cal_rf_ana_gain\r\n00000258 T correct_rf_ana_gain\r\n00000020 T dcoindex2txbbgain\r\n00000060 D dpd_db2linear\r\n00000000 D dpd_index\r\n00002430 T dpd_init\r\n0000236c T dpd_mem_write\r\n00002320 T dpd_scale_set\r\n000006c0 T get_fcc_1m2m_pwr_offset\r\n00000ff8 T get_pwctrl_correct\r\n00000230 T get_rf_gain_qdb\r\n00000368 T get_sar_dout\r\n00000f04 T get_target_power_offset\r\n00000054 T init_cal_dcoffset\r\n00000003 B loop_pwctrl_correct_atten_high_power\r\n00000000 B loop_pwctrl_pwdet_error_accum_high_power\r\n000004f4 T meas_tone_pwr_db\r\n0000171c T ram_cal_tos_v60\r\n000018fc T ram_get_bb_atten\r\n00001658 T ram_get_fm_sar_dout\r\n00001b40 T ram_rfcal_pwrctrl\r\n00002108 T ram_rfcal_rxiq\r\n0000195c T ram_rfcal_txcap\r\n00000aa4 T ram_rfcal_txiq\r\n00001f60 T ram_rxiq_cover_mg_mp\r\n00001d84 T ram_rxiq_get_mis\r\n00000700 T ram_set_txbb_atten\r\n00000d3c T rc_cal\r\n000015ec T read_sar_dout\r\n00000005 B rxiq_cover_fail_num\r\n0000011c T set_rfanagain_dc_reg\r\n000001c4 T set_txdc_pbus\r\n00000000 T txbbgain2dcoindex\r\n00000870 T txiq_cover\r\n000007a4 T txiq_get_mis_pwr\r\n000014b4 T tx_pwctrl_background\r\n000013f0 T tx_pwctrl_bg_init\r\n000010a0 T tx_pwctrl_cal\r\n00000002 B tx_pwctrl_pk_num\r\n00000004 B tx_pwctrl_set_chan_flag\r\n0000056c T tx_pwr_backoff\r\n\r\nphy_chip_v6_unused.o:\r\n00000004 T chip_v6_get_sense\r\n00000000 T chip_v6_set_sense\r\n00000008 T chip_v6_unset_chanfreq\r\n00000030 T data_collect\r\n00000120 T operation_test\r\n000001e0 T slop_test\r\n0000019c T slop_wdt_feed\r\n000002b4 T wd_reset_cnt\r\n\r\nphy_sleep.o:\r\n00000000 D chip_version\r\n000000d8 T clockgate_watchdog\r\n000001e4 T get_chip_version\r\n00000003 B hardware_reject\r\n00000000 B periodic_cal_sat\r\n00000664 T pm_check_mac_idle\r\n000003e4 T pm_goto_sleep\r\n000004b4 T pm_open_rf\r\n00000324 T pm_prepare_to_sleep\r\n00000044 T pm_rtc2usec\r\n0000001c T pm_rtc_clock_cali\r\n00000358 T pm_sdio_nidle\r\n000002d4 T pm_set_pll_xtal_wait_time\r\n000006d4 T pm_set_sleep_btco\r\n00000058 T pm_set_sleep_cycles\r\n000008dc T pm_set_sleep_mode\r\n0000079c T pm_set_wakeup_btco\r\n000005bc T pm_set_wakeup_mac\r\n000000b0 T pm_sleep_opt\r\n00000230 T pm_sleep_opt_bb_off\r\n00000280 T pm_sleep_opt_bb_on\r\n00000518 T pm_sleep_set_mac\r\n000009b4 T pm_unmask_bt\r\n00000010 T pm_usec2rtc\r\n00000468 T pm_wait4wakeup\r\n00000a8c T pm_wakeup_init\r\n000001a4 T pm_wakeup_opt\r\n00000002 B SDIO_slp_reject\r\n00000c8c T sleep_opt_8266\r\n00000cb4 T sleep_opt_bb_on_8266\r\n00000d00 T sleep_reset_analog_rtcreg_8266\r\n00000001 B software_slp_reject\r\n<\/pre>\n<p>libpp.a:<\/p>\n<pre>\r\n\r\nesf_buf.o:\r\n000000a4 T esf_buf_alloc\r\n00000218 T esf_buf_recycle\r\n0000002c T esf_buf_setup\r\n00000014 T esf_rx_buf_alloc\r\n\r\nif_hwctrl.o:\r\n00000378 T ic_bss_info_update\r\n000000b0 T ic_disable_interface\r\n00000034 T ic_enable_interface\r\n00000004 T ic_get_addr\r\n00000130 T ic_get_gtk_alg\r\n0000011c T ic_get_ptk_alg\r\n00000088 T ic_interface_enabled\r\n0000016c T ic_interface_is_p2p\r\n000000fc T ic_is_pure_sta\r\n00000440 T ic_remove_key\r\n00000158 T ic_set_gtk_alg\r\n000003dc T ic_set_key\r\n00000014 T ic_set_opmode\r\n00000144 T ic_set_ptk_alg\r\n000002c4 T ic_set_sta\r\n0000022c T ic_set_vif\r\n00000010 B if_ctrl\r\n00000000 B interface_mask\r\n\r\nlmac.o:\r\n00000814 T GetAccess\r\n00000004 B lmacConfMib\r\n00000820 T lmacDiscardAgedMSDU\r\n00000040 T lmacInit\r\n00000004 T lmacInitAc\r\n00000004 T lmacIsActive\r\n00000018 T lmacIsIdle\r\n00000efc T lmacMSDUAged\r\n00001378 T lmacProcessAckTimeout\r\n00000e84 T lmacProcessCollision\r\n00000df4 T lmacProcessCollisions\r\n00001320 T lmacProcessCtsTimeout\r\n000013b8 T lmacProcessRtsStart\r\n000014b0 T lmacProcessTxError\r\n000013f4 T lmacProcessTxRtsError\r\n000004c4 T lmacProcessTXStartData\r\n000006d4 T lmacProcessTxSuccess\r\n00000834 T lmacRecycleMPDU\r\n0000174c T lmacRxDone\r\n00000440 T lmacSetAcParam\r\n00001570 T lmacTxFrame\r\n\r\nmac_frame.o:\r\n\r\npm.o:\r\n00001bec T pm_allow_tx\r\n00001c10 T pm_assoc_parse\r\n0000174c T pm_attach\r\n000016c8 T pm_enable_gpio_wakeup\r\n00001aec T pm_force_scan_unlock\r\n00001db4 T pm_get_idle_wait_time\r\n00000b20 T pm_idle_sleep\r\n00001a78 T pm_is_open\r\n00001a5c T pm_is_waked\r\n00000c7c T pm_onBcnRx\r\n00000b60 T pm_open\r\n00001c9c T pm_post\r\n00000ae0 T pm_reset_idle_sleep\r\n000003d0 T pm_rf_is_closed\r\n00000014 T pm_rtc_clock_cali_proc\r\n00001a9c T pm_scan_lock\r\n00001bd4 T pm_scan_unlocked\r\n0000188c T pm_send_nullfunc\r\n00001c30 T pm_set_addr\r\n00000058 T pm_set_sleep_time\r\n000003f4 T pm_set_sleep_type_from_upper\r\n000009e8 T pm_shutdown\r\n00001c58 T pm_sleep_for\r\n00000688 T pm_suspend\r\n00001acc T pm_try_scan_unlock\r\n00000660 T uart_tx_flush\r\n\r\npp.o:\r\n0000001c B idle_timer_enabled\r\n00000001 D idle_wait_ms\r\n00000000 D noise_now\r\n00000860 T pp_attach\r\n00000eac T ppCalFrameTimes\r\n00000e24 T ppCalTxop\r\n000000bc T ppCheckTxIdle\r\n000004d4 T ppDequeueTxQ\r\n000000c4 T pp_disable_idle_timer\r\n00000008 T pp_disable_noise_timer\r\n00000d88 T ppDiscardMPDU\r\n000000f8 T pp_enable_idle_timer\r\n0000003c T pp_enable_noise_timer\r\n000005e8 T ppEnqueueRxq\r\n00000568 T ppEnqueueTxDone\r\n00000490 T ppFetchTxQFirstAvail\r\n0000043c T ppGetTxQFirstAvail_Locked\r\n000000a4 T pp_noise_test\r\n00000dbc T pp_post\r\n000003b4 T ppProcessTxQ\r\n00000028 T ppProcessWaitQ\r\n00000528 T ppRecordBarRRC\r\n00000048 T ppRecycleRxPkt\r\n00000500 T ppRegisterTxCallback\r\n00000500 T ppRollBackTxQ\r\n0000012c T pp_try_enable_idle_timer\r\n00000538 T pp_tx_idle_timeout\r\n000003d8 T ppTxPkt\r\n0000053c T ppTxqUpdateBitmap\r\n00000018 B time_num\r\n\r\nrate_control.o:\r\n00000020 T RC_GetAckRate\r\n00000044 T RC_GetAckTime\r\n00000094 T RC_GetBlockAckTime\r\n00000058 T RC_GetCtsTime\r\n00000030 T RC_GetRtsRate\r\n00000258 T RC_SetBasicRate\r\n\r\ntrc.o:\r\n0000010c T rcAttach\r\n000002b0 T rc_disable_trc\r\n0000032c T rc_disable_trc_by_interface\r\n000001c0 T rc_enable_trc\r\n0000028c T rc_get_mask\r\n00000338 T rcGetRate\r\n00000290 T rcGetSched\r\n00000354 T rc_get_sta_trc\r\n000003a0 T rc_get_trc\r\n00000158 T rcGetTrc\r\n00000414 T rc_get_trc_by_index\r\n00000440 T rc_only_sta_trc\r\n00000750 T rcReachRetryLimit\r\n0000026c T rcUpdateDataRxDone\r\n0000002c T rcUpdatePhyMode\r\n00000210 T rcUpdateRxDone\r\n0000017c T rcUpdateTxDone\r\n00000768 T trc_NeedRTS\r\n00000160 T trc_onDisconnect\r\n00000184 T trc_onScanDone\r\n00000164 T trc_onScanStart\r\n\r\nwdev.o:\r\n00000658 T Tx_Copy2Queue\r\n000007f8 T wDev_AppendRxBlocks\r\n00000590 T wDev_ClearBssid\r\n000006e4 T wDev_ClearTxqCollisions\r\n00000758 T wDev_ClearWaitingQueue\r\n000006f4 T wDev_Crypto_Conf\r\n000007b0 T wDev_Crypto_Disable\r\n00000000 B wDevCtrl\r\n00000924 T wDevDisableRx\r\n00000630 T wDev_DisableTransmit\r\n000007f0 T wDevEnableRx\r\n000005e8 T wDev_EnableTransmit\r\n00000380 T wDevForceAck6M\r\n000008ec T wDev_GetBAInfo\r\n000006cc T wDev_GetTxqCollisions\r\n00000314 T wDev_Initialize\r\n000005d0 T wDev_Insert_KeyEntry\r\n00000020 T wDev_Option_Init\r\n000006a4 T wDev_ProcessCollision\r\n00000380 T wDev_ProcessFiq\r\n000006ac T wDev_remove_KeyEntry\r\n000004b0 T wDev_SetBssid\r\n0000077c T wDev_SetFrameAckType\r\n000003a8 T wDev_SetMacAddress\r\n0000044c T wDev_SetRxPolicy\r\n00000708 T wDev_SetWaitingQueue\r\n<\/pre>\n<p>libssl.a:<\/p>\n<pre>\r\n\r\nespconn_secure.o:\r\n00000098 T espconn_secure_accept\r\n00000004 T espconn_secure_connect\r\n00000028 T espconn_secure_disconnect\r\n0000005c T espconn_secure_sent\r\n\r\nespconn_ssl.o:\r\n000001b0 T espconn_sent_packet\r\n000006d0 T espconn_ssl_client\r\n0000067c T espconn_ssl_disconnect\r\n00000154 T espconn_ssl_sent\r\n00000d6c T espconn_ssl_server\r\n00000000 B psslpbuf\r\n\r\nssl_aes.o:\r\n000003f8 T AES_cbc_decrypt\r\n00000270 T AES_cbc_encrypt\r\n000001ac T AES_convert_key\r\n0000002c T AES_set_key\r\n\r\nssl_asn1.o:\r\n000006f8 T asn1_compare_dn\r\n00000734 T asn1_find_oid\r\n000007cc T asn1_find_subjectaltname\r\n000000ac T asn1_get_int\r\n00000130 T asn1_get_private_key\r\n000004d8 T asn1_name\r\n0000004c T asn1_next_obj\r\n00000584 T asn1_public_key\r\n0000061c T asn1_signature\r\n00000804 T asn1_signature_type\r\n00000070 T asn1_skip_obj\r\n00000358 T asn1_validity\r\n00000334 T asn1_version\r\n00000000 T get_asn1_length\r\n000006b0 T remove_ca_certs\r\n\r\nssl_bigint.o:\r\n000001cc T bi_add\r\n00001000 T bi_barrett\r\n00000080 T bi_clear_cache\r\n00000190 T bi_clone\r\n00000dd4 T bi_compare\r\n000000c0 T bi_copy\r\n00001350 T bi_crt\r\n0000010c T bi_depermanent\r\n000003a4 T bi_divide\r\n00000970 T bi_export\r\n00000134 T bi_free\r\n00000a6c T bi_free_mod\r\n000007e4 T bi_import\r\n0000000c T bi_initialize\r\n00001168 T bi_mod_power\r\n000012c4 T bi_mod_power2\r\n00000be8 T bi_multiply\r\n000000e8 T bi_permanent\r\n000008f4 T bi_print\r\n000009f4 T bi_set_mod\r\n00000db4 T bi_square\r\n00000864 T bi_str_import\r\n00000250 T bi_subtract\r\n00000048 T bi_terminate\r\n00000170 T int_to_bi\r\n\r\nssl_crypto_misc.o:\r\n0000017c T base64_decode\r\n00000000 T get_file\r\n00000060 T get_random\r\n00000128 T get_random_NZ\r\n00000000 B hex_finish\r\n00000004 B hex_index\r\n00000170 T print_blob\r\n00000030 T RNG_custom_init\r\n0000000c T RNG_initialize\r\n00000034 T RNG_terminate\r\n00000000 R unsupported_str\r\n\r\nssl_gen_cert.o:\r\n\r\nssl_hmac.o:\r\n00000030 T ssl_hmac_md5\r\n0000015c T ssl_hmac_sha1\r\n\r\nssl_loader.o:\r\n000005bc T load_key_certs\r\n00000158 T ssl_obj_free\r\n00000018 T ssl_obj_load\r\n000000ac T ssl_obj_memory_load\r\n\r\nssl_md2.o:\r\n000000f8 T MD2_Final\r\n00000004 T MD2_Init\r\n00000088 T MD2_Update\r\n\r\nssl_md5.o:\r\n000000d8 T MD5_Final\r\n00000010 T MD5_Init\r\n0000003c T MD5_Update\r\n\r\nssl_openssl.o:\r\n\r\nssl_os_port.o:\r\n\r\nssl_p12.o:\r\n\r\nssl_rc4.o:\r\n00000058 T RC4_crypt\r\n00000000 T RC4_setup\r\n\r\nssl_rsa.o:\r\n00000268 T RSA_decrypt\r\n000003e4 T RSA_encrypt\r\n000001a4 T RSA_free\r\n00000370 T RSA_print\r\n00000334 T RSA_private\r\n00000030 T RSA_priv_key_new\r\n000000f4 T RSA_pub_key_new\r\n000003ac T RSA_public\r\n\r\nssl_sha1.o:\r\n00000090 T SHA1_Final\r\n00000014 T SHA1_Init\r\n00000038 T SHA1_Update\r\n\r\nssl_tls1_clnt.o:\r\n000001bc T do_client_connect\r\n000000cc T do_clnt_handshake\r\n00000014 T SSLClient_new\r\n\r\nssl_tls1.o:\r\n0000025c T add_cert\r\n00000310 T add_cert_auth\r\n000006b8 T add_packet\r\n000004e0 T add_private_key\r\n00000f88 T basic_read\r\n000015c8 T disposable_free\r\n00001588 T disposable_new\r\n00000a1c T finished_digest\r\n00000930 T generate_master_secret\r\n0000173c T kill_ssl_session\r\n000017dc T process_certificate\r\n00001440 T process_finished\r\n00001384 T send_alert\r\n000014c0 T send_certificate\r\n000012c0 T send_change_cipher_spec\r\n0000131c T send_finished\r\n00000c5c T send_packet\r\n0000008c T ssl_ctx_free\r\n00000014 T ssl_ctx_new\r\n0000013c T ssl_free\r\n0000038c T ssl_get_cert_dn\r\n000003c4 T ssl_get_cert_subject_alt_dnsname\r\n00001778 T ssl_get_cipher_id\r\n00001788 T ssl_get_config\r\n00001768 T ssl_get_session_id\r\n00001770 T ssl_get_session_id_size\r\n00001780 T ssl_handshake_status\r\n00000468 T ssl_new_context\r\n00000064 R ssl_prot_prefs\r\n000001b4 T ssl_read\r\n000003fc T ssl_renegotiate\r\n00001618 T ssl_session_update\r\n000017b0 T ssl_verify_cert\r\n000018a4 T ssl_version\r\n000001f4 T ssl_write\r\n\r\nssl_tls1_svr.o:\r\n00000044 T do_svr_handshake\r\n00000004 T sslserver_new\r\n\r\nssl_x509.o:\r\n00000720 T x509_display_error\r\n00000438 T x509_free\r\n000000f4 T x509_new\r\n000006dc T x509_print\r\n000005a0 T x509_verify\r\n<\/pre>\n<p>libupdate.a:<\/p>\n<pre>\r\nupgrade.o:\r\n00000670 T system_upgrade_start\r\n\r\nupgrade_lib.o:\r\n<\/pre>\n<p>libwpa.a:<\/p>\n<pre>\r\n\r\naes-internal-enc.o:\r\n00000460 T aes_encrypt\r\n00000478 T aes_encrypt_deinit\r\n00000430 T aes_encrypt_init\r\n00000010 T rijndaelEncrypt\r\n\r\naes-wrap.o:\r\n00000024 T aes_wrap\r\n\r\nap_config.o:\r\n00000060 T hostapd_config_defaults\r\n00000008 T hostapd_config_defaults_bss\r\n00000278 T hostapd_get_psk\r\n000000d0 T hostapd_mac_comp\r\n000000f0 T hostapd_mac_comp_empty\r\n000001ec T hostapd_maclist_found\r\n00000258 T hostapd_rate_found\r\n00000164 T hostapd_setup_wpa_psk\r\n00000198 T hostapd_wep_key_cmp\r\n\r\ncommon.o:\r\n00000054 T hex2byte\r\n00000088 T hexstr2bin\r\n00000000 T inc_byte_array\r\n000001a4 T wpa_config_parse_string\r\n000000e8 T wpa_get_ntp_timestamp\r\n\r\nieee802_1x.o:\r\n00000008 T ieee802_1x_receive\r\n\r\nos_xtensa.o:\r\n0000000c T ets_strdup\r\n000000b0 T ets_strrchr\r\n00000070 T os_get_random\r\n0000004c T os_get_time\r\n00000054 T os_random\r\n\r\nsta_info.o:\r\n\r\nwpa_auth.o:\r\n00000170 T wpa_auth_for_each_sta\r\n00001080 T wpa_auth_sm_event\r\n000003f0 T wpa_auth_sta_associated\r\n000004c4 T wpa_auth_sta_deinit\r\n000003a4 T wpa_auth_sta_init\r\n0000046c T wpa_auth_sta_no_wpa\r\n00000328 T wpa_init\r\n000005f4 T wpa_receive\r\n0000102c T wpa_remove_ptk\r\n00000b08 T __wpa_send_eapol\r\n\r\nwpa_auth_ie.o:\r\n00000280 T wpa_add_kde\r\n000001f4 T wpa_auth_gen_wpa_ie\r\n000005c4 T wpa_auth_uses_mfp\r\n00000528 T wpa_parse_kde_ies\r\n00000310 T wpa_validate_wpa_ie\r\n000000dc T wpa_write_rsn_ie\r\n\r\nwpabuf.o:\r\n000000c4 T wpabuf_alloc\r\n0000011c T wpabuf_alloc_copy\r\n000000ec T wpabuf_alloc_ext_data\r\n000001f4 T wpabuf_concat\r\n00000150 T wpabuf_dup\r\n00000188 T wpabuf_free\r\n000002b8 T wpabuf_printf\r\n000001b0 T wpabuf_put\r\n00000030 T wpabuf_resize\r\n00000254 T wpabuf_zeropad\r\n\r\nwpa.o:\r\n00001620 T eapol_txcb\r\n00001568 T pp_michael_mic_failure\r\n00001200 T wpa_register\r\n000012a0 T wpa_set_bss\r\n0000124c T wpa_set_pmk\r\n00001230 T wpa_set_profile\r\n0000109c T wpa_sm_rx_eapol\r\n00001680 T wpa_sm_set_state\r\n\r\nwpa_common.o:\r\n0000077c T rsn_cipher_put_suites\r\n00000680 T rsn_pmkid\r\n000006b4 T wpa_cipher_key_len\r\n000007dc T wpa_cipher_put_suites\r\n000006d8 T wpa_cipher_to_alg\r\n00000728 T wpa_cipher_to_suite\r\n00000520 T wpa_cipher_txt\r\n000004dc T wpa_compare_rsn_ie\r\n00000498 T wpa_eapol_key_mic\r\n0000016c T wpa_parse_wpa_ie_rsn\r\n00000308 T wpa_parse_wpa_ie_wpa\r\n0000058c T wpa_pmk_to_ptk\r\n\r\nwpa_debug.o:\r\n00000000 T eloop_cancel_timeout\r\n00000004 T eloop_register_timeout\r\n\r\nwpa_ie.o:\r\n00000310 T wpa_gen_wpa_ie\r\n00000008 T wpa_parse_wpa_ie\r\n00000110 T wpa_supplicant_parse_ies\r\n\r\nwpa_main.o:\r\n00000008 T dhcp_bind_check\r\n0000023c T eagle_auth_done\r\n00000034 T ppInstallKey\r\n00000324 T wpa_attach\r\n000001e8 T wpa_config_assoc_ie\r\n000001a4 T wpa_config_bss\r\n00000168 T wpa_config_profile\r\n000002f4 T wpa_neg_complete\r\n\r\nwpas_glue.o:\r\n00000080 T wpa_sm_alloc_eapol\r\n000000bc T wpa_sm_deauthenticate\r\n000000e0 T wpa_sm_disassociate\r\n000000dc T wpa_sm_get_beacon_ie\r\n000000d8 T wpa_sm_mlme_setprotection\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This is a continuation of my notes on the esp8266 microcontroller, you can find a complete list of my esp8266 posts here The community supported esp8266 toolchain available here works pretty well. It&#8217;s based on the vendor provided SDK, with an open source lx106 compiler (based on crosstool-ng). In order to create a workable image, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-1925","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1RRoU-v3","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/1925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/comments?post=1925"}],"version-history":[{"count":5,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/1925\/revisions"}],"predecessor-version":[{"id":2209,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/1925\/revisions\/2209"}],"wp:attachment":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/media?parent=1925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/categories?post=1925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/tags?post=1925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}