From 96822d783f3ab6a56a69b227ba4d1a1a36c66268 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 21 Sep 2018 08:39:36 +0200 Subject: [PATCH] Update IDF to 3.2-3276a13 and esptool.py to 2.5.0 (#1878) * TX Flow Control and Code cleanup * Use semaphore instead of delay TX functionality is done. * Use single buffer and empty queue on exit * Fix compile issues because of LwIP code relocation * Add temporary header to fix Azure not compiling * Fix AsyncUDP early init * AsyncUDP Multicast fixes * Add source mac address and rework multicast * Allow redefinition of default pins for Serials 1 and 2 * Update IDF to 3276a13 * Update esptool.py to 2.5.0 * Fix sketches * Fix log level in BluetoothSetial --- cores/esp32/HardwareSerial.cpp | 25 +- cores/esp32/apps/sntp/sntp.h | 1 + cores/esp32/esp32-hal-log.h | 22 + cores/esp32/esp32-hal-time.c | 2 +- libraries/AsyncUDP/src/AsyncUDP.cpp | 151 +- libraries/AsyncUDP/src/AsyncUDP.h | 9 +- .../BluetoothSerial/src/BluetoothSerial.cpp | 320 +- .../{RMTLoopbakc.ino => RMTLoopback.ino} | 0 .../Timer/WatchdogTimer/WatchdogTimer.ino | 2 +- libraries/SD_MMC/src/SD_MMC.cpp | 7 +- libraries/WiFi/src/WiFiAP.cpp | 2 +- package/package_esp32_index.template.json | 44 +- platform.txt | 4 +- tools/esptool.py | 590 +- tools/gen_esp32part.exe | Bin 3339451 -> 3339887 bytes tools/gen_esp32part.py | 37 +- tools/platformio-build.py | 8 +- tools/sdk/bin/bootloader_dio_40m.bin | Bin 15088 -> 15680 bytes tools/sdk/bin/bootloader_dio_80m.bin | Bin 13696 -> 15664 bytes tools/sdk/bin/bootloader_dout_40m.bin | Bin 13696 -> 15680 bytes tools/sdk/bin/bootloader_dout_80m.bin | Bin 13696 -> 15664 bytes tools/sdk/bin/bootloader_qio_40m.bin | Bin 15088 -> 17184 bytes tools/sdk/bin/bootloader_qio_80m.bin | Bin 15072 -> 17168 bytes tools/sdk/bin/bootloader_qout_40m.bin | Bin 15088 -> 17184 bytes tools/sdk/bin/bootloader_qout_80m.bin | Bin 15072 -> 17168 bytes tools/sdk/include/app_trace/esp_ota_ops.h | 3 +- tools/sdk/include/app_update/esp_ota_ops.h | 3 +- .../sdk/include/bluedroid/api/esp_a2dp_api.h | 6 +- .../sdk/include/bluedroid/api/esp_avrc_api.h | 2 +- tools/sdk/include/bluedroid/api/esp_bt_defs.h | 2 +- .../include/bluedroid/api/esp_gap_ble_api.h | 19 +- .../include/bluedroid/api/esp_gap_bt_api.h | 140 +- .../bluedroid/api/esp_gatt_common_api.h | 5 + .../sdk/include/bluedroid/api/esp_gatt_defs.h | 6 +- .../sdk/include/bluedroid/api/esp_gattc_api.h | 10 +- .../sdk/include/bluedroid/api/esp_gatts_api.h | 3 +- .../include/bluedroid/api/esp_hf_client_api.h | 12 +- tools/sdk/include/bluedroid/api/esp_hf_defs.h | 2 +- tools/sdk/include/bluedroid/api/esp_spp_api.h | 22 +- tools/sdk/include/bluedroid/bta/bta_api.h | 89 +- tools/sdk/include/bluedroid/bta/bta_av_api.h | 6 +- tools/sdk/include/bluedroid/bta/bta_av_co.h | 2 +- tools/sdk/include/bluedroid/bta/bta_dm_co.h | 14 + .../sdk/include/bluedroid/bta/bta_gatts_co.h | 2 +- tools/sdk/include/bluedroid/btc/btc_task.h | 6 + tools/sdk/include/bluedroid/btc_gap_ble.h | 2 + tools/sdk/include/bluedroid/btc_gap_bt.h | 48 +- tools/sdk/include/bluedroid/common/bt_defs.h | 3 - .../sdk/include/bluedroid/common/bt_target.h | 29 +- tools/sdk/include/bluedroid/common/bte_appl.h | 12 + tools/sdk/include/bluedroid/esp_bt.h | 278 +- .../include/bluedroid/hci/buffer_allocator.h | 25 - .../bluedroid/hci/hci_packet_factory.h | 1 + tools/sdk/include/bluedroid/hid_le_prf.h | 265 - tools/sdk/include/bluedroid/osi/allocator.h | 12 - tools/sdk/include/bluedroid/osi/fixed_queue.h | 4 + tools/sdk/include/bluedroid/osi/thread.h | 2 +- tools/sdk/include/bluedroid/p_256_ecc_pp.h | 2 + tools/sdk/include/bluedroid/smp_int.h | 4 + tools/sdk/include/bluedroid/stack/avrc_defs.h | 10 +- tools/sdk/include/bluedroid/stack/btm_api.h | 3 +- .../sdk/include/bluedroid/stack/btm_ble_api.h | 26 +- tools/sdk/include/bluedroid/stack/gatt_api.h | 5 +- tools/sdk/include/bluedroid/stack/smp_api.h | 15 + .../bootloader_support/bootloader_common.h | 23 + .../bootloader_support/bootloader_random.h | 49 + .../bootloader_support/esp_flash_encrypt.h | 15 + .../bootloader_support/esp_flash_partitions.h | 11 +- .../bootloader_support/esp_image_format.h | 65 +- .../bootloader_support/esp_secure_boot.h | 8 + tools/sdk/include/bt/esp_bt.h | 278 +- tools/sdk/include/config/sdkconfig.h | 29 +- tools/sdk/include/driver/driver/can.h | 400 + tools/sdk/include/driver/driver/gpio.h | 42 +- tools/sdk/include/driver/driver/i2c.h | 1100 +-- tools/sdk/include/driver/driver/ledc.h | 2 +- tools/sdk/include/driver/driver/mcpwm.h | 1418 ++-- tools/sdk/include/driver/driver/pcnt.h | 10 +- tools/sdk/include/driver/driver/rtc_io.h | 61 +- tools/sdk/include/driver/driver/sdio_slave.h | 30 +- tools/sdk/include/driver/driver/sdmmc_defs.h | 25 +- tools/sdk/include/driver/driver/sdmmc_host.h | 16 +- tools/sdk/include/driver/driver/sdmmc_types.h | 20 +- tools/sdk/include/driver/driver/sdspi_host.h | 1 + tools/sdk/include/driver/driver/spi_common.h | 63 +- tools/sdk/include/driver/driver/touch_pad.h | 10 + tools/sdk/include/driver/driver/uart.h | 134 +- tools/sdk/include/esp-mqtt/mqtt_client.h | 101 + tools/sdk/include/esp-mqtt/mqtt_config.h | 81 + tools/sdk/include/esp-tls/esp_tls.h | 20 +- tools/sdk/include/esp32/esp32/pm.h | 6 +- tools/sdk/include/esp32/esp_clk.h | 11 + tools/sdk/include/esp32/esp_err.h | 22 +- tools/sdk/include/esp32/esp_mesh.h | 738 +- tools/sdk/include/esp32/esp_mesh_internal.h | 139 +- tools/sdk/include/esp32/esp_panic.h | 6 - tools/sdk/include/esp32/esp_phy_init.h | 4 + tools/sdk/include/esp32/esp_sleep.h | 50 +- tools/sdk/include/esp32/esp_smartconfig.h | 2 +- tools/sdk/include/esp32/esp_spiram.h | 29 + tools/sdk/include/esp32/esp_system.h | 93 +- tools/sdk/include/esp32/esp_wifi.h | 13 +- .../sdk/include/esp32/esp_wifi_crypto_types.h | 2 +- tools/sdk/include/esp32/esp_wifi_internal.h | 31 + tools/sdk/include/esp32/esp_wifi_types.h | 51 +- tools/sdk/include/esp32/rom/libc_stubs.h | 2 +- tools/sdk/include/esp32/rom/rtc.h | 6 +- tools/sdk/include/esp32/xtensa/core-macros.h | 4 +- .../include/esp_http_client/esp_http_client.h | 18 +- .../sdk/include/esp_https_ota/esp_https_ota.h | 45 + tools/sdk/include/ethernet/esp_eth.h | 28 +- tools/sdk/include/expat/.gitignore | 18 + tools/sdk/include/expat/Makefile.am | 77 + tools/sdk/include/expat/ascii.h | 32 +- tools/sdk/include/expat/asciitab.h | 32 +- tools/sdk/include/expat/chardata.h | 40 - tools/sdk/include/expat/expat.h | 55 +- tools/sdk/include/expat/expat.vcxproj | 179 + tools/sdk/include/expat/expat.vcxproj.filters | 83 + tools/sdk/include/expat/expat_config.h | 18 +- tools/sdk/include/expat/expat_external.h | 89 +- tools/sdk/include/expat/expat_static.vcxproj | 149 + .../expat/expat_static.vcxproj.filters | 74 + tools/sdk/include/expat/expatw.vcxproj | 179 + .../sdk/include/expat/expatw.vcxproj.filters | 83 + tools/sdk/include/expat/expatw_static.vcxproj | 149 + .../expat/expatw_static.vcxproj.filters | 74 + tools/sdk/include/expat/iasciitab.h | 32 +- tools/sdk/include/expat/internal.h | 31 +- tools/sdk/include/expat/latin1tab.h | 32 +- tools/sdk/include/expat/libexpat.def | 78 + tools/sdk/include/expat/libexpatw.def | 78 + tools/sdk/include/expat/loadlibrary.c | 143 + tools/sdk/include/expat/minicheck.h | 95 - tools/sdk/include/expat/nametab.h | 32 + tools/sdk/include/expat/siphash.h | 374 + tools/sdk/include/expat/utf8tab.h | 33 +- tools/sdk/include/expat/winconfig.h | 63 + tools/sdk/include/expat/xmlparse.c | 7195 +++++++++++++++++ tools/sdk/include/expat/xmlrole.c | 1386 ++++ tools/sdk/include/expat/xmlrole.h | 32 +- tools/sdk/include/expat/xmltok.c | 1806 +++++ tools/sdk/include/expat/xmltok.h | 37 +- tools/sdk/include/expat/xmltok_impl.c | 1760 ++++ tools/sdk/include/expat/xmltok_impl.h | 31 +- tools/sdk/include/expat/xmltok_ns.c | 142 + tools/sdk/include/fatfs/diskio.h | 266 +- tools/sdk/include/fatfs/diskio_rawflash.h | 76 +- tools/sdk/include/fatfs/diskio_wl.h | 79 +- tools/sdk/include/fatfs/ff.h | 738 +- tools/sdk/include/fatfs/ffconf.h | 608 +- tools/sdk/include/fatfs/integer.h | 76 +- .../sdk/include/freertos/freertos/FreeRTOS.h | 4 + .../freertos/freertos/FreeRTOSConfig.h | 9 +- .../sdk/include/freertos/freertos/portmacro.h | 16 +- tools/sdk/include/freertos/freertos/task.h | 3 + tools/sdk/include/heap/esp_heap_caps_init.h | 1 + tools/sdk/include/heap/esp_heap_trace.h | 2 +- tools/sdk/include/http_server/http_server.h | 924 +++ tools/sdk/include/lwip/arch/sys_arch.h | 136 +- tools/sdk/include/lwip/arpa/inet.h | 2 +- tools/sdk/include/lwip/cc.h | 94 + .../include/lwip/{lwip => debug}/lwip_debug.h | 0 .../lwip/{apps => dhcpserver}/dhcpserver.h | 0 .../{apps => dhcpserver}/dhcpserver_options.h | 0 tools/sdk/include/lwip/lwip/api.h | 84 +- tools/sdk/include/lwip/lwip/apps/FILES | 2 + tools/sdk/include/lwip/lwip/apps/fs.h | 103 + tools/sdk/include/lwip/lwip/apps/httpd.h | 236 + tools/sdk/include/lwip/lwip/apps/httpd_opts.h | 323 + tools/sdk/include/lwip/lwip/apps/lwiperf.h | 84 + tools/sdk/include/lwip/lwip/apps/mdns.h | 69 + tools/sdk/include/lwip/lwip/apps/mdns_opts.h | 74 + tools/sdk/include/lwip/lwip/apps/mdns_priv.h | 66 + tools/sdk/include/lwip/lwip/apps/mqtt.h | 244 + tools/sdk/include/lwip/lwip/apps/mqtt_opts.h | 103 + tools/sdk/include/lwip/lwip/apps/netbiosns.h | 43 + .../include/lwip/lwip/apps/netbiosns_opts.h | 59 + tools/sdk/include/lwip/lwip/apps/snmp.h | 128 + tools/sdk/include/lwip/lwip/apps/snmp_core.h | 364 + tools/sdk/include/lwip/lwip/apps/snmp_mib2.h | 78 + tools/sdk/include/lwip/lwip/apps/snmp_opts.h | 293 + .../sdk/include/lwip/lwip/apps/snmp_scalar.h | 113 + tools/sdk/include/lwip/lwip/apps/snmp_table.h | 134 + .../include/lwip/lwip/apps/snmp_threadsync.h | 114 + tools/sdk/include/lwip/lwip/apps/snmpv3.h | 90 + .../lwip/{apps/sntp => lwip/apps}/sntp.h | 9 +- .../lwip/{apps/sntp => lwip/apps}/sntp_opts.h | 56 +- tools/sdk/include/lwip/lwip/apps/tftp_opts.h | 105 + .../sdk/include/lwip/lwip/apps/tftp_server.h | 94 + tools/sdk/include/lwip/lwip/arch.h | 381 +- tools/sdk/include/lwip/lwip/autoip.h | 49 +- tools/sdk/include/lwip/lwip/debug.h | 90 +- tools/sdk/include/lwip/lwip/def.h | 103 +- tools/sdk/include/lwip/lwip/dhcp.h | 229 +- tools/sdk/include/lwip/lwip/dhcp6.h | 2 +- tools/sdk/include/lwip/lwip/dns.h | 55 +- tools/sdk/include/lwip/lwip/err.h | 86 +- tools/sdk/include/lwip/lwip/errno.h | 193 + tools/sdk/include/lwip/lwip/etharp.h | 116 + tools/sdk/include/lwip/lwip/icmp.h | 75 +- tools/sdk/include/lwip/lwip/icmp6.h | 84 +- tools/sdk/include/lwip/lwip/igmp.h | 27 +- tools/sdk/include/lwip/lwip/inet.h | 8 +- tools/sdk/include/lwip/lwip/inet_chksum.h | 13 +- tools/sdk/include/lwip/lwip/init.h | 44 +- tools/sdk/include/lwip/lwip/ip.h | 51 +- tools/sdk/include/lwip/lwip/ip4.h | 62 +- tools/sdk/include/lwip/lwip/ip4_addr.h | 54 +- .../lwip/lwip/{ip_frag.h => ip4_frag.h} | 21 +- tools/sdk/include/lwip/lwip/ip6.h | 106 +- tools/sdk/include/lwip/lwip/ip6_addr.h | 102 +- tools/sdk/include/lwip/lwip/ip6_frag.h | 10 +- tools/sdk/include/lwip/lwip/ip_addr.h | 180 +- tools/sdk/include/lwip/lwip/mem.h | 67 +- tools/sdk/include/lwip/lwip/memp.h | 107 +- tools/sdk/include/lwip/lwip/mld6.h | 36 +- tools/sdk/include/lwip/lwip/nd6.h | 302 +- tools/sdk/include/lwip/lwip/netbuf.h | 6 + tools/sdk/include/lwip/lwip/netdb.h | 43 +- tools/sdk/include/lwip/lwip/netif.h | 145 +- tools/sdk/include/lwip/lwip/netifapi.h | 42 +- tools/sdk/include/lwip/lwip/opt.h | 1868 ++--- tools/sdk/include/lwip/lwip/pbuf.h | 66 +- tools/sdk/include/lwip/lwip/priv/api_msg.h | 60 +- tools/sdk/include/lwip/lwip/priv/memp_priv.h | 52 +- tools/sdk/include/lwip/lwip/priv/memp_std.h | 29 +- tools/sdk/include/lwip/lwip/priv/nd6_priv.h | 144 + tools/sdk/include/lwip/lwip/priv/tcp_priv.h | 90 +- tools/sdk/include/lwip/lwip/priv/tcpip_priv.h | 87 +- tools/sdk/include/lwip/lwip/prot/autoip.h | 83 + tools/sdk/include/lwip/lwip/prot/dhcp.h | 195 + tools/sdk/include/lwip/lwip/prot/dns.h | 140 + tools/sdk/include/lwip/lwip/prot/etharp.h | 91 + tools/sdk/include/lwip/lwip/prot/ethernet.h | 170 + tools/sdk/include/lwip/lwip/prot/icmp.h | 91 + tools/sdk/include/lwip/lwip/prot/icmp6.h | 170 + tools/sdk/include/lwip/lwip/prot/igmp.h | 90 + tools/sdk/include/lwip/lwip/prot/ip.h | 51 + tools/sdk/include/lwip/lwip/prot/ip4.h | 127 + tools/sdk/include/lwip/lwip/prot/ip6.h | 169 + tools/sdk/include/lwip/lwip/prot/mld6.h | 70 + tools/sdk/include/lwip/lwip/prot/nd6.h | 277 + tools/sdk/include/lwip/lwip/prot/tcp.h | 97 + tools/sdk/include/lwip/lwip/prot/udp.h | 68 + tools/sdk/include/lwip/lwip/raw.h | 9 + tools/sdk/include/lwip/lwip/sio.h | 1 + tools/sdk/include/lwip/lwip/snmp.h | 28 +- tools/sdk/include/lwip/lwip/sockets.h | 162 +- tools/sdk/include/lwip/lwip/stats.h | 98 +- tools/sdk/include/lwip/lwip/sys.h | 193 +- tools/sdk/include/lwip/lwip/tcp.h | 115 +- tools/sdk/include/lwip/lwip/tcpip.h | 27 +- .../lwip/lwip/{timers.h => timeouts.h} | 42 +- tools/sdk/include/lwip/lwip/udp.h | 34 +- tools/sdk/include/lwip/lwipopts.h | 33 +- tools/sdk/include/lwip/netdb.h | 7 + tools/sdk/include/lwip/netif/dhcp_state.h | 33 + tools/sdk/include/lwip/netif/etharp.h | 148 +- tools/sdk/include/lwip/netif/ethernet.h | 110 +- tools/sdk/include/lwip/netif/lowpan6.h | 2 + tools/sdk/include/lwip/netif/lowpan6_opts.h | 5 + tools/sdk/include/lwip/netif/ppp/ccp.h | 2 +- tools/sdk/include/lwip/netif/ppp/chap-md5.h | 2 +- tools/sdk/include/lwip/netif/ppp/chap-new.h | 2 +- tools/sdk/include/lwip/netif/ppp/chap_ms.h | 8 +- tools/sdk/include/lwip/netif/ppp/eap.h | 6 +- tools/sdk/include/lwip/netif/ppp/ecp.h | 2 +- tools/sdk/include/lwip/netif/ppp/eui64.h | 12 +- tools/sdk/include/lwip/netif/ppp/fsm.h | 6 +- tools/sdk/include/lwip/netif/ppp/ipcp.h | 2 +- tools/sdk/include/lwip/netif/ppp/ipv6cp.h | 2 +- tools/sdk/include/lwip/netif/ppp/lcp.h | 12 +- tools/sdk/include/lwip/netif/ppp/magic.h | 2 +- tools/sdk/include/lwip/netif/ppp/mppe.h | 12 +- .../include/lwip/netif/ppp/polarssl/arc4.h | 2 +- .../sdk/include/lwip/netif/ppp/polarssl/des.h | 2 +- .../sdk/include/lwip/netif/ppp/polarssl/md4.h | 2 +- .../sdk/include/lwip/netif/ppp/polarssl/md5.h | 2 +- .../include/lwip/netif/ppp/polarssl/sha1.h | 2 +- tools/sdk/include/lwip/netif/ppp/ppp.h | 175 +- tools/sdk/include/lwip/netif/ppp/ppp_impl.h | 15 +- tools/sdk/include/lwip/netif/ppp/ppp_opts.h | 593 ++ .../include/lwip/{lwip => netif/ppp}/pppapi.h | 27 +- tools/sdk/include/lwip/netif/ppp/pppcrypt.h | 99 +- tools/sdk/include/lwip/netif/ppp/pppdebug.h | 2 +- tools/sdk/include/lwip/netif/ppp/pppoe.h | 4 +- tools/sdk/include/lwip/netif/ppp/pppol2tp.h | 10 +- tools/sdk/include/lwip/netif/ppp/pppos.h | 3 +- tools/sdk/include/lwip/netif/ppp/upap.h | 6 +- tools/sdk/include/lwip/netif/ppp/vj.h | 2 +- tools/sdk/include/lwip/netif/slipif.h | 6 + tools/sdk/include/lwip/perf.h | 40 + tools/sdk/include/lwip/ping/esp_ping.h | 106 + tools/sdk/include/lwip/ping/ping.h | 60 + tools/sdk/include/lwip/posix/errno.h | 33 + tools/sdk/include/lwip/posix/netdb.h | 40 + tools/sdk/include/lwip/posix/sys/socket.h | 33 + tools/sdk/include/lwip/sys_arch.h | 81 + tools/sdk/include/lwip/vfs_lwip.h | 23 + tools/sdk/include/mbedtls/CMakeLists.txt | 5 + tools/sdk/include/mbedtls/mbedtls/aes.h | 215 +- tools/sdk/include/mbedtls/mbedtls/aria.h | 331 + tools/sdk/include/mbedtls/mbedtls/blowfish.h | 41 +- tools/sdk/include/mbedtls/mbedtls/bn_mul.h | 15 +- tools/sdk/include/mbedtls/mbedtls/camellia.h | 46 +- tools/sdk/include/mbedtls/mbedtls/ccm.h | 115 +- tools/sdk/include/mbedtls/mbedtls/chacha20.h | 212 + .../sdk/include/mbedtls/mbedtls/chachapoly.h | 355 + .../include/mbedtls/mbedtls/check_config.h | 11 +- tools/sdk/include/mbedtls/mbedtls/cipher.h | 54 +- .../include/mbedtls/mbedtls/cipher_internal.h | 15 + tools/sdk/include/mbedtls/mbedtls/cmac.h | 2 +- .../sdk/include/mbedtls/mbedtls/compat-1.3.h | 3 +- tools/sdk/include/mbedtls/mbedtls/config.h | 247 +- tools/sdk/include/mbedtls/mbedtls/ctr_drbg.h | 2 +- tools/sdk/include/mbedtls/mbedtls/dhm.h | 6 +- tools/sdk/include/mbedtls/mbedtls/ecdh.h | 4 +- .../include/mbedtls/mbedtls/ecp_internal.h | 2 +- tools/sdk/include/mbedtls/mbedtls/entropy.h | 2 +- tools/sdk/include/mbedtls/mbedtls/error.h | 13 +- tools/sdk/include/mbedtls/mbedtls/gcm.h | 54 +- tools/sdk/include/mbedtls/mbedtls/hkdf.h | 125 + tools/sdk/include/mbedtls/mbedtls/hmac_drbg.h | 2 +- tools/sdk/include/mbedtls/mbedtls/net.h | 4 +- .../sdk/include/mbedtls/mbedtls/net_sockets.h | 18 +- tools/sdk/include/mbedtls/mbedtls/nist_kw.h | 178 + tools/sdk/include/mbedtls/mbedtls/oid.h | 23 +- tools/sdk/include/mbedtls/mbedtls/platform.h | 12 +- .../include/mbedtls/mbedtls/platform_util.h | 62 + tools/sdk/include/mbedtls/mbedtls/poly1305.h | 181 + tools/sdk/include/mbedtls/mbedtls/rsa.h | 4 +- tools/sdk/include/mbedtls/mbedtls/sha1.h | 2 +- tools/sdk/include/mbedtls/mbedtls/ssl.h | 376 +- .../mbedtls/mbedtls/ssl_ciphersuites.h | 50 +- .../include/mbedtls/mbedtls/ssl_internal.h | 95 +- tools/sdk/include/mbedtls/mbedtls/threading.h | 3 - tools/sdk/include/mbedtls/mbedtls/version.h | 8 +- .../include/mbedtls_port/mbedtls/esp_config.h | 4 +- tools/sdk/include/newlib/errno.h | 42 +- tools/sdk/include/newlib/net/if.h | 45 + tools/sdk/include/newlib/pthread.h | 440 +- tools/sdk/include/newlib/sys/poll.h | 32 + tools/sdk/include/newlib/sys/random.h | 30 + tools/sdk/include/newlib/sys/reent.h | 2 +- tools/sdk/include/newlib/sys/termios.h | 296 + tools/sdk/include/newlib/sys/uio.h | 21 + tools/sdk/include/newlib/sys/un.h | 24 + tools/sdk/include/newlib/sys/unistd.h | 1 + tools/sdk/include/newlib/time.h | 296 +- tools/sdk/include/nvs_flash/nvs.h | 6 +- tools/sdk/include/openssl/internal/x509_vfy.h | 222 +- tools/sdk/include/openssl/openssl/ssl.h | 3644 ++++----- tools/sdk/include/sdmmc/sdmmc_cmd.h | 2 +- tools/sdk/include/soc/soc/can_struct.h | 211 + tools/sdk/include/soc/soc/rmt_struct.h | 21 +- tools/sdk/include/soc/soc/rtc.h | 135 +- tools/sdk/include/soc/soc/rtc_wdt.h | 193 + tools/sdk/include/soc/soc/sdio_slave_periph.h | 96 +- tools/sdk/include/soc/soc/sdio_slave_pins.h | 66 +- tools/sdk/include/soc/soc/sdmmc_periph.h | 104 +- tools/sdk/include/soc/soc/sdmmc_pins.h | 74 +- tools/sdk/include/soc/soc/sdmmc_reg.h | 1 + tools/sdk/include/soc/soc/sdmmc_struct.h | 18 +- tools/sdk/include/soc/soc/soc.h | 2 + tools/sdk/include/soc/soc/soc_memory_layout.h | 83 +- tools/sdk/include/soc/soc/spi_periph.h | 130 +- tools/sdk/include/soc/soc/spi_pins.h | 76 +- tools/sdk/include/spi_flash/esp_partition.h | 31 + tools/sdk/include/spi_flash/esp_spi_flash.h | 19 +- tools/sdk/include/tcp_transport/transport.h | 265 + .../sdk/include/tcp_transport/transport_ssl.h | 48 + .../sdk/include/tcp_transport/transport_tcp.h | 36 + .../include/tcp_transport/transport_utils.h | 40 + .../sdk/include/tcpip_adapter/tcpip_adapter.h | 29 +- tools/sdk/include/ulp/esp32/ulp.h | 11 +- tools/sdk/include/vfs/esp_vfs.h | 33 + tools/sdk/include/vfs/sys/ioctl.h | 7 + .../include/wear_levelling/wear_levelling.h | 272 +- .../wpa2/eap_peer/eap_peap_common.h | 32 +- .../wpa2/eap_peer/eap_tlv_common.h | 224 +- .../wpa_supplicant/wpa2/eap_peer/eap_ttls.h | 130 +- tools/sdk/ld/esp32.common.ld | 73 +- tools/sdk/ld/esp32.peripherals.ld | 1 + tools/sdk/ld/esp32.rom.ld | 112 +- tools/sdk/ld/esp32.rom.libgcc.ld | 91 + tools/sdk/ld/esp32_out.ld | 4 +- tools/sdk/lib/libapp_trace.a | Bin 23000 -> 23000 bytes tools/sdk/lib/libapp_update.a | Bin 53148 -> 52882 bytes tools/sdk/lib/libasio.a | Bin 0 -> 2004904 bytes tools/sdk/lib/libbootloader_support.a | Bin 319040 -> 336386 bytes tools/sdk/lib/libbt.a | Bin 12839994 -> 12967336 bytes tools/sdk/lib/libbtdm_app.a | Bin 285074 -> 317842 bytes tools/sdk/lib/libcoap.a | Bin 459170 -> 458066 bytes tools/sdk/lib/libcoexist.a | Bin 51824 -> 51776 bytes tools/sdk/lib/libconsole.a | Bin 401008 -> 401084 bytes tools/sdk/lib/libcore.a | Bin 10802 -> 11638 bytes tools/sdk/lib/libcxx.a | Bin 63672 -> 63624 bytes tools/sdk/lib/libdriver.a | Bin 2290208 -> 2420766 bytes tools/sdk/lib/libesp-tls.a | Bin 54768 -> 58596 bytes tools/sdk/lib/libesp32.a | Bin 1169920 -> 1212224 bytes tools/sdk/lib/libesp_adc_cal.a | Bin 39920 -> 39920 bytes tools/sdk/lib/libesp_http_client.a | Bin 268688 -> 168794 bytes tools/sdk/lib/libesp_https_ota.a | Bin 0 -> 20430 bytes tools/sdk/lib/libesp_ringbuf.a | Bin 0 -> 118268 bytes tools/sdk/lib/libespnow.a | Bin 45430 -> 46530 bytes tools/sdk/lib/libethernet.a | Bin 154116 -> 159166 bytes tools/sdk/lib/libexpat.a | Bin 1247568 -> 1219082 bytes tools/sdk/lib/libfatfs.a | Bin 451312 -> 454872 bytes tools/sdk/lib/libfreertos.a | Bin 652048 -> 536940 bytes tools/sdk/lib/libheap.a | Bin 232222 -> 228102 bytes tools/sdk/lib/libhttp_server.a | Bin 0 -> 236646 bytes tools/sdk/lib/libjsmn.a | Bin 21694 -> 21694 bytes tools/sdk/lib/libjson.a | Bin 300090 -> 300090 bytes tools/sdk/lib/liblog.a | Bin 40640 -> 40640 bytes tools/sdk/lib/liblwip.a | Bin 3148468 -> 3292790 bytes tools/sdk/lib/libmbedtls.a | Bin 3347700 -> 3364080 bytes tools/sdk/lib/libmdns.a | Bin 650888 -> 655816 bytes tools/sdk/lib/libmesh.a | Bin 587308 -> 644822 bytes tools/sdk/lib/libmicro-ecc.a | Bin 155340 -> 155340 bytes tools/sdk/lib/libmqtt.a | Bin 0 -> 213182 bytes tools/sdk/lib/libnet80211.a | Bin 949050 -> 1037758 bytes tools/sdk/lib/libnewlib.a | Bin 101474 -> 124830 bytes tools/sdk/lib/libnghttp.a | Bin 1560590 -> 1560590 bytes tools/sdk/lib/libnvs_flash.a | Bin 703976 -> 776884 bytes tools/sdk/lib/libopenssl.a | Bin 288284 -> 288284 bytes tools/sdk/lib/libphy.a | Bin 489120 -> 184958 bytes tools/sdk/lib/libpp.a | Bin 457042 -> 476726 bytes tools/sdk/lib/libpthread.a | Bin 106194 -> 106278 bytes tools/sdk/lib/librtc.a | Bin 184382 -> 184558 bytes tools/sdk/lib/libsdmmc.a | Bin 136074 -> 255524 bytes tools/sdk/lib/libsmartconfig.a | Bin 100240 -> 103336 bytes tools/sdk/lib/libsmartconfig_ack.a | Bin 22410 -> 22294 bytes tools/sdk/lib/libsoc.a | Bin 169418 -> 230944 bytes tools/sdk/lib/libspi_flash.a | Bin 206042 -> 211280 bytes tools/sdk/lib/libspiffs.a | Bin 585070 -> 585754 bytes tools/sdk/lib/libtcp_transport.a | Bin 0 -> 98078 bytes tools/sdk/lib/libtcpip_adapter.a | Bin 133846 -> 133646 bytes tools/sdk/lib/libulp.a | Bin 36874 -> 37442 bytes tools/sdk/lib/libvfs.a | Bin 189176 -> 236660 bytes tools/sdk/lib/libwear_levelling.a | Bin 213382 -> 235776 bytes tools/sdk/lib/libwpa.a | Bin 157852 -> 158180 bytes tools/sdk/lib/libwpa2.a | Bin 20046 -> 24878 bytes tools/sdk/lib/libwpa_supplicant.a | Bin 3035086 -> 3035404 bytes tools/sdk/lib/libwps.a | Bin 51800 -> 52004 bytes tools/sdk/lib/libxtensa-debug-module.a | Bin 12130 -> 12130 bytes tools/sdk/sdkconfig | 66 +- 447 files changed, 37993 insertions(+), 10849 deletions(-) create mode 100644 cores/esp32/apps/sntp/sntp.h rename libraries/ESP32/examples/RMT/RMTLoopback/{RMTLoopbakc.ino => RMTLoopback.ino} (100%) delete mode 100644 tools/sdk/include/bluedroid/hci/buffer_allocator.h delete mode 100644 tools/sdk/include/bluedroid/hid_le_prf.h create mode 100644 tools/sdk/include/bootloader_support/bootloader_random.h create mode 100644 tools/sdk/include/driver/driver/can.h create mode 100755 tools/sdk/include/esp-mqtt/mqtt_client.h create mode 100644 tools/sdk/include/esp-mqtt/mqtt_config.h create mode 100644 tools/sdk/include/esp_https_ota/esp_https_ota.h create mode 100644 tools/sdk/include/expat/.gitignore create mode 100644 tools/sdk/include/expat/Makefile.am delete mode 100644 tools/sdk/include/expat/chardata.h create mode 100644 tools/sdk/include/expat/expat.vcxproj create mode 100644 tools/sdk/include/expat/expat.vcxproj.filters create mode 100644 tools/sdk/include/expat/expat_static.vcxproj create mode 100644 tools/sdk/include/expat/expat_static.vcxproj.filters create mode 100644 tools/sdk/include/expat/expatw.vcxproj create mode 100644 tools/sdk/include/expat/expatw.vcxproj.filters create mode 100644 tools/sdk/include/expat/expatw_static.vcxproj create mode 100644 tools/sdk/include/expat/expatw_static.vcxproj.filters create mode 100644 tools/sdk/include/expat/libexpat.def create mode 100644 tools/sdk/include/expat/libexpatw.def create mode 100644 tools/sdk/include/expat/loadlibrary.c delete mode 100644 tools/sdk/include/expat/minicheck.h create mode 100644 tools/sdk/include/expat/siphash.h create mode 100644 tools/sdk/include/expat/winconfig.h create mode 100644 tools/sdk/include/expat/xmlparse.c create mode 100644 tools/sdk/include/expat/xmlrole.c create mode 100644 tools/sdk/include/expat/xmltok.c create mode 100644 tools/sdk/include/expat/xmltok_impl.c create mode 100644 tools/sdk/include/expat/xmltok_ns.c create mode 100644 tools/sdk/include/http_server/http_server.h create mode 100644 tools/sdk/include/lwip/cc.h rename tools/sdk/include/lwip/{lwip => debug}/lwip_debug.h (100%) rename tools/sdk/include/lwip/{apps => dhcpserver}/dhcpserver.h (100%) rename tools/sdk/include/lwip/{apps => dhcpserver}/dhcpserver_options.h (100%) create mode 100644 tools/sdk/include/lwip/lwip/apps/FILES create mode 100644 tools/sdk/include/lwip/lwip/apps/fs.h create mode 100644 tools/sdk/include/lwip/lwip/apps/httpd.h create mode 100644 tools/sdk/include/lwip/lwip/apps/httpd_opts.h create mode 100644 tools/sdk/include/lwip/lwip/apps/lwiperf.h create mode 100644 tools/sdk/include/lwip/lwip/apps/mdns.h create mode 100644 tools/sdk/include/lwip/lwip/apps/mdns_opts.h create mode 100644 tools/sdk/include/lwip/lwip/apps/mdns_priv.h create mode 100644 tools/sdk/include/lwip/lwip/apps/mqtt.h create mode 100644 tools/sdk/include/lwip/lwip/apps/mqtt_opts.h create mode 100644 tools/sdk/include/lwip/lwip/apps/netbiosns.h create mode 100644 tools/sdk/include/lwip/lwip/apps/netbiosns_opts.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp_core.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp_mib2.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp_opts.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp_scalar.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp_table.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmp_threadsync.h create mode 100644 tools/sdk/include/lwip/lwip/apps/snmpv3.h rename tools/sdk/include/lwip/{apps/sntp => lwip/apps}/sntp.h (95%) rename tools/sdk/include/lwip/{apps/sntp => lwip/apps}/sntp_opts.h (80%) create mode 100644 tools/sdk/include/lwip/lwip/apps/tftp_opts.h create mode 100644 tools/sdk/include/lwip/lwip/apps/tftp_server.h create mode 100644 tools/sdk/include/lwip/lwip/errno.h create mode 100644 tools/sdk/include/lwip/lwip/etharp.h rename tools/sdk/include/lwip/lwip/{ip_frag.h => ip4_frag.h} (92%) create mode 100644 tools/sdk/include/lwip/lwip/priv/nd6_priv.h create mode 100644 tools/sdk/include/lwip/lwip/prot/autoip.h create mode 100644 tools/sdk/include/lwip/lwip/prot/dhcp.h create mode 100644 tools/sdk/include/lwip/lwip/prot/dns.h create mode 100644 tools/sdk/include/lwip/lwip/prot/etharp.h create mode 100644 tools/sdk/include/lwip/lwip/prot/ethernet.h create mode 100644 tools/sdk/include/lwip/lwip/prot/icmp.h create mode 100644 tools/sdk/include/lwip/lwip/prot/icmp6.h create mode 100644 tools/sdk/include/lwip/lwip/prot/igmp.h create mode 100644 tools/sdk/include/lwip/lwip/prot/ip.h create mode 100644 tools/sdk/include/lwip/lwip/prot/ip4.h create mode 100644 tools/sdk/include/lwip/lwip/prot/ip6.h create mode 100644 tools/sdk/include/lwip/lwip/prot/mld6.h create mode 100644 tools/sdk/include/lwip/lwip/prot/nd6.h create mode 100644 tools/sdk/include/lwip/lwip/prot/tcp.h create mode 100644 tools/sdk/include/lwip/lwip/prot/udp.h rename tools/sdk/include/lwip/lwip/{timers.h => timeouts.h} (80%) create mode 100644 tools/sdk/include/lwip/netif/dhcp_state.h create mode 100644 tools/sdk/include/lwip/netif/ppp/ppp_opts.h rename tools/sdk/include/lwip/{lwip => netif/ppp}/pppapi.h (90%) create mode 100644 tools/sdk/include/lwip/perf.h create mode 100644 tools/sdk/include/lwip/ping/esp_ping.h create mode 100644 tools/sdk/include/lwip/ping/ping.h create mode 100644 tools/sdk/include/lwip/posix/errno.h create mode 100644 tools/sdk/include/lwip/posix/netdb.h create mode 100644 tools/sdk/include/lwip/posix/sys/socket.h create mode 100644 tools/sdk/include/lwip/sys_arch.h create mode 100644 tools/sdk/include/lwip/vfs_lwip.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/aria.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/chacha20.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/chachapoly.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/hkdf.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/nist_kw.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/platform_util.h create mode 100644 tools/sdk/include/mbedtls/mbedtls/poly1305.h create mode 100644 tools/sdk/include/newlib/net/if.h create mode 100644 tools/sdk/include/newlib/sys/poll.h create mode 100644 tools/sdk/include/newlib/sys/random.h create mode 100644 tools/sdk/include/newlib/sys/termios.h create mode 100644 tools/sdk/include/newlib/sys/uio.h create mode 100644 tools/sdk/include/newlib/sys/un.h create mode 100644 tools/sdk/include/soc/soc/can_struct.h create mode 100644 tools/sdk/include/soc/soc/rtc_wdt.h create mode 100644 tools/sdk/include/tcp_transport/transport.h create mode 100644 tools/sdk/include/tcp_transport/transport_ssl.h create mode 100644 tools/sdk/include/tcp_transport/transport_tcp.h create mode 100644 tools/sdk/include/tcp_transport/transport_utils.h create mode 100644 tools/sdk/ld/esp32.rom.libgcc.ld create mode 100644 tools/sdk/lib/libasio.a create mode 100644 tools/sdk/lib/libesp_https_ota.a create mode 100644 tools/sdk/lib/libesp_ringbuf.a create mode 100644 tools/sdk/lib/libhttp_server.a create mode 100644 tools/sdk/lib/libmqtt.a mode change 100755 => 100644 tools/sdk/lib/libphy.a create mode 100644 tools/sdk/lib/libtcp_transport.a diff --git a/cores/esp32/HardwareSerial.cpp b/cores/esp32/HardwareSerial.cpp index 920e4abd..1871a4b5 100644 --- a/cores/esp32/HardwareSerial.cpp +++ b/cores/esp32/HardwareSerial.cpp @@ -3,8 +3,25 @@ #include #include +#include "pins_arduino.h" #include "HardwareSerial.h" +#ifndef RX1 +#define RX1 9 +#endif + +#ifndef TX1 +#define TX1 10 +#endif + +#ifndef RX2 +#define RX2 16 +#endif + +#ifndef TX2 +#define TX2 17 +#endif + #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL) HardwareSerial Serial(0); HardwareSerial Serial1(1); @@ -27,12 +44,12 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in txPin = 1; } if(_uart_nr == 1 && rxPin < 0 && txPin < 0) { - rxPin = 9; - txPin = 10; + rxPin = RX1; + txPin = TX1; } if(_uart_nr == 2 && rxPin < 0 && txPin < 0) { - rxPin = 16; - txPin = 17; + rxPin = RX2; + txPin = TX2; } _uart = uartBegin(_uart_nr, baud, config, rxPin, txPin, 256, invert); } diff --git a/cores/esp32/apps/sntp/sntp.h b/cores/esp32/apps/sntp/sntp.h new file mode 100644 index 00000000..8a940f88 --- /dev/null +++ b/cores/esp32/apps/sntp/sntp.h @@ -0,0 +1 @@ +#include "lwip/apps/sntp.h" diff --git a/cores/esp32/esp32-hal-log.h b/cores/esp32/esp32-hal-log.h index 126ebf69..e1d4e56f 100644 --- a/cores/esp32/esp32-hal-log.h +++ b/cores/esp32/esp32-hal-log.h @@ -79,38 +79,50 @@ int log_printf(const char *fmt, ...); #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_VERBOSE #define log_v(format, ...) log_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) +#define isr_log_v(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) #else #define log_v(format, ...) +#define isr_log_v(format, ...) #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG #define log_d(format, ...) log_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) +#define isr_log_d(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) #else #define log_d(format, ...) +#define isr_log_d(format, ...) #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO #define log_i(format, ...) log_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) +#define isr_log_i(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) #else #define log_i(format, ...) +#define isr_log_i(format, ...) #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_WARN #define log_w(format, ...) log_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) +#define isr_log_w(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) #else #define log_w(format, ...) +#define isr_log_w(format, ...) #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_ERROR #define log_e(format, ...) log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) +#define isr_log_e(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) #else #define log_e(format, ...) +#define isr_log_e(format, ...) #endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_NONE #define log_n(format, ...) log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) +#define isr_log_n(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) #else #define log_n(format, ...) +#define isr_log_n(format, ...) #endif #include "esp_log.h" @@ -121,12 +133,22 @@ int log_printf(const char *fmt, ...); #undef ESP_LOGI #undef ESP_LOGD #undef ESP_LOGV +#undef ESP_EARLY_LOGE +#undef ESP_EARLY_LOGW +#undef ESP_EARLY_LOGI +#undef ESP_EARLY_LOGD +#undef ESP_EARLY_LOGV #define ESP_LOGE(tag, ...) log_e(__VA_ARGS__) #define ESP_LOGW(tag, ...) log_w(__VA_ARGS__) #define ESP_LOGI(tag, ...) log_i(__VA_ARGS__) #define ESP_LOGD(tag, ...) log_d(__VA_ARGS__) #define ESP_LOGV(tag, ...) log_v(__VA_ARGS__) +#define ESP_EARLY_LOGE(tag, ...) isr_log_e(__VA_ARGS__) +#define ESP_EARLY_LOGW(tag, ...) isr_log_w(__VA_ARGS__) +#define ESP_EARLY_LOGI(tag, ...) isr_log_i(__VA_ARGS__) +#define ESP_EARLY_LOGD(tag, ...) isr_log_d(__VA_ARGS__) +#define ESP_EARLY_LOGV(tag, ...) isr_log_v(__VA_ARGS__) #endif #ifdef __cplusplus diff --git a/cores/esp32/esp32-hal-time.c b/cores/esp32/esp32-hal-time.c index 176ac65c..1d171f27 100644 --- a/cores/esp32/esp32-hal-time.c +++ b/cores/esp32/esp32-hal-time.c @@ -13,7 +13,7 @@ // limitations under the License. #include "esp32-hal.h" -#include "apps/sntp/sntp.h" +#include "lwip/apps/sntp.h" static void setTimeZone(long offset, int daylight) { diff --git a/libraries/AsyncUDP/src/AsyncUDP.cpp b/libraries/AsyncUDP/src/AsyncUDP.cpp index 6fff201a..fcbc55f8 100644 --- a/libraries/AsyncUDP/src/AsyncUDP.cpp +++ b/libraries/AsyncUDP/src/AsyncUDP.cpp @@ -8,6 +8,7 @@ extern "C" { #include "lwip/igmp.h" #include "lwip/ip_addr.h" #include "lwip/mld6.h" +#include "lwip/prot/ethernet.h" #include #include } @@ -15,7 +16,7 @@ extern "C" { #include "lwip/priv/tcpip_priv.h" typedef struct { - struct tcpip_api_call call; + struct tcpip_api_call_data call; udp_pcb * pcb; const ip_addr_t *addr; uint16_t port; @@ -24,7 +25,7 @@ typedef struct { err_t err; } udp_api_call_t; -static err_t _udp_connect_api(struct tcpip_api_call *api_call_msg){ +static err_t _udp_connect_api(struct tcpip_api_call_data *api_call_msg){ udp_api_call_t * msg = (udp_api_call_t *)api_call_msg; msg->err = udp_connect(msg->pcb, msg->addr, msg->port); return msg->err; @@ -35,11 +36,11 @@ static err_t _udp_connect(struct udp_pcb *pcb, const ip_addr_t *addr, u16_t port msg.pcb = pcb; msg.addr = addr; msg.port = port; - tcpip_api_call(_udp_connect_api, (struct tcpip_api_call*)&msg); + tcpip_api_call(_udp_connect_api, (struct tcpip_api_call_data*)&msg); return msg.err; } -static err_t _udp_disconnect_api(struct tcpip_api_call *api_call_msg){ +static err_t _udp_disconnect_api(struct tcpip_api_call_data *api_call_msg){ udp_api_call_t * msg = (udp_api_call_t *)api_call_msg; msg->err = 0; udp_disconnect(msg->pcb); @@ -49,10 +50,10 @@ static err_t _udp_disconnect_api(struct tcpip_api_call *api_call_msg){ static void _udp_disconnect(struct udp_pcb *pcb){ udp_api_call_t msg; msg.pcb = pcb; - tcpip_api_call(_udp_disconnect_api, (struct tcpip_api_call*)&msg); + tcpip_api_call(_udp_disconnect_api, (struct tcpip_api_call_data*)&msg); } -static err_t _udp_remove_api(struct tcpip_api_call *api_call_msg){ +static err_t _udp_remove_api(struct tcpip_api_call_data *api_call_msg){ udp_api_call_t * msg = (udp_api_call_t *)api_call_msg; msg->err = 0; udp_remove(msg->pcb); @@ -62,10 +63,10 @@ static err_t _udp_remove_api(struct tcpip_api_call *api_call_msg){ static void _udp_remove(struct udp_pcb *pcb){ udp_api_call_t msg; msg.pcb = pcb; - tcpip_api_call(_udp_remove_api, (struct tcpip_api_call*)&msg); + tcpip_api_call(_udp_remove_api, (struct tcpip_api_call_data*)&msg); } -static err_t _udp_bind_api(struct tcpip_api_call *api_call_msg){ +static err_t _udp_bind_api(struct tcpip_api_call_data *api_call_msg){ udp_api_call_t * msg = (udp_api_call_t *)api_call_msg; msg->err = udp_bind(msg->pcb, msg->addr, msg->port); return msg->err; @@ -76,11 +77,11 @@ static err_t _udp_bind(struct udp_pcb *pcb, const ip_addr_t *addr, u16_t port){ msg.pcb = pcb; msg.addr = addr; msg.port = port; - tcpip_api_call(_udp_bind_api, (struct tcpip_api_call*)&msg); + tcpip_api_call(_udp_bind_api, (struct tcpip_api_call_data*)&msg); return msg.err; } -static err_t _udp_sendto_api(struct tcpip_api_call *api_call_msg){ +static err_t _udp_sendto_api(struct tcpip_api_call_data *api_call_msg){ udp_api_call_t * msg = (udp_api_call_t *)api_call_msg; msg->err = udp_sendto(msg->pcb, msg->pb, msg->addr, msg->port); return msg->err; @@ -92,11 +93,11 @@ static err_t _udp_sendto(struct udp_pcb *pcb, struct pbuf *pb, const ip_addr_t * msg.addr = addr; msg.port = port; msg.pb = pb; - tcpip_api_call(_udp_sendto_api, (struct tcpip_api_call*)&msg); + tcpip_api_call(_udp_sendto_api, (struct tcpip_api_call_data*)&msg); return msg.err; } -static err_t _udp_sendto_if_api(struct tcpip_api_call *api_call_msg){ +static err_t _udp_sendto_if_api(struct tcpip_api_call_data *api_call_msg){ udp_api_call_t * msg = (udp_api_call_t *)api_call_msg; msg->err = udp_sendto_if(msg->pcb, msg->pb, msg->addr, msg->port, msg->netif); return msg->err; @@ -109,7 +110,7 @@ static err_t _udp_sendto_if(struct udp_pcb *pcb, struct pbuf *pb, const ip_addr_ msg.port = port; msg.pb = pb; msg.netif = netif; - tcpip_api_call(_udp_sendto_if_api, (struct tcpip_api_call*)&msg); + tcpip_api_call(_udp_sendto_if_api, (struct tcpip_api_call_data*)&msg); return msg.err; } @@ -292,19 +293,23 @@ AsyncUDPPacket::AsyncUDPPacket(AsyncUDP *udp, pbuf *pb, const ip_addr_t *raddr, _remoteIp.type = raddr->type; _localIp.type = _remoteIp.type; + eth_hdr* eth = NULL; udp_hdr* udphdr = reinterpret_cast(_data - UDP_HLEN); _localPort = ntohs(udphdr->dest); _remotePort = ntohs(udphdr->src); - + if (_remoteIp.type == IPADDR_TYPE_V4) { + eth = (eth_hdr *)(((uint8_t *)(pb->payload)) - UDP_HLEN - IP_HLEN - SIZEOF_ETH_HDR); struct ip_hdr * iphdr = (struct ip_hdr *)(((uint8_t *)(pb->payload)) - UDP_HLEN - IP_HLEN); _localIp.u_addr.ip4.addr = iphdr->dest.addr; _remoteIp.u_addr.ip4.addr = iphdr->src.addr; } else { + eth = (eth_hdr *)(((uint8_t *)(pb->payload)) - UDP_HLEN - IP6_HLEN - SIZEOF_ETH_HDR); struct ip6_hdr * ip6hdr = (struct ip6_hdr *)(((uint8_t *)(pb->payload)) - UDP_HLEN - IP6_HLEN); memcpy(&_localIp.u_addr.ip6.addr, (uint8_t *)ip6hdr->dest.addr, 16); memcpy(&_remoteIp.u_addr.ip6.addr, (uint8_t *)ip6hdr->src.addr, 16); } + memcpy(_remoteMac, eth->src.addr, 6); struct netif * netif = NULL; void * nif = NULL; @@ -415,6 +420,11 @@ uint16_t AsyncUDPPacket::remotePort() return _remotePort; } +void AsyncUDPPacket::remoteMac(uint8_t * mac) +{ + memcpy(mac, _remoteMac, 6); +} + bool AsyncUDPPacket::isIPv6() { return _localIp.type == IPADDR_TYPE_V6; @@ -452,16 +462,24 @@ size_t AsyncUDPPacket::send(AsyncUDPMessage &message) return write(message.data(), message.length()); } -AsyncUDP::AsyncUDP() -{ +bool AsyncUDP::_init(){ + if(_pcb){ + return true; + } _pcb = udp_new(); - _connected = false; - _handler = NULL; if(!_pcb){ - return; + return false; } //_lock = xSemaphoreCreateMutex(); udp_recv(_pcb, &_udp_recv, (void *) this); + return true; +} + +AsyncUDP::AsyncUDP() +{ + _pcb = NULL; + _connected = false; + _handler = NULL; } AsyncUDP::~AsyncUDP() @@ -483,8 +501,7 @@ void AsyncUDP::close() _udp_disconnect(_pcb); } _connected = false; - _pcb->multicast_ip.type = IPADDR_TYPE_V4; - _pcb->multicast_ip.u_addr.ip4.addr = 0; + //todo: unjoin multicast group } UDP_MUTEX_UNLOCK(); } @@ -495,7 +512,7 @@ bool AsyncUDP::connect(const ip_addr_t *addr, uint16_t port) log_e("failed to start task"); return false; } - if(_pcb == NULL) { + if(!_init()) { return false; } close(); @@ -516,7 +533,7 @@ bool AsyncUDP::listen(const ip_addr_t *addr, uint16_t port) log_e("failed to start task"); return false; } - if(_pcb == NULL) { + if(!_init()) { return false; } close(); @@ -534,57 +551,53 @@ bool AsyncUDP::listen(const ip_addr_t *addr, uint16_t port) return true; } +static esp_err_t joinMulticastGroup(const ip_addr_t *addr, bool join, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX) +{ + struct netif * netif = NULL; + if(tcpip_if < TCPIP_ADAPTER_IF_MAX){ + void * nif = NULL; + esp_err_t err = tcpip_adapter_get_netif(tcpip_if, &nif); + if (err) { + return ESP_ERR_INVALID_ARG; + } + netif = (struct netif *)nif; + } + + if (addr->type == IPADDR_TYPE_V4) { + if(join){ + if (igmp_joingroup_netif(netif, (const ip4_addr *)&(addr->u_addr.ip4))) { + return ESP_ERR_INVALID_STATE; + } + } else { + if (igmp_leavegroup_netif(netif, (const ip4_addr *)&(addr->u_addr.ip4))) { + return ESP_ERR_INVALID_STATE; + } + } + } else { + if(join){ + if (mld6_joingroup_netif(netif, &(addr->u_addr.ip6))) { + return ESP_ERR_INVALID_STATE; + } + } else { + if (mld6_leavegroup_netif(netif, &(addr->u_addr.ip6))) { + return ESP_ERR_INVALID_STATE; + } + } + } + return ESP_OK; +} + bool AsyncUDP::listenMulticast(const ip_addr_t *addr, uint16_t port, uint8_t ttl, tcpip_adapter_if_t tcpip_if) { if(!ip_addr_ismulticast(addr)) { return false; } - ip_addr_t multicast_if_addr; - uint8_t mode; - if(esp_wifi_get_mode((wifi_mode_t*)&mode)){ - mode = WIFI_MODE_NULL; - } - if(addr->type == IPADDR_TYPE_V6){ - multicast_if_addr.type = IPADDR_TYPE_V6; - - if((tcpip_if == TCPIP_ADAPTER_IF_STA && (mode & WIFI_MODE_STA)) - || (tcpip_if == TCPIP_ADAPTER_IF_AP && (mode & WIFI_MODE_AP)) - || (tcpip_if == TCPIP_ADAPTER_IF_ETH)) { - if(tcpip_adapter_get_ip6_linklocal(tcpip_if, &multicast_if_addr.u_addr.ip6)){ - return false; - } - } else { - return false; - } - - if (mld6_joingroup(&(multicast_if_addr.u_addr.ip6), &(addr->u_addr.ip6))) { - return false; - } - } else if(addr->type == IPADDR_TYPE_V4){ - tcpip_adapter_ip_info_t ifIpInfo; - - if((tcpip_if == TCPIP_ADAPTER_IF_STA && (mode & WIFI_MODE_STA)) - || (tcpip_if == TCPIP_ADAPTER_IF_AP && (mode & WIFI_MODE_AP)) - || (tcpip_if == TCPIP_ADAPTER_IF_ETH)) { - if(tcpip_adapter_get_ip_info(tcpip_if, &ifIpInfo)){ - return false; - } - } else { - return false; - } - - multicast_if_addr.type = IPADDR_TYPE_V4; - multicast_if_addr.u_addr.ip4.addr = ifIpInfo.ip.addr; - - if (igmp_joingroup((const ip4_addr *)&multicast_if_addr.u_addr.ip4, (const ip4_addr *)&addr->u_addr.ip4)!= ERR_OK) { - return false; - } - } else { + if (joinMulticastGroup(addr, true, tcpip_if)!= ERR_OK) { return false; } - if(!listen(&multicast_if_addr, port)) { + if(!listen(NULL, port)) { return false; } @@ -592,9 +605,7 @@ bool AsyncUDP::listenMulticast(const ip_addr_t *addr, uint16_t port, uint8_t ttl _pcb->mcast_ttl = ttl; _pcb->remote_port = port; ip_addr_copy(_pcb->remote_ip, *addr); - if(addr->type == IPADDR_TYPE_V4){ - ip_addr_copy(_pcb->multicast_ip, multicast_if_addr); - } + //ip_addr_copy(_pcb->remote_ip, ip_addr_any_type); UDP_MUTEX_UNLOCK(); return true; @@ -604,7 +615,7 @@ size_t AsyncUDP::writeTo(const uint8_t * data, size_t len, const ip_addr_t * add { if(!_pcb) { UDP_MUTEX_LOCK(); - _pcb = udp_new_ip_type(addr->type); + _pcb = udp_new(); UDP_MUTEX_UNLOCK(); if(_pcb == NULL) { return 0; @@ -619,7 +630,7 @@ size_t AsyncUDP::writeTo(const uint8_t * data, size_t len, const ip_addr_t * add uint8_t* dst = reinterpret_cast(pbt->payload); memcpy(dst, data, len); UDP_MUTEX_LOCK(); - if(tcpip_if != TCPIP_ADAPTER_IF_MAX){ + if(tcpip_if < TCPIP_ADAPTER_IF_MAX){ void * nif = NULL; tcpip_adapter_get_netif((tcpip_adapter_if_t)tcpip_if, &nif); if(!nif){ diff --git a/libraries/AsyncUDP/src/AsyncUDP.h b/libraries/AsyncUDP/src/AsyncUDP.h index f97381ca..2ac48a69 100644 --- a/libraries/AsyncUDP/src/AsyncUDP.h +++ b/libraries/AsyncUDP/src/AsyncUDP.h @@ -53,6 +53,7 @@ protected: uint16_t _localPort; ip_addr_t _remoteIp; uint16_t _remotePort; + uint8_t _remoteMac[6]; uint8_t *_data; size_t _len; size_t _index; @@ -74,6 +75,7 @@ public: IPAddress remoteIP(); IPv6Address remoteIPv6(); uint16_t remotePort(); + void remoteMac(uint8_t * mac); size_t send(AsyncUDPMessage &message); @@ -95,6 +97,7 @@ protected: bool _connected; AuPacketHandlerFunction _handler; + bool _init(); void _recv(udp_pcb *upcb, pbuf *pb, const ip_addr_t *addr, uint16_t port, struct netif * netif); public: @@ -109,9 +112,9 @@ public: bool listen(const IPv6Address addr, uint16_t port); bool listen(uint16_t port); - bool listenMulticast(const ip_addr_t *addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_STA); - bool listenMulticast(const IPAddress addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_STA); - bool listenMulticast(const IPv6Address addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_STA); + bool listenMulticast(const ip_addr_t *addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX); + bool listenMulticast(const IPAddress addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX); + bool listenMulticast(const IPv6Address addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX); bool connect(const ip_addr_t *addr, uint16_t port); bool connect(const IPAddress addr, uint16_t port); diff --git a/libraries/BluetoothSerial/src/BluetoothSerial.cpp b/libraries/BluetoothSerial/src/BluetoothSerial.cpp index 97f18867..9bfe7a68 100644 --- a/libraries/BluetoothSerial/src/BluetoothSerial.cpp +++ b/libraries/BluetoothSerial/src/BluetoothSerial.cpp @@ -40,11 +40,115 @@ #include "esp32-hal-log.h" #endif -const char * _spp_server_name = "ESP32_SPP_SERVER"; +const char * _spp_server_name = "ESP32SPP"; -#define QUEUE_SIZE 256 +#define RX_QUEUE_SIZE 512 +#define TX_QUEUE_SIZE 32 static uint32_t _spp_client = 0; -static xQueueHandle _spp_queue = NULL; +static xQueueHandle _spp_rx_queue = NULL; +static xQueueHandle _spp_tx_queue = NULL; +static SemaphoreHandle_t _spp_tx_done = NULL; +static TaskHandle_t _spp_task_handle = NULL; +static EventGroupHandle_t _spp_event_group = NULL; + +#define SPP_RUNNING 0x01 +#define SPP_CONNECTED 0x02 +#define SPP_CONGESTED 0x04 + +typedef struct { + size_t len; + uint8_t data[]; +} spp_packet_t; + +static esp_err_t _spp_queue_packet(uint8_t *data, size_t len){ + if(!data || !len){ + log_w("No data provided"); + return ESP_OK; + } + spp_packet_t * packet = (spp_packet_t*)malloc(sizeof(spp_packet_t) + len); + if(!packet){ + log_e("SPP TX Packet Malloc Failed!"); + return ESP_FAIL; + } + packet->len = len; + memcpy(packet->data, data, len); + if (xQueueSend(_spp_tx_queue, &packet, portMAX_DELAY) != pdPASS) { + log_e("SPP TX Queue Send Failed!"); + free(packet); + return ESP_FAIL; + } + return ESP_OK; +} + +const uint16_t SPP_TX_MAX = 330; +static uint8_t _spp_tx_buffer[SPP_TX_MAX]; +static uint16_t _spp_tx_buffer_len = 0; + +static bool _spp_send_buffer(){ + if((xEventGroupWaitBits(_spp_event_group, SPP_CONGESTED, pdFALSE, pdTRUE, portMAX_DELAY) & SPP_CONGESTED)){ + esp_err_t err = esp_spp_write(_spp_client, _spp_tx_buffer_len, _spp_tx_buffer); + if(err != ESP_OK){ + log_e("SPP Write Failed! [0x%X]", err); + return false; + } + _spp_tx_buffer_len = 0; + if(xSemaphoreTake(_spp_tx_done, portMAX_DELAY) != pdTRUE){ + log_e("SPP Ack Failed!"); + return false; + } + return true; + } + return false; +} + +static void _spp_tx_task(void * arg){ + spp_packet_t *packet = NULL; + size_t len = 0, to_send = 0; + uint8_t * data = NULL; + for (;;) { + if(_spp_tx_queue && xQueueReceive(_spp_tx_queue, &packet, portMAX_DELAY) == pdTRUE && packet){ + if(packet->len <= (SPP_TX_MAX - _spp_tx_buffer_len)){ + memcpy(_spp_tx_buffer+_spp_tx_buffer_len, packet->data, packet->len); + _spp_tx_buffer_len+=packet->len; + free(packet); + packet = NULL; + if(SPP_TX_MAX == _spp_tx_buffer_len || uxQueueMessagesWaiting(_spp_tx_queue) == 0){ + _spp_send_buffer(); + } + } else { + len = packet->len; + data = packet->data; + to_send = SPP_TX_MAX - _spp_tx_buffer_len; + memcpy(_spp_tx_buffer+_spp_tx_buffer_len, data, to_send); + _spp_tx_buffer_len = SPP_TX_MAX; + data += to_send; + len -= to_send; + _spp_send_buffer(); + while(len >= SPP_TX_MAX){ + memcpy(_spp_tx_buffer, data, SPP_TX_MAX); + _spp_tx_buffer_len = SPP_TX_MAX; + data += SPP_TX_MAX; + len -= SPP_TX_MAX; + _spp_send_buffer(); + } + if(len){ + memcpy(_spp_tx_buffer, data, len); + _spp_tx_buffer_len += len; + free(packet); + packet = NULL; + if(uxQueueMessagesWaiting(_spp_tx_queue) == 0){ + _spp_send_buffer(); + } + } + } + } else { + log_e("Something went horribly wrong"); + } + } + vTaskDelete(NULL); + _spp_task_handle = NULL; +} + static void esp_spp_cb(esp_spp_cb_event_t event, esp_spp_cb_param_t *param) { @@ -54,44 +158,66 @@ static void esp_spp_cb(esp_spp_cb_event_t event, esp_spp_cb_param_t *param) log_i("ESP_SPP_INIT_EVT"); esp_bt_gap_set_scan_mode(ESP_BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE); esp_spp_start_srv(ESP_SPP_SEC_NONE, ESP_SPP_ROLE_SLAVE, 0, _spp_server_name); + xEventGroupSetBits(_spp_event_group, SPP_RUNNING); break; + + case ESP_SPP_SRV_OPEN_EVT://Server connection open + _spp_client = param->open.handle; + xEventGroupSetBits(_spp_event_group, SPP_CONNECTED); + log_i("ESP_SPP_SRV_OPEN_EVT"); + break; + + case ESP_SPP_CLOSE_EVT://Client connection closed + _spp_client = 0; + xEventGroupClearBits(_spp_event_group, SPP_CONNECTED); + log_i("ESP_SPP_CLOSE_EVT"); + break; + + case ESP_SPP_CONG_EVT://connection congestion status changed + if(param->cong.cong){ + xEventGroupClearBits(_spp_event_group, SPP_CONGESTED); + } else { + xEventGroupSetBits(_spp_event_group, SPP_CONGESTED); + } + log_v("ESP_SPP_CONG_EVT: %s", param->cong.cong?"CONGESTED":"FREE"); + break; + + case ESP_SPP_WRITE_EVT://write operation completed + if(param->write.cong){ + xEventGroupClearBits(_spp_event_group, SPP_CONGESTED); + } + xSemaphoreGive(_spp_tx_done);//we can try to send another packet + log_v("ESP_SPP_WRITE_EVT: %u %s", param->write.len, param->write.cong?"CONGESTED":"FREE"); + break; + + case ESP_SPP_DATA_IND_EVT://connection received data + log_v("ESP_SPP_DATA_IND_EVT len=%d handle=%d", param->data_ind.len, param->data_ind.handle); + //esp_log_buffer_hex("",param->data_ind.data,param->data_ind.len); //for low level debug + //ets_printf("r:%u\n", param->data_ind.len); + + if (_spp_rx_queue != NULL){ + for (int i = 0; i < param->data_ind.len; i++){ + if(xQueueSend(_spp_rx_queue, param->data_ind.data + i, (TickType_t)0) != pdTRUE){ + log_e("RX Full! Discarding %u bytes", param->data_ind.len - i); + break; + } + } + } + break; + + //should maybe delete those. case ESP_SPP_DISCOVERY_COMP_EVT://discovery complete log_i("ESP_SPP_DISCOVERY_COMP_EVT"); break; case ESP_SPP_OPEN_EVT://Client connection open log_i("ESP_SPP_OPEN_EVT"); break; - case ESP_SPP_CLOSE_EVT://Client connection closed - _spp_client = 0; - log_i("ESP_SPP_CLOSE_EVT"); - break; case ESP_SPP_START_EVT://server started log_i("ESP_SPP_START_EVT"); break; case ESP_SPP_CL_INIT_EVT://client initiated a connection log_i("ESP_SPP_CL_INIT_EVT"); break; - case ESP_SPP_DATA_IND_EVT://connection received data - log_v("ESP_SPP_DATA_IND_EVT len=%d handle=%d", param->data_ind.len, param->data_ind.handle); - //esp_log_buffer_hex("",param->data_ind.data,param->data_ind.len); //for low level debug - - if (_spp_queue != NULL){ - for (int i = 0; i < param->data_ind.len; i++) - xQueueSend(_spp_queue, param->data_ind.data + i, (TickType_t)0); - } else { - log_e("SerialQueueBT ERROR"); - } - break; - case ESP_SPP_CONG_EVT://connection congestion status changed - log_i("ESP_SPP_CONG_EVT"); - break; - case ESP_SPP_WRITE_EVT://write operation completed - log_v("ESP_SPP_WRITE_EVT"); - break; - case ESP_SPP_SRV_OPEN_EVT://Server connection open - _spp_client = param->open.handle; - log_i("ESP_SPP_SRV_OPEN_EVT"); - break; default: break; } @@ -99,41 +225,76 @@ static void esp_spp_cb(esp_spp_cb_event_t event, esp_spp_cb_param_t *param) static bool _init_bt(const char *deviceName) { + if(!_spp_event_group){ + _spp_event_group = xEventGroupCreate(); + if(!_spp_event_group){ + log_e("SPP Event Group Create Failed!"); + return false; + } + xEventGroupClearBits(_spp_event_group, 0xFFFFFF); + xEventGroupSetBits(_spp_event_group, SPP_CONGESTED); + } + if (_spp_rx_queue == NULL){ + _spp_rx_queue = xQueueCreate(RX_QUEUE_SIZE, sizeof(uint8_t)); //initialize the queue + if (_spp_rx_queue == NULL){ + log_e("RX Queue Create Failed"); + return false; + } + } + if (_spp_tx_queue == NULL){ + _spp_tx_queue = xQueueCreate(TX_QUEUE_SIZE, sizeof(spp_packet_t*)); //initialize the queue + if (_spp_tx_queue == NULL){ + log_e("TX Queue Create Failed"); + return false; + } + } + if(_spp_tx_done == NULL){ + _spp_tx_done = xSemaphoreCreateBinary(); + if (_spp_tx_done == NULL){ + log_e("TX Semaphore Create Failed"); + return false; + } + xSemaphoreTake(_spp_tx_done, 0); + } + + if(!_spp_task_handle){ + xTaskCreate(_spp_tx_task, "spp_tx", 4096, NULL, 2, &_spp_task_handle); + if(!_spp_task_handle){ + log_e("Network Event Task Start Failed!"); + return false; + } + } + if (!btStarted() && !btStart()){ - log_e("%s initialize controller failed\n", __func__); + log_e("initialize controller failed"); return false; } esp_bluedroid_status_t bt_state = esp_bluedroid_get_status(); if (bt_state == ESP_BLUEDROID_STATUS_UNINITIALIZED){ if (esp_bluedroid_init()) { - log_e("%s initialize bluedroid failed\n", __func__); + log_e("initialize bluedroid failed"); return false; } } if (bt_state != ESP_BLUEDROID_STATUS_ENABLED){ if (esp_bluedroid_enable()) { - log_e("%s enable bluedroid failed\n", __func__); + log_e("enable bluedroid failed"); return false; } } if (esp_spp_register_callback(esp_spp_cb) != ESP_OK){ - log_e("%s spp register failed\n", __func__); + log_e("spp register failed"); return false; } if (esp_spp_init(ESP_SPP_MODE_CB) != ESP_OK){ - log_e("%s spp init failed\n", __func__); + log_e("spp init failed"); return false; } - _spp_queue = xQueueCreate(QUEUE_SIZE, sizeof(uint8_t)); //initialize the queue - if (_spp_queue == NULL){ - log_e("%s Queue creation error\n", __func__); - return false; - } esp_bt_dev_set_device_name(deviceName); // the default BTA_DM_COD_LOUDSPEAKER does not work with the macOS BT stack @@ -142,7 +303,7 @@ static bool _init_bt(const char *deviceName) cod.minor = 0b000100; cod.service = 0b00000010110; if (esp_bt_gap_set_cod(cod, ESP_BT_INIT_COD) != ESP_OK) { - log_e("%s set cod failed\n", __func__); + log_e("set cod failed"); return false; } @@ -159,6 +320,32 @@ static bool _stop_bt() esp_bluedroid_deinit(); btStop(); } + _spp_client = 0; + if(_spp_task_handle){ + vTaskDelete(_spp_task_handle); + _spp_task_handle = NULL; + } + if(_spp_event_group){ + vEventGroupDelete(_spp_event_group); + _spp_event_group = NULL; + } + if(_spp_rx_queue){ + vQueueDelete(_spp_rx_queue); + //ToDo: clear RX queue when in packet mode + _spp_rx_queue = NULL; + } + if(_spp_tx_queue){ + spp_packet_t *packet = NULL; + while(xQueueReceive(_spp_tx_queue, &packet, 0) == pdTRUE){ + free(packet); + } + vQueueDelete(_spp_tx_queue); + _spp_tx_queue = NULL; + } + if (_spp_tx_done) { + vSemaphoreDelete(_spp_tx_done); + _spp_tx_done = NULL; + } return true; } @@ -175,7 +362,6 @@ BluetoothSerial::BluetoothSerial() BluetoothSerial::~BluetoothSerial(void) { _stop_bt(); - vQueueDelete(_spp_queue); } bool BluetoothSerial::begin(String localName) @@ -188,60 +374,39 @@ bool BluetoothSerial::begin(String localName) int BluetoothSerial::available(void) { - if (!_spp_client || _spp_queue == NULL){ + if (_spp_rx_queue == NULL){ return 0; } - return uxQueueMessagesWaiting(_spp_queue); + return uxQueueMessagesWaiting(_spp_rx_queue); } int BluetoothSerial::peek(void) { - if (available()){ - if (!_spp_client || _spp_queue == NULL){ - return 0; - } - - uint8_t c; - if (xQueuePeek(_spp_queue, &c, 0)){ - return c; - } + uint8_t c; + if (_spp_rx_queue && xQueuePeek(_spp_rx_queue, &c, 0)){ + return c; } return -1; } bool BluetoothSerial::hasClient(void) { - if (_spp_client) - return true; - - return false; + return _spp_client > 0; } int BluetoothSerial::read(void) { - if (available()){ - if (!_spp_client || _spp_queue == NULL){ - return 0; - } - uint8_t c; - if (xQueueReceive(_spp_queue, &c, 0)){ - return c; - } + uint8_t c = 0; + if (_spp_rx_queue && xQueueReceive(_spp_rx_queue, &c, 0)){ + return c; } - return 0; + return -1; } size_t BluetoothSerial::write(uint8_t c) { - if (!_spp_client){ - return 0; - } - - uint8_t buffer[1]; - buffer[0] = c; - esp_err_t err = esp_spp_write(_spp_client, 1, buffer); - return (err == ESP_OK) ? 1 : 0; + return write(&c, 1); } size_t BluetoothSerial::write(const uint8_t *buffer, size_t size) @@ -249,24 +414,17 @@ size_t BluetoothSerial::write(const uint8_t *buffer, size_t size) if (!_spp_client){ return 0; } - - esp_err_t err = esp_spp_write(_spp_client, size, (uint8_t *)buffer); - return (err == ESP_OK) ? size : 0; + return (_spp_queue_packet((uint8_t *)buffer, size) == ESP_OK) ? size : 0; } void BluetoothSerial::flush() { - if (_spp_client){ - int qsize = available(); - uint8_t buffer[qsize]; - esp_spp_write(_spp_client, qsize, buffer); - } + while(read() >= 0){} } void BluetoothSerial::end() { _stop_bt(); - vQueueDelete(_spp_queue); } #endif diff --git a/libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopbakc.ino b/libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino similarity index 100% rename from libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopbakc.ino rename to libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino diff --git a/libraries/ESP32/examples/Timer/WatchdogTimer/WatchdogTimer.ino b/libraries/ESP32/examples/Timer/WatchdogTimer/WatchdogTimer.ino index bfe4a9f0..056cab96 100644 --- a/libraries/ESP32/examples/Timer/WatchdogTimer/WatchdogTimer.ino +++ b/libraries/ESP32/examples/Timer/WatchdogTimer/WatchdogTimer.ino @@ -6,7 +6,7 @@ hw_timer_t *timer = NULL; void IRAM_ATTR resetModule() { ets_printf("reboot\n"); - esp_restart_noos(); + esp_restart(); } void setup() { diff --git a/libraries/SD_MMC/src/SD_MMC.cpp b/libraries/SD_MMC/src/SD_MMC.cpp index 2f36eee7..4de46730 100644 --- a/libraries/SD_MMC/src/SD_MMC.cpp +++ b/libraries/SD_MMC/src/SD_MMC.cpp @@ -50,12 +50,13 @@ bool SDMMCFS::begin(const char * mountpoint, bool mode1bit) .init = &sdmmc_host_init, .set_bus_width = &sdmmc_host_set_bus_width, .get_bus_width = &sdmmc_host_get_slot_width, + .set_bus_ddr_mode = &sdmmc_host_set_bus_ddr_mode, .set_card_clk = &sdmmc_host_set_card_clk, .do_transaction = &sdmmc_host_do_transaction, .deinit = &sdmmc_host_deinit, - .io_int_enable = sdmmc_host_io_int_enable, - .io_int_wait = sdmmc_host_io_int_wait, - .command_timeout_ms = 0, + .io_int_enable = &sdmmc_host_io_int_enable, + .io_int_wait = &sdmmc_host_io_int_wait, + .command_timeout_ms = 0 }; host.max_freq_khz = SDMMC_FREQ_HIGHSPEED; #ifdef BOARD_HAS_1BIT_SDMMC diff --git a/libraries/WiFi/src/WiFiAP.cpp b/libraries/WiFi/src/WiFiAP.cpp index f4a2fa54..8f96add9 100644 --- a/libraries/WiFi/src/WiFiAP.cpp +++ b/libraries/WiFi/src/WiFiAP.cpp @@ -37,7 +37,7 @@ extern "C" { #include #include #include -#include "apps/dhcpserver_options.h" +#include "dhcpserver/dhcpserver_options.h" } diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index a03f2639..791dc307 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -38,7 +38,7 @@ { "packager": "esp32", "name": "esptool", - "version": "2.3.1" + "version": "2.5.0" }, { "packager": "esp32", @@ -85,42 +85,42 @@ }, { "name": "esptool", - "version": "2.3.1", + "version": "2.5.0", "systems": [ { "host": "i686-mingw32", - "url": "https://dl.espressif.com/dl/esptool-2.3.1-windows.zip", - "archiveFileName": "esptool-2.3.1-windows.zip", - "checksum": "SHA-256:c187763d0faac7da7c30a292a23c759bbc256fcd084dc8846ed284000cb0fe29", - "size": "3396085" + "url": "https://dl.espressif.com/dl/esptool-2.5.0-windows.zip", + "archiveFileName": "esptool-2.5.0-windows.zip", + "checksum": "SHA-256:576b8068b577cae0e6e937566a9d32a08ff7ff82963fb60400eacb6691f2fbfb", + "size": "3420959" }, { "host": "x86_64-apple-darwin", - "url": "https://dl.espressif.com/dl/esptool-2.3.1-macos.tar.gz", - "archiveFileName": "esptool-2.3.1-macos.tar.gz", - "checksum": "SHA-256:cd922418f02e0ca11dc066b36a22646a1b441da00d762b4464ca598c902c5ecb", - "size": "3810932" + "url": "https://dl.espressif.com/dl/esptool-2.5.0-macos.tar.gz", + "archiveFileName": "esptool-2.5.0-macos.tar.gz", + "checksum": "SHA-256:2da8ba3b83d99b5d808cab955a077e3e0738ec640b51de932d047cad7fac1157", + "size": "3835397" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://dl.espressif.com/dl/esptool-2.3.1-linux.tar.gz", - "archiveFileName": "esptool-2.3.1-linux.tar.gz", - "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", - "size": "39563" + "url": "https://dl.espressif.com/dl/esptool-2.5.0-linux.tar.gz", + "archiveFileName": "esptool-2.5.0-linux.tar.gz", + "checksum": "SHA-256:34d63b9a0bf2acb9b6fdac15f91a8756f4e722065de031e8fbce4e4abc369e54", + "size": "43468" }, { "host": "i686-pc-linux-gnu", - "url": "https://dl.espressif.com/dl/esptool-2.3.1-linux.tar.gz", - "archiveFileName": "esptool-2.3.1-linux.tar.gz", - "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", - "size": "39563" + "url": "https://dl.espressif.com/dl/esptool-2.5.0-linux.tar.gz", + "archiveFileName": "esptool-2.5.0-linux.tar.gz", + "checksum": "SHA-256:34d63b9a0bf2acb9b6fdac15f91a8756f4e722065de031e8fbce4e4abc369e54", + "size": "43468" }, { "host": "arm-linux-gnueabihf", - "url": "https://dl.espressif.com/dl/esptool-2.3.1-linux.tar.gz", - "archiveFileName": "esptool-2.3.1-linux.tar.gz", - "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", - "size": "39563" + "url": "https://dl.espressif.com/dl/esptool-2.5.0-linux.tar.gz", + "archiveFileName": "esptool-2.5.0-linux.tar.gz", + "checksum": "SHA-256:34d63b9a0bf2acb9b6fdac15f91a8756f4e722065de031e8fbce4e4abc369e54", + "size": "43468" } ] }, diff --git a/platform.txt b/platform.txt index cd6078df..5cb04a12 100644 --- a/platform.txt +++ b/platform.txt @@ -22,7 +22,7 @@ compiler.warning_flags.all=-Wall -Werror=all -Wextra compiler.path={runtime.tools.xtensa-esp32-elf-gcc.path}/bin/ compiler.sdk.path={runtime.platform.path}/tools/sdk -compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/bluedroid" "-I{compiler.sdk.path}/include/bluedroid/api" "-I{compiler.sdk.path}/include/app_trace" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/esp_adc_cal" "-I{compiler.sdk.path}/include/esp_http_client" "-I{compiler.sdk.path}/include/esp-tls" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/heap" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mbedtls_port" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/smartconfig_ack" "-I{compiler.sdk.path}/include/spiffs" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/wear_levelling" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/console" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/lwip" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/wpa_supplicant" +compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/bluedroid" "-I{compiler.sdk.path}/include/bluedroid/api" "-I{compiler.sdk.path}/include/app_trace" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/esp_adc_cal" "-I{compiler.sdk.path}/include/esp_http_client" "-I{compiler.sdk.path}/include/esp_https_ota" "-I{compiler.sdk.path}/include/esp-mqtt" "-I{compiler.sdk.path}/include/esp-tls" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/heap" "-I{compiler.sdk.path}/include/http_server" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mbedtls_port" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/smartconfig_ack" "-I{compiler.sdk.path}/include/spiffs" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/tcp_transport" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/wear_levelling" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/lwip" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/console" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/wpa_supplicant" compiler.c.cmd=xtensa-esp32-elf-gcc compiler.c.flags=-std=gnu99 -Os -g3 -fstack-protector -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wpointer-arith {compiler.warning_flags} -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -Wno-old-style-declaration -MMD -c @@ -35,7 +35,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls compiler.c.elf.cmd=xtensa-esp32-elf-gcc compiler.c.elf.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.spiram_incompatible_fns.ld -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u __cxa_guard_dummy -u __cxx_fatal_exception -compiler.c.elf.libs=-lgcc -lopenssl -lbtdm_app -lfatfs -lwps -lcoexist -lwear_levelling -lesp_http_client -lhal -lnewlib -ldriver -lbootloader_support -lpp -lmesh -lsmartconfig -ljsmn -lwpa -lethernet -lphy -lapp_trace -lconsole -lulp -lwpa_supplicant -lfreertos -lbt -lmicro-ecc -lcxx -lxtensa-debug-module -lmdns -lvfs -lsoc -lcore -lsdmmc -lcoap -ltcpip_adapter -lc_nano -lesp-tls -lrtc -lspi_flash -lwpa2 -lesp32 -lapp_update -lnghttp -lspiffs -lespnow -lnvs_flash -lesp_adc_cal -llog -lsmartconfig_ack -lexpat -lm -lc -lheap -lmbedtls -llwip -lnet80211 -lpthread -ljson -lstdc++ +compiler.c.elf.libs=-lgcc -lopenssl -lbtdm_app -lfatfs -lwps -lhttp_server -lcoexist -lwear_levelling -lesp_http_client -lhal -lnewlib -ldriver -lbootloader_support -lpp -lmesh -lsmartconfig -ljsmn -lwpa -lethernet -lphy -lapp_trace -lconsole -lulp -lwpa_supplicant -lfreertos -lbt -lmicro-ecc -lcxx -lxtensa-debug-module -ltcp_transport -lmdns -lvfs -lesp_ringbuf -lsoc -lcore -lsdmmc -lcoap -ltcpip_adapter -lc_nano -lesp-tls -lasio -lrtc -lspi_flash -lwpa2 -lesp32 -lapp_update -lnghttp -lspiffs -lespnow -lnvs_flash -lesp_adc_cal -llog -lsmartconfig_ack -lexpat -lm -lmqtt -lc -lheap -lmbedtls -llwip -lnet80211 -lpthread -ljson -lesp_https_ota -lstdc++ compiler.as.cmd=xtensa-esp32-elf-as diff --git a/tools/esptool.py b/tools/esptool.py index 36f95002..bd89a7ff 100755 --- a/tools/esptool.py +++ b/tools/esptool.py @@ -20,6 +20,7 @@ from __future__ import division, print_function import argparse import base64 +import binascii import copy import hashlib import inspect @@ -30,10 +31,27 @@ import struct import sys import time import zlib +import string +import serial.tools.list_ports as list_ports import serial -__version__ = "2.3.1" +# check 'serial' is 'pyserial' and not 'serial' https://github.com/espressif/esptool/issues/269 +try: + if "serialization" in serial.__doc__ and "deserialization" in serial.__doc__: + raise ImportError(""" +esptool.py depends on pyserial, but there is a conflict with a currently installed package named 'serial'. + +You may be able to work around this by 'pip uninstall serial; pip install pyserial' \ +but this may break other installed Python software that depends on 'serial'. + +There is no good fix for this right now, apart from configuring virtualenvs. \ +See https://github.com/espressif/esptool/issues/269#issuecomment-385298196 for discussion of the underlying issue(s).""") +except TypeError: + pass # __doc__ returns None for pyserial + + +__version__ = "2.5.0" MAX_UINT32 = 0xffffffff MAX_UINT24 = 0xffffff @@ -45,6 +63,8 @@ MAX_TIMEOUT = CHIP_ERASE_TIMEOUT * 2 # longest any command can run SYNC_TIMEOUT = 0.1 # timeout for syncing with bootloader MD5_TIMEOUT_PER_MB = 8 # timeout (per megabyte) for calculating md5sum ERASE_REGION_TIMEOUT_PER_MB = 30 # timeout (per megabyte) for erasing a region +MEM_END_ROM_TIMEOUT = 0.05 # special short timeout for ESP_MEM_END, as it may never respond +DEFAULT_SERIAL_WRITE_TIMEOUT = 10 # timeout for serial port write def timeout_per_mb(seconds_per_mb, size_bytes): @@ -112,7 +132,7 @@ def esp8266_function_only(func): class ESPLoader(object): - """ Base class providing access to ESP ROM & softtware stub bootloaders. + """ Base class providing access to ESP ROM & software stub bootloaders. Subclasses provide ESP8266 & ESP32 specific functionality. Don't instantiate this base class directly, either instantiate a subclass or @@ -200,6 +220,8 @@ class ESPLoader(object): # https://github.com/espressif/esptool/issues/44#issuecomment-107094446 self._set_port_baudrate(baud) self._trace_enabled = trace_enabled + # set write timeout, to prevent esptool blocked at write forever. + self._port.write_timeout = DEFAULT_SERIAL_WRITE_TIMEOUT def _set_port_baudrate(self, baud): try: @@ -243,7 +265,7 @@ class ESPLoader(object): buf = b'\xc0' \ + (packet.replace(b'\xdb',b'\xdb\xdd').replace(b'\xc0',b'\xdb\xdc')) \ + b'\xc0' - self.trace("Write %d bytes: %r", len(buf), buf) + self.trace("Write %d bytes: %s", len(buf), HexFormatter(buf)) self._port.write(buf) def trace(self, message, *format_args): @@ -278,8 +300,8 @@ class ESPLoader(object): try: if op is not None: - self.trace("command op=0x%02x data len=%s wait_response=%d timeout=%.3f data=%r", - op, len(data), 1 if wait_response else 0, timeout, data) + self.trace("command op=0x%02x data len=%s wait_response=%d timeout=%.3f data=%s", + op, len(data), 1 if wait_response else 0, timeout, HexFormatter(data)) pkt = struct.pack(b' start: + raise FatalError(("Software loader is resident at 0x%08x-0x%08x. " + + "Can't load binary at overlapping address range 0x%08x-0x%08x. " + + "Either change binary loading address, or use the --no-stub " + + "option to disable the software loader.") % (start, end, load_start, load_end)) + return self.check_command("enter RAM download mode", self.ESP_MEM_BEGIN, struct.pack('LOW + self._setRTS(True) # EN->LOW time.sleep(0.1) - self._port.setRTS(False) + self._setRTS(False) def soft_reset(self, stay_in_bootloader): if not self.IS_STUB: @@ -892,7 +952,7 @@ class ESP8266ROM(ESPLoader): return "ESP8285" if is_8285 else "ESP8266EX" def get_chip_features(self): - features = [ "WiFi" ] + features = ["WiFi"] if self.get_chip_description() == "ESP8285": features += ["Embedded Flash"] return features @@ -911,7 +971,7 @@ class ESP8266ROM(ESPLoader): super(ESP8266ROM, self).flash_set_parameters(size) def chip_id(self): - """ Read Chip ID from OTP ROM - see http://esp8266-re.foogod.com/wiki/System_get_chip_id_%28IoT_RTOS_SDK_0.9.9%29 """ + """ Read Chip ID from efuse - the equivalent of the SDK system_get_chip_id() function """ id0 = self.read_reg(self.ESP_OTP_MAC0) id1 = self.read_reg(self.ESP_OTP_MAC1) return (id0 >> 24) | ((id1 & MAX_UINT24) << 8) @@ -950,6 +1010,9 @@ class ESP8266ROM(ESPLoader): else: return (num_sectors - head_sectors) * sector_size + def override_vddsdio(self, new_voltage): + raise NotImplementedInROMError("Overriding VDDSDIO setting only applies to ESP32") + class ESP8266StubLoader(ESP8266ROM): """ Access class for ESP8266 stub loader, runs on top of ROM. @@ -1002,17 +1065,13 @@ class ESP32ROM(ESPLoader): BOOTLOADER_FLASH_OFFSET = 0x1000 + OVERRIDE_VDDSDIO_CHOICES = ["1.8V", "1.9V", "OFF"] + def get_chip_description(self): word3 = self.read_efuse(3) - chip_version = (word3 >> 12) & 0xF + chip_ver_rev1 = (word3 >> 15) & 0x1 pkg_version = (word3 >> 9) & 0x07 - silicon_rev = { - 0x0: "0", - 0x8: "1", - 0xc: "1", # Silicon rev 1 w/ BLK3_PART_RESERVE bit set - }.get(chip_version, "(unknown 0x%x)" % chip_version) - chip_name = { 0: "ESP32D0WDQ6", 1: "ESP32D0WDQ5", @@ -1020,27 +1079,41 @@ class ESP32ROM(ESPLoader): 5: "ESP32-PICO-D4", }.get(pkg_version, "unknown ESP32") - return "%s (revision %s)" % (chip_name, silicon_rev) + return "%s (revision %d)" % (chip_name, chip_ver_rev1) def get_chip_features(self): features = ["WiFi"] word3 = self.read_efuse(3) - if word3 & (1 << 1) == 0: # RD_CHIP_VER_DIS_BT + # names of variables in this section are lowercase + # versions of EFUSE names as documented in TRM and + # ESP-IDF efuse_reg.h + + chip_ver_dis_bt = word3 & (1 << 1) + if chip_ver_dis_bt == 0: features += ["BT"] - if word3 & (1 << 0): # RD_CHIP_VER_DIS_APP_CPU + chip_ver_dis_app_cpu = word3 & (1 << 0) + if chip_ver_dis_app_cpu: features += ["Single Core"] else: features += ["Dual Core"] + chip_cpu_freq_rated = word3 & (1 << 13) + if chip_cpu_freq_rated: + chip_cpu_freq_low = word3 & (1 << 12) + if chip_cpu_freq_low: + features += ["160MHz"] + else: + features += ["240MHz"] + pkg_version = (word3 >> 9) & 0x07 - if pkg_version != 0: + if pkg_version in [2, 4, 5]: features += ["Embedded Flash"] word4 = self.read_efuse(4) - vref = (word4 >> 8) & 0x1F - if vref != 0: + adc_vref = (word4 >> 8) & 0x1F + if adc_vref: features += ["VRef calibration in efuse"] return features @@ -1050,9 +1123,7 @@ class ESP32ROM(ESPLoader): return self.read_reg(self.EFUSE_REG_BASE + (4 * n)) def chip_id(self): - word16 = self.read_efuse(1) - word17 = self.read_efuse(2) - return ((word17 & MAX_UINT24) << 24) | (word16 >> 8) & MAX_UINT24 + raise NotSupportedError(self, "chip_id") def read_mac(self): """ Read MAC from EFUSE region """ @@ -1067,6 +1138,28 @@ class ESP32ROM(ESPLoader): def get_erase_size(self, offset, size): return size + def override_vddsdio(self, new_voltage): + new_voltage = new_voltage.upper() + if new_voltage not in self.OVERRIDE_VDDSDIO_CHOICES: + raise FatalError("The only accepted VDDSDIO overrides are '1.8V', '1.9V' and 'OFF'") + RTC_CNTL_SDIO_CONF_REG = 0x3ff48074 + RTC_CNTL_XPD_SDIO_REG = (1 << 31) + RTC_CNTL_DREFH_SDIO_M = (3 << 29) + RTC_CNTL_DREFM_SDIO_M = (3 << 27) + RTC_CNTL_DREFL_SDIO_M = (3 << 25) + # RTC_CNTL_SDIO_TIEH = (1 << 23) # not used here, setting TIEH=1 would set 3.3V output, not safe for esptool.py to do + RTC_CNTL_SDIO_FORCE = (1 << 22) + RTC_CNTL_SDIO_PD_EN = (1 << 21) + + reg_val = RTC_CNTL_SDIO_FORCE # override efuse setting + reg_val |= RTC_CNTL_SDIO_PD_EN + if new_voltage != "OFF": + reg_val |= RTC_CNTL_XPD_SDIO_REG # enable internal LDO + if new_voltage == "1.9V": + reg_val |= (RTC_CNTL_DREFH_SDIO_M | RTC_CNTL_DREFM_SDIO_M | RTC_CNTL_DREFL_SDIO_M) # boost voltage + self.write_reg(RTC_CNTL_SDIO_CONF_REG, reg_val) + print("VDDSDIO regulator set to %s" % new_voltage) + class ESP32StubLoader(ESP32ROM): """ Access class for ESP32 stub loader, runs on top of ROM. @@ -1096,20 +1189,20 @@ class ESPBOOTLOADER(object): def LoadFirmwareImage(chip, filename): """ Load a firmware image. Can be for ESP8266 or ESP32. ESP8266 images will be examined to determine if they are - original ROM firmware images (ESPFirmwareImage) or "v2" OTA bootloader images. + original ROM firmware images (ESP8266ROMFirmwareImage) or "v2" OTA bootloader images. - Returns a BaseFirmwareImage subclass, either ESPFirmwareImage (v1) or OTAFirmwareImage (v2). + Returns a BaseFirmwareImage subclass, either ESP8266ROMFirmwareImage (v1) or ESP8266V2FirmwareImage (v2). """ with open(filename, 'rb') as f: - if chip == 'esp32': + if chip.lower() == 'esp32': return ESP32FirmwareImage(f) else: # Otherwise, ESP8266 so look at magic to determine the image type magic = ord(f.read(1)) f.seek(0) if magic == ESPLoader.ESP_IMAGE_MAGIC: - return ESPFirmwareImage(f) + return ESP8266ROMFirmwareImage(f) elif magic == ESPBOOTLOADER.IMAGE_V2_MAGIC: - return OTAFirmwareImage(f) + return ESP8266V2FirmwareImage(f) else: raise FatalError("Invalid image magic number: %d" % magic) @@ -1119,10 +1212,11 @@ class ImageSegment(object): (very similar to a section in an ELFImage also) """ def __init__(self, addr, data, file_offs=None): self.addr = addr - # pad all ImageSegments to at least 4 bytes length - self.data = pad_to(data, 4, b'\x00') + self.data = data self.file_offs = file_offs self.include_in_checksum = True + if self.addr != 0: + self.pad_to_alignment(4) # pad all "real" ImageSegments 4 byte aligned length def copy_with_new_addr(self, new_addr): """ Return a new ImageSegment with same data, but mapped at @@ -1147,6 +1241,9 @@ class ImageSegment(object): r += " file_offs 0x%08x" % (self.file_offs) return r + def pad_to_alignment(self, alignment): + self.data = pad_to(self.data, alignment, b'\x00') + class ELFSection(ImageSegment): """ Wrapper class for a section in an ELF image, has a section @@ -1243,13 +1340,13 @@ class BaseFirmwareImage(object): return [s for s in self.segments if s != irom_segment] -class ESPFirmwareImage(BaseFirmwareImage): +class ESP8266ROMFirmwareImage(BaseFirmwareImage): """ 'Version 1' firmware image, segments loaded directly by the ROM bootloader. """ ROM_LOADER = ESP8266ROM def __init__(self, load_file=None): - super(ESPFirmwareImage, self).__init__() + super(ESP8266ROMFirmwareImage, self).__init__() self.flash_mode = 0 self.flash_size_freq = 0 self.version = 1 @@ -1283,7 +1380,7 @@ class ESPFirmwareImage(BaseFirmwareImage): self.append_checksum(f, checksum) -class OTAFirmwareImage(BaseFirmwareImage): +class ESP8266V2FirmwareImage(BaseFirmwareImage): """ 'Version 2' firmware image, segments loaded by software bootloader stub (ie Espressif bootloader or rboot) """ @@ -1291,7 +1388,7 @@ class OTAFirmwareImage(BaseFirmwareImage): ROM_LOADER = ESP8266ROM def __init__(self, load_file=None): - super(OTAFirmwareImage, self).__init__() + super(ESP8266V2FirmwareImage, self).__init__() self.version = 2 if load_file is not None: segments = self.load_common_header(load_file, ESPBOOTLOADER.IMAGE_V2_MAGIC) @@ -1304,8 +1401,7 @@ class OTAFirmwareImage(BaseFirmwareImage): # the file is saved in the image with a zero load address # in the header, so we need to calculate a load address irom_segment = self.load_segment(load_file, True) - # for actual mapped addr, add ESP8266ROM.IROM_MAP_START + flashing_Addr + 8 - irom_segment.addr = 0 + irom_segment.addr = 0 # for actual mapped addr, add ESP8266ROM.IROM_MAP_START + flashing_addr + 8 irom_segment.include_in_checksum = False first_flash_mode = self.flash_mode @@ -1350,6 +1446,7 @@ class OTAFirmwareImage(BaseFirmwareImage): if irom_segment is not None: # save irom0 segment, make sure it has load addr 0 in the file irom_segment = irom_segment.copy_with_new_addr(0) + irom_segment.pad_to_alignment(16) # irom_segment must end on a 16 byte boundary self.save_segment(f, irom_segment) # second header, matches V1 header and contains loadable segments @@ -1360,6 +1457,29 @@ class OTAFirmwareImage(BaseFirmwareImage): checksum = self.save_segment(f, segment, checksum) self.append_checksum(f, checksum) + # calculate a crc32 of entire file and append + # (algorithm used by recent 8266 SDK bootloaders) + with open(filename, 'rb') as f: + crc = esp8266_crc32(f.read()) + with open(filename, 'ab') as f: + f.write(struct.pack(b' 16 bytes) will be + printed as separately indented lines, with ASCII decoding at the end + of each line. + """ + def __init__(self, binary_string, auto_split=True): + self._s = binary_string + self._auto_split = auto_split + + def __str__(self): + if self._auto_split and len(self._s) > 16: + result = "" + s = self._s + while len(s) > 0: + line = s[:16] + ascii_line = "".join(c if (c == ' ' or (c in string.printable and c not in string.whitespace)) + else '.' for c in line.decode('ascii', 'replace')) + s = s[16:] + result += "\n %-16s %-16s | %s" % (hexify(line[:8], False), hexify(line[8:], False), ascii_line) + return result else: - s += chr(int(hex_string, 16)) - - return s + return hexify(self._s, False) def pad_to(data, alignment, pad_character=b'\xFF'): @@ -1770,6 +1933,11 @@ class NotImplementedInROMError(FatalError): def __init__(self, bootloader, func): FatalError.__init__(self, "%s ROM does not support function %s." % (bootloader.CHIP_NAME, func.__name__)) + +class NotSupportedError(FatalError): + def __init__(self, esp, function_name): + FatalError.__init__(self, "Function %s is not supported for %s." % (function_name, esp.CHIP_NAME)) + # "Operation" commands, executable at command line. One function each # # Each function takes either two args (, ) or a single @@ -1777,18 +1945,19 @@ class NotImplementedInROMError(FatalError): def load_ram(esp, args): - image = LoadFirmwareImage(esp, args.filename) + image = LoadFirmwareImage(esp.CHIP_NAME, args.filename) print('RAM boot...') - for (offset, size, data) in image.segments: - print('Downloading %d bytes at %08x...' % (size, offset), end=' ') + for seg in image.segments: + size = len(seg.data) + print('Downloading %d bytes at %08x...' % (size, seg.addr), end=' ') sys.stdout.flush() - esp.mem_begin(size, div_roundup(size, esp.ESP_RAM_BLOCK), esp.ESP_RAM_BLOCK, offset) + esp.mem_begin(size, div_roundup(size, esp.ESP_RAM_BLOCK), esp.ESP_RAM_BLOCK, seg.addr) seq = 0 - while len(data) > 0: - esp.mem_block(data[0:esp.ESP_RAM_BLOCK], seq) - data = data[esp.ESP_RAM_BLOCK:] + while len(seg.data) > 0: + esp.mem_block(seg.data[0:esp.ESP_RAM_BLOCK], seq) + seg.data = seg.data[esp.ESP_RAM_BLOCK:] seq += 1 print('done!') @@ -1974,7 +2143,7 @@ def image_info(args): def make_image(args): - image = ESPFirmwareImage() + image = ESP8266ROMFirmwareImage() if len(args.segfile) == 0: raise FatalError('No segments specified') if len(args.segfile) != len(args.segaddr): @@ -1994,10 +2163,11 @@ def elf2image(args): if args.chip == 'esp32': image = ESP32FirmwareImage() + image.secure_pad = args.secure_pad elif args.version == '1': # ESP8266 - image = ESPFirmwareImage() + image = ESP8266ROMFirmwareImage() else: - image = OTAFirmwareImage() + image = ESP8266V2FirmwareImage() image.entrypoint = e.entrypoint image.segments = e.sections # ELFSection is a subclass of ImageSegment image.flash_mode = {'qio':0, 'qout':1, 'dio':2, 'dout': 3}[args.flash_mode] @@ -2018,8 +2188,12 @@ def read_mac(esp, args): def chip_id(esp, args): - chipid = esp.chip_id() - print('Chip ID: 0x%08x' % chipid) + try: + chipid = esp.chip_id() + print('Chip ID: 0x%08x' % chipid) + except NotSupportedError: + print('Warning: %s has no Chip ID. Reading MAC instead.' % esp.CHIP_NAME) + read_mac(esp, args) def erase_flash(esp, args): @@ -2137,7 +2311,7 @@ def main(): parser.add_argument( '--port', '-p', help='Serial port device', - default=os.environ.get('ESPTOOL_PORT', ESPLoader.DEFAULT_PORT)) + default=os.environ.get('ESPTOOL_PORT', None)) parser.add_argument( '--baud', '-b', @@ -2148,7 +2322,7 @@ def main(): parser.add_argument( '--before', help='What to do before connecting to the chip', - choices=['default_reset', 'no_reset'], + choices=['default_reset', 'no_reset', 'no_reset_no_sync'], default=os.environ.get('ESPTOOL_BEFORE', 'default_reset')) parser.add_argument( @@ -2167,6 +2341,12 @@ def main(): help="Enable trace-level output of esptool.py interactions.", action='store_true') + parser.add_argument( + '--override-vddsdio', + help="Override ESP32 VDDSDIO internal voltage regulator (use with care)", + choices=ESP32ROM.OVERRIDE_VDDSDIO_CHOICES, + nargs='?') + subparsers = parser.add_subparsers( dest='operation', help='Run esptool {command} -h for additional help') @@ -2253,6 +2433,7 @@ def main(): parser_elf2image.add_argument('input', help='Input ELF file') parser_elf2image.add_argument('--output', '-o', help='Output filename prefix (for version 1 image), or filename (for version 2 single image)', type=str) parser_elf2image.add_argument('--version', '-e', help='Output image version', choices=['1','2'], default='1') + parser_elf2image.add_argument('--secure-pad', action='store_true', help='Pad image so once signed it will end on a 64KB boundary. For ESP32 images only.') add_spi_flash_subparsers(parser_elf2image, is_elf2image=True) @@ -2344,24 +2525,50 @@ def main(): operation_args = inspect.getfullargspec(operation_func).args if operation_args[0] == 'esp': # operation function takes an ESPLoader connection object - initial_baud = min(ESPLoader.ESP_ROM_BAUD, args.baud) # don't sync faster than the default baud rate - if args.chip == 'auto': - esp = ESPLoader.detect_chip(args.port, initial_baud, args.before, args.trace) + if args.before != "no_reset_no_sync": + initial_baud = min(ESPLoader.ESP_ROM_BAUD, args.baud) # don't sync faster than the default baud rate else: - chip_class = { - 'esp8266': ESP8266ROM, - 'esp32': ESP32ROM, - }[args.chip] - esp = chip_class(args.port, initial_baud, args.trace) - esp.connect(args.before) + initial_baud = args.baud + + if args.port is None: + ser_list = sorted(ports.device for ports in list_ports.comports()) + print("Found %d serial ports" % len(ser_list)) + else: + ser_list = [args.port] + esp = None + for each_port in reversed(ser_list): + print("Serial port %s" % each_port) + try: + if args.chip == 'auto': + esp = ESPLoader.detect_chip(each_port, initial_baud, args.before, args.trace) + else: + chip_class = { + 'esp8266': ESP8266ROM, + 'esp32': ESP32ROM, + }[args.chip] + esp = chip_class(each_port, initial_baud, args.trace) + esp.connect(args.before) + break + except FatalError as err: + if args.port is not None: + raise + print("%s failed to connect: %s" % (each_port, err)) + esp = None + if esp is None: + raise FatalError("All of the %d available serial ports could not connect to a Espressif device." % len(ser_list)) print("Chip is %s" % (esp.get_chip_description())) print("Features: %s" % ", ".join(esp.get_chip_features())) + read_mac(esp, args) + if not args.no_stub: esp = esp.run_stub() + if args.override_vddsdio: + esp.override_vddsdio(args.override_vddsdio) + if args.baud > initial_baud: try: esp.change_baud(args.baud) @@ -2386,8 +2593,11 @@ def main(): operation_func(esp, args) - # finish execution based on args.after - if args.after == 'hard_reset': + # Handle post-operation behaviour (reset or other) + if operation_func == load_ram: + # the ESP is now running the loaded image, so let it run + print('Exiting immediately.') + elif args.after == 'hard_reset': print('Hard resetting via RTS pin...') esp.hard_reset() elif args.after == 'soft_reset': @@ -2399,6 +2609,8 @@ def main(): if esp.IS_STUB: esp.soft_reset(True) # exit stub back to ROM loader + esp._port.close() + else: operation_func(args) @@ -2497,7 +2709,7 @@ class AddrFilenamePairAction(argparse.Action): for i in range(0,len(values),2): try: address = int(values[i],0) - except ValueError as e: + except ValueError: raise argparse.ArgumentError(self,'Address "%s" must be a number' % values[i]) try: argfile = open(values[i + 1], 'rb') @@ -2524,104 +2736,104 @@ class AddrFilenamePairAction(argparse.Action): # Binary stub code (see flasher_stub dir for source & details) ESP8266ROM.STUB_CODE = eval(zlib.decompress(base64.b64decode(b""" -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\ -neIoDdsQM/v3/wLWvxs5\ +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\ +nORxF3HqX/8XohBRvg==\ """))) ESP32ROM.STUB_CODE = eval(zlib.decompress(base64.b64decode(b""" -eNqNWnt31LgV/yqOIU/I1rI9tsQ5W5JAhxC2XcKWEOic3bFkO4EtKWSnm7BL+9mr+7LkmUnbPybYsnR1dR+/+xC/by+628X2o8Ruz257nfg/5WN4yvCpOpzdZv7RKP/a+l8/u3VZQoNazxb+Lzxl98+O6SvObP6f\ -mQroZTRBfioTDrLoKfpp4aib+M+OKGnY09Jz5seyfNh7F9bEXG2ssJe+J4r8ujNbnF2v8o9kgLjK5ST+vUx2svUnybIDYrULfKrKc9IEnrs2kplb2tMY2jMMIBNnX+6W3vBT4Vln0WpQavuYCMgvo3NE6t4QbvIU\ -PgHfT/zDBE6iw0m6hr42E5H++RGJqBdRFYdAFj698fNg1J6nwNNrULU/m5vAjJyJguoKkHZ6cO5f1aYfLyIVZ/wMx5oAhdMwGHQFcpvQijYffTy6HGn6GOW5YKL66DhlVbvsUQmEjky6JGgRItglspstGSm+mCyS\ -NaxBb3KPI8MR7ZTx+8GBPB0DE7xGjUiXA+mgLJQwCKiGh0N5GA56Di5x8gQsT40+7Pg/VZIsWKE5eKmr7sEnP7nraLJV4XkQc5Nv8QP+FuSRYAtobZ6cY/sA6+5iq7cRWRup1NC/Fn78PGzn2AON16iySzsblioI\ -Aj6CrcOY4bHgQvnfWO6eH+1GxznmL9EGyLmKOGR6poY9/hgv13RWPF8WvLpFD6/J7ZWZEjZl2Vc/DezCf1Egaf9lMfZhJr0CAjBQDnTuxgsTGGrVAI0LPnoxEso5b2vTLSYMAOpV2BrWOjyXghfe5NzYHN7SkjEm\ -vdwH62IU9H8aJHBeZhPH9laAv4Onl+9+eDmb+Tm6ktUdSYhc86lf7b8okbK+T7JD6MnJ9ETsMciCWlQJUioSz6jNE0YSxoUu8mntHqVkU67c/Sty9ej1W/gHWIajgu+N0WAcotB7P6Ef+Rjz+Pg+nh/mpySJJoQu\ -kWzTElzrKAQErr6dXYWg0znyI0RyRZba5AHlwX+UAKAi4bRdFGHyCEqLZXcOEbpJYjTNOTrafINngon3q6gcy7LJ7pGRLUcpNCAJOpnE8kbdRmxyUMTjZXLUE5iZf4BX1NVhCs8FcgYe2UBYMXt7tK2mOSEb0OZk\ -9x3bC1rV/uyK6bsJ82tG/D4krBnCeGAIgBnVlpMR4rSOdAHfWzvOSEaCkTmObb0Y08a1QlMznfq/0Gl5Trk6ZzVDoJM8AtpVQBChJ+/KppxeWQGvnLF1bcYmz+fxiwe4Fsx94u2/1d+wJxgXDUP8hPP6l2pjg3gA\ -qEIFR1nkyEmrgJMQ/CsOJehFL58AoreclYiGVJgWUwJvgh1kvmVHXOGiWF57kh4gfJ45MlZ0CHZdG60GYG8ajgndGh3CuIlSHytrNoOVooWQ3BGd3LIWBh+KrBN2dO3/sojLWF+f4pdF/HIbvwBIXTDWAZ6zi8AW\ -l+wsG6A2E+GDHLHp6XxaPwdzuA6SQi+tHs6uII5oe8Hz7tAcng4B6JkXOAzmUw4bqPQ6nhIv/TPsciroBbq3wtrrD7RIkses2o+StEFRB44ETMcIdQEZz/xS7K9KQCEcbABgVoMNY3mUYaAUJq/g9NVHYsM0p9PZ\ -tXCyKfKY+x1xC7ZZDH9sgQhxvCPxQjK2KvE6bmpmyq4414f0w9Oa0NQ5Thxwt5ft+kPr2n9uCtqii6sJlllbrlee5COK021M+vIdPOIvbGU1ygfqsGo6u4IDT2hik78QmOppa8LHr5RMWs612nprOtsmJ0OR9J/g\ -YzJ2y2YFWrtwFFyarfNPlvgkSJz8+yGEa1R5cZfzvQKmFOwLB2rVG5K47ijJGkqhO6o7XxB8f3z4HJzvARYBJVrA4oDNh8oEfSBl/JJWlgtEMEM9AvODUQW7lgHCyywqT7YjCmVUrAzbMwvCdFRIAQUbyqWvl7xv\ -xzBzLjnhwd/3MIjonGOJcw/x6Tv6p6SaEBeD/VINdpCRPn2MOR/Q6juKtzhVlbQc6hXFya1kkl6iVylEK33EqYiAwQq0bFAowyqsZU/EGIs0j7CeeJHWoN264wwRd3hByO1UshklhRNBhUPmphO2OqqbhmQclO72\ -INN074a07XkIfd1Kpgur8YApmTgMRHVi4Y042UxGDZSCwfEuf7ZrxOHMKMPUXFQ4gh7wJ5cn98B8UniMmwYJwQokchn73V1wAvJ2fMRWveIto0Er/s9Sb6Q14gZf7ddICGuVztNriwcbTK3zyrCo2xM7rqABscct\ -o1tW/2ozikdVZQ/h8JYCVqbS09kCh9TuaU8FtKpT/lrINOw9QVNCzdOkh3aL3gH3i7jJd085958EG9FW7Aw27UgRaAJEnz1ivAXn0XmyEZASklNIcpQapxywoeM5Mt4BKtIgGDdi4lRMcjg4MdjmcAwjaWlFoTHL\ -LvK/4Bm4IB2govo16SsZ72QQ6mLdb8k4Rgo/1iD+9FI1V7/j6xkf1pPR/ZBe3jZ2sBAAjCWuCIwuMD3vfw2MaRdRwDm9LJyS5whNG9GcfhEOJfd2ox1dZWi7HTDlYfCJTIYBzwsXif0St9/wplwQyxI1mqYriacu\ -jRhzzJhBTOXC2AduiF7Vvt9zIWMZjVF1DqIwQ7iQKUsbbsbfimhTqDDVlKxVxAWVL1H/VpL6fXTdQRlbnJKILlnWGE7LOHptEhz4/GmazFOyblXtcYnpp9dRqMTmEpSQWt0sA8QZJQIKHBBRCdPhnDzBuftEDWqD\ -QG0O3JzRWfqu+YndKaoBG/712Lz8x5pNW0TO+VPYaNjxGbdiV0gR85crdN5B7rTK+Zmg3pTSmWxIzKUtEiQ9/TlY+zA3Y6u3kTI6Jzb4bM3XthZVNZFJZGorTMuquXSpMM3AltZzBpAmtjLH5bgy4iY/cudCU/N5\ -m1CqsaGn5dblRmB0JXL6ENY9gx0PonBbLW/YoEjO5KqgjrZMSGKKSwsHLe3G8D0EOCPEJWw5q/dQdrf5A5iJO4AjFPt85uoktCRVTeuIG9TfIhZEdcEOj2J+TrXe9s5bAnnopPbYMurJYM0A4/Nd6IJYAm1wZ8MF\ -hBVEZ7lJ/ig7c9vV0CxrwdrhmFiM1nsUp4cIM2G8g+dS4kDF0Yal1eCVRcJGAyPY5K0SmV9HjCs+TUYPyZwgBHfPdqmzQ8KaluMSBcSIfsqilL7LkjAHk/qDXKZo+a4vgslx1WixlbwD2VT1IOCuJhjUHBNMH/uY\ -gN00JNP9Mc9sCnGijSUnQu1PAt7FFz9CgGNSudaj6aNa78JRXMqk+8rizorYIbj/7aILssjQxIg02xpoowEsMZDpGcM5YCTtVwzUUAR1H8HEWrw7kllwOVB/+yci2UnVMT4ZEOoeDba8Tz06N/S99ijqeHUsXqTI\ -xtULqu3wDCah6zmy4JxeFLbEU7JtmAZdAUxPK24dxEIcBaV2HNFEbqtKW4a1vk/4lgMUbWqu//1IJ6+bZCI9ZDSI5XopuerlqqFSF+BfE0qFpq+RU0yvpngxsiUJi7KhhpHbkNUk4fuVIK8gmwhJhqpChqTKgLuq\ -CS0wbDJ0XK0UnKkP0arhPJYnyDPnu5cMT3A4LcYsho1IMm8nDA50tcSNZUvYjD0avG+qGM8VV2Hdmn5rwZc2EdNhzpSAOq62SSR4dzAEL8r+wH0gPGySd0gmgPVyJ/12yc3TODEHdIVzAd82oWnYxmImydo3/825\ -dm+Eor0r1e8l1e+TVNZbTp/EYg1bQsdXORbJfqYmBrhpl9/HTRqi3GU3oIRreK1uId9z5qYKBgkEwfFb7qw5NVyFaxj9zADAl0CAOGAqVipg7u0avunopbLR1BEHFpyMcS/L1qta9bK/AlsAB9KfJXiR+VgDoxIj\ -Ld88NXDP0GjuAsFcdFgOfA2ghuWbNxzA1sOnQBU7Ew1xh71+kXAb7hXw3qRiLIqamiSwzX/GgvrC6QHUFdUt6NbdUKise4yZNxzjqxtqlLUDUglS1rs/gLa12O0ZWs31DnMBaGWLIdrFV3QDHBMFRvyOTPuMslLL\ -d1t4I9etNsC1Ds5tJqtzcHyN6jQ3bMi4d+qANZZjglxnwEzbBceiPIwp52soi8HxtQyGK1CBnpIe+t6X3Jf1HEvjcDFsS+ZBs/FVdNfK1wLi9fSU85GpCxNnntUQHKcRKOgb8IQLCIRvQM7PGPQorR2irvpt+Twf\ -uTi8mvPVGEbifLge3Y57LItVaUgHA4tmAjc8/QDB7/m7k/QHRFD9himulfz2zSVshHaXb0Al1L0PCYz0+I36Mcpr9eVQYjo93wHmP+Lyd0zU4IWlCdurnKYB1Z9RTWjCrwgfQJSmCGaw/hbFyK3RkBPvMGayA1Lv\ -JA8yxwhexcLCjtlX6nPQLlsc9CdbKT9VoV87uvrLdu/JXkDGpdx+y6qlvLR1GIdN/P+ScO4+jcTHG3Zov7Is5DB2tDQNjITlvGQsru2HCf6/sZ9+WTTX8L/HVFaXRaGqUvsv3dXi+sswWGQ5DLbNouH/ZhY1f7f5\ -S0yomEyqQut//QdAk8Ky\ +eNqNWnt31LgV/yqOYfJaskeyPbZEz0IS6BBg2xIoIdDp2bFlOyFbcoDOQjgL/ezVfVnyzNDtHxNkPa/u43cf4vedZXez3LmbNDvzm94k/k9xH1oKW+XR/Eb5ptX+s/W/fn7jVEKdxsyX/i+01O2zExrFmfX/M1PD\ +foomyE8roUBFrehnhKJu6ocd7WTgzIbayvepbDh7D9bEVG2tkZe+pR35c3e+PPu4Tj9uA5vrTG7iv4tkV22+iVKHRGoX6NSlp6QONHdtxDO3cqa1dGboQCLOvnyfe8NPh7ZRYbUDofb3aQP5KbpHJO4toSZLYQjo\ +fuAbU7iJCTfpahqtp8L982NiUS+syo9gWxh65edBb3OeAk0vQdSeIDeFGRlvCqLLgdvp4bn/1BPfn0ciVtyGa01hh9PQGWQFfJvSijYbDR5fjiR9gvxc8qbm+CRlUTt1t4CNjm26wmhD/6JeIrlqRUnxw6qI18oc\ +cstE4kBKi/j78FBaJ9SNa/Ro32LYN0gK2QvcqaBxJI3hludgD08egNrp0cCu/1MmyZKlmYGJuvIWDPnJXUeTGx3aA4/rbJsb+FtOWLqgZ34vx5oBet3F+t5EezaRMC3928CP28NZjm3PelnqZnQscZqgigZBy6HP\ +cl8wnuwfzHRPj3Gju5zwSHQAUq4jCnk/W8EZ9+Llhu6K91PBnlu07YoMXtsZoZJSX/00v8T4EQ1s9iPLsfXy1mvmDx3FsM/3kcIGglo9gOKSr56PmHLOxzbpNm8M0OlF2FoWObQLQQqvb26sC69pyRiNnh2AajH+\ ++T81bnBeqKljZcvB0sHGizcvns3nfo4pZXVHHCKjfOhX+xEtXDa3iXcIOhm5AWF7DK8gFl0Al/LEE9pkCWMII0IXWbNxd1PSKVfs/R2puvvyNfwDJMNVwfDGODB2Tmi679GIvHe5f3Ib7w/zU+JEHZyWcLZuCahN\ +BP6Bqp/m18HddI7sCD2AJk2ts4DvYD9aoE8Tc9ou8i1ZBKL5qi0H31wnMY5m7BebbItngor363gc87JWt0jJVv0TKpC4GyVevNY3EZnsDvF6Sq76BGZmV/CJsjpKoZ0jZWCRNTgUu79PxxqaE+IAY5/svWF9Qa06\ +mF/z/m7K9NoRvXcIawYHHggC7EWxZaSEOK0jWcB424xjkRFjZI5jXc/He+Na2dPwPtX/2KflOcX6nPXYgG5yF/YuA4LIfvKtm5QDq0bAK2Ns3RirSfs8/vAA14K6T73+t+ZHtgTrom7wnHBf/1FubRENAFUo4Ch+\ +HBlpGXAS3H7JrgSt6NkDQPSW4xGRkA7T4p3AmuAEmd+wIa5Rka+ufZIeInyeOVJWNAg23SZaDcBe1+wTug0yhH4bBT2NrJkELUUNIb4jOrlVKQw2FGknnOjaP9KIy1he7+OPZfxxE38ASF0w1gGes4nAEZdsLFsg\ +Nhvhg1yx7ul+xjwGdfgYOIVWWt6ZX4MfMc0Fz/uO5PB2CECPPMOhM5ux20ChV/GUeOlf4JRTQS+QfSOkvbyiRRI2qvIgitAGQR06YjBdI2QEpDyLS9G/MgGBsLMBgFl3NozlUYSBXJg+h9uX74gMW5/O5h+Fkonw\ +Y+FPxCNYZ9H9sQYixPGJRAvxuNGJl3FdMVHNmnFdpVcPK0JT5zhwwNOetZsvbSo/XOd0RBfnEcyzttgsPIlHNAfaGPRlu+j1f2Mtq5A/kIGVs/k1XHhKE+vsqcBUT0cTPn6lYLLhWKuttmfzHTIyZEn/HgaTsVnW\ +a9DahavgUrXJPpnj08Bxsu874K5R5Pn3jO85EKXhXLhQq18Rx01HQdaQBG1AWoz5u/t/Ozl6TMZHwfP9AmP65SFrEKUJmG4U91cSvA3ZIWiiGeH54Sh93UgDQebw4QW5E+1QRMnKcDyTENEt4Spv0oR06eslH90x\ +2JxLZHj4r310JSZjj+LcHWz9TP8UlBPiYtBiS5dQJFXvac4HzPqZvC5O1QUth6xFc4gr8aRn6nUKPsscc0AikLAGMFvk0DARa9ke0dPinseYVTxNK5Bx1XGciCc8Jfx2OplEoeFUsOGIqemErI6ypyEkB7m7fYg3\ +3ZsheHscHGC3Fu/CarxgSooOHVGqmHtVTibJqICSM0R+z6qbDexwdhRnGk4tHAEQWJXLklugQSk046JBQuAC4Zxi6/seqAC/HV+x1c/5yKizERRgrtdSGnGDxfYbOIQZS+f3a/Mfjng3QO0GZXt1e7jXJec/5afR\ +dW84qHKkBtz7NvTqLD3iy4PbQj1xu9iHUe/pfPn2dDuEg9qVF5QM6H4W7q+GDfKGG1iegrqFXqRJfwyNXTDSKOvP9k5n4yqRdmnqj+zGmmUa0U4gdSJucziS7Wh8KsfgWcKBHUYDFQVIWsfhiiBfHzq7bhI6MVtC\ +M5hJPt3E7ML6zg6VHBSHthYvdZH9Fe/AyWzNENSXn5K+lP5OOpGf/bb0o5fxfTVO6CXjLn/HzzO+bEnQzaEpugbWK5DZClUEYRcoy/5TIMw00Q6IXn1YiBPysG0TbTv7IkRqEeDoUFdaOnEXbGDofCCTocOTwzlm\ +v0Lwj3xoybUFXqJH00z5dNCdiDDHhNmCtROTFY3OrzzwZy6lT1EfJfd42T5SapyycuAkHsujQ2FAz6jCIexCW8Hd70lOcIA2X4qn2OaIRsTJvEb1M2PvB6pYI1AsZskiJR3X5T4nqeV/ooQKfpCBGv1xFVnOKAnS\ +3TEbGkbTGbk/526zpuhgnLVagD89o7t4DHrDFhWlkDX/eqx6Xm04FGtQbvEQDhpOfMQ13LWtiHi3YR8IgnSzTvyZIOaMAhk1hPZSWAnMnl0Fne+zmM29BPU8KB4XDXR1tG1EWotIK5TeDtNU+YvUuTBKwaLYQ4aR\ +OlY0xwm9tmIp/+Tah6HC9U5HJj6UxPINcRUoXYFk3oFFj+C4P0V+ulw9rUZ+vJQ3hio6LyF2ac5MHMf6FLZ6ZNUV+TQsV+u3kLi32Q8wGQ8BW8gP+M7l41DU1BmtE89UZ5RWC2ngZWwtbD4hF7ez+5qgHmqxPRad\ +etJZO4D5Yg/qKJ6xriKLtpyCNALtzLpBszNJ6LFwa2lW04DC15bT2WqffPzgZ6ZcsYB2Id6gZJ/DDKvxuSNhpYEeLBOXicyvIsI130ZRI1kQKuPpao9qQ8SsWT5OcjC9bQMrxVWvMHNQqR/lIcbIuLkIKgdZsB9v\ +kOW7EIkhujD0GkJCMiDOvVQ4mvButj1Y0olMrATKkxUbQuFbBmuSCa2Kh9asmLPKbrTZ6Byu1TJrMQmI1c1IzMoPaZFSicIY1ivgfA24YSEitJbDpYizzym+Q0F070CdWnxjklnwlFD99GfaspMEZXwj2Ki7O+jt\ +AVX03FAl2ycn41m/fJoiGddP2d3DHWxCz3ikrRl9oNuxt5mLjmoIGMZGUcOAebEPstnYgQ0BZDmO15RahbC+T/hNBAIJK9UC39PJ50QCsjPG7WolnOrlYaLUF2BL0xD8nCGxQ0yFjynbJUtfVyHjkReUtcgAhp+t\ +OXcNUUQILnQU+2jFod/w6iMveh0nBKxcwUXVHDB2UbmhG8XqAEhwRcMeSEvhDLFj0U4ZDug5iovRDQEy1nXwjapkEIczpqtEcDSb80NPRHSYM4uK4sws4ge+NwzuikI+cM7gEyZURhX3j0XaTmr0EpOncUAOeAr3\ +ArqbhKZhDK9EA0DnJ9+Y0f007Dho2eZQv5dQv09S2afh2En01zKLW34GajBE+EA8BOTs8FXn7QfgzGeQw5f6BkI5Zz+zHtjoKQAQoOWCnNNS9QJMbPUHCvF6fjsC6MEijuOUmUvClh9IeklqDCUWcC8nfVwCa/J1\ +wXqIugZ1wPfOD+KxSIMaC73iGBt+sKrheaI2XDyCuWi57O1qgI+GH+ywA2sV78OuWMqoiTp8IhDmtuE5Ap9bohxEaqHEsMkyZtQXjgkgnyhvQKzuM/nHqkdH+Zkde0mPnVBig2IglkcH+K32XoAt3RM1OYMIo99l\ +OgC4mmxwcnElZCXAd3bvxQye3YLegaKfUZGgYUdrN5mY1CPY1K1an4P92Xo/KCkm8t1lxe+RwL0uLt2a9o/NGjBjdU7HTlAi3CYyKQnkpNy8Rq9oLj8LoQMEWZoZmWDf+0z+slpgeh0eppuCgZPXO85w+FlCEIRa\ +2QRELfWfOHQtB3c74wAHppnPcOELcK2vQJqPGEBBTpEfBwsc3+cdZ5fXC36aU+W34W12Jy7t/LrOCnm9U1JXgcLFDohrvZRCFXu4f/kbRsevJTR+dQkHoepmW6+g922IcOSBweqXUYxiLocE1ZnFLlD+Dpef8qYW\ +X0ttXMmhabDrUHElU0gheOW0FBZvfr+x8l41xNK7jLhswxiQuCxwG6OBMuYUVum+UomLTtnmAGK6nXKrDGXi0aOj2rslZ8E2LuWSnypX4tnWoTe38f+FwrkHXKOKrjec0H4luB0u04yWpoGQsJyXjNm1cyfB/6v2\ +y7+X9Uf4H2taVUVuc2WMH+mulx+/DJ1FUUJnWy9r/q9tUcF5h0fijfIqL0udffsvV73qkg==\ """))) diff --git a/tools/gen_esp32part.exe b/tools/gen_esp32part.exe index 6f939c7414d11f1083041c705b3ea4870d394c3e..55b8436a99fdb01d868ba41d947262a74786e059 100644 GIT binary patch delta 538870 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¬?_=!{^a^od4~AMA+zlnEqRreSx-Da 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

O*QlB!HplU}s$K~b6TAB+SekdJN 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

hoLXQ!f6lzrQQGUv~Do`gyDG^{uz4- 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

e7o?JL0G;+eYM4sdYuJ-i#gu@ce@bx zY5Jr7oGuo=4|NL7-zPD(TYp^l%j(QQbK_MfjywF@c~GW&V*kQF3lnpC@(()*tjRwd z@FOVNIWA1+sG~^@h`QzAu=tk?(!vn?$jnQJ%qC9IV-zLA6*V@{=m@5?Xj@0x4xTs?JUI~ z+XW8RzkkT~di&kBgTI9N6MjVHZJ3uOwZ?qmx=yFSLNI|+1sr#+dxBSJJkaCO+Til!(yzu7 zIV^rL5l$wxvkxDfICHmr&gmPQSj8iwz8RSv+As2M>4Bny8<=XYYPa8f?#dRXAf_-! z=*Z)px8$E4wm9(L<95?y4Kv58-X(uptT%1_IO%_Jd*Ns0$e}qZ??Y1*3!+P{&r|9>eVxO4l zZf^J9*DYdh$*DCHbA#n(y6M#nOmcSK3wyveQdHl0~Zz!!_eoe!7(th1j zO83@(v`^0Pn&N11{6NDRoxgK6@_gjqK6-O-fx$&i&qoJ@{M37rxtaT(Zi(=mDZpIg zRMft4tEZRpCrbIe&KM{NU+V^*NctSBNgS z+cIq<OHc7D@Tqb|+&$;=W>sLhGW*8&+~+T>UiVpU*|Q~P?QG6AEMa0AUDqcrvUswp z{;NupklFePcO!!oIMXNQ8%^G)9`$C^68;zK4@V{Yedo@+!QsNI)o^*n>z9jlg4bB2 zu8YdnNsFFyOhWpIm+15jMdqvDOKDHASzf`n#r53Urc16N9i@8X0^2XNzo8P5{ zpV#Z-TVywD`mH(AD;nZ&9p%5w7pAU$Fy-B0warWZw9Q?}`L}=d%h0J)-*l{&DUB3a zu}@?UQ&Gvz*fVEtMwuSSs&G%5dfG_d?Qu(ss@oaY{{qtuT^mFje|3nybXm_3a$<(U ztO=ryZ?9hoY^axT{Ci|u!S`P(@)q}(O>B5|YVjlPtAULhnzJnDw!2L`ar(vazn_Gj z276j+B`nJ}YJW0+ajcB|tn!?XEY~JQz5Hmqf|=*YQqd_%&Bl$+j5Z>>W?KmVkX_gC z_|^oI87CuBc*SNiZPziKpnEqcPA1UUK&|rHs;#{TwuhO0Vsw`7sSk;KeK{zuAZh2n zi2V{xaze9e?51DdGErf34fpyta?r%Tfvwu@eTE52?)p1sNv8ULWV4IDDuZq3ODJ=mI_B|H?~^Wlrl2hE7* zZ?xExcU|F{&lG)sy=>y!-)j@=H^0AcGP72_pDBZHljDxPQm@Xhmp!(Ey`M?q5)`DwU zaue#U)up6vv0iMr`_Sd^)y-8(Qop{qnaKRK`;>B8g#U%!&wIv8yw_oo*;c<+;i#+dgye`oJ0Wd{F2?De5&VA= zPd?OOIQ3w)>d67|S9pc%SoZdT6R5 z{b{kv|M$WtrZ!|uR#Wkrkh7xb@pFx4zm>sD_)3H&9OK0=Ur+gEHGki+%hy>wY(fqu zw1&;S8`S;2-b3Jhfz8Z+{RmT`tVZn8W-} z-{RgWvzq1{=0c7i84bA>2X3~x9W;|MxY73U?j~Ntrd)~q)OzV-!nYmt*bMRy9!*$w z^(aI8`9sQL+Z=7%-xq0$ZBt}r{Qsh&IrqS{RT0ajN~B#5YrMMbU)ZK}v-h%N^6rNv z39sd?WEV_p-KAnBD{`!Gc{AG*9hur4mk)-Sms|bd^HSk>iPeo%t<9^PT8;`k zMEqGPZza3JA~aBb#ndVFi5vOsrp)~{A!71+kB2p`K`ikT5B=;4REwWjzRfkyZjSzm z@E)aoN~)9AdpI6l^R}pY{eh;4m=B_wJ2cf?KZtI45#bmow2pa$MrLNck;A>B$?GdV z>v*5esW}?pakMwW(W&O> zzi+`W&f3&_4oZ+nB;*;0^c-OP;ykgA6q)(#% z)~~HOdRQ)*cfu5|C)yK^KP`S0!4f}l>%9lsYSk?96H`8j=8Jqk5nf|I@3UyMWqe^{ z@A@4-DyA%U`2Feok?h!LSJeOh^=gqvbz+t27vG;ptS8Or zS^bZFX3ya{Cuc}7`y7)ym|`NOb8PGLBC*8*YZF7gxOP;evo|d;NL8NS`0dE4S2<>m zn-lZw7OZQW?0U*>r^hNEjd|t8fxikX^;%+5o_`mbEqI(oKlB}Mz{M|Z?Rvg$%$*^f zt0L6;YOW-l;C@_M|9qdbL(!Egq2fawQ})FFGE?wqV3Dw1={O_j%(JWDY5me7Tew(33q7Cf-ZVwCNFB`Eux_u&cl?^i``h0izN*%o3IA7j+swc&G- z-$xk@b$_#;yzdr26nk<^gL`M-9u1S&11tYC&y48~e)dXy_Vx@3o|5{u*&ihHIWI^q z?l>ory43i9Df6QR1*jWN5xvp}0z;Mn}Kx z_`J3ElOGz~;xAm^mo`0>bC*c^Gs8K16q1&mnDf|3t#j_-j>1UGp0Fnd0TZ`n=^aQ~ za82mboKwcXJ}aCy{(3-gHUyN?n z557)Wx5riKlNht_Q=SdKHMGm>s}{IgRdu&+-|?dO$U9|^xI({bf8JwKNUv zKYaXa$%L087Y|N%Wsg2qFw^dMs+G$Lk;MjztNHIqPJW?Yk-nseqtraC;A_OB3%#b& z3mUBbf3M{rZE#-RN6BFn9o(_6pbTA{O*lls=_P_bd z85d7v=*~BL$yvg>=Fs*7tJwD(Tc%d=`1B1Wopn;d`(6sHlbT$#^|W0x@2Wpsum6b56uM)X#}>p=Ci3>Q_(V;{rR*~&sl;r4p>Xd|bz9i- za+iwSmf#)NkJbA*E_-8eVoI{hvV>(Prk%8%sL8zleXCFAPrXl1^!rW(ZY$aG%ErGg z%lL?HlLXhnuN-sv7bR?ekS<*J?ub9H{r3mY!~V2fzrAI-9!L9S`>)Hg;x{o}n-cE1 zsCu?l#rL?k3*Iq$8g;LHkjflX&Z@UMvv|932Zx!l>h|4j9V7cDohKC)8duk?ik|DJDZt2gee zG8eZtYvq0XKyLAp-AiToUe$j+(6w>$G|tT1d9$8WymHmp!)W#F!u*F<`?iFx{+P8l zLbuByzCkogQ1sCMudg>u%KX&3RQ=tw*PYUvt!LzuHcU6}WzEd90@TCc)4X|7?65 z!@3;z-<=oI|5!LoZ5FS}PM>&DyC(@h4HF6!Zuu|RBPjpjvw`)EF3v37DV>cEza@zz zWbZIy-64|Nd$|7Fj|6@r|LWhfmWRkF?R%V<|7Es9ekq5vcZkVF=5yf|tFDS>1#fvk(JS=s)cG0~iYR!}V6MANQan5-gwR?_I z=(8=syIwCS>N#`2U9k6Gnq5}GgHz%C#xp*hp8j;p`U6d0BhI}P5U*zw$(W?qxGCL_ z>qPl_zf$AWS4O+cOJb^K^V(|Y^4BO<{=OHsS^igEgPwHR1C`rsM~c|Kh^;<%^;7$% zz{UUNy0+ZYxBaSW_da$(!Pa}4Yh#*^zn?U356}IC2nBnFeU6I{B)V75n45j<_w=CM zwi~|QIW?d4b!2P}BMF4cPIRG~1hVUy66hB@Er z8#ZyJ3HqKYU_Hawwqw8h(ja3q^|EJ`I@>0h{OYgkN&2v#vvaj^{YTL?TRsKYh3*kr zuj?PYMZ-OD;frewOK%pvE4G?$ckT9k?|G%l-D=_U>csXbF8J6Uy#ByF3GPo44=+#i z_*cJ0ct`C>yhi&-`%Lr3CB>@FJ*q!CwMqH$IA|J%9EzJAM9HtDwn`tmlbo)XQ;Je|`Ma zaGgR&Qmct^i0GUmlbv?$<~-NT_gDn978{8#;+^K_H?cVF(!^airkuI3Bhz&sr%&qH zGa+S_{fE}@&h>sB*tSt_8)o(6f zNIp1OQd(-)Ma_ScWnOJJ^m^z2-*eG&*L?yT1l6a@AM>~H^0z%Vdq(&ikt3EXE!hut z???<;_#(i7<7>uy%cB|}MNTchtZyDO^U(S=@*e9yyi>5&yyJQ<{Ltz2)uKDt!jC-> zJI=CPCfWOm)wlmMZ|=Mq<*687ue$g7(uaYS5j&FRR=&>e&n$iznxXop*1BYwJ_q~Z z9EpdY!Vl!nd3MA@{KM^yK3jaYeaY0xk2HPxC-KUIE#Gf``JQ_qxmAnLbz^x~Y_MN= z^9Ih$RuOX8n@3XDs+_;*@#K{13~Q0P(4lrr9d*{MA>uz=*wm zx#hVU!~H7zZ1$%Z{nk#em-=me?BAuj$?=~wtkboQ$K-Iz9bcd+cs0@rs)f%W8j| z{170;7jbg_P5F!{$*VJaU*wA1@r?iTZNt6kynG>R4_k#jdam~8ih#JxgB=eFls4Sa zdem=ZGi&a#{QdRJfrs9>SbJ40Hu>(uth(Z0>59+aCfL>tE3QPlYD`ywrO>#LZ~i`;~8(wK3b5zCzs` zp{H4M3nQ*w@o;Khaj;PvJly+?qO<8wm^i@HjPnLzKyK#YJEEK4}_o-qEUC zIrFX6lPyL^WYu_nhguof#XJgb-aIGfnyAL4>PxSuoz?V}et7nC=)vY4k1xJ_$u-@u z?z&6~d$`+SW&hnrtQXwl@*1)>KlJfc3- z3$~yAwW@55*H?G{gz!~;U#x_ditJIo*TnX4f}J$awu)<9_dZBRqVm6dZtU!piN>oR`IP*Ois^sx>E@1i7gbrFY(6mAHR3RzaO}Gc zi%-uiRNHl?%lP8ciXD187KfK~{;*SAmtNAzy6*C zpJj5Njd+b_hWXuO1&^pec{_H?-9~pNay>0>-lG1>t(?K}-Gdt+!_^r~lN#r)Y53=1 z@66`IdGY4D9r}oe2Hz|qdFA%<7E-yXz;*2lBJYk+QnRuFV5BTL?=eCjYck0my*mFEV zLaR;l{L>jiJA~8(w(jAa+C44mz|=|mdG_dJO7U#CsujAaazbkT%Mw9f*L@6glFz-n z;V|o;a`eN`hd91+mxyQdnTRg&a%YK)?SAlK_e`esRj&(MkMt%up4Xk3l6kVxEZh5> zfqe6Szs-_I&s`|mEXc&VzSrSk^hE8ht!w&X#hYtRug%|j*XnA~>lYClmwo)bJ1ukP z_pZ{j_Fb_n;^neA*sgIb`%v#&y8OShoH*mQ?NJB6WidwfA9GOAy<@sXf;l_iwXp6n z#i5{=6{eit>-<#5ez4 zxN_L@p5(i%JP`TU^oHA^CA(d?Uj6%aL8N=Zzk5DSi)2f72!zaf!v0=#_kxoC+x1ht zyS6>6JM=mAER&JIy!B=uYfO)SPI~g}1)Vq^$`Avmw zcUGP&`kiIN_-Fn<|8SSjHoxvX-f-z~&6bTmE>jMjWiexE(=6F-zVFMC*n6{?cD!m| zxBc+p?e*<>XDc+$`U&iLS8nBDs;TltKZ7Z0TKz+}g%X#3_q1P_zvTVuZ!90&H9Ef~ ze`8tqlT+c?IlkBDj+|N<9L;=CNa_}2>dc)n?b?4%=;o-$HU6!)ou{Md_OR1ARz1B^3w*X|vRnA2ny=knfA3}6r@xENd_B7M zJk!1fVrFrb>jGYw-^yNNowc^GW$m$y6(4<yT4}Ll1_%hLGw8cc9?m7THoe( zE$!6x5A60g_POjkyJg3D*=@eBq+YL8wO^+A==H)k+s@Bd;O`zwO;d* z^j0tYz0mi2>3*dRON*y1owU7fOV=Z%(_J6Z+f%R3TROLJ`^GH0gX=CPZj)U7jC@q$|zLd8!tC(rMx6U)k`*8z*wR%Iw1beGXhyE{_UbYyb>8nN<=-}{YEq!N~{SjV$iFU$0>9 zLn|IXD9@O+_FdoVLrnV%f=-8Vt>dc85dSAszhl+ZBcX+VV_cu9nC@XJt>9q)aOFG0 z-idC>{jB?vRiFNSf2Muv@#nuxSN^`VDj_kZEH&Vuqv_V#SvB8GDsPxnzA&*&oOLIE zmX7aiHO=!IS2H`;Zk-okQnPdYr%?4}>u+WVn4iASsjb#8q`H)z3HX2fukA{q6c6uR6~wtADDV-?;y6{hP*LRUdE1tymvlciZ@DXo|IZ z?&@<_#pIZoE3$9AekB|%-M4X4QdY3W#+)won%p_t#3dGZCR!f*o-ya~#{6ghSF^o7 zE7ts#ulr!t@}mj8haUv&o@-kG^&UV>@Vdv`0X zh574CuE;sM|Lp9$bSI_f+tw}UgT&^}vc`X}E?1c+_ivlA z@%*+K8~r!W*qHn#?TuKsr1h1xlGW_n&HvxcI_Bo{cbfZw1a19><<}z5+*n<0nrxq8 zm@NK1=h(cP&63r7?)KPnW!K-x7vlZ>)}{G)(y_elGd9k?(6e`c_#(!0ufFb`v2o)8 z?>jwzrSp!}O`E-O{*$yf$9GCrTbd`^pE!G?dY5tXV+H$Z7uHJt=Ic?}Fn_YZ@7%OE ztCh~)czn=v!~CN?YZpd-PE0(O_v&U(?fLzw$Ifk>z45y1jE(cR&fYlRBGtIeJT0yM z>&7x8)k15tJ;DX7@4khm9A784JFS+#>`mbRO|rk6PyTncF57yyFZS+U+21E0&t0B$ zT<&}R?Tx4NRqs?k_T5_^=-1%myb-owQ;^>%0affw>HXKwA@&bZvAcUp44a-Glvbr{}mFNb{@-VQxGYk??d|Vf*3U2IUAXz_huU7x zh{wI(R9l`Ky6%_${QYN;>W%%yTW1;U*?Q*7U#It(x8k==v1wbq;H3D4yfy#N z3Q9bvE6<yU}KrT z$#I70TR)m_+(}DnP_2D(U~`Gh z;DJw>O~uoLO7Yqc8cxm9JGc5a@ALYrUvpz#|7Xtp`}_N(Yy5W;s}AfkyYlO!@b8rg z{GxAmGTB~{XIQ&`lbX|O|8>u!{^wkIw{Va9d9%9RUptTGFRv5K`ujn8>%Za~^}iPs zd~K|KaCXt-#e2mK?|2;wf4n*y_9PxBxht|XYzmoV%_m|F!d62y~`rNmzMsM$5 zKegpQQ~wLGRsF#q+a`-uweN`f@z906KCNog#fdI|WgeGLvSV1?9$u{feO~aBXgSk! z)>p!xKf69%>Uw+9!cW&iv`REZZ!xq6{9f)<8q)FdfAq_Gac740m-X8i%`WNdFJ%7K z{jlNcmuxr;o-N|7anA)Ok?dsL5avPZH!*!;!1V1>wXl=^ufCue|zHN}1T5e{* z)q3{>?*{!V8)6e>*LNH<`#M+i{f`Arp>K1YD%V@}Jmynt7Kv#+Wj)35>0b`5_XVn& z?@RfDyXs3L&L7m?T3-=!)OyA<2Qz_L8$%|g+8oeT{m;H&bN!)jCpH)KA6c9;yPa*7 z`_v6zo|vy;U@Q3|pRzw=>x6qN=1pDwwz#O}$(eI}$+s^TSm|e9&~918zpZ-1s&$10 z%*onEB2$&Bj`2E`Zk)E%EWP_!sL3qviJK)spz10pYHiR7TS8S$>a~OltRsarsFbB4cb?@Yz`?lET8eVQ0rVn!=}x>%#C5M z7c(d*=(VdKYB=!Oz;CmJKt#4({jzNbUfd27J|;bZ=f*`f9j0)RCs~Eoj4WHWxi&D= z&naH;BH5Sq)-2HzemWu^w2K>BxBc zc45bCjR)WT0=ohlp1z!=!4SvIqrrP2Tj$m4c}M^4KYye4tF*2G!{ZaziX<9>9vCQa zCpw57YS7Wv13fuuuLOYuv2$d)5^w!K@JQw3 znO7T6voO>rxclklAM&^G;*Viqn9&#Y)xn5w!JH2Q%nSvK{5Na(GccGk@G*Qib$sV; z4LzHC?ln6eSxvKFkn}lp-$WV5nev@6mPaS;oS1eh^y7{QwkcPC6ik~hzOKP|3wKuW z46C=RqI#VgXUVko@0GH;F5WWv;e~)%rCRHH_v9MaEmE+^t(Q?wc%16Jy_|Q!vG+NT zB^c{6elZ>3s8|!A>bu^k?N`7Nxwjdmyl>8Fy^XQ{s?Q+u=d1q21qa%1)r&8ke9hkZ z_y2AD8UI)ByE!#}({8){OXmI+eRoFx=81o1oA;Z26W_a={qFzsdtd(B|H}1y{f5^& z<7IB%ye=1YeA%SQUS6xdN7Z+G`EmXD{9`9)%JlEdvu%DXxGDI;=GBwz`0dv7>niSe zTK#lXoX0FS_s`OQeC~4B4{CdD%;TMJRkP^(OTiG)cMR_@e+sIxTWL3E{+oNRUv`@_ zw#SPqamiRUu996gEB;~wS6%m$|9pS^lS6DKOg+l(vY^H|>!-k9^%=fVb@d!c_30b_ zu6#Jb+LWi~|LWXW$^YTEH4M6#4wiS_Y^OPGV=1rSApf%C&@^>HDQ;d@?PGSFC2Vc!LI*yI ztbSBn)w1bZK^^CQ{uwqK11J6W{$h7DT|+Zd&skuS5!)XB*E_yv3NtR6YVoKbMbld6 zK?j3ik7=zbThhAMCwU(E8ZcgLVi6WN>utbzaSe;K!md*mqD$lX8mHCFU97tFR7D1# z!R^C3^#zyBn9_dpbZ@YIeu(Rc>)cy5rWV>-8`z%A4qNze!r!(~*MB;a5AHu&u&V+bkfVWlAe3(zg?R>GfsW&9`0;@pw$=SOFHq;rJ57pf@Kd~`HQJ8sGA z{qNHs9bMWXp1rnWB3J#}WlrTMW;TdE?Q9T!TG$}?w3|Wx)Z&DX6Wf2A9pEW`!d|#| z)$z=R9R`oB!@Aeczo`4cZRGY`YfpIUb$L zr1fY~hJ)*@GpC;G8O~I^y1ZM-*7l>0#jI9$=_V5^zFrh%N5h^8Sl2)w@<)!{r9de}w)x^m z;hQ2KejYjYc(sewjvt-Zj-I>ZW}Ewln|mh9*30pIJYfd)yH}d4>ToXO)BJp}XtIRX z{p1N^4F_jgXo_exIk<-Ma>V8@d2C^`-uv+V4HpiZf0sY%yizOc4bxQpeS*Bjt8e=p zmbtf@=^g95#Q_o#Wi@qwUmjfeT;mVJ`M?W~H%k1?(MH~0Oxp#_7S}i{x z64e$wviJ|D>xN_&${5U>`C)}aNOfqxUfF|$f0ZfdmeqsKXBK0|Ba>bdB6JZ9cW+n-!Jf@*5>*}g0b38 z{#Wh?x#r1Ex_n3{%5yWvUbo}i>o1Dl$u8lVzoq$YwoygzzSj?;&l@~mHs$f5O&|8X zyn^$e;OTkE>DBsOF*XWKJg*He z-?Lqh2 zL$B0+>F(@&_i#%0zl9a+=Bm#)(DWlg@AamGu_yelSuf@}ckzYUb^m$AH^i%&Wsddc zW&Ps6XHoyv=+5~M9>3g=oY&jW8jp_W6faNV#x;&;+yqvW%ZvMMqu}b~&isN@| zukM=geAXfp{$2Cxp4d){**<;pRHhF{xkJyycUAxVY(LxhR)!AOos6EGi-~{k+-fy; znw6qju5pyTuf54}gPjEP+QY=?K9&&{wos7m(@)Q z<6Dt&Gv?OIW>Jd|n{F?!KQ-NNs{XuF2J38UR@K<8c&!|@@M(aS`Gf^~1G;zaEpWEc zop2ze1vH@G8GPc?Rn=w5S5L=tYpX36`ubw#%EVgT!veSZU*}v4{@W~;uyI!g$C6WL zL=P_1&nTS4`+Mo%pQ`gW?Emrov-i8i`s;NQ;)727n`D1RU-I$|=Kif)%=zoD{@h!! zBJS!}nI8+kr9VHw|F!A-MgFZ5tQWnqKh3fCVp7Y!qE&7$r0t%%y$FxnA{-ZAd$e@z zS*J;}b#{eWN-bo+?R%lxXImDpO9Y zavir$nOweLb24exzAH(y?C$5yl4A;gQ2*7!#CQISizc;8q%W5&zH74gcG9eMn`SJF z|NLQ9wSljFuA#4X+2t>J-I=>?IM03GmNg^O+&6vJvX}B}mSt9S{i+nZ{6(NUbJzWo zzLzWhir1?f`X(>TZOg3MoH*-WbKofYUU!+bY-Y!m$+MPSFRZ_8l6Ppw^v!3Bls|Fq zUQ=_(Pka7`{~6C$&R&-MU-t5svhK_(?&#hKS3TSMI(ld1uOs_2rqw-= zTJC)GV7x}g!}c@t(C5?7vGe=dCT{w_s(9DKKZHUUH9FYOMjkB)&G_@&2D>e z&eX3SlF=XDJbr7j>x?DaZ}?tvH1RyYea4daKmJej{B`#4-PudF z|1tNuv~Jdacb`kiJN>i7Cx2;{pLay1c1m^Kyj`BRHYG)^3^()s_a`=eiD%W^%t>|6 z>zn6iPpbReJbA_v{pY>+6(6wvx$tQ{W5vei*-KU{`(9GsVYtijKTpraGt( zhf46|Ogmh@MkjNfsZxli+^p5RS1cEN_R3Rn-3#rgx|6Z-Pp9uW@UL&<{x$1Ad#7#M zpMLYc)mnDf``2e5+_gfy`RkW;&ujXt4oz6~?dof*!}Zr5SH9w%SI~2fBkZJGd~}50 zfepKh?OwD9$lW`C_14ZZi3{(x+}yifc7@-={3SdD&`0NO|XZ6`{r?9WKuAM)BvDvjPuGeei9(QTSe?NF^F>^ zI@MbC6mQB?zInmLHoKlB^qiJ`vUHnydY{JB$y>OUqzY%>?3ga3FyA-H;6-D~5&d^> zd8Qw|rnxHL}yOmjomrpT~FmE z?X(BaoopDtTE4olx1(0{a=2XWUAK7e7u>=t*|pp@>X-d4{;<%$etqzg)sY=9*QJ+4 zUAlTe@vrQ}b;sIwpOLnSJ^OdYy0pcn^|8HoI=^3-pU8eX&C0t!{++G$4B=3(ommg| z<*Z*P(cashbADm9cmMLL#~V1F9^Je0%MaNi$Cn>jKfSs1xcf=AcmMPg!QO_RXQ$4+ zu`@tQWu;`Q%1X&QopX74`JY*MtLsdezt}9`P}PaR=KtJ!2e+71PHEaL{J(h-SBRrr z&WXT!=Eo7foEq=^<{f6`+u*zY=Ouq8(FyCSoh(Bh$)1u6o_D8ziPX6RM@(jv%(D&j zX|4`dUwUvZUuJ=SyU7mb!xmOQEHoNR+!p?OHOo5SK?Tp7)i(aM+QEy?9*5+QUBrCWd08#JA%)M?D%ZBn!(F) zZBv-Xze=C_%YSPb6BEwP2&-MQL?!uOv_z6$Z3xc|rk|SI%#*mjTOGf#CP3b5#v9x2 zNsDh+Mcg_6LQyrCy`s^%FFlR_?%{R?xm4#(D|#+%d|V}TjOU~Foxe?7I_f^o?V{|P zb7J}zwLW#bU8P?CU2x(buGg(=8LQ$iGR#@JSt{ez)RkOk3QqAawtAq-J|j?grOL6Z zo3?i+t-i6UPUv0h*(K6b5=GUs*QA(j+sOY+_GKK8%0r`heR4+yp1<1qtjoG**7Wb4 z8Lt=GnHl=jPwze$ZraXv?W{+?Q=@g_j)VQ0lZ?*Z4CR~t(6HuD-u3#qd$+x?+3b42 z^+wc`+s9>oCo7h7uP@9=>Ahv2Z=O}jsiZB*{4S~bvcf~|KU};U@4m?Hzxnn5j5W(= z=341)O6RZ2+4S$r`egCSX#_0{thmZ!s)xbWd8quwbo%-}jhVU%zr?s7~(H33Oc3Y@2B@ zXZ7CyuIee}P5%vM8VSsqyOv*!GkdDWysJ-B=RHeZY4M@Y$Q$}6cv55Df|7t%i+0=6B@#iNWZwi0cE1Z6{EecbEUbb9Uytt9p0ErIhw=+`NYI^4dSFm)F)f zEe2!aQOu8Vl{EYu< z1dbE|)@1(fHpg_5eGXs#iN#E&!E#gA8;I-p)s($< zJF~c{YwnGSzd!Weijl3Z=c$f;cFd-0+2s=TU+o%y=OoEZKT&?E|M%0`KOW6ot@`HG z5*PX1vWxC0y)W4HnniPmWU)ejy|XIY7Te6)?$yt{=O9oV}n_ z{*}3&rKh{snqK&IN`{rRGH!u?X7C*^w&?0D2OS7qtVD}ElIUhO|VfonSZ z$wn8INqfqaSu3u#dMEmQ5Bl+!UraOLTzH0Zn)kuEr!Oel_$8M(pS#YJT=~G6=hKn} zQ<6ehpNO0|W~2GNBxv3g&k5?OLM!*p?buo5;a|^xcaovdrhP`f^(v{gN5B4M<}JQq zvgxatdO%;bgqZ*OuX-+1jHi^v{fv3sP7cS`X}t}X0m zCNM?s__n-rM!jNdo^h1xLxZIY?z6mEasB9l^vtUcQ;v9;&fv)1_4Qxhg_n;K;zJKM zpRhS_w5_x7_;J69MyfVfQtYX8zZFQ(rH8{NGKc--l}z{ojV<{NdsLcK+Fo{V!E+{BL}> z@xRcae>cnC?7z|WSA6lctw*~4$}f0cV|)Cc!97L$w*ifRCtJDJMNNrcAY&dQv{w9z zdP~LH6qlN|G*%>ci(_bq^AFqR;$Qdn&6s*kL7-@Y!wyl-metCfEwlYP9d>Lu zD*29_;YExtpF^ctnv|OycD#Kq#BqI| zz*!NNL%GW@+^CPqH~DtHwpvvn&q_2Pdu60q_CCc)?myoa&X)MK=kI$V4)d=b3K3By z8s{?tb5)iq%9=0d0|~k)tTD~5+;aZBxF$5>leZqvnJnk25OXbSa%pAgc^0Sm zvu+B1jwRRo_;{Y|5-k#AXgq3*}`e@&VEFF}aw=K2y<5wT*Yg%TXCEC1Dgy6U14Bj~Bo zV`aI};rxS3wF@`D2(Qn7a!4y+k6oA8Y=!Hy=53n5ooun{=}gCoP5m?0pFMs?m)R~@ z#kG&+_wODfN!6mdV=|T7Jas-iS!$T0a0O>)smK^x}Fu{Z|&+xn9=CZ+Lv7&_nzmoQuYRqX@%?g zU&eh>z81xLvB5KPZE3c0{;P>41xfWg|5Y#>X6$Oe^|@Xo>7upu?$%q9?HpN))AZ*j z=gxLCp0QR*;O%R^PW$ZGx0mK78C+OnBzG#)PcigFOxLxeI@{&aYeU|D{yBlQKWmcW zzI{{w1g?GBpS9xSic=o~eP1leSugoTc+=jvq?lUeSl#=_es=Q)99bKBU*n0hxacZJ z?fUtRi&XC)ii?>0*tc!M`gilr|M;-L^#soyiSOB&SN`{OuToIaDAdk;QXxl3dh zKWAr-pNC1IRqTaxao5-us3vW))NK@ZRLhJ_IbB<#-I=hYFi=fpcdc^cea1;q;fM2* z7OS^8ZjyWI+it+a;OeMZaaFBkeek-UjirAo+Yi>)1Wo6!XN$e&y;gdsYV;d{n=Ch;9i{d{HP$1HM5*&+skEDP@@x8(6A?6BnW_HNAD z8o9o-ZED*4)LZYx-M9UCF#BBGp^yJ2YCb-DvvB6UpFd}PbM#;08SJY*QBBnB(vz3L zioPmO_0;}fiG3;W`LFU#_)P|`m69Au22nk>xov+-oo~d;yQVLz4_S2S)G|A_JNN%> zOWC^etYUfA=9wF|S!`Q&HP$0@(xvPr>UFMtSI^H64Ny}08@9$sNuqnlVO~Mas;@iu zy8k-6!R43lMwef*iJf1pugJaJ?k{hADW9GHq&3^(3b_RjR=%9e$djPXYQMGZSF7_c zxi5|Pgav1c`!{NvvSwV1e{{8eo_wV4Q<17eLa)j*&o8XYf4HzNzae0M`0Rys%WpaV zUFNv)OY6OZk!dyYRZ+igPSe=Gyz-33e#1BAGr1rC)@%K-FEVo4k9{RC#g+EG59)Y- znrp_#+LZ^&MSN<@PGD1zefc?wGv!#kK|J>)IRkUlaNr$@%xvyyjp3I^Kk>e46^+@=@yhc9($r zp?6uozE#WQXxnpSMsHBTD%)l6+d5|KJAXU*7u&z9Gxo8&_{5(I_^1=iaM^nA-@4hJ zc1K>=SKigG6{6x2}tppL??Zw&qP3OPFx19gtSo6TT z_57FoYR*@yBbtB7z0qBv&vx<7&GtXb^z9P;(=KPQea(I1Sle50WR>ZP_XqQuf7xa7 zzWN>hVfH(I&-8coTaJ|JzA;?zKBd~>erLM#y_xSd-=7JSyEdIY{pgBCS&L2A$sExNGb3;%&^tG(}1KGsD4pIWi+>l0JnUcRc`$3CxBpZ>DhW?p{d zw;%6)r)SEruAR1L3+MGfoBO+RvTg1+yU8*93^VIUx>`SF+0qj~6Xz_@s=H@eOmbtGIe*JKMq8$9>dWgR-VpPD)=}t95G9*0LEL->Rb+cZEHU+uWD6 zK*yJF()O4oA^Q7$*KT;jJJm4J=Va!Qf2|#-1b%IQBoOblck!hU3+AXerI~-au)lWV z)~Nb+!K%HY0{^!M9{F$Uv)X9e6Yf*V-M4NUT?~`FHS37CjP!}yyFy(U?sX~lo@Wbx zwN`{tqWr4Sbiv=#@1~fZVq+_fY`%9dnB%@%Hpl(I+YSfosskK7zcw^YQu|hZ_dwI6 z_|5xy-{>Ft=O-VNP}q4+dvQ7M=}oqh-@X4yG%U(}Q}51RJx9_z#ouk-8^62aMN8l9 zUbQ8+^Um@uynJtx*vn#9zERd#@@A6AiHV_ocnp9s6XTXGw1Hf+hAs55n2<nm;+zB+d$n|;&MX5N_ms#jAQr6=!s ze5K{et1sD)mt4KN@bsncRqiXUA6;qAbBAg7+e+(bJE?82_q0vxkFt~7w*KkkFL&={ zghgu1yLwB#^!kyg%+lT{=v_Gb>Q4Z30NuzN{|l7RQC-LuuQqg|x#eShx0qt?9Q&BJqSTp}R{7zFk(cuBek zxQF*eT)G}~?QZY1HMb|;6FO$;lvydrtsX9qKRS4zRi1B zzSefB*DH0?S=QZ~mNGp3F!994=Tr$u2MMu{)EY! z^@0iYx~)Zj=51s<&34N0;yZ^dgWQtLiZj*SOP?)WlO`&-*<+p8g^IIbKJRXOoUDDl zbn5+sv5G?1rvK2pEi2?@AR8`vzIdTK)BlA6Q+7Uv&6kjDP9acWfkv3F{xGxChwHvd~P^G3PU zgL9|f>?oe7y7B$nX-D=Y{CMwtQY`((=U;J&Ctp{0o_PJ+jIG)7LT%Xn_)ly0#hhv` zbMd;Vbzf59zWVK*HB-xKHp>eA_Hz8-vHkRnNA^oTe94u!I+L@n@|UWilEZBaui{93 zqi=d|Cv7ZuJTF{&};T-r<0v=t+1P~wZz4OoVT-fybJuk_?yqZ?~WTic}mlx1I+zW zY|l?RVt#zm5p!Fe%p8@X`i3Bd8+dp z&5VuPM5-UCbk>+ZTz&4fOT|{_6;L=s3=bq~(PuV)lR#|U9kJeq)p|C{sw;* z@V0%Hb?|&UX~T5ibDByUZW-Goz89Fd;kyvu=KBX)_I~!Aq5E^bk-CGqW>LDt-Zj}< zzfAJ~An2CAcVnaX7vX6oTNMt}{M{$vv)N+Z?KOMPD`(BSpi%JWj)SF6{lY!-W*Z;N zIQL`S*@^Xk*cY$et}NFe)PBRF!FS`{Ge1)vi~Ww?weu)H-(xX@lTSY$klUlZyyUo? zic+k>9cod>-H*E&u=m^Yo;k=MnEh6P?~bg}wOPSOqISC3D6^l^2(icc(S8g7r<(hreQNL5H=c zy$>|}x^#hyUI)8ZihZC`{elS_FMhUm>^yMS`Ty|>u2%cVc}&ySc1%<2w%M)v?37oe z%tWP!lKmWRr!@GbQqu2SHhp_>rp@d}4vXb9R_E?-&6xDpV=_;wSFuau<@{DAmSx`R zJzv#kEpd|I53;P?;dmsFVe8ayJ|5|x8M5>a&fzKR4l;X|viabgnnuow@Ur^p4dsgy z{O-LI=wh3^q-4!&m9PU_FU0I}`LVeq{D?r&>-r?wDoN&5cNI(CKfQJ<-uhPQwwR37 zlERpM4W ziWy_%&T`!~cO>TJ?KDq&7dv@owcPSMj1$*v-*{Lkq*wj5?ho&a$>JIy}v1!?KUPOI~d_VsbHT|AJQ! z+RMD-7rgr8a#fK@qdT&(%Ep2*=ifY|lk1;GZod|EZLR42nf)6k_&<$Yc{VeY;qSDk zE3*3%7+-BwQhl!$?R9UxveLr2S7Z|=C)WE2 zzGHY@UCMqVV;6JGSCew~in_8T)(7s1TS#sT<;d-B<+08wWdHG^_rGg-!>ccDhh-bq zM5b^)@Z(*7YYvkh^YVr(uS~Q~>}85NsGU&0a$ZPP%{k|fW}m!{Y9=bKGx&0=W|hre zzfbaP={s&Xb@v}g4;P8}%(#A=M@hfyG2gcOp07@qy&Kr$S5J2LnR}{v{ZeNQ(>pu< zCEGDQQC#px+m1;|_CwpdIV>k!8D7=id8G2ec|O zcmL-VZw&VR`8&Q)aK~RxVa~N%6&8M7{zR!@_DiLJ3rAfOHrak&|4@0smo66r#tmoP z6CT$ebWfOj);;02e@2;r9n)*2T9$W~SGYeM=uMNndZD}jKoq0RwW!A9TJ?N3^X}y_ z%B{Be5Rv*>@CTRD??s31ukJr^d%p6A7f0O}Je0_Py_%`w0RP+9d=bI%Z|}J)-21?1 zacc3ZgMGU5eL2*_{RS3#xv1e>}b^0`y7vFNRDLiuF0h?z0 z%}uV~eKTIkdS2zutGy1rp0gi)^b1~^R9~L=Yir@X?k$rZ3(U3>IGys`Z|%JB)qb99 z${#Rv6ow{?Z2Nf2UVLGpvC7#?`)vC*bn`x`ZM?Df`SP&zsKSF{r)+HK zsofxP+VGZ#nZwdkVLDL}Q|@W0i&S%MQPvOG68!$SYu4YhWostBeD(C|8|JqL=Zp#` z^cCnR^i8uL_+IKt{&BNo{$r~j-Zvj_e*4~8pHJ$&v-s!fn*`6iNtm9w z{)cts;pEp-K3~|oJ&DQh&9$ay=2_$@N^YU|D@-J|xW6GJzz-l{+EdDD-u{X+LPr@6b=!w&V+e=^-mzhly$ubeNe zy7#U;c7EZFSr&g}oW1?5_bjqrzsiKZL_W1 zdx?^h`~MU^-kY()a?O#_hug^-u>p|ulF|JFxE-> zwMoW*QQ4;d53Db(%*b7DbNu`EB@RCwW<1ROesXhd?)J^G`*Std=uBh$thUXkN3-I_b`%au&S4}0FR zeYsY)`$@UW;p$Vx4EN&rIX<4OH$KR4sqFfvm;1~rj_-VH=lN2YS>IbF_}e$m6_)1T zlcoPfN^Iu+wQ!nqbl357noRcG6}Km`EeM`}rf&1&mGecGCRgt*)H-*4QG>CzNcbEZ zcNu$g8JXlWlK1Xkc)w!*mC*Rm820+tlHS`M1WIh1v`Of`+Ck=>x18-B_p0f19KBip zzq@-$ZbZv0fv~nD=R2*AtkZb5DIZwXw0`-#&hw1ZMAklP`B?Sp{x8P8*_jVYqM755 zZTs=mK+5UX$KDgNGd4d}_`T;uh4Q3(Q}~=UE|s16|2sP({e%6bZ3<aG9%ddhK2k{kL zcHW}Wx=$oQ=l|WSyffkXrG0|6mLG5DJ$cC*w<=4cH`(J;bj@-J)1su0A|GeB`*jJ3 z-!SyBD!6)*Wz*`b8Mo7Gm2R2M-@0~!>AH%Xg@#}Eh@V|_YWLcx>LY9NMEB(8%D!Lu zZQ3F3>mRgD>d%w~*Uk-9u(eZI`o;c7L)jLIwf}AiE4CaewY5?Bz0aI4e6`r)od>yZ z`d9UYx&$?d1%50`(mS+mRutp_z{o6rlZ`@aTe+fh)_r%#^L6kKFxjuL)iU1tBU^?B z^UXHfBiF4W`o3-D`+n^4xphl_75YC9p5R*<@sRt_4m-d4vsb72bQXzZh|4i=O^No>%IAK%phmhxpjYot+zftE27AEUA1EMZM$!A#jYOtH@X$}vR!In z%FYnTP1kPY4p08c7Jpml#Kh7?=O68RV;ooY$4y*K-s97z+}xE*Vjds5@bi@)Ta8`+ z*{b*4rW{#*yoU>J->H||R&n6j{HVnyt9I=5_-7m=w($6a`nJn1wY~;xS#x;%`tz?1%)C8cc2E5EEm?#AhWyvZ z7h_Xr2HV)TpKXrFkB_ev(bUOV;NUKE@AJDd6~nzcA7ni|8j}@H-ZX6RuXmi@oZjr( zH8bPkmTzD7u2?O0{;(GN22*jq=V#8ZJpE?+5_Us2@eH3AI>(OX@y$M9X;9AHJtggD z)yg2PdF9E0zv3!qh3wRBpZhb>b4y61a95+wx~cXeOU-Sk%!!$<8Cs_hYBq7t)we#6 z)=8C`@7uZeJ@hOSql>Q1c4GG0lggvjW}Gy2MJ)H@RT~W)ZWnOn9)54B+;;!g z)*VfzV$;urzh0rEt#LoZhFx#M`t`@ZGOEl8V~m}6UfkKbal2yMmX%d^z8G$~Q~Rvm zw;=CHW_$mkB^rJ+SD)|5Ibd*&A#Ul-n2O)hTK!6~toQ%T>sh66$EE*xOVENJR%zny z?4m!W&R@OumQKZ%hX((DZ}_RN*ckRVl zYgLmEU$$2LFMci3ST0_n{VAvDvcP95P2wkR->yH({X}S=LtmA`umNwb``1Z*qo3x&9_`iqu^v3mEN5Yi!m&t!W%{}G3 z%F~XD+hy;R|CB!MmtFKm={@UF;er!3|M;X*9a+NzWv5>=cRaF-L5}O}^6RH;cd#7F zJge<|XV(EKn|fQxyeGouT1%x*-s|{vr_wZj=SnBt!k`;Qd70Idv~C7X`P8&}rTw*2 z?c58QD=td5sP=C@nSPx6+QaqpUu?0zX_G6~f4fX?yn!%dgN%w|QQBg)FcdEj+R)w-a*OziU zN$GE$PZ#HG5ML>@=8EN#wE7FJ8&dqA)G)6MXuk2t^3v>OS{1j#g-Yj__uS%oz`ZH+ z?y+A|R+C?y<30Lu_JpiSKW+Q}@mrsYsbH4gKB>|DL#^P2-Va-I0?fA*bjWVGTfU|1 z(}MEN3-kZnebZJZw>i&$x8&wNzNU@aV-2h{eE!`l{Xcc$`&j?CZGRk!v$Kj7>TgJR z)=k;1E7Fk`px|Dx*ScfA^+)5@I7K%1=l**=Z@Est**SsrG>=kBWj(jxCe|mP?7bNl z?69a;=$N49*wT|MF2XR?u!MEFYyT*`a-!BPzllQCXWTJrM#a`#Qj zFD8C8t4gWy|H5G>)uF(yEUa`w@(YK|0*<1`FW*+oSSr?~;ufItc&*6EibWn8Ju(>+ z1l;oK`Ht92aV0)^BXV-{LOqd_)6#Q9Ji8Wn{Bqjin8VboCaS&s?`^j!f0XaV{Mf}d z_4fTdmZ_UdMVe1p7DOEiIJ}@J`B7!S&XgrF3IdjG3o?s8FDT-kSRg6y?D(|k%z`3i zotAE=meU#^^yW*pJ3hVgNre0Mrvxb+c&38 z@z|!yx-otJ(Y+gVHSccHb>GE0e?wKKjjx+m5OJ^iUZxgt^iS_2RHn|(q z*ixeBFs4LHb>w>foSAca&hp$GZ?28Hyl^a_EDl^m@^LGAENw8C8 zI`h5g^0f85mB-vR)rV_`mnxr^yD?3K`}U+y#W$wK-7>qLbK7>JPr&71v2ChLtG6AE z+bWhGR-P6=IoH#&bX)4n;IPIoKN{L}e(~Ea__MwzOx!idZ=rg1g~PYEqJCN5>r#`W z&%H=)G?<_faP)TP&Kn{Jx6S!C^WZj_H*L9*I~Tfddph^%oZOp9>Cp-GhI3}EcI{{0 z_H?cDk!?1T2e)n6&b=*lPXfoe*Qd5UP$~)u-oK^g^5M{F(^jlI;vK5;@squy^v6j` z9n*v4qTjQ1tW8&r>+*TTdg!&N#1Zcqia+Ok-xt=*o_oaGUMVh0^}ob{#?Ta*2cPVD z@1M7H+weAuXH&VH?*`u!hj>n$T6DMG*95zE(4lFyUY39#SlmyY52rlRW> zWaq4xwqt6y<@G~H56CT5KUOler0nCL95e5vJ+-x^flCxyuNJ+S{i(BDWuoC*_6a?f zCr-}TKC$QKN%^_APQ099qx((m+!2vgrfa-Be+paAm*r>*nif0#s=lYbI+xn)v#)Yy zT&U+?k^LZL;wFE+Nm{~P&+o=esf(GX9s2H6+Vk&1g2L=Oy|llxt;nc4>^xm<@mY^m zE~Way;z?H~X}pp9pmSg+_~5<_&X093Z#S$^Em;<_bF$Qtx`ZctuN!{4r>JpOiZ6>Z zz?jwJtWT1EM*fzC77v`CR=w=C?_MCejw@kWl453lgOCUCws&f7VX)NO>*1dxC*}ZJ)}Sz?1gJb0ZJt zIS4J|RJXOMZ@sOVrZ(T*;fTXlmm@J9E<9PYebS}URFi`K*(#;wIS3ePig~=-f7a_r z&jZ1~UJ5>UgbwjeDssBOH2==opW?mk-O}1Srt?p%_H=3GJQ*!`gI~1XMkLCE=Zr&) z*ux!VU(7h(w7XtQn3(x!ntw;M+5Oy{@NKsgx5UreTD7*sr~ZbKPi{?*@aeC|t2-uM zx8*GS$@Mzo`s`gB47bjY^x)VQZ29)DS%t*r#H!7Ql^*v0R2h=Q7s#MIFnZta-~Ir0rtD zqRF-?N2HhI<#V?k<}wrYbn_PaI9^OC?pk*8+T_>r?pYJEEl~hZcU;X3s(kZKZ*{o&x29q`%oaOWJN8QZKBae4G8b3Ao z$t)uKE%T3hiRo@#Vdjs5su!3(1`3~C_~lxPcgBvqpNfVnKQQP0RQ$G;r`P7hwHq&# zQ+~ee+4x6A)-bY8EqmI0y~Cf13$J|ItiH(gX?B;(;!hVjmR?-*bW(lA@^2mf#aZ_k zOSjMBc^n{a&Np$p|99Ju#}qG$Nl#?bbSmXZT}~|^_HSPg;|13TrHJ8XAco6>V9-ODXba&}LRqe<;g8C%JpE?#4|yWGEaZvmvXCeB z@8oB6{bBme@8K$E7BsOwcZt$_gP@7>hCvhM4T2_ams)uuUM>9Ra?S5%xt;$wPrfz? z`(HmpXi~gu``p-Dx?nwIb1Yw)jiYCbgQiKl0k->1uk zmM7;&WuEiA=V^J;y3+3x^RDDShG#tQsa>(pdARdrwSk2Z!%O|=9-ikezs|cFH0k~8 z`IG+e7JGfFeKzF@>uVp)lizu!Oq!GM*M`q{hN!RSy~1--p2RXQQTcyo%A`LLSF-nY zw{1*OtUCMOyZ-yE{~ddt-7Z=GbN}nO&j*eF9(w&ZeUWCR>7rh_xb^W-MKVUeU)t|@ z{-V)_o>IfCAZ`s zn>=ZMO;rE7>!}5dOS2o6JmG)sc~ag~UA11xOtX@`{*Z@NiPZ@=coTuC~-!n{e zoAilKIrdw>M~K|N`zl)b#;RKN^>qhap3d^NwO+gXinX|V>??Vj+^${aQROS2cb>Yq z+HTg0J(oQS^ryM+ef4}b<2*a*|C7T1ZgqL{sdw%v;VSp?trIud*v}7|b~)Q8`ktrc zuJ0eVJk_qNxb^89&cSL)~{ZsId ztK0eOPZ-nf#tg2{OD}jo(&iUxknm6ZS6#B=x#pSn;uq61or`)E0%xV`%P&vYe{Wts z-R{%$uPVGX^RPbVox_LqGfw^4_T@*&v!nJJfj^b) zoj*ne&eh&?RXy)>So*&s(Xs6N|9-G$+TT5`diDCa#Ba;=qgQ(Ptq)2TkDHSn-`TRi zZjtEGUb`K;W~@7ueZ=ugs(1f6cKw%u@i{g7wr}}SlfnMsZ^_L3pOdDpyZfkX>N>MR zDK7IzAtE_PJnJ>CbO;A55Y&%*X{8vqL5SsTNyfY9N)z7LaaJ_m3D<4fadmq{RBLWb zOKwVlwDL+`^{s{-w=T3d_{O&QrUnEnuhdjGZB6d&d=So3)iz09_{e)Hxg+_Lf^x!x zdM)b0cio$GOru!Vt1!ygJBv?ku1&$GwQru~hRN;A*D$fvsIJ$qGd}jC_H>e;M6#ZV zVdT1P(MK-Ioq7JRfLAW2u5)$#*`P@_A!{=NCu=|AGg$5zdGzfO<}=nm7@rlrW%>NP zP<;kJZ&&{__b%ZzYOnm*cS_6)Qo+ z1EQK1p59h`Z+6jsxzzVo`%D|<(!C;Uj)`S15lhckdXwmL>QlJ6XudL&uSm@jy#tqc zD#XJwcdqPSE^S~XmHXSaPigH_2hXPY-Cq3Vu0}~4Bmz{7s-Fo2t zgF~)8Qa@$>t)BB>uBObpnf>-b&(}`#zuj8@tDN=EjQL7`E@>v5u&oty-jc}qHL)k_ zczAHe4wH)wofiu1?y%gK?@IAj6XL1}_rBpC;kIbX{=|0Aa@RfF{}NwVmR>)$Fz{~a z-wP|=?aImsDUY=?aVw8CxpEaS!+fC9O9_uhI=#@W^yzngZbVa5oak^LP9quO-mh986 zx%S|sitVp^DLmdO7hU}nKO7L49M{X={95zZz0-wW277mja{ph~-SXSj`HQE0&a5w$ zA1CuYotYM+Fu(Yi(_aN;micz)^m6CS|J+f&WSM+nLWo(tOZI)yr`msKPhOUkIE&@Z zlLNjVT)XVAi<)!p;m<3b6FPZ)@sW&At7V^Gcp`4OXx1Ma_mJOn-u+0N^@rm)|Ai;J z*@}JRbX;`f&Zx7Q_DWm{NeYSv;CU+5$&;?!onZ@pSeo&K*m| zaNqlql(6Zbh@2r?Nb&AuvHI<7_XDmvtg^kB^V4L- zxBo6b9^Q0(#K0RKG-2%+p$UHh-Dc@%zc-Rd8QZ+D0Z-RuwlEUDXu<(JJZPUHXLnr&ca8zyn!cn#V zlJX1L3ra716`2nnt*~fX(r0E=yFe(aKIFq<@yNTcZ7P@=Yk%Kdd3BY?3E$v-W~RI5 zO_zK<^KP=z2JcBlnZ4f$mAQ--qqa z{yVU|q<&Ltw89gXll-Z}nk=%{%xb%kl)6p3{^7cRQJH1d&C=q%AEV*h$JyjvEt%k5gr z|180;F9P+pFL?Qp`CjGGMV%^7cbT=O3A}n;dFk)rg(-TI>Qm*PCe1bJ(HCd^aJc(| z#W}IWhjM;~ffBvlFC4$G^3Qhse$9RR)L%7g^Q>P!`u_IIrdh8m&-WdysNQw;NwKan zV=voVr7JDdE88>OCfDA{c=YSsmrwa$HkGCITujkxUuHhTNlrF)`PT7` z)+XE)?opYUQ?*j!@JYM+!v&k(_vBe9PVMh1I(+iIXTW{OLjtY884Aw&n>Bj7|F~LM z!p+>wn%ls%l)JX`;LZ%j%!L(I-X$Sxrhj2Ouflubfomae(2{-oqgOgg*Deb&E3Weo z{Bq~RvgN5V{L$AhPtrekb^GfR5x=?{zr5J3_Dx59=8BM7o~eg^RMs26{Z&8l?+J^i z^2^dbEjru5YIwzRi`4N=uijiKQZ#kw>$-JhIiHVJfsR3GHm9{%Z}E1axxQLLNh@C` zD_+0(d-sH2!HfQO^3QsmCV%8(+=YUI$3Ig}NUf9J6z9%!MP!S+RA%?VCOeNeU&<@; zFP7DxUAj!SRyRGts`^|0(;_joXOr!()~}6;ZF{vmzjkSE0rR%bZ|h{$s>L~r81?St z$}E{K^jYN4)8k@?{Eo24nVpg~ty#P1;3vn$AG_Bqydpd6z&ul*ggIV?$$UP&5}r+_ zYJ2XLi^TO$EIVXk9Pwd8AM5p`ISIZhw#=I*ORi&^uEzGgIDGZTnGO5W{;Zo@ua@xV z^Cjkbi8-_C)f`?O{F?f2X2Rc^&*@BSrg>|<{KdTR=)V}fb5akUCFN$M>6zw8yv|^f z3ckKG=R_Uz(u*EB#kC!bzh|Va&NhEp>)f;U6GQ8R>M!omALcEyE0+-4GyP=K^>vXS z%8o>Rn5VF4m;2@<&-)n@4az34>i;rwDAO|2d?+Jkqf>u;)BcN#y=UlF%*lMCeCC$8 zzST>k%V~Z$)x)#I_Jp>v<{KZJg^#Dh}TJ!_MW#e=PdLw?giD7XtqCvg$6ha{l4kbz#F%g{-iX z%Z2Ag8CNqZ|I~=zs#N2s$ z`?=5R%$IpoAKIIpOMZT8t)IB*?uV6I6|-_YSDXwx!8Eznq~qu7n+nl;Vhdk;mhAMr zqGNL~ex8f*W5c^=DsC7UzcZXIsjlm2oSZQ4>Ac;0uhzHSFZ|&f|90)Z`jX!5Ra}3Z zK3FTxdfT%sMeKT@QTOUfqwbT3x@Vj{w0O(LZGNG1dw=SjT53|}t>mBa@XOhj@bigf zrKd6q73>zfuKC~a%%&mmPsquYS1gzqH<<~X`yrp+cGhvby-e4wV_WiH-R{kQl~da& zcJzIM)1JeJAG|i*xW=>n>S;CY8-0%TGm1`LRiAtOpRuBvme-5;L)}gDdoKKGmb)+f z@A=6~qAwJ>uhlKwH)jvmG?jU$o~C9hbIo4wvb>4u@Pw-}=_eL#tGKcE=TL3QNrtqZEl11{K3dh*`HQu0nxkH@21?KfdMm z+O4;fiVQ0ZuN_TTfAVO;>bd?lHvT$}hh6raG!T59v|-k-*_F#pbUub$F%XQ&D$rxf^o9=@9eY;!P zN{pw@KE72jY@%V)hTrT}A}mR^Tup^?tku49tn2?&^fQUQ4*c+x|AU5yfeqK8CxIId z3y6AgoqrYhp{@R1;0L}ckvG>iD=*>rdVjGuqr=Po=LMPxhI*_q-)|nA`HXLq`5V*Q z(znijYg>QXN00UP|6cEdse#j(zAcXBvNPN%BGXr{=`ph@tU2xO(gzwlMYg=qW39g! z%XMRBUE_~`%CCYRs7K~IlrzcbN&l5zcW(OJOGjsI-X)wPe_`%|$MrhzSUTmkHXruN zJW`5NnJ47uliA7b`|-7##iKFBEaX`bIMl$16FS1I{gryWKv2lKS&7i=#T% z3XFt4+wRO{`#&${BJbj|@`o8^N{9K@o?Tnu;ThmrUlm)p`OeYIOEm(oLQg(S{Xf@p ze!#{)cg=T7>`!-QZM>}7y43R!x8?=wf@kLW#}fFutd;g8EL1PPdAelL@s+!j>&hi& z*Xeq5eO^~-?DcxnsikS+PdB}pcPIN&x&GQ|%bt3bX&Q$YbtOjz`>P!Dsjjl}ZQ}nk zDTb3>&vNN^E$#Xy^@gZv9~&2oACRt13G4bfMZet2`(r^>q4?(b%k9UmaP6LQblSHg zPOq+CHuZ272zscoM2jKl5hKIApeH4J^*E!#Z|k|ARGG4N-6r-sv354L-SuxmJ)9Zs zGQTHOKaSD8B=GI*cR}ByoPYc8Tsi(*gHPEb>A=Iy8NKJjIPK3~t`89V7}Io!`()#y zaPFt~K3`Wo<@>lroQ?HeW$Cmvk8(d-DEOI$Z>~s*4EubuVS+^{`yrLEZ?!rCbyLj^ z1T@-=*g{x*PA5Hnl%;Fytt+5z#1&PTA6K z0q*&0Vx1yPu78#FS?X;w<7)lVEn%}9x4qHPFp&(*(AmA-TC6&*aOQ?|o`n7i9)Wb} zlIUfQzc~_nALlSwTc~!KKHie9iwNlAlI=et1jc+MX|W`43A~TKU~q zQVnPMxMpvoOE9~Gk~y2EoqyW5U32*D92)N(?wZfYs8#lgZ}O%1XR4E!x#u6O*J~F1 z=@ur$@MrQ(|79N+SYChNXt+ei`<}bH%=FtEZ(Xx6D{+W?5+XEZk;#nz7EjO4+4$&# z@3lQmU%%~9mCoH(*n6#M&gZ4;H_dKR|5&{(G&c2i>zZ|2t}L%Q?IpIU{r$G6DP@)Z z%l7Y(o+WW~+gyi+n8t#789h<%mFhc>_L(}@OCR6l`{6`+;Rd12f&2Cyd}}?gw&3H* z{HGgAOY;^Su)E6?^m5n3H7W8TcOGX68sF0S{f#lBy)xq7W(LNJDYw!b7d%Lx{3uT$ zaiPnCjXOmXBf7O$W?MxnUEY$hM|G9Rv4g8tUlQANK1|WXh;iTHhlU3qpJ(8YV4UC} ztMf&d=Y3aw(f-(y8?0G=Nh;!Cg9=mjiMnQA-7eexj2bHv7o-=>=X&wzqS&^c z$Jx2QN0JhbG^9NF`A=ejvP?Bkf8MUQh3mZ;FX}J28^WN^$ZLFKN`7+SzjZQEU*9ad z5PGU{PRYklzRg+H+}94zSCyWeHT$?J->j*|QNN5#)=Vikxmo`rBl8a%bJH`HE5H1_ z7MdlXUHh=CQ15?fTPCkG$NR zpVWET;_?-z>4Jr;Ru?|HyQ_YCqu1F+#aTC^Pe@>%|@CpU*K|>HpN_ z-@E*zg`e+iO;`NXzmTKTB(A1b{ORk-bF$SpXck_5|0+HvC9AR6@K#XopSffdxh0CvfMYXWuN1`xwrmt zGE4jZd7%Xg3HvMs1u_I5y}Es=;PV;A{M#mb<{o(yf7~hSn`t`Zm%~zg`vcty%Jys{Hmd6OQLPAgj?lv{zQq#QNN9Q4*LI(ZWH93DcP2+(6;fg_-O+M zIn#W1$z%3ThCIspYYcn*=EmPh`}$Zst~aq~FVlyu$JTx1X)_Wl>i+a8^?90v^|^xv za(@@{9G0r@I{IXfCbL0L^u)wF+&s!R`V(VH%i11Z{r1>LU|;8-=hrN*$DQ0(Bgx2l z_D=fmtA9H~q9-t2)7^C0tZc!dDTnf!RxPYwn61BIA?KODsc&v%vuCMqx%hS445qKw z)lB-#wmpAw=V)0bi;lxhr)N^^S6bKZnD8PpgKwR!9$Qk@O}%=THAXiUTd!h>J>0

  • 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

    -@JDqf;gR*fE(pvI{)(udHd`+kWP1q092X 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

    bE3jAtj-}$d%wE$go>;C{M;*4 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

    $-d!Dd=+kB$^J5yDi7w5-}mXD7XR!^%xTg~|1 z?POHz_v1e!E-xy)ZLWVHWbbjej{;wRJ{6jE&3lH1U3kTM^L6!Z&yVlB{aYwUE%$Eu z=0bKx&r_jV(bJt061JD?UJkflZY6$f$+SZsRFBP6%PrWar@ij)w?fS$yczc&e0JND ze{=u*OE*{Z#GTKMNvvbP&VQLN?d-Sd2XEA0lz${$e(ZC|xkc9e)>98pjrG3v!|vEm zle+NBxsp!>E=O(Hyx4f#^_2e&tS;UVO?s+qstSFNkR z5iDD?@y*gq9oOn-%EF1}pwIcNHWIuHMQJ1&>x@8lEn-(s2GJ7wGZd7Bpc zuks9Dz&5!H4Y9 z?XNq|{Pp9_HV<9rb!9T&eb|@khepdUzT>HR`OTdP^ZtIyJ751x-Adwb+QwMjC0|tj zuU+g_Qs9$&>EnT9*`DnE6=}*#rg;6fdo+#OI>Ym0es&B>}dwLbh`uI!xdFVc(lENvEUKGmMLYi0A! zPSttk`7aif#U&sAd3Xj?@n&$Zt8 zV-ugu{&xkdt7l#e{@ZIZqo$D!o*>N&o8DF1!;Q6T!Ud&kE z>?ikFWT$&cf_%L?_i|-52=emhswd31)X?ei|HlyYxd=_uU_P(Sh^6%l{V5yL7PO+WPXIyA9t0IQf09 zzf{Qc>fL-g>~+HJiuH!EVJ{zKs(pX4>*O?`LL&uhzf;ZmtjPfz5R z*hasOkX@mcA-_eY`LW%-9dD0&$Q*wi|3042{rB4gZ}+K%u(Rsc&-$k+x3c*S=aIG5 z9em4fvzlFHdzEnb@Cm`qe>Uu&aH;XrMaPe8cQ;PAy{LDF?|RRd3yrtVtbd#xzUBCy z%d@XCmt3gkuMcHi+blZm`Tmx#$3N=+R$jlLpKn>u6x(f!N-kVTPy3=0eZ~Fn>v!f= zFB3YM^J{*;v-+^ZcKyeWbr$>f*6Zz?nY^x9Jd%Cav#r+~%MbUxmfL#GQT(y6;ncIG z6ZC}DOfnZW%bhiwn|nQg{q%RI0`_3pn2O?6-lwfB)<0O4dUuwUhJC!E&i^Pr`CqCj z@;^4q{4&kIa6UYoFZQ|JSKH4^WbTx$tG)89&a%exMa99#RhB)OM=PJk2k_n8nsu}O zQ~z{lck9Q7Q`t{HTv1c}>eQN|jGM0)q`&Tc`rt>&m%N)@MK3n*`g-Q-=TnJOUB4Za z4L+S1_uxQU_oY)0S8~S-FVbtjAlUa){@4`f?-QB*dwF%+tL9BU?9VpkaGzt=&)JSo zAIQ|aIg+l?K0PI3{_haWEwzvK7iE4glCU}OWKwQ@d(n$$pVC~@CKpX$d2**dZn@02 z-M8GX{EuO4Zl2q@aUGAH)s=YxAu()yt*1XPyQk3{`gGo7>ABj?=hnM;C-YBtbl2Yg zI(ze}2ff|(PuFctEiim>d9f?^=>_i1SK}CiPcKj??7rB=x z)wf=UO*^DLRk}1gOml{4%u7@G?=$zlULN~WMYr|YpQq;kBqF&^*7F<9fBX4J)wj>z zo_^71{Vk{N{rrnY>*15vEB_YEw+heRdwAWhr4Q^fKg{ZXAJ??W|F4>_-2RsE=eBF? zV(T~`?^e;fG4;F9sb9S_zUI93o>AKDx6QAX)9q+j@ivydEj@wCQx0y^KX@>F-?sjb z-W{>B(_Vaez{>N-B~s)2K8Akndd}PDe5x5^v-5VUOZ;UjaXY81cWZBhv9sCPaOu4b z(i`3RBk$Mn>F%qXTebV6rO)g?Ayqp6EP3SioJ?AGyIA78+oiM+<2&cKuX}%_@&`|x z?yZ_%pSGnNy!7kZtMX5BOMd*z4`)6~POwv~&77QmA@xzBU&_N^fyk2SEV?yZoqF|s zyuNMrtv{vhdn9i^)V%XSu~{v1e#7m9XVZVIp6_rlpxZInd49vQZ>ASt@cA!bKmPL7 zI&0MpYc3brA8iu4aAbR|&GFqVNpj+4D^0W*FWdjgF?(*)b~szun(#C!F|C zLaJRw!$!}(sdoPLoZMO8IMV9(?y64icTad#U;q5e<<&<&ta{N~S(apY=T*dvkV^|C z!rp9{D>UQ3z_Ks7?+dH1IN$h}vpo2}f7FTi0D<>5;oQ&Jc;9SZJzK0V!o)1dTmHbh z*vGrgXV=Il-OrDhw&8zk z_ntm*7GJRO&YGmy^_w>=>0ENTcja+K8;j~!yO;i6@UA26PM-9$57Ci3f7F}(j}VQY zySjh&lklUfKl#r1Z}ibQRrRxdblvh_|BIXd&OP&Z)BZPm{%$P)UVrr7-3i}o&X&A( zJ}>4JYBfjhHsAj>O{+c`Ecwz>{<70DAXILbhKbbKWhXb3aDJZ6IQ3WjE&p{Ve_nkX z=5TfYzlK+9%<8V~-Fo&oXIJyH!mYah1SI@FE#0E4&b7$KI$+7y6vw-_u8Ax^8`Ajw zN8DcL+kWD2Wbe)M$~O=GuoQu$N%U2(Gl^d@$|CZj5JKI?6 zr)KUC7MN%}!|VNS?+a=7jPIlS!8^M19^>Ub^dnaXFUmoe{!qu~3=O#kzQ-(ITq z<9_z+ljhp@k&bDN=Au#saRC$TXM4BB3Vg}G(ON%SvdA-_`jGIt$0trV?ObhD;Q1od z@x6Uo;pfBaxcjzzU3|&aoHZuhU(4jzHiZp01@bb^#5P7}^6w6KY3rDGyY$Y5jr=TY zvu@v5x>}Cwj#1OjnIHREc0Xob@#l!p!JTzUT}$jleZr>{I3Kqa&oQe#bawuSAcc)x z3oU|AvE=zF*RMG9((2&PtDAT9ZI0)(Df_(R*3NvE@7GKhT@v3X{9*R}=T>@ugFhs; ztGkBPiLk7F>z5f`FSccC-G%7g|5hLPyQAaO{TR&%gLhI(c~?2!&a^MERL;7ned$}k z!i8>IexE8@XSPUhZuDa@Q7yBDrbmr6`?kofEh$>ov57JF{^>TQ`dMyYBppqTdS?1; zkD2A%+L!OOKem3_>bZC3-21tzgKO^1N$<9p^glY2?fZRi!F(m}TbJDU?Tal}-@5#H znf)@E>*Y(9*YEO5%`;t|eJA@s>7BbXr|nw5a0~mcOOQ>#^iOiF|Ms~+ZX*-ofdRUsb2b5W)b7mpF7NJ|7Y2lZ=T}qt!BU2=>De{R=a9r zK5gaCJz4AADrI@0f5-csbJ}WdS+0?rzGcbF=es<*3S?eh*lRZ>`8#9Dq)41PT_wg6!(Zb^8_gTIzlBs38IJMg?_@&~!FApXjjZylv?DF65K{Jiye|&9VKT2x63UhR(Zdxx!Kps>f5WMm`EL2$7FTB%o6mh#xMszl6(36qc1>~@ zQoGQr=DX~~7tb$OCgz3w>eBr3sdnF`_n5Am)@V{YM=k|7`N`} z1=Y*WKA9Bt`GxVj`j+FFdmH#>U74x0tvlmfYOq%A1EE{n`UUlizZm_}+CRbT`kDoQ z-P%5%xD#69xT{HeSFY*aLz+kRzI=(YQZ{XIms`7B*ze1erQvx?zMEv6Ii0_~HSfbB zWBvPy(tB4voE$szp!JJO$M|ggoW$Re&fpR1dv ze7orREAnD)*X0L1xrV!~MQ=Tqd7E(P`O&nstv4SC=q96qvVd z=d^j*IR{V6$M}5Cvi|((xcxH!b@P2E&Qbqz&8m9kh3)4v?z5X}CVie{cC+cPWU$+Q zsmh*9c~>rOx|BEN@#Jum?}u1o?C)P%9sl#=C*}K>XTG(+RcKbf;IElLUfoOeTeE{_ zO}+nHyZ)~6Z>8yrS1xG|mwlQkFEB%PbNlqT-D)DsvMO%9+xp<*&cz}hSMp9iZ}a%+ zaY@I|@3i7}#m4SgkG^o6kPT>t^0l5-WV+ zMoO^E{$~k>FHH5n1bBC37Pid3zm<2&Z2yN7S>GnSxKy~Or2cW=gv^;vt;=RR$9{L+ zb4Gve!n0jETEpFDg+=KZRnv~2 ze*ccgxhF0I-2S*E|rIhFODaCDoK(`KW%e?|2cuL_%{@3-L4 zy5I9WGraA9ylQRbOlx;1_gF#wzcm_vGXG3_{zFY>(Vts4Q=?oC>NpzqcN}l`ZF(Y&5=YIltdne&4%AZ;eyC7hJY2ug=}RwBTw~&ib{Rna*EUej^*5 zdg$an=E^xMwg$X+iJiCjq8rEb<2S9%Zq;+?+CBZag}tn4JNK*jjpEnrzHRfjFOqn- zbjiV=EhabC_%-j?nCWnI*}=mvOgy?hntv_Kys_S-LVgBY-M-8TFQ>A(zROH_G>I)% zk@tO)F~oN>(0G7Tz%QW zi5EYG?AWg$I_s<-YrE#k2gZDrD$5Qfq-x#p3R<{LL-bsaPwSHdArE*wTi-OUOn5(o zYxeJDPJ8dIG}u(FwZ_Q5_0YAIA66A=T`_UJ;?sKkeNaMujVITg{nMD_`dRJ2+ zZZ1>h=HLfeUR-OsJsGtmPVZQHz$cH3rEo*eUy&Do3?+9>RXIHQP)f%M-?lToCpT2& z8S!{}wj~Fi{E(JmWbyt**lA#EB$&glen@7v%Z+;`f@=R} zGOT^4=I~@9%Y?Ol4DVW4ZphALSo)6h!v=Szlq>!X{i#wJ^`6Z0%d-;d+SuluF#T}M zotZt?^ul=`X0KSAIaV_K#lnvd-n5g;3p>*IeVWA$5i$0oYac)OtZKTae(r*{;@Ybd zeg(094PT*f&YP8ezsAE`Vybhvf)1^T@_Mn;nelY9NWuOhojvyq#MV{!wR*09lCZ^r z&-vF0#Xr+{WK4}J?l`gCt6nnUjdJUa=^HN;Ch4SX>2KX*D|ExigUOCRDPg%1o8Ohb z#+%&79R99LZkVszX4aQkeBAP%y$hCP;WY7ulyh) zhGk8iG@tJAHs|A)3~uOiHUIwJVsJa2xC>uSB+PKG z=WPnlzO%6Hq{9r+mt2XK=L{CSW2kuhkYn%v1&ZnB@^|tr4}3ANJ-Dt+z9Q*Rv*XsC zAAWAtJ+m*5_w%-IO*2=?eYki`$mU&X>v7My2lvdgtnhoypl!E>)oOw1h1F39CcXAu zczu4_hUIC_7T@oQyo*`K{r1_lw#+?J8$5r`jJx|iS+`bk_Y}RI-)G3}Sllu1?lY;} zYmaPlZJuka?Yi&Je`jZJU-rIPbxUUY+n<`@62D8xJG#r}MeMz|FLKSlbJ&z#tL~DT z`?pShgWa6NdvBjmzOOK^_v8EjUw{99_jk#zn9{$mimpyKyu=$?|Fd4(|I%va`mf=? zR`2(J{Ok2jQC)SeU+w$18E4x@UO2c$|N6B9_tXFG6)%%~o5p3Nu9_mcZNBb_>IyM+O^rW%kE|==-oEIyk>l+hD`R#x?(hFTfoC@lbG`i3C5GES z#Q&-NCe~KWz4C2SH2%vfBfFDKdeBz<~-M&X=@&w`p;cIe~F#+4#`EcnJz9l8uPRM;d|kA zw-4$1=m?$(k9#=l@1gt8(@yZNdppJGV9!VP9g+J#eAoQowdJ(Ihwm#TcD7`1`?NUW zNBx<+J6z25^KVW*SIli5&Q*2gm0zgDkKY>mVxOJj{ZnhQHAi#jjTXNxJMz;JP` zyy*1KBIf$}6Z?M!ewwNKGV|j79os%fUEZ{m>C~A6_m^jT^Pftub>H>Vnp^Aif&0%J zeum^7ZCv-|_3qVgxjyS;#MMNv`XK(#u50_@6voZ{6>oU#Y+9!h!qguie;J9XfD7ea_Cd>}wirb=4M4s|-GTxBPyfarVW09oe_S zo;Rg_{9dyo*Y)S0L-qI5kC@4O?Ney|XCkp;P5h7FZ*$&4L#qso%Kk<ydC5t(W@oJ7kvj z&eo~yFJ>Q33y}Q(=>6uer-QW~$N#CFS2{6RlI@?}tnIs3bj@+9`g_N1%G+-3l7lUr zQ|=tNzkI&u?z`LefB2qRoTD0gF~)m$d6v5M^Y}ltbL4ZE zaQ$blpC4PI8+VkM>2G<=GNY{PEwk=w)t7}!{P=A$$9PKk5AOQ;%LMr~f6lF%@Hdy^ zeEV$yHh13To6=@CrtFw@%HYHIkF(?tPL}@hJHxu?`7GTG_SZUl-x%@ysr_Yb6%hHq zb^rOT6V6SU*|@*oXVd&me_QwW7wAv_^s{w;f8lbuJx^ zZ{i)B`sBEWj}$DzW@d*cK6vkZ|NZgP7V=!Fy^AYB>T)N?RHXfH-0$xydvFhkNw;erzhz$J$Ejy z5WPF?(65Q%6{4kK2c|u0wwWLQ~SIJ$(PTtiFs@|MB+y=kx35-~VU#fB(1d zKX2b%^eF$M*WndkAO5>p&ikkNLssL%{Hf8~zbu%p7pXMi-d1smd*-X^S3ZrF_w_y7 za_+s|87q^Wk?TG@eR$Vz^smnSTTt+c z?ZMgWGMDdeeRluvg`jGyOyxCq4Xneq?k>;UoF-lU&G#0|_V;p975ns$&d)TwT3Y!i z%_1&r+uLtd&+j~W&@(q*Xxo9QVr$>&TW1~q9=YZDQiVkAn0MuugSYHu|6iXy_u0wL zS-A=6Q-q=|-zWc%`zYUSel)+mG&lHI>4x_+PVcWMJv(!UY{7#w-?+2&tDnxwnDgTH ztGNcnw`OzJy|wwVY4Oa%RVrx*r|!8KZKVG5Q+575v!f=7;u5nXrRsU54u02K8~NYo zPu_|hm5Z(kel+;EcCU0?>#7K3U+59&=;cnTOo|E$X;e*x{8cP;#o>d4Z3k&gS=6@d%x6c(MNGy+7W+pWp12 zs$*GqJ7n2=i6=+T7fiTvM`{Xt=k9ZFZ0?;kp8hV=?qOAlT}^D*<9_XTlp>O zSZwh9=;h3(J171Ttjmq^a+hb`yp^B-zK!V7`0YCx8LubkS}%RM}YSF$qP#6e5(3Wp%}kab+^&^uOe?=PL&aT%)ZlfeNIhT zM1ho>8(&xM7F&hyXHFmOfA#U4L-S_#x3lv2PJ~`D@ru0tS;vKEjn1BWQ^32iNaK ze_6|5w_k$Wd$Q6G?eGdeqv}$|W4vcR&$jEEemkMC`g;3O@x*hA+a*8s9^CocrL?W? zRTRg&`EM4Bc_IYe{)7D^xdH+#{(Hn*E<}3m#=I6U-8V}`eX9* zckFn>H79$L*eCZ^@ZwZ}fqPjlhdwy)uBGAr}4d#if(Yo5uf zrDbPJIjU^x%98$X{F5*3wm!<_Bb(0t%g3@~E;QVk^{Q}Rsd7G3r}m7?LT^7mYhq`& z+Igp`*6;ML^kYju9QG4cyZ^pI`VX75Z{ezX>uK@EdtH~jJ$`$`m7i}Me*SoJ=cU`+ zKhmQ28q>p{eX*@m>fOKZ^b)&MrR58YCX}3ibuH`P@r}2AnICmM*tmI5(XR(T?#!F) zb^cw!UiL8gmtxO8Fa8f@C^ zKBO(*VsNA|zy7lSs)V}BPn3h5{#9_8_D#N2mT3GVIZRBX|7|?ay}7^EWtlr1vM=9v zu4Tigq#2bfldi6qX#68LDlYqa{!itC)4Q+UzFAh2_uxaz!_pY}!!ubj0wtzTi{4#w z|HJR|a?L7=zdI7%vefnUZhE}-r0RpsKcB4KtorIsq^Gj9`HL?s^?i2PCuZ-k*D3E@ zaPQ91-}4;~PY!OWy}bOX*{srxZ%W^nZ>T!7K}@=g|H=8&F{zoAe>HQ;HoP>jD^dFY z#L#m>#S>$Tx(7b9O5#=OL;ig_+sQw_@xroi*FL%j7pKcU%T=3s-ZA{b1INcdv;Hmk zcG%wcbOqz(%kKR)MZt5c(isEH+}X_d+wKaMEZcIUVF5rqVZn2wr5&p zZv%>~UN5*lojZHeecv-v&*;kT){bX)-eG;zYh8Ta-w5f#xPC5!R|j6dTM#=X`<>~A zpCOkwif(vy^44ngDz(q$C3esEYVBrHF?IV9e6aZET`jHr_4TogYooVS)a9JfskKA-uekHB?Hz>_L{gz(P4a39l*ln~P^!x6SZrT5Iu0^rJBlZ`wGyil{ zyqg;tGrfMzw&(0?PCT5SYicPWe*KlKU-V7xx~TohQC)|P?YGYPwNmyPcX)-^20pHs z!`pSN?XNG|Ek5h5IIpBk;W5$FVzobU7ufyF&2@bJdJpu5AN^WiCjYWo@M!LK5w7*A zx4uio`PAQFU%z&V_w^^SCwW9WD_gcs{^#`f8LxV?v9s8@J4?*h$~*0|{kO{Kq?~w} z{o?qfJNyNk*X~SB=D7Fo+jm~g=XC+oKLuvkm)I3wHhNh0dqbT^Mz-Egje6nxh+%qe)s;^$-;&FH|IrPTGlhci!AFn^$ z6Uy$8-}?QZ#s3bU+gASbb6c<5d3hcM@_A_z20d{LWLHe(}+QGnMy~9@qad zWq;`V?rFPnqIluzeJYFBK5O2v)uAfC&`IFlho#!T9$a)RlHaTI@}#eL&HAb*D__<% zUnt#?xOic1$g^4D{O0z1j5$8;Oud|1ve!8H_p|#q=2>zGa{aR8Rrh?s~bF z&8w%)s$a3QbN%Xf>({=PV)NFH6ETA%$+nlbwio=3zBRiieWOC>Jl&!si0PEA?8qr0O1_sI{nIs*M-A(gL$TkpsJHVL`X$Qqg2r?|h4 z^--b~x+%hG3n}`F`r>ltXHy8T8;qTPyE0bAwAKiA;gthH~ zdD@)IHpQK+;j{EtnU}ex#?3X3^m@j{U9@#sh2-vEY3sgg$8CKn#r??wA$8u{z^^v2kv3hBmeiM9sIZJd0OF*t7ksm z?|=GlUyguX-1B8$a<_a}DWB}BW$qVqcRHuR+g<-BzX@--vBB^89#+;32Ob~%%ewA{ z{e1W1n^L<^*SQ{go^QNe<$pzIa(H|2`u|-`np$zo|JE1DKfLjgU4Q$(uD0^y(tfM* zIuE}*`0y-y-EoIKOBeoc6IQkOJN1~~%=;S^80EAs=RPX@H8WXuecjQ6t6JBmpUT*C z?4@ga-Hm^{crR~ve|(93)6 zPS<$s8(fyTF9zCuvVN4fZUrJfKThc;Ix+1D+ zDu-}?-uB1!;cb_fySwX4dofA&e}AUe=U(`0u7185uU%8_rt)de`Nbd9e~Eu}el6Ri zgh&u>$6#(BInsoZNDtWA=I}fB!EXaKKA!JR=@byt4)(%7-qbx z>$g5Wx$*M$d1AeC6->G6NncgoY%VxvD!x0uHdA2J{bgh(KoLq-^ZEZxMrF~W*CET)AKvKLUHI?0xPi6jk55W3 z!z~{B9!)#k|MEfb=A7q^Tb$;s`*Q2%c5P;(BYe4Y6r#I~S^Co4OZTv>J!v)f-2J}= zYb5Sh?lKil%Q1g-Nm&0-rsU>1BKOk{zPP@@eq#5DZ;!b{zT}^3+qR{DVbJnZ1-A|z z+0avO#q_Jz@7Id*32zl|#Lv2Nv|$a$$EDlz;*W`z{B&!(U8G=cVfg3nR+c@cWlsvP z&5jB1o}+SWWoTpcZILfEtIsnZHZAK7)zmLIv*qW(rKiFJKJ0mr_43vA9i{6I>YQIx zb3)qi?wl!qS<*9p|G4r@q`}(z(7ts$1&*&db$zZ^J#SI{bYJ!PmpBiJD(P*N_tb1z z5uBc{XFIV=JEr7E#s4_LkZ?Cn6S>{}(fW(dhV*H$ZA~t`|2RzKq2aabW~MCD96Zm( z9(7#ma3|{U)#)GfSiArE?LV+#`i`d7L%(+krxq;8>ON=soN3Otr)dpO9u`$(S}A4} z#<87Su=;<==2Z-jV(agBtIRgKQx*Ss?Vl4~0y~%9h@BzdZvA&gP4$8GTyw6hZWddc z{$R^{F|J+jt}a*}u%u+(SDy45u?x0|!OT|0`{c^_ly93`mY|M&qg8 zpZC4ZXPb5W%?pR)N_VQB+wNSDs{3H8rbGOWg#!7yw<4yfePUabr-Za@u*AzZDot^ez z^R~4UZk_yI@@)&(pSrIeKi1vMRrtQxxuz^vWZtLWv4@^qGqX_G`uoqh0;cOc7w*Uv zES9}DbDH;?Y@XxsFQ%O~3NLGLvd-?C=)`tzkK|XTx{?ETT(isO$fZ138(5qdzxONS zpKX84E}PYN9$xPM#nN=ab?-Jh?SD%KQMt^Rb0xi5CX z6hUWy6U~FB;X9unPrj?L@8!FuNy#^NEWNf)=lANn4^BxdRm=!$nf=4BI?i%2`G9-fgGt7ltOo$&o>q;;6Bj{EC(?pxkfJ-YGc(7l^R^B2_H{|#ARrLuFM>znJw zPyh0yGs!-iYoK#HdU1G7Y1Q|cHtFkbRfI2Q;kSI1TWIx>`-s2)qzaXw7I8nLwHqux ziGEwZ>$gYDSH-xUTQB@rd&*owr}o9%UwU%-COkHGLw@qkJ0GVVeP5)tou?|y-|m~N zQR`&=oyjkEr0nf$JK~~dQ@_qgSx;8uV77Y2id(rUhdAb6T{hL4`{Sjvm&2#WCp+m~ z`}gFzqP~sNF|WT_yuxM|mHldWeBgQ?U&Z%Z=Nt1H@$borXMa|#{&3!EXQ{nI#QV)Z z@2*kV6F6CI!|~VbH|FfoFGwjg%A51|XVmS@@&XS^e|}gs^WlzjyC2%ke!2I<#`++& zcoPlr@W`_A*X7IOK3p=NEgdh_ZY=Yf_i<5`<2paBgVXl2?BDYN70P??R@dy@$rX`Z~3JZw=*=>)!kkTU}Q%^+%}kzr&s} zJE~Lup6UL(!QxM3*Vn^bfBO30uDG$d?#8kIs*6Lv%IV37&3YVnnO~NZ_4fPMc864- z->BVXbc5gRhFS9qOVuCTk24S7yToi@^K|lwtm)H#WE@!|{m+}t;e+R~M|0J-f3%L> zzO`RYwn0O^ezJnFVbR}P8v9P_?)+2SA5MRk7x9@Q-x58$b+g*u>WfGOq;{*x%20ps&{^tKmWU#@mINfo6}nlgg#UF z6SzaF;9-HK+#1*4nrFP<3GdI3v2%T9Dpwq-Sh)R(fIy;?lK)Sy!q&qJ`4@+_Ikav6 zwdC2`^oplq`}(DO+7x)@?`hV*3~#&cw=a0^#$paJ>*;6TfAu=N@!((CvUSc2Hr?M= zc(BFd4$tJE^PeP}mY4Hy*yc6;QR6001Jxpqb3J>k9xs~S96s&DkNb5dEamf-Ywy&w zIqb~$^nT4GTbAq7tyfx4djEgRiJIe!Q=JV~?fbsE=7{f|pwIVO?aw-YsCfMM(ue$d z#~r`7NNnxC>-<5Z>ZD0~Z|aWk2hK~h?o*s0eeU`biNFr`Csv%_{zx@FeYotPva{%q z)!v_vRI{F_jSfg@cylP}&$&zG|DHY4(fD=DdQTNMv-liF`6Ve41^uE%%2gM&Yx4HJ zFEmyas|daC6|FU=Cz?Ow_KfU}30nCo$0CZ@%j;)N`u24nBe#wFq?k;x${z<`Zmw@% zm)cmpW?R9Ftw}LvPbR(UTdVWI_iORTeW4xcRj;mly;J<&7_YkDuvBtK+^YNw;nren zIDRawHF{+iRRwN@())5)-jS(&dR&}UxfGiP4)RMz6J z?!S56y$h~||DHA}K`dw1jvGzwp68ZJ*6E*b-Soh$%&C6iTV0!_suTBXPhws3qwMpK z)b#~_E?tZNQ>dfi_v_MJ!PvI{>uWW?mPa4^FFU;Gv#sXzaI{(j-f zKc}aB`G4^LbNP4s-4Fl$p0%PP!~S3U?SIi0ssGp4{)%{`x#G?>?PKr1|6eK`{L5e| zcW{-#Qs&@a`b&QYRp~GN9P~?X>Fb~>y`_(Xe(5f~9aN>e^m5QIou#LPs&tkf4*I3N zbazmd_R`HkzqFRF4yw{xx;W^UX8qFHK~Yyt1rNu$N z)RtxkRjDma4*I3KG&-nCb!l+WFO{XA)(PrH2E5NiW?USS7u5bKozjrK2`=f>R)JM&ahxH>K1cYx-cQgBGwUv%+rE+qfW6ZnMiDm-=T%ZU{L3XF@qM_pj$s=fiT+ z8qXiMWo*ok*ie4zk0kH=6L+sp`NX~^Of2C2{=(NrbASC#DRucgMag1?#PZm%UH23o zK0N%!@N8S@yZ>+B9%j*XchBtolH5{tYtNbLOE2I2iC(^1DkZ4?-$dt0!fI-<>T36` zTlOc2Zu;9J*=P3uN4bV;+<%jwa)ySx{F0LjOmE8OM+Is5DX?0+O=_Fqg>`BnYXmbC9{{~!1$FJ|$hzy9L)ix(!x9Szv_=T75_8G3#3 z&)3GQeXaC8Ev$8L=`G6y4coKx=G{E}ar@KizmNAnxi9+dNrcj!KGC`53V(!`|C!b7 zU3hB0q0)yrzixRbnRfqsyz!p+w)yjJRsEU&CC@tS)-KL8;nnMOR&C(_bL!;&(}%v+ z&;P<5(RqAp(mRLGO-;FN7w=pATpktg^v`R>=G%H&`qMp@ypdV8BlYv#$#J)iy_Mg8 z^U&MioaDoumYY}S#b-YGk=dNCxA?j7gZ=e>U*qjHZ2zd*HqPU(ue57C<^N~tAC^`2 zf0q7Z$+G|9{abLw-_HG8>>Gde|M31VxZ;23{xA0RjmP-^r2Y}e_;WD+n0(_g{XeOH zgfjjdjz4DK_>BKg>OX;ue+T2A$u~aJ|C9Pp=zsFR;^pcARe$u)t6%v1asQP04p09_ z|K$w%zkjQI<1PKq`fvRgeEWa={MCAvSNrS##QgPN@bCZaABq=#9Q<$ekHh4j(SM^l zPLsO-p65;fahm+A2Qlh7OzMqR{yc2@pTp$;zmLUd$euWCCM(|boO?dNIy(K~UZ-bbPSDo19! zjAr|s+?I2%bIYxt#7XzG@=H%hcbd63v+>t|rQSRJOAZ^V$MN2m{5@^HzE07VJByp% zRe#xWzW>Yrf3=oW%JJV%v1FpmxN<}3dfvR z-*L*lVCwt_tK<)c);F!L>bzCv zQ|&|ZU;PZ(yYf@u*JY>tug+d2ADZ74Vj{s+bVVl|{i{7rgqK z|GBvSj@6l`?CZW9m}*~OE5G9ud(2bzb-x(H|2D3!ZCL%cVRdce>c5Sv>l;@8Z&+R5 z7_IDmZQEw=_i<0!F5Y-P=Zo;2*J4}a0$+=7&71pwWr~HETlDw%Yof2-YyMCC^V&M1 z#r`?#a#_p)!!BrvQhWubnN@d4!AJJ63fo(;{8itM$Ljm6 z_Pp7bSk1lrTb|6OW88=DE?d8+C6RCWx%a!o%ed!1`h5A|C(X7{SDlhe=gkg0UX>+Q z`|`ksV`pkN_szI}?ChFl^pM;rtdyMs;ZNL5g#-3LdH3qwam#fYbFOFF+mM>Jx7=CHyu7CHe z<9hx_J$VzV|L*Z;lQt1`&yR`0!o_R%zl*MK)crGQOYYA`c%v|2LxBga2{;mJ5X1BGbcE$M|$2Wgl zoIE{$O8=Oiee9txJL|?R{%7X2o?rh!*D%X%ZfDbskMs7uea`Ox(A&?4yY`E-z~Se9 zJtsEo>#aYb?|t#A=pngVe?nHg+SxceuSWcBsT)VIF8?h1S#NsSjq$}JMkHwQWZrWb0 zX8Nb_=<4EYtmm}m_Sg#gU8^a1A|bc&<)PajBo9SADqFZ}_1b$sc4=|<%9kCwQGZbK zy3CcgZ$CIU-oLM5BYtdN%f5J}Cnd7>Pn9>6H8yaF=`W~%e<(Nn&!xE&%`fY^Za9){ zS(;|e^ntrOs$#cXN5b{IwNq`s8L`}#t@HYQZ3RbIapg?Y`^Mol0)KXyo^jb|nccE( zr5x{}*-Y<`sNNSm$|5Q!mG+GF!7A%-b+aw&b-HSI2Q2-XuwUOVy7I`Y9XCaEHtA#> zE}Ab~k(@9k-S3acx?=OscPi%ov)**{U#IytK7+)ZeZ~jp7_YBCpn2}kU&iFmU)X!j z9*>ilUB1`AZ2zwXEyn%75_0x^Ie25wi}sBl@AJpaDYRoqeq70*S8(jDLX|#GlXkic z-$B)L71H%goac5V9lY@)(NR5p&YzZzA3q3}75=J~IQFYtBCPmVA}FUsbbo$&?X7td3L%+Wm6LlCB2=<{wv6*qi^kZ(fSz&TTIlSzgsoa=ZD@! zHP3q^1PBwQvseW4dfjw7Ltz+4zti)AMier@Or=3ea6nC!bOpD&_ANFP3GZ)NC zTCzVyP$y$d#>H=carwgk`0wE{pIQI?-sxC;wBq0AefHZ;<6SgTeDyre1Su4+Rk(BR zO702u?}8tbt2A@I?T`?XielN6VgE6H{`0T3HubDKE8gC&IQQt$;`NU+j~qRw|M=x0 z*FZhBI=S<`F>n5w%u|dpdGu&{|6|ExuEKhJ-+R)P#B+C8%ckXEE4&M1=X{k;3&Wir-dof!cE)oj6H4{-aQ_yCgPC(@b|4Y-zT5Xo>|%w6nFS- zXRK+7wCARp8pFgi*MJQb&Gl37>RdRkb#&WL9QZgWl>kQ@?&OJe%(>H9!17m*7)L(N8IVrUc9Xd>7WV@x#J(3BH^5 zD600S@P{sVpFeH3Pd;ZPU4Q!Im4bqkN}fgPM!RD@b*kZ! z?54Zh{|aZU`X!OQ_tY2euLh6X<+B%_j;Zzez-uO(&v5LcuCp%Jt(3}l2cGuxKDfO5 z(7SY_$ar7*`?DsvZHTb&esDnHrrotY#Xqmrn>B9STkn--9{I1?W&fvswF%3=`UQW8 zblT?beJCTtxa0o5E$WNhW8`=1RQ{S)$i3xEC6`tE$$vA}Nriq}$$I9n{#KcfbDiz} zr~dt%ov(2H;idU6?kA=E+T(ChHGg4U*T&TDU3@q1=hpCN-#?@;`HboFG1rv3cV<`D zy;r!b^y78?sW0~}rY(AC;QGea0XZ(cA55% z?X5W_0pXX9-@8!OwQGx$*^&vDXXfbdJ$iR`N7#y;A;J$om$cb!i&K8JIY7F^-)u(u zb(>K6)wO|(_ip9=loj;ublZf-PtQH+NuQWoVDRo7tM~4oDb@9ITdVJ1W#d1;ygDu7 z)QjYqH+wZ_y)AgvaB^bj;*_dA8DUpC%Pb`K{h0AhZBuQ^-uiROw;rDUJZo>&zWoJ0 zH$sj(EnqI0VRpOf(9Or+kJbMA#dqS8r_5fz$(N6NS>M03uJnNL>F4vK)=hr9(e;?! znvKjnX?O1jf1CBj{!LQ-(KGz@57w&9imMN4h~3Y%x>jCcWkptQEdNb8Eh{tI?e+)i z-YuE#WVEN z$}pM7(OId}E^r?Hox^UM^Qs_c*D2@q`Ew`iT@@M8-+rb)d;g)m_a%k-qZ%I7zpJme znDu;T{R_EVwZs_aY5vPjW!Fys|9{{AnFm}Ss;G;n&Of?EFQ#n&g;Gbi;I^O6?-$+d zQT5K-_t4UYOTOFdoQt~0#c9jtRa}03(VIgmOMp+#`oa5hH+i+Y&uw{)+s}x<_&E7B z^S5`AOIqbWWcU3M+oXPbe%E$0ljM> zVo@R5lU_UCV|wfAsgQr?NY+P%%g3)+cb@lce4KW&`0p=|+rN&B|Lh1^ad%gx*p^98 zlW+W+W%-t~{?3Na&lhi>{CaAsUF_E?sV{f8YI@gfouKpn_}$|_<~x3w8S%8srl__n zvifPu-{KDzLdIL$!>9TDPkj93m-vINb;+6PZr9qEEt;}yE@QXuo02(o8?Lwi&^@2G zr{%hI|LQklbKTe7m#=(QbE;*M5byfR(D{Wr#}w7iYDnAV?YLxKzqHuw=bytX|AcdN z*nhNnm)9V*Q|{5vhkZN|mUq6r?Ru_MR;?!0@#KK=v!9cu?%RCg=Q}IjxF-&8=fAd3 z^O@&xYuTUuXNwyPlk|KwCdTMT{Z2J)FFIH-zvskj#-cs5=gxT~GKc+lY>M9@_o6*V zm*kes{mxZ#E%h1q)Xldaf8XF$|54k({zmE+r^Y+|*<8M*n@_g0UgDo$Q|Z6#I9qB; z)n~_~^#_|~-aq+Oh zA0GrJ?Ek+i{B*qz6YJDC_Q2etnhOUkX>W#h?vc;uxJ@X%Y!Lz>dWU(oA~%)>L1~U zQV~~vsEwcN+{p;)d*X;Su9-n;kvQ6LGFCSA*^r!ojUADMX-n(4#eT9}yhRpG6 zYad&F_djeArQV-@V&2C!bByMF+4HM#&wImpQ==Zg{IWDp=IEp2#p~WyT$*xx^C#!G z7E$-5&o_U2d@@Mh|9j)C!X@cF>h)!HHj&cDFUMBd%(Yr|eB;-T6=w5f{U`T6{^^uw zlYHXi&-Z)gn9uVwKYsbsg^GO*AA4q6&AV~@RAJ5;S^vEkK8jeI&GXAXHrX)U#(BfX z9N*Ov?!PX63<;3-Ki2-Ka7&+@f6nm=wsSK6XMb%fOt~ZFzxnOsn_9;6uE{Qad}5FB zyn4UB$DO(|{=WiFS|s(<7oJ#=bNuPyCLVj+&s(O2E>_t3_2uc1-}nCinA7;|^hN9A z&Hjz=H(hBsaJO#5;r%J?FXts}$T|M(zYIt7Ynw~o)l-ff_`PlS!bkD>&bxm}F8(~} z)-OxWhP^tn^iX}s^YCcXbi2kKrteqttXp<) zI%B->ulLI*EHJ8`^km_4fvlpy{HmkeQ~cR}Jmxf&U$=*4*1uJe^1F-@-}zi@ne+7K zh6}}4f6o5L@?+nw^yyCzH0W^pFPm7wcgI+J*44i%?3?`Guk*Y;iCaJEQ}ev9PY>xl z+0Jwb-%Ch$*K3&+;Z=e z+0+-$HtO15nBt^Tvp=+0-*V=SNoVTfgdQ4Jhb=kunPpMboS6mM&lx}7tLa}7oN6<% z>hqevXZv;^(Q!Oy*HbYi{Ku7Gt-c*AE~l>8qSCfw!u^P`qifdoS(O1 z($>Fhg?sMasJh;*u&B0s_qql9>>obN`B^{9rbF=a{<2Nq+mC#*T`u)z_uK!;G96{- zW|pm5!urnqBge;gd5rfR;@_Iro^^;XGFotTzvQ;|)iY{m-sTCf|97tP_b$#=rH@nd zWU`p5UNfz(o2X`Snw|Upa?_^2>-$Admzg)EzIr`xy;HBi^qsF_UVmm=k^l3GQPOpW zBa3|Vvg(a^H+;`LEZzO7>ciB!DKDPH^7p3A_Pg=m>xcI6_eakhwDR~ZI_LfLDE9p3 zt)CzDU2!yiKWX+e?pF#c|3*$ee?2N<>gwRt^JBQ18}((@#%3LS=ly5SIn}KjcBg(6 zIi~S*Ue6X)tIt^ppO+T3RZ2rD-i}g&imR6tpFmGMMp{_oz z%SS~&*sWNy{9m=Dg*oeeP9Kf-Hu-hMclahvsR}Ny^0VCVCqMFN$u!5#zh7P)+nqYW z{*PMzv{*@zdy?}W8?5I!^oYAGtwxje>Yf7Ldsl)^7*|RSgRiVe6GFv@o&;kvNoq5n!)zBeXVo9y>jTH>Ib{(-?i>MesiJa^yKGwBEJ?oB zx7D(O0cYEk_Mf_(E-g_|=P_^VOE-0$}uN1N-sZI^NLkB{`e@&e)9s?qpMfm*)N)Xx^t>^ZguI=QyrJuo>ooQ^6q$< zU-NPO_3qB@dbay-ZUnm2beL{G8>pvJB6Ii8G9zw|We3Ho>!l|8pIDkX|2lt_>x{VB z(~PoayO%s&6IguhysFIZ8|P0e9(ff#jqR&I%R8(0wW~fxwwzwKM7y;;UP#+4@BY?k z>$wJJew(ahtM-dop#4T@y{B^1@^$+TfB#^((aru<=80C3Lr+iM-juA`d1UvIjFasL zzjtn!#=5ni?~dXJ)4O)N>v@tn?oV$mPG8TdDD*96`<-P19y#y#y)pCc@%!_(*o{la zzjE61a)BxKXU_=!;43>nlQYWkeuCKZ=h9m$mdS6g`y%=zi}&RH^#+!6uBS&o7N79+ z5A#<23#UFj5f%8$G*!}alD)8f^UE{yOwRYtPs}UId3N-k|Af8oH+=m*!C#@c{`iDH ze_4EQC7Cnrt8w`s{#JQQ-5Pmc!=D_7FDtKm_UBDwd+oR2OTyI&zmD#GqVIXmpa09} z`G$9bZ~C6oEGSn6jq(ErTQ^4DYkn)R_}$LLB`ahXEvuW6E^(EwJJdFQhHQ3wwpR9u`(*|4 zfnRF$?(^0AeX>md(RRz>oUvYJlB@I`8`aI`w)=RO`F$6e|L!K6(yF}bw8*WE6%Ug> zO;>rooR>*?*BkbITMm7C<`evUQCNq#wZ+NLaoQE#lAKyq+Yh~HmcJ^U6Xn=*e!`zz zR!2KI|5=CXU+uc{`s|I`@az90@{g5BSSA12D{!}>hlf!luHLHbzcaVf7KwWOBQIoj z|6jPcTJadCi?ho^!%G+T3Owdp^jYGi!N0hUZ(?`%7jYel?K_0(TURgmtq^zQ+s5CrRp%r!H=g+B^4-oXIVIq`lh%pz{g2A~ z@4mm#eZkiMk%Z)xy%SDLWJXWiD-y`p>Mv1me?-I0M^5=I+phPPt%uf5+*{T2g*E28 zlXCKROOq0P7k#HPtzFMKUAL)!l7F;IJnCGjzDm=hh1H5t+Sm66NO8G;cdG9>eZsD7 zhjbzDBEBy5{x>Hz<|~%uUv7*rbh~xh(CE=b*`7c1I@|@;PPorYXKB7I)j>)+a;ZxO>dYr!8H#+xg^= zFLQs-%kg1Z`0LS{?0MOq(X-!u*JQOy*W=lzx_4sF{{wA5A8<;%pRw#??3}gdH~R43 zvTIJMC|G)ZcJBL2=jKf0dtUds?(3$oi^ns1+P*YRPp~|GZN+oTpEbW`n~6`)xgoiH zZT%mI<}>pZUtN80zM<15^U+W38&zw*ZCagQl(2Voa?}4ZBRk#5tI2h8OSEqO>+%&) z_*@>l|LqU$f?ZPUgyy8RjmZJ@c~KzZH`B*b7Ogp{wjC6DlPr6 z^{&2Y@hz)M>(>9@xs2zTZpYcJ6{ptSXS%=W^V18~u}iWX&d%_u-+b6&GgHZSnHj%7 zpUk=xrxfD-uDo)azo^Wgh0FU{?dHYWZRN5u4)dG1*I}Ff=Ep~#9MRfQJ1u|H4c!aJ zgH|!WU$>$ycB_1S^_@eW`)__#>7JHlaN=vI+=ZW=$q@zHmKO8wdHvpC)g-0c+Nu2; zzaNPzkdciPm)_?kzj}^bv~(DExp!sX%V`^Ld+)j1Wuw2wc!y2u|DUNTfA_wz>ae;| z_-yh&zwM?=YIT0BskGg*DSDa7_33Z?H@?3fa{F~+=7Y#U(O}(8b)ogorRGX6c~&Pz6=lJ*jmk9lV@vwcAua6@9+H{zo&2iaN+yvUC!2$^LJXj-2B-(W4GW1 zEfv$o9Qnty)SKTYL&=8`JNx*u{|HM>)RgU4^UGFy@vlF6-G9S#hfLo8s^iF3Vyk;AoJ^Zi$I{`$PHZ^uNzh|PuE6MoLUz_)e1a?CE{EfPiEn+@Ll zS@+^#RMOSOrC0lEt5SZ6c3pd(&AE1R_n~d>ThfwD1n-w@jB@H-pRQM5S0N=?|ET@* zMAIW?`{sxSJwNeh?z~OQR$do~y8a~Uc7I1o;u!_Un>|@c7j0|V8>M%p{7srvbv;CQ znfd&GVnyM~m)Wf@%v#mq+EdZo7Mk)m$R}G&ewEU@iuj9~2H`66`A@gFX?5<_ZrO0; z$j_92Xa7z6H`V1$b$RgD>)I#2{H_1zRW!9FakIs21npZ{g` z+y3z{-W)AzGW@mt{k@B-DSu__XRA&Vbm9t+uX?Zkd9n1DmMc?)yt&ucYDhmge<*70 zld`^P0#*LKF3fvFJ%9i4I5S7+(ND#n{R_jgPyUI2_aiIH=Y;r;3;lPLPJ5f@#aAxt zsDGe&J8QfDw4DDE!V8zMw;s7ByZ5(o&9%u-gLf?s_&)2xe(i|Nni*^O%k-X0-p_s% z{nyO>m(iyBjPpuswsLdaoU{4T=K74ub-(RBe}C$BqOEe(;L_;j`1n}5dB1LBe<)mPuFsT50ld+PFbh3OaWr%t<_ zxX5!_{!g+0do5kAo=M;SI)1{_qtA|%-b)c^t`^s5-xKZrYx~plf0Dp4j)H@DTuJ$v`V z>jlfgPaAWhkJ**|{`dW}YWn>T>2GA}9e(%z;4Ty?WGR&RsIJ6a$WbUz$goj+eg+%ws+(UL<`Io zoGl@U=j;VD^QbtEDz_Z4}zbv{7aw&qk4rEE^>@a%>d%Xqv>BWcNt>h|Q6h zBlR*R?}Vja*B=up@pD|Ift9pF`OXclX&0lueSeep`d%!j_~g*_KfM1p_09k669SP|>FRS{*VnI1QU3i|(r@ikr|Ji_ zm%L`X?&i7qy!(7)^ECzQua$QhQ;Yt0ZRK;9-@gt^Orc`0J@w~a>#=4vA2MPkBpPibQ`sO|NC)W(QdY08^K6mroob)?T z=jrv&JDflGg`HMyn;&~`M#J|>-yZnxe;Zp@&A7Yf{PMV>hBN&3-ulrKe^;*gwB)D1 zyMf2t(pygbvHMP!KK$mccs*g&=iA5Md=AW2f88Nmq2W_tqk5=r-|NMd#d96c1lA^e z&QC6@Ub7{yxNX4$<87bzy!p1OzE(i+8Ixi9IX&wON9^X$+*`Z-r-VT0``6D{Hhf-R zWAA=M^vZLC!+Y*+m_L8gtEdNDbGLK3btdu#0k&xFTR$?WTl z{$j&WR$0J!{@!DQ|BH$qyn6fQ(~J`(s&g398%0az+m!t}z5i^^UB}{APb_t>-}wHr zep;sGW{~z4R*>|}>Df;)OF!Sn~rFSFd*Gh3*%QHO9`sN@1!D#fL!lF}<<-H&lgNUGde~`^avlt(}Yb(y)sUk9_OO-OT%Z^0$nrhBoybr_b9j zn|(Sj-uCI@x_J|lqd(hzVz`|)@7|TioUecM@2!4#c-!_TuhxEP;;1z|`6cn&^ZiV} zMIP@tP@XXF!P@WjPk!>P78m~enDx|Z7is;@4aZNL&5RFw{xIhD+FPPR%}*+GXWsZO z{`}y-=iA=@b$;{7=Jned&v*~-y|iZ6+c)2mpKjSv(Y(a?;@ZWh?CdkBc;W+>Ix`ieyEM8h{d{@~R>Z7x>{*Y2w z_zZdVoX|fqZRwl7ORr_T%ADu&^yG?Ls~4*+d7B?D{mO05xB8F2zU6$XX5!;B1HXP1Cln4N=d%u3cWXQy}*B-%owjvnG`-t2n_T{-`W5;&6((7-p+F@`xABVaQs}3eZPa<-hJQn_Ohy&;}YGV9~~Pf z?5)oUHH&-WGUK1;iij0wx6L#zv$yl|sN!6IvhK(||LE=vUU|hIDvx`D!#A8(Utx0a z1;@k3X33ZGT(`w$2EKdjvFGp1y$Oyp)ppnQJFSx8c;8!}Ilp@Djo-GLEw35NbYwf1 ze7tjE>zhw$tKV!@m$TU^v)|Bl&X%utcE6KXlZ)>B)TwhJ{r2p4M*M>6weoXoExPaS zYkmFwm8{a5b!MtnYm(lxYrjo-!OmH|XMNkU&OEDkfBxs- zHyrM}qt;q-zWHlc=5@UO5yMC8PdBAHm{OXVLx9Y#X zy*cyc`>g|d`J4KV)j4UsKUq6d_07LUswO+%Dm&f($gBJ7gdG2xrr=03m*bapcZx;2 zz4`WV=E;2LEmxSf^oKzc<+Z z=V#j^&5sw&FZji@t^W0cRd-!t>u>q)U;5_xa-TVI`zN3H^mu=))bW?|8FQnxAAPz# z{o^;b1NZ#3*T22*=W$N(N&V)ASi8*)vd?unkKgaL62G?Lys$~^?UiCJIU8TDpRuF$ z&7UWH$MaMVUB1?0^(X1Mct(XsG55pFhc-VK)=TfUF)TDYqP8gd)t2P*MrGAT8Mn=5 z2^UnA=6$OxtB-mecg{fd%cWDLQonEfb+k{oxno|(=MVWNmr}py_pG?{KZr+gB!d_?y3pU3KK!<{wyIkK&)=7=kx@Qd(Q~8A@DlGtU*~O%UCa9~ z>AHV2N_oAoVwc8Up_JDO(b6}gH0G*#EpL3odSYJxqm>IwK2KO%-}S~)V;+~+@}3;m z6m5lSF)#J@ODC10*=`yK*kn%eh?=v6Z?d_?T@}LD)C9FcmEciQt$ZE zZgGkH#JkOJ^hDMRFMaJ$W?jE2I&jZ-jl0$<`yI=;H_Z;%l{C>3f!fY z60WdY=BT#oORovBEpMDs#21wO)VQmi@?6Q9{it%luAG!~rQfPu(;F}Cb@*1CV((fe z<@H@+skdvH(I)wY6`mTgOq=ADe%p14_g}i}`b{?FxT3Y#(r(9>izdi+z9|r?*XLQv z?f6YM<-WtmrodgVPw+XFDQwDLTqxCkOjF5Lto8VU!cLEFw|^Q>`d#W=qFA{2-5+*r zF_@w!^3!>O{KPWupZSXlTyF7-$n{)`b+2=|W%`8Q>7TG9}>)*9{59b$~&b`%9r#M_Sc(#n(tocvP+!nyUW846RS`2o&Rk<(eGj1 ze8_)sfy*t;Dd(7f`YYKhot6FRukgQ6q|c+=`QbVZS*5oUpLQ$kH~yr2X->e8K#@KV z>!wSVO8c2VDPMXs@xK9=`x05FhwOn?)=%7*$U4+TKe^xkr{hbl#vQg+Q zGOe>07P!pP^x7`?(_Fz`DcAPXdgp&zHDo64V{4tgprqr<@BjJsJUrEj8~!F+91BUB zU%p`mXT-wBW3$uw#A3B4#-y9< zyLrd?Uh$3R@^2LM_ntkl?se{#nOf?5h2_5;T(HwSH|{FObDKLS`b(uh{G0VT;+y*K zJzYDw6Xx@nOxxe}W&csT|A}f&H^P}ePnM70Wt%kryWumHU**jII%+q*ocHFl@`@q8Q z2aDc())q68ls4)RF1h>vBkS??N>1sLSN>&1N8LMNH$Q3Vq8l3;1D72-CY~s>f4@ZS z5ryvsN9KIqZ*hL|oKq5}8BZ5a&%ATY^8Dl_f6X3jFWd2M(y>f?N6lmM%=Jeb-rMpW z-(vBxHQB&J^6Xu=RR?mG|tzrEPr@cFrm;WnvF_hc!DQWfU>6X8L*UWe-!p1*C z)`-hu>+H{e1Prb8*Vx@#@cXmc@87I9*bAlPE$oXjq)SrfmmA7;hS>$|SzH+L{khY& zz41nE@~e(s(@tS6xOClb^E{6EvhKH~>su^7o?Rl!lCW{*pMN(O=KN*fZ8=wwL3VoV zjK9in-iId?r@m-f5SEj)-MsDdo~D^5iXIUY1r1kExx8Pm=!Qy$q{Xwy&ogW99l7#E za`J;&XI|;HPqHkV)ATjvL!@}@^YZzZ@9TMS9lDVE=F5#+kxjYl!!t$OF5cVh+RQuW z+ohSp^~y~Bu5sHwmKQ#{zUq?8!binxx0I`-|G9GR@Un(gl9T_(d}P>N^ZuFfvIC8b zbMIWKo%5^LX_w_j+!FGwgMgF-pwzuzTYnzF>$n98DziQu^i<`?%NBXzEul})J z>}2sT?FzAEttWc++mCMV{k;FJ)>BcH1!g{b7Hof_yu0R6R|#hU-^PI8XHR?FRhN2k zcG%9bJDIJ1ye#P2l$OicCFL6YMZdKDRRe^|mY;ufEBnl~`vyBLeLNGMNv&9&Rd_0U ziPvm4p?RklJz+=W;`sQ;^nk-l4(O|VJ^udqoS#LB`?iYA*|9H_ zy+&=r+rZK`5sCVGqtsXV=YGVkQ&i*C3N^EgyAiT&?%oTYQg5D}-D;Jad0=LJ)YMB8 zG7`4GRrl`8HP^W`hfiqP`<_z~bG~F*eR-LXEOsRQgw^?V`TrhWd-*_fR*H1}`?ZI^ z$zND{w&8Nv@;&EP72XOi$vngJqqf{FJlJZvee86@^aHPAzrNjHWAS%+*X)xHFEx)( z&+D4=E$_1bM8;oB9$RZm%=we#n4@;*Z^Y%RH7)&<_b!t8tfRJ8EDf@AeNSKic_ab?}C zP?h7F`)604(b@4iI^FE8VESLHeUg*ew=VHKr`~4y`1hNz?8=Dc3KyqMJ36zzPK>8A zA~d%w<)>)vDDd3&9PGni@;++L>A_s4_Wvw^36xr>k&TTEwOcf^X6*btkR6lJXv4sTJRxs-q*52NoBvb z?&|GY@bAODHD?sg{VBUF9MUvJ@#y4Jr({$9Uw%C8m8RqVJ=IT7hHSg%zCN-nfHNn| z!^GX_*t5@{98?QtU(me1vGeV5wb#Z|5+>&Voh_Vx<2B>m8x1R2Y?f}>sqAg>($>*Y z@>i&G-qyR%ZO+e6Tf}2^E6Dp^3&-tc)1`N5H{U*HoK?g4=A-}gn8J9;XQ{hiz)R`)|5~GGA=H z>-JZt4@MB;+l86 zY^99O#ox|)GiNWunbPL(5h*?E`?sAh%Z+8=EKBn0diwa=@oBaFPnmYq_G&G@X)ITN zC@eGo0F%Y8w*Q}ZNqQfD{rSf9-3(VIU6+xwbi7_Ke~$Tt(~gz9??$;L{Q0fFZ94xd zy%y*B!ggDAmhI19vF)7Gi@VeB)Wvt}t>1Fa_Rp@6MFQ(3V(V>7lEs!ebo72M=E$#q_;_Z-DwW&+#62HBpX=eZ@Sac4A@5&0fiC;+|Jr@ZN5^hT{fpb3 zh5y(h<4nw$t>?;UhS{Xg$#;tCE=o(t5)2YQT{FFR`h3yf=MU&fc`SKfX?kwHLbbQv znFEg|{4)?07Skf`4(IU{58J?E?DUtWtXH8S4tbh-GN9Ij>Cx7TmzQR{nK@-epj z-#rWaCXp$Lk8ZrWe)`z8+x?#dJA8j87v|hd|2$LL=;-m&T%uKvW+Wfl{c_j-y1wJC zXI2LY9+cfRe8rl7MKa+iUP6z+1`(5$LLcY}_^jSyZ-ZI85FWx_{5&pEmD2C_p zu_~^=UdMh)xvV_p#`9ZY+qW6V^6G{5{$EwromeDR_1sJT@@@0A(*zGU&6O3?ziD$$ zT=9>oNubZl(BI3p&by*sHHFDXBzy9$g2$WhS^RIySyQXil{-IN@R!GQJ%87=^EA}- zwk+BaUGk?!VrS5DrLLj;N}-)b86?jd-HFd?Qh+DkJ`nJiOpZtAYLe(C-90Uex)l1+PLWAu;z z40v*}+*a|-%A$6MZDM=t=XM`sG3@n!a(k8W%U{o9-spFz$Q z74J`1_&hh4^;*rcq4L_P(?^Tjj;+_8_LDo|>cwy7d3P7bPuF8-%sKt1SgmGB>EqOc zU0QW#95-scoLhg|LcXUb~ORZN>2v;V$)`b^&F&y4-&qqn~O{_^|tu%ycy_x_sy z*?Y%}PxUJ<&F(u}p&4!Q_k+d%jve9s9}}I{uL|F^^WxX=jckt(3&|X+c2YX_Gb1Hx zt(^R^Vh3C04f%88T~=iuuQ0qm_tZq!#xEax)_s0{^n`u#7q`nV9)GQ0AXl+*=INUL zd6qW}{@GdahT24U1t(0s$x&M)W_IgCLiwfbN2?+(-Cw^tu#H{&9KZME3Qf=T>p8E7 zozBvnYW(MMjs2!wH`}CdKb&6o^+wLG@9b@}Q+F8Z=bo4U!};ZTa`c8wiRdeBnVsP; zKgDNVo!w?CY5P9EXUX>EH_VQ;?yO%Qal+WT)9(MO+kbX$=&oGk99sG1dF-u5?r80g zDff3L?6OrX4=GF%_51h9DdusF*`<4lhdVj*%6}f5w>@J|%@$z`!`*kTU!N~^>Hhq= zVMiNTznsXgtDd^fUeQFF&u8_~q_2}}zx+1cono;;*Z%9dz45CI;?})AbYo+=_qnb4 z8ug36?=RghXKfby-zI#oZ0vs5>SH%Huy*V1eRAJny7`jh^LZaHl_}_+ykP(TEpfJH zJ}xG?GiteO_uQ>MF0jVW@0ZRrRr9!MZ$GI_(?Hl>4>QbZkd@|ZqYkiAvfBnj8=lh>Il1hH^mE7nFs$Xzx z_Nw}ezmtR2&7AJe{QU3Ft>!O3WAAe+hkTSgKTWSINnXEx;mtpbj?Jr#no~Pro&Cbt z8wOt&geTk*_y6^0!+SaDMRA4uPCMo;+rIuXv-6dkd;RCLJ-P5Tc;EGB>Q@*3+7}q8 zzxUs_xSR=9Yqk6xj@D1Uw?DBqnfXe|JMGKe{1=XY_p#>*h<>(a`niw=-~CJNulaAy z>M%IPx%BhtJm%!uE3f&SE4|8(pN|$O5%{$tTINZPV~bw=*9E@%rcc@?xn^?j&G{|- zdf}&Nms{#{7x&+Pvv6bHt9w}9Q3?p|s1|1Q${GvHU1Va{dOdfv79l_#ui z>h3kq_$y{b;^)b$L@kG1pfC(pbx@3yqQ z+>Pyh^*iSI`TmHkUjB?_uYJn#W0O`WE{gUN^1pn)-^NVL`Kt9~?F|jxdi`&2-0;@g zzu@w}zw#&lTglImlunJv_$+C~KevG2bElipuMYu*r|0!ceE+q1mh{wagKO`_4Ia%o znsU5KTjIxpo*k*jEBfB-e_J#0P=|Bcud7LYDHDua1^wUEKVknYzID3n#Z!&)T+h$$ zN>G%FjQ;vWFjeVXig?e>{rCM!4IJ{nFH4;;uk;{SbLwW@?RJimg)e^aXl>JMuUOO^ zt*2Xf@>Ns!?(Fn14{PBurW_?2ccT5lR?GL`mdp@kJI$3Mol)Zij<8AoMncvSox1;z; zw1)D#xj&m9?f81GY)aU1_toukC5I~&`)w>As!!>(n07ay-tG0TK4rg*hk<^-U$x{t zkPC==xZ!^Hp^oY8^Eh05Zq8d6v{d=?_mYyshiANgGcVL%L%2|{`oP(`+4XZPcPYP$ zD}3BJ&4<5)W%tgzHKp9CM{e#uGF7hD_z-vNgzvlezkS;%UR!&m*^|G+Vuo$NEvIim z|4X>H8oye>|Du#hH=od~^6&JlE*0dJyeDvt#m2 z=GNDz`EwG>-L{5$tUq+S`oXq4-_JTp){6(a#q9qTefrb+ua*l=dzJOfIQyD4``k@G z-+lZY7PIyWtl533?w(TkmfQDT^+R`yi)FvFx>fl_u~m?N!?IH5YrC$^En3xb`pMnJ zaSIBn7WVni4`h2;XjZ*&+x-O@se3J#Du(E|YAzKI66ss}%ko>#p$_F4AJ%xcY=6V3 zl_`C!erM$l@v8PM?N5qqHM+i7%&ARyxk#&W+jonj$|e4p|2Nrv*t0DByYk(>Lml=r zlD!{q`E;{O&S{C&wfV1`SM&Ql$u0k^`l#fa|UGw`^Ll!`pBL|CW`Nd)sEl zX(;CV6>+XhjgBVp!t4$8ziwo{ z{XJbn>x;!A<`2K*s?v17+8n)?`~E`jMn(yNk_d&Cdy5SoSyn~fExwUdpXI(YNqo;$ zX|}|>-zOhiy71hT^SjLT*}3Vte@e+{{XAm%p7BOPUKl-|DIOmYlX?1A&%Pnn|TmD7;2*1d$KR%zASIn&nnDy_0`kKEP zcW1wO)@t;~Pw&pV1$Xa0>a)A`rEpo)Isb~->x;_%?3PSb>U-&L@NEUR$mw0p%X)2R z*16PhJP~`L5wHDevB9HIwL5<@rmriXrL^U}_p@b(oi{AgzHztecjzg(syUYxPwX|m z{_8|ey}g%Bd0S-p0f7~!b=99()){w zE#E7H6}8iCmMwkl6&QZ&+PlS8Jo#Z^cPv)D>N9$jd~Hp+j(OPWYe zDQRw8+hMWt@P?d{fDf-X7-wCLZkX#Y*%tG7SES}yt_%c+v;N<&j|4LQ+M6#>qTnqfLb=S5+(WBEZ6~{L` zUw29);?Bq26}7A7TLsNaZmm*2`bKtp!1>$p>DO-dITeQnH`^h zNz0}0-L&`r8?&lv_h0MxhV5T?Y@&VgzjE;@g3GUzZhWs}c|U#1yUTuF(ZzL#7jIXR zuZpeJ6fR7tcXs*0-M+8H{)+OyKdV&hxsN3*p3ETj=Z@JSw3j{YQu`68_UK4oK&n zj(-=B{P<0B$D1$BYO^ObH?S6neV)V5+#UN-{NA4ZynZXUAG1rm|L^#F`HAz7lMbzdH4rjUN) zaavFj!$WA4Jh7V^*Y)+)4mx2sZzShrvvfb;X z#G%VSR-8+=k@v{oe56FH?S;GdnwK5N=btZpuG4jJzV+v5`>)JxZycSj2q}Gho|rRVJ%^Qr*?0FpVhrwjy z?4xTAT;KloYxAjxf0z{*!fOsa`lUEGw!S{(NsfI^<^QFhH@n!o*zb8I@NF%B+{Wl^ zms{TtcDCPj71_dHlD79!m;8&?`yYOtz5LyR>+KZBvsI4jde$f1mx|x=Tl0zY)vLzo z^6%{KNnB;#Uz<_gqg%CLZ{oK)#a_7+aU~LypS@`mj#-&5yLs2c&f6Zh^uFg+6dElJ zyS+dSNlu0_y%$72>I`?nwYhF{B*3Yv#z#N|H`xW zb(7>98}rSqyAP<=pK!9B%9b{}cl}<|r3Y7>-F;@ErA5)2wGVvXx0E06+kf8hJRx3-!Pn-{Or5(6F!T-S;c*y>l3Wsyyjd{Ep(6X*JiGB zU*>1F_sjlT;<2;r0S6bC--@i}1>M@F%YJWl?DhN5@q41#2ky&(SLfYkGye1F%t_I; z3fiAF(w=V)(^$JDXiwG!uHvVkw%*gvXuW@9<)Mey#5^pdKb2;ua6d7xxBhx%6YHzf zTc4ahp}Qb#p@iz0>rA=(>o>Pw<(mDlyzlmz(tl?coS3*H{#}jnjdd0aFYQ<*=@J$p zx8vkhp1H^CDow>q4sOygHS1iU=3(?(RJCj;=O(G?g->#Flpb-I|J8nf<$wI+C~X=3 z$&qqjgzWC{NoybYUMc)-8%OcBJ3nHC??3mw@wj&hXZ0GN8<||0kL=15&dxnlpL0L* zt^G_@{?j|={(Elz_RIQhkDt~bm;N(b{#}0Ej{QF${(IK`8-=rfu6*Cb^gCjzpB5ab zfA0SuMbiE}zqw%D+;8nRg&amYd%nco=lrg@fBx!;cPcjIJ=9I;Gyicu{%fyfla!j8 z%bZP1>g!|I8^>>|OueZ%p{L%?{NGRMAMr=|f2_Bc-`l%8@9^c5uV?u!%Xlq1|Kz5Q zpA(H1Z!bTPzAL7+uTtht^wgab+~3IExhS>sSLjBLN0mZ4?;>U&wkiIZ@$%}#1NPbb z-d&D;wqQ%>=XbfYQvz%cseW4Wj^%{ZT&0g@Y>u&!-43F&>jiyIPnc9GF2&dAbg`+azjM0{;QM)>^!emO+M)9y8HWu$JGko ziwYNASXJ^us%zrii|O3D_338ks$)fY-8R41@B3H4yGv+Fnq{h6^SMpUSN}eXcibac z!u@Ni`qR6UqfQ>&`0(idC#rA7%Y93|X8f@!f0})7U(<_|pI$8D7p=bL;^fp4db05A zdx1M=zP}B-A|0{A=g+NQKjZ^;RCLCD-#eGmV` z-}TM}oq$kMcIj>3J3XzbFJy^Vs!DP=q&$lMVGrw^6 z+`AL?=#j{0{Yvv0U$e6NQ+(_8mG^#o&6*Rhe){+tR?{mxgB))zKfF9-1J@dR^OtX5 zdN#GOdcIpKyES0afw~`$0<}))#l93c9L!cPt8JEhKR|%p|3uVn`_3s$q0g@z|MIK9 zpw#5TRn?6QchYpVguhksd#|#%vhw?9j{226e%Z{s$?|u$RG8L_`SZ`n3a4x+}m@KHos%nl#b67 zye?ND*A>`fn$hr1df%p%3(M7ioA)Md+jnH?qxes9_kOCy{$nGkbkZ&8ZV{fs`q?ji$7U}1d^*+rz z`nBuCv9OFOr9z#i8y6YWeU{iAxi>G-`QiR=!plqU`oG$BUfKBe{np8;J45SlZa2RZ zcS>Wj`kVDqm52TnO}u{Q=AJvTMWR2?zW!)$_o?OYRR#YW@q(Lr-n^QAU&w62a@o!Y zRzil&Hi`AyC#b)9AM;7%+ccZ0e|0$%VNe4jp#IrVvcQ%gUqX~^zExwy4YW%bNF}uY%)%NeFcj?WX629z};p~u$XFMxc-rXhhHT#Bv z@at6lw7c~@2V182-GB7!g4-msIjf6OHruaxck-5X_W$y%h&!wHoqN0O#_{f>J-^jS#fQSr zEC@aKXw98lC*SYx*%=*@o1yb-`kwncjz7{-eX90!Z)stELFx4R3rqG)k-fa$)=*-> zvP`=T{!=)Pw1v;<$kAV+xU$ttV_V!8)>+~IRvhVHf8|4kyFt+Ywyn#4t`$LG&e@}%I?{3OOJ@u zZp`LCClezP;-mE{?ERa=*Bh(ni7w23mwe?$f9rZvcKyWjnQ#2_Z2455Y6P4TyKlw2 z@!|K_Ex+fil$B3e$MQ8R$!&Q~T%!ECi3xA&+9H3R`dGX*VBo2Rl^f@}eNL^eDs2|p)|wl1Pk+U6ArE=d@eWAr`p6q)V`C<3_kXz@oxow`xB`v+gFScI%zmr$# z9N~@EZZm(o9=1{>f<0J&#eAzTw{9_b-#oH9e#>jkm(O3n5}%dX_Tcxwk3Sde(hi9` zCoB59?aIcsdvUGdDbnPv~RZE+tr&7>2b~~KUeCf_%&arM#=02 z-?2-}!#>U074$Yn|4rt+{o>6|lh5qd%%Z z8|1&qD0!>)PgrEib-v=L-qEk-heQ4pGkkmTyEkW{ZPMg#53f%@V12df|Fr2>_XV=D zPq(o%cbIkR-%Xu6AxE}a%rx2f|Nr*+IX{;C`dlsSe(9xT&XnR?Z2x!FeR*j*Gd8u| z<8tQdSY12anU~I|ep~i#A6U+VQcU&PN?RPX8X|B%REZ>3-2%U;AQ{Q7=*{;%m5 z;(s*%o5b@WAI?AE|0gN%Ptxb%{D~a@d6s=R@6l4v7W^aK;Ya%Xe^2HM z{>y(P|0n*~*CU#L?zpzve_xe9_m61)iGNdHfBnDeH}TH;8}TYazqxa|{<`y%Mk9T&`|2Dzj<~dz|rQP1# z*Qmd>U+{PG8~)$PJvZc&gWvQUCe`=&ZnQtv@z>Do=syYNZ^vKE|8|_^f5YF#`U4#Q z7-u(usCp<3r5Zn}|7(0uzQO*3wZy^q3Bg#X1@({0IsWndX0C4&{3B_`iiLXW|3~tm ze^UJeb;G9lN0wosmi+0QpEAeYaDKgaq+i|sNe^aze9obA`Dgl_b?FRJeSvTY2dmg(P7tizjn|^V9PnAT?sz(i9avmO7=Xr11!hD{2(-y|_#7$f1 z-&0jDVUxZk>CGRp)9*a(rW&4?_@kK|XZR!Nm`&0Zhv)a92d0wW zS`H=~yoH^`6hC44(gu z2WK1pVP*3__C~(ve@1yzdD0IZr`R0+>$v=!745T34_-F-6UHWg~Zvt}{rMtusA1-{4OvoB!b( z@&*->$Lbmm9`^ZF|KG({RbQ=w_n2Ml!TAQ?TzU4jY~)Y+pgj4v+@g7xXRG~SJNB>V zV79@xW*)ibjsKHBh)w=&yGU;C3r@L)jryq{czbFMn&T7RR7=(zdSdsT|65z>|MR=< zr{BBpe~MY>6GOMn0VVzor<}j=Z-Aq3{DyG{jKHYgDDHq&T+2U(ZWvnqPv94i4h*gN z<#R?qVP^aRqx}u3b&Rk7C_S^@aHc$A=KBLi_Zv(1ZGNLK@l9po(SItNZp?QH`+fMs z@5ncb$CCIB#j0nV$l{m$XVG1IEaHvvv84HiVZYCOm>hYHyC-$;frx9|J*9hR)PISe zd0oFJ_3xpGYx+H*ww2E!DJs7=G<=$j>`hE!F=W zb-1?Q@ZEntrGNEd^2z^J=A~5Lo3^#?+I?YP#rbdRPa7I;&)@Vm(*C3MbKTcl_1^C+ zIr!qq)6?R5ne$9`B-OoqGS6FGf4<4yru!ReKktj3UA|)V-`!pHb@!Ki{^K5dt-!Xv zODFrm;xqjXk=?&!-L5TNkbIlqgRLRI{=A&%Co3pN{&~POU~(W?(td6wWfY*HUAz@&(D=lyaSGGxY6?eNOeVt zRn7Y|CVOmO-(*`Ix2OHtv>(T(>=e~Vnvjqk@?VZ6WO@Eo?hHr4hnHf~e`;8i1$c?I z>|1c+RXh7e;lPC2$8PxoHSQBd-!9rB9#~M^$?xyVA9w#vB-19|zy%AuxbA;26LyW$ zyR|F-AbW*zz4}GJ>_m|+nfTvN&zD5b#2Qv>dM$B61C@pvW(mZv!`oLx=(bS8~JOw-JwrP=R%)n2?st&&YN3) z!abtMEUV{x0$10T_zRj@e>i6SGkN;7G+$pHJ(&o6)%&Yzw_hIy~`IT zCfuEr&OZ6$zff_Z+D}GOT1B;$zG3DIJPv(0^k-Q{M)9k!HO5m~l_G!N@6_*OPu`&^SMNNon!JudcJb%uJ3S$lq=nEBby_ zz!Tj^3zrCR-*J!st(q`Da7n$!)yt1^bVBU&GX*X#Sa@RJGgi&@Nr_*k_;6P0NVtl` znsaPF)^zap`lVu1!bEOfx?CJ%$alzBZ1D3!ydR5BG`#Fv@vY*A>&LJ64tYCH1x>0b1W6smjj=7JYyG` zIc>|4$eB!5ew&QX&3^PfzfA9~@luDMjp5z0_0u2xof}s9!NY>J>)m)VZ) zzmJIsJ1Q34f9|%PNhEOfzs!0&!D(%}8k)5o``<6UU)hw{sj#oUezC=ezYY`Ep0}#K zE&Oo9)0b<4d6_jXnfk`NYI0Vv)!%zP_3-iSpZ={fnXKZmeMXwNTEpw`$GYsz<(>=7 z_g5u9%HLC)Joj!gDGuBx*0AL~Rc%a#>Sk2I3-3Mvti z?_cPV|Ka+?j+6@3%EQk3?e$$sA2X*P-aR?dVBT?^$6oSXckDm^o)X1%gymFy%H?Bk zL!W+nT{J!T!Gp*8&dYy(`2Kv=&rtcPOmT)rViN;*)ZCsDd+*EAhOh&34*y~P@mqV_ zyKNC4C9U4|X-%H{@msF7>Grt4Ji9ASOUqP!{3&GpeqYI%^c9b-+G}NAxK5n7y1Txe z-QIb}^3dmJe*UPK_ckVSpOxr@-v;k5FHaP4oWD#p*1J_V(NuiN>snPcX$6^uX4?#ah&dC{=Zgkxd|Z+%&zzthBqHERlrtZc-^GosX5x5uxx z`*2fF_KovYUKPGaU(a{niJ3cxuP(~p`Tf_2-!#{2&F=lo%_F+>^RX*W7kWI}`J8L^ z{sVa*@5>*WRQLGT@%Vxh54mMNh5RiHVyur>SO4t(GX6pNf@tCUjCc0!JN3o$`A@F< z#gpO={GI>fNBzF55AS{xeOCDX=H9Hc99@6H4t}%y!}a&|lBkln2k$q(jmUMl7JebF zx+piXoWHL2{ddMjo&~Z-oNF%}f4lPGF7w~z=?6YBtEcI59XvkS|G3gIOXi~7QfY?Pd`9(0zv}kf>bGBC&V1*Hk>axhIr}rG{rH>d&cn)=R_}D-qMEklZpS-y z=YPI>F^}`KMpKepNX;JQ^1E{bCvldFv6ZJCee~B@MCfCZpIFbfvh#Phvem~oXU#2j z-*n*jL-w$i2kcS)BNzCbaKDx54Sg)Ze=o?V0r9d;it? zO1Xb_>?*PIw=R=-{P+6nLgQun?0Oo}`_|8BjE`Sn_x8x0m=DE2G{3#HTGXgBz4mvp zyIx1it&H>DbC)$rY^t4HJ%_t5Hb>~m)kDIn%V3- z!~Ut|tR@qyPF;M2vQUaFk+^4)x#7eCn;WL!S4 zrFHD9sz-j=ju5*O5`P}lmQRXiuI$Qu_4;}9ic=rv%v^r#_T=Pfi7EX4;cv_>H^}V& zKfzhx(hUCJc2S6Drbm zP}#%qZcSg*llsi|^ZVaE>yxhLdT^&>hIG~3c;-NE2l=%cEc|_srueIW`1VYMYiqQa z)90Gz$nU2=zJBs>v)dG>ik%NWPTXf|BjvHyqvCvo;+*^HF$-RHtiQig+q^RW58ujv zHKK`CJN9o@`ttGN?)wi|k6Jwn<*VVs%R`_$OIOBK8>iX*@ zd+cWGzu4eoc<1}eSnX%s@%7S{zdv;*3GmFix=ya~d%e(yPkXf5Uhn(tBV_jAo0RI! zW2GX^-%F0(oR{_E$FnUZcSE%q>le?xd0j6@@RGxp_9DILDF?c6-u=CJ^VFSSX}f>7}wqYyHhRVraXRq_i^~!SxY~BeYx1&^m^g%+dB8Rz7Nz4 zvEc~4F`@JHd(GpKv%}xqG#;bW8%)Wd-YZG(7DON69PMf*w{^?fv z`fOHH0spwTsSAuEHsA5JDKvhU-*lkSRJS71u=rOp>mIvg35%6Me2b;Sex18~Dnzv^!)3({RPZIneU2xcT=KI!5 zs~9R@^)icT7yJ&_I8%RQC)299+xupxb}T&6{MM+R?Wm~1b%)8dp)&XO-(q?$v$Ve9 zc4L9(`|KUIH^NI-|9ZlIqta)k?RS-T{3qHs$yfenzVdqB)_t-^-bVU1{mr<~|KaWJ z>K{(F_x>+?s~CU5D`MG^<)#Upzn3rHQ)z!QoN4;C+b@#!3oG9*d8>DRRZHI)Bkz~h zKYqKPJbB{$il+AZWoBXDy+8bXwoKu5ghilWyd@JB=5~IGutk;W3Sz*>3a{ZUtc}_xzoC~yR+v!nx}E*s>2`m z-6novhi~l_JZ>g?^lf0Qo6x5PQYOCJ)7D=<`j`FWPsgY4R~>XuY~B!A|3!w^B{BZ< zy<=G!@4I&Sy?uA=?`_!`>$7-Eb{~;BGxgAQ_l?4)yVqTJh;f=2_|WK2tzYl2`TnaL zH}AH$*r3^wt#B|c>Qkk)`Yt5O>6!gulU(l@AYPx)dQiaz4JE*crkbG)Ruk`#GYQCA7l1c zLht;u&6i!WUpc6|IR7bOjJx-^Y;ycoxssjNx0aYc_^Yp4edg{mxh3)}dyOQI9``?_ z|H#?TcE`H>h`%4C?EYO{eW@o^I^qABsrRLBshCc9DRpYTzS#kxzwY-fPk;O;|H#wJ zC$phG`Xwv(v$Y4F%I^E{=*$_n4Vt^fKJVn*|NqVHy(iP9A7;JMTK_$>qP}qJFOj;e z7U9|7LXWKzK6?DVg__G2PM+r)aT8x3_-xvl>mi>FDiJ^Wnxx6;I&d)FRF|L6ELi1*%nWy>8| zTMy3NEVR8^yRGZw%h!6nTa1~@abeamk4+9yOz(zCWlhZ9=+{6mQ&Gn!Qn@J+}3&d zYfBZdcy}K6#Jq#~6-1yNZW;IV$+~d^5c1i0UAAW|iT+_b2E5YPZUp!MUTT#EcY+Q44 zR^ZGV$Ni)#?ggF&{_iG8cyx_^N-6!5@Nkx3F_#e~#c+I-M*?FOt78IF$ zEBeJRwV|42|C7TP4fpLYsAlDDczbR=`%@ExZ^83^FYRGF+P?X!WkJoKoV#gTrm#sa z|Mq@gj8pUZ+g9J(#4aB=x+>AVQjpieP|(P}@A~@O_)YKXt$Bl*&T-DuT*9d9zWM0V z1~#wmWFetXnF1NFik6%8vpu<3KI=~9t`$n}3JjyR_i<)>~^^^9w53+O9pRZ@ZLmc+R|X zap!_siDs>R;wC$)`rocTUo6#f_g1Cfz4>gujITWPYd%)#2OFvG%{-8Qqv-oYcHS+2 z?Z156b+IA6vEx9U_?|zjOy6HkmI~RaukgR7rT*N@`Uzhe*s|77=Ze0+)G@Dhz2_3! zy7{?ZetKC;`6NdlKAhP6dVLsca@9skN*`re`jIv4~shawP%bEeGQL_RScNV7HNEx?Y!J# z$0@dpRu;@)UpwH>9;4m{q&QFXF+aE$_XP)ic`IuX=`*9rBQ|jDB6MK4-S>?OKJ^!iy{{ zLM~46n-KWe(p>C1r)S#wJiG1}Es@@j%g$8Zi@CMz0mez&8nDtoW;`oHlM>@w7iwBC=OX_o%nEB+J5;A!WGuR?zSpcJt!`=^(OmmN6xZdtBOw{?OUr}hq`<;+($z1gq&p|s(y z(cXuT;@>K)Ut#t*+j?KzjjAcue>2+aV>yr7aNWOk@b=QM+s(K5j(v*Go3<~z{n9p7 z?acGH7XI#f_DN`YnZUVI@vqv}8_PG#KRIun+b+2x|Ki)^w+XSL7i9J_*XJ$GE;+QT zEMn!1TmM`(%GyQN$8ThdUv6a4blt6J`{A(mw~fw!a|gDwlBcw~#SiZU%RVDlB?A!yPtG_(?y3nk^uI|gGby?DD?xu@v=~~X~Gfz5d z?fR@%-NUEFWB=XYiu!r|&_0`tR@OJ`>oZ<#W$Mj-d@(<3?T6Iz6|*hFwMAyC9Mu-z ze&Eb~>&w65wjF5R?Yr!xnC^z!>K97lXT>(WHl1dn*H^#(d4ALL)7MO#w;x~qWzUAR z0*&1pFWp!qxn#+)Yi5&YGe(wHn09WLeDc0#lI_&nEb8K#67og)OsjoU9PcUnKKSFEc&x^H+V$Ps4R=4|ea3e;Vp!Tf?<0Ewgr^+&7zO&FZ8$+YXt1WuDsW z`4-i)?i1X+vibO8*7xyR*BI|NZu+vUDeA?#7jwl^L%CIrc3ziWl6~;~+*h`5k4Wv< z9_6+AO9k(qT)z1Ic{`+p=BGvGl&oy)$&C(k)my{%N=Zy2YeAt|7 z*6sY?kl1G--{sG`r)-Pfk55}LlY!%QiIS}!w(C*F78)be*_Tm+F{^u|Eo@Wy@ez;EDdw;~sJC7v_>FF()!Z~J*(wa?QwJabOmquzMKZrc5wv9)VoDy^T&lc@LjQ_WGikX5gr z<@PaJ-o0IXSwCn4&*d5C>K=N0_!M(|yP6S~v(u}PEwADa&wTr6&SsVSi6Nc8)#sgN zIs7X1KEKyluA@xMs@u=qepJsm)Asw5eJAaYHzltQUEAt^aQWMbzqk0xZrH|r=I#9} zLgjM#_1`l2tA0C0o3pGvd|SNdh?V{0x1TMzV)H*%vS&`S&lj(BPt18U=fC9k**ot` z><>;%;QUz0pq$U}GWnZPcKNrt(vhEbZTP?6KKtiv{|EVYjr)JH{Cg(+1H`F^^WvWi z|0v(r@V~UK@&Dc$rvHER=APU?=hOGKJvQaB$({dy>|qg_W%cd;eRajU@@}I7CHZTL zM$CdO@Afk>Utd@4_EB!im4pOl|F|cjiPjc>9*NwI-}W{mzJlZZ_SdG5lfwUI+uqGQ zr`Qo&-~HACti0e zRPNJClL`@b~f{%NvvX zm9tNDpKi?g9a)fbw*R<`TnwMf!((sOxNDui$Wyh?fbYq}kL}Y%KgBO%{$jITrsE{v z(dp5D-!BlZJYpfBC%&I`*2aY^m~8uX)s>{C)vvjqxJ7X83H@W8F^?9v8I35o;R+{0o7IiHf5gJ(sla8T|NDf zdGplEq>4V)Co~-JbJsWN&Wm5B$QQlO@`x^{+tinp3Ck7pS@cfqI>EMZ`pci^c1)Zw zee;}W(ku(&UsT5J6lAZ@JiEcSaRsw2zm$2=g&i+^eQ$dz^=q3?s;<&G_U?(S{o>lf=gZPwUu?5dcRzo$+h z%K!ZGW8HhqWG0=>uIqZY?0MuCoD!D5! zPgt*8KJk>&`9R;QecN7oe5>cT-S=pt_6wJJmtT5_)bDs@efjhY7di7f6`$$m?+dru zPCPzE-qQH^(TbNpFT30es#7_&I!kr^Ozo<<^OlD&RGwTbSfu`f%WC3xUk1)%&tLnV zZxFVc*dD@A`0<8XrR70kTfg({>J1`yqF0}ntYw{h!dR(x6x zoY)uV?^)=i{;7jYX>R$aX?v|cHk^>wYWb0Be{<)%eXLd!)u))=zdir^;s5vc_uf_u zHF%?(`NUtxz97{$gj`y z-`-zjsLap3tHfxr3HQF&3CDPKA}*clnH~`^f%WjM8HM89-?kVnR_D%3IQUI0?MvFh zwK^7e&h#YeWSnT)9BHt z4VzfkMg-JPW<46YVOyW%{ml<_#qJz$`lMqKaJolQ=SL6g`V9}v#HOSkoNsz&#_6Vo zIu+fl{hJt|26#%mYe z&ak|E{FHpx>}Psfp;L~(jouXVa^>_1D*7vhZmBMAoZvbshi~8CT&|YyV#VT{t+T;Y@sqFmc3qLDQ@{;OMt$#ax zu9ICw@19+WqITTt*S7`Tp2UALsBh7qRX={``(Bt<6Ungst+RdHk28xKU;I$>H`i$S z@}_iq`KyO-C$`2eU9zuv@_L5{1xL7emz@5;IpkfrhK1dq7rd1d**+Dw|9NBWYOwtG zL;tDX-KGNbxKhlbcsj%Rd8VCS_4w1ChHBlT^#%LWAHQ5!@TWHPy}iZ1}WRPOYe)vS0F}7W2dfyQ}t{RgyYk zTbSMN`!rzR2W1`m_Wt82D{iUZrDy|po)BD4?SSZ%3+WX3fUpl;>*M~4Yoe+Ke*^c`fLJMH@3Wc#Ad)ah|Y01nV6}7zkwl0v8yIS$iD9$RLd8LB9=$;VXkd6b( zjqk;;4mWvwc-6uOd5!P?_7|H>kUe$&Rz>!LOe@caB{NsB1xZBLFR0tV7R06Gq-tAO zTWM%(cWXV{IhK7p78h4>-kUG(7jAm(!0X$EWgo4Cq&Qlmgce3|U-!>7oom))-(NSi zE-jGzdQDhN*!}kJ{Y(B%U<%`YYskvBTE1ry$NzUv+jqQ9sGPpAZ1edY|Ll0T-VJ1* zKdrrY$E2ku6V|lJr%bo%xK!Vnsat;Z_v3~mmG386DR{QON?rc=al6Hrr)So(SGykE zv55Q5U$;!He5W(sD1doM!iw= zzprc0u`S4&_HljM@z=>8R`n+?c`%&?TJ}^>*ncCIV|;z?_Frr+4|Po>`RPpy}#i6An5Pc+23vM{onR( z>iaWy99BK!-2e1Mg-zk4$wf2GJ!Z_bJ3YJm{C$_Z2PbW3{2=34@m=fO(e=_xdHL8G zzuYdBUU%eqy^?Qu)irMo`w7fK^9yR-FWsE$x&Ginh3}^q{;Awy>k$|fUd?SZ+pB(B z^uzP)A~QR6`sy22S056$e{=Noue)!J_Du|^DA;cj^7xbLJej%H%3Sm2)g8%)bZ06F-KmGA^%*6-wk9WrSaplct+GZIwr=L;#GQ-6*KF>ctf5l$z zPI`E)FE)~wYI&)xasAT|Gec$!0wkVxOovhy>~wM{QC{(EmWPp4S-$vufX_O5t0 zIYic{?W>y*)62g*_PyV!mhx;`J(IegXH2tL%zY-iH~SZTkerske95Oe>G%Ej4}X%J zpZI>}F<$A^!v8T-!>`;i5S@~?w=Zk`q51A?Dk@b$j%ON{m`rcG?R}&&Z9%fsld7Hl zI;F1VeM`x2A- z$UAY_pSja&8&@^Vc`pCz!@pCxi$Y)4wYI%7)GoXE@vDA)x6kSD2~*!2iiI5i+I;5Y zht^EC8#0kX;@8@4zh76o($GUKrmi;W_)WV#wwo1SAFG~Opn0HZ-yMm2@hMM#?8=Nx z`1>;9ThEz~|BUs%R8L}^en{%B$zoPhfpo*>c%}NA26zA7o&4$P4qIWl+QqNu^G@&W z)-1YS`14EtyUR0v^1h0lT7B-_1l!dyhu?swpT$}rF zhpmzJ^o?InH5$LOZ8q0?{7q?k`Dej>F&iQ`#J@XHxo7|E`n8+x&f?BoR9Lv~c|k4D z+~s@U(46TN$8w zLVx+1=JoB-=5NGeX7D>3>5FmSpVN3x-?tft+Gi>g%W&d7(JBkKzqco?m42#cS;TPyhQ%{#(A%33KBz)9HqZ zTXl`qP8lRKY@NcH+i&<-jxTLWZRnwvtL!riKSme|ziKyLyj;%s8JFSWTrWZ4wkX5o zcSdO@+5gYA9MYdz_|Y>><+Ndaa$c>X@T+!%$1^{l`BAKC9Q94yU}3I}vC{ULAD`=` zZJBelC$03SPsHDOlHPenkFUj^kC7f4=8LVp_?()Ac>8 zTyOf!cyX|&x@6|Ys3ys;uQ$!u@S4?l)=UHCMTdH}HP7_vP}!vLaQO{2qt9yFW~&)Y zoc+TlyGdTrUh#u~asH$m1_%3Z2<`D)#M=0p^T~V%ql2?m_9=XL#Bz(tIN#}?;|Jw@ z^$XwF8d>t4rm3D{$xoW?^+7p~W!4sv!}&@D-Y@e&Jg815Z7n`NkE(N_-iQ z1P(Tf_#`MboA0!4+{VVTNN11deU|@@Y8AqtqM11FseCkPoZWf;Dd)bH<^#7l{~b2V zWIB1ibCc}BZV5k-wu$QNiUq%$`+kt$7SAcClEWk{x##3kP8E5TQ`sC-l8 zHiy7>!9AQiXSJIDbg1$Bpw{`l<5MbAzwipz2StzUBp2DtU6DTFf$1xbGcz5E4zZ~1 zQ#qA)q|}$hIVtUWD#TDI_K;f(7Cizt}>^SIRiu_vwh((XVxW-uv>(W0Di}YHPBeFUu6k zKj`b@(!Rc_jtdeTPXg1-O1 zdm_K~BpDXEr!wwvVVUpuZPBUC=cLz27qjbS>A$oqn)QjjlS91!YPn*`amKrc%QgPi z2LF|<{H~C(=lror)mJL7nZG)2c#{1>{kOowuRn{0TghE``1F&&HJ{xt;%w@xBKNozR@h?qZ?(ig&Pjg#EpU(e1FIYzVv&g=yYOzl=tb=PZGk0G$ zmdLGn^6ifHmmfXC@<(mkmn9nMv$mCm{IxADnkYI<-= zYu4B6eVuf#_|?9j58M6ASwj(q}%JO{}WCUnjC_ z?7Y2hbMbu<#?NJo`VMTG`|1DXo%0fpept8k+_$A%rt#u6ZyvEvaVQ91{&^xZ-xPbB zHy$Vd37x3Cl|S{Wan-&j*?W8A8;y+8kg%O{mZGGY7c z=FHJ|{CRqxq&f3=|m9Ka?q4TlyhpRR!wr{yi?RIM1 z>}}0=c-`9bE7xkDvUt(q>#K$8@~SpH50l$kmzL?NWjZxr^)81;FCt&rXf9v8RsVx- zhx@hng}=>uqT(m|yuH4?K%>gW|EbRcvTSdNe_eVc>%e9YqmLH@v+7cTZ}~kSvWmw`

    KlOX)kAoanm1C}Xy9o6~PUU-+UlZOE^!CuLiWOgrO5c5F zsb8m{UJ@0ot~4v~$ck(c1J)Z`m^S6QZ{EF==k>QmmBMR&iN$N@d!;U&x^SEGOAP@B z3GXvO8{hO8wTGr`y&=CwU3!Jz(I>aV#IJVGTv>Ub`{S+?2M%93`|V|o=6#lVcMto2 zo*i)Q_#fr}$DEZmc7$yG!rG$g)me1mde)+8E7YYr>(jErYc)-??MH}&`` ze%aW>*zNNo;@5EOw%@b$@s;++uNPN+iYd!GSe_RAd!OoExpzF@H&h?myEM;4E%5GK zuS(+y+s{|}?=i|UPupF8V*k7SUFYh{m9G4(QJWlLnE{oZoS%< zVfyt~mH*!PRkz>NPn2WxzbddUYhfYJ&egjuG@>Yxg0}}Zx+_4<2HTzBl-V~aFR;Ngc9M4%ppp1r`1%duMa)DD!X+1 zuL$Keyw}P~_5M5U-8AR?zr*jiugzl({V-?dxuECEgGCEJUi$lH*$1!sN8XQrME*_s z$5Frj)v_-_a^_BR>yN8t3jSZZa7pY5haYz*rs&M{STs(Dgl+ z_hm1ObNXsNcg6W@=U`c~nGV#V64R{gMkm%QWqr#NGmzxrD*M|jNT`Tkjb)%4qkCnkEaT)iq?7X4Iu z=fWRZe##H@S^pGC1~q?CI()*!Nc`p_-JhPX9!sBZioe%iVAYI3D|%^M!tvvhF#hX>YeEj(f%{m90@%Esycn9z%rHYDZqHhJQ@U2lu77d0UHS3ckCciu!Og30-u7|4e98OAtHk;o+1sn) z{>gCsopo6Jf%f!fw)hX`ciM|i8y|DIW>URy@0qyl_-*;O1JBjR3B`ZDz49~1&f~N7 zE*vzMy;2$X=R*3Q%ky{~=lD8pyV+Z69`Qa|gzc%B5&NvgXEdMb6dQAV=e!mbSjwgx zpE=JZ{j%s6C11W-x(8BBbH8v_v#;5(zdq!CyL7^>^f#v7$2YH@RUh*wrQ0P&n^lhsEl=AfJtCQMcFJ4NKU*)q3Tu;>zUmrJJu=zE&v?-u3jZ zR9@_ML7M>gjF%GS`*urgso>k9u{Xx3V9~N)Q_Q~KI^3G~{awORwU3J@l((~(FIgnk zwZ7&~y}Iu=)fFjQjHgLCpP3kNTwaZN_5J1k3%TM~+5}E3{k(m~gVu_|4?q0srau>0 zd*r|St?0JQ!koax`gzR8&AWGpm2V9RFE4%k?w!D$yOMWIS-wAbr?`X1Zvq3SV^d1O zb%zfh)~-@KY5Cmx`Ofcl-^KS&s@$D*{Z@A9+r8HvwoO@EpLD$-=-%cDlO-b}Bx4?K zoILaQ9;@}M)i!>6zB!~esLu4Tjr@c~m+#NJFzK|=MQ_DoEvsXG+-h8^#?`gr zZ>D%o^RJyUuV;qa&b(BpDCGPogERE}x>I$PK@edqAXMZ}bD^ z^?SXNvZvqLOi|NR+Y#}$>v{lD|R z^Sr9F_8;xu31m#+&a2U1IbGK3iNZdQ`mm4cLJuAGW<31ywDDzb!N1h>!!l1^K5{&o z&@?CLny%PusfmdxQU*2pmaA$eKRMGQWAU>u%rAS1@0Gf+?f>$(oKLX2l)h*EBdgh8 z=Kc!&yJlYK*;{|4ZhaQn>#%->^wE8*%%4vvyrYpaOU=A}#`m-0r_5E)yyCCN?{}XTc?_n{zjv z6M4RCGHZw6VeiJvW(Co^I`??!>q^uFyJY)KlwY-4)Z%T;k=0)&&3^h>!Ng?dtNclO z@))Q5(79Two?iI8rEi_z@0F3eXTPjSp7wFJ;iWkZKC`9kBQrOAZMF*aUvtCbNf~Fg zNyxeq2A#Jdp?AeTz1!B2y?gha!|yoqCtc@Q9$9rYm#ur+yrPAgCqw=^r#?Ar5pkFC zmebmPJD2I}*>ey4TfD}qOm+FPS$`$wr$1g=sd}$v`vGyU@bg#l!j5csT2`*UDyqRi zpZi9n;(CjMC#%9QzkglNfBc=^mwraW; z-`RXCTeojs$k{bqi&sv(UvsNV&OI)g;a=6*9i2XDOtE^iBO7NGJy(l1UgMk~+j-#R z=44ea=bzFilIF#pUB^4;<3ZES)|GS3&LyO8y*zdPgTlL;@{-GYibBu5n_K_kUW236 zB9R-(#uud{w!7tsSPLvKx|NfpajSOYSNGXT*I()UWPSct(sTJqzq-ijdtLAM`4~@_ zx2%$v>B$6Bv+q5}+e#+BO#8a6BlppftJ`O5l&7EU`Mk;L#In!{{`$&Y?>6uAn-V-} z`r}WrLHn%v#CKl(ov2|o^VQ?2YxYY-ysj54YMY}TpDDXF?}6#=Eq|lD_s;#rtJ}M& zO!c?Fb>lAktktj9KjB&M`^3Kb9r7_dKg%9bE0nqOgVXPU`it%}jxTbIOvCq@NH*-f z!PHwj_l~-}r_|N%Tj8_U?NVR$y83JLt}kzFo$K3!rc7=AdRD_&+GIkNDO3L3quZ4p zpVr*WTEFncvmM!YnBNtC-%~BW^S|)~g+ts&Rf7MX*FLa2RrXCrtktJ8*UK+EpSt)t zJL84xi5;E?pQd*nJ@EPWqm?@z+kd&tBH66@VB5(nH4E~du!KEK-`lY3_8docg~NS} z<+GF58C-Wh82?}X5K*UJ6*^#Y=2_|25{TbvTJau;vt zyEyAh*~^?S2CovQU)reiM(JF6vp&~1-7OwsaV^syiT=>5W9QI|pR_dot-ATTaF$&* zJ{A_2yIp1LD>mrukhI~M$GWh?AXHrMetBxXSM8eRZ@h0VdwaPr%k;~xU)z5f?OnE! zr}9~+|edW$26PM_k zY+4h%&;7|-FTcGE7p`1>ec{`cz^}<$djcQm-IrS3<9p2RL!BkRf7qmo_zIu;DVB$1 z^6PrvL>ykl-n%2rH%@oOobOu7*4Nzb{C|AEI4)Gwc5Cp)Gg`k?!z+*8GxWYI7Vz%V zq&cDW(J!u@vFq{l^>3~=6u$Ko-_%*(vV|qUK6~o%(!9M}K9&4%`yX1rZvVCJ z3#VS0sqA0nI6GOdWs`MooWXws=YWz=N1sgjD!ean(T%Ce&Q`vakvuoIyo$2@vD=kz<>yT|Za#W*T<_G)R{1#w^BTpUnCY*N zVXpc#@sIRA79DG;-&J$%AIVn=nJ@lSt@-#GtMH4bdJNjTUhgZtT=CQ9_Um`9m4^@3 zCr__b4;6hG{I%|yx6h%IvHB8I@^klFOI!+hav}fk`#<4zdlbqaH1PVli^X;q*NDUz zh$Y(`Ik^3agi)qM#DkjLsbKEy}yO+pS@2kNseHlBYIUS>2+{M0w8(=SEZHgO!k z?(TRst!Y`r(|68)wu!ASG*bV;DzNr*h;8(YN4Mjfk3J2Ww^4fQTZdbVZ)vY>xfl1o zE#i+@{%4&&+Vvqcl)d6&20;= zux*yrnK)TEr+)d;%YK%#>R+!Z-DbIb&h2yAdg|x%iure?-&q~;efc|S^NrV;Z+@L3 z?*2rq*CpJLM?JUk#_D%H>pI&{l^*%%oxIeToq2ys=YikIIVCI?&OmVQ0@D?CJNpY}1{740o)Z*sE=>(>-BZ=QVfa!i7r z`?6ch|2zwhmRvh0%yD(^Dw~)2z1#L}JQuZcfyeb*;cq!gi(}erS)Whff~sx`UHinVkMy5XKhDlSIp67OQr~F_3g#ShT>jK^VZdY_TI_0akD*ssY`qb;)Epdz=uP|}_-te#a zpT~LErLV(8quR}u#lA48lC@TiRVaGMV(nICyn3em^Jz2K_T34dnY48$qsOcRr?N#i zc15Rt-1~d&;%nZo=ZfYnciboO;py!Bo9how*tAk|Rq++wS1c(Hcb>C)>RWVt<$>Gv zpFL~XOpdeFwVb{w(Rp`Dp4IlQX!bShx~)&ea@hQRqxR)ewPoR@S=G6F887r~tkb_< za7oU&dx@a!5r(b*PapiYZPh;0XVbr&{^>lyIDPdVCG~SEJeOE@GV%U$`L+4<&iaL} ziLcJ?6`a|)=BBJ=Y*pOT3+rENZe%;3k)*5|puM#|^2{5ay`dLZrP*$ai%2}>zjBSO zzKmBA%qtlV`bNEc^5kG*xd(lY`af1o)Ld5`&q8a)Ag0U zvEA{mnMvHA4s(AD^F20E*!D4#a9ZHgQpG9VViZoL*Mz2@(Nqt`dDy!ZcX$711A zyauvoeLe>?yE)EXYG^#m)MsYL=VzW%*waP++M61mJ}Ya68g#CH7C--6;j<03Cym;=fn_ z4y#-)vn)$`((10gOQLp!MQE=Mt-mxa>-EBeON+ls{F1HpxPQ?;GsmwwA;)C?ic@Eg z1k4i*%hKLE_2#L(r){$|a|B=P{81*FabEMAWI|qASkTq@|A(CXn3gZR%yaX(xcfdv z{?PSpo_Frv%X~j~yVS)Ar}bZ)j=VqVVcWd+l{+=PJ$uUBqnGGk=gj4mt>jcUnS1e0 zy+r;Vb35tIvm2jn511@?Vc(g345^b?DnHIB>ftGWW%=@s&ANAD<%{pwzMG$CvtFzu zM?QbSbmu#wOaIjUGx^{6U!)>lM0;Y)-@Sza6UDc*JABEXkS=4o+NWs6^EBO>i#(x6 z3vYWKJN=1u-k#)BY%=RqvO4q@P5;Dap_{UHO-WDvw0$o(Ii;_!zfu2o|95S+tIRL0 z{~SH7thDn{shT98>c@!aMe|)$M4jHv@K}Gz!c97Pli}eTX>UyRR^-g4Wup zoO`W)@x1-3`5||+*EaJVR4ctcGv=pntitsZvY%$`VVd2&T=nXcy=`+c?{$A$&i>NS z>e!5q7nNBpXIP#&RIku|{+;(=eC+!-1$vE>Z3=>%=k9;>@B*{?o%*hhl$Q&`Tq}9* z3eI<}v0om4^#9fWXQ!WA`Du27n9cpWu4rTG;8UqsMm_GJ>(D8-BQS1Gb?JNPxM;R zWm0e5*e^?e5v=tKmVViL#;r`*T%u~t`GC~Ly8>^o;6Gb?wjyJX>5R$?d-z#@oIKMW zE1T52`C4>&s`DH)~W4Ye#iQRdaF&>3;8#1S(+oXcGQR0`G0+KYI}{^qQ9Fj9+KgaopMBqbxCAO z?$)x$@9U<_le%EXEb!lGe=NhRJuKxb`KKB*olW8{y!XWS68E)3neR&qk10s!6zpT~ zsw)%vV3IK7=!e%`pZCS=Q^T>f`;$6otCOD;6;Y-(y;Cy}~#f#H#2`^eaDbD@=%J-KyH_i2IZ}|O1GqyM9`{qJ^sc(}f zUh+v#bAJ}keYK?i#F{+QkgvL17px55;Hz`U^ZAqFE~cZ;n!Hc%e)%{dtKQP6zR2iP zj>9&q6Ypbx3WO$aYgx~D%5~@EyBTjBwAN2p{?O&>S1D)yvTw_@;@@0Zv}(ok@ylldR9qB83;@GuHk;Jlx!IgJVW*DwF`Tr&&J+(|N4T;rOKU} zGhRx*?sQ$ix%!6b!MlB%4zK-rZKDw(|P*+mHXg+k0Gc zt)^60n!|yWNqRT_8_&6#Qm44za^I@@`}=ohE$80E-g?lvjYT}^`F&pBbtZ{HlZ4lt z4c1rQzTj)!bz{ZPE|;}K%wrZ$yvVIpr&#vV?!#k#g-0H9ZcLbZ>{QF1;2Wzlc^%j| zH057>Ke5?v^|7c;-yU2KI(n|%$ZM6&+f_-=tD2Jgi^Z%?A2`0vYV!}SeSPm+9#yW3 zxpb+1r{$geJ9}37*GgaUF*Wq6;r$Y=EcDa(@6kG~4^u8odGadvxp|Rv#B`5tmS<0{ z))Y*dcS~mO3cfqfE->7kxH?KwwkPr!lk&Pq`Ru*%KaE~H*{E~#=s&kmEio3U z>#Sn^36CRY2*0%Od$6U{%36C)^|@qq{rn{|Wz#<_K2bmG)7jW-zt#u&b!NJjDGKhI z9HH9RA^d3K3jVXPCK0mM#U+77Q}2sUTKq(1r(d4p@$(l_LmxP&Og*zK&(CnW;w5p0 z-*p?}l+#;o?|OSX_06fWT7}*<>=vo&Y{y?Py%jm?wyE+>dfCjo2i{MT+uV6DaC6nA z#AUn_QkR&Yoc-|a_j;+H@jvet#Hp_`&r$y{@#@pr&o3l|6eyQHd%WyPSF@TrpQh)k ziEK+&zS=fpfh=46^)D7~NsCt`J}NIWER(!wG56(%?9($s&%Qfx%zNST)amQ_#Ntj$ z<;-m<+LvFrd&ga#w3B3_}$Bn zPd$7$(|_Ng5|(cv2PNmMR}&aiY{wn<2SI3_9 zy?MG%ir6Lgzl-Wm|9|p2{@2dqji>XPzFA4d9QzV$yCTREq{XmDm^tf~8y}<1cLVmKI{V4Xh#M?J4Y)jLr8OnMq#B)#Y*M81$OohL+ z>DwvqdasGIR((%zoh3Xs`1JD7%URifLsgF}Ydrn;E1;II6bfJ z_2T^4cldM}S5&aFb{27w(dRH(%CFs^Z;iJL952?Jm3U_(kh4>O1_m zy%PW8{a1@Ex^G#&NG-l|e$hc5y9)(Zr_PS|4Ox|B5|$q*9AakKy=SJ6Z@q#R!&05) zEhdK6Gw(MnKczYI{%peshBI|6c~5OTrF_`K{g;M8sN}(mHy%F^E80DwYUA|KzqW7d zzA02M+I#a}+WT$iZ|!f$Oi5ffOXpI<*5J5JlN(;JhfLo*r)|=q&biEo=Pot?-mI& zTs-Aw^o+&8uSjH!X`OGW)Fh z+I+=7`?VouY}FE54x3fmi`=c%$atAOz5nHf^HU>vpWIxx#=L&^fqjkJ?w<5hw!V{; ze^Y(h1y4pji;F+mW`3*wuy}jI_nTM0Ogfe&_JASfZtWlUx|#ovE!E$-?AZz3vgj3E zIg#zL+{;&XN@yMHc=}Imze@n?^W=a6^9nWNXqT>l!ZpE+8+My5(VpplZPM=(M^6?q zc`00yewq7~{a3av^IDF)yY&|*HoXA@35S9 z-E#}yIbr7_o@a-iE|Gm>#o7Ph(>bjNPb*CI(%)=n-T#`KC6cSGoJ;Frc->_CC#nax z&EBnim-C%a`POQwu0IohU#jhn=vsU2+`FglE{5wZ0+v`!$tYIvG+#g8T*PBj{k`9O z7fVlAuMGLEdn96qhqgq((zTbS1tzH&r0$xbKdrMgY4r_dzSViJRzKRt@j3XH`ovVd$ndqFPpE}Y^v|nb zxui06|5kgZ`bV3O==8X5xT0fw`pl-ycm4;?-ru#B`Sp!cLDnzlo^e=IKmSCC%$c1w zMS-Quw*}wN?3r`rROa&%Ccm#mzbpgK1!z3j_dkw9 z-c!n#yz$7Y;MUrEd?{Zu-ft+sWBqjQ*K^g=7dR&ExqYwpyWXUqbEP z30D^#`0K`&-2CD}L4l2h=p5d2?9&%8BsJZB(A+=qc^qqgYCfx{pp?|}{da#qRr`Nm z-M;+N?w5PN)KyKf3!LBNV;((!{r~STexLs_EANciGv)od#$l4Ldwh?H6z{UUJtx0j zk10Bib>Ak=Tbb>V_g3+!#Y=Zwx{;N))hX}y@<)0+t1P$9mFu$IJvVyqtLxjOZz{j} z_)V)?cE)KL6zCCq$)ARn3rc?C?e?uh?)}X09N|#TtO=8Ht=kWE# zzRN-{SAOBCDh*Ao3aV#o$z|MEAdvo5MmK4SL6+m&Jtl24f1jD1CRMQWWLSQ6!!Bcv z!#^kHhpnAjUH?>axx#gU`_>h4+n1f%H~S9rx~DtiR97Uw`dt@pU-qx$=YpbuzwcMv zYK-}Lf04(%)FlCbC*Hl{vg^L5S8q0B$;Y&}iXUFio#uPKch5}+`NjU1%o%2`bI?4! z&zZYxt>oQhHjkBiOioOW?){NvG__>o*+uVudpE9}vmq~aFz&%x>Uw#zloKFhT0ZJPb2+i!TiA4T}FE}yvh+Rb+oC)z{r$}e=5&9|>OU;EKf z#QELI<~^IQ-hb&W-*z#X{>fMS=5M8|D^Tyv@-cVAPUn4JvL@?`zJ9{{Vv)$J zwTt$fMci(CZ@u_wYuJ}BUaywEWG?a7-LUEKgXHxYe2XVMx-h->vm>P%q2pJzNkbi6v$K!NSGlbXM>cQd4qN#UO`#mgc=Y9EO z;C`$A#>|PL(>F}j**Cd)dvNi~a}Dgh--KBuCn|1P!1L*##*x+<#`=4@|LfC(SJ=H~ zIq+-V6K2lF{ZlV$X|cq!@0mFH>@}(9J+TKS#e@Z(-m-5yU!?si@q5S0qOG|qtPao1 zU*8^Ok@Uao?-bFcMUT!3Y@7Ku-G0OC2c`Kp=I2=cxMQb&WcBCu4RdV;JZ~Sob81)j z5wDHTZ$$6@{gg06_=?Rvkymj)RqH3(tuKG!Y$Z0Mp6yl0xkXd{RdBDJYN0vz&B`+G zYr;7Xq)T5b++Ccv(ZtXB`Re-9??2CB_7k>i%6}q$_xio+^@~>MrFHCFWp(09>i$2{ z8GA$)8a&y1TcvZAO7!|zhD&^x+8@{K3E$2<(L~y!t}se;PJ8~w z^!kpq9LlQ$4`^hEFyH=v>c_1KU(+u2|CL$vcG<@}6}c%*ZpLRerHO7{eDicnvYb)9 zLB07>^CVC2d!^eP|IJD`yK!1nbOX0};lKOQMXS8Dce968iJBY;{4Mn(Fl<`;RHpCw zORCnfZ>)X8vE@eahkxfSHqV?hE5Y*al*u=3(zk9Fu7C5)U7htxx#p8KdL8W^=Ra9h zY~JIdWEqhcV=p+P?TenYhI)aANU)*dtS?tjtvt1MjfwoZ3st{5+@$O!_e;I+b$e#8 z;*`)ecJ21s%XJy*sdH}>&Ux@9Ax3wOdY?niY3V-iKT`F_?LVK%^9#QwrRxypv-DoW zl2Z|Hb6L25o%F8P-PBRGX!E6l>qmSi>YNaG!o{WOe(dMQ{hCTK4E^@^g0HLjOuMfzCQyO-Va-<-ZWZqn8c{>bks4olyaExyZn;xPM> zz)*ITt&728*&@L~VV0q`t+DkWfSA7fk(0%*CTF)6@4y`*bwK;iBL-M2i(^AczexY&g`S|v=X=84l#I`u$$Mrf zdpTUzocWC6g&(`mh=ggq?tI1kx4!%B38`cCYv=D;keAuDp&``iiHG{t_YtATpB$|W zy(h3+)LPS|dA9f2C%VtC72e)qyKvdG=7;~@9s6EX;ktKI9RG)Fv*WB1Io`3?3D>Xr zzt#S({lnuwzW-%$Y&^iYF6Z~7G;u9Cxh!$_bB}!ePc@&uqU?LZVv~s1#f!VLi?>=w z)eFu|@@>~pUtC*dG;5MraQU;dg}atr>iwc}?I-JBm&ejOc@G!#wne6s#U!_=oeH%laNB-C12ldP&Aw-#kl4aK%j_=LPo5o4jKS^LNd^n-b@han3D{JHNyH;A}3|0@l~+ z&n1_MxR?m(9uY8PluVsGEB{lZ$MLfV@>_K5j?8C2w&}k8%3oif+N@DnA#x>TU)Uz6 z-1-8eADZ8EH`iC~IJC}3Mg2;JYS82o<-J#BZvK6u@{?2W&#aV7MM}!ym$I7Xo}Q`h zz2)yIS{J2>#{Ah;in}G1*RWsu(GisCn*5_nqvA5k2Zn!i1 zjd_{M>Qii+D^EoHp8CFm?McU6Kcl#b*B`O}EG%f?w`rYy?d)Trr@A)-wg|mFD*MrA zkC^rq@3V|wy_B1R0xS-TZs!g+-oP@`J1dKKp=Vg8b;#Z)sinoA{YpQc=seL|&}YnW zy(?h$I!5=~%-?>_s9VO#!zNn4>6k|XpUGxM_f-+`k+}prgd(sPxMRowqPdEk0L(Key5 z^xmxRPns9#i+?h)D4%uu%9*zHcgph2Q{Fx7SZw*utDL)H=bGPD57oY0s<7NE6jvX5 zoGsUG zz49yT^FhbSFEzh@`o;8jiyT{?%*tJd*d)YzvkzPfOH==>xhYBQ_0*}i^VoE3yZ=mz z`FUY&lI9$f6Zuc)sP?^)>UiH5RLaUc!QHL*IAYWJ{)WWqIwmq_X;C zbx`c=C9+KQ-+Px|zoh>%^+jD(@4h9bjq3X)!vD7)x|8fSyZ!9rXPO1qK0j0ayh`%( z_rGr0DcO;eZ=HRY`rWxsE~|gb@ms=gHNTZSnd`A)ZM_=T95(h@&-NVBKet$|_=>xl z&7*q_ujC)E|N6T5aNBD0wIL5m<0scdSFf7$Bn>!PwkW9eb>)(@prFa(o4!Sh>)vz^llpDX`KL&4-;2(fPv3TGe-_`5IHhTl_s=xyu`ieu`y0TO~2~>%6QVJ`AesE-mKGG!v9C^Z?&C1_t8#`rAs$_&pj~5 z{qoF?XSrWA_WH)ZIp1OYbz^d%}tzp6U(i}9`Y}bo0 zUsHXJd&AX=GOn*-)1_+;Fq_}Xj%N%19US`RIolzVgPy)D%TCN?@LD_9_{>bMKld2E z{64vpJ#O~IY=^gjHGJ{s%s(*Ow6*WN68mgkTNF>_(!JXvesUZPWzWjjxVE%oQ*V;A z(%VI!+KDIl4`Yq9Cin*{Am)+L@kJ7y)z z%wM8%bmD&L4BxG07j_D7H4V`C^zHl9Fp<^s=Ao@jNBfBX%e%0 zoR3957Ar8FCz<%nd5>%3PJi?Dvo$yR89j1q-mDi=I>mE?-p)6ZPED`vu08kfY&~DH z)M^Gc>+ZG8yZ4{Jx7q2GdR5yhea|zWo4HG$d|vpZ?&11Mx9vto;pN-;KV6e5UtBHZ z^?1|oi@xule%v8m(Yv?qo`(Og$P?0r?j_BicI#dG(H4L2{j2XmeV*NaegA#`C;xB$ zzLJhlg`aM*c{jgrYChQcVA&hV8o70^3?3!g)*Csch6md1EP8cUX4A|o7k*{OuU`2f zdyDTa(YF(4MNNp(U-bG{LhbB-?f*R2`yaoo`o&< z%sIIVb$`nqoG{j%Julw;>!n`|wJhH%R_du69bbBKg=g!lb$O1rFaEo*DENibiut@H z+J2M2#A&A7__40dO?~lx!&5sFmu=n@ap={Gd()ROCGtlcUwgS;EBT1u^1NL2l$jBA zVRNn?i~E0~F09+5GX{@o~F?!PmA?`z0_JCerRcf538jIz=RAolZ z3tM(IGdF7fy+!<)errzqB-?#ZZHyF@T4lQBM?mos%WHEo{vBluYx=1FaCT*K#)7_g z(cdRq$5>8U!&X1tRKEYpolM^o|B_dVD?44fW@8!An{u%EhSav1t<5X9v{X%aCsAM2 zwfxJc7th@r+y4glf0o*%uM{Hnf9;ynljrWvd{g{J>2}xuw0_~YGXH+ZKFZ#3q||2d z3H`1Pt3^v+ES355jO(jitj)Log&i{L;hx-DXM)mdH*dUoCnt4Vu>SA6x-VJ2Ef4OR z{`~AumpSLpzS0dn7b?>iuWah#vSQ<$N^jwnlJ%z=LyuXdd*0v7l_O}eqNa7~uU3ZJ z|4jS03C}I)tM1f1v3&EZxwj zm7{2V(pD(`H=DH_FVEs%u74ZnwMT7H%+2iyzFbppq9@tE(ch|IweB~KOJ3=s+uub$ zKDgoDO+J(Q!rPrF%u>Oy{riS6^Zs{9gMm z&Zt#hep7m4k<3kXp*>3tjlQ$5Xg0VVCU;6R((374bGcK`_@C9U$~;rVzqrzAK??7S zSA}_7s(C6OPy2mA_r=tMzr4clex3KGWv2SH4&5a6P2YScUg2k-o?d5tcdi-PQNjKnsnuUo_I;UR_eei!}Z;zX&!NpYx$=xCBm(yKtt1NIZ)RvE!v8HVXm)N(PWjDifx@Ij< zeI4PHr(}NS>}#_&wpZ`PK6F*_?(w^qk$-S{{mS*<_sqGFbohv4VU&%4yo;ax{Pzu^ z`r+?p75(~V`+x0xiC5k%ORxU@$Q`OJCg`B5&EC0rLmD_X9-*Z(9 zl^V3GH`;%ymzMhc&BAd1hXZRLg#8VwEo50ycX{vfT|$?uBW+$8X86A3yKz+dWpA+T zzukNO-qXLgeifVYwW$jyXegdy;@>A!>pG=qXI%da+rIqib#|BTsy5FT-Th{T)EvGO zUl;%R_)lp~TS@iK2l0XLo_97sv6#Ebex=t2bqf)h{@BUBf(yUY7pCkxzhH}-=%uDD z%6C2MCk5?xvp2~la)3WNczkk+b zi3eZP70UQF{9AkASoN*s+(x^Gd57aC3p+2FUB`Xx$7DZq8m!tA`ounsY3uL$8IQk*uRXxGt=(0*Ugr2ryVK`3d%w}@ zW?a1cyxivJZ$zuP_sSGKvhJK~FlW|(`>CwLb2U3w-8@&5K5;Y8#jWRVKKXP1=imRn zcMpc`V_yATdH?Bp`HyZV@}J+)ewS;iXnSVz`=HH7wkNHPXcYcBd%pP!X%p^c?8Q^x zySD6#?(+|t@J2=c;Sv$f1u9i5yC(g-W%PE@yeZ3C?W8@`FVwVg>XwCu9{SE?d@I@R zNFLj&OPe)ALfKcWI(jW^#h1+wj)$*ZQf4;W!F%ea`fc}}JkK7Ml0Q%{RhN`GSH@4# zy*Ou$pRk68<@5~6_-Att;(5=q3)YwFw`+aNu9qpfYy5ocfhdLmmKqZ zuB?CYGedI2`Mw7)tY6qw%{vw>%*5*z>&j^Pjz{ zn)f`sr!rCg#BDyE_dDwE-(P;uTH!h{uB1@Y?_@B7k)Zf{(Z&7EjNAl*v!yf5g z^Vi?LaO3CNS=U@%v^C#&f2K@s_rh5U#%JQv3*dFvr#}urysW!Y}_`fR1>0 ze~#PwlNTuE<;R%6P4R)r7;^Hp$m~)v0t8%FHwo*HZAR>~YK9zJ>i3 zo2huXvx}eWx_|TLEl7Wv`czgv%^>BC--&CJjP2Y1{pZ;mc5T(#xbreKe}%ux%(yI4 zzwDG@^k3P3a!=}K9{%w!_+R9cd*1&-?T_v6y;{*D!K|+%xAM=;@aFrei;f-;a?|?G z{Ic;=c)ka_@;c4;0`np}8&zHB#?J{qXJ{}h^hDzITI*}ScUGln82@|OVZ8sk<=dJP zCmTEeGmB#kW*3&pw+2p0&U-k_r^S-cKU6aT?XCOY~V*NAi8t+K$jc;%5 zeY^Y|OWmCLkJ5iu)^)}|HT+|?|GfO?=YK@&Pun*&A1N1ZZgttQ^6r|JpJQdrcn>Lk?v*O+T;Z z)nRH^CkDToeC&VGJgxt+e>cR-2tNNR zZb^{yJ3Cili$>5@k(S9lD&m=}b+`Sm7VBR>m9CN)csOE>&S@~pOC{5i>-L2XWgG!KVz}Z&Dmepmli%14SyxTbENAn-#NDM zCiS4Zb9+Pn)+)Yn4|Iu@&sh90MM&VcTBVy&W@*DE@>SsSc3oTwzDpXN%xhg|-)8V(b4jk_P z7QTj8`mox@r4C1$-^l$wz-28~;Uv7g`SRVHJYhet?L0nt$Ih5Xw_cT&PTwu;v#T$H z|yO*O&P$nKe1IzeMfw$*3Y0srQCqYnO!iS6(`E>06dz zz^bobOarWsPKiFuU^Pu{`TLb6|6eDZF?c4uzDF!gz2+#3apTl0lQxU3cMxBakQt#i z&AIepSvlY5$$#X1BpvPXfGRny|2szK3_9ah8g_`2)su}yD;$}BTh{re_R%~N+*?DvXSRTXLf6VC?-pOD*R^`PE%PT)DV=lshx z^G{lTSeTG&zxvgy-3d2l-_1R7YWkgXtDZGBf4?s1>zb{oed1X6`=hRc%6ZPZwryH< zs#?E#{~G@DtG5>sVLVmFopiu4slHk<<&5-=-yXWt%LIA;@YdBcy{K|7|GKJ5_G#~j zt#+~d7v8@fd_m?)Thx^G+xNbxsA`B?bh2j-n>o|szKg6cjQQ5QFf*zR+&m}p=9Ihb z%4aN}MSh+)Q?M#=U+JBy9NuGjb2jAPVvRVkZ9_@N6GMkf<$f0R<_o2F@3{Et?}}~Z zr(Z8qV?O%%_V2?BmGgd_Z4O-q!XMM|V%_@uYxBg$@HBWB7 zk+E&k+yi|ojk6}N+kLZwF>XqJeaO{!8>7l6Sl`xtbn`@u@4+8c)y!8|e)Y!LUi4Wb z^7qfdjv1Bzyi#`E|NH&l%m?CEU(Yf!5!>Zr<@(+6P6$(z$*Y7NJdi;xAl(dG}~9oOnAUXN$R*#Og+y zdi|asX%Zs2X$rg2r_=XB|ojtJ2<{ z8nN_1b5+FQ1>gOY>*hy)d?Qm9_J5(yqVx{Vn)+v+OyYQ2t93wl#oI^ZZMeL#1$5ZQ=UcTApvPSUs!N18aO7`OC zGQI0N?D^*8&f9;hzG13A>$Cah7n&YfF#0a6XJ=&(_4Pb;A^GXcOD$VenHyeiKAE>D zTkc!(o+6fA%dXa6kbWq$hVl2lwe^>{FY|T$GyIahOQz#TjPItkDOV18`I|hNk$Gm0 z#q)WV*Z$nHVOaY4j!*Vkmv=S^b2rCD%C8aW*mihZ`yKPX*tCa!QK7C^4pu(dQ(*Mr zR#w&BqNnvG5_{e#`?IM{yT5kzvd`~}_;(z?b0jWn#oXis!RvcXl=jzeXc3sYk!@~4 zkka2db)^q#z4t5ctLsTx^Zsw_!Nwamov#M3DnEAQM53xE?}sI3DQuC>o3fa^7Oyu8 zn%($ks%W8^=#Q_H>)dN|BVY7ZmY6E7n!HNkR^}dar&UQB4t%kR@7SzY~u8+TAe8f?1dB_p{E--Vfd(Yx;6 z_;>1Es(;fo%@ZuEPi1Y)%`xvTF|w%Kczs^*!Idvfnl}Bv75Q*Y={ZaBDftO;1};CD zcF$S=@c4lXOaH%hpC?$k*WAExTe@z4_=VMvby?2W?|WtY<IA{~q{t-_>dV ziv8!}1=j=%tEtxet-N>j@g$cMvv@b$zkSj(DB$uIuM1OkuRNI@93{7xcVE@EeJ=NV zIsUIv4~ccZd@yd^#TqI>cE$5D zCb>D~>vt&X&zyeo@&co*s;_$v-ebw=j*jD+=s88O`6$aq&iivOuYYCUdQAR}|A%yq z<>#h6uoAsCZH2G&+ zNAc~Qc`r=9W%7o&|9tAI*R%M}{L)}o%Q~01{m%0*UOC44xcuH=F0rnt$U&J;SSe?bp1YwCzs5ll{(k`jG3= zd^buye_KA0p<<`U)p+&*-XgDmvmUfR_&ELdlPOtZ&k~IKeAL=ImruREiox_)X5xbc z@p=K>mTfXl9t^MeB(Yf%l-8(-0n3DfO^PtjcMq8^*s;AyQ z7MfgsPCmkB`J~HdA|K=wmN}T(xBRN$<_(j%q50cBwKv1ioOjW)==Tlfhju@^8^UK@ zd^D+0qC#o4qdk-6=HEwaggY*YSzo*@|K$DG^FIrl>)Q^_NXXluabtDN{-i1O#c%FC zX+Jlmc9!i#dB4f4pBQsqHp=P?3$+YBAwE&J$~UTi-m#sP%kpdw_1yS1tN6jm+|cJs zN-{e)zQ2)w!`Y1SX_sC4u!erFx-_M`B9`jhQ9*3IpY^El!@jayhyX{(36 zk+beIwtM1YE+(w?hyI&}zGF(_cp*MF=<1DAJ9{d(ngz7|F5LC_MdX1eyIvSKKKK7> z9+1SE$$P8s+mGpbx;LLHE}vkPrn%YX+>SN>rU*Yx`pp^_nZLF_>_lI_`nLaDnceo? z{gTpt(^D;9_c+64c}H&bry@JPPFT;p-e1irJ$Ti<<2#~+az#Fr&)rtBK&AECmyMFHhwIw}%4CR_Ec9C~7mOWGMH&Bx}-6MNUbH%b~hj|rYQL7aet!xS9 z++lo2ivLMusw|r}=fmx(ty%tuHf?5FBays@rC_<4^s%&!qHhGO&%fJje?vXYq0)G2 ziIwHvIS0?>JvXWQZk^GfmY`NUvA+8HN7)CZ$1BUufAFfv-Q#$V=V@69m-S}`>&YH2 zN%}<{O&4_RcDN^BbSw$)6PSQ z&R{RoWxU z37Urw1V3Bt^(nqr!ugl)IfLuU-QMhz*M;RT_$iZZy(NPwA0Tn2TyC?>NvNkrT$L; z$NRtDF0`J;cDw1t1CDdo=I)RCGGE#KXz$*~7Y}-+^j|93Bvk2DHs3xxzqJ0Wz@OF8 zIU0}Ls<`i6jLVw8rN86VmMcq2_iecEeIj}-&-FF@b=If$q}?-=Z$7WKb=QO2iw-0` zj}k0n+pTq_VNU(x>JxP-#}hjvqMmXD%rZ^zjf}p^Xg%%knR(4ykAxO4;MTYsdv4_; zlaeS)*@bfK*1}g>K0fXEd-q&n!K~#c9?Q=;VxxQhP;uj1uDDs@Prg=UFDT^CIOCaB z^v`SG)c4QWfAn{;+CQlO@FUO2{L)n0&AVou4L_Z`q9%-O*WtSx-_`S6t=)C;?&Em{ z=N)_RmBlmZ+U-t^V|%LPwm0J26_2xL-#zaAu&iS99@cwO`R&{9TR-}{B<+U%$9t=9 zoaOqn!9_FB*+l5=0?|~lx!pFqV&90WA5r}{dxvsd*M#{e{NJU2`MmP_6`?xQ{dyuP z)%(|f+Wr4n{0sf>*MC|6S^O{a#g}@C|C$ju+3gD_sGX2`!qc@f{6v@I-UX!>IDM); z3=C(8opIcg&s)~K{;xy~Zyqau((}lcpw_(A-*+rgX-ZLSo#O2w8N_{So#jg&H@*Dw z<&#xYOmBL8n;?9u{Ha-`Jp`PQxobIxXYYvMF}(OK7LHXT2Hh(?*MlUtZx zf93N_)vsAq%yYUEv)bNs{bktk*0tcLi^-(4rL8OHn1qFu>XW$Kks)&;Aw8q~KoKbu;7C46T4 znc`=npX~y)nRpEEPoLMb?Z8^ijzd$gITolzrc2fz=W};?w$)qVv+0K0Hx9p9*>NWI zTj0{w_ik}UvYcje(O!M0;n&8%H`!+MbJLF>TvN}wOtokU{}zXmQ*jG4(zh6&z4_n` zqx=s^!=D#DPXs$|+_i^i{YmT3jWr?`2dkcP{t&J|bYJp`KwzgV%D;sr%CfR;^&ENFX>FeD$4t!H} zLat7BSrSyfcJ+y>4Q=uq&G#afuDyOq+4}4H5nrJ+C%XioaHW>BLOlO>Tkz z=H05Vo;o+Ic%4(@p6ooKFI>Oar#EFgYE)}|l?$F1qPTd$uP4?U-ssn?-Os*liQ~RE zYj!EVzj)k)XVosglCL6vo}E4>{CK_J(`#w$Ps4iSGqf60E2aZBwVN+WRH+m#wY7h*Q2*pWnjjf9uxhr3kDz#^uKRz)gBF_m|HJ z$y*F>&dAg;36rRo?#Vr7SFry7)|#RgXOI`Ip<8ola`v# zxV_<)`_;W?>t9bkzbLKJY;#&v_1fZTbH3k@sC;h{pvv^7N?`YCxsBpFhfc2FH96g? zdZBx_Lw}*EXriM3yJaQDyBed8!;bp(F3}TD@H=mt z;FG?5R^P{S{OwNPlcr{T4T;avIqboEiSgHKnVs$_wt>dE8@I()uXk-&TC`Vb$`9TR zS8^U)nEvwp7hT`X6vHAZxpUF{M;>xMUTSz?PSU#r;?rB&B(i$9wZsO!eB1afqq=Et z%vYXkX?t%}Y-5dCDkZS7+xTYWv-&wjbwyH2{PUkr|M~up|GcZFclNzgd2(g-y7yB* z&8pDdqmkdU{nG81M_CVR>zz`Pj}yK0are&qx8%7(xA@kE`nuehlCW%7zQ@vg2aSc8 za&LzC7M^39_Gq=2=F7V~1fIX?oyL2ss$FjJ{j2UucGE6}eo-hnBrJ7aqg!7(v&TGW zM*YsSr_y}i+|4$=SGx1W^h?Vj}aMqQ%1vz!J?*zGxM6RRVf)NLhB zL_KG)xMA$>=XR50ZsfVQufCOCuAFImvoiL0_B-CMXMz5;v*yix zWzyxh>|?Kr!;wpF&dEC_-aM07)p1epndIj^KSeBV$OV>Ps7m~s_;iD1S?0{Wr|a_5 z6Q`6WFa9VxJHo{J)RPdwO5vg_JG*m2CtZJTd|=X&=-j&P9Q#(NCFQTFX1U|;r$1$C zGxOfcdui``r@Q#pS56X+zLu~($tCVS^Z9?r{>#=Fr%uqjAkf%*&|%54$=?|_{+`O4 zalysXV#)PQ89WsiTxYKob><0c4U^*3m0qmAOmp9xD~1aaW9B?t7NGK(_wJU^`7z~B zeoTEP{N&rF3!9YJo+;zI-CC8Kv3;96*H6c)qYvDTDcJHaKrG*tD`kV3*W}aIXJX>t z?LEh~|HRC9!9gp_9~4Y#?rG7BZ{w+MjF`3h>cy&T;Vs1v99c`k<5%ck{r>9s*UJv8 zTuiugJ%2MVuUj%JQS$0llbMXiViwf@%~lq?lBKS2#{5~@=NX?CzE9x|+sBu`)<3N3 ziSfy~^0(`66?Od;*v7Hyfz9qSkE~l89{+84#6CCt#5ucfg{xk<@Rb+uczaNL-fqDM zt3&txPFUROVyDnP$Eh-8PE*jS=hwgQ|Frz~?!U7iOg!4O%TXlhlS_{MtwkZP?itBG zTq0cmvNzwxGtNnL%GFgXSH85*%r884%E{U9a{0^fuOcS0Yu$cdnEQptH|>eRDT%2) z8ZYE5B{vC|`JKD{=j@p*$uR%d+1VRcMf>HXZ<&3=c4Kk(+paaTug{4&o6k$#ul;<= zDnH$tz_NSo{ZH+iH@hdDFWYr~LwxC;zI)&A>G|(k99A#3H+1f-FMd(X+X|1>uh`+X zOu_vClYHc^zzeo7q<#37v1d1*J-G2fNr82RM2p!{u2x6pql%k;sfh2}wBuFo8_!>p zHB;0gE|(|xrk{xYG~-C~v~$azUbI=eWR}vG`dh#Mt+?^-)xF6bl_o;g7Y%2+`0V_C zZttX)7c(u>)6SilGqc`NRj+47#>S_S^SZU%LZl2A^`{1Ux;X1>oYCqZawRa+MP4gP z=%RpiTA=F0uvnq4@85au$ltk>k+fC+PjUFBqQhst@7`Zs zZ&zLa?OuN8-^w>tE^G9U8k4yF` z72SPt@6EsF>gCn;N>?Wfr7M4mR}yWtZ+*H)_Qmwlv-;|JjxN8_E4Hu;r>oANwa4IR z&YmgDo~(W-d~aq=d6CY~lTX4Y)laV9!+htj`UV|8o81W7xOdu+L+eLZ75K>%Mx89 zd*Q?GhsyRd=S}eBD__2!|8$K;t=NYT56>K(Y4hWzeDlwGfg7)bXYM~&Bf93zexxtCzX+fBt9tQ~A&8C)NioWcxN@a@CvHT;U?? zSk-@R^O?phuV)+jZRuQYy_%g@((M!L5C5~SK5fU#^J8XxhxT;lr7`^Tik;tlPBvK0hHnDhLw656hT@Uvx+sn2r zC7+JJD}C4TJM+PWR0Y0!sX7yVZNxjasTT6)6&V(~8BMBj{8anliM`jgWtUcpKPdYZ zAMe8N#z25&8RtBUHI!! z53|j`i)WVjh}ZPbKfm^=9^>b~X?9K4)pZMZe$d+Us9c1N`?~lsuK9X3k`m8%w^lz~ zney!OtKg;O-#EWbep`GXF@J*Ak?RHR<@JZt=gQ>X)3|(gdUE#0Sw9~B*!+0q5ATn) zmXXPN`(*y-{jq#N>l{Ilmu>5pscS*w%UX6)XqZWP}bU#(D_XvW9)qwP)l zLHm7^>+hbJ_b&c{`(N%xl~;e`Zsz_K-2cK~$*T73e&IduC(W5(?fY)ko!<{m*3Vjf z{{E!>B4%g%9`$?QjXVD+`P=dXx9ii=UC(~od1LywnTDb-A{KqTRUvy}tMvbbIh)H? z_Wxh;+4IAs-;G>9YqRfqH_WxVn|*hG%hPqc_?fCz8v5_ISl7>Idi~G7^S4m?;k><1 zvL{_vv!9})=6&+Ls`+I9_V%5Ypz;&6o%i`3|K8n~{?FSd|M8dRO%Jn)dv$K> zNN-+$x{j&ihsl3~KZp1K`u^LlAi4QX&7Z<|2k&GbvSXhyd7XFr zrvILNBl5?xgb~XKU@vm8S!Vl?=^U((stRqja|M2}C z!~a?JaqpV$*#7Kt(tlGYQDdp|y(;oe=tlD+@$dFr+Ii}y_VdplH2E#|7w|Fgo~v)V zT628w@wFa2kKFdL>IZd72psfY^6InxgWvX(_h|n-a%HB2@AL<{aay}K$Iq`44){~M zvflfz^##|Z<P7@G2i^5Uf$<@Z*`kZ|KF%i`sGvcv-zd?visBaiM{x@_=Ds3 zCG|7zdHgr|>wWW5&e-VX0v+itu zuzUXGYQY=c;yFL0W|sZ#yp!|Jdgt!q**n>b_@CCzw6?AnlyE5i*Zb2r;d=hz)%*R- z?$)#3aIsh>yUndoZ2ArP4fZ^HYWn|9yRkdjc*o=TBmZXm^k(*!Gld4Z76$)`{#f5} zU-Z9YjjT+&aJ^dGo0^k9#Wx(acbHSV@psnu(q+4T2+q9l!T9?cmgP(K3GCb9{_Bm! z!}ouM;`2Rf%nawwm?|r2bKhF1y!&dtn%1PyOOA(RpNgx#O);A3DK<&p`OaJ4eda$W zK6x%sDn8lXBk$p#^S-ehG54laEq$TCf6A}xS0q2Q-C_OUb~DxRO?~Zw-y6QO=HL3w zHQ|lYjYrH5o1QP>UmpC@`?5Z3a*gw^w3XI(C;p53)mW1I%(a7gZO6*|Q#|QAQj4NY zv{%pkdgk)xnQyu`*H7EamH({x=KA#g{70&1)gRc;GGib6p4ZZolK0=XR~A2A%5bsX zt~~qQ@12)FnO2(rZ|_)`?tp5MLKg%C>&MbX$=fhi@uX`>YI?5Vd^(~$u<G|Wc+#d!`1Ix<@(Qc&!f+s7c`&u zR_)I81NHx=R?n_xpYg1I$9W$cdAX-|7cKo0^XS_VqYWP_Po}HsGk@PBRrj>*iTEV* z$7}2Va?DFr|5EwUk z_xkUdYNuUXGkz|$I9&HY*uFT^%{+I%LiN_1hrf%y`7C%k{dfMC_22HZPW!y4Ci$Q0 zfs^qfZMA6+7hL&rIP3}Mw9>tQ6)SFX?oP?S#h&E8g#TTA=>yaJX*Zv~@7imAOgAsS zr`GlxZ^hmCW9J%<*K+-N%lg4l+*9pvzrFcA4z?>o^{#tt>ntyPnfk%!{e-^9i8s5y zp8U~r=H{=gJtF_zY83zV3r)So;%_H$pYhxZktKz8d#(#E=i|9p{OMBojW>TLURJx? z8s1^G`hI1iWO;%>Kx!H#zMKw>|XNx?_BILUmvCTe+6| z^yKf3cC3E5-@@D{{!V?$BkxJo zGn#dE)b>q|@cg5&k#FAasTCX=&DFo>Da9TR{QU0Elj263xH&nV`;>0#Wj)eP^}fe& z?_t5GdQP@^9(8eB-Y_ckyBb?VHw{ z${$bt?_K}x-y7x*E&mVazns_eKl|mc_utch(*BG7Tm5kM{b&0x|M#vx^55XXQQv>M z|K|Mf|7ZJ;|KNw!MbDqjo4ecOyV1;BwaM>R@7#Uh^ZT>8Pb^BmKMvZy*EpU(=2}Qa zRiK|F-(A_8Yn1xn=w7&n(+_Pj0Kd+HI}n zZ)U%V{2f*uXLad46PxPwU!7MZw35<~Ic;ivpzz_v)Qx-fmHG0%cs+Eya%9fL6-`@h z^fOD_*9sgiQPR1Ym@Sbn^518!Md+g|9pPfDxWWSe|FyXHR>kh{7Tae3i&M70S$@*) zP~d}UoJYP&MjW@P`DT>#(@Lj4**f!}p3};X9Pur|cam;#bZ7W(JuJ5?c<+WbN0(n0 zLkvwBy=O2!x_I)`>y^F{4NpU>6pvh!T7PY`Ex+J4!LkcnB3C$Bu5f2dv^%)9x@wqyFo7j^HCy8k(A zy}9{j;;R|v^V6;xoo(m1C%fKr&GPHUw`T^FG5sjNJD=h5`m^7=_`b-Te)jiR*wXrY zP5HeC*5CTDH20F?O;xLG*UBE>=N;cRiTyd({4S&(dX@>zkT>!1!6C^Yli?>y7sQsoUNy$hoEaOZcD2yT&ZT)fMZm zvhZBvjx*)(GnHDrtX3c}+a%8A%q_O?H6>2xc5UwLNZL8ILtQXYP~GmoWBCo)zoK~y zKL_q;KYr@kPq*Ed_q6jB3)k-G6ufg-B`=Y$d_$A;jZ;yppP!Pc{~vecg=4ye;4Y2z zKes=B@*+a{n!&#r;{z+R^!mKl zXG)(}7609N@Q%TZ7(?@kvnRb>eMfyq&x_4`WgF&h{xtPxfE`m!)>Nf1Uc2)?`=-o4 zum5cNXX93(MHd!nb?9UpDpggVuYaaztRE(y%_5xFyY=+4{@B&J$JCO7AMh=`QIli1 z>|RRnu1VSl`;-%oZT+Abw@1!mt>hl3zn3meo8^H(e|-w4FH5>--Y$%zyKqe#xq`-K+U(^C=$<;gbJzuNxQHnyYlu6FCr`h9D!?q2QQJ;(1|isOF9>w0SY;oX)K zdEejby4P{f{qeln5_gK(5Av>vkAB8D?c8>^0POGmqo^~}MZ6$lK z&8`n8Z}wWZ_}kU@oww~iznA6otqHyb3sX$(wsxPt({lb!bSo}Z8)E#zSQ{UR%dmt>Q%nt6H8oh2`KU7MHvEqeXwZ=Z87iu_6Yy}JKB%NDb%+nDzUMQ^C*j$63zLPUn% z7O`90b6NNG|2veBxWgbyLrje;xK$x5;@ah>XCpRx8T9Y1o4fJJ%P`h=QERt}nadgd zTU^(F{7393@&1-_owTO`-d8uRb~~>ww7T=J-jS=4k4vY`y?S3kXlZzrh4%x?@L4Na zYK%({y_EXkck9x$uRJrAEB?Iym0REKzvjKYbIF$eV{85Y_TAl<8o%K0%G7_QCX=}~ zoL6?^F7<+x99nvwSQjxGpSC=e(HVKy~h`?bbs`98mn%8 z(WU&qtdr~?{ycrsJbr=ApCu=3Sl*O1KDgEqn|%G&wzoIGmMM2uerKI_dXG!hjSs=8 z%NXmmRpnKsRmEe&#JHk&Ii$_tyS=#V;=B#Z-$?FO`OGT8%|2Oq!!6GnZ)9}Jo=U9! z^KMUy+u^Ft_OOpkA7A$7ap&#f{%+fFTkdeI|L(9C4IkL^4rp}h)y0;it!duqd~%kR z!r!xs)?M$fqzs>1d6iFBoC|nsz1-hc!FJo6uw|dUN~2bu)4J-pbd`Q^>CATt7h^ZxdcH7L z?$+alvU0cXFT8EcR*>dwvGwAU8ID3xYcEAj4O_LvZ|U+Cf7u>R*;;WxYWaHmb<7W4 zmhUOID|OF$uM_(APyLeYxfzZ z++&$@uc`b(+9#&ir-Y_pXkY!SxT4L04 zuJwXk;atvz!ipBWi=^}0-ls~eUz*YHy>4sD`G=IP8#PV?_jBj8 znD{)Edh^chu~Yk>{jKrdr)@t${z}ND797;yBC?B%xixc+_VzV0Qz|1wE%sOK z7EL#4+kA6_cG6Wt^J^lnJH9^jd6uNTaczWXO<;A6jh%FSSN;i>sOy6{Z3)|wb&x_1Fkpn@37<>vH#yVbw$(q4-e~QcRk=g_JC3B!==L&M|mqY zGCzyaO0mloHu(SUqY%X?Esr3d4hj8`&xy=F?5G&U2S z<0leW}d&H793NRQg?cSPnyj1A4b{}Q$3STv28f)w~pzC;+*x^p1nJsB2CO(j?KXgpHz|W`oN3+>X-o^hCI4;(n`OzHd@}2e0 zhgEyqqVKi&uVC2C@mO}l>l0JohWIX$eJ^meV!lR&o6Bxv&Dh-HOXs&Ky_%+bacfBD zB2}#@vG}Uq=q0Cjc&}n)HcBn=F+HWiCgR`O$7t(6D!$Mvbyw2|xZvFo7%|*7E zR=4We_S|IkKQcGm`O;Byz36LcsrzpUeRw97lPA4?aOH)$7%()ywBkxmSAbVn@^b@0H0Nwb~o@tSy=Q zW{0G>h$*kgQmsi2&O$ysT+dip1DAYV!JGc&DLX5>V14=9F4hWxGX0v*_Xxu4tdWc7NF)x6&iU++D9 zJp7>l*56?-7ktRo5)bu0`Lp~?;GzD<`+I%v^q?hYZoh3> z0sC|FmpuDfo9!(2`!E0gR)Xh{?TlTlo6ji-zSFyMwl$Znzd(Fh-XR&I6-zjHPRbTt zPFwwubLZ(-jt@T{FA_JJ9((Un{_EKt988>MDX*#}nCkO1-rYR9E5RsKx=Cu0-`eD@ z@|%A7ZP)qsA(Q?7oxpu5x1ZiqH^0bXe<}Cdlox$Mcl{Uj%&(b0Hzn|+`qvN2vXged z_WUNzzbHC_dB5Z9EsghfvTi>3BD??GefG`4Gq=aPyy1A{#&PkG?(=8OF@JVksW%Z? z^MX|xwpbiR3X{O^?euO~ctyF=4(!w1*R8;g_6-Ri$9u6|eYD1Yt^i4C8s zjF)aadnWyjsijWZhAC5n|Az>P?CX)(sP{4PHs2!W-k1NspPhFj?DEl@$&U_g=;WBJ zCU$1F#)h;%`%`V|w|@LN@8dV!v~T_kF4jvLZT_!*W?yn`y!Rx|dkkjx8NaKV^>di5 zXXU=Om*EWCcFVU-=XOplyYOalXieOtx5u^5?OIU$%w6mBO~KmFW2dSQWTIWMirQhD&oC-FNR;9w=b+_y|K>U_PQKv! zg+T@UlF!T5uvNIGFAwQ34Qp0stJae8DP80|LrHya!TQ+W zts2V|y0WL&WHyL(2ww{-4r*Q9wAMiQR^l7yix!68($;y|1Y9ww`=xMK=WbF(y?Wjv z_p;D8snV}{m-+HFY%VFC^lsKkmJ8aUB3h^GJk2#;{#(K}S@ea`zKnZ0bDzDr=p1HV zd$0UUj8!WjlKR!wl7CN@s)fPw{ANutgRKa#@HuL(6>Rb)VONu zO1_C}*E7iHSw%ma8vbzZ^(lh(kvsO~h21U>wBA@{{3u&I>9xVV&ngA;wL{m7RUW;& zLwIh$3hUF^XT87qY{~tjZ@Kf&k)HLe^HvD^)AT> z=}J$jc+2h?k!v^)PJKOT^QuW2QR=gsXC=&+5`M}2<6ma+7V~{o`+fvYuAMZqYN_+I z@Ve7ACx3O#etYec%p)ygO~xa_dVc5B^#? zyC&uP3F*hV7k6Ku^*eLY?3YJuc~0)suV2dSx29%>Xbso;P}YWxA}LV_IjS5sOMx z|L==?1Q$Qua^_xK)7SSu6eISho4w9B=e|5&`|>5O#0Kq?n@oFG%8(B{nzMI z&Ka1&zN7U`Xm-Whw%y-m**sWRl%clNOHr%k)zQPe9!LA~6AxFbSSp_tH+=59_PgT6 zcbRHG9vX`tf3E2_rDO=S{^SNF3T zUNtxUHI3>0-tc=y^_*EDW$7lCx;rk)Ic|2{Gfy&IOh1D!uy5zH(&eX?p6glPrr-A7 z`FmWZY-D*{Q1~&AT+|QF&N#4h`|LX}_dJ-cl^A$xR@+g2y+-Aa zR~de{F1ohihi%m!jU?B}A$Q$cnFEs@X0I0D4lY}4m*@D3Yu3svG4DmZzD;v4Y>zx3 zo1!QiB>iG?F?)ZJfBcRk$Yp3Y1 zV^f#R&oZei;F2g%3}wHvykdcdWTn8?i$uen$T>09g%F8Hew@MlknY3qS$9sFOm zd|gv`sqD(9eyeobrw@9z@@>=Mnf)zBJ7$?{fXVAqYm&A;y0S|}+b+Q`-)mp4=QjZs z%SEP-zg~U5`gnbK{d!TRwfq^S4%y66k^wSHLK)X`X1F@MW{l#!5Y>=2rR+eBWajhJ zUxUxSVG*{TdGq2f@6Av0)0X&o9r0YUGOpUC;)2MH=hGfqtpZh_&{&I)e>Senkc-K8T z=ydym`HQQW3!iAO@!P_s_p038rPoY-X3pKEcet-OAHBckqyXE@gLyyt7Clj1HaRem z$y~ANyQgYHW%@Oq(8R-*2VB+*AMjLPFYvY7UsCLSoXDOf=I3U|P2X{D#kr0+b@ST| zyC2`(VCS5FnZY`LYE|s~61m=b&Nii}S6_bDJiGbJ$2EHM`8DcpuHLqqToZjef7m>{ z>v3PBuHmQJ+J~F6=iglPv10ql-y4jqJHprBoUahKNhz9D?uH82hCbV$bCq&t3STQ> zn!)>I<(nE8znOB48#l8(_wn7Tq%`j(Pt8Fi8>7!A!5b>i9uY7$JN;Tt;Qy)om`U|~ z^Hnz}%fH|4c4I;qn{@xp zWTvRU6VIjO5aBa-`#8#F&2Mo&`e|wTUUl(;i0L}(uF8wXoL}Rv`)Kwvk5I+i%4YU; zA?KRsMP23myWvM+I+IMcdy#xulK$*lPXkj9G$$J``R4hBbfi(ig>2=rFOE>@1C4m?l^-SBMrxQOZe;FUp!&# z7P_0a&v(m79%XaYLU$p5$H=Wl(rHJdHtpxyuHnTpdzyJ|j$Zv#i8nWFwDw=uGt#(y zCnV$--{DE$Q?6|mpI>+;PF&Ql`{G@jsEM;h|7fkez53ANdoQei`Se_PsgZrNH^+ce zb=K@N(Mwmnk^Sgez4j-=S+)$l1eK2wE7K!0mF04ngs$IJoxH3&O>-+#T}jgYh4YfN zUnNq7r#&MRdGd<(ir^oK9(PZIt%3D>G~!z=@t7|xi$4FLV^C$ zKC(WSIVYGFs|8+c4DSxlZI++Q{+s`Bw-LMG)S0ZSHgQfZU%T*X$+WT3(i`K=9lo%zSx5}BSbJhA9 zhkoval`O_;{rmDJGjHvBH}O|@18c5ly}N6~FU>92)=ymIZl&qAquQV8rH zZRO?uqifl%rvH6s-Et#l?i#_n+~23a_$G8Wc2Sh>-RMi|lE!CKRtvd3->|aEduz0I zbyccpsMfL&m&ovAQ)Ye7^M1Q`=HGkYX1#3Ra&T6E+Oab&I<{>y`|syl$;p)HqRuR34atG6fclh)eQ)UL9Kxi4&u<<3biwfOj1O6hUiijcA=wc(OS!>+72 zws%vM>VXYslvhnFJfLyHUG=ba;I*|YngWY^vfX_BLYAI7y5Zs!W50|k83w05g`NCR z;x#qV+}to}lkh5|HAQ)|1^ zEZut8YMr#Q&y=2#RQWyMr>N#KGqk+H@unHcPyv5?`F46%9oY9r!M?klRQCE zYKpF|>(6zYFU|L!>KEX9-^f^i?{v-Y`*&w|9jJFt^=f>^x#ig^(d&PIimrB@{mAp= znU$rgkK$RcFFSW~@|j1QF6!S{cFk+a`mc6J7r4y7V`pBk_}y=t`;xd`iECPs@@e}! zKB@V(Yfp80vU%Hs^eWX~im4C6JU6C`$9-+tlMu#qvT4z!(}BvXWbX0iC!dKt=;`t# z+BnJ3?c?l~`(|xi5WV9}$Hjp2%gutGNGU#C-E(CPJO4~guPYb&4*U}n?7hAu>d>1L z3^RV_t?l0zy82r$Yj*v|4NuBW{JPcp^5W@>>ob=Y-%XpVsdTT^qxXi7t%sqXUbx5< zkKGHG3b1Cywcl^rSn9lmyJx|ZRk14_e~O(7yIFp6Pp*rA$YR0A=bO&-b6xpb)6U&y zxl(Tim$%zAMVBd+opNV%4HhS?)oQz2Yk7ClW;ugdmRFOew>ay~*}1Q7TScZn{K&Od@!^?OX>+#puUD1tSM~E1F{g;h)YzToT?e=*7x>hM0f77oR4P5A5V?_n(Gn3WyrPrp~O|S zmi_fvHr%JDw5~W4d7QO%-Sz4<#&_&qb4UEhBqX7^-w$7kJ<3%9j0vr13*W9?j3=eYaFmiG4(H8=nEUH?JE z=CV;}`&;*vGNFzB+iSc&ZFiq%nQ*P)X3ejRuvBTmS3gu6Rr)P>FaL!T zJ@0$oE}t}4x?!pQpX3v<1g_-p!qKQeqI#V_4b4sq`lyZTjd@vC~}{QJ|5mx`T{nYj4=`;WqBEHu7$6f{>ZmblfD zetDmBn&V97x6I!2Cs~;5UuM3h`dM7aEj)gn{*hC!Sn90f*)FnAWLLhkaqi;SrjqO< z^Q;r*PfdHCcOh|yhN$v2SF@mL?s;pZ^4&zTUv-$CPp>^?m=cxsN_!IfosaUnPyK8< zSpWCUxfN4xQ%tG zFNag~L`k2w4!c&Zzj{*r)W72{#ulk+ngQV(veYy;9M(=z(+tQB%vaM4NWGY=rkPPc z{Z&EdO|i2otqDf_6Qv5H7A(jRTbtPa^0kyj;$NH4>Rn~OBeHzLdJ`UXTs*9v1hv;Ecqm1!dN8mnilWZ<8AX43w< z@(SzzExMStaPrM?zwFn~F2zgxzkHd0&v5U;-MgiC6-<7(zSDT_b~6+1ulH6xIzP2^ zO8As&ty5dm=0+?teZ?!b_UM&+>rAEh?CL98f9~}_cE@${JM;<`{3V;B4-w@TYM;X+4XJZ zTcjNvO|l)&FEO2Ey+>{C?lVueommjD^HbH^uyu1%IlN@FFZ<<|uUmICKKJjht+UOR z*5}#P?fYr`*Z469R|8w@?sqHJ?Z|PRx$e#J)aj?CzV7~7`|J2u_b=yP#$S-X9)IEg z^nYD;w?A+mPC6{xW_7q;D&&~WW2MJ$kBJ^@@9~$^RolJtSV;b^^H0ov`YHxr`Lf}q z;AO_k;XeK|_GMO``m*I^U-Nv;`pEwYXE)tV+I=}JbMt@;$wx~gjRzPPWySAATi^LuVtbM4gHwe_{lf9-xd ze{+8uztKMN|FXZDzb}7Fe`~*Oe};XYeP;d9x^w?#)gJjbt@h5pzS>K5SJy?Ao?n%_ z`rn4Gy6oBA#a}o0S$4eqetCN7WUGZf!D&}!e?9-I|5f}I{@41i)xUD{y0ZQHsPp$t z`KbdvS&!%2fB!FjE2q=6;?|p3ZikT2U+q~pRNAv{sJ3U_P}`n$L%sWT{qnoXY7BEU zzD<9Y{#2YJ?Elov{oQ&w{r{&%gauUvFi7vr(_zSkdg@iBnx)t%`GYzLSaWyZ=}=UG0Q?QNd5y zoqQeA*$yuvrk_sjKl@2N<@mE5!bLIlb<^+57W|to!^AiH?mHu!jb(?Q_LW+0?v2<# zQMzO6%{`Wl4hLpFKC|_2DWBircV7-Yi%?c?lquR=l(d)8-EYnPhebDK_>|2LzWo1M zW)EZZy5srfN7A0AS)NpU(5q^%eC_GkvxYf!yC3=+Jblp3zjU4czw#b|!-DaeS2QJM zFa4;Wer<31bw=hd$M2sHwU2&r{-j~?*W9zYAI`%d=l>{FNRmdUsJX0fk0rlh3s-Yc0$ zIwjLApIgP3<`wLF|L11p?Wzjci&bW+Ipvc>$TDYrDsZ)2Hwv|x|4G! zQ$*r&&(UM2k4YaZeB2ax`tGf}2k)Mr`*z>$zb(}}tJhXf|Ly&~^1JA~V{)t2Ur4@< zd{TM#bN+cVfA0K6=GS*$+I{i&#_wyc&)uMu82jkkk-MGZ!qsY1Reb$s&HUnb>D-dP zo}K&T_W9hmukrsG_hs$Jde)$0%g^{}`mdaN%VcY4*7YljE59$Xo3P8GwDi^VmG;X| zSwvfXS&`knZK^}F^0xQ6&vV-L?zUx~ZFaKmM%^(#_1hQkZagIDXnWjhxy5uV^PSsv z*%jA5wR-pKX6W&ZOciP7p2TB*$?FTR?YMOJ#@#b_uh;JW&HBBt{J`fG>D!-As84Ua zKHES)(cj4>soNzwsr`s&=Vc*zpF4AQsBVn9bk)->s3<7v(v>CZlfu;YPTivT^6nD; z$=lRr{jBDdXuXWNbact9eFgDL-bclA$4AdUJpI9IA70~{@?Tsvs`~=>ecZQl-^+cG z`*!a8xi7uOd&SqR`_lVL_nqCRyU)L7cTII|J$vo(n&-9Cp0J&~u6}>Q9krdcMOB~f zo>V=VJo&wUol#}sr|6UO)#Ux{X4a_voHZpoI4MX*^WKyzQ|dICgO4rs@vF2*%{o%{8kNL{G{o=_TS6}4U^BA>B@k{kfotNx9J#@Ioloj`&*Wp0kHr_yvc400T=r?6Qu~K3+as3Phn&85Z(iE^ ziBfu{XLh{Nk34ouT}k|5U(^dXsauJXIUCPRHxxK8bKd5BjlX5k?jxJeY(BL4*5+fI zuWdfJ`Qqnw>D}q8)7#UhKQBICZ+G7D{PlVHHtM#^ZJ*ohuh6+Cb*~_QiTSD9CvIQK z{<`hUwr|@$-`bp zs`Sd|70)Z5SD)V7y~lgc={?$eR`1Q;lfC!#o@w8%>KcXYclt12BGFQ#!s?mDGs|bz z^`|aAQ|(Lj_?~rK>Uh*~tK)9RclYV`t?iTTi@i`e|FOc9f5!?h72Ya5_p$r%qcsnC z%C8lEXVOoPDJ9R`$h2;4Yqs>mTVcuVA9rr#-&f0g-|z7DWf2n@->rO?`EGyh@BRP( z{rmm<{rmkO2KV3J^`%z#1KRhW)M(#-QnP*kNv-z%C$-!6pVVpJe^R%7|4F^}{U`O? z_n$Oq-+$6@`~H(gNm@#BXBimWXEPS3r{=|{78e*B6(kmwFfcGM7%(sdzG7ftQkd@i z#Yl@Ogll^K7b7{Q`Bu~WLA0UV^z~ni^pcFeFfg+IWneB~U`)y_E=$g}G|)@Q$pM+b zz@WguY4MSPDJzqKW6KPPd;zLF_u?o9mRpVtoWG#*MX2%uwX>(&e>IY0I 1 ) + + # print sorted duplicate partitions by name + if len(duplicates) != 0: + print("A list of partitions that have the same name:") + for p in sorted(self, key=lambda x:x.name): + if len(duplicates.intersection([p.name])) != 0: + print("%s" % (p.to_csv())) + raise InputError("Partition names must be unique") + # check for overlaps last = None for p in sorted(self, key=lambda x:x.offset): @@ -245,12 +263,13 @@ class PartitionDefinition(object): self.encrypted = False @classmethod - def from_csv(cls, line): + def from_csv(cls, line, line_no): """ Parse a line from the CSV """ line_w_defaults = line + ",,,," # lazy way to support default fields fields = [ f.strip() for f in line_w_defaults.split(",") ] res = PartitionDefinition() + res.line_no = line_no res.name = fields[0] res.type = res.parse_type(fields[1]) res.subtype = res.parse_subtype(fields[2]) @@ -322,6 +341,8 @@ class PartitionDefinition(object): align = self.ALIGNMENT.get(self.type, 4) if self.offset % align: raise ValidationError(self, "Offset 0x%x is not aligned to 0x%x" % (self.offset, align)) + if self.size % align and secure: + raise ValidationError(self, "Size 0x%x is not aligned to 0x%x" % (self.size, align)) if self.size is None: raise ValidationError(self, "Size field is not set") @@ -414,6 +435,7 @@ def main(): global quiet global md5sum global offset_part_table + global secure parser = argparse.ArgumentParser(description='ESP32 partition table utility') parser.add_argument('--flash-size', help='Optional flash size limit, checks partition table fits in flash', @@ -423,7 +445,7 @@ def main(): parser.add_argument('--verify', '-v', help="Verify partition table fields (deprecated, this behaviour is enabled by default and this flag does nothing.", action='store_true') parser.add_argument('--quiet', '-q', help="Don't print non-critical status messages to stderr", action='store_true') parser.add_argument('--offset', '-o', help='Set offset partition table', default='0x8000') - + parser.add_argument('--secure', help="Require app partitions to be suitable for secure boot", action='store_true') parser.add_argument('input', help='Path to CSV or binary file to parse.', type=argparse.FileType('rb')) parser.add_argument('output', help='Path to output converted binary or CSV file. Will use stdout if omitted.', nargs='?', default='-') @@ -432,6 +454,7 @@ def main(): quiet = args.quiet md5sum = not args.disable_md5sum + secure = args.secure offset_part_table = int(args.offset, 0) input = args.input.read() input_is_binary = input[0:2] == PartitionDefinition.MAGIC_BYTES diff --git a/tools/platformio-build.py b/tools/platformio-build.py index 171445bc..a7619c2f 100644 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -107,11 +107,14 @@ env.Append( join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp32"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp_adc_cal"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp_http_client"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp_https_ota"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp-mqtt"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp-tls"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "ethernet"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "fatfs"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "freertos"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "heap"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "http_server"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "jsmn"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "log"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "mdns"), @@ -125,15 +128,16 @@ env.Append( join(FRAMEWORK_DIR, "tools", "sdk", "include", "smartconfig_ack"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "spiffs"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "tcpip_adapter"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "tcp_transport"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "ulp"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "vfs"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "wear_levelling"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "xtensa-debug-module"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "lwip"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "coap"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "console"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "expat"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "json"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "lwip"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "newlib"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "nghttp"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "soc"), @@ -147,7 +151,7 @@ env.Append( ], LIBS=[ - "gcc", "openssl", "btdm_app", "fatfs", "wps", "coexist", "wear_levelling", "esp_http_client", "hal", "newlib", "driver", "bootloader_support", "pp", "mesh", "smartconfig", "jsmn", "wpa", "ethernet", "phy", "app_trace", "console", "ulp", "wpa_supplicant", "freertos", "bt", "micro-ecc", "cxx", "xtensa-debug-module", "mdns", "vfs", "soc", "core", "sdmmc", "coap", "tcpip_adapter", "c_nano", "esp-tls", "rtc", "spi_flash", "wpa2", "esp32", "app_update", "nghttp", "spiffs", "espnow", "nvs_flash", "esp_adc_cal", "log", "smartconfig_ack", "expat", "m", "c", "heap", "mbedtls", "lwip", "net80211", "pthread", "json", "stdc++" + "gcc", "openssl", "btdm_app", "fatfs", "wps", "http_server", "coexist", "wear_levelling", "esp_http_client", "hal", "newlib", "driver", "bootloader_support", "pp", "mesh", "smartconfig", "jsmn", "wpa", "ethernet", "phy", "app_trace", "console", "ulp", "wpa_supplicant", "freertos", "bt", "micro-ecc", "cxx", "xtensa-debug-module", "tcp_transport", "mdns", "vfs", "esp_ringbuf", "soc", "core", "sdmmc", "coap", "tcpip_adapter", "c_nano", "esp-tls", "asio", "rtc", "spi_flash", "wpa2", "esp32", "app_update", "nghttp", "spiffs", "espnow", "nvs_flash", "esp_adc_cal", "log", "smartconfig_ack", "expat", "m", "mqtt", "c", "heap", "mbedtls", "lwip", "net80211", "pthread", "json", "esp_https_ota", "stdc++" ], LIBSOURCE_DIRS=[ diff --git a/tools/sdk/bin/bootloader_dio_40m.bin b/tools/sdk/bin/bootloader_dio_40m.bin index ab424c15f15de3dcc8342f890d5268c9ad3c3659..b07c320a10c1c44656ccd16a3f8dc1b8852faf38 100644 GIT binary patch delta 10755 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 hcN40|P^#A=EVnaM$oyH9i21_u+Gu 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 delta 9348 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 O&uSUG;N)JY%me^{y+fe@ delta 9348 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 diff --git a/tools/sdk/bin/bootloader_dout_80m.bin b/tools/sdk/bin/bootloader_dout_80m.bin index 4a7dd15d98a806f915428e994d0124230714e2ad..616d1b27e347691ca381e40f9d27d3dbf369f1a0 100644 GIT binary patch delta 11225 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 hcN40|P^#A=EVnaM$oyH9i21_u+Gu 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 delta 9348 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 delta 10480 zcmZ3`#`vL>?IjD7f&lYGHYJ%I%nUHlz`($;fPsPG00RTV0|w52j1yh%OuoP<6C=R* z-~JGT0>l3hP7VhLP7Vh)3C92Sa~T{M&cj6%82{V9XK-NnFTu&-z{1Jlz^TFb-~I$c z0+I;GqW>W9hJ(Z51_y@&BLlksR3*sCOPsBMKib|5>lXJ4;lM71Y(~43H zdpaFvQbSOF(X5Xkd3ZB0iamt*D-X;iLWk{~*Et|6Le9*vBw@u-`F@!9ipe zgTsTV3=S=`7#tWFKJWkk-v|^k2mb%JXJBYxVE8Z3z;NOagM-fz1_veu28RD&L;l+* z9Aa?z|NlQf1H+g73=9k#t~7%A_6!URj4px93IBx|7|t+!uwT*e1td24K3ikGAOjs{|S|{x@_f98h5BYI1lexUY=;4 zU5&mV0WeRRr>fBl%;Vt!u|2?SkUDLiu104tkB0}ub_BC|&+^vuc=N1kv;}i{z-((U z8>GpaXI7&bn8(8dVw-^28#TZV=5AC5Ie4P#{|T!=US7$)Q5ho9uu1?fq<|?TgDOYVO9DAjugV3Ys7nXmZGYU|=wFWJnWo zZTtk1S-~;!YOr z2okbjY<&55@EyDVqfc(@lWU~GH>5^}uv_kaR}1xrqnf-xw>ELjY1 zgG8K^85C4N0!qms7vB0i*-BJh`QqPMlN~Sooo*s9>4b{H%mphfwPz^I+;GBkFZ0AR zAi2|jC%1^IE2vInSj(jP^FPR^8<+lFxbN@Nbquy#Vp$w#8F{2t_f9@7T2=paEdz3} zm>pzTq{JY$igS|^qv5o_+l`spR2Wp3fVBPM&|y8xx|eG$W8(ynqtCK#x-1a2u(21! zS<9TdlEH#8jhWA)F^!p1LrE-%t>%;L2L^$K3aXqOVo{8X4k|3=;OIGJ!RXOw;8M)( z!Xxa)#ULfHP$89_Lu?g;lOh91tc{g{VbMVaRW^>vkHn1Y6`5+DxKB3j-ni(HKIzTNlw)GJ8M$Y z0>*{vf2Z$aYFfb1FrlPT^>3FFNKEDL6(L?nax|GN)EEfGh(=oLM7-(*lLFEIix-3l$pA{dvH_ zu$OTy)6!`SE0~p(&9zqTWm$CU!P5c;TduP#dl?%~fmG;niLGKVSgi20j6w16AK4E^ zYnfBa7-T<~If9b!QIHZ_uC+{0AN_x$)wutU`VQ5!U7% zH&y&`@GbjUroGH71XZ8?zmo;>Imj4YE*?-wD|Y{p{h-+SXEKYdb$vQRhHzoipY-ia zZs82zG_jVYu>|Cw70fGHyi+nK^2o~cBy3YiO=ZaC3X>8^Vv(LB_OythmP@QkOr~eY z#MEMjV+;%oMGF{`R2Y&Hxg!^zW!*7xEt~4;|G8XYs|15sSY=Be@j&zw5TvcqvLyXqN`8CqOH zD&|JYjNzM^+Ef{WR2U2;{+Npj&Dp**=Kq~6a6sPrpUZWOi9xKLVbcPJg5?UTg$!ZS z*wmD~Kz>&`%H*K5K}m^OVUa@Wo&Rfo^)m4=v9U8SG$bvsU}H~WFVy=}!Oq6U$WW;B zXYyt_rTPsZZ9MEr3z^)Q7LD-QA4=@o>fa$VdN?h6Asd8wEk^4vvPI1`V&64|E(@$oHpx z*Na=1HuO)n5R{6$%WZDG31kX512TgYui$L__#4))Y5e~iQlI_!JzUhYZ((nV?E?CdbAvzb9`I)Qfxdd*VxwTqh@-egWk_htkhL^bXF(r@tGz zL7F=`Cq9M>JwgaQfC}A*3pL*TJ=sA>)a>T(3A+U*En=838>D+C$HA*$r96|?GfbE* zz|*|};v}8}3Jf=RCZ7L2;jX~M^S>u|3+b30`F-FlsERnr@$e8x(+$3Z2Y(;9D{yEj z!-2CP(@ye%ba5Qq`y0yVXx#mK@>?Nuopm7fD>z^w0t>~3lR)AfTsc1{bbw6m zdvbuVP5l&*#14)Ht3kpmITkj7`CN_tzZ<$iLY-U->!Cv32%&tCPzM*xu!R*M{tm9j zW`vSFs89o3Xk#HrXa#p;!EaDQwF(rW?x2<`cVi_;W(O#uR)hSv64GFSwO$$nLDDNY zCKmjL2|=RT4bGpe$1l#E_FMJ?sGw6!`aL;-UnE%mw}F{JW9;t^j&@;t9TqL%~-^_=42YLo!6K&CJ-H2VLxo#;`8|0%zd}7L zh`(q7Ln8}_;c!G@FY{Warw7<|xp=r589`!enNmOh2bDbFHkqTvZzmRpFcvmP^WWws zagLvUIXDS8C>_u;ZhZHv%h69*{Hx*y2X1-%T70Viimv$KC)d=W4tTrNuxF z<>71;{5{Eoq2^~J@9)X$1l;Qt84Xwdsu1SkTFGL|#U{(JAz3ghXp$&HJ@`lAJ^Rz8DFKg+h4X)R;pM-Y22=MJp8@~?T_!VQl@WwCIb`A#x5wS}Q7q9&~c==b1_rlA+p0;v06gj#{GcYhH zp81u*l#pN|!);+F@DLxahK4ndomhBF7Q#V{ONP~LFnK=hdd4I*XZ%tv z=h(1BaOvZJixL@le89E#+y9DvzciQ>6ij+9U7Y#r;M8B67R+7P`zy7CL$MF!SPdpM zp)WilijzScPbS3<5DgJzYGYw|FiCKhb7RY|uFe%4s`vh_WRX_d*7Wj#0t3i@91ctz z@{^aTPh;t6_+mfVLt}=D4&1BU0p3=A9_6xkepD15R1VerLXN8yV-i^3Os1&+V`1&@A#y4s-jxC4g*sN3zp zz@Q+&z@X5;z>vVe@PB^(zdKBm%Q)2Pds;x!Yz+VZTR#8)|NMUj1`Y<0#RUyt>}49h z*xMiY|6gHqBLjnj6F(>&{{R2qzNX=e{r}_t|1(%HFf4IoaM%Fq*(ZFn|HAa&eh>41 zdkN>FC-7#Ox3VPVMVKPjT|Nmc~0}_1yzy5#y|Nmx=3~QN|mi_>hD`t)i3X2q;X8jP`1!AQBgO)Z* z>*s>vkHM^waj5}A*ek|E3l{KjuVrks0QHd9GN%6d-?V;iyA&I!(Z96j2S_ofKV}H- zoq{`&pjx+4Z}Lkmt;xpP>XT!%6_{i{Os>(^&}bOCT z1C?FBK>P(-3ZU-Q_sJSM$LmjlL_Qw<_h=!*#UuX?9{G1*6Jz6%e=9f|kAh@)xEhZ@ z>BAse_Jdg?L+XqFPn{VQcl}$*1ZvyuWn8%J-_u_|bh*M-v8`oXdiZ~HS##PYn zZ&N12(ise@Yk#QPGpuD)z5IVIqw2^1kU9!d!p`?)CCINcm>MhoHFSb% z>`o>gsm2PB)By#C8BC4E{~9{M%?GB1g_CdU$<;r7@?V#$hYRX$M~21>kO@09CZ>bv znHr!9y<%c2Y#^cn!cRiu$HN9D!16OD#{2`d0Ha}|GeEj#OpE~Of{u&K;Njwt447rs zd_aNWM1{jjM#Z3i3UdUY4Z@0^sobrKe*Y9Y1l$-HcsLZDL9SV`X`<}oYE{8La-@MSun zz@W+8$PE(g;86eZMUiuIo551a#+{9WqC@PLV7Ig1bv*VAN%y{tS{jkiF0L9GK&ESNbm$n^5?9N43UHN3DwuwhlhhgpIT4^9p=QsS9oFrAx4x?`Ki_Jdm| z*Bg1(=Ym|_0nPc1F>X!%UuSW5# z7DR!f2uQ!pCM4|)6BYi}gPa5lDgjL0Qc&G2Al*F3x*G*RQZqOdnf@whf=U!k4n+o# z0e6f*@x-C{`43FojhBIep^*iu{?;F83BWOt;cqCi{U81)F)?r>yT0)|sFOK^L-994 z(`S%S2dCnvKcMLS{0HWvi65X6xBg7lR+99*@u!J{agT(X00R$a<8zSQqzs0M&;B$% z1+iyxG(HB=9UNgE{~Pavm@_y!f*LvnIvG0{*@NVt=8(!&3Zt3k|}91|z~XHV}D?g<+w>A2((O1|BZZ=n+>N1H(e!KaE}>W0f=*6tol$ za40Y+WiT{8`aPLlRleR9B-6n$QT@+^6#~;|Wi~p11XgfNl=y?1N%{Z4GpPkg$qcSW zS&$<^B&1H{0;N!{ru7VnZea~8lG%g3Z_>KjreZbi`3og#a2MUIxAoZYzTLaX(rc8!~2S9?8v>2e# zHyvaEikByD2dP-W*|-p@tCMr#W{^@|-;HZQk~29L&j0;%^Zy<$ z9w}%;z7aZTGjT0^8soQ>VTC)=Bd*Bh}Zwt_@vFg2~;53B1G8zDlC4Il^ma6qGt zX-={scub~)S!sQ}f(9rVYBIBdiWkFTkd6*!r3DSpB9YlftC0gVm;ka>F$W}V!Q{iy z&Fj;5syFiSw{K|KS-_}`P?nMip?fE0ExflTfY;9=sCY|v~5 zsWEe8Nd5Ew>EHihvlw`!*K!L8Dx`k=zi9#2q6Lggr!h48{%+W{=%CN=UUECx!9P>*shTEN`69io!~>~JZNS`8)zT~@H(G-IY?N(_P0AW;ui zL#f{eE&_&Uei@j6Lc+41Rc5idkd02Wxe&Wdv-u)^O)2A~{FqNGv-WvU4WzY-MA|Ny&^MSCjLB=p>bK_do=+d;yhA(Sa%n^;nR|6j1sanY&&%Y|GnZu)g_ z)2~g7xEF5vm0HH22+_~f&>*sAhnj@0nugxRmA?+I`n741#KM)oR7)5xF8g(G*{@BD z5SBZKO@|F&EUD?vgtxau1#et{|k&0o+A$Tcw=B(s9Eu^E)s!4<&7Vu(=F8U|Q> zvX;5A5ft94aSRjlA+m^B--%@qk*1{%u<`jx3m6&;f6e4rnDuMH;-=JZ{~N)&n(8$e z$}5B?WsI2!}u9^1=QZ?ITF_1OP3 zA=O4ZkhBL!&0zx*P|;?|5yRE!2{M{T#L)SdC$pO<0|P^vl18Hml0qI42V;;+EIB|) z&=#cJ(BhXTGaDBJLz z4~B(Ozm`7!Z>ai9lNpk_WkISJDKRV!U~pI^*r@ocVO0Z|T(n@(RYf6C;+X(S%VvoT zN{I|ciJ&P{UoOROKf&Xj3fiJ+LM%L7OYi>={P7di2sct?0O>LoP*P-2P%Kpd=R{Cn zlQr-qNRI`pBKI!^V*w>bmJdpd29Px)te}}}Rz)_Dga)I6o{9rPn<5j)g%M1KjK848 z3#jWF!DRUFr-3OrY?+i88SXq%ybHE}1(T{1Lr>PzBmZ@|+Bg`N&ik*+HK&V>je)`N zD#-pt$_%Ow3}Iais&oH?W_)E9HO7O)VI9V`OsNGi|PUpy+%ZJ7Pu}ob7W9F19Ha- zCdJb~6|@8t=886+`q|JW(4Z~4p-J$9rr^ZmKPT(iDl+Z=IXTc)#A-K4^$ZU7%EFo# z4N3xyJAO8F3N-YweCQCYxwSw^0MyIg0v79MdC(zPvkNMw{&VttTXDUWV5u&V4IP4u z*3XB^&HmXiQ((dzkqI*eo7UAgC<#me_0SvV|D629Hoji;r$UECitO2_CLkt_cy%4qcPOIfN&AfFwcrZ6O0BD|T|G35iT}f(b8z3O8jkG!}yd zS8z-$`Z-~hfWib3gPDS`<}ajiQlIk^wSAlkQfV;Z2?Ii9qc+Ht4vvOCQ8gtE9vL34 zxm*f!nkP&s;oh-fP4o0Fnd3r=O(*{Ga5b!Hp3WtAF!<*&HU@@+{y)J@kAuEH!A-@3 zem}tzlLvi&F4XBwDz-`PU)i@u-ZM1^8@B0g;XTr}XGJtq1IGfgi#`qds1fc^voM}RWzMwXF2dC27 z|Io$}XMN9MMSYM44JHM3N7)bHO2Et!v{C^y`}+LL<(hV@y;@!xS@R2G$VwL6$A&8H^_@shxds4FJiP;w%6F diff --git a/tools/sdk/bin/bootloader_qio_80m.bin b/tools/sdk/bin/bootloader_qio_80m.bin index 7c073e2cf0209142f06666f9aa1ac06f19ad302d..7525f2a57d2b6d4df397b2b92315f3ba14ce3c21 100644 GIT binary patch delta 12258 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 delta 10480 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 #include "esp_err.h" #include "esp_partition.h" -#include "esp_spi_flash.h" #ifdef __cplusplus extern "C" @@ -133,7 +132,7 @@ esp_err_t esp_ota_set_boot_partition(const esp_partition_t* partition); * If the OTA data partition is not present or not valid then the result is the first app partition found in the * partition table. In priority order, this means: the factory app, the first OTA app slot, or the test app partition. * - * Note that there is no guarantee the returned partition is a valid app. Use esp_image_load(ESP_IMAGE_VERIFY, ...) to verify if the + * Note that there is no guarantee the returned partition is a valid app. Use esp_image_verify(ESP_IMAGE_VERIFY, ...) to verify if the * returned partition contains a bootable image. * * @return Pointer to info for partition structure, or NULL if partition table is invalid or a flash read operation failed. Any returned pointer is valid for the lifetime of the application. diff --git a/tools/sdk/include/app_update/esp_ota_ops.h b/tools/sdk/include/app_update/esp_ota_ops.h index a089a92b..ca77b542 100644 --- a/tools/sdk/include/app_update/esp_ota_ops.h +++ b/tools/sdk/include/app_update/esp_ota_ops.h @@ -20,7 +20,6 @@ #include #include "esp_err.h" #include "esp_partition.h" -#include "esp_spi_flash.h" #ifdef __cplusplus extern "C" @@ -133,7 +132,7 @@ esp_err_t esp_ota_set_boot_partition(const esp_partition_t* partition); * If the OTA data partition is not present or not valid then the result is the first app partition found in the * partition table. In priority order, this means: the factory app, the first OTA app slot, or the test app partition. * - * Note that there is no guarantee the returned partition is a valid app. Use esp_image_load(ESP_IMAGE_VERIFY, ...) to verify if the + * Note that there is no guarantee the returned partition is a valid app. Use esp_image_verify(ESP_IMAGE_VERIFY, ...) to verify if the * returned partition contains a bootable image. * * @return Pointer to info for partition structure, or NULL if partition table is invalid or a flash read operation failed. Any returned pointer is valid for the lifetime of the application. diff --git a/tools/sdk/include/bluedroid/api/esp_a2dp_api.h b/tools/sdk/include/bluedroid/api/esp_a2dp_api.h index 8117d4c5..3b002a40 100644 --- a/tools/sdk/include/bluedroid/api/esp_a2dp_api.h +++ b/tools/sdk/include/bluedroid/api/esp_a2dp_api.h @@ -116,7 +116,7 @@ typedef union { struct a2d_audio_cfg_param { esp_bd_addr_t remote_bda; /*!< remote bluetooth device address */ esp_a2d_mcc_t mcc; /*!< A2DP media codec capability information */ - } audio_cfg; /*!< media codec configuration infomation */ + } audio_cfg; /*!< media codec configuration information */ /** * @brief ESP_A2D_MEDIA_CTRL_ACK_EVT @@ -147,12 +147,12 @@ typedef void (* esp_a2d_sink_data_cb_t)(const uint8_t *buf, uint32_t len); /** * @brief A2DP source data read callback function * - * @param[in] buf : buffer to be filled with PCM data stream from higer layer + * @param[in] buf : buffer to be filled with PCM data stream from higher layer * * @param[in] len : size(in bytes) of data block to be copied to buf. -1 is an indication to user * that data buffer shall be flushed * - * @return size of bytes read successfully, if the argumetn len is -1, this value is ignored. + * @return size of bytes read successfully, if the argument len is -1, this value is ignored. * */ typedef int32_t (* esp_a2d_source_data_cb_t)(uint8_t *buf, int32_t len); diff --git a/tools/sdk/include/bluedroid/api/esp_avrc_api.h b/tools/sdk/include/bluedroid/api/esp_avrc_api.h index 228beb8a..e1f68392 100644 --- a/tools/sdk/include/bluedroid/api/esp_avrc_api.h +++ b/tools/sdk/include/bluedroid/api/esp_avrc_api.h @@ -111,7 +111,7 @@ typedef enum { /// AVRC shuffle modes typedef enum { ESP_AVRC_PS_SHUFFLE_OFF = 0x1, /* #include @@ -44,3 +47,5 @@ extern esp_err_t esp_ble_gatt_set_local_mtu (uint16_t mtu); #ifdef __cplusplus } #endif + +#endif /* __ESP_GATT_COMMON_API_H__ */ diff --git a/tools/sdk/include/bluedroid/api/esp_gatt_defs.h b/tools/sdk/include/bluedroid/api/esp_gatt_defs.h index 77cdcd65..de4bc897 100644 --- a/tools/sdk/include/bluedroid/api/esp_gatt_defs.h +++ b/tools/sdk/include/bluedroid/api/esp_gatt_defs.h @@ -224,7 +224,7 @@ typedef enum { ESP_GATT_CONN_L2C_FAILURE = 1, /*!< General L2cap failure */ /* relate to BTA_GATT_CONN_L2C_FAILURE in bta/bta_gatt_api.h */ ESP_GATT_CONN_TIMEOUT = 0x08, /*!< Connection timeout */ /* relate to BTA_GATT_CONN_TIMEOUT in bta/bta_gatt_api.h */ ESP_GATT_CONN_TERMINATE_PEER_USER = 0x13, /*!< Connection terminate by peer user */ /* relate to BTA_GATT_CONN_TERMINATE_PEER_USER in bta/bta_gatt_api.h */ - ESP_GATT_CONN_TERMINATE_LOCAL_HOST = 0x16, /*!< Connectionterminated by local host */ /* relate to BTA_GATT_CONN_TERMINATE_LOCAL_HOST in bta/bta_gatt_api.h */ + ESP_GATT_CONN_TERMINATE_LOCAL_HOST = 0x16, /*!< Connection terminated by local host */ /* relate to BTA_GATT_CONN_TERMINATE_LOCAL_HOST in bta/bta_gatt_api.h */ ESP_GATT_CONN_FAIL_ESTABLISH = 0x3e, /*!< Connection fail to establish */ /* relate to BTA_GATT_CONN_FAIL_ESTABLISH in bta/bta_gatt_api.h */ ESP_GATT_CONN_LMP_TIMEOUT = 0x22, /*!< Connection fail for LMP response tout */ /* relate to BTA_GATT_CONN_LMP_TIMEOUT in bta/bta_gatt_api.h */ ESP_GATT_CONN_CONN_CANCEL = 0x0100, /*!< L2CAP connection cancelled */ /* relate to BTA_GATT_CONN_CONN_CANCEL in bta/bta_gatt_api.h */ @@ -422,7 +422,7 @@ typedef struct { * @brief service element */ typedef struct { - bool is_primary; /*!< The service flag, ture if the service is primary service, else is secondly service */ + bool is_primary; /*!< The service flag, true if the service is primary service, else is secondly service */ uint16_t start_handle; /*!< The start handle of the service */ uint16_t end_handle; /*!< The end handle of the service */ esp_bt_uuid_t uuid; /*!< The uuid of the service */ @@ -453,7 +453,7 @@ typedef struct { uint16_t incl_srvc_s_handle; /*!< The start handle of the service which has been included */ uint16_t incl_srvc_e_handle; /*!< The end handle of the service which has been included */ esp_bt_uuid_t uuid; /*!< The include service uuid */ -} esp_gattc_incl_svc_elem_t; /*!< The gattc inclue service element */ +} esp_gattc_incl_svc_elem_t; /*!< The gattc include service element */ #ifdef __cplusplus diff --git a/tools/sdk/include/bluedroid/api/esp_gattc_api.h b/tools/sdk/include/bluedroid/api/esp_gattc_api.h index 44c013d5..b0fabb7a 100644 --- a/tools/sdk/include/bluedroid/api/esp_gattc_api.h +++ b/tools/sdk/include/bluedroid/api/esp_gattc_api.h @@ -312,7 +312,7 @@ esp_err_t esp_ble_gattc_open(esp_gatt_if_t gattc_if, esp_bd_addr_t remote_bda, e /** - * @brief Close a virtual connection to a GATT server. gattc maybe have multiple virtual GATT server connections when multiple app_id registed, + * @brief Close the virtual connection to the GATT server. gattc may have multiple virtual GATT server connections when multiple app_id registered, * this API only close one virtual GATT server connection. if there exist other virtual GATT server connections, * it does not disconnect the physical connection. * if you want to disconnect the physical connection directly, you can use esp_ble_gap_disconnect(esp_bd_addr_t remote_device). @@ -371,7 +371,7 @@ esp_err_t esp_ble_gattc_search_service(esp_gatt_if_t gattc_if, uint16_t conn_id, * @param[in] gattc_if: Gatt client access interface. * @param[in] conn_id: connection ID which identify the server. * @param[in] svc_uuid: the pointer to the service uuid. - * @param[out] result: The pointer to the service whith has been found in the gattc cache. + * @param[out] result: The pointer to the service which has been found in the gattc cache. * @param[inout] count: input the number of service want to find, * it will output the number of service has been found in the gattc cache with the given service uuid. * @param[in] offset: Offset of the service position to get. @@ -392,7 +392,7 @@ esp_gatt_status_t esp_ble_gattc_get_service(esp_gatt_if_t gattc_if, uint16_t con * @param[in] conn_id: connection ID which identify the server. * @param[in] start_handle: the attribute start handle. * @param[in] end_handle: the attribute end handle - * @param[out] result: The pointer to the charateristic in the service. + * @param[out] result: The pointer to the characteristic in the service. * @param[inout] count: input the number of characteristic want to find, * it will output the number of characteristic has been found in the gattc cache with the given service. * @param[in] offset: Offset of the characteristic position to get. @@ -695,7 +695,7 @@ esp_err_t esp_ble_gattc_write_char_descr (esp_gatt_if_t gattc_if, * * @param[in] gattc_if: Gatt client access interface. * @param[in] conn_id : connection ID. - * @param[in] handle : charateristic handle to prepare write. + * @param[in] handle : characteristic handle to prepare write. * @param[in] offset : offset of the write value. * @param[in] value_len: length of the value to be written. * @param[in] value : the value to be written. @@ -720,7 +720,7 @@ esp_err_t esp_ble_gattc_prepare_write(esp_gatt_if_t gattc_if, * * @param[in] gattc_if: Gatt client access interface. * @param[in] conn_id : connection ID. - * @param[in] handle : characteristic descriptor hanlde to prepare write. + * @param[in] handle : characteristic descriptor handle to prepare write. * @param[in] offset : offset of the write value. * @param[in] value_len: length of the value to be written. * @param[in] value : the value to be written. diff --git a/tools/sdk/include/bluedroid/api/esp_gatts_api.h b/tools/sdk/include/bluedroid/api/esp_gatts_api.h index bc97b76e..d25d2978 100644 --- a/tools/sdk/include/bluedroid/api/esp_gatts_api.h +++ b/tools/sdk/include/bluedroid/api/esp_gatts_api.h @@ -350,7 +350,8 @@ esp_err_t esp_ble_gatts_create_attr_tab(const esp_gatts_attr_db_t *gatts_attr_db uint8_t max_nb_attr, uint8_t srvc_inst_id); /** - * @brief This function is called to add an included service. After included + * @brief This function is called to add an included service. This function have to be called between + * 'esp_ble_gatts_create_service' and 'esp_ble_gatts_add_char'. After included * service is included, a callback event BTA_GATTS_ADD_INCL_SRVC_EVT * is reported the included service ID. * diff --git a/tools/sdk/include/bluedroid/api/esp_hf_client_api.h b/tools/sdk/include/bluedroid/api/esp_hf_client_api.h index 65598e08..67ec894e 100644 --- a/tools/sdk/include/bluedroid/api/esp_hf_client_api.h +++ b/tools/sdk/include/bluedroid/api/esp_hf_client_api.h @@ -40,7 +40,7 @@ typedef enum { ESP_HF_CLIENT_AUDIO_STATE_DISCONNECTED = 0, /*!< audio connection released */ ESP_HF_CLIENT_AUDIO_STATE_CONNECTING, /*!< audio connection has been initiated */ ESP_HF_CLIENT_AUDIO_STATE_CONNECTED, /*!< audio connection is established */ - ESP_HF_CLIENT_AUDIO_STATE_CONNECTED_MSBC, /*!< mSBC audio connection is estalibshed */ + ESP_HF_CLIENT_AUDIO_STATE_CONNECTED_MSBC, /*!< mSBC audio connection is established */ } esp_hf_client_audio_state_t; /// in-band ring tone state @@ -66,9 +66,9 @@ typedef enum { #define ESP_HF_CLIENT_CHLD_FEAT_REL_ACC 0x02 /* 1 Release active calls and accept other waiting or held call */ #define ESP_HF_CLIENT_CHLD_FEAT_REL_X 0x04 /* 1x Release specified active call only */ #define ESP_HF_CLIENT_CHLD_FEAT_HOLD_ACC 0x08 /* 2 Active calls on hold and accept other waiting or held call */ -#define ESP_HF_CLIENT_CHLD_FEAT_PRIV_X 0x10 /* 2x Request private mode with specified call(put the rest on hold */ +#define ESP_HF_CLIENT_CHLD_FEAT_PRIV_X 0x10 /* 2x Request private mode with specified call(put the rest on hold) */ #define ESP_HF_CLIENT_CHLD_FEAT_MERGE 0x20 /* 3 Add held call to multiparty */ -#define ESP_HF_CLIENT_CHLD_FEAT_MERGE_DETACH 0x40 /* 4 Connect two calls and leave(disconnct from multiparty */ +#define ESP_HF_CLIENT_CHLD_FEAT_MERGE_DETACH 0x40 /* 4 Connect two calls and leave(disconnect from multiparty) */ /// HF CLIENT callback events typedef enum { @@ -140,7 +140,7 @@ typedef union { * @brief ESP_HF_CLIENT_CIND_SIGNAL_STRENGTH_EVT */ struct hf_client_signal_strength_ind_param { - int value; /*!< singal strength value, ranges from 0 to 5 */ + int value; /*!< signal strength value, ranges from 0 to 5 */ } signal_strength; /*!< HF callback param of ESP_HF_CLIENT_CIND_SIGNAL_STRENGTH_EVT */ /** @@ -175,7 +175,7 @@ typedef union { * @brief ESP_HF_CLIENT_CIND_CALL_HELD_EVT */ struct hf_client_call_held_ind_param { - esp_hf_call_held_status_t status; /*!< bluetooth proprietary call hold status indocator */ + esp_hf_call_held_status_t status; /*!< bluetooth proprietary call hold status indicator */ } call_held; /*!< HF callback param of ESP_HF_CLIENT_CIND_CALL_HELD_EVT */ /** @@ -619,7 +619,7 @@ void esp_hf_client_pcm_resample_init(uint32_t src_sps, uint32_t bits, uint32_t c * @brief Down sampling utility to convert high sampling rate into 8K/16bits 1-channel mode PCM * samples. This can only be used in the case that Voice Over HCI is enabled. * - * @param[in] src: pointer to the buffer where the original smapling PCM are stored + * @param[in] src: pointer to the buffer where the original sampling PCM are stored * @param[in] in_bytes: length of the input PCM sample buffer in byte * @param[in] dst: pointer to the buffer which is to be used to store the converted PCM samples * diff --git a/tools/sdk/include/bluedroid/api/esp_hf_defs.h b/tools/sdk/include/bluedroid/api/esp_hf_defs.h index b7127793..1ff9f14f 100644 --- a/tools/sdk/include/bluedroid/api/esp_hf_defs.h +++ b/tools/sdk/include/bluedroid/api/esp_hf_defs.h @@ -120,7 +120,7 @@ typedef enum { /// response indication codes for AT commands typedef enum { - ESP_HF_AT_RESPONSE_CODE_OK = 0, /*!< acknoweledges execution of a command line */ + ESP_HF_AT_RESPONSE_CODE_OK = 0, /*!< acknowledges execution of a command line */ ESP_HF_AT_RESPONSE_CODE_ERR, /*!< command not accepted */ ESP_HF_AT_RESPONSE_CODE_NO_CARRIER, /*!< connection terminated */ ESP_HF_AT_RESPONSE_CODE_BUSY, /*!< busy signal detected */ diff --git a/tools/sdk/include/bluedroid/api/esp_spp_api.h b/tools/sdk/include/bluedroid/api/esp_spp_api.h index e819158c..d7f35774 100644 --- a/tools/sdk/include/bluedroid/api/esp_spp_api.h +++ b/tools/sdk/include/bluedroid/api/esp_spp_api.h @@ -62,9 +62,9 @@ typedef enum { ESP_SPP_CLOSE_EVT = 27, /*!< When SPP connection closed, the event comes */ ESP_SPP_START_EVT = 28, /*!< When SPP server started, the event comes */ ESP_SPP_CL_INIT_EVT = 29, /*!< When SPP client initiated a connection, the event comes */ - ESP_SPP_DATA_IND_EVT = 30, /*!< When SPP connection received data, the event comes, olny for ESP_SPP_MODE_CB */ - ESP_SPP_CONG_EVT = 31, /*!< When SPP connection congestion status changed, the event comes, olny for ESP_SPP_MODE_CB */ - ESP_SPP_WRITE_EVT = 33, /*!< When SPP write operation completes, the event comes, olny for ESP_SPP_MODE_CB */ + ESP_SPP_DATA_IND_EVT = 30, /*!< When SPP connection received data, the event comes, only for ESP_SPP_MODE_CB */ + ESP_SPP_CONG_EVT = 31, /*!< When SPP connection congestion status changed, the event comes, only for ESP_SPP_MODE_CB */ + ESP_SPP_WRITE_EVT = 33, /*!< When SPP write operation completes, the event comes, only for ESP_SPP_MODE_CB */ ESP_SPP_SRV_OPEN_EVT = 34, /*!< When SPP Server connection open, the event comes */ } esp_spp_cb_event_t; @@ -95,7 +95,7 @@ typedef union { struct spp_open_evt_param { esp_spp_status_t status; /*!< status */ uint32_t handle; /*!< The connection handle */ - int fd; /*!< The file descriptor olny for ESP_SPP_MODE_VFS*/ + int fd; /*!< The file descriptor only for ESP_SPP_MODE_VFS */ esp_bd_addr_t rem_bda; /*!< The peer address */ } open; /*!< SPP callback param of ESP_SPP_OPEN_EVT */ @@ -106,7 +106,7 @@ typedef union { esp_spp_status_t status; /*!< status */ uint32_t handle; /*!< The connection handle */ uint32_t new_listen_handle; /*!< The new listen handle */ - int fd; /*!< The file descriptor olny for ESP_SPP_MODE_VFS*/ + int fd; /*!< The file descriptor only for ESP_SPP_MODE_VFS */ esp_bd_addr_t rem_bda; /*!< The peer address */ } srv_open; /*!< SPP callback param of ESP_SPP_SRV_OPEN_EVT */ /** @@ -155,7 +155,7 @@ typedef union { esp_spp_status_t status; /*!< status */ uint32_t handle; /*!< The connection handle */ uint16_t len; /*!< The length of data */ - uint8_t *data; /*!< The data recived */ + uint8_t *data; /*!< The data received */ } data_ind; /*!< SPP callback param of ESP_SPP_DATA_IND_EVT */ /** @@ -224,14 +224,14 @@ esp_err_t esp_spp_deinit(); esp_err_t esp_spp_start_discovery(esp_bd_addr_t bd_addr); /** - * @brief This function makes an SPP conection to a remote BD Address. + * @brief This function makes an SPP connection to a remote BD Address. * When the connection is initiated or failed to initiate, * the callback is called with ESP_SPP_CL_INIT_EVT. * When the connection is established or failed, * the callback is called with ESP_SPP_OPEN_EVT. * * @param[in] sec_mask: Security Setting Mask . - * @param[in] role: Msater or slave. + * @param[in] role: Master or slave. * @param[in] remote_scn: Remote device bluetooth device SCN. * @param[in] peer_bd_addr: Remote device bluetooth device address. * @@ -262,7 +262,7 @@ esp_err_t esp_spp_disconnect(uint32_t handle); * with ESP_SPP_SRV_OPEN_EVT. * * @param[in] sec_mask: Security Setting Mask . - * @param[in] role: Msater or slave. + * @param[in] role: Master or slave. * @param[in] local_scn: The specific channel you want to get. * If channel is 0, means get any channel. * @param[in] name: Server's name. @@ -276,7 +276,7 @@ esp_err_t esp_spp_start_srv(esp_spp_sec_t sec_mask, /** - * @brief This function is used to write data, olny for ESP_SPP_MODE_CB. + * @brief This function is used to write data, only for ESP_SPP_MODE_CB. * * @param[in] handle: The connection handle. * @param[in] len: The length of the data written. @@ -302,4 +302,4 @@ esp_err_t esp_spp_vfs_register(void); } #endif -#endif ///__ESP_SPP_API_H__ \ No newline at end of file +#endif ///__ESP_SPP_API_H__ diff --git a/tools/sdk/include/bluedroid/bta/bta_api.h b/tools/sdk/include/bluedroid/bta/bta_api.h index c8903bfd..15c22ba6 100644 --- a/tools/sdk/include/bluedroid/bta/bta_api.h +++ b/tools/sdk/include/bluedroid/bta/bta_api.h @@ -631,10 +631,13 @@ typedef UINT8 tBTA_SIG_STRENGTH_MASK; #define BTA_DM_SP_RMT_OOB_EXT_EVT 23 /* Simple Pairing Remote OOB Extended Data request. */ #define BTA_DM_BLE_AUTH_CMPL_EVT 24 /* BLE Auth complete */ // btla-specific -- -#define BTA_DM_DEV_UNPAIRED_EVT 25 +#define BTA_DM_DEV_UNPAIRED_EVT 25 /* BT unpair event */ #define BTA_DM_HW_ERROR_EVT 26 /* BT Chip H/W error */ #define BTA_DM_LE_FEATURES_READ 27 /* Cotroller specific LE features are read */ #define BTA_DM_ENER_INFO_READ 28 /* Energy info read */ +#define BTA_DM_BLE_DEV_UNPAIRED_EVT 29 /* BLE unpair event */ +#define BTA_DM_SP_KEY_REQ_EVT 30 /* Simple Pairing Passkey request */ + typedef UINT8 tBTA_DM_SEC_EVT; /* Structure associated with BTA_DM_ENABLE_EVT */ @@ -867,6 +870,13 @@ typedef struct { tBTA_AUTH_REQ rmt_io_caps; /* IO Capabilities of remote device */ } tBTA_DM_SP_CFM_REQ; +/* Structure associated with tBTA_DM_SP_KEY_REQ */ +typedef struct { + BD_ADDR bd_addr; /* peer address */ + DEV_CLASS dev_class; /* peer CoD */ + BD_NAME bd_name; /* peer device name */ +} tBTA_DM_SP_KEY_REQ; + enum { BTA_SP_KEY_STARTED, /* passkey entry started */ BTA_SP_KEY_ENTERED, /* passkey digit entered */ @@ -906,23 +916,24 @@ typedef struct { /* Union of all security callback structures */ typedef union { - tBTA_DM_ENABLE enable; /* BTA enabled */ - tBTA_DM_PIN_REQ pin_req; /* PIN request. */ - tBTA_DM_AUTH_CMPL auth_cmpl; /* Authentication complete indication. */ - tBTA_DM_AUTHORIZE authorize; /* Authorization request. */ - tBTA_DM_LINK_UP link_up; /* ACL connection down event */ - tBTA_DM_LINK_DOWN link_down; /* ACL connection down event */ - tBTA_DM_BUSY_LEVEL busy_level; /* System busy level */ - tBTA_DM_SP_CFM_REQ cfm_req; /* user confirm request */ - tBTA_DM_SP_KEY_NOTIF key_notif; /* passkey notification */ - tBTA_DM_SP_RMT_OOB rmt_oob; /* remote oob */ - tBTA_DM_BOND_CANCEL_CMPL bond_cancel_cmpl; /* Bond Cancel Complete indication */ - tBTA_DM_SP_KEY_PRESS key_press; /* key press notification event */ - tBTA_DM_ROLE_CHG role_chg; /* role change event */ - tBTA_DM_BLE_SEC_REQ ble_req; /* BLE SMP related request */ - tBTA_DM_BLE_KEY ble_key; /* BLE SMP keys used when pairing */ - tBTA_BLE_LOCAL_ID_KEYS ble_id_keys; /* IR event */ - BT_OCTET16 ble_er; /* ER event data */ + tBTA_DM_ENABLE enable; /* BTA enabled */ + tBTA_DM_PIN_REQ pin_req; /* PIN request. */ + tBTA_DM_AUTH_CMPL auth_cmpl; /* Authentication complete indication. */ + tBTA_DM_AUTHORIZE authorize; /* Authorization request. */ + tBTA_DM_LINK_UP link_up; /* ACL connection down event */ + tBTA_DM_LINK_DOWN link_down; /* ACL connection down event */ + tBTA_DM_BUSY_LEVEL busy_level; /* System busy level */ + tBTA_DM_SP_CFM_REQ cfm_req; /* user confirm request */ + tBTA_DM_SP_KEY_REQ key_req; /* user passkey request */ + tBTA_DM_SP_KEY_NOTIF key_notif; /* passkey notification */ + tBTA_DM_SP_RMT_OOB rmt_oob; /* remote oob */ + tBTA_DM_BOND_CANCEL_CMPL bond_cancel_cmpl; /* Bond Cancel Complete indication */ + tBTA_DM_SP_KEY_PRESS key_press; /* key press notification event */ + tBTA_DM_ROLE_CHG role_chg; /* role change event */ + tBTA_DM_BLE_SEC_REQ ble_req; /* BLE SMP related request */ + tBTA_DM_BLE_KEY ble_key; /* BLE SMP keys used when pairing */ + tBTA_BLE_LOCAL_ID_KEYS ble_id_keys; /* IR event */ + BT_OCTET16 ble_er; /* ER event data */ } tBTA_DM_SEC; /* Security callback */ @@ -1559,6 +1570,18 @@ extern void BTA_DmBondByTransport(BD_ADDR bd_addr, tBTA_TRANSPORT transport); *******************************************************************************/ extern void BTA_DmBondCancel(BD_ADDR bd_addr); +/******************************************************************************* +** +** Function BTA_DMSetPinType +** +** Description This function sets pin type as BTM_PIN_TYPE_FIXED or BTM_PIN_TYPE_VARIABLE +** +** +** Returns void +** +*******************************************************************************/ +extern void BTA_DMSetPinType (UINT8 pin_type, UINT8 *pin_code, UINT8 pin_code_len); + /******************************************************************************* ** ** Function BTA_DmPinReply @@ -1601,6 +1624,18 @@ extern void BTA_DmLocalOob(void); *******************************************************************************/ extern void BTA_DmConfirm(BD_ADDR bd_addr, BOOLEAN accept); +/******************************************************************************* +** +** Function BTA_DmPasskeyReqReply +** +** Description This function is called to provide the passkey for +** Simple Pairing in response to BTA_DM_SP_KEY_REQ_EVT +** +** Returns void +** +*******************************************************************************/ +extern void BTA_DmPasskeyReqReply(BOOLEAN accept, BD_ADDR bd_addr, UINT32 passkey); + /******************************************************************************* ** ** Function BTA_DmAddDevice @@ -1632,7 +1667,7 @@ extern void BTA_DmAddDevice(BD_ADDR bd_addr, DEV_CLASS dev_class, ** BTA_FAIL if operation failed. ** *******************************************************************************/ -extern tBTA_STATUS BTA_DmRemoveDevice(BD_ADDR bd_addr); +extern tBTA_STATUS BTA_DmRemoveDevice(BD_ADDR bd_addr, tBT_TRANSPORT transport); /******************************************************************************* ** @@ -1789,6 +1824,22 @@ extern void BTA_DmBleSetBgConnType(tBTA_DM_BLE_CONN_TYPE bg_conn_type, tBTA_DM_B *******************************************************************************/ extern void BTA_DmBlePasskeyReply(BD_ADDR bd_addr, BOOLEAN accept, UINT32 passkey); +/******************************************************************************* +** +** Function BTA_DmBleSetStaticPasskey +** +** Description Set BLE SMP static passkey. +** +** Parameters: add - add static passkey when add is true +** clear static passkey when add is false +** passkey - static passkey value +** +** +** Returns void +** +*******************************************************************************/ +extern void BTA_DmBleSetStaticPasskey(bool add, uint32_t passkey); + /******************************************************************************* ** ** Function BTA_DmBleConfirmReply diff --git a/tools/sdk/include/bluedroid/bta/bta_av_api.h b/tools/sdk/include/bluedroid/bta/bta_av_api.h index 6e70acf9..87c2d374 100644 --- a/tools/sdk/include/bluedroid/bta/bta_av_api.h +++ b/tools/sdk/include/bluedroid/bta/bta_av_api.h @@ -98,7 +98,7 @@ typedef UINT8 tBTA_AV_HNDL; #endif #ifndef BTA_AV_MAX_SEPS -#define BTA_AV_MAX_SEPS 2 +#define BTA_AV_MAX_SEPS 1 #endif #ifndef BTA_AV_MAX_A2DP_MTU @@ -259,7 +259,7 @@ typedef UINT8 tBTA_AV_ERR; /* function types for call-out functions */ typedef BOOLEAN (*tBTA_AV_CO_INIT) (UINT8 *p_codec_type, UINT8 *p_codec_info, - UINT8 *p_num_protect, UINT8 *p_protect_info, UINT8 index); + UINT8 *p_num_protect, UINT8 *p_protect_info, UINT8 tsep); typedef void (*tBTA_AV_CO_DISC_RES) (tBTA_AV_HNDL hndl, UINT8 num_seps, UINT8 num_snk, UINT8 num_src, BD_ADDR addr, UINT16 uuid_local); typedef UINT8 (*tBTA_AV_CO_GETCFG) (tBTA_AV_HNDL hndl, tBTA_AV_CODEC codec_type, @@ -580,7 +580,7 @@ void BTA_AvDisable(void); ** *******************************************************************************/ void BTA_AvRegister(tBTA_AV_CHNL chnl, const char *p_service_name, - UINT8 app_id, tBTA_AV_DATA_CBACK *p_data_cback, tBTA_AV_CO_FUNCTS *bta_av_cos); + UINT8 app_id, tBTA_AV_DATA_CBACK *p_data_cback, tBTA_AV_CO_FUNCTS *bta_av_cos, UINT8 tsep); /******************************************************************************* ** diff --git a/tools/sdk/include/bluedroid/bta/bta_av_co.h b/tools/sdk/include/bluedroid/bta/bta_av_co.h index 403b7a92..03c07c33 100644 --- a/tools/sdk/include/bluedroid/bta/bta_av_co.h +++ b/tools/sdk/include/bluedroid/bta/bta_av_co.h @@ -85,7 +85,7 @@ typedef struct { ** *******************************************************************************/ extern BOOLEAN bta_av_co_audio_init(UINT8 *p_codec_type, UINT8 *p_codec_info, - UINT8 *p_num_protect, UINT8 *p_protect_info, UINT8 index); + UINT8 *p_num_protect, UINT8 *p_protect_info, UINT8 tsep); /******************************************************************************* ** diff --git a/tools/sdk/include/bluedroid/bta/bta_dm_co.h b/tools/sdk/include/bluedroid/bta/bta_dm_co.h index 1f1f648a..3d49a698 100644 --- a/tools/sdk/include/bluedroid/bta/bta_dm_co.h +++ b/tools/sdk/include/bluedroid/bta/bta_dm_co.h @@ -30,6 +30,20 @@ ** Function Declarations *****************************************************************************/ +/******************************************************************************* +** +** Function bta_dm_co_bt_set_io_cap +** +** Description This function is used to set IO capabilities +** +** Parameters bt_io_cap - IO capabilities +** +** @return - ESP_BT_STATUS_SUCCESS : success +** - other : failed +** +*******************************************************************************/ +extern esp_err_t bta_dm_co_bt_set_io_cap(UINT8 bt_io_cap); + /******************************************************************************* ** ** Function bta_dm_co_io_req diff --git a/tools/sdk/include/bluedroid/bta/bta_gatts_co.h b/tools/sdk/include/bluedroid/bta/bta_gatts_co.h index 79c70c8b..9d81d646 100644 --- a/tools/sdk/include/bluedroid/bta/bta_gatts_co.h +++ b/tools/sdk/include/bluedroid/bta/bta_gatts_co.h @@ -55,7 +55,7 @@ extern void bta_gatts_co_update_handle_range(BOOLEAN is_add, tBTA_GATTS_HNDL_RAN ** ** Returns TRUE - if the request is processed successfully and ** the response is returned in p_rsp. -** FASLE - if the request can not be processed +** FALSE - if the request can not be processed ** *******************************************************************************/ extern BOOLEAN bta_gatts_co_srv_chg(tBTA_GATTS_SRV_CHG_CMD cmd, diff --git a/tools/sdk/include/bluedroid/btc/btc_task.h b/tools/sdk/include/bluedroid/btc/btc_task.h index f644e865..5813c521 100644 --- a/tools/sdk/include/bluedroid/btc/btc_task.h +++ b/tools/sdk/include/bluedroid/btc/btc_task.h @@ -28,6 +28,11 @@ typedef struct btc_msg { void *arg; //param for btc function or function param } btc_msg_t; +typedef struct btc_adv_packet { + uint8_t addr[6]; + uint8_t addr_type; +} btc_adv_packet_t; + typedef enum { BTC_SIG_API_CALL = 0, // APP TO STACK BTC_SIG_API_CB, // STACK TO APP @@ -72,5 +77,6 @@ bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg int btc_init(void); void btc_deinit(void); +bool btc_check_queue_is_congest(void); #endif /* __BTC_TASK_H__ */ diff --git a/tools/sdk/include/bluedroid/btc_gap_ble.h b/tools/sdk/include/bluedroid/btc_gap_ble.h index 9ee03d41..c9e0f564 100644 --- a/tools/sdk/include/bluedroid/btc_gap_ble.h +++ b/tools/sdk/include/bluedroid/btc_gap_ble.h @@ -166,5 +166,7 @@ void btc_gap_ble_cb_deep_free(btc_msg_t *msg); void btc_gap_ble_cb_deep_copy(btc_msg_t *msg, void *p_dest, void *p_src); void btc_gap_callback_init(void); void btc_gap_ble_deinit(void); +void btc_adv_list_init(void); +void btc_adv_list_deinit(void); #endif /* __BTC_GAP_BLE_H__ */ diff --git a/tools/sdk/include/bluedroid/btc_gap_bt.h b/tools/sdk/include/bluedroid/btc_gap_bt.h index 41674956..67e03cb3 100644 --- a/tools/sdk/include/bluedroid/btc_gap_bt.h +++ b/tools/sdk/include/bluedroid/btc_gap_bt.h @@ -26,8 +26,12 @@ typedef enum { BTC_GAP_BT_SEARCH_DEVICES_EVT = 0, BTC_GAP_BT_SEARCH_SERVICES_EVT, BTC_GAP_BT_SEARCH_SERVICE_RECORD_EVT, - BTC_GAP_BT_READ_RSSI_DELTA_EVT, BTC_GAP_BT_AUTH_CMPL_EVT, + BTC_GAP_BT_PIN_REQ_EVT, + BTC_GAP_BT_CFM_REQ_EVT, + BTC_GAP_BT_KEY_NOTIF_EVT, + BTC_GAP_BT_KEY_REQ_EVT, + BTC_GAP_BT_READ_RSSI_DELTA_EVT, }btc_gap_bt_evt_t; typedef enum { @@ -39,6 +43,11 @@ typedef enum { BTC_GAP_BT_ACT_SET_COD, BTC_GAP_BT_ACT_READ_RSSI_DELTA, BTC_GAP_BT_ACT_REMOVE_BOND_DEVICE, + BTC_GAP_BT_ACT_SET_PIN_TYPE, + BTC_GAP_BT_ACT_PIN_REPLY, + BTC_GAP_BT_ACT_SET_SECURITY_PARAM, + BTC_GAP_BT_ACT_PASSKEY_REPLY, + BTC_GAP_BT_ACT_CONFIRM_REPLY, } btc_gap_bt_act_t; /* btc_bt_gap_args_t */ @@ -79,11 +88,46 @@ typedef union { struct rm_bond_device_args { bt_bdaddr_t bda; } rm_bond_device; + + // BTC_GAP_BT_ACT_SET_PIN_TYPE + struct set_pin_type_args { + esp_bt_pin_type_t pin_type; + uint8_t pin_code_len; + esp_bt_pin_code_t pin_code; + } set_pin_type; + + // BTC_GAP_BT_ACT_PIN_REPLY + struct pin_reply_args { + bt_bdaddr_t bda; + bool accept; + uint8_t pin_code_len; + esp_bt_pin_code_t pin_code; + } pin_reply; + + // BTC_GAP_BT_ACT_SET_SECURITY_PARAM + struct set_sec_param_args { + esp_bt_sp_param_t param_type; + uint8_t len; + uint8_t *value; + } set_security_param; + + // BTC_GAP_BT_ACT_PASSKEY_REPLY + struct passkey_reply_args { + bt_bdaddr_t bda; + bool accept; + uint32_t passkey; + } passkey_reply; + + // BTC_GAP_BT_ACT_CONFIRM_REPLY + struct confirm_reply_args { + bt_bdaddr_t bda; + bool accept; + } confirm_reply; } btc_gap_bt_args_t; void btc_gap_bt_call_handler(btc_msg_t *msg); void btc_gap_bt_cb_handler(btc_msg_t *msg); - +void btc_gap_bt_arg_deep_copy(btc_msg_t *msg, void *p_dest, void *p_src); void btc_gap_bt_busy_level_updated(uint8_t bl_flags); esp_err_t btc_gap_bt_get_cod(esp_bt_cod_t *cod); diff --git a/tools/sdk/include/bluedroid/common/bt_defs.h b/tools/sdk/include/bluedroid/common/bt_defs.h index 51ba9a9d..77719bc8 100644 --- a/tools/sdk/include/bluedroid/common/bt_defs.h +++ b/tools/sdk/include/bluedroid/common/bt_defs.h @@ -26,9 +26,6 @@ #define UNUSED(x) (void)(x) -#ifndef SIZE_MAX -#define SIZE_MAX 254 -#endif /*Timer Related Defination*/ //by Snake.T diff --git a/tools/sdk/include/bluedroid/common/bt_target.h b/tools/sdk/include/bluedroid/common/bt_target.h index a5bb49b6..331ff20e 100644 --- a/tools/sdk/include/bluedroid/common/bt_target.h +++ b/tools/sdk/include/bluedroid/common/bt_target.h @@ -52,6 +52,7 @@ #define BTA_SDP_INCLUDED TRUE #define BTA_DM_PM_INCLUDED TRUE #define SDP_INCLUDED TRUE +#define BT_SSP_INCLUDED TRUE #if CONFIG_A2DP_ENABLE #define BTA_AR_INCLUDED TRUE @@ -127,7 +128,7 @@ #else #define SMP_INCLUDED FALSE #define BLE_PRIVACY_SPT FALSE -#endif /* CONFIG_GATTC_ENABLE */ +#endif /* CONFIG_SMP_ENABLE */ #if (CONFIG_BT_ACL_CONNECTIONS) #define MAX_ACL_CONNECTIONS CONFIG_BT_ACL_CONNECTIONS @@ -307,6 +308,16 @@ #define BTA_AV_CO_CP_SCMS_T FALSE//FALSE #endif +#ifndef QUEUE_CONGEST_SIZE +#define QUEUE_CONGEST_SIZE 40 +#endif + +#ifndef CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK +#define SCAN_QUEUE_CONGEST_CHECK FALSE +#else +#define SCAN_QUEUE_CONGEST_CHECK CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK +#endif + /* This feature is used to eanble interleaved scan*/ #ifndef BTA_HOST_INTERLEAVE_SEARCH #define BTA_HOST_INTERLEAVE_SEARCH FALSE//FALSE @@ -981,7 +992,7 @@ #endif #ifndef BTM_BLE_ADV_TX_POWER -#define BTM_BLE_ADV_TX_POWER {-21, -15, -7, 1, 9} +#define BTM_BLE_ADV_TX_POWER {-12, -9, -6, -3, 0, 3, 6, 9} #endif @@ -1145,6 +1156,20 @@ #define SMP_LINK_TOUT_MIN 2 #endif #endif + +/****************************************************************************** +** +** BT_SSP +** +******************************************************************************/ +#ifndef BT_SSP_INCLUDED +#define BT_SSP_INCLUDED FALSE +#endif + +#if BT_SSP_INCLUDED == TRUE && CLASSIC_BT_INCLUDED == FALSE +#error "Can't have SSP without CLASSIC BT" +#endif + /****************************************************************************** ** ** SDP diff --git a/tools/sdk/include/bluedroid/common/bte_appl.h b/tools/sdk/include/bluedroid/common/bte_appl.h index 4850250b..47a0184b 100644 --- a/tools/sdk/include/bluedroid/common/bte_appl.h +++ b/tools/sdk/include/bluedroid/common/bte_appl.h @@ -32,6 +32,18 @@ typedef struct { UINT8 ble_resp_key; UINT8 ble_max_key_size; #endif + } tBTE_APPL_CFG; extern tBTE_APPL_CFG bte_appl_cfg; + + +typedef struct { +#if ((CLASSIC_BT_INCLUDED == TRUE) && (BT_SSP_INCLUDED == TRUE)) + UINT8 bt_auth_req; + UINT8 bt_io_cap; + UINT8 *bt_oob_auth_data; +#endif +} tBTE_BT_APPL_CFG; + +extern tBTE_BT_APPL_CFG bte_bt_appl_cfg; \ No newline at end of file diff --git a/tools/sdk/include/bluedroid/esp_bt.h b/tools/sdk/include/bluedroid/esp_bt.h index fe594b03..3115cacd 100644 --- a/tools/sdk/include/bluedroid/esp_bt.h +++ b/tools/sdk/include/bluedroid/esp_bt.h @@ -25,83 +25,7 @@ extern "C" { #endif -/** - * @brief Controller config options, depend on config mask. - * Config mask indicate which functions enabled, this means - * some options or parameters of some functions enabled by config mask. - */ -typedef struct { - uint16_t controller_task_stack_size; /*!< Bluetooth controller task stack size */ - uint8_t controller_task_prio; /*!< Bluetooth controller task priority */ - uint8_t hci_uart_no; /*!< If use UART1/2 as HCI IO interface, indicate UART number */ - uint32_t hci_uart_baudrate; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ - uint8_t scan_duplicate_mode; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ - uint16_t normal_adv_size; /*!< Normal adv size for scan duplicate */ - uint16_t mesh_adv_size; /*!< Mesh adv size for scan duplicate */ - uint16_t send_adv_reserved_size; /*!< Controller minimum memory value */ - uint32_t controller_debug_flag; /*!< Controller debug log flag */ -} esp_bt_controller_config_t; - -#ifdef CONFIG_BT_ENABLED -/* While scanning, if the free memory value in controller is less than SCAN_SEND_ADV_RESERVED_SIZE, -the adv packet will be discarded until the memory is restored. */ -#define SCAN_SEND_ADV_RESERVED_SIZE 1000 -/* enable controller log debug when adv lost */ -#define CONTROLLER_ADV_LOST_DEBUG_BIT (0<<0) - -#ifdef CONFIG_BT_HCI_UART_NO -#define BT_HCI_UART_NO_DEFAULT CONFIG_BT_HCI_UART_NO -#else -#define BT_HCI_UART_NO_DEFAULT 1 -#endif /* BT_HCI_UART_NO_DEFAULT */ - -#ifdef CONFIG_BT_HCI_UART_BAUDRATE -#define BT_HCI_UART_BAUDRATE_DEFAULT CONFIG_BT_HCI_UART_BAUDRATE -#else -#define BT_HCI_UART_BAUDRATE_DEFAULT 921600 -#endif /* BT_HCI_UART_BAUDRATE_DEFAULT */ - -/* normal adv cache size */ -#ifdef CONFIG_DUPLICATE_SCAN_CACHE_SIZE -#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE CONFIG_DUPLICATE_SCAN_CACHE_SIZE -#else -#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE 20 -#endif - -#ifndef CONFIG_BLE_MESH_SCAN_DUPLICATE_EN -#define CONFIG_BLE_MESH_SCAN_DUPLICATE_EN FALSE -#endif - -#define SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY 0 -#define SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV 1 - -#if CONFIG_BLE_MESH_SCAN_DUPLICATE_EN - #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV - #ifdef CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE - #define MESH_DUPLICATE_SCAN_CACHE_SIZE CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE - #else - #define MESH_DUPLICATE_SCAN_CACHE_SIZE 50 - #endif -#else - #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY - #define MESH_DUPLICATE_SCAN_CACHE_SIZE 0 -#endif - -#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \ - .controller_task_stack_size = ESP_TASK_BT_CONTROLLER_STACK, \ - .controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \ - .hci_uart_no = BT_HCI_UART_NO_DEFAULT, \ - .hci_uart_baudrate = BT_HCI_UART_BAUDRATE_DEFAULT, \ - .scan_duplicate_mode = SCAN_DUPLICATE_MODE, \ - .normal_adv_size = NORMAL_SCAN_DUPLICATE_CACHE_SIZE, \ - .mesh_adv_size = MESH_DUPLICATE_SCAN_CACHE_SIZE, \ - .send_adv_reserved_size = SCAN_SEND_ADV_RESERVED_SIZE, \ - .controller_debug_flag = CONTROLLER_ADV_LOST_DEBUG_BIT, \ -}; - -#else -#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() {0}; _Static_assert(0, "please enable bluetooth in menuconfig to use bt.h"); -#endif +#define ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL 0x5A5AA5A5 /** * @brief Bluetooth mode for controller enable/disable @@ -113,6 +37,122 @@ typedef enum { ESP_BT_MODE_BTDM = 0x03, /*!< Run dual mode */ } esp_bt_mode_t; +#ifdef CONFIG_BT_ENABLED +/* While scanning, if the free memory value in controller is less than SCAN_SEND_ADV_RESERVED_SIZE, +the adv packet will be discarded until the memory is restored. */ +#define SCAN_SEND_ADV_RESERVED_SIZE 1000 +/* enable controller log debug when adv lost */ +#define CONTROLLER_ADV_LOST_DEBUG_BIT (0<<0) + +#ifdef CONFIG_BT_HCI_UART_NO +#define BT_HCI_UART_NO_DEFAULT CONFIG_BT_HCI_UART_NO +#else +#define BT_HCI_UART_NO_DEFAULT 1 +#endif /* BT_HCI_UART_NO_DEFAULT */ + +#ifdef CONFIG_BT_HCI_UART_BAUDRATE +#define BT_HCI_UART_BAUDRATE_DEFAULT CONFIG_BT_HCI_UART_BAUDRATE +#else +#define BT_HCI_UART_BAUDRATE_DEFAULT 921600 +#endif /* BT_HCI_UART_BAUDRATE_DEFAULT */ + +#ifdef CONFIG_SCAN_DUPLICATE_TYPE +#define SCAN_DUPLICATE_TYPE_VALUE CONFIG_SCAN_DUPLICATE_TYPE +#else +#define SCAN_DUPLICATE_TYPE_VALUE 0 +#endif + +/* normal adv cache size */ +#ifdef CONFIG_DUPLICATE_SCAN_CACHE_SIZE +#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE CONFIG_DUPLICATE_SCAN_CACHE_SIZE +#else +#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE 20 +#endif + +#ifndef CONFIG_BLE_MESH_SCAN_DUPLICATE_EN +#define CONFIG_BLE_MESH_SCAN_DUPLICATE_EN FALSE +#endif + +#define SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY 0 +#define SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV 1 + +#if CONFIG_BLE_MESH_SCAN_DUPLICATE_EN + #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV + #ifdef CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE + #define MESH_DUPLICATE_SCAN_CACHE_SIZE CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE + #else + #define MESH_DUPLICATE_SCAN_CACHE_SIZE 50 + #endif +#else + #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY + #define MESH_DUPLICATE_SCAN_CACHE_SIZE 0 +#endif + +#if defined(CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY) +#define BTDM_CONTROLLER_MODE_EFF ESP_BT_MODE_BLE +#elif defined(CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY) +#define BTDM_CONTROLLER_MODE_EFF ESP_BT_MODE_CLASSIC_BT +#else +#define BTDM_CONTROLLER_MODE_EFF ESP_BT_MODE_BTDM +#endif + +#define BTDM_CONTROLLER_BLE_MAX_CONN_LIMIT 9 //Maximum BLE connection limitation +#define BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_LIMIT 7 //Maximum ACL connection limitation +#define BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_LIMIT 3 //Maximum SCO/eSCO connection limitation + +#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \ + .controller_task_stack_size = ESP_TASK_BT_CONTROLLER_STACK, \ + .controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \ + .hci_uart_no = BT_HCI_UART_NO_DEFAULT, \ + .hci_uart_baudrate = BT_HCI_UART_BAUDRATE_DEFAULT, \ + .scan_duplicate_mode = SCAN_DUPLICATE_MODE, \ + .scan_duplicate_type = SCAN_DUPLICATE_TYPE_VALUE, \ + .normal_adv_size = NORMAL_SCAN_DUPLICATE_CACHE_SIZE, \ + .mesh_adv_size = MESH_DUPLICATE_SCAN_CACHE_SIZE, \ + .send_adv_reserved_size = SCAN_SEND_ADV_RESERVED_SIZE, \ + .controller_debug_flag = CONTROLLER_ADV_LOST_DEBUG_BIT, \ + .mode = BTDM_CONTROLLER_MODE_EFF, \ + .ble_max_conn = CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF, \ + .bt_max_acl_conn = CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF, \ + .bt_max_sync_conn = CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF, \ + .magic = ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL, \ +}; + +#else +#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() {0}; _Static_assert(0, "please enable bluetooth in menuconfig to use bt.h"); +#endif + +/** + * @brief Controller config options, depend on config mask. + * Config mask indicate which functions enabled, this means + * some options or parameters of some functions enabled by config mask. + */ +typedef struct { + /* + * Following parameters can be configured runtime, when call esp_bt_controller_init() + */ + uint16_t controller_task_stack_size; /*!< Bluetooth controller task stack size */ + uint8_t controller_task_prio; /*!< Bluetooth controller task priority */ + uint8_t hci_uart_no; /*!< If use UART1/2 as HCI IO interface, indicate UART number */ + uint32_t hci_uart_baudrate; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ + uint8_t scan_duplicate_mode; /*!< scan duplicate mode */ + uint8_t scan_duplicate_type; /*!< scan duplicate type */ + uint16_t normal_adv_size; /*!< Normal adv size for scan duplicate */ + uint16_t mesh_adv_size; /*!< Mesh adv size for scan duplicate */ + uint16_t send_adv_reserved_size; /*!< Controller minimum memory value */ + uint32_t controller_debug_flag; /*!< Controller debug log flag */ + uint8_t mode; /*!< Controller mode: BR/EDR, BLE or Dual Mode */ + uint8_t ble_max_conn; /*!< BLE maximum connection numbers */ + uint8_t bt_max_acl_conn; /*!< BR/EDR maximum ACL connection numbers */ + /* + * Following parameters can not be configured runtime when call esp_bt_controller_init() + * It will be overwrite with a constant value which in menuconfig or from a macro. + * So, do not modify the value when esp_bt_controller_init() + */ + uint8_t bt_max_sync_conn; /*!< BR/EDR maximum ACL connection numbers. Effective in menuconfig */ + uint32_t magic; /*!< Magic number */ +} esp_bt_controller_config_t; + /** * @brief Bluetooth controller enable/disable/initialised/de-initialised status */ @@ -123,7 +163,6 @@ typedef enum { ESP_BT_CONTROLLER_STATUS_NUM, } esp_bt_controller_status_t; - /** * @brief BLE tx power type * ESP_BLE_PWR_TYPE_CONN_HDL0-8: for each connection, and only be set after connection completed. @@ -202,7 +241,7 @@ esp_power_level_t esp_ble_tx_power_get(esp_ble_power_type_t power_type); * BR/EDR power control will use the power in range of minimum value and maximum value. * The power level will effect the global BR/EDR TX power, such inquire, page, connection and so on. * Please call the function after esp_bt_controller_enable and before any function which cause RF do TX. - * So you can call the function can before do discover, beofre profile init and so on. + * So you can call the function before doing discovery, profile init and so on. * For example, if you want BR/EDR use the new TX power to do inquire, you should call * this function before inquire. Another word, If call this function when BR/EDR is in inquire(ING), * please do inquire again after call this function. @@ -231,10 +270,11 @@ esp_err_t esp_bredr_tx_power_get(esp_power_level_t *min_power_level, esp_power_l esp_err_t esp_bredr_sco_datapath_set(esp_sco_data_path_t data_path); /** - * @brief Initialize BT controller to allocate task and other resource. - * @param cfg: Initial configuration of BT controller. - * This function should be called only once, before any other BT functions are called. - * @return ESP_OK - success, other - failed + * @brief Initialize BT controller to allocate task and other resource. + * This function should be called only once, before any other BT functions are called. + * @param cfg: Initial configuration of BT controller. Different from previous version, there's a mode and some + * connection configuration in "cfg" to configure controller work mode and allocate the resource which is needed. + * @return ESP_OK - success, other - failed */ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg); @@ -252,7 +292,8 @@ esp_err_t esp_bt_controller_deinit(void); * Due to a known issue, you cannot call esp_bt_controller_enable() a second time * to change the controller mode dynamically. To change controller mode, call * esp_bt_controller_disable() and then call esp_bt_controller_enable() with the new mode. - * @param mode : the mode(BLE/BT/BTDM) to enable. + * @param mode : the mode(BLE/BT/BTDM) to enable. For compatible of API, retain this argument. This mode must be + * equal as the mode in "cfg" of esp_bt_controller_init(). * @return ESP_OK - success, other - failed */ esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode); @@ -291,40 +332,70 @@ bool esp_vhci_host_check_send_available(void); void esp_vhci_host_send_packet(uint8_t *data, uint16_t len); /** @brief esp_vhci_host_register_callback - * register the vhci referece callback, the call back + * register the vhci reference callback * struct defined by vhci_host_callback structure. * @param callback esp_vhci_host_callback type variable + * @return ESP_OK - success, ESP_FAIL - failed */ -void esp_vhci_host_register_callback(const esp_vhci_host_callback_t *callback); +esp_err_t esp_vhci_host_register_callback(const esp_vhci_host_callback_t *callback); /** @brief esp_bt_controller_mem_release - * release the memory by mode, if never use the bluetooth mode - * it can release the .bss, .data and other section to heap. - * The total size is about 70k bytes. + * release the controller memory as per the mode + * + * This function releases the BSS, data and other sections of the controller to heap. The total size is about 70k bytes. * * esp_bt_controller_mem_release(mode) should be called only before esp_bt_controller_init() * or after esp_bt_controller_deinit(). * - * Note that once BT controller memory is released, the process cannot be reversed. It means you can not use the bluetooth + * Note that once BT controller memory is released, the process cannot be reversed. It means you cannot use the bluetooth * mode which you have released by this function. * * If your firmware will later upgrade the Bluetooth controller mode (BLE -> BT Classic or disabled -> enabled) * then do not call this function. * * If the app calls esp_bt_controller_enable(ESP_BT_MODE_BLE) to use BLE only then it is safe to call - * esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT) at initialisation time to free unused BT Classic memory. + * esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT) at initialization time to free unused BT Classic memory. * - * If user never use bluetooth controller, could call esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) - * before esp_bt_controller_init or after esp_bt_controller_deinit. - * - * For example, user only use bluetooth to config SSID and PASSWORD of WIFI, after config, will never use bluetooth. - * Then, could call esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) after esp_bt_controller_deinit. + * If the mode is ESP_BT_MODE_BTDM, then it may be useful to call API esp_bt_mem_release(ESP_BT_MODE_BTDM) instead, + * which internally calls esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) and additionally releases the BSS and data + * consumed by the BT/BLE host stack to heap. For more details about usage please refer to the documentation of + * esp_bt_mem_release() function * * @param mode : the mode want to release memory * @return ESP_OK - success, other - failed */ esp_err_t esp_bt_controller_mem_release(esp_bt_mode_t mode); +/** @brief esp_bt_mem_release + * release controller memory and BSS and data section of the BT/BLE host stack as per the mode + * + * This function first releases controller memory by internally calling esp_bt_controller_mem_release(). + * Additionally, if the mode is set to ESP_BT_MODE_BTDM, it also releases the BSS and data consumed by the BT/BLE host stack to heap + * + * Note that once BT memory is released, the process cannot be reversed. It means you cannot use the bluetooth + * mode which you have released by this function. + * + * If your firmware will later upgrade the Bluetooth controller mode (BLE -> BT Classic or disabled -> enabled) + * then do not call this function. + * + * If you never intend to use bluetooth in a current boot-up cycle, you can call esp_bt_mem_release(ESP_BT_MODE_BTDM) + * before esp_bt_controller_init or after esp_bt_controller_deinit. + * + * For example, if a user only uses bluetooth for setting the WiFi configuration, and does not use bluetooth in the rest of the product operation". + * In such cases, after receiving the WiFi configuration, you can disable/deinit bluetooth and release its memory. + * Below is the sequence of APIs to be called for such scenarios: + * + * esp_bluedroid_disable(); + * esp_bluedroid_deinit(); + * esp_bt_controller_disable(); + * esp_bt_controller_deinit(); + * esp_bt_mem_release(ESP_BT_MODE_BTDM); + * + * @param mode : the mode whose memory is to be released + * @return ESP_OK - success, other - failed + */ +esp_err_t esp_bt_mem_release(esp_bt_mode_t mode); + /** * @brief enable bluetooth to enter modem sleep * @@ -377,10 +448,23 @@ bool esp_bt_controller_is_sleeping(void); * Note that after this request, bluetooth controller may again enter sleep as long as the modem sleep is enabled * * Profiling shows that it takes several milliseconds to wakeup from modem sleep after this request. - * Generally it takes longer if 32kHz XTAL is used than the main XTAL, due to the lower frequncy of the former as the bluetooth low power clock source. + * Generally it takes longer if 32kHz XTAL is used than the main XTAL, due to the lower frequency of the former as the bluetooth low power clock source. */ void esp_bt_controller_wakeup_request(void); +/** + * @brief Manually clear scan duplicate list + * + * Note that scan duplicate list will be automatically cleared when the maximum amount of device in the filter is reached + * the amount of device in the filter can be configured in menuconfig. + * + * + * @return + * - ESP_OK : success + * - other : failed + */ +esp_err_t esp_ble_scan_dupilcate_list_flush(void); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/bluedroid/hci/buffer_allocator.h b/tools/sdk/include/bluedroid/hci/buffer_allocator.h deleted file mode 100644 index da44bf6c..00000000 --- a/tools/sdk/include/bluedroid/hci/buffer_allocator.h +++ /dev/null @@ -1,25 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 Google, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -#ifndef _BUFFER_ALLOCATOR_H_ - -#include "osi/allocator.h" - -const allocator_t *buffer_allocator_get_interface(); - -#endif /*_BUFFER_ALLOCATOR_H_*/ diff --git a/tools/sdk/include/bluedroid/hci/hci_packet_factory.h b/tools/sdk/include/bluedroid/hci/hci_packet_factory.h index e48c4be4..21bd2c9a 100644 --- a/tools/sdk/include/bluedroid/hci/hci_packet_factory.h +++ b/tools/sdk/include/bluedroid/hci/hci_packet_factory.h @@ -44,6 +44,7 @@ typedef struct { BT_HDR *(*make_ble_write_suggested_default_data_length)(uint16_t SuggestedMaxTxOctets, uint16_t SuggestedMaxTxTime); BT_HDR *(*make_ble_set_event_mask)(const bt_event_mask_t *event_mask); BT_HDR *(*make_write_sync_flow_control_enable)(uint8_t enable); + BT_HDR *(*make_write_default_erroneous_data_report)(uint8_t enable); } hci_packet_factory_t; const hci_packet_factory_t *hci_packet_factory_get_interface(); diff --git a/tools/sdk/include/bluedroid/hid_le_prf.h b/tools/sdk/include/bluedroid/hid_le_prf.h deleted file mode 100644 index 3b567d0c..00000000 --- a/tools/sdk/include/bluedroid/hid_le_prf.h +++ /dev/null @@ -1,265 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "prf_defs.h" - -#if (HIDD_LE_PROFILE_CFG) -#include "bta_gatts_int.h" -#include "stack/bt_types.h" -#include "bta/bta_api.h" -#include "stack/gatt_api.h" -#include "bt_app_api.h" - -/// Maximal number of HIDS that can be added in the DB -#ifndef USE_ONE_HIDS_INSTANCE -#define HIDD_LE_NB_HIDS_INST_MAX (2) -#else -#define HIDD_LE_NB_HIDS_INST_MAX (1) -#endif - -// Number of HID reports defined in the service -#define HID_NUM_REPORTS 9 - - -#define ATT_SVC_HID 0x1812 - -/// Maximal number of Report Char. that can be added in the DB for one HIDS - Up to 11 -#define HIDD_LE_NB_REPORT_INST_MAX (5) - -/// Maximal length of Report Char. Value -#define HIDD_LE_REPORT_MAX_LEN (45) -/// Maximal length of Report Map Char. Value -#define HIDD_LE_REPORT_MAP_MAX_LEN (512) - -/// Length of Boot Report Char. Value Maximal Length -#define HIDD_LE_BOOT_REPORT_MAX_LEN (8) - -/// Boot KB Input Report Notification Configuration Bit Mask -#define HIDD_LE_BOOT_KB_IN_NTF_CFG_MASK (0x40) -/// Boot KB Input Report Notification Configuration Bit Mask -#define HIDD_LE_BOOT_MOUSE_IN_NTF_CFG_MASK (0x80) -/// Boot Report Notification Configuration Bit Mask -#define HIDD_LE_REPORT_NTF_CFG_MASK (0x20) - - -/* HID information flags */ -#define HID_FLAGS_REMOTE_WAKE 0x01 // RemoteWake -#define HID_FLAGS_NORMALLY_CONNECTABLE 0x02 // NormallyConnectable - -/* Control point commands */ -#define HID_CMD_SUSPEND 0x00 // Suspend -#define HID_CMD_EXIT_SUSPEND 0x01 // Exit Suspend - -/* HID protocol mode values */ -#define HID_PROTOCOL_MODE_BOOT 0x00 // Boot Protocol Mode -#define HID_PROTOCOL_MODE_REPORT 0x01 // Report Protocol Mode - -/* Attribute value lengths */ -#define HID_PROTOCOL_MODE_LEN 1 // HID Protocol Mode -#define HID_INFORMATION_LEN 4 // HID Information -#define HID_REPORT_REF_LEN 2 // HID Report Reference Descriptor -#define HID_EXT_REPORT_REF_LEN 2 // External Report Reference Descriptor - -// HID feature flags -#define HID_KBD_FLAGS HID_FLAGS_REMOTE_WAKE - - -/// HID Service Attributes Indexes -enum { - HIDD_LE_IDX_SVC, - - // Included Service - HIDD_LE_IDX_INCL_SVC, - - // HID Information - HIDD_LE_IDX_HID_INFO_CHAR, - HIDD_LE_IDX_HID_INFO_VAL, - - // HID Control Point - HIDD_LE_IDX_HID_CTNL_PT_CHAR, - HIDD_LE_IDX_HID_CTNL_PT_VAL, - - // Report Map - HIDD_LE_IDX_REPORT_MAP_CHAR, - HIDD_LE_IDX_REPORT_MAP_VAL, - HIDD_LE_IDX_REPORT_MAP_EXT_REP_REF, - - // Protocol Mode - HIDD_LE_IDX_PROTO_MODE_CHAR, - HIDD_LE_IDX_PROTO_MODE_VAL, - - // Boot Keyboard Input Report - HIDD_LE_IDX_BOOT_KB_IN_REPORT_CHAR, - HIDD_LE_IDX_BOOT_KB_IN_REPORT_VAL, - HIDD_LE_IDX_BOOT_KB_IN_REPORT_NTF_CFG, - - // Boot Keyboard Output Report - HIDD_LE_IDX_BOOT_KB_OUT_REPORT_CHAR, - HIDD_LE_IDX_BOOT_KB_OUT_REPORT_VAL, - - // Boot Mouse Input Report - HIDD_LE_IDX_BOOT_MOUSE_IN_REPORT_CHAR, - HIDD_LE_IDX_BOOT_MOUSE_IN_REPORT_VAL, - HIDD_LE_IDX_BOOT_MOUSE_IN_REPORT_NTF_CFG, - - // Report - HIDD_LE_IDX_REPORT_CHAR, - HIDD_LE_IDX_REPORT_VAL, - HIDD_LE_IDX_REPORT_REP_REF, - HIDD_LE_IDX_REPORT_NTF_CFG, - - HIDD_LE_IDX_NB, -}; - - -/// Attribute Table Indexes -enum { - HIDD_LE_INFO_CHAR, - HIDD_LE_CTNL_PT_CHAR, - HIDD_LE_REPORT_MAP_CHAR, - HIDD_LE_REPORT_CHAR, - HIDD_LE_PROTO_MODE_CHAR, - HIDD_LE_BOOT_KB_IN_REPORT_CHAR, - HIDD_LE_BOOT_KB_OUT_REPORT_CHAR, - HIDD_LE_BOOT_MOUSE_IN_REPORT_CHAR, - HIDD_LE_CHAR_MAX //= HIDD_LE_REPORT_CHAR + HIDD_LE_NB_REPORT_INST_MAX, -}; - -///att read event table Indexs -enum { - HIDD_LE_READ_INFO_EVT, - HIDD_LE_READ_CTNL_PT_EVT, - HIDD_LE_READ_REPORT_MAP_EVT, - HIDD_LE_READ_REPORT_EVT, - HIDD_LE_READ_PROTO_MODE_EVT, - HIDD_LE_BOOT_KB_IN_REPORT_EVT, - HIDD_LE_BOOT_KB_OUT_REPORT_EVT, - HIDD_LE_BOOT_MOUSE_IN_REPORT_EVT, - - HID_LE_EVT_MAX -}; - -/// Client Characteristic Configuration Codes -enum { - HIDD_LE_DESC_MASK = 0x10, - - HIDD_LE_BOOT_KB_IN_REPORT_CFG = HIDD_LE_BOOT_KB_IN_REPORT_CHAR | HIDD_LE_DESC_MASK, - HIDD_LE_BOOT_MOUSE_IN_REPORT_CFG = HIDD_LE_BOOT_MOUSE_IN_REPORT_CHAR | HIDD_LE_DESC_MASK, - HIDD_LE_REPORT_CFG = HIDD_LE_REPORT_CHAR | HIDD_LE_DESC_MASK, -}; - -/// Features Flag Values -enum { - HIDD_LE_CFG_KEYBOARD = 0x01, - HIDD_LE_CFG_MOUSE = 0x02, - HIDD_LE_CFG_PROTO_MODE = 0x04, - HIDD_LE_CFG_MAP_EXT_REF = 0x08, - HIDD_LE_CFG_BOOT_KB_WR = 0x10, - HIDD_LE_CFG_BOOT_MOUSE_WR = 0x20, -}; - -/// Report Char. Configuration Flag Values -enum { - HIDD_LE_CFG_REPORT_IN = 0x01, - HIDD_LE_CFG_REPORT_OUT = 0x02, - //HOGPD_CFG_REPORT_FEAT can be used as a mask to check Report type - HIDD_LE_CFG_REPORT_FEAT = 0x03, - HIDD_LE_CFG_REPORT_WR = 0x10, -}; - -/// Pointer to the connection clean-up function -#define HIDD_LE_CLEANUP_FNCT (NULL) - -/* - * TYPE DEFINITIONS - **************************************************************************************** - */ - -/// HIDD Features structure -typedef struct { - /// Service Features - uint8_t svc_features; - /// Number of Report Char. instances to add in the database - uint8_t report_nb; - /// Report Char. Configuration - uint8_t report_char_cfg[HIDD_LE_NB_REPORT_INST_MAX]; -} hidd_feature_t; - - -typedef struct { - BOOLEAN in_use; - BOOLEAN congest; - uint16_t conn_id; - BOOLEAN connected; - BD_ADDR remote_bda; - uint32_t trans_id; - uint8_t cur_srvc_id; - -} hidd_clcb_t; - -// HID report mapping table -typedef struct { - uint16_t handle; // Handle of report characteristic - uint16_t cccdHandle; // Handle of CCCD for report characteristic - uint8_t id; // Report ID - uint8_t type; // Report type - uint8_t mode; // Protocol mode (report or boot) -} hidRptMap_t; - - -typedef struct { - /// hidd profile id - uint8_t app_id; - /// Notified handle - uint16_t ntf_handle; - ///Attribute handle Table - uint16_t att_tbl[HIDD_LE_CHAR_MAX]; - /// Supported Features - hidd_feature_t hidd_feature[HIDD_LE_NB_HIDS_INST_MAX]; - /// Current Protocol Mode - uint8_t proto_mode[HIDD_LE_NB_HIDS_INST_MAX]; - /// Number of HIDS added in the database - uint8_t hids_nb; - uint8_t pending_evt; - uint16_t pending_hal; -} hidd_inst_t; - - -/* service engine control block */ -typedef struct { - hidd_clcb_t hidd_clcb; /* connection link*/ - esp_gatt_if_t gatt_if; - BOOLEAN enabled; - BOOLEAN is_primery; - hidd_inst_t hidd_inst; - uint8_t inst_id; -} hidd_le_env_t; - -extern hidd_le_env_t hidd_le_env; - - -void hidd_le_create_service(BOOLEAN is_primary); - -void hidd_rsp (uint32_t trans_id, uint16_t conn_id, uint8_t app_id, - esp_gatt_status_t status, uint8_t event, tGATTS_DATA *p_rsp); - -void hidd_read_attr_value(tGATTS_DATA *p_data, uint32_t trans_id); - - -tGATT_STATUS hidd_le_init (void); - - -#endif ///HIDD_LE_PROFILE_CFG - - diff --git a/tools/sdk/include/bluedroid/osi/allocator.h b/tools/sdk/include/bluedroid/osi/allocator.h index 707901f4..888d8134 100644 --- a/tools/sdk/include/bluedroid/osi/allocator.h +++ b/tools/sdk/include/bluedroid/osi/allocator.h @@ -24,18 +24,6 @@ #include "esp_heap_caps.h" #include "sdkconfig.h" -typedef void *(*alloc_fn)(size_t size); -typedef void (*free_fn)(void *ptr); - -typedef struct { - alloc_fn alloc; - free_fn free; -} allocator_t; - -// allocator_t abstractions for the osi_*alloc and osi_free functions -extern const allocator_t allocator_malloc; -extern const allocator_t allocator_calloc; - char *osi_strdup(const char *str); void *osi_malloc_func(size_t size); diff --git a/tools/sdk/include/bluedroid/osi/fixed_queue.h b/tools/sdk/include/bluedroid/osi/fixed_queue.h index e3bf2f67..5ec0c074 100644 --- a/tools/sdk/include/bluedroid/osi/fixed_queue.h +++ b/tools/sdk/include/bluedroid/osi/fixed_queue.h @@ -22,6 +22,10 @@ #include #include "osi/list.h" +#ifndef QUEUE_SIZE_MAX +#define QUEUE_SIZE_MAX 254 +#endif + struct fixed_queue_t; typedef struct fixed_queue_t fixed_queue_t; diff --git a/tools/sdk/include/bluedroid/osi/thread.h b/tools/sdk/include/bluedroid/osi/thread.h index 8bb2fdc7..1aa773c0 100644 --- a/tools/sdk/include/bluedroid/osi/thread.h +++ b/tools/sdk/include/bluedroid/osi/thread.h @@ -69,7 +69,7 @@ typedef enum { #define HCI_H4_TASK_STACK_SIZE (2048 + BT_TASK_EXTRA_STACK_SIZE) #define HCI_H4_TASK_PRIO (configMAX_PRIORITIES - 4) #define HCI_H4_TASK_NAME "hciH4T" -#define HCI_H4_QUEUE_LEN 60 +#define HCI_H4_QUEUE_LEN 1 #define BTU_TASK_PINNED_TO_CORE (TASK_PINNED_TO_CORE) #define BTU_TASK_STACK_SIZE (4096 + BT_TASK_EXTRA_STACK_SIZE) diff --git a/tools/sdk/include/bluedroid/p_256_ecc_pp.h b/tools/sdk/include/bluedroid/p_256_ecc_pp.h index 029a79ff..f91d6056 100644 --- a/tools/sdk/include/bluedroid/p_256_ecc_pp.h +++ b/tools/sdk/include/bluedroid/p_256_ecc_pp.h @@ -58,6 +58,8 @@ extern elliptic_curve_t curve_p256; void ECC_PointMult_Bin_NAF(Point *q, Point *p, DWORD *n, uint32_t keyLength); +bool ECC_CheckPointIsInElliCur_P256(Point *p); + #define ECC_PointMult(q, p, n, keyLength) ECC_PointMult_Bin_NAF(q, p, n, keyLength) void p_256_init_curve(UINT32 keyLength); diff --git a/tools/sdk/include/bluedroid/smp_int.h b/tools/sdk/include/bluedroid/smp_int.h index 10d6f4bc..029869ef 100644 --- a/tools/sdk/include/bluedroid/smp_int.h +++ b/tools/sdk/include/bluedroid/smp_int.h @@ -132,6 +132,8 @@ typedef UINT8 tSMP_EVENT; /* Assumption it's only using the low 8 bits, if bigger than that, need to expand it to 16 bits */ #define SMP_SEC_KEY_MASK 0x00ff +#define SMP_PASSKEY_MASK 0xfff00000 + /* SMP pairing state */ enum { SMP_STATE_IDLE, @@ -331,6 +333,8 @@ typedef struct { UINT8 rcvd_cmd_len; UINT16 total_tx_unacked; BOOLEAN wait_for_authorization_complete; + BOOLEAN use_static_passkey; + UINT32 static_passkey; } tSMP_CB; /* Server Action functions are of this type */ diff --git a/tools/sdk/include/bluedroid/stack/avrc_defs.h b/tools/sdk/include/bluedroid/stack/avrc_defs.h index 1933d8a9..8c56cf53 100644 --- a/tools/sdk/include/bluedroid/stack/avrc_defs.h +++ b/tools/sdk/include/bluedroid/stack/avrc_defs.h @@ -47,21 +47,21 @@ /* command type codes */ #define AVRC_CMD_CTRL 0 /* Instruct a target to perform an operation */ -#define AVRC_CMD_STATUS 1 /* Check a device’s current status */ +#define AVRC_CMD_STATUS 1 /* Check a deviceÂ’s current status */ #define AVRC_CMD_SPEC_INQ 2 /* Check whether a target supports a particular control command; all operands are included */ -#define AVRC_CMD_NOTIF 3 /* Used for receiving notification of a change in a device’s state */ +#define AVRC_CMD_NOTIF 3 /* Used for receiving notification of a change in a deviceÂ’s state */ #define AVRC_CMD_GEN_INQ 4 /* Check whether a target supports a particular control command; operands are not included */ /* response type codes */ #define AVRC_RSP_NOT_IMPL 8 /* The target does not implement the command specified by the opcode and operand, - or doesn’t implement the specified subunit */ + or doesnÂ’t implement the specified subunit */ #define AVRC_RSP_ACCEPT 9 /* The target executed or is executing the command */ #define AVRC_RSP_REJ 10 /* The target implements the command specified by the opcode but cannot respond because the current state - of the target doesn’t allow it */ + of the target doesnÂ’t allow it */ #define AVRC_RSP_IN_TRANS 11 /* The target implements the status command but it is in a state of transition; the status command may be retried at a future time */ @@ -70,7 +70,7 @@ commands, the target returns stable and includes the status results */ #define AVRC_RSP_CHANGED 13 /* The response frame contains a notification that the - target device’s state has changed */ + target deviceÂ’s state has changed */ #define AVRC_RSP_INTERIM 15 /* For control commands, the target has accepted the request but cannot return information within 100 milliseconds; for notify commands, the target accepted diff --git a/tools/sdk/include/bluedroid/stack/btm_api.h b/tools/sdk/include/bluedroid/stack/btm_api.h index 067878a8..c483268a 100644 --- a/tools/sdk/include/bluedroid/stack/btm_api.h +++ b/tools/sdk/include/bluedroid/stack/btm_api.h @@ -3417,8 +3417,7 @@ BOOLEAN BTM_SecAddDevice (BD_ADDR bd_addr, DEV_CLASS dev_class, ** *******************************************************************************/ //extern -BOOLEAN BTM_SecDeleteDevice (BD_ADDR bd_addr); - +BOOLEAN BTM_SecDeleteDevice (BD_ADDR bd_addr, tBT_TRANSPORT transport); /******************************************************************************* ** diff --git a/tools/sdk/include/bluedroid/stack/btm_ble_api.h b/tools/sdk/include/bluedroid/stack/btm_ble_api.h index b3d254df..0a07c643 100644 --- a/tools/sdk/include/bluedroid/stack/btm_ble_api.h +++ b/tools/sdk/include/bluedroid/stack/btm_ble_api.h @@ -375,10 +375,7 @@ typedef UINT8 tBTM_BLE_AD_TYPE; /* adv tx power level */ #define BTM_BLE_ADV_TX_POWER_MIN 0 /* minimum tx power */ -#define BTM_BLE_ADV_TX_POWER_LOW 1 /* low tx power */ -#define BTM_BLE_ADV_TX_POWER_MID 2 /* middle tx power */ -#define BTM_BLE_ADV_TX_POWER_UPPER 3 /* upper tx power */ -#define BTM_BLE_ADV_TX_POWER_MAX 4 /* maximum tx power */ +#define BTM_BLE_ADV_TX_POWER_MAX 7 /* maximum tx power */ typedef UINT8 tBTM_BLE_ADV_TX_POWER; /* adv tx power in dBm */ @@ -582,6 +579,12 @@ typedef struct { tBTM_BLE_REF_VALUE ref_value; } tBTM_BLE_BATCH_SCAN_CB; +/// Ble scan duplicate type +enum { + BTM_BLE_SCAN_DUPLICATE_DISABLE = 0x0, /*!< the Link Layer should generate advertising reports to the host for each packet received */ + BTM_BLE_SCAN_DUPLICATE_ENABLE = 0x1, /*!< the Link Layer should filter out duplicate advertising reports to the Host */ + BTM_BLE_SCAN_DUPLICATE_MAX = 0x2, /*!< 0x02 – 0xFF, Reserved for future use */ +}; /* filter selection bit index */ #define BTM_BLE_PF_ADDR_FILTER 0 #define BTM_BLE_PF_SRVC_DATA 1 @@ -1312,6 +1315,21 @@ void BTM_SecurityGrant(BD_ADDR bd_addr, UINT8 res); //extern void BTM_BlePasskeyReply (BD_ADDR bd_addr, UINT8 res, UINT32 passkey); +/******************************************************************************* +** +** Function BTM_BleSetStaticPasskey +** +** Description This function is called to set static passkey +** +** +** Parameters: add - set static passkey when add is TRUE +** clear static passkey when add is FALSE +** passkey - static passkey +** +** +*******************************************************************************/ +void BTM_BleSetStaticPasskey(BOOLEAN add, UINT32 passkey); + /******************************************************************************* ** ** Function BTM_BleConfirmReply diff --git a/tools/sdk/include/bluedroid/stack/gatt_api.h b/tools/sdk/include/bluedroid/stack/gatt_api.h index 98cdcc7f..24a186ae 100644 --- a/tools/sdk/include/bluedroid/stack/gatt_api.h +++ b/tools/sdk/include/bluedroid/stack/gatt_api.h @@ -64,7 +64,7 @@ #define GATT_NOT_ENCRYPTED 0x8e #define GATT_CONGESTED 0x8f -#define GATT_DUP_REG 0x90 +#define GATT_DUP_REG 0x90 #define GATT_ALREADY_OPEN 0x91 #define GATT_CANCEL 0x92 @@ -111,6 +111,7 @@ typedef UINT8 tGATT_STATUS; #define GATT_SIGN_CMD_WRITE 0xD2 /* changed in V4.0 1101-0010 (signed write) see write cmd above*/ #define GATT_OP_CODE_MAX GATT_HANDLE_VALUE_CONF + 1 /* 0x1E = 30 + 1 = 31*/ +#define GATT_COMMAND_FLAG 0x40 /* Command Flag: set to one means commond */ #define GATT_HANDLE_IS_VALID(x) ((x) != 0) @@ -766,7 +767,7 @@ extern UINT16 GATTS_AddIncludeService (UINT16 service_handle, ** *******************************************************************************/ extern UINT16 GATTS_AddCharacteristic (UINT16 service_handle, tBT_UUID *p_char_uuid, - tGATT_PERM perm, tGATT_CHAR_PROP property, + tGATT_PERM perm, tGATT_CHAR_PROP property, tGATT_ATTR_VAL *attr_val, tGATTS_ATTR_CONTROL *control); /******************************************************************************* diff --git a/tools/sdk/include/bluedroid/stack/smp_api.h b/tools/sdk/include/bluedroid/stack/smp_api.h index 722850c3..6a3ca5af 100644 --- a/tools/sdk/include/bluedroid/stack/smp_api.h +++ b/tools/sdk/include/bluedroid/stack/smp_api.h @@ -401,6 +401,21 @@ extern void SMP_SecurityGrant(BD_ADDR bd_addr, UINT8 res); *******************************************************************************/ extern void SMP_PasskeyReply (BD_ADDR bd_addr, UINT8 res, UINT32 passkey); +/******************************************************************************* +** +** Function SMP_SetStaticPasskey +** +** Description This function is called to set static passkey +** +** +** Parameters: add - set static passkey when add is TRUE +** clear static passkey when add is FALSE +** passkey - static passkey +** +** +*******************************************************************************/ +extern void SMP_SetStaticPasskey (BOOLEAN add, UINT32 passkey); + /******************************************************************************* ** ** Function SMP_ConfirmReply diff --git a/tools/sdk/include/bootloader_support/bootloader_common.h b/tools/sdk/include/bootloader_support/bootloader_common.h index 07fc9341..d5a92cc7 100644 --- a/tools/sdk/include/bootloader_support/bootloader_common.h +++ b/tools/sdk/include/bootloader_support/bootloader_common.h @@ -68,3 +68,26 @@ bool bootloader_common_erase_part_type_data(const char *list_erase, bool ota_dat * @return Returns true if the list contains the label, false otherwise. */ bool bootloader_common_label_search(const char *list, char *label); + +/** + * @brief Calculates a sha-256 for a given partition or returns a appended digest. + * + * This function can be used to return the SHA-256 digest of application, bootloader and data partitions. + * For apps with SHA-256 appended to the app image, the result is the appended SHA-256 value for the app image content. + * The hash is verified before returning, if app content is invalid then the function returns ESP_ERR_IMAGE_INVALID. + * For apps without SHA-256 appended to the image, the result is the SHA-256 of all bytes in the app image. + * For other partition types, the result is the SHA-256 of the entire partition. + * + * @param[in] address Address of partition. + * @param[in] size Size of partition. + * @param[in] type Type of partition. For applications the type is 0, otherwise type is data. + * @param[out] out_sha_256 Returned SHA-256 digest for a given partition. + * + * @return + * - ESP_OK: In case of successful operation. + * - ESP_ERR_INVALID_ARG: The size was 0 or the sha_256 was NULL. + * - ESP_ERR_NO_MEM: Cannot allocate memory for sha256 operation. + * - ESP_ERR_IMAGE_INVALID: App partition doesn't contain a valid app image. + * - ESP_FAIL: An allocation error occurred. + */ +esp_err_t bootloader_common_get_sha256_of_partition(uint32_t address, uint32_t size, int type, uint8_t *out_sha_256); diff --git a/tools/sdk/include/bootloader_support/bootloader_random.h b/tools/sdk/include/bootloader_support/bootloader_random.h new file mode 100644 index 00000000..bb3b2a81 --- /dev/null +++ b/tools/sdk/include/bootloader_support/bootloader_random.h @@ -0,0 +1,49 @@ +// Copyright 2010-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include + +/** + * @brief Enable early entropy source for RNG + * + * Uses the SAR ADC to feed entropy into the HWRNG. The ADC is put + * into a test mode that reads the 1.1V internal reference source and + * feeds the LSB of data into the HWRNG. + * + * Can also be used from app code early during operation, if entropy + * is required before WiFi stack is initialised. Call this function + * from app code only if WiFi/BT are not yet enabled and I2S and SAR + * ADC are not in use. + * + * Call bootloader_random_disable() when done. + */ +void bootloader_random_enable(void); + +/** + * @brief Disable early entropy source for RNG + * + * Disables SAR ADC source and resets the I2S hardware. + * + */ +void bootloader_random_disable(void); + +/** + * @brief Fill buffer with 'length' random bytes + * + * @param buffer Pointer to buffer + * @param length This many bytes of random data will be copied to buffer + */ +void bootloader_fill_random(void *buffer, size_t length); diff --git a/tools/sdk/include/bootloader_support/esp_flash_encrypt.h b/tools/sdk/include/bootloader_support/esp_flash_encrypt.h index ba370644..59eca33b 100644 --- a/tools/sdk/include/bootloader_support/esp_flash_encrypt.h +++ b/tools/sdk/include/bootloader_support/esp_flash_encrypt.h @@ -17,7 +17,9 @@ #include #include "esp_attr.h" #include "esp_err.h" +#ifndef BOOTLOADER_BUILD #include "esp_spi_flash.h" +#endif #include "soc/efuse_reg.h" /** @@ -83,6 +85,8 @@ static inline /** @cond */ IRAM_ATTR /** @endcond */ bool esp_flash_encryption_e * @note Take care not to power off the device while this function * is running, or the partition currently being encrypted will be lost. * + * @note RTC_WDT will reset while encryption operations will be performed (if RTC_WDT is configured). + * * @return ESP_OK if all operations succeeded, ESP_ERR_INVALID_STATE * if a fatal error occured during encryption of all partitions. */ @@ -91,6 +95,7 @@ esp_err_t esp_flash_encrypt_check_and_update(void); /** @brief Encrypt-in-place a block of flash sectors * + * @note This function resets RTC_WDT between operations with sectors. * @param src_addr Source offset in flash. Should be multiple of 4096 bytes. * @param data_length Length of data to encrypt in bytes. Will be rounded up to next multiple of 4096 bytes. * @@ -99,4 +104,14 @@ esp_err_t esp_flash_encrypt_check_and_update(void); */ esp_err_t esp_flash_encrypt_region(uint32_t src_addr, size_t data_length); +/** @brief Write protect FLASH_CRYPT_CNT + * + * Intended to be called as a part of boot process if flash encryption + * is enabled but secure boot is not used. This should protect against + * serial re-flashing of an unauthorised code in absence of secure boot. + * + * @return + */ +void esp_flash_write_protect_crypt_cnt(); + #endif diff --git a/tools/sdk/include/bootloader_support/esp_flash_partitions.h b/tools/sdk/include/bootloader_support/esp_flash_partitions.h index 24b6f25d..b5f37aa5 100644 --- a/tools/sdk/include/bootloader_support/esp_flash_partitions.h +++ b/tools/sdk/include/bootloader_support/esp_flash_partitions.h @@ -27,7 +27,7 @@ #define ESP_PARTITION_TABLE_MAX_LEN 0xC00 /* Maximum length of partition table data */ #define ESP_PARTITION_TABLE_MAX_ENTRIES (ESP_PARTITION_TABLE_MAX_LEN / sizeof(esp_partition_info_t)) /* Maximum length of partition table data, including terminating entry */ -/* @brief Verify the partition table (does not include verifying secure boot cryptographic signature) +/* @brief Verify the partition table * * @param partition_table Pointer to at least ESP_PARTITION_TABLE_MAX_ENTRIES of potential partition table data. (ESP_PARTITION_TABLE_MAX_LEN bytes.) * @param log_errors Log errors if the partition table is invalid. @@ -35,6 +35,13 @@ * * @return ESP_OK on success, ESP_ERR_INVALID_STATE if partition table is not valid. */ -esp_err_t esp_partition_table_basic_verify(const esp_partition_info_t *partition_table, bool log_errors, int *num_partitions); +esp_err_t esp_partition_table_verify(const esp_partition_info_t *partition_table, bool log_errors, int *num_partitions); + + +/* This function is included for compatibility with the ESP-IDF v3.x API */ +inline static __attribute__((deprecated)) esp_err_t esp_partition_table_basic_verify(const esp_partition_info_t *partition_table, bool log_errors, int *num_partitions) +{ + return esp_partition_table_verify(partition_table, log_errors, num_partitions); +} #endif diff --git a/tools/sdk/include/bootloader_support/esp_image_format.h b/tools/sdk/include/bootloader_support/esp_image_format.h index d2dcfd31..6d92a35b 100644 --- a/tools/sdk/include/bootloader_support/esp_image_format.h +++ b/tools/sdk/include/bootloader_support/esp_image_format.h @@ -36,7 +36,7 @@ typedef enum { } esp_image_spi_mode_t; /* SPI flash clock frequency */ -enum { +typedef enum { ESP_IMAGE_SPI_SPEED_40M, ESP_IMAGE_SPI_SPEED_26M, ESP_IMAGE_SPI_SPEED_20M, @@ -96,11 +96,12 @@ typedef struct { esp_image_segment_header_t segments[ESP_IMAGE_MAX_SEGMENTS]; /* Per-segment header data */ uint32_t segment_data[ESP_IMAGE_MAX_SEGMENTS]; /* Data offsets for each segment */ uint32_t image_len; /* Length of image on flash, in bytes */ + uint8_t image_digest[32]; /* appended SHA-256 digest */ } esp_image_metadata_t; /* Mode selection for esp_image_load() */ typedef enum { - ESP_IMAGE_VERIFY, /* Verify image contents, load metadata. Print errorsors. */ + ESP_IMAGE_VERIFY, /* Verify image contents, load metadata. Print errors. */ ESP_IMAGE_VERIFY_SILENT, /* Verify image contents, load metadata. Don't print errors. */ #ifdef BOOTLOADER_BUILD ESP_IMAGE_LOAD, /* Verify image contents, load to memory. Print errors. */ @@ -110,6 +111,11 @@ typedef enum { /** * @brief Verify and (optionally, in bootloader mode) load an app image. * + * This name is deprecated and is included for compatibility with the ESP-IDF v3.x API. + * It will be removed in V4.0 version. + * Function has been renamed to esp_image_verify(). + * Use function esp_image_verify() to verify a image. And use function bootloader_load_image() to load image from a bootloader space. + * * If encryption is enabled, data will be transparently decrypted. * * @param mode Mode of operation (verify, silent verify, or load). @@ -130,7 +136,60 @@ typedef enum { * - ESP_ERR_IMAGE_INVALID if the image appears invalid. * - ESP_ERR_INVALID_ARG if the partition or data pointers are invalid. */ -esp_err_t esp_image_load(esp_image_load_mode_t mode, const esp_partition_pos_t *part, esp_image_metadata_t *data); +esp_err_t esp_image_load(esp_image_load_mode_t mode, const esp_partition_pos_t *part, esp_image_metadata_t *data) __attribute__((deprecated)); + +/** + * @brief Verify an app image. + * + * If encryption is enabled, data will be transparently decrypted. + * + * @param mode Mode of operation (verify, silent verify, or load). + * @param part Partition to load the app from. + * @param[inout] data Pointer to the image metadata structure which is be filled in by this function. + * 'start_addr' member should be set (to the start address of the image.) + * Other fields will all be initialised by this function. + * + * Image validation checks: + * - Magic byte. + * - Partition smaller than 16MB. + * - All segments & image fit in partition. + * - 8 bit image checksum is valid. + * - SHA-256 of image is valid (if image has this appended). + * - (Signature) if signature verification is enabled. + * + * @return + * - ESP_OK if verify or load was successful + * - ESP_ERR_IMAGE_FLASH_FAIL if a SPI flash error occurs + * - ESP_ERR_IMAGE_INVALID if the image appears invalid. + * - ESP_ERR_INVALID_ARG if the partition or data pointers are invalid. + */ +esp_err_t esp_image_verify(esp_image_load_mode_t mode, const esp_partition_pos_t *part, esp_image_metadata_t *data); + +/** + * @brief Verify and load an app image (available only in space of bootloader). + * + * If encryption is enabled, data will be transparently decrypted. + * + * @param part Partition to load the app from. + * @param[inout] data Pointer to the image metadata structure which is be filled in by this function. + * 'start_addr' member should be set (to the start address of the image.) + * Other fields will all be initialised by this function. + * + * Image validation checks: + * - Magic byte. + * - Partition smaller than 16MB. + * - All segments & image fit in partition. + * - 8 bit image checksum is valid. + * - SHA-256 of image is valid (if image has this appended). + * - (Signature) if signature verification is enabled. + * + * @return + * - ESP_OK if verify or load was successful + * - ESP_ERR_IMAGE_FLASH_FAIL if a SPI flash error occurs + * - ESP_ERR_IMAGE_INVALID if the image appears invalid. + * - ESP_ERR_INVALID_ARG if the partition or data pointers are invalid. + */ +esp_err_t bootloader_load_image(const esp_partition_pos_t *part, esp_image_metadata_t *data); /** * @brief Verify the bootloader image. diff --git a/tools/sdk/include/bootloader_support/esp_secure_boot.h b/tools/sdk/include/bootloader_support/esp_secure_boot.h index 6aa4b628..370bdd36 100644 --- a/tools/sdk/include/bootloader_support/esp_secure_boot.h +++ b/tools/sdk/include/bootloader_support/esp_secure_boot.h @@ -17,6 +17,14 @@ #include #include "soc/efuse_reg.h" +#include "sdkconfig.h" + +#ifdef CONFIG_SECURE_BOOT_ENABLED +#if !defined(CONFIG_SECURE_SIGNED_ON_BOOT) || !defined(CONFIG_SECURE_SIGNED_ON_UPDATE) || !defined(CONFIG_SECURE_SIGNED_APPS) +#error "internal sdkconfig error, secure boot should always enable all signature options" +#endif +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/bt/esp_bt.h b/tools/sdk/include/bt/esp_bt.h index fe594b03..3115cacd 100644 --- a/tools/sdk/include/bt/esp_bt.h +++ b/tools/sdk/include/bt/esp_bt.h @@ -25,83 +25,7 @@ extern "C" { #endif -/** - * @brief Controller config options, depend on config mask. - * Config mask indicate which functions enabled, this means - * some options or parameters of some functions enabled by config mask. - */ -typedef struct { - uint16_t controller_task_stack_size; /*!< Bluetooth controller task stack size */ - uint8_t controller_task_prio; /*!< Bluetooth controller task priority */ - uint8_t hci_uart_no; /*!< If use UART1/2 as HCI IO interface, indicate UART number */ - uint32_t hci_uart_baudrate; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ - uint8_t scan_duplicate_mode; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ - uint16_t normal_adv_size; /*!< Normal adv size for scan duplicate */ - uint16_t mesh_adv_size; /*!< Mesh adv size for scan duplicate */ - uint16_t send_adv_reserved_size; /*!< Controller minimum memory value */ - uint32_t controller_debug_flag; /*!< Controller debug log flag */ -} esp_bt_controller_config_t; - -#ifdef CONFIG_BT_ENABLED -/* While scanning, if the free memory value in controller is less than SCAN_SEND_ADV_RESERVED_SIZE, -the adv packet will be discarded until the memory is restored. */ -#define SCAN_SEND_ADV_RESERVED_SIZE 1000 -/* enable controller log debug when adv lost */ -#define CONTROLLER_ADV_LOST_DEBUG_BIT (0<<0) - -#ifdef CONFIG_BT_HCI_UART_NO -#define BT_HCI_UART_NO_DEFAULT CONFIG_BT_HCI_UART_NO -#else -#define BT_HCI_UART_NO_DEFAULT 1 -#endif /* BT_HCI_UART_NO_DEFAULT */ - -#ifdef CONFIG_BT_HCI_UART_BAUDRATE -#define BT_HCI_UART_BAUDRATE_DEFAULT CONFIG_BT_HCI_UART_BAUDRATE -#else -#define BT_HCI_UART_BAUDRATE_DEFAULT 921600 -#endif /* BT_HCI_UART_BAUDRATE_DEFAULT */ - -/* normal adv cache size */ -#ifdef CONFIG_DUPLICATE_SCAN_CACHE_SIZE -#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE CONFIG_DUPLICATE_SCAN_CACHE_SIZE -#else -#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE 20 -#endif - -#ifndef CONFIG_BLE_MESH_SCAN_DUPLICATE_EN -#define CONFIG_BLE_MESH_SCAN_DUPLICATE_EN FALSE -#endif - -#define SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY 0 -#define SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV 1 - -#if CONFIG_BLE_MESH_SCAN_DUPLICATE_EN - #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV - #ifdef CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE - #define MESH_DUPLICATE_SCAN_CACHE_SIZE CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE - #else - #define MESH_DUPLICATE_SCAN_CACHE_SIZE 50 - #endif -#else - #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY - #define MESH_DUPLICATE_SCAN_CACHE_SIZE 0 -#endif - -#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \ - .controller_task_stack_size = ESP_TASK_BT_CONTROLLER_STACK, \ - .controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \ - .hci_uart_no = BT_HCI_UART_NO_DEFAULT, \ - .hci_uart_baudrate = BT_HCI_UART_BAUDRATE_DEFAULT, \ - .scan_duplicate_mode = SCAN_DUPLICATE_MODE, \ - .normal_adv_size = NORMAL_SCAN_DUPLICATE_CACHE_SIZE, \ - .mesh_adv_size = MESH_DUPLICATE_SCAN_CACHE_SIZE, \ - .send_adv_reserved_size = SCAN_SEND_ADV_RESERVED_SIZE, \ - .controller_debug_flag = CONTROLLER_ADV_LOST_DEBUG_BIT, \ -}; - -#else -#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() {0}; _Static_assert(0, "please enable bluetooth in menuconfig to use bt.h"); -#endif +#define ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL 0x5A5AA5A5 /** * @brief Bluetooth mode for controller enable/disable @@ -113,6 +37,122 @@ typedef enum { ESP_BT_MODE_BTDM = 0x03, /*!< Run dual mode */ } esp_bt_mode_t; +#ifdef CONFIG_BT_ENABLED +/* While scanning, if the free memory value in controller is less than SCAN_SEND_ADV_RESERVED_SIZE, +the adv packet will be discarded until the memory is restored. */ +#define SCAN_SEND_ADV_RESERVED_SIZE 1000 +/* enable controller log debug when adv lost */ +#define CONTROLLER_ADV_LOST_DEBUG_BIT (0<<0) + +#ifdef CONFIG_BT_HCI_UART_NO +#define BT_HCI_UART_NO_DEFAULT CONFIG_BT_HCI_UART_NO +#else +#define BT_HCI_UART_NO_DEFAULT 1 +#endif /* BT_HCI_UART_NO_DEFAULT */ + +#ifdef CONFIG_BT_HCI_UART_BAUDRATE +#define BT_HCI_UART_BAUDRATE_DEFAULT CONFIG_BT_HCI_UART_BAUDRATE +#else +#define BT_HCI_UART_BAUDRATE_DEFAULT 921600 +#endif /* BT_HCI_UART_BAUDRATE_DEFAULT */ + +#ifdef CONFIG_SCAN_DUPLICATE_TYPE +#define SCAN_DUPLICATE_TYPE_VALUE CONFIG_SCAN_DUPLICATE_TYPE +#else +#define SCAN_DUPLICATE_TYPE_VALUE 0 +#endif + +/* normal adv cache size */ +#ifdef CONFIG_DUPLICATE_SCAN_CACHE_SIZE +#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE CONFIG_DUPLICATE_SCAN_CACHE_SIZE +#else +#define NORMAL_SCAN_DUPLICATE_CACHE_SIZE 20 +#endif + +#ifndef CONFIG_BLE_MESH_SCAN_DUPLICATE_EN +#define CONFIG_BLE_MESH_SCAN_DUPLICATE_EN FALSE +#endif + +#define SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY 0 +#define SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV 1 + +#if CONFIG_BLE_MESH_SCAN_DUPLICATE_EN + #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_MESH_ADV + #ifdef CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE + #define MESH_DUPLICATE_SCAN_CACHE_SIZE CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE + #else + #define MESH_DUPLICATE_SCAN_CACHE_SIZE 50 + #endif +#else + #define SCAN_DUPLICATE_MODE SCAN_DUPLICATE_MODE_NORMAL_ADV_ONLY + #define MESH_DUPLICATE_SCAN_CACHE_SIZE 0 +#endif + +#if defined(CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY) +#define BTDM_CONTROLLER_MODE_EFF ESP_BT_MODE_BLE +#elif defined(CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY) +#define BTDM_CONTROLLER_MODE_EFF ESP_BT_MODE_CLASSIC_BT +#else +#define BTDM_CONTROLLER_MODE_EFF ESP_BT_MODE_BTDM +#endif + +#define BTDM_CONTROLLER_BLE_MAX_CONN_LIMIT 9 //Maximum BLE connection limitation +#define BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_LIMIT 7 //Maximum ACL connection limitation +#define BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_LIMIT 3 //Maximum SCO/eSCO connection limitation + +#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \ + .controller_task_stack_size = ESP_TASK_BT_CONTROLLER_STACK, \ + .controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO, \ + .hci_uart_no = BT_HCI_UART_NO_DEFAULT, \ + .hci_uart_baudrate = BT_HCI_UART_BAUDRATE_DEFAULT, \ + .scan_duplicate_mode = SCAN_DUPLICATE_MODE, \ + .scan_duplicate_type = SCAN_DUPLICATE_TYPE_VALUE, \ + .normal_adv_size = NORMAL_SCAN_DUPLICATE_CACHE_SIZE, \ + .mesh_adv_size = MESH_DUPLICATE_SCAN_CACHE_SIZE, \ + .send_adv_reserved_size = SCAN_SEND_ADV_RESERVED_SIZE, \ + .controller_debug_flag = CONTROLLER_ADV_LOST_DEBUG_BIT, \ + .mode = BTDM_CONTROLLER_MODE_EFF, \ + .ble_max_conn = CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF, \ + .bt_max_acl_conn = CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF, \ + .bt_max_sync_conn = CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF, \ + .magic = ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL, \ +}; + +#else +#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() {0}; _Static_assert(0, "please enable bluetooth in menuconfig to use bt.h"); +#endif + +/** + * @brief Controller config options, depend on config mask. + * Config mask indicate which functions enabled, this means + * some options or parameters of some functions enabled by config mask. + */ +typedef struct { + /* + * Following parameters can be configured runtime, when call esp_bt_controller_init() + */ + uint16_t controller_task_stack_size; /*!< Bluetooth controller task stack size */ + uint8_t controller_task_prio; /*!< Bluetooth controller task priority */ + uint8_t hci_uart_no; /*!< If use UART1/2 as HCI IO interface, indicate UART number */ + uint32_t hci_uart_baudrate; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ + uint8_t scan_duplicate_mode; /*!< scan duplicate mode */ + uint8_t scan_duplicate_type; /*!< scan duplicate type */ + uint16_t normal_adv_size; /*!< Normal adv size for scan duplicate */ + uint16_t mesh_adv_size; /*!< Mesh adv size for scan duplicate */ + uint16_t send_adv_reserved_size; /*!< Controller minimum memory value */ + uint32_t controller_debug_flag; /*!< Controller debug log flag */ + uint8_t mode; /*!< Controller mode: BR/EDR, BLE or Dual Mode */ + uint8_t ble_max_conn; /*!< BLE maximum connection numbers */ + uint8_t bt_max_acl_conn; /*!< BR/EDR maximum ACL connection numbers */ + /* + * Following parameters can not be configured runtime when call esp_bt_controller_init() + * It will be overwrite with a constant value which in menuconfig or from a macro. + * So, do not modify the value when esp_bt_controller_init() + */ + uint8_t bt_max_sync_conn; /*!< BR/EDR maximum ACL connection numbers. Effective in menuconfig */ + uint32_t magic; /*!< Magic number */ +} esp_bt_controller_config_t; + /** * @brief Bluetooth controller enable/disable/initialised/de-initialised status */ @@ -123,7 +163,6 @@ typedef enum { ESP_BT_CONTROLLER_STATUS_NUM, } esp_bt_controller_status_t; - /** * @brief BLE tx power type * ESP_BLE_PWR_TYPE_CONN_HDL0-8: for each connection, and only be set after connection completed. @@ -202,7 +241,7 @@ esp_power_level_t esp_ble_tx_power_get(esp_ble_power_type_t power_type); * BR/EDR power control will use the power in range of minimum value and maximum value. * The power level will effect the global BR/EDR TX power, such inquire, page, connection and so on. * Please call the function after esp_bt_controller_enable and before any function which cause RF do TX. - * So you can call the function can before do discover, beofre profile init and so on. + * So you can call the function before doing discovery, profile init and so on. * For example, if you want BR/EDR use the new TX power to do inquire, you should call * this function before inquire. Another word, If call this function when BR/EDR is in inquire(ING), * please do inquire again after call this function. @@ -231,10 +270,11 @@ esp_err_t esp_bredr_tx_power_get(esp_power_level_t *min_power_level, esp_power_l esp_err_t esp_bredr_sco_datapath_set(esp_sco_data_path_t data_path); /** - * @brief Initialize BT controller to allocate task and other resource. - * @param cfg: Initial configuration of BT controller. - * This function should be called only once, before any other BT functions are called. - * @return ESP_OK - success, other - failed + * @brief Initialize BT controller to allocate task and other resource. + * This function should be called only once, before any other BT functions are called. + * @param cfg: Initial configuration of BT controller. Different from previous version, there's a mode and some + * connection configuration in "cfg" to configure controller work mode and allocate the resource which is needed. + * @return ESP_OK - success, other - failed */ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg); @@ -252,7 +292,8 @@ esp_err_t esp_bt_controller_deinit(void); * Due to a known issue, you cannot call esp_bt_controller_enable() a second time * to change the controller mode dynamically. To change controller mode, call * esp_bt_controller_disable() and then call esp_bt_controller_enable() with the new mode. - * @param mode : the mode(BLE/BT/BTDM) to enable. + * @param mode : the mode(BLE/BT/BTDM) to enable. For compatible of API, retain this argument. This mode must be + * equal as the mode in "cfg" of esp_bt_controller_init(). * @return ESP_OK - success, other - failed */ esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode); @@ -291,40 +332,70 @@ bool esp_vhci_host_check_send_available(void); void esp_vhci_host_send_packet(uint8_t *data, uint16_t len); /** @brief esp_vhci_host_register_callback - * register the vhci referece callback, the call back + * register the vhci reference callback * struct defined by vhci_host_callback structure. * @param callback esp_vhci_host_callback type variable + * @return ESP_OK - success, ESP_FAIL - failed */ -void esp_vhci_host_register_callback(const esp_vhci_host_callback_t *callback); +esp_err_t esp_vhci_host_register_callback(const esp_vhci_host_callback_t *callback); /** @brief esp_bt_controller_mem_release - * release the memory by mode, if never use the bluetooth mode - * it can release the .bss, .data and other section to heap. - * The total size is about 70k bytes. + * release the controller memory as per the mode + * + * This function releases the BSS, data and other sections of the controller to heap. The total size is about 70k bytes. * * esp_bt_controller_mem_release(mode) should be called only before esp_bt_controller_init() * or after esp_bt_controller_deinit(). * - * Note that once BT controller memory is released, the process cannot be reversed. It means you can not use the bluetooth + * Note that once BT controller memory is released, the process cannot be reversed. It means you cannot use the bluetooth * mode which you have released by this function. * * If your firmware will later upgrade the Bluetooth controller mode (BLE -> BT Classic or disabled -> enabled) * then do not call this function. * * If the app calls esp_bt_controller_enable(ESP_BT_MODE_BLE) to use BLE only then it is safe to call - * esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT) at initialisation time to free unused BT Classic memory. + * esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT) at initialization time to free unused BT Classic memory. * - * If user never use bluetooth controller, could call esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) - * before esp_bt_controller_init or after esp_bt_controller_deinit. - * - * For example, user only use bluetooth to config SSID and PASSWORD of WIFI, after config, will never use bluetooth. - * Then, could call esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) after esp_bt_controller_deinit. + * If the mode is ESP_BT_MODE_BTDM, then it may be useful to call API esp_bt_mem_release(ESP_BT_MODE_BTDM) instead, + * which internally calls esp_bt_controller_mem_release(ESP_BT_MODE_BTDM) and additionally releases the BSS and data + * consumed by the BT/BLE host stack to heap. For more details about usage please refer to the documentation of + * esp_bt_mem_release() function * * @param mode : the mode want to release memory * @return ESP_OK - success, other - failed */ esp_err_t esp_bt_controller_mem_release(esp_bt_mode_t mode); +/** @brief esp_bt_mem_release + * release controller memory and BSS and data section of the BT/BLE host stack as per the mode + * + * This function first releases controller memory by internally calling esp_bt_controller_mem_release(). + * Additionally, if the mode is set to ESP_BT_MODE_BTDM, it also releases the BSS and data consumed by the BT/BLE host stack to heap + * + * Note that once BT memory is released, the process cannot be reversed. It means you cannot use the bluetooth + * mode which you have released by this function. + * + * If your firmware will later upgrade the Bluetooth controller mode (BLE -> BT Classic or disabled -> enabled) + * then do not call this function. + * + * If you never intend to use bluetooth in a current boot-up cycle, you can call esp_bt_mem_release(ESP_BT_MODE_BTDM) + * before esp_bt_controller_init or after esp_bt_controller_deinit. + * + * For example, if a user only uses bluetooth for setting the WiFi configuration, and does not use bluetooth in the rest of the product operation". + * In such cases, after receiving the WiFi configuration, you can disable/deinit bluetooth and release its memory. + * Below is the sequence of APIs to be called for such scenarios: + * + * esp_bluedroid_disable(); + * esp_bluedroid_deinit(); + * esp_bt_controller_disable(); + * esp_bt_controller_deinit(); + * esp_bt_mem_release(ESP_BT_MODE_BTDM); + * + * @param mode : the mode whose memory is to be released + * @return ESP_OK - success, other - failed + */ +esp_err_t esp_bt_mem_release(esp_bt_mode_t mode); + /** * @brief enable bluetooth to enter modem sleep * @@ -377,10 +448,23 @@ bool esp_bt_controller_is_sleeping(void); * Note that after this request, bluetooth controller may again enter sleep as long as the modem sleep is enabled * * Profiling shows that it takes several milliseconds to wakeup from modem sleep after this request. - * Generally it takes longer if 32kHz XTAL is used than the main XTAL, due to the lower frequncy of the former as the bluetooth low power clock source. + * Generally it takes longer if 32kHz XTAL is used than the main XTAL, due to the lower frequency of the former as the bluetooth low power clock source. */ void esp_bt_controller_wakeup_request(void); +/** + * @brief Manually clear scan duplicate list + * + * Note that scan duplicate list will be automatically cleared when the maximum amount of device in the filter is reached + * the amount of device in the filter can be configured in menuconfig. + * + * + * @return + * - ESP_OK : success + * - other : failed + */ +esp_err_t esp_ble_scan_dupilcate_list_flush(void); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/config/sdkconfig.h b/tools/sdk/include/config/sdkconfig.h index be1114e1..95967a29 100644 --- a/tools/sdk/include/config/sdkconfig.h +++ b/tools/sdk/include/config/sdkconfig.h @@ -8,8 +8,10 @@ #define CONFIG_ESP32_PHY_MAX_TX_POWER 20 #define CONFIG_TRACEMEM_RESERVE_DRAM 0x0 #define CONFIG_FREERTOS_MAX_TASK_NAME_LEN 16 +#define CONFIG_MQTT_TRANSPORT_SSL 1 #define CONFIG_BLE_SMP_ENABLE 1 #define CONFIG_STACK_CHECK 1 +#define CONFIG_MQTT_PROTOCOL_311 1 #define CONFIG_TCP_RECVMBOX_SIZE 6 #define CONFIG_LWIP_ETHARP_TRUST_IP_MAC 1 #define CONFIG_BLE_SCAN_DUPLICATE 1 @@ -41,10 +43,13 @@ #define CONFIG_SPIFFS_CACHE 1 #define CONFIG_INT_WDT 1 #define CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL 1 +#define CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN 3 #define CONFIG_MBEDTLS_SSL_PROTO_TLS1 1 #define CONFIG_BT_STACK_NO_LOG 1 +#define CONFIG_ESP_GRATUITOUS_ARP 1 #define CONFIG_MBEDTLS_ECDSA_C 1 #define CONFIG_ESPTOOLPY_FLASHFREQ_40M 1 +#define CONFIG_HTTPD_MAX_REQ_HDR_LEN 512 #define CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE 0 #define CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS 1 #define CONFIG_MBEDTLS_ECDH_C 1 @@ -54,7 +59,7 @@ #define CONFIG_MBEDTLS_SSL_ALPN 1 #define CONFIG_MBEDTLS_PEM_WRITE_C 1 #define CONFIG_BT_SPP_ENABLED 1 -#define CONFIG_BT_RESERVE_DRAM 0x10000 +#define CONFIG_BT_RESERVE_DRAM 0xdb5c #define CONFIG_CXX_EXCEPTIONS 1 #define CONFIG_FATFS_FS_LOCK 0 #define CONFIG_IP_LOST_TIMER_INTERVAL 120 @@ -71,6 +76,8 @@ #define CONFIG_TIMER_TASK_STACK_DEPTH 2048 #define CONFIG_TCP_MSS 1436 #define CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED 1 +#define CONFIG_BTDM_CONTROLLER_MODE_BTDM 1 +#define CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF 3 #define CONFIG_FATFS_CODEPAGE 850 #define CONFIG_ULP_COPROC_RESERVE_MEM 512 #define CONFIG_LWIP_MAX_UDP_PCBS 16 @@ -102,6 +109,7 @@ #define CONFIG_TIMER_TASK_STACK_SIZE 4096 #define CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE 1 #define CONFIG_MBEDTLS_X509_CRL_PARSE_C 1 +#define CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR 1 #define CONFIG_LWIP_DHCPS_LEASE_UNIT 60 #define CONFIG_SPIFFS_USE_MAGIC 1 #define CONFIG_TCPIP_TASK_STACK_SIZE 2560 @@ -139,6 +147,7 @@ #define CONFIG_MDNS_MAX_SERVICES 10 #define CONFIG_ULP_COPROC_ENABLED 1 #define CONFIG_HFP_AUDIO_DATA_PATH_PCM 1 +#define CONFIG_EMAC_CHECK_LINK_PERIOD_MS 2000 #define CONFIG_BTDM_LPCLK_SEL_MAIN_XTAL 1 #define CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED 1 #define CONFIG_LIBSODIUM_USE_MBEDTLS_SHA 1 @@ -146,6 +155,7 @@ #define CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED 1 #define CONFIG_TCP_SYNMAXRTX 6 #define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA 1 +#define CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF 0 #define CONFIG_HEAP_POISONING_LIGHT 1 #define CONFIG_PYTHON "python" #define CONFIG_MBEDTLS_ECP_NIST_OPTIM 1 @@ -153,6 +163,7 @@ #define CONFIG_ESPTOOLPY_COMPRESSED 1 #define CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv" #define CONFIG_TCP_SND_BUF_DEFAULT 5744 +#define CONFIG_GARP_TMR_INTERVAL 60 #define CONFIG_LWIP_DHCP_MAX_NTP_SERVERS 1 #define CONFIG_TCP_MSL 60000 #define CONFIG_MBEDTLS_SSL_PROTO_TLS1_1 1 @@ -161,8 +172,13 @@ #define CONFIG_ESP32_WIFI_RX_BA_WIN 6 #define CONFIG_MBEDTLS_X509_CSR_PARSE_C 1 #define CONFIG_SPIFFS_USE_MTIME 1 +#define CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN 0 +#define CONFIG_LWIP_DHCP_RESTORE_LAST_IP 1 +#define CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN 2 +#define CONFIG_EMAC_TASK_STACK_SIZE 3072 #define CONFIG_SW_COEXIST_PREFERENCE_VALUE 2 #define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA 1 +#define CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER 1 #define CONFIG_PPP_SUPPORT 1 #define CONFIG_SPIRAM_SPEED_40M 1 #define CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE 2048 @@ -175,6 +191,7 @@ #define CONFIG_MBEDTLS_SSL_PROTO_TLS1_2 1 #define CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA 1 #define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM 32 +#define CONFIG_HTTPD_MAX_URI_LEN 512 #define CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED 1 #define CONFIG_ARDUHAL_ESP_LOG 1 #define CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED 1 @@ -204,6 +221,7 @@ #define CONFIG_WARN_WRITE_STRINGS 1 #define CONFIG_SPIFFS_OBJ_NAME_LEN 32 #define CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT 5 +#define CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF 2 #define CONFIG_LOG_BOOTLOADER_LEVEL_NONE 1 #define CONFIG_PARTITION_TABLE_MD5 1 #define CONFIG_TCPIP_RECVMBOX_SIZE 32 @@ -218,6 +236,7 @@ #define CONFIG_FREERTOS_INTERRUPT_BACKTRACE 1 #define CONFIG_WL_SECTOR_SIZE 4096 #define CONFIG_ESP32_DEBUG_OCDAWARE 1 +#define CONFIG_MQTT_TRANSPORT_WEBSOCKET 1 #define CONFIG_TIMER_TASK_PRIORITY 1 #define CONFIG_PPP_PAP_SUPPORT 1 #define CONFIG_MBEDTLS_TLS_CLIENT 1 @@ -227,7 +246,10 @@ #define CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED 1 #define CONFIG_MONITOR_BAUD 115200 #define CONFIG_ESP32_DEBUG_STUBS_ENABLE 1 +#define CONFIG_TCPIP_LWIP 1 #define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST 1 +#define CONFIG_REDUCE_PHY_TX_POWER 1 +#define CONFIG_BOOTLOADER_WDT_TIME_MS 9000 #define CONFIG_FREERTOS_CORETIMER_0 1 #define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv" #define CONFIG_MBEDTLS_HAVE_TIME 1 @@ -239,25 +261,30 @@ #define CONFIG_MBEDTLS_TLS_SERVER 1 #define CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT 1 #define CONFIG_FREERTOS_ISR_STACKSIZE 1536 +#define CONFIG_SUPPORT_TERMIOS 1 #define CONFIG_CLASSIC_BT_ENABLED 1 #define CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK 1 #define CONFIG_OPENSSL_ASSERT_DO_NOTHING 1 #define CONFIG_WL_SECTOR_SIZE_4096 1 #define CONFIG_OPTIMIZATION_LEVEL_DEBUG 1 #define CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED 1 +#define CONFIG_SCAN_DUPLICATE_TYPE 0 #define CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED 1 #define CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED 1 #define CONFIG_HFP_CLIENT_ENABLE 1 #define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA 1 +#define CONFIG_SPI_SLAVE_ISR_IN_IRAM 1 #define CONFIG_SYSTEM_EVENT_QUEUE_SIZE 32 #define CONFIG_BT_ACL_CONNECTIONS 4 #define CONFIG_FATFS_MAX_LFN 255 #define CONFIG_ESP32_WIFI_TX_BUFFER_TYPE 1 #define CONFIG_ESPTOOLPY_BAUD_921600B 1 +#define CONFIG_BOOTLOADER_WDT_ENABLE 1 #define CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED 1 #define CONFIG_LWIP_LOOPBACK_MAX_PBUFS 8 #define CONFIG_A2DP_ENABLE 1 #define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1 +#define CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE 1 #define CONFIG_SPIFFS_PAGE_SIZE 256 #define CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED 1 #define CONFIG_PPP_MSCHAP_SUPPORT 1 diff --git a/tools/sdk/include/driver/driver/can.h b/tools/sdk/include/driver/driver/can.h new file mode 100644 index 00000000..af7b66e0 --- /dev/null +++ b/tools/sdk/include/driver/driver/can.h @@ -0,0 +1,400 @@ +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DRIVER_CAN_H_ +#define _DRIVER_CAN_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "esp_types.h" +#include "esp_intr.h" +#include "esp_err.h" +#include "gpio.h" + +/* -------------------- Default initializers and flags ---------------------- */ +/** @cond */ //Doxy command to hide preprocessor definitions from docs +/** + * @brief Initializer macro for general configuration structure. + * + * This initializer macros allows the TX GPIO, RX GPIO, and operating mode to be + * configured. The other members of the general configuration structure are + * assigned default values. + */ +#define CAN_GENERAL_CONFIG_DEFAULT(tx_io_num, rx_io_num, op_mode) {.mode = op_mode, .tx_io = tx_io_num, .rx_io = rx_io_num, \ + .clkout_io = CAN_IO_UNUSED, .bus_off_io = CAN_IO_UNUSED, \ + .tx_queue_len = 5, .rx_queue_len = 5, \ + .alerts_enabled = CAN_ALERT_NONE, .clkout_divider = 0, } + +/** + * @brief Initializer macros for timing configuration structure + * + * The following initializer macros offer commonly found bit rates. + * + * @note These timing values are based on the assumption APB clock is at 80MHz + */ +#define CAN_TIMING_CONFIG_25KBITS() {.brp = 128, .tseg_1 = 16, .tseg_2 = 8, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_50KBITS() {.brp = 80, .tseg_1 = 15, .tseg_2 = 4, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_100KBITS() {.brp = 40, .tseg_1 = 15, .tseg_2 = 4, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_125KBITS() {.brp = 32, .tseg_1 = 15, .tseg_2 = 4, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_250KBITS() {.brp = 16, .tseg_1 = 15, .tseg_2 = 4, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_500KBITS() {.brp = 8, .tseg_1 = 15, .tseg_2 = 4, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_800KBITS() {.brp = 4, .tseg_1 = 16, .tseg_2 = 8, .sjw = 3, .triple_sampling = false} +#define CAN_TIMING_CONFIG_1MBITS() {.brp = 4, .tseg_1 = 15, .tseg_2 = 4, .sjw = 3, .triple_sampling = false} + +/** + * @brief Initializer macro for filter configuration to accept all IDs + */ +#define CAN_FILTER_CONFIG_ACCEPT_ALL() {.acceptance_code = 0, .acceptance_mask = 0xFFFFFFFF, .single_filter = true} + +/** + * @brief Alert flags + * + * The following flags represents the various kind of alerts available in + * the CAN driver. These flags can be used when configuring/reconfiguring + * alerts, or when calling can_read_alerts(). + * + * @note The CAN_ALERT_AND_LOG flag is not an actual alert, but will configure + * the CAN driver to log to UART when an enabled alert occurs. + */ +#define CAN_ALERT_TX_IDLE 0x0001 /**< Alert(1): No more messages to transmit */ +#define CAN_ALERT_TX_SUCCESS 0x0002 /**< Alert(2): The previous transmission was successful */ +#define CAN_ALERT_BELOW_ERR_WARN 0x0004 /**< Alert(4): Both error counters have dropped below error warning limit */ +#define CAN_ALERT_ERR_ACTIVE 0x0008 /**< Alert(8): CAN controller has become error active */ +#define CAN_ALERT_RECOVERY_IN_PROGRESS 0x0010 /**< Alert(16): CAN controller is undergoing bus recovery */ +#define CAN_ALERT_BUS_RECOVERED 0x0020 /**< Alert(32): CAN controller has successfully completed bus recovery */ +#define CAN_ALERT_ARB_LOST 0x0040 /**< Alert(64): The previous transmission lost arbitration */ +#define CAN_ALERT_ABOVE_ERR_WARN 0x0080 /**< Alert(128): One of the error counters have exceeded the error warning limit */ +#define CAN_ALERT_BUS_ERROR 0x0100 /**< Alert(256): A (Bit, Stuff, CRC, Form, ACK) error has occurred on the bus */ +#define CAN_ALERT_TX_FAILED 0x0200 /**< Alert(512): The previous transmission has failed (for single shot transmission) */ +#define CAN_ALERT_RX_QUEUE_FULL 0x0400 /**< Alert(1024): The RX queue is full causing a frame to be lost */ +#define CAN_ALERT_ERR_PASS 0x0800 /**< Alert(2048): CAN controller has become error passive */ +#define CAN_ALERT_BUS_OFF 0x1000 /**< Alert(4096): Bus-off condition occurred. CAN controller can no longer influence bus */ +#define CAN_ALERT_ALL 0x1FFF /**< Bit mask to enable all alerts during configuration */ +#define CAN_ALERT_NONE 0x0000 /**< Bit mask to disable all alerts during configuration */ +#define CAN_ALERT_AND_LOG 0x2000 /**< Bit mask to enable alerts to also be logged when they occur */ + +/** + * @brief Message flags + * + * The message flags are used to indicate the type of message transmitted/received. + * Some flags also specify the type of transmission. + */ +#define CAN_MSG_FLAG_NONE 0x00 /**< No message flags (Standard Frame Format) */ +#define CAN_MSG_FLAG_EXTD 0x01 /**< Extended Frame Format (29bit ID) */ +#define CAN_MSG_FLAG_RTR 0x02 /**< Message is a Remote Transmit Request */ +#define CAN_MSG_FLAG_SS 0x04 /**< Transmit as a Single Shot Transmission */ +#define CAN_MSG_FLAG_SELF 0x08 /**< Transmit as a Self Reception Request */ +#define CAN_MSG_FLAG_DLC_NON_COMP 0x10 /**< Message's Data length code is larger than 8. This will break compliance with CAN2.0B */ + +/** + * @brief Miscellaneous macros + */ +#define CAN_EXTD_ID_MASK 0x1FFFFFFF /**< Bit mask for 29 bit Extended Frame Format ID */ +#define CAN_STD_ID_MASK 0x7FF /**< Bit mask for 11 bit Standard Frame Format ID */ +#define CAN_MAX_DATA_LEN 8 /**< Maximum number of data bytes in a CAN2.0B frame */ +#define CAN_IO_UNUSED (-1) /**< Marks GPIO as unused in CAN configuration */ +/** @endcond */ + +/* ----------------------- Enum and Struct Definitions ---------------------- */ + +/** + * @brief CAN driver operating modes + */ +typedef enum { + CAN_MODE_NORMAL, /**< Normal operating mode where CAN controller can send/receive/acknowledge messages */ + CAN_MODE_NO_ACK, /**< Transmission does not require acknowledgment. Use this mode for self testing */ + CAN_MODE_LISTEN_ONLY, /**< The CAN controller will not influence the bus (No transmissions or acknowledgments) but can receive messages */ +} can_mode_t; + +/** + * @brief CAN driver states + */ +typedef enum { + CAN_STATE_STOPPED, /**< Stopped state. The CAN controller will not participate in any CAN bus activities */ + CAN_STATE_RUNNING, /**< Running state. The CAN controller can transmit and receive messages */ + CAN_STATE_BUS_OFF, /**< Bus-off state. The CAN controller cannot participate in bus activities until it has recovered */ + CAN_STATE_RECOVERING, /**< Recovering state. The CAN controller is undergoing bus recovery */ +} can_state_t; + +/** + * @brief Structure for general configuration of the CAN driver + * + * @note Macro initializers are available for this structure + */ +typedef struct { + can_mode_t mode; /**< Mode of CAN controller */ + gpio_num_t tx_io; /**< Transmit GPIO number */ + gpio_num_t rx_io; /**< Receive GPIO number */ + gpio_num_t clkout_io; /**< CLKOUT GPIO number (optional, set to -1 if unused) */ + gpio_num_t bus_off_io; /**< Bus off indicator GPIO number (optional, set to -1 if unused) */ + uint32_t tx_queue_len; /**< Number of messages TX queue can hold (set to 0 to disable TX Queue) */ + uint32_t rx_queue_len; /**< Number of messages RX queue can hold */ + uint32_t alerts_enabled; /**< Bit field of alerts to enable (see documentation) */ + uint32_t clkout_divider; /**< CLKOUT divider. Can be 1 or any even number from 2 to 14 (optional, set to 0 if unused) */ +} can_general_config_t; + +/** + * @brief Structure for bit timing configuration of the CAN driver + * + * @note Macro initializers are available for this structure + */ +typedef struct { + uint8_t brp; /**< Baudrate prescaler (APB clock divider, even number from 2 to 128) */ + uint8_t tseg_1; /**< Timing segment 1 (Number of time quanta, between 1 to 16) */ + uint8_t tseg_2; /**< Timing segment 2 (Number of time quanta, 1 to 8) */ + uint8_t sjw; /**< Synchronization Jump Width (Max time quanta jump for synchronize from 1 to 4) */ + bool triple_sampling; /**< Enables triple sampling when the CAN controller samples a bit */ +} can_timing_config_t; + +/** + * @brief Structure for acceptance filter configuration of the CAN driver (see documentation) + * + * @note Macro initializers are available for this structure + */ +typedef struct { + uint32_t acceptance_code; /**< 32-bit acceptance code */ + uint32_t acceptance_mask; /**< 32-bit acceptance mask */ + bool single_filter; /**< Use Single Filter Mode (see documentation) */ +} can_filter_config_t; + +/** + * @brief Structure to store status information of CAN driver + */ +typedef struct { + can_state_t state; /**< Current state of CAN controller (Stopped/Running/Bus-Off/Recovery) */ + uint32_t msgs_to_tx; /**< Number of messages queued for transmission or awaiting transmission completion */ + uint32_t msgs_to_rx; /**< Number of messages in RX queue waiting to be read */ + uint32_t tx_error_counter; /**< Current value of Transmit Error Counter */ + uint32_t rx_error_counter; /**< Current value of Receive Error Counter */ + uint32_t tx_failed_count; /**< Number of messages that failed transmissions */ + uint32_t rx_missed_count; /**< Number of messages that were lost due to a full RX queue */ + uint32_t arb_lost_count; /**< Number of instances arbitration was lost */ + uint32_t bus_error_count; /**< Number of instances a bus error has occurred */ +} can_status_info_t; + +/** + * @brief Structure to store a CAN message + * + * @note The flags member is used to control the message type, and transmission + * type (see documentation for message flags) + */ +typedef struct { + uint32_t flags; /**< Bit field of message flags indicates frame/transmission type (see documentation) */ + uint32_t identifier; /**< 11 or 29 bit identifier */ + uint8_t data_length_code; /**< Data length code */ + uint8_t data[CAN_MAX_DATA_LEN]; /**< Data bytes (not relevant in RTR frame) */ +} can_message_t; + +/* ----------------------------- Public API -------------------------------- */ + +/** + * @brief Install CAN driver + * + * This function installs the CAN driver using three configuration structures. + * The required memory is allocated and the CAN driver is placed in the stopped + * state after running this function. + * + * @param[in] g_config General configuration structure + * @param[in] t_config Timing configuration structure + * @param[in] f_config Filter configuration structure + * + * @note Macro initializers are available for the configuration structures (see documentation) + * + * @note To reinstall the CAN driver, call can_driver_uninstall() first + * + * @return + * - ESP_OK: Successfully installed CAN driver + * - ESP_ERR_INVALID_ARG: Arguments are invalid + * - ESP_ERR_NO_MEM: Insufficient memory + * - ESP_ERR_INVALID_STATE: Driver is already installed + */ +esp_err_t can_driver_install(const can_general_config_t *g_config, const can_timing_config_t *t_config, const can_filter_config_t *f_config); + +/** + * @brief Uninstall the CAN driver + * + * This function uninstalls the CAN driver, freeing the memory utilized by the + * driver. This function can only be called when the driver is in the stopped + * state or the bus-off state. + * + * @warning The application must ensure that no tasks are blocked on TX/RX + * queues or alerts when this function is called. + * + * @return + * - ESP_OK: Successfully uninstalled CAN driver + * - ESP_ERR_INVALID_STATE: Driver is not in stopped/bus-off state, or is not installed + */ +esp_err_t can_driver_uninstall(); + +/** + * @brief Start the CAN driver + * + * This function starts the CAN driver, putting the CAN driver into the running + * state. This allows the CAN driver to participate in CAN bus activities such + * as transmitting/receiving messages. The RX queue is reset in this function, + * clearing any unread messages. This function can only be called when the CAN + * driver is in the stopped state. + * + * @return + * - ESP_OK: CAN driver is now running + * - ESP_ERR_INVALID_STATE: Driver is not in stopped state, or is not installed + */ +esp_err_t can_start(); + +/** + * @brief Stop the CAN driver + * + * This function stops the CAN driver, preventing any further message from being + * transmitted or received until can_start() is called. Any messages in the TX + * queue are cleared. Any messages in the RX queue should be read by the + * application after this function is called. This function can only be called + * when the CAN driver is in the running state. + * + * @warning A message currently being transmitted/received on the CAN bus will + * be ceased immediately. This may lead to other CAN nodes interpreting + * the unfinished message as an error. + * + * @return + * - ESP_OK: CAN driver is now Stopped + * - ESP_ERR_INVALID_STATE: Driver is not in running state, or is not installed + */ +esp_err_t can_stop(); + +/** + * @brief Transmit a CAN message + * + * This function queues a CAN message for transmission. Transmission will start + * immediately if no other messages are queued for transmission. If the TX queue + * is full, this function will block until more space becomes available or until + * it timesout. If the TX queue is disabled (TX queue length = 0 in configuration), + * this function will return immediately if another message is undergoing + * transmission. This function can only be called when the CAN driver is in the + * running state and cannot be called under Listen Only Mode. + * + * @param[in] message Message to transmit + * @param[in] ticks_to_wait Number of FreeRTOS ticks to block on the TX queue + * + * @note This function does not guarantee that the transmission is successful. + * The TX_SUCCESS/TX_FAILED alert can be enabled to alert the application + * upon the success/failure of a transmission. + * + * @note The TX_IDLE alert can be used to alert the application when no other + * messages are awaiting transmission. + * + * @return + * - ESP_OK: Transmission successfully queued/initiated + * - ESP_ERR_INVALID_ARG: Arguments are invalid + * - ESP_ERR_TIMEOUT: Timed out waiting for space on TX queue + * - ESP_FAIL: TX queue is disabled and another message is currently transmitting + * - ESP_ERR_INVALID_STATE: CAN driver is not in running state, or is not installed + * - ESP_ERR_NOT_SUPPORTED: Listen Only Mode does not support transmissions + */ +esp_err_t can_transmit(const can_message_t *message, TickType_t ticks_to_wait); + +/** + * @brief Receive a CAN message + * + * This function receives a message from the RX queue. The flags field of the + * message structure will indicate the type of message received. This function + * will block if there are no messages in the RX queue + * + * @param[out] message Received message + * @param[in] ticks_to_wait Number of FreeRTOS ticks to block on RX queue + * + * @warning The flags field of the received message should be checked to determine + * if the received message contains any data bytes. + * + * @return + * - ESP_OK: Message successfully received from RX queue + * - ESP_ERR_TIMEOUT: Timed out waiting for message + * - ESP_ERR_INVALID_ARG: Arguments are invalid + * - ESP_ERR_INVALID_STATE: CAN driver is not installed + */ +esp_err_t can_receive(can_message_t *message, TickType_t ticks_to_wait); + +/** + * @brief Read CAN driver alerts + * + * This function will read the alerts raised by the CAN driver. If no alert has + * been when this function is called, this function will block until an alert + * occurs or until it timeouts. + * + * @param[out] alerts Bit field of raised alerts (see documentation for alert flags) + * @param[in] ticks_to_wait Number of FreeRTOS ticks to block for alert + * + * @note Multiple alerts can be raised simultaneously. The application should + * check for all alerts that have been enabled. + * + * @return + * - ESP_OK: Alerts read + * - ESP_ERR_TIMEOUT: Timed out waiting for alerts + * - ESP_ERR_INVALID_ARG: Arguments are invalid + * - ESP_ERR_INVALID_STATE: CAN driver is not installed + */ +esp_err_t can_read_alerts(uint32_t *alerts, TickType_t ticks_to_wait); + +/** + * @brief Reconfigure which alerts are enabled + * + * This function reconfigures which alerts are enabled. If there are alerts + * which have not been read whilst reconfiguring, this function can read those + * alerts. + * + * @param[in] alerts_enabled Bit field of alerts to enable (see documentation for alert flags) + * @param[out] current_alerts Bit field of currently raised alerts. Set to NULL if unused + * + * @return + * - ESP_OK: Alerts reconfigured + * - ESP_ERR_INVALID_STATE: CAN driver is not installed + */ +esp_err_t can_reconfigure_alerts(uint32_t alerts_enabled, uint32_t *current_alerts); + +/** + * @brief Start the bus recovery process + * + * This function initiates the bus recovery process when the CAN driver is in + * the bus-off state. Once initiated, the CAN driver will enter the recovering + * state and wait for 128 occurrences of the bus-free signal on the CAN bus + * before returning to the stopped state. This function will reset the TX queue, + * clearing any messages pending transmission. + * + * @note The BUS_RECOVERED alert can be enabled to alert the application when + * the bus recovery process completes. + * + * @return + * - ESP_OK: Bus recovery started + * - ESP_ERR_INVALID_STATE: CAN driver is not in the bus-off state, or is not installed + */ +esp_err_t can_initiate_recovery(); + +/** + * @brief Get current status information of the CAN driver + * + * @param[out] status_info Status information + * + * @return + * - ESP_OK: Status information retrieved + * - ESP_ERR_INVALID_ARG: Arguments are invalid + * - ESP_ERR_INVALID_STATE: CAN driver is not installed + */ +esp_err_t can_get_status_info(can_status_info_t *status_info); + +#ifdef __cplusplus +} +#endif + +#endif /*_DRIVER_CAN_H_*/ + diff --git a/tools/sdk/include/driver/driver/gpio.h b/tools/sdk/include/driver/driver/gpio.h index 5c47b577..2e878dc1 100644 --- a/tools/sdk/include/driver/driver/gpio.h +++ b/tools/sdk/include/driver/driver/gpio.h @@ -249,13 +249,13 @@ esp_err_t gpio_config(const gpio_config_t *pGPIOConfig); /** * @brief Reset an gpio to default state (select gpio function, enable pullup and disable input and output). - * + * * @param gpio_num GPIO number. - * + * * @note This function also configures the IOMUX for this pin to the GPIO * function, and disconnects any other peripheral output configured via GPIO * Matrix. - * + * * @return Always return ESP_OK. */ esp_err_t gpio_reset_pin(gpio_num_t gpio_num); @@ -359,27 +359,27 @@ esp_err_t gpio_set_direction(gpio_num_t gpio_num, gpio_mode_t mode); esp_err_t gpio_set_pull_mode(gpio_num_t gpio_num, gpio_pull_mode_t pull); /** - * @brief Enable GPIO wake-up function. - * - * @param gpio_num GPIO number. - * - * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used. - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ + * @brief Enable GPIO wake-up function. + * + * @param gpio_num GPIO number. + * + * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used. + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ esp_err_t gpio_wakeup_enable(gpio_num_t gpio_num, gpio_int_type_t intr_type); /** - * @brief Disable GPIO wake-up function. - * - * @param gpio_num GPIO number - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ + * @brief Disable GPIO wake-up function. + * + * @param gpio_num GPIO number + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ esp_err_t gpio_wakeup_disable(gpio_num_t gpio_num); /** diff --git a/tools/sdk/include/driver/driver/i2c.h b/tools/sdk/include/driver/driver/i2c.h index 0f892db5..8f8cb9a1 100644 --- a/tools/sdk/include/driver/driver/i2c.h +++ b/tools/sdk/include/driver/driver/i2c.h @@ -1,550 +1,550 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _DRIVER_I2C_H_ -#define _DRIVER_I2C_H_ - - -#ifdef __cplusplus -extern "C" { -#endif -#include -#include "esp_err.h" -#include "esp_intr_alloc.h" -#include "freertos/FreeRTOS.h" -#include "freertos/semphr.h" -#include "freertos/xtensa_api.h" -#include "freertos/task.h" -#include "freertos/queue.h" -#include "freertos/ringbuf.h" -#include "driver/gpio.h" - -#define I2C_APB_CLK_FREQ APB_CLK_FREQ /*!< I2C source clock is APB clock, 80MHz */ -#define I2C_FIFO_LEN (32) /*!< I2C hardware fifo length */ -typedef enum{ - I2C_MODE_SLAVE = 0, /*!< I2C slave mode */ - I2C_MODE_MASTER, /*!< I2C master mode */ - I2C_MODE_MAX, -}i2c_mode_t; - -typedef enum { - I2C_MASTER_WRITE = 0, /*!< I2C write data */ - I2C_MASTER_READ, /*!< I2C read data */ -} i2c_rw_t; - -typedef enum { - I2C_DATA_MODE_MSB_FIRST = 0, /*!< I2C data msb first */ - I2C_DATA_MODE_LSB_FIRST = 1, /*!< I2C data lsb first */ - I2C_DATA_MODE_MAX -} i2c_trans_mode_t; - -typedef enum{ - I2C_CMD_RESTART = 0, /*!=0) The number of data bytes that pushed to the I2C slave buffer. - */ -int i2c_slave_write_buffer(i2c_port_t i2c_num, uint8_t* data, int size, TickType_t ticks_to_wait); - -/** - * @brief I2C slave read data from internal buffer. When I2C slave receive data, isr will copy received data - * from hardware rx fifo to internal ringbuffer. Then users can read from internal ringbuffer. - * @note - * Only call this function in I2C slave mode - * - * @param i2c_num I2C port number - * @param data data pointer to write into internal buffer - * @param max_size Maximum data size to read - * @param ticks_to_wait Maximum waiting ticks - * - * @return - * - ESP_FAIL(-1) Parameter error - * - Others(>=0) The number of data bytes that read from I2C slave buffer. - */ -int i2c_slave_read_buffer(i2c_port_t i2c_num, uint8_t* data, size_t max_size, TickType_t ticks_to_wait); - -/** - * @brief set I2C master clock period - * - * @param i2c_num I2C port number - * @param high_period clock cycle number during SCL is high level, high_period is a 14 bit value - * @param low_period clock cycle number during SCL is low level, low_period is a 14 bit value - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_set_period(i2c_port_t i2c_num, int high_period, int low_period); - -/** - * @brief get I2C master clock period - * - * @param i2c_num I2C port number - * @param high_period pointer to get clock cycle number during SCL is high level, will get a 14 bit value - * @param low_period pointer to get clock cycle number during SCL is low level, will get a 14 bit value - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_get_period(i2c_port_t i2c_num, int* high_period, int* low_period); - -/** - * @brief set I2C master start signal timing - * - * @param i2c_num I2C port number - * @param setup_time clock number between the falling-edge of SDA and rising-edge of SCL for start mark, it's a 10-bit value. - * @param hold_time clock num between the falling-edge of SDA and falling-edge of SCL for start mark, it's a 10-bit value. - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_set_start_timing(i2c_port_t i2c_num, int setup_time, int hold_time); - -/** - * @brief get I2C master start signal timing - * - * @param i2c_num I2C port number - * @param setup_time pointer to get setup time - * @param hold_time pointer to get hold time - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_get_start_timing(i2c_port_t i2c_num, int* setup_time, int* hold_time); - -/** - * @brief set I2C master stop signal timing - * - * @param i2c_num I2C port number - * @param setup_time clock num between the rising-edge of SCL and the rising-edge of SDA, it's a 10-bit value. - * @param hold_time clock number after the STOP bit's rising-edge, it's a 14-bit value. - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_set_stop_timing(i2c_port_t i2c_num, int setup_time, int hold_time); - -/** - * @brief get I2C master stop signal timing - * - * @param i2c_num I2C port number - * @param setup_time pointer to get setup time. - * @param hold_time pointer to get hold time. - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_get_stop_timing(i2c_port_t i2c_num, int* setup_time, int* hold_time); - -/** - * @brief set I2C data signal timing - * - * @param i2c_num I2C port number - * @param sample_time clock number I2C used to sample data on SDA after the rising-edge of SCL, it's a 10-bit value - * @param hold_time clock number I2C used to hold the data after the falling-edge of SCL, it's a 10-bit value - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_set_data_timing(i2c_port_t i2c_num, int sample_time, int hold_time); - -/** - * @brief get I2C data signal timing - * - * @param i2c_num I2C port number - * @param sample_time pointer to get sample time - * @param hold_time pointer to get hold time - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_get_data_timing(i2c_port_t i2c_num, int* sample_time, int* hold_time); - -/** - * @brief set I2C timeout value - * @param i2c_num I2C port number - * @param timeout timeout value for I2C bus (unit: APB 80Mhz clock cycle) - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_set_timeout(i2c_port_t i2c_num, int timeout); - -/** - * @brief get I2C timeout value - * @param i2c_num I2C port number - * @param timeout pointer to get timeout value - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_get_timeout(i2c_port_t i2c_num, int* timeout); -/** - * @brief set I2C data transfer mode - * - * @param i2c_num I2C port number - * @param tx_trans_mode I2C sending data mode - * @param rx_trans_mode I2C receving data mode - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_set_data_mode(i2c_port_t i2c_num, i2c_trans_mode_t tx_trans_mode, i2c_trans_mode_t rx_trans_mode); - -/** - * @brief get I2C data transfer mode - * - * @param i2c_num I2C port number - * @param tx_trans_mode pointer to get I2C sending data mode - * @param rx_trans_mode pointer to get I2C receiving data mode - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - */ -esp_err_t i2c_get_data_mode(i2c_port_t i2c_num, i2c_trans_mode_t *tx_trans_mode, i2c_trans_mode_t *rx_trans_mode); - -#ifdef __cplusplus -} -#endif - -#endif /*_DRIVER_I2C_H_*/ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DRIVER_I2C_H_ +#define _DRIVER_I2C_H_ + + +#ifdef __cplusplus +extern "C" { +#endif +#include +#include "esp_err.h" +#include "esp_intr_alloc.h" +#include "freertos/FreeRTOS.h" +#include "freertos/semphr.h" +#include "freertos/xtensa_api.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "freertos/ringbuf.h" +#include "driver/gpio.h" + +#define I2C_APB_CLK_FREQ APB_CLK_FREQ /*!< I2C source clock is APB clock, 80MHz */ +#define I2C_FIFO_LEN (32) /*!< I2C hardware fifo length */ +typedef enum{ + I2C_MODE_SLAVE = 0, /*!< I2C slave mode */ + I2C_MODE_MASTER, /*!< I2C master mode */ + I2C_MODE_MAX, +}i2c_mode_t; + +typedef enum { + I2C_MASTER_WRITE = 0, /*!< I2C write data */ + I2C_MASTER_READ, /*!< I2C read data */ +} i2c_rw_t; + +typedef enum { + I2C_DATA_MODE_MSB_FIRST = 0, /*!< I2C data msb first */ + I2C_DATA_MODE_LSB_FIRST = 1, /*!< I2C data lsb first */ + I2C_DATA_MODE_MAX +} i2c_trans_mode_t; + +typedef enum{ + I2C_CMD_RESTART = 0, /*!=0) The number of data bytes that pushed to the I2C slave buffer. + */ +int i2c_slave_write_buffer(i2c_port_t i2c_num, uint8_t* data, int size, TickType_t ticks_to_wait); + +/** + * @brief I2C slave read data from internal buffer. When I2C slave receive data, isr will copy received data + * from hardware rx fifo to internal ringbuffer. Then users can read from internal ringbuffer. + * @note + * Only call this function in I2C slave mode + * + * @param i2c_num I2C port number + * @param data data pointer to write into internal buffer + * @param max_size Maximum data size to read + * @param ticks_to_wait Maximum waiting ticks + * + * @return + * - ESP_FAIL(-1) Parameter error + * - Others(>=0) The number of data bytes that read from I2C slave buffer. + */ +int i2c_slave_read_buffer(i2c_port_t i2c_num, uint8_t* data, size_t max_size, TickType_t ticks_to_wait); + +/** + * @brief set I2C master clock period + * + * @param i2c_num I2C port number + * @param high_period clock cycle number during SCL is high level, high_period is a 14 bit value + * @param low_period clock cycle number during SCL is low level, low_period is a 14 bit value + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_set_period(i2c_port_t i2c_num, int high_period, int low_period); + +/** + * @brief get I2C master clock period + * + * @param i2c_num I2C port number + * @param high_period pointer to get clock cycle number during SCL is high level, will get a 14 bit value + * @param low_period pointer to get clock cycle number during SCL is low level, will get a 14 bit value + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_get_period(i2c_port_t i2c_num, int* high_period, int* low_period); + +/** + * @brief set I2C master start signal timing + * + * @param i2c_num I2C port number + * @param setup_time clock number between the falling-edge of SDA and rising-edge of SCL for start mark, it's a 10-bit value. + * @param hold_time clock num between the falling-edge of SDA and falling-edge of SCL for start mark, it's a 10-bit value. + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_set_start_timing(i2c_port_t i2c_num, int setup_time, int hold_time); + +/** + * @brief get I2C master start signal timing + * + * @param i2c_num I2C port number + * @param setup_time pointer to get setup time + * @param hold_time pointer to get hold time + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_get_start_timing(i2c_port_t i2c_num, int* setup_time, int* hold_time); + +/** + * @brief set I2C master stop signal timing + * + * @param i2c_num I2C port number + * @param setup_time clock num between the rising-edge of SCL and the rising-edge of SDA, it's a 10-bit value. + * @param hold_time clock number after the STOP bit's rising-edge, it's a 14-bit value. + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_set_stop_timing(i2c_port_t i2c_num, int setup_time, int hold_time); + +/** + * @brief get I2C master stop signal timing + * + * @param i2c_num I2C port number + * @param setup_time pointer to get setup time. + * @param hold_time pointer to get hold time. + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_get_stop_timing(i2c_port_t i2c_num, int* setup_time, int* hold_time); + +/** + * @brief set I2C data signal timing + * + * @param i2c_num I2C port number + * @param sample_time clock number I2C used to sample data on SDA after the rising-edge of SCL, it's a 10-bit value + * @param hold_time clock number I2C used to hold the data after the falling-edge of SCL, it's a 10-bit value + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_set_data_timing(i2c_port_t i2c_num, int sample_time, int hold_time); + +/** + * @brief get I2C data signal timing + * + * @param i2c_num I2C port number + * @param sample_time pointer to get sample time + * @param hold_time pointer to get hold time + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_get_data_timing(i2c_port_t i2c_num, int* sample_time, int* hold_time); + +/** + * @brief set I2C timeout value + * @param i2c_num I2C port number + * @param timeout timeout value for I2C bus (unit: APB 80Mhz clock cycle) + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_set_timeout(i2c_port_t i2c_num, int timeout); + +/** + * @brief get I2C timeout value + * @param i2c_num I2C port number + * @param timeout pointer to get timeout value + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_get_timeout(i2c_port_t i2c_num, int* timeout); +/** + * @brief set I2C data transfer mode + * + * @param i2c_num I2C port number + * @param tx_trans_mode I2C sending data mode + * @param rx_trans_mode I2C receving data mode + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_set_data_mode(i2c_port_t i2c_num, i2c_trans_mode_t tx_trans_mode, i2c_trans_mode_t rx_trans_mode); + +/** + * @brief get I2C data transfer mode + * + * @param i2c_num I2C port number + * @param tx_trans_mode pointer to get I2C sending data mode + * @param rx_trans_mode pointer to get I2C receiving data mode + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t i2c_get_data_mode(i2c_port_t i2c_num, i2c_trans_mode_t *tx_trans_mode, i2c_trans_mode_t *rx_trans_mode); + +#ifdef __cplusplus +} +#endif + +#endif /*_DRIVER_I2C_H_*/ diff --git a/tools/sdk/include/driver/driver/ledc.h b/tools/sdk/include/driver/driver/ledc.h index 8f70b1c0..6a82c19a 100644 --- a/tools/sdk/include/driver/driver/ledc.h +++ b/tools/sdk/include/driver/driver/ledc.h @@ -455,7 +455,7 @@ void ledc_fade_func_uninstall(); esp_err_t ledc_fade_start(ledc_mode_t speed_mode, ledc_channel_t channel, ledc_fade_mode_t fade_mode); /** - * @brief A thread-safe API to set duty for LEDC channel and update the settings immediately + * @brief A thread-safe API to set duty for LEDC channel and return when duty updated. * @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. * Other duty operations will have to wait until the fade operation has finished. * diff --git a/tools/sdk/include/driver/driver/mcpwm.h b/tools/sdk/include/driver/driver/mcpwm.h index 2a4433fc..d1c10e86 100644 --- a/tools/sdk/include/driver/driver/mcpwm.h +++ b/tools/sdk/include/driver/driver/mcpwm.h @@ -1,709 +1,709 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _DRIVER_MCPWM_H_ -#define _DRIVER_MCPWM_H_ - -#include "esp_err.h" -#include "soc/soc.h" -#include "driver/gpio.h" -#include "driver/periph_ctrl.h" -#include "esp_intr.h" -#include "esp_intr_alloc.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief IO signals for MCPWM - * 6 MCPWM output pins that generate PWM signals - * 3 MCPWM fault input pins to detect faults like overcurrent, overvoltage, etc - * 3 MCPWM sync input pins to synchronize MCPWM outputs signals - * 3 MCPWM capture input pin to capture hall sell signal to measure time - */ -typedef enum { - MCPWM0A = 0, /*!rx_data, 15); + * + * @param data Data to be rearranged, can be uint8_t, uint16_t or uint32_t. + * @param len Length of data received, since the SPI peripheral writes from + * the MSB, this helps to shift the data to the LSB. + */ +#define SPI_SWAP_DATA_RX(data, len) (__builtin_bswap32(data)>>(32-len)) /** * @brief Enum with the three SPI peripherals that are software-accessible in it @@ -45,7 +74,7 @@ typedef enum { * @brief This is a configuration structure for a SPI bus. * * You can use this structure to specify the GPIO pins of the bus. Normally, the driver will use the - * GPIO matrix to route the signals. An exception is made when all signals either can be routed through + * GPIO matrix to route the signals. An exception is made when all signals either can be routed through * the IO_MUX or are -1. In that case, the IO_MUX is used, allowing for >40MHz speeds. * * @note Be advised that the slave driver does not use the quadwp/quadhd lines and fields in spi_bus_config_t refering to these lines will be ignored and can thus safely be left uninitialized. @@ -81,20 +110,20 @@ bool spicommon_periph_free(spi_host_device_t host); /** * @brief Try to claim a SPI DMA channel - * + * * Call this if your driver wants to use SPI with a DMA channnel. - * + * * @param dma_chan channel to claim - * + * * @return True if success; false otherwise. */ bool spicommon_dma_chan_claim(int dma_chan); /** * @brief Return the SPI DMA channel so other driver can claim it, or just to power down DMA. - * + * * @param dma_chan channel to return - * + * * @return True if success; false otherwise. */ bool spicommon_dma_chan_free(int dma_chan); @@ -113,7 +142,7 @@ bool spicommon_dma_chan_free(int dma_chan); * @brief Connect a SPI peripheral to GPIO pins * * This routine is used to connect a SPI peripheral to the IO-pads and DMA channel given in - * the arguments. Depending on the IO-pads requested, the routing is done either using the + * the arguments. Depending on the IO-pads requested, the routing is done either using the * IO_mux or using the GPIO matrix. * * @param host SPI peripheral to be routed @@ -123,7 +152,7 @@ bool spicommon_dma_chan_free(int dma_chan); * - ``SPICOMMON_BUSFLAG_MASTER``: Initialize I/O in master mode * - ``SPICOMMON_BUSFLAG_SLAVE``: Initialize I/O in slave mode * - ``SPICOMMON_BUSFLAG_NATIVE_PINS``: Pins set should match the iomux pins of the controller. - * - ``SPICOMMON_BUSFLAG_SCLK``, ``SPICOMMON_BUSFLAG_MISO``, ``SPICOMMON_BUSFLAG_MOSI``: + * - ``SPICOMMON_BUSFLAG_SCLK``, ``SPICOMMON_BUSFLAG_MISO``, ``SPICOMMON_BUSFLAG_MOSI``: * Make sure SCLK/MISO/MOSI is/are set to a valid GPIO. Also check output capability according to the mode. * - ``SPICOMMON_BUSFLAG_DUAL``: Make sure both MISO and MOSI are output capable so that DIO mode is capable. * - ``SPICOMMON_BUSFLAG_WPHD`` Make sure WP and HD are set to valid output GPIOs. @@ -136,7 +165,7 @@ bool spicommon_dma_chan_free(int dma_chan); * - ``SPICOMMON_BUSFLAG_DUAL``: The bus is capable with DIO mode. * - ``SPICOMMON_BUSFLAG_WPHD`` The bus has WP and HD connected. * - ``SPICOMMON_BUSFLAG_QUAD``: Combination of ``SPICOMMON_BUSFLAG_DUAL`` and ``SPICOMMON_BUSFLAG_WPHD``. - * @return + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_OK on success */ @@ -145,10 +174,10 @@ esp_err_t spicommon_bus_initialize_io(spi_host_device_t host, const spi_bus_conf /** * @brief Free the IO used by a SPI peripheral * @deprecated Use spicommon_bus_free_io_cfg instead. - * + * * @param host SPI peripheral to be freed - * - * @return + * + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_OK on success */ @@ -158,8 +187,8 @@ esp_err_t spicommon_bus_free_io(spi_host_device_t host) __attribute__((deprecate * @brief Free the IO used by a SPI peripheral * * @param bus_cfg Bus config struct which defines which pins to be used. - * - * @return + * + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_OK on success */ @@ -240,10 +269,10 @@ typedef void(*dmaworkaround_cb_t)(void *arg); * @note In some (well-defined) cases in the ESP32 (at least rev v.0 and v.1), a SPI DMA channel will get confused. This can be remedied * by resetting the SPI DMA hardware in case this happens. Unfortunately, the reset knob used for thsi will reset _both_ DMA channels, and * as such can only done safely when both DMA channels are idle. These functions coordinate this. - * + * * Essentially, when a reset is needed, a driver can request this using spicommon_dmaworkaround_req_reset. This is supposed to be called - * with an user-supplied function as an argument. If both DMA channels are idle, this call will reset the DMA subsystem and return true. - * If the other DMA channel is still busy, it will return false; as soon as the other DMA channel is done, however, it will reset the + * with an user-supplied function as an argument. If both DMA channels are idle, this call will reset the DMA subsystem and return true. + * If the other DMA channel is still busy, it will return false; as soon as the other DMA channel is done, however, it will reset the * DMA subsystem and call the callback. The callback is then supposed to be used to continue the SPI drivers activity. * * @param dmachan DMA channel associated with the SPI host that needs a reset diff --git a/tools/sdk/include/driver/driver/touch_pad.h b/tools/sdk/include/driver/driver/touch_pad.h index 643b07be..21e2e2ec 100644 --- a/tools/sdk/include/driver/driver/touch_pad.h +++ b/tools/sdk/include/driver/driver/touch_pad.h @@ -122,6 +122,7 @@ esp_err_t touch_pad_init(); /** * @brief Un-install touch pad driver. + * @note After this function is called, other touch functions are prohibited from being called. * @return * - ESP_OK Success * - ESP_FAIL Touch pad driver not initialized @@ -550,6 +551,15 @@ esp_err_t touch_pad_filter_stop(); */ esp_err_t touch_pad_filter_delete(); +/** + * @brief Get the touch pad which caused wakeup from sleep + * @param pad_num pointer to touch pad which caused wakeup + * @return + * - ESP_OK Success + * - ESP_FAIL get status err + */ +esp_err_t touch_pad_get_wakeup_status(touch_pad_t *pad_num); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/driver/driver/uart.h b/tools/sdk/include/driver/driver/uart.h index 08c398f6..93c65c66 100644 --- a/tools/sdk/include/driver/driver/uart.h +++ b/tools/sdk/include/driver/driver/uart.h @@ -46,6 +46,17 @@ extern "C" { #define UART_INVERSE_TXD (UART_TXD_INV_M) /*!< UART TXD output inverse*/ #define UART_INVERSE_RTS (UART_RTS_INV_M) /*!< UART RTS output inverse*/ +/** + * @brief UART mode selection + */ +typedef enum { + UART_MODE_UART = 0x00, /*!< mode: regular UART mode*/ + UART_MODE_RS485_HALF_DUPLEX = 0x01, /*!< mode: half duplex RS485 UART mode control by RTS pin */ + UART_MODE_IRDA = 0x02, /*!< mode: IRDA UART mode*/ + UART_MODE_RS485_COLLISION_DETECT = 0x03, /*!< mode: RS485 collision detection UART mode (used for test purposes)*/ + UART_MODE_RS485_APP_CTRL = 0x04, /*!< mode: application control RS485 UART mode (used for test purposes)*/ +} uart_mode_t; + /** * @brief UART word length constants */ @@ -54,7 +65,7 @@ typedef enum { UART_DATA_6_BITS = 0x1, /*!< word length: 6bits*/ UART_DATA_7_BITS = 0x2, /*!< word length: 7bits*/ UART_DATA_8_BITS = 0x3, /*!< word length: 8bits*/ - UART_DATA_BITS_MAX = 0X4, + UART_DATA_BITS_MAX = 0x4, } uart_word_length_t; /** @@ -249,8 +260,8 @@ esp_err_t uart_get_baudrate(uart_port_t uart_num, uint32_t* baudrate); * @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2 * @param inverse_mask Choose the wires that need to be inverted. * Inverse_mask should be chosen from - UART_INVERSE_RXD / UART_INVERSE_TXD / UART_INVERSE_RTS / UART_INVERSE_CTS, - combined with OR operation. + * UART_INVERSE_RXD / UART_INVERSE_TXD / UART_INVERSE_RTS / UART_INVERSE_CTS, + * combined with OR operation. * * @return * - ESP_OK Success @@ -474,7 +485,7 @@ esp_err_t uart_set_dtr(uart_port_t uart_num, int level); esp_err_t uart_set_tx_idle_num(uart_port_t uart_num, uint16_t idle_num); /** -* @brief Set UART configuration parameters. + * @brief Set UART configuration parameters. * * @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2 * @param uart_config UART parameter settings @@ -486,7 +497,7 @@ esp_err_t uart_set_tx_idle_num(uart_port_t uart_num, uint16_t idle_num); esp_err_t uart_param_config(uart_port_t uart_num, const uart_config_t *uart_config); /** -* @brief Configure UART interrupts. + * @brief Configure UART interrupts. * * @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2 * @param intr_conf UART interrupt settings @@ -552,8 +563,8 @@ esp_err_t uart_wait_tx_done(uart_port_t uart_num, TickType_t ticks_to_wait); * @note This function should only be used when UART TX buffer is not enabled. * * @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2 - * @param buffer data buffer address - * @param len data length to send + * @param buffer data buffer address + * @param len data length to send * * @return * - (-1) Parameter error @@ -571,8 +582,8 @@ int uart_tx_chars(uart_port_t uart_num, const char* buffer, uint32_t len); * UART ISR will then move data from the ring buffer to TX FIFO gradually. * * @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2 - * @param src data buffer address - * @param size data length to send + * @param src data buffer address + * @param size data length to send * * @return * - (-1) Parameter error @@ -581,7 +592,7 @@ int uart_tx_chars(uart_port_t uart_num, const char* buffer, uint32_t len); int uart_write_bytes(uart_port_t uart_num, const char* src, size_t size); /** - * @brief Send data to the UART port from a given buffer and length. + * @brief Send data to the UART port from a given buffer and length, * * If the UART driver's parameter 'tx_buffer_size' is set to zero: * This function will not return until all the data and the break signal have been sent out. @@ -641,9 +652,10 @@ esp_err_t uart_flush(uart_port_t uart_num); esp_err_t uart_flush_input(uart_port_t uart_num); /** - * @brief UART get RX ring buffer cached data length - * @param uart_num UART port number. - * @param size Pointer of size_t to accept cached data length + * @brief UART get RX ring buffer cached data length + * + * @param uart_num UART port number. + * @param size Pointer of size_t to accept cached data length * * @return * - ESP_OK Success @@ -652,9 +664,9 @@ esp_err_t uart_flush_input(uart_port_t uart_num); esp_err_t uart_get_buffered_data_len(uart_port_t uart_num, size_t* size); /** - * @brief UART disable pattern detect function. - * Designed for applications like 'AT commands'. - * When the hardware detects a series of one same character, the interrupt will be triggered. + * @brief UART disable pattern detect function. + * Designed for applications like 'AT commands'. + * When the hardware detects a series of one same character, the interrupt will be triggered. * * @param uart_num UART port number. * @@ -737,6 +749,96 @@ int uart_pattern_get_pos(uart_port_t uart_num); */ esp_err_t uart_pattern_queue_reset(uart_port_t uart_num, int queue_length); +/** + * @brief UART set communication mode + * @note This function must be executed after uart_driver_install(), when the driver object is initialized. + * @param uart_num Uart number to configure + * @param mode UART UART mode to set + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t uart_set_mode(uart_port_t uart_num, uart_mode_t mode); + +/** + * @brief UART set threshold timeout for TOUT feature + * + * @param uart_num Uart number to configure + * @param tout_thresh This parameter defines timeout threshold in uart symbol periods. The maximum value of threshold is 126. + * tout_thresh = 1, defines TOUT interrupt timeout equal to transmission time of one symbol (~11 bit) on current baudrate. + * If the time is expired the UART_RXFIFO_TOUT_INT interrupt is triggered. If tout_thresh == 0, + * the TOUT feature is disabled. + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_ERR_INVALID_STATE Driver is not installed + */ +esp_err_t uart_set_rx_timeout(uart_port_t uart_num, const uint8_t tout_thresh); + +/** + * @brief Returns collision detection flag for RS485 mode + * Function returns the collision detection flag into variable pointed by collision_flag. + * *collision_flag = true, if collision detected else it is equal to false. + * This function should be executed when actual transmission is completed (after uart_write_bytes()). + * + * @param uart_num Uart number to configure + * @param collision_flag Pointer to variable of type bool to return collision flag. + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t uart_get_collision_flag(uart_port_t uart_num, bool* collision_flag); + +/** + * @brief Set the number of RX pin signal edges for light sleep wakeup + * + * UART can be used to wake up the system from light sleep. This feature works + * by counting the number of positive edges on RX pin and comparing the count to + * the threshold. When the count exceeds the threshold, system is woken up from + * light sleep. This function allows setting the threshold value. + * + * Stop bit and parity bits (if enabled) also contribute to the number of edges. + * For example, letter 'a' with ASCII code 97 is encoded as 010001101 on the wire + * (with 8n1 configuration), start and stop bits included. This sequence has 3 + * positive edges (transitions from 0 to 1). Therefore, to wake up the system + * when 'a' is sent, set wakeup_threshold=3. + * + * The character that triggers wakeup is not received by UART (i.e. it can not + * be obtained from UART FIFO). Depending on the baud rate, a few characters + * after that will also not be received. Note that when the chip enters and exits + * light sleep mode, APB frequency will be changing. To make sure that UART has + * correct baud rate all the time, select REF_TICK as UART clock source, + * by setting use_ref_tick field in uart_config_t to true. + * + * @note in ESP32, UART2 does not support light sleep wakeup feature. + * + * @param uart_num UART number + * @param wakeup_threshold number of RX edges for light sleep wakeup, value is 3 .. 0x3ff. + * @return + * - ESP_OK on success + * - ESP_ERR_INVALID_ARG if uart_num is incorrect or wakeup_threshold is + * outside of [3, 0x3ff] range. + */ +esp_err_t uart_set_wakeup_threshold(uart_port_t uart_num, int wakeup_threshold); + +/** + * @brief Get the number of RX pin signal edges for light sleep wakeup. + * + * See description of uart_set_wakeup_threshold for the explanation of UART + * wakeup feature. + * + * @param uart_num UART number + * @param[out] out_wakeup_threshold output, set to the current value of wakeup + * threshold for the given UART. + * @return + * - ESP_OK on success + * - ESP_ERR_INVALID_ARG if out_wakeup_threshold is NULL + */ +esp_err_t uart_get_wakeup_threshold(uart_port_t uart_num, int* out_wakeup_threshold); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/esp-mqtt/mqtt_client.h b/tools/sdk/include/esp-mqtt/mqtt_client.h new file mode 100755 index 00000000..45fcbe7d --- /dev/null +++ b/tools/sdk/include/esp-mqtt/mqtt_client.h @@ -0,0 +1,101 @@ +/* + * This file is subject to the terms and conditions defined in + * file 'LICENSE', which is part of this source code package. + * Tuan PM + */ + +#ifndef _MQTT_CLIENT_H_ +#define _MQTT_CLIENT_H_ + +#include +#include +#include +#include "esp_err.h" + +#include "mqtt_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct esp_mqtt_client* esp_mqtt_client_handle_t; + +typedef enum { + MQTT_EVENT_ERROR = 0, + MQTT_EVENT_CONNECTED, + MQTT_EVENT_DISCONNECTED, + MQTT_EVENT_SUBSCRIBED, + MQTT_EVENT_UNSUBSCRIBED, + MQTT_EVENT_PUBLISHED, + MQTT_EVENT_DATA, +} esp_mqtt_event_id_t; + +typedef enum { + MQTT_TRANSPORT_UNKNOWN = 0x0, + MQTT_TRANSPORT_OVER_TCP, /*!< MQTT over TCP, using scheme: ``mqtt`` */ + MQTT_TRANSPORT_OVER_SSL, /*!< MQTT over SSL, using scheme: ``mqtts`` */ + MQTT_TRANSPORT_OVER_WS, /*!< MQTT over Websocket, using scheme:: ``ws`` */ + MQTT_TRANSPORT_OVER_WSS /*!< MQTT over Websocket Secure, using scheme: ``wss`` */ +} esp_mqtt_transport_t; + +/** + * MQTT event configuration structure + */ +typedef struct { + esp_mqtt_event_id_t event_id; /*!< MQTT event type */ + esp_mqtt_client_handle_t client; /*!< MQTT client handle for this event */ + void *user_context; /*!< User context passed from MQTT client config */ + char *data; /*!< Data asociated with this event */ + int data_len; /*!< Lenght of the data for this event */ + int total_data_len; /*!< Total length of the data (longer data are supplied with multiple events) */ + int current_data_offset; /*!< Actual offset for the data asociated with this event */ + char *topic; /*!< Topic asociated with this event */ + int topic_len; /*!< Length of the topic for this event asociated with this event */ + int msg_id; /*!< MQTT messaged id of message */ +} esp_mqtt_event_t; + +typedef esp_mqtt_event_t* esp_mqtt_event_handle_t; + +typedef esp_err_t (* mqtt_event_callback_t)(esp_mqtt_event_handle_t event); + +/** + * MQTT client configuration structure + */ +typedef struct { + mqtt_event_callback_t event_handle; /*!< handle for MQTT events */ + const char *host; /*!< MQTT server domain (ipv4 as string) */ + const char *uri; /*!< Complete MQTT broker URI */ + uint32_t port; /*!< MQTT server port */ + const char *client_id; /*!< default client id is ``ESP32_%CHIPID%`` where %CHIPID% are last 3 bytes of MAC address in hex format */ + const char *username; /*!< MQTT username */ + const char *password; /*!< MQTT password */ + const char *lwt_topic; /*!< LWT (Last Will and Testament) message topic (NULL by default) */ + const char *lwt_msg; /*!< LWT message (NULL by default) */ + int lwt_qos; /*!< LWT message qos */ + int lwt_retain; /*!< LWT retained message flag */ + int lwt_msg_len; /*!< LWT message length */ + int disable_clean_session; /*!< mqtt clean session, default clean_session is true */ + int keepalive; /*!< mqtt keepalive, default is 120 seconds */ + bool disable_auto_reconnect; /*!< this mqtt client will reconnect to server (when errors/disconnect). Set disable_auto_reconnect=true to disable */ + void *user_context; /*!< pass user context to this option, then can receive that context in ``event->user_context`` */ + int task_prio; /*!< MQTT task priority, default is 5, can be changed in ``make menuconfig`` */ + int task_stack; /*!< MQTT task stack size, default is 6144 bytes, can be changed in ``make menuconfig`` */ + int buffer_size; /*!< size of MQTT send/receive buffer, default is 1024 */ + const char *cert_pem; /*!< pointer to CERT file for server verify (with SSL), default is NULL, not required to verify the server */ + esp_mqtt_transport_t transport; /*!< overrides URI transport */ +} esp_mqtt_client_config_t; + +esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config); +esp_err_t esp_mqtt_client_set_uri(esp_mqtt_client_handle_t client, const char *uri); +esp_err_t esp_mqtt_client_start(esp_mqtt_client_handle_t client); +esp_err_t esp_mqtt_client_stop(esp_mqtt_client_handle_t client); +esp_err_t esp_mqtt_client_subscribe(esp_mqtt_client_handle_t client, const char *topic, int qos); +esp_err_t esp_mqtt_client_unsubscribe(esp_mqtt_client_handle_t client, const char *topic); +int esp_mqtt_client_publish(esp_mqtt_client_handle_t client, const char *topic, const char *data, int len, int qos, int retain); +esp_err_t esp_mqtt_client_destroy(esp_mqtt_client_handle_t client); + +#ifdef __cplusplus +} +#endif //__cplusplus + +#endif diff --git a/tools/sdk/include/esp-mqtt/mqtt_config.h b/tools/sdk/include/esp-mqtt/mqtt_config.h new file mode 100644 index 00000000..c0b4ab75 --- /dev/null +++ b/tools/sdk/include/esp-mqtt/mqtt_config.h @@ -0,0 +1,81 @@ +/* + * This file is subject to the terms and conditions defined in + * file 'LICENSE', which is part of this source code package. + * Tuan PM + */ +#ifndef _MQTT_CONFIG_H_ +#define _MQTT_CONFIG_H_ + +#include "sdkconfig.h" + +#define MQTT_PROTOCOL_311 CONFIG_MQTT_PROTOCOL_311 +#define MQTT_RECONNECT_TIMEOUT_MS (10*1000) + +#if CONFIG_MQTT_BUFFER_SIZE +#define MQTT_BUFFER_SIZE_BYTE CONFIG_MQTT_BUFFER_SIZE +#else +#define MQTT_BUFFER_SIZE_BYTE 1024 +#endif + +#define MQTT_MAX_HOST_LEN 64 +#define MQTT_MAX_CLIENT_LEN 32 +#define MQTT_MAX_USERNAME_LEN 32 +#define MQTT_MAX_PASSWORD_LEN 65 +#define MQTT_MAX_LWT_TOPIC 32 +#define MQTT_MAX_LWT_MSG 128 +#define MQTT_TASK_PRIORITY 5 + +#if CONFIG_MQTT_TASK_STACK_SIZE +#define MQTT_TASK_STACK CONFIG_MQTT_TASK_STACK_SIZE +#else +#define MQTT_TASK_STACK (6*1024) +#endif + +#define MQTT_KEEPALIVE_TICK (120) +#define MQTT_CMD_QUEUE_SIZE (10) +#define MQTT_NETWORK_TIMEOUT_MS (10000) + +#ifdef CONFIG_MQTT_TCP_DEFAULT_PORT +#define MQTT_TCP_DEFAULT_PORT CONFIG_MQTT_TCP_DEFAULT_PORT +#else +#define MQTT_TCP_DEFAULT_PORT 1883 +#endif + +#ifdef CONFIG_MQTT_SSL_DEFAULT_PORT +#define MQTT_SSL_DEFAULT_PORT CONFIG_MQTT_SSL_DEFAULT_PORT +#else +#define MQTT_SSL_DEFAULT_PORT 8883 +#endif + +#ifdef CONFIG_MQTT_WS_DEFAULT_PORT +#define MQTT_WS_DEFAULT_PORT CONFIG_MQTT_WS_DEFAULT_PORT +#else +#define MQTT_WS_DEFAULT_PORT 80 +#endif + +#ifdef MQTT_WSS_DEFAULT_PORT +#define MQTT_WSS_DEFAULT_PORT CONFIG_MQTT_WSS_DEFAULT_PORT +#else +#define MQTT_WSS_DEFAULT_PORT 443 +#endif + +#define MQTT_CORE_SELECTION_ENABLED CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED + +#ifdef CONFIG_MQTT_USE_CORE_0 + #define MQTT_TASK_CORE 0 +#else + #ifdef CONFIG_MQTT_USE_CORE_1 + #define MQTT_TASK_CORE 1 + #else + #define MQTT_TASK_CORE 0 + #endif +#endif + + +#define MQTT_ENABLE_SSL CONFIG_MQTT_TRANSPORT_SSL +#define MQTT_ENABLE_WS CONFIG_MQTT_TRANSPORT_WEBSOCKET +#define MQTT_ENABLE_WSS CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE + +#define OUTBOX_EXPIRED_TIMEOUT_MS (30*1000) +#define OUTBOX_MAX_SIZE (4*1024) +#endif diff --git a/tools/sdk/include/esp-tls/esp_tls.h b/tools/sdk/include/esp-tls/esp_tls.h index 92b0734e..d5975dc1 100644 --- a/tools/sdk/include/esp-tls/esp_tls.h +++ b/tools/sdk/include/esp-tls/esp_tls.h @@ -18,7 +18,6 @@ #include #include - #include "mbedtls/platform.h" #include "mbedtls/net_sockets.h" #include "mbedtls/esp_debug.h" @@ -48,12 +47,14 @@ typedef struct esp_tls_cfg { const unsigned char *cacert_pem_buf; /*!< Certificate Authority's certificate in a buffer */ - const unsigned int cacert_pem_bytes; /*!< Size of Certificate Authority certificate + unsigned int cacert_pem_bytes; /*!< Size of Certificate Authority certificate pointed to by cacert_pem_buf */ bool non_block; /*!< Configure non-blocking mode. If set to true the underneath socket will be configured in non blocking mode after tls session is established */ + + int timeout_ms; /*!< Network timeout in milliseconds */ } esp_tls_cfg_t; /** @@ -165,6 +166,21 @@ static inline ssize_t esp_tls_conn_read(esp_tls_t *tls, void *data, size_t data */ void esp_tls_conn_delete(esp_tls_t *tls); +/** + * @brief Return the number of application data bytes remaining to be + * read from the current record + * + * This API is a wrapper over mbedtls's mbedtls_ssl_get_bytes_avail() API. + * + * @param[in] tls pointer to esp-tls as esp-tls handle. + * + * @return + * - -1 in case of invalid arg + * - bytes available in the application data + * record read buffer + */ +size_t esp_tls_get_bytes_avail(esp_tls_t *tls); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/esp32/esp32/pm.h b/tools/sdk/include/esp32/esp32/pm.h index a7cbf0ea..f64045fb 100644 --- a/tools/sdk/include/esp32/esp32/pm.h +++ b/tools/sdk/include/esp32/esp32/pm.h @@ -31,8 +31,10 @@ extern "C" { * Pass a pointer to this structure as an argument to esp_pm_configure function. */ typedef struct { - rtc_cpu_freq_t max_cpu_freq; /*!< Maximum CPU frequency to use */ - rtc_cpu_freq_t min_cpu_freq; /*!< Minimum CPU frequency to use when no frequency locks are taken */ + rtc_cpu_freq_t max_cpu_freq __attribute__((deprecated)); /*!< Maximum CPU frequency to use. Deprecated, use max_freq_mhz instead. */ + int max_freq_mhz; /*!< Maximum CPU frequency, in MHz */ + rtc_cpu_freq_t min_cpu_freq __attribute__((deprecated)); /*!< Minimum CPU frequency to use when no frequency locks are taken. Deprecated, use min_freq_mhz instead. */ + int min_freq_mhz; /*!< Minimum CPU frequency to use when no locks are taken, in MHz */ bool light_sleep_enable; /*!< Enter light sleep when no locks are taken */ } esp_pm_config_esp32_t; diff --git a/tools/sdk/include/esp32/esp_clk.h b/tools/sdk/include/esp32/esp_clk.h index 6526aa92..1a91d26f 100644 --- a/tools/sdk/include/esp32/esp_clk.h +++ b/tools/sdk/include/esp32/esp_clk.h @@ -62,6 +62,17 @@ int esp_clk_cpu_freq(void); */ int esp_clk_apb_freq(void); +/** + * @brief Return frequency of the main XTAL + * + * Frequency of the main XTAL can be either auto-detected or set at compile + * time (see CONFIG_ESP32_XTAL_FREQ_SEL sdkconfig option). In both cases, this + * function returns the actual value at run time. + * + * @return XTAL frequency, in Hz + */ +int esp_clk_xtal_freq(void); + /** * @brief Read value of RTC counter, converting it to microseconds diff --git a/tools/sdk/include/esp32/esp_err.h b/tools/sdk/include/esp32/esp_err.h index d8820e5a..9dcb25af 100644 --- a/tools/sdk/include/esp32/esp_err.h +++ b/tools/sdk/include/esp32/esp_err.h @@ -27,20 +27,20 @@ typedef int32_t esp_err_t; #define ESP_OK 0 /*!< esp_err_t value indicating success (no error) */ #define ESP_FAIL -1 /*!< Generic esp_err_t code indicating failure */ -#define ESP_ERR_NO_MEM 0x101 /*!< Out of memory */ -#define ESP_ERR_INVALID_ARG 0x102 /*!< Invalid argument */ -#define ESP_ERR_INVALID_STATE 0x103 /*!< Invalid state */ -#define ESP_ERR_INVALID_SIZE 0x104 /*!< Invalid size */ -#define ESP_ERR_NOT_FOUND 0x105 /*!< Requested resource not found */ -#define ESP_ERR_NOT_SUPPORTED 0x106 /*!< Operation or feature not supported */ -#define ESP_ERR_TIMEOUT 0x107 /*!< Operation timed out */ +#define ESP_ERR_NO_MEM 0x101 /*!< Out of memory */ +#define ESP_ERR_INVALID_ARG 0x102 /*!< Invalid argument */ +#define ESP_ERR_INVALID_STATE 0x103 /*!< Invalid state */ +#define ESP_ERR_INVALID_SIZE 0x104 /*!< Invalid size */ +#define ESP_ERR_NOT_FOUND 0x105 /*!< Requested resource not found */ +#define ESP_ERR_NOT_SUPPORTED 0x106 /*!< Operation or feature not supported */ +#define ESP_ERR_TIMEOUT 0x107 /*!< Operation timed out */ #define ESP_ERR_INVALID_RESPONSE 0x108 /*!< Received response was invalid */ -#define ESP_ERR_INVALID_CRC 0x109 /*!< CRC or checksum was invalid */ +#define ESP_ERR_INVALID_CRC 0x109 /*!< CRC or checksum was invalid */ #define ESP_ERR_INVALID_VERSION 0x10A /*!< Version was invalid */ -#define ESP_ERR_INVALID_MAC 0x10B /*!< MAC address was invalid */ +#define ESP_ERR_INVALID_MAC 0x10B /*!< MAC address was invalid */ -#define ESP_ERR_WIFI_BASE 0x3000 /*!< Starting number of WiFi error codes */ -#define ESP_ERR_MESH_BASE 0x4000 /*!< Starting number of MESH error codes */ +#define ESP_ERR_WIFI_BASE 0x3000 /*!< Starting number of WiFi error codes */ +#define ESP_ERR_MESH_BASE 0x4000 /*!< Starting number of MESH error codes */ /** * @brief Returns string for esp_err_t error codes diff --git a/tools/sdk/include/esp32/esp_mesh.h b/tools/sdk/include/esp32/esp_mesh.h index db9cb1d1..6322dc60 100644 --- a/tools/sdk/include/esp32/esp_mesh.h +++ b/tools/sdk/include/esp32/esp_mesh.h @@ -26,7 +26,7 @@ * | | ...) | (LwIP) | | | | * | |-----------------------------------| |---------------| | * | | | | - * | | WiFi Driver | | + * | | Wi-Fi Driver | | * | |--------------------------------------------------| | * | | | * | | Platform HAL | @@ -36,7 +36,7 @@ * * |---------------| * | | default handler - * | WiFi stack | events |---------------------| + * | Wi-Fi stack | events |---------------------| * | | -------------> | | * |---------------| | | * | event task | @@ -58,27 +58,27 @@ * Mesh Stack * * Mesh event defines almost all system events applications tasks need. - * Mesh event contains WiFi connection states on station interface, children connection states on softAP interface and etc.. + * Mesh event contains Wi-Fi connection states on station interface, children connection states on softAP interface and etc.. * Applications need to register a mesh event callback handler by API esp_mesh_set_config() firstly. * This handler is to receive events posted from mesh stack and LwIP stack. * Applications could add relative handler for each event. * Examples: - * (1)Applications could use WiFi station connect states to decide when to send data to its parent, to root or to external IP network; - * (2)Applications could use WiFi softAP states to decide when to send data to its children. + * (1) Applications could use Wi-Fi station connect states to decide when to send data to its parent, to the root or to external IP network; + * (2) Applications could use Wi-Fi softAP states to decide when to send data to its children. * * In present implementation, applications are able to access mesh stack directly without having to go through LwIP stack. * Applications use esp_mesh_send() and esp_mesh_recv() to send and receive messages over the mesh network. * In mesh stack design, normal devices don't require LwIP stack. But since IDF hasn't supported system without initializing LwIP stack yet, * applications still need to do LwIP initialization and two more things are required to be done - * (1)stop DHCP server on softAP interface by default - * (2)stop DHCP client on station interface by default. + * (1) stop DHCP server on softAP interface by default + * (2) stop DHCP client on station interface by default. * Examples: * tcpip_adapter_init(); * tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP)ï¼› * tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA)ï¼› * - * Over the mesh network, only root is able to access external IP network. - * In application mesh event handler, once a device becomes a root, start DHCP client immediately if DHCP is chosen. + * Over the mesh network, only the root is able to access external IP network. + * In application mesh event handler, once a device becomes a root, start DHCP client immediately whether DHCP is chosen. */ #ifndef __ESP_MESH_H__ @@ -100,9 +100,9 @@ extern "C" { #define MESH_MTU (1500) /**< max transmit unit(in bytes) */ #define MESH_MPS (1472) /**< max payload size(in bytes) */ /** - * @brief mesh error code definition + * @brief Mesh error code definition */ -#define ESP_ERR_MESH_WIFI_NOT_START (ESP_ERR_MESH_BASE + 1) /**< WiFi isn't started */ +#define ESP_ERR_MESH_WIFI_NOT_START (ESP_ERR_MESH_BASE + 1) /**< Wi-Fi isn't started */ #define ESP_ERR_MESH_NOT_INIT (ESP_ERR_MESH_BASE + 2) /**< mesh isn't initialized */ #define ESP_ERR_MESH_NOT_CONFIG (ESP_ERR_MESH_BASE + 3) /**< mesh isn't configured */ #define ESP_ERR_MESH_NOT_START (ESP_ERR_MESH_BASE + 4) /**< mesh isn't started */ @@ -120,41 +120,41 @@ extern "C" { #define ESP_ERR_MESH_OPTION_NULL (ESP_ERR_MESH_BASE + 16) /**< no option found */ #define ESP_ERR_MESH_OPTION_UNKNOWN (ESP_ERR_MESH_BASE + 17) /**< unknown option */ #define ESP_ERR_MESH_XON_NO_WINDOW (ESP_ERR_MESH_BASE + 18) /**< no window for software flow control on upstream */ -#define ESP_ERR_MESH_INTERFACE (ESP_ERR_MESH_BASE + 19) /**< low-level WiFi interface error */ +#define ESP_ERR_MESH_INTERFACE (ESP_ERR_MESH_BASE + 19) /**< low-level Wi-Fi interface error */ #define ESP_ERR_MESH_DISCARD_DUPLICATE (ESP_ERR_MESH_BASE + 20) /**< discard the packet due to the duplicate sequence number */ #define ESP_ERR_MESH_DISCARD (ESP_ERR_MESH_BASE + 21) /**< discard the packet */ #define ESP_ERR_MESH_VOTING (ESP_ERR_MESH_BASE + 22) /**< vote in progress */ /** - * @brief flags used with esp_mesh_send() and esp_mesh_recv() + * @brief Flags bitmap for esp_mesh_send() and esp_mesh_recv() */ -#define MESH_DATA_ENC (0x01) /**< data encrypted(Unimplemented) */ +#define MESH_DATA_ENC (0x01) /**< data encrypted (Unimplemented) */ #define MESH_DATA_P2P (0x02) /**< point-to-point delivery over the mesh network */ #define MESH_DATA_FROMDS (0x04) /**< receive from external IP network */ #define MESH_DATA_TODS (0x08) /**< identify this packet is target to external IP network */ #define MESH_DATA_NONBLOCK (0x10) /**< esp_mesh_send() non-block */ -#define MESH_DATA_DROP (0x20) /**< in the situation of root having been changed, identify this packet can be dropped by new root */ +#define MESH_DATA_DROP (0x20) /**< in the situation of the root having been changed, identify this packet can be dropped by new root */ #define MESH_DATA_GROUP (0x40) /**< identify this packet is target to a group address */ /** - * @brief option definitions for esp_mesh_send() and esp_mesh_recv() + * @brief Option definitions for esp_mesh_send() and esp_mesh_recv() */ #define MESH_OPT_SEND_GROUP (7) /**< data transmission by group; used with esp_mesh_send() and shall have payload */ #define MESH_OPT_RECV_DS_ADDR (8) /**< return a remote IP address; used with esp_mesh_send() and esp_mesh_recv() */ /** - * @brief flag of mesh networking IE + * @brief Flag of mesh networking IE */ #define MESH_ASSOC_FLAG_VOTE_IN_PROGRESS (0x02) /**< vote in progress */ #define MESH_ASSOC_FLAG_NETWORK_FREE (0x08) /**< no root in current network */ #define MESH_ASSOC_FLAG_ROOTS_FOUND (0x20) /**< root conflict is found */ -#define MESH_ASSOC_FLAG_ROOT_FIXED (0x40) /**< root is fixed */ +#define MESH_ASSOC_FLAG_ROOT_FIXED (0x40) /**< fixed root */ /******************************************************* * Enumerations *******************************************************/ /** - * @brief enumerated list of mesh event id + * @brief Enumerated list of mesh event id */ typedef enum { MESH_EVENT_STARTED, /**< mesh is started */ @@ -166,30 +166,30 @@ typedef enum { MESH_EVENT_ROUTING_TABLE_REMOVE, /**< routing table is changed by removing leave children */ MESH_EVENT_PARENT_CONNECTED, /**< parent is connected on station interface */ MESH_EVENT_PARENT_DISCONNECTED, /**< parent is disconnected on station interface */ - MESH_EVENT_NO_PARNET_FOUND, /**< no parent found */ + MESH_EVENT_NO_PARENT_FOUND, /**< no parent found */ MESH_EVENT_LAYER_CHANGE, /**< layer changes over the mesh network */ - MESH_EVENT_TODS_STATE, /**< state represents if root is able to access external IP network */ - MESH_EVENT_VOTE_STARTED, /**< the process of voting a new root is started either by children or by root */ + MESH_EVENT_TODS_STATE, /**< state represents whether the root is able to access external IP network */ + MESH_EVENT_VOTE_STARTED, /**< the process of voting a new root is started either by children or by the root */ MESH_EVENT_VOTE_STOPPED, /**< the process of voting a new root is stopped */ MESH_EVENT_ROOT_ADDRESS, /**< the root address is obtained. It is posted by mesh stack automatically. */ MESH_EVENT_ROOT_SWITCH_REQ, /**< root switch request sent from a new voted root candidate */ MESH_EVENT_ROOT_SWITCH_ACK, /**< root switch acknowledgment responds the above request sent from current root */ - MESH_EVENT_ROOT_GOT_IP, /**< root obtains the IP address. It is posted by LwIP stack automatically */ - MESH_EVENT_ROOT_LOST_IP, /**< root loses the IP address. It is posted by LwIP stack automatically */ - MESH_EVENT_ROOT_ASKED_YIELD, /**< root is asked yield by a more powerful existing root. If self organized is disabled + MESH_EVENT_ROOT_GOT_IP, /**< the root obtains the IP address. It is posted by LwIP stack automatically */ + MESH_EVENT_ROOT_LOST_IP, /**< the root loses the IP address. It is posted by LwIP stack automatically */ + MESH_EVENT_ROOT_ASKED_YIELD, /**< the root is asked yield by a more powerful existing root. If self organized is disabled and this device is specified to be a root by users, users should set a new parent for this device. if self organized is enabled, this device will find a new parent by itself, users could ignore this event. */ MESH_EVENT_ROOT_FIXED, /**< when devices join a network, if the setting of Fixed Root for one device is different from that of its parent, the device will update the setting the same as its parent's. - Fixed Root setting of each device is variable as that setting changes of root. */ + Fixed Root Setting of each device is variable as that setting changes of the root. */ MESH_EVENT_SCAN_DONE, /**< if self-organized networking is disabled, user can call esp_wifi_scan_start() to trigger this event, and add the corresponding scan done handler in this event. */ MESH_EVENT_MAX, } mesh_event_id_t; /** - * @brief device type + * @brief Device type */ typedef enum { MESH_IDLE, /**< hasn't joined the mesh network yet */ @@ -199,7 +199,7 @@ typedef enum { } mesh_type_t; /** - * @brief protocol of transmitted application data + * @brief Protocol of transmitted application data */ typedef enum { MESH_PROTO_BIN, /**< binary */ @@ -209,24 +209,24 @@ typedef enum { } mesh_proto_t; /** - * @brief for reliable transmission, mesh stack provides three type of services + * @brief For reliable transmission, mesh stack provides three type of services */ typedef enum { - MESH_TOS_P2P, /**< provide P2P(point-to-point) retransmission on mesh stack by default */ - MESH_TOS_E2E, /**< provide E2E(end-to-end) retransmission on mesh stack (Unimplemented) */ + MESH_TOS_P2P, /**< provide P2P (point-to-point) retransmission on mesh stack by default */ + MESH_TOS_E2E, /**< provide E2E (end-to-end) retransmission on mesh stack (Unimplemented) */ MESH_TOS_DEF, /**< no retransmission on mesh stack */ } mesh_tos_t; /** - * @brief vote reason + * @brief Vote reason */ typedef enum { - MESH_VOTE_REASON_ROOT_INITIATED = 1, /**< vote is initiated by root */ + MESH_VOTE_REASON_ROOT_INITIATED = 1, /**< vote is initiated by the root */ MESH_VOTE_REASON_CHILD_INITIATED, /**< vote is initiated by children */ } mesh_vote_reason_t; /** - * @brief mesh disconnect reason code + * @brief Mesh disconnect reason code */ typedef enum { MESH_REASON_CYCLIC = 100, /**< cyclic is detected */ @@ -250,7 +250,7 @@ typedef struct { } __attribute__((packed)) mip_t; /** - * @brief mesh address + * @brief Mesh address */ typedef union { uint8_t addr[6]; /**< mac address */ @@ -258,47 +258,47 @@ typedef union { } mesh_addr_t; /** - * @brief channel switch information + * @brief Channel switch information */ typedef struct { uint8_t channel; /**< new channel */ } mesh_event_channel_switch_t; /** - * @brief parent connected information + * @brief Parent connected information */ typedef struct { - system_event_sta_connected_t connected; /**< parent information, same as WiFi event SYSTEM_EVENT_STA_CONNECTED does */ + system_event_sta_connected_t connected; /**< parent information, same as Wi-Fi event SYSTEM_EVENT_STA_CONNECTED does */ uint8_t self_layer; /**< layer */ } mesh_event_connected_t; /** - * @brief no parent found information + * @brief No parent found information */ typedef struct { int scan_times; /**< scan times being through */ } mesh_event_no_parent_found_t; /** - * @brief layer change information + * @brief Layer change information */ typedef struct { uint8_t new_layer; /**< new layer */ } mesh_event_layer_change_t; /** - * @brief the reachability of root to a DS(distribute system) + * @brief The reachability of the root to a DS (distribute system) */ typedef enum { - MESH_TODS_UNREACHABLE, /**< root isn't able to access external IP network */ - MESH_TODS_REACHABLE, /**< root is able to access external IP network */ + MESH_TODS_UNREACHABLE, /**< the root isn't able to access external IP network */ + MESH_TODS_REACHABLE, /**< the root is able to access external IP network */ } mesh_event_toDS_state_t; /** * @brief vote started information */ typedef struct { - int reason; /**< vote reason, vote could be initiated by children or by root itself */ + int reason; /**< vote reason, vote could be initiated by children or by the root itself */ int attempts; /**< max vote attempts before stopped */ mesh_addr_t rc_addr; /**< root address specified by users via API esp_mesh_waive_root() */ } mesh_event_vote_started_t; @@ -309,27 +309,27 @@ typedef struct { typedef system_event_sta_got_ip_t mesh_event_root_got_ip_t; /** - * @brief root address + * @brief Root address */ typedef mesh_addr_t mesh_event_root_address_t; /** - * @brief parent disconnected information + * @brief Parent disconnected information */ typedef system_event_sta_disconnected_t mesh_event_disconnected_t; /** - * @brief child connected information + * @brief Child connected information */ typedef system_event_ap_staconnected_t mesh_event_child_connected_t; /** - * @brief child disconnected information + * @brief Child disconnected information */ typedef system_event_ap_stadisconnected_t mesh_event_child_disconnected_t; /** - * @brief root switch request information + * @brief Root switch request information */ typedef struct { int reason; /**< root switch reason, generally root switch is initialized by users via API esp_mesh_waive_root() */ @@ -337,7 +337,7 @@ typedef struct { } mesh_event_root_switch_req_t; /** - * @brief other powerful root address + * @brief Other powerful root address */ typedef struct { int8_t rssi; /**< rssi with router */ @@ -346,7 +346,7 @@ typedef struct { } mesh_event_root_conflict_t; /** - * @brief routing table change + * @brief Routing table change */ typedef struct { uint16_t rt_size_new; /**< the new value */ @@ -354,21 +354,21 @@ typedef struct { } mesh_event_routing_table_change_t; /** - * @brief root fixed + * @brief Root fixed */ typedef struct { bool is_fixed; /**< status */ } mesh_event_root_fixed_t; /** - * @brief scan done event information + * @brief Scan done event information */ typedef struct { - uint8_t number; /**< the number of scanned APs */ + uint8_t number; /**< the number of APs scanned */ } mesh_event_scan_done_t; /** - * @brief mesh event information + * @brief Mesh event information */ typedef union { mesh_event_channel_switch_t channel_switch; /**< channel switch */ @@ -380,7 +380,7 @@ typedef union { mesh_event_no_parent_found_t no_parent; /**< no parent found */ mesh_event_layer_change_t layer_change; /**< layer change */ mesh_event_toDS_state_t toDS_state; /**< toDS state, devices shall check this state firstly before trying to send packets to - external IP network. This state indicates right now if root is capable of sending + external IP network. This state indicates right now whether the root is capable of sending packets out. If not, devices had better to wait until this state changes to be MESH_TODS_REACHABLE. */ mesh_event_vote_started_t vote_started; /**< vote started */ @@ -388,12 +388,12 @@ typedef union { mesh_event_root_address_t root_addr; /**< root address */ mesh_event_root_switch_req_t switch_req; /**< root switch request */ mesh_event_root_conflict_t root_conflict; /**< other powerful root */ - mesh_event_root_fixed_t root_fixed; /**< root fixed */ + mesh_event_root_fixed_t root_fixed; /**< fixed root */ mesh_event_scan_done_t scan_done; /**< scan done */ } mesh_event_info_t; /** - * @brief mesh event + * @brief Mesh event */ typedef struct { mesh_event_id_t id; /**< mesh event id */ @@ -401,14 +401,14 @@ typedef struct { } mesh_event_t; /** - * @brief mesh event callback handler prototype definition + * @brief Mesh event callback handler prototype definition * * @param event mesh_event_t */ typedef void (*mesh_event_cb_t)(mesh_event_t event); /** - * @brief mesh option + * @brief Mesh option */ typedef struct { uint8_t type; /**< option type */ @@ -417,7 +417,7 @@ typedef struct { } __attribute__((packed)) mesh_opt_t; /** - * @brief mesh data for esp_mesh_send() and esp_mesh_recv() + * @brief Mesh data for esp_mesh_send() and esp_mesh_recv() */ typedef struct { uint8_t *data; /**< data */ @@ -427,7 +427,7 @@ typedef struct { } mesh_data_t; /** - * @brief router configuration + * @brief Router configuration */ typedef struct { uint8_t ssid[32]; /**< SSID */ @@ -437,7 +437,7 @@ typedef struct { } mesh_router_t; /** - * @brief mesh softAP configuration + * @brief Mesh softAP configuration */ typedef struct { uint8_t password[64]; /**< mesh softAP password */ @@ -445,7 +445,7 @@ typedef struct { } mesh_ap_cfg_t; /** - * @brief mesh initialization configuration + * @brief Mesh initialization configuration */ typedef struct { uint8_t channel; /**< channel, the mesh network on */ @@ -457,7 +457,7 @@ typedef struct { } mesh_cfg_t; /** - * @brief vote address configuration + * @brief Vote address configuration */ typedef union { int attempts; /**< max vote attempts before a new root is elected automatically by mesh network. (min:15, 15 by default) */ @@ -465,29 +465,29 @@ typedef union { } mesh_rc_config_t; /** - * @brief vote + * @brief Vote */ typedef struct { float percentage; /**< vote percentage threshold for approval of being a root */ - bool is_rc_specified; /**< if true, rc_addr shall be specified(Unimplemented). + bool is_rc_specified; /**< if true, rc_addr shall be specified (Unimplemented). if false, attempts value shall be specified to make network start root election. */ mesh_rc_config_t config; /**< vote address configuration */ } mesh_vote_t; /** - * @brief the number of packets pending in the queue waiting to be sent by the mesh stack + * @brief The number of packets pending in the queue waiting to be sent by the mesh stack */ typedef struct { int to_parent; /**< to parent queue */ - int to_parent_p2p; /**< to parent(P2P) queue */ + int to_parent_p2p; /**< to parent (P2P) queue */ int to_child; /**< to child queue */ - int to_child_p2p; /**< to child(P2P) queue */ + int to_child_p2p; /**< to child (P2P) queue */ int mgmt; /**< management queue */ int broadcast; /**< broadcast and multicast queue */ } mesh_tx_pending_t; /** - * @brief the number of packets available in the queue waiting to be received by applications + * @brief The number of packets available in the queue waiting to be received by applications */ typedef struct { int toDS; /**< to external DS */ @@ -497,7 +497,7 @@ typedef struct { /******************************************************* * Variable Declaration *******************************************************/ -/* mesh vendor IE crypto callback function */ +/* mesh IE crypto callback function */ extern const mesh_crypto_funcs_t g_wifi_default_mesh_crypto_funcs; /* mesh event callback handler */ @@ -511,11 +511,11 @@ extern mesh_event_cb_t g_mesh_event_cb; * Function Definitions *******************************************************/ /** - * @brief mesh initialization - * Check if WiFi is started. - * Initialize mesh global variables with default values. + * @brief Mesh initialization + * - Check whether Wi-Fi is started. + * - Initialize mesh global variables with default values. * - * @attention This API shall be called after WiFi is started. + * @attention This API shall be called after Wi-Fi is started. * * @return * - ESP_OK @@ -524,8 +524,9 @@ extern mesh_event_cb_t g_mesh_event_cb; esp_err_t esp_mesh_init(void); /** - * @brief mesh de-initialization - * Release resources and stop the mesh + * @brief Mesh de-initialization + * + * - Release resources and stop the mesh * * @return * - ESP_OK @@ -534,13 +535,13 @@ esp_err_t esp_mesh_init(void); esp_err_t esp_mesh_deinit(void); /** - * @brief start mesh - * Initialize mesh vendor IE - * Start mesh network management service - * Create TX and RX queues according to the configuration - * Register mesh packets receive callback + * @brief Start mesh + * - Initialize mesh IE. + * - Start mesh network management service. + * - Create TX and RX queues according to the configuration. + * - Register mesh packets receive callback. * - * @attention This API shall be called after esp_mesh_init() and esp_mesh_set_config(). + * @attention This API shall be called after esp_mesh_init() and esp_mesh_set_config(). * * @return * - ESP_OK @@ -552,15 +553,15 @@ esp_err_t esp_mesh_deinit(void); esp_err_t esp_mesh_start(void); /** - * @brief stop mesh - * Deinitialize mesh vendor IE - * Disconnect with current parent - * Disassociate all currently associated children - * Stop mesh network management service - * Unregister mesh packets receive callback - * Delete TX and RX queues - * Release resources - * Restore WiFi softAP to default settings if WiFi dual mode is enabled + * @brief Stop mesh + * - Deinitialize mesh IE. + * - Disconnect with current parent. + * - Disassociate all currently associated children. + * - Stop mesh network management service. + * - Unregister mesh packets receive callback. + * - Delete TX and RX queues. + * - Release resources. + * - Restore Wi-Fi softAP to default settings if Wi-Fi dual mode is enabled. * * @return * - ESP_OK @@ -569,40 +570,42 @@ esp_err_t esp_mesh_start(void); esp_err_t esp_mesh_stop(void); /** - * @brief send a packet over the mesh network - * Send a packet to any device in the mesh network. - * Send a packet to external IP network. + * @brief Send a packet over the mesh network + * - Send a packet to any device in the mesh network. + * - Send a packet to external IP network. * - * @attention This API is not reentrant. + * @attention This API is not reentrant. * - * @param to the address of the final destination of the packet - * (1)if the packet is to root, just set "to" to NULL and set flag to zero. - * (2)if the packet is outgoing to external IP network such as an IP server address, translate IPv4:PORT known as "to". - * This packet will be delivered to root firstly, then root will forward this packet to the final IP server address. - * @param data pointer to a sending mesh packet - * Should specify the data protocol applications used, binary by default. - * Should specify the transmission tos(type of service), P2P reliable by default. - * @param flag - * (1)used to speed up the route selection - * if the packet is target to an internal device, MESH_DATA_P2P should be set. - * if the packet is outgoing to root or to external IP network, MESH_DATA_TODS should be set. - * if the packet is from root to an internal device, MESH_DATA_FROMDS should be set. - * (2)specify if this API is block or non-block, block by default - * if needs non-block, MESH_DATA_NONBLOCK should be set. - * (3)in the situation of root having been changed, MESH_DATA_DROP identifies this packet can be dropped by new root - * for upstream data to external IP network, we try our best to avoid data loss caused by root having been changed, but - * there is a risk that new root is running out of memory because most of memory is occupied by the pending data which - * isn't read out in time by esp_mesh_recv_toDS(). - * Generally, we suggest esp_mesh_recv_toDS() is called after a connection with IP network is created. Thus data outgoing - * to external IP network via socket is just from reading esp_mesh_recv_toDS() which avoids unnecessary memory copy. + * @param[in] to the address of the final destination of the packet + * - If the packet is to the root, set this parameter to NULL. + * - If the packet is to an external IP network, set this parameter to the IPv4:PORT combination. + * This packet will be delivered to the root firstly, then the root will forward this packet to the final IP server address. + * @param[in] data pointer to a sending mesh packet + * - Field proto should be set to data protocol in use (default is MESH_PROTO_BIN for binary). + * - Field tos should be set to transmission tos (type of service) in use (default is MESH_TOS_P2P for point-to-point reliable). + * @param[in] flag bitmap for data sent + * - Speed up the route search + * - If the packet is to the root and "to" parameter is NULL, set this parameter to 0. + * - If the packet is to an internal device, MESH_DATA_P2P should be set. + * - If the packet is to the root ("to" parameter isn't NULL) or to external IP network, MESH_DATA_TODS should be set. + * - If the packet is from the root to an internal device, MESH_DATA_FROMDS should be set. + * - Specify whether this API is block or non-block, block by default + * - If needs non-block, MESH_DATA_NONBLOCK should be set. + * - In the situation of the root change, MESH_DATA_DROP identifies this packet can be dropped by the new root + * for upstream data to external IP network, we try our best to avoid data loss caused by the root change, but + * there is a risk that the new root is running out of memory because most of memory is occupied by the pending data which + * isn't read out in time by esp_mesh_recv_toDS(). * - * @param opt options - * (1)in case of sending a packet to a specified group, MESH_OPT_SEND_GROUP is a good choice. - * In this option, the value field should specify the target receiver addresses in this group. - * (2)root sends a packet to an internal device, this packet is from external IP network in case the receiver device responds - * this packet, MESH_OPT_RECV_DS_ADDR is required to attach the target DS address. - * @param opt_count option count - * Currently, this API only takes one option, so opt_count is only supported to be 1. + * Generally, we suggest esp_mesh_recv_toDS() is called after a connection with IP network is created. Thus data outgoing + * to external IP network via socket is just from reading esp_mesh_recv_toDS() which avoids unnecessary memory copy. + * + * @param[in] opt options + * - In case of sending a packet to a certain group, MESH_OPT_SEND_GROUP is a good choice. + * In this option, the value field should be set to the target receiver addresses in this group. + * - Root sends a packet to an internal device, this packet is from external IP network in case the receiver device responds + * this packet, MESH_OPT_RECV_DS_ADDR is required to attach the target DS address. + * @param[in] opt_count option count + * - Currently, this API only takes one option, so opt_count is only supported to be 1. * * @return * - ESP_OK @@ -622,21 +625,26 @@ esp_err_t esp_mesh_send(const mesh_addr_t *to, const mesh_data_t *data, int flag, const mesh_opt_t opt[], int opt_count); /** - * @brief receive a packet targeted to self over the mesh network - * Use esp_mesh_get_rx_pending() to check the number of packets available in the queue waiting - * to be received by applications in case of running out of memory. + * @brief Receive a packet targeted to self over the mesh network * - * @param from the address of the original source of the packet - * @param data pointer to the received mesh packet - * Contain the protocol and applications should follow it to parse the data. - * @param timeout_ms wait time if a packet isn't immediately available(0:no wait, portMAX_DELAY:wait forever) - * @param flag - * MESH_DATA_FROMDS represents data from external IP network - * MESH_DATA_TODS represents data directed upward within the mesh network - * @param opt options desired to receive - * MESH_OPT_RECV_DS_ADDR attaches the DS address - * @param opt_count option count desired to receive - * Currently, this API only takes one option, so opt_count is only supported to be 1. + * @attention Mesh RX queue should be checked regularly to avoid running out of memory. + * - Use esp_mesh_get_rx_pending() to check the number of packets available in the queue waiting + * to be received by applications. + * + * @param[out] from the address of the original source of the packet + * @param[out] data pointer to the received mesh packet + * - Field proto is the data protocol in use. Should follow it to parse the received data. + * - Field tos is the transmission tos (type of service) in use. + * @param[in] timeout_ms wait time if a packet isn't immediately available (0:no wait, portMAX_DELAY:wait forever) + * @param[out] flag bitmap for data received + * - MESH_DATA_FROMDS represents data from external IP network + * - MESH_DATA_TODS represents data directed upward within the mesh network + * + * flag could be MESH_DATA_FROMDS or MESH_DATA_TODS. + * @param[out] opt options desired to receive + * - MESH_OPT_RECV_DS_ADDR attaches the DS address + * @param[in] opt_count option count desired to receive + * - Currently, this API only takes one option, so opt_count is only supported to be 1. * * @return * - ESP_OK @@ -649,29 +657,33 @@ esp_err_t esp_mesh_recv(mesh_addr_t *from, mesh_data_t *data, int timeout_ms, int *flag, mesh_opt_t opt[], int opt_count); /** - * @brief receive a packet targeted to external IP network - * root uses this API to receive packets destined to external IP network - * root forwards the received packets to the final destination via socket. - * if no socket connection is ready to send out the received packets and this esp_mesh_recv_toDS() - * hasn't been called by applications, packets from the whole mesh network will be pending in toDS queue. - * Use esp_mesh_get_rx_pending() to check the number of packets available in the queue waiting - * to be received by applications in case of running out of memory in root. - * Use esp_mesh_set_xon_qsize() could configure the RX queue size, default:72. If this size is too large, - * and esp_mesh_recv_toDS() isn't called in time, there is a risk that a great deal of memory is occupied - * by the pending packets. If this size is too small, it will impact the efficiency on upstream. How to - * decide this value depends on the specific application scenarios. + * @brief Receive a packet targeted to external IP network + * - Root uses this API to receive packets destined to external IP network + * - Root forwards the received packets to the final destination via socket. + * - If no socket connection is ready to send out the received packets and this esp_mesh_recv_toDS() + * hasn't been called by applications, packets from the whole mesh network will be pending in toDS queue. * - * @attention This API is only called by root. + * Use esp_mesh_get_rx_pending() to check the number of packets available in the queue waiting + * to be received by applications in case of running out of memory in the root. * - * @param from the address of the original source of the packet - * @param to the address contains remote IP address and port(IPv4:PORT) - * @param data pointer to the received packet - * Contain the protocol and applications should follow it to parse the data. - * @param timeout_ms wait time if a packet isn't immediately available(0:no wait, portMAX_DELAY:wait forever) - * @param flag - * MESH_DATA_TODS represents data to external IP network - * @param opt options desired to receive - * @param opt_count option count desired to receive + * Using esp_mesh_set_xon_qsize() users may configure the RX queue size, default:32. If this size is too large, + * and esp_mesh_recv_toDS() isn't called in time, there is a risk that a great deal of memory is occupied + * by the pending packets. If this size is too small, it will impact the efficiency on upstream. How to + * decide this value depends on the specific application scenarios. + * + * @attention This API is only called by the root. + * + * @param[out] from the address of the original source of the packet + * @param[out] to the address contains remote IP address and port (IPv4:PORT) + * @param[out] data pointer to the received packet + * - Contain the protocol and applications should follow it to parse the data. + * @param[in] timeout_ms wait time if a packet isn't immediately available (0:no wait, portMAX_DELAY:wait forever) + * @param[out] flag bitmap for data received + * - MESH_DATA_TODS represents the received data target to external IP network. Root shall forward this data to external IP network via the association with router. + * + * flag could be MESH_DATA_TODS. + * @param[out] opt options desired to receive + * @param[in] opt_count option count desired to receive * * @return * - ESP_OK @@ -685,24 +697,26 @@ esp_err_t esp_mesh_recv_toDS(mesh_addr_t *from, mesh_addr_t *to, int opt_count); /** - * @brief set mesh stack configuration - * Use MESH_INIT_CONFIG_DEFAULT() to initialize the default values, mesh vendor IE is encrypted by default. - * mesh network is established on a fixed channel(1-14). - * mesh event callback is mandatory. - * mesh ID is an identifier of an MBSS. Nodes with the same mesh ID can communicate with each other. - * Regarding to the router configuration, if the router is hidden, BSSID field is mandatory. - * If BSSID field isn't set and there exists more than one router with same SSID, there is a risk that more - * roots than one connected with different BSSID will appear. It means more than one mesh network is established - * with the same mesh ID. - * Root conflict function could eliminate redundant roots connected with the same BSSID, but couldn't handle roots - * connected with different BSSID. Because users might have such requirements of setting up routers with same SSID - * for the future replacement. But in that case, if the above situations happen, please make sure applications - * implement forward functions on root to guarantee devices in different mesh network can communicate with each other. - * max_connection of mesh softAP is limited by the max number of WiFi softAP supported(max:10). + * @brief Set mesh stack configuration + * - Use MESH_INIT_CONFIG_DEFAULT() to initialize the default values, mesh IE is encrypted by default. + * - Mesh network is established on a fixed channel (1-14). + * - Mesh event callback is mandatory. + * - Mesh ID is an identifier of an MBSS. Nodes with the same mesh ID can communicate with each other. + * - Regarding to the router configuration, if the router is hidden, BSSID field is mandatory. * - * @attention This API shall be called between esp_mesh_init() and esp_mesh_start(). + * If BSSID field isn't set and there exists more than one router with same SSID, there is a risk that more + * roots than one connected with different BSSID will appear. It means more than one mesh network is established + * with the same mesh ID. * - * @param config pointer to mesh stack configuration + * Root conflict function could eliminate redundant roots connected with the same BSSID, but couldn't handle roots + * connected with different BSSID. Because users might have such requirements of setting up routers with same SSID + * for the future replacement. But in that case, if the above situations happen, please make sure applications + * implement forward functions on the root to guarantee devices in different mesh network can communicate with each other. + * max_connection of mesh softAP is limited by the max number of Wi-Fi softAP supported (max:10). + * + * @attention This API shall be called between esp_mesh_init() and esp_mesh_start(). + * + * @param[in] config pointer to mesh stack configuration * * @return * - ESP_OK @@ -712,9 +726,9 @@ esp_err_t esp_mesh_recv_toDS(mesh_addr_t *from, mesh_addr_t *to, esp_err_t esp_mesh_set_config(const mesh_cfg_t *config); /** - * @brief get mesh stack configuration + * @brief Get mesh stack configuration * - * @param config pointer to mesh stack configuration + * @param[out] config pointer to mesh stack configuration * * @return * - ESP_OK @@ -723,11 +737,11 @@ esp_err_t esp_mesh_set_config(const mesh_cfg_t *config); esp_err_t esp_mesh_get_config(mesh_cfg_t *config); /** - * @brief set router configuration + * @brief Get router configuration * - * @attention This API shall be called between esp_mesh_init() and esp_mesh_start(). + * @attention This API shall be called between esp_mesh_init() and esp_mesh_start(). * - * @param router pointer to router configuration + * @param[in] router pointer to router configuration * * @return * - ESP_OK @@ -736,9 +750,9 @@ esp_err_t esp_mesh_get_config(mesh_cfg_t *config); esp_err_t esp_mesh_set_router(const mesh_router_t *router); /** - * @brief get router configuration + * @brief Get router configuration * - * @param router pointer to router configuration + * @param[out] router pointer to router configuration * * @return * - ESP_OK @@ -747,11 +761,11 @@ esp_err_t esp_mesh_set_router(const mesh_router_t *router); esp_err_t esp_mesh_get_router(mesh_router_t *router); /** - * @brief set mesh network ID + * @brief Set mesh network ID * - * @attention This API could be called either before esp_mesh_start() or after esp_mesh_start(). + * @attention This API could be called either before esp_mesh_start() or after esp_mesh_start(). * - * @param id pointer to mesh network ID + * @param[in] id pointer to mesh network ID * * @return * - ESP_OK @@ -760,9 +774,9 @@ esp_err_t esp_mesh_get_router(mesh_router_t *router); esp_err_t esp_mesh_set_id(const mesh_addr_t *id); /** - * @brief get mesh network ID + * @brief Get mesh network ID * - * @param id pointer to mesh network ID + * @param[out] id pointer to mesh network ID * * @return * - ESP_OK @@ -771,9 +785,9 @@ esp_err_t esp_mesh_set_id(const mesh_addr_t *id); esp_err_t esp_mesh_get_id(mesh_addr_t *id); /** - * @brief set device type over the mesh network(Unimplemented) + * @brief Designate device type over the mesh network * - * @param type device type + * @param[in] type device type * * @return * - ESP_OK @@ -782,21 +796,22 @@ esp_err_t esp_mesh_get_id(mesh_addr_t *id); esp_err_t esp_mesh_set_type(mesh_type_t type); /** - * @brief get device type over mesh network + * @brief Get device type over mesh network * - * @attention This API shall be called after having received the event MESH_EVENT_PARENT_CONNECTED. + * @attention This API shall be called after having received the event MESH_EVENT_PARENT_CONNECTED. * - * @return mesh type + * @return mesh type * */ mesh_type_t esp_mesh_get_type(void); /** - * @brief set max layer configuration(max:15, default:15) + * @brief Set network max layer value (max:25, default:15) + * - Network max layer limits the max hop count. * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param max_layer max layer value + * @param[in] max_layer max layer value * * @return * - ESP_OK @@ -806,19 +821,19 @@ mesh_type_t esp_mesh_get_type(void); esp_err_t esp_mesh_set_max_layer(int max_layer); /** - * @brief get max layer configuration + * @brief Get max layer value * - * @return max layer value + * @return max layer value */ int esp_mesh_get_max_layer(void); /** - * @brief set mesh softAP password + * @brief Set mesh softAP password * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param pwd pointer to the password - * @param len password length + * @param[in] pwd pointer to the password + * @param[in] len password length * * @return * - ESP_OK @@ -828,11 +843,11 @@ int esp_mesh_get_max_layer(void); esp_err_t esp_mesh_set_ap_password(const uint8_t *pwd, int len); /** - * @brief set mesh softAP authentication mode value + * @brief Set mesh softAP authentication mode * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param authmode authentication mode + * @param[in] authmode authentication mode * * @return * - ESP_OK @@ -842,19 +857,18 @@ esp_err_t esp_mesh_set_ap_password(const uint8_t *pwd, int len); esp_err_t esp_mesh_set_ap_authmode(wifi_auth_mode_t authmode); /** - * @brief get mesh softAP authentication mode - * - * @return authentication mode + * @brief Get mesh softAP authentication mode * + * @return authentication mode */ wifi_auth_mode_t esp_mesh_get_ap_authmode(void); /** - * @brief set mesh softAP max connection value + * @brief Set mesh softAP max connection value * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param connections the number of max connections + * @param[in] connections the number of max connections * * @return * - ESP_OK @@ -863,29 +877,28 @@ wifi_auth_mode_t esp_mesh_get_ap_authmode(void); esp_err_t esp_mesh_set_ap_connections(int connections); /** - * @brief get mesh softAP max connection configuration - * - * @return the number of max connections + * @brief Get mesh softAP max connection configuration * + * @return the number of max connections */ int esp_mesh_get_ap_connections(void); /** - * @brief get current layer value over the mesh network + * @brief Get current layer value over the mesh network * - * @attention This API shall be called after having received the event MESH_EVENT_PARENT_CONNECTED. + * @attention This API shall be called after having received the event MESH_EVENT_PARENT_CONNECTED. * - * @return layer value + * @return layer value * */ int esp_mesh_get_layer(void); /** - * @brief get parent BSSID + * @brief Get the parent BSSID * - * @attention This API shall be called after having received the event MESH_EVENT_PARENT_CONNECTED. + * @attention This API shall be called after having received the event MESH_EVENT_PARENT_CONNECTED. * - * @param bssid pointer to parent BSSID + * @param[out] bssid pointer to parent BSSID * * @return * - ESP_OK @@ -894,22 +907,22 @@ int esp_mesh_get_layer(void); esp_err_t esp_mesh_get_parent_bssid(mesh_addr_t *bssid); /** - * @brief return if the device is root - * - * @return true/false + * @brief Return whether the device is the root node of the network * + * @return true/false */ bool esp_mesh_is_root(void); /** - * @brief enable/disable mesh networking self-organized, self-organized by default - * if self-organized is disabled, users should set a parent for this device via - * esp_mesh_set_parent(); + * @brief Enable/disable mesh networking self-organized, self-organized by default + * - If self-organized is disabled, users shall set a parent for the device via + * esp_mesh_set_parent(); * - * @attention This API could be called either before esp_mesh_start() or after esp_mesh_start(). + * @attention This API could be called either before esp_mesh_start() or after esp_mesh_start(). * - * @param enable enable or disable self-organized networking - * @param select_parent if enable self-organized networking, let the device select a new parent or + * @param[in] enable enable or disable self-organized networking + * @param[in] select_parent + * - If self-organized networking is enabled, let the device search for a new parent or * keep connecting to the previous parent. * * @return @@ -919,35 +932,36 @@ bool esp_mesh_is_root(void); esp_err_t esp_mesh_set_self_organized(bool enable, bool select_parent); /** - * @brief return if mesh networking is self-organized or not - * - * @return true/false + * @brief Return whether enable self-organized networking or not * + * @return true/false */ bool esp_mesh_get_self_organized(void); /** - * @brief root waive itself - * A device is elected to be a root during the networking mostly because it has a strong RSSI with router. - * If such superior conditions change, users could call this API to perform a root switch. + * @brief Cause the root device to give up (waive) its mesh root status + * - A device is elected root primarily based on RSSI from the external router. + * - If external router conditions change, users can call this API to perform a root switch. + * - In this API, users could specify a desired root address to replace itself or specify an attempts value + * to ask current root to initiate a new round of voting. During the voting, a better root candidate would + * be expected to find to replace the current one. + * - If no desired root candidate, the vote will try a specified number of attempts (at least 15). If no better + * root candidate is found, keep the current one. If a better candidate is found, the new better one will + * send a root switch request to the current root, current root will respond with a root switch acknowledgment. + * - After that, the new candidate will connect to the router to be a new root, the previous root will disconnect + * with the router and choose another parent instead. * - * In this API, users could specify a desired root address to replace itself or specify an attempts value - * to ask current root to initiate a new round of voting. During the voting, a better root candidate would - * be expected to find to replace the current one. - * If no desired root candidate, the vote will try a specified attempts(at least 10 times), if no better - * root candidate is found, keep the current one. If a better candidate is found, the new better one will - * send a root switch request to the current root, current root will respond with a root switch acknowledgment. - * After that, the new candidate will connect to the router to be a new root, the previous root will disconnect - * with the router and choose another parent instead. - * So far, root switch is completed with minimal disruption to the whole mesh network. + * Root switch is completed with minimal disruption to the whole mesh network. * - * @attention This API is only called by root. + * @attention This API is only called by the root. * - * @param vote vote configuration - * Specify a desired root address(Unimplemented) - * Attempts should be at least 10 times. - * if "vote" is set NULL, the vote will perform the default 10 times. - * @param reason only accept MESH_VOTE_REASON_ROOT_INITIATED for now + * @param[in] vote vote configuration + * - If this parameter is set NULL, the vote will perform the default 15 times. + * + * - Field percentage threshold is 0.9 by default. + * - Field is_rc_specified shall be false. + * - Field attempts shall be at least 15 times. + * @param[in] reason only accept MESH_VOTE_REASON_ROOT_INITIATED for now * * @return * - ESP_OK @@ -958,13 +972,13 @@ bool esp_mesh_get_self_organized(void); esp_err_t esp_mesh_waive_root(const mesh_vote_t *vote, int reason); /** - * @brief set vote percentage threshold for approval of being a root - * During the networking, only obtaining vote percentage reaches this threshold, - * the device could be a root. + * @brief Set vote percentage threshold for approval of being a root + * - During the networking, only obtaining vote percentage reaches this threshold, + * the device could be a root. * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param percentage vote percentage threshold + * @param[in] percentage vote percentage threshold * * @return * - ESP_OK @@ -973,18 +987,18 @@ esp_err_t esp_mesh_waive_root(const mesh_vote_t *vote, int reason); esp_err_t esp_mesh_set_vote_percentage(float percentage); /** - * @brief get vote percentage threshold for approval of being a root + * @brief Get vote percentage threshold for approval of being a root * - * @return percentage threshold + * @return percentage threshold */ float esp_mesh_get_vote_percentage(void); /** - * @brief set mesh softAP associate expired time - * If mesh softAP hasn't received any data from an associated child within this time, - * mesh softAP will take this child inactive and disassociate it. + * @brief Set mesh softAP associate expired time + * - If mesh softAP hasn't received any data from an associated child within this time, + * mesh softAP will take this child inactive and disassociate it. * - * @param seconds + * @param[in] seconds the expired time * * @return * - ESP_OK @@ -993,34 +1007,34 @@ float esp_mesh_get_vote_percentage(void); esp_err_t esp_mesh_set_ap_assoc_expire(int seconds); /** - * @brief get mesh softAP associate expired time + * @brief Get mesh softAP associate expired time * - * @return seconds + * @return seconds */ int esp_mesh_get_ap_assoc_expire(void); /** - * @brief get total number of devices in current network(including root) + * @brief Get total number of devices in current network (including the root) * - * @attention The returned value might be incorrect when the network is changing. + * @attention The returned value might be incorrect when the network is changing. ** - * @return total number of devices(including root) + * @return total number of devices (including the root) */ int esp_mesh_get_total_node_num(void); /** - * @brief get the number of devices in this device's sub-network(including self) + * @brief Get the number of devices in this device's sub-network (including self) * - * @return the number of devices over this device's sub-network(including self) + * @return the number of devices over this device's sub-network (including self) */ int esp_mesh_get_routing_table_size(void); /** - * @brief get routing table of this device's sub-network(including itself) + * @brief Get routing table of this device's sub-network (including itself) * - * @param mac pointer to routing table - * @param len routing table size(in bytes) - * @param size pointer to the number of devices in routing table(including itself) + * @param[out] mac pointer to routing table + * @param[in] len routing table size(in bytes) + * @param[out] size pointer to the number of devices in routing table (including itself) * * @return * - ESP_OK @@ -1029,11 +1043,11 @@ int esp_mesh_get_routing_table_size(void); esp_err_t esp_mesh_get_routing_table(mesh_addr_t *mac, int len, int *size); /** - * @brief post the toDS state to the mesh stack + * @brief Post the toDS state to the mesh stack * - * @attention This API is only for root. + * @attention This API is only for the root. * - * @param reachable this state represents if root is able to access external IP network + * @param[in] reachable this state represents whether the root is able to access external IP network * * @return * - ESP_OK @@ -1042,9 +1056,9 @@ esp_err_t esp_mesh_get_routing_table(mesh_addr_t *mac, int len, int *size); esp_err_t esp_mesh_post_toDS_state(bool reachable); /** - * @brief return the number of packets pending in the queue waiting to be sent by the mesh stack + * @brief Return the number of packets pending in the queue waiting to be sent by the mesh stack * - * @param pending pointer to the TX pending + * @param[out] pending pointer to the TX pending * * @return * - ESP_OK @@ -1053,9 +1067,9 @@ esp_err_t esp_mesh_post_toDS_state(bool reachable); esp_err_t esp_mesh_get_tx_pending(mesh_tx_pending_t *pending); /** - * @brief return the number of packets available in the queue waiting to be received by applications + * @brief Return the number of packets available in the queue waiting to be received by applications * - * @param pending pointer to the RX pending + * @param[out] pending pointer to the RX pending * * @return * - ESP_OK @@ -1064,21 +1078,21 @@ esp_err_t esp_mesh_get_tx_pending(mesh_tx_pending_t *pending); esp_err_t esp_mesh_get_rx_pending(mesh_rx_pending_t *pending); /** - * @brief return the number of packets could be accepted from the specified address + * @brief Return the number of packets could be accepted from the specified address * - * @param addr self address or an associate children address - * @param xseqno_in sequence number of the last received packet from the specified address + * @param[in] addr self address or an associate children address + * @param[out] xseqno_in sequence number of the last received packet from the specified address * - * @return the number of upQ for a specified address + * @return the number of upQ for a certain address */ int esp_mesh_available_txupQ_num(const mesh_addr_t *addr, uint32_t *xseqno_in); /** - * @brief set queue size + * @brief Set the number of queue * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param qsize default:32(min:16) + * @param[in] qsize default:32 (min:16) * * @return * - ESP_OK @@ -1087,16 +1101,16 @@ int esp_mesh_available_txupQ_num(const mesh_addr_t *addr, uint32_t *xseqno_in); esp_err_t esp_mesh_set_xon_qsize(int qsize); /** - * @brief get queue size + * @brief Get queue size * - * @return qsize + * @return the number of queue */ int esp_mesh_get_xon_qsize(void); /** - * @brief set if allow more than one root existing in one network + * @brief Set whether allow more than one root existing in one network * - * @param allowed allow or not + * @param[in] allowed allow or not * * @return * - ESP_OK @@ -1106,17 +1120,17 @@ int esp_mesh_get_xon_qsize(void); esp_err_t esp_mesh_allow_root_conflicts(bool allowed); /** - * @brief check if allow more than one root to exist in one network + * @brief Check whether allow more than one root to exist in one network * - * @return true/false + * @return true/false */ bool esp_mesh_is_root_conflicts_allowed(void); /** - * @brief set group ID addresses + * @brief Set group ID addresses * - * @param addr pointer to new group ID addresses - * @param num the number of group ID addresses + * @param[in] addr pointer to new group ID addresses + * @param[in] num the number of group ID addresses * * @return * - ESP_OK @@ -1125,10 +1139,10 @@ bool esp_mesh_is_root_conflicts_allowed(void); esp_err_t esp_mesh_set_group_id(const mesh_addr_t *addr, int num); /** - * @brief delete group ID addresses + * @brief Delete group ID addresses * - * @param addr pointer to deleted group ID address - * @param num the number of group ID addresses + * @param[in] addr pointer to deleted group ID address + * @param[in] num the number of group ID addresses * * @return * - ESP_OK @@ -1137,17 +1151,17 @@ esp_err_t esp_mesh_set_group_id(const mesh_addr_t *addr, int num); esp_err_t esp_mesh_delete_group_id(const mesh_addr_t *addr, int num); /** - * @brief get the number of group ID addresses + * @brief Get the number of group ID addresses * - * @return the number of group ID addresses + * @return the number of group ID addresses */ int esp_mesh_get_group_num(void); /** - * @brief get group ID addresses + * @brief Get group ID addresses * - * @param addr pointer to group ID addresses - * @param num the number of group ID addresses + * @param[out] addr pointer to group ID addresses + * @param[in] num the number of group ID addresses * * @return * - ESP_OK @@ -1156,18 +1170,18 @@ int esp_mesh_get_group_num(void); esp_err_t esp_mesh_get_group_list(mesh_addr_t *addr, int num); /** - * @brief check if the specified group address is my group + * @brief Check whether the specified group address is my group * - * @return true/false + * @return true/false */ bool esp_mesh_is_my_group(const mesh_addr_t *addr); /** - * @brief set mesh network capacity + * @brief Set mesh network capacity * - * @attention This API shall be called before esp_mesh_start(). + * @attention This API shall be called before esp_mesh_start(). * - * @param num mesh network capacity + * @param[in] num mesh network capacity * * @return * - ESP_OK @@ -1177,16 +1191,16 @@ bool esp_mesh_is_my_group(const mesh_addr_t *addr); esp_err_t esp_mesh_set_capacity_num(int num); /** - * @brief get mesh network capacity + * @brief Get mesh network capacity * - * @return mesh network capacity + * @return mesh network capacity */ int esp_mesh_get_capacity_num(void); /** - * @brief set mesh ie crypto functions + * @brief Set mesh IE crypto functions * - * @param crypto_funcs crypto functions for mesh ie + * @param[in] crypto_funcs crypto functions for mesh IE * * @return * - ESP_OK @@ -1194,12 +1208,12 @@ int esp_mesh_get_capacity_num(void); esp_err_t esp_mesh_set_ie_crypto_funcs(const mesh_crypto_funcs_t *crypto_funcs); /** - * @brief set mesh ie crypto key + * @brief Set mesh IE crypto key * - * @attention This API shall be called after esp_mesh_set_config() and before esp_mesh_start(). + * @attention This API shall be called after esp_mesh_set_config() and before esp_mesh_start(). * - * @param key ASCII crypto key - * @param len length in bytes, range:8~64 + * @param[in] key ASCII crypto key + * @param[in] len length in bytes, range:8~64 * * @return * - ESP_OK @@ -1210,10 +1224,10 @@ esp_err_t esp_mesh_set_ie_crypto_funcs(const mesh_crypto_funcs_t *crypto_funcs); esp_err_t esp_mesh_set_ie_crypto_key(const char *key, int len); /** - * @brief get mesh ie crypto key + * @brief Get mesh IE crypto key * - * @param key ASCII crypto key - * @param len length in bytes, range:8~64 + * @param[out] key ASCII crypto key + * @param[in] len length in bytes, range:8~64 * * @return * - ESP_OK @@ -1222,9 +1236,9 @@ esp_err_t esp_mesh_set_ie_crypto_key(const char *key, int len); esp_err_t esp_mesh_get_ie_crypto_key(char *key, int len); /** - * @brief set delay time before starting root healing + * @brief Set delay time before network starts root healing * - * @param delay_ms delay time in milliseconds + * @param[in] delay_ms delay time in milliseconds * * @return * - ESP_OK @@ -1232,16 +1246,16 @@ esp_err_t esp_mesh_get_ie_crypto_key(char *key, int len); esp_err_t esp_mesh_set_root_healing_delay(int delay_ms); /** - * @brief get delay time before starting root healing + * @brief Get delay time before network starts root healing * - * @return delay time in milliseconds + * @return delay time in milliseconds */ int esp_mesh_get_root_healing_delay(void); /** - * @brief set mesh event callback + * @brief Set mesh event callback * - * @param event_cb mesh event call back + * @param[in] event_cb mesh event call back * * @return * - ESP_OK @@ -1249,11 +1263,12 @@ int esp_mesh_get_root_healing_delay(void); esp_err_t esp_mesh_set_event_cb(const mesh_event_cb_t event_cb); /** - * @brief set Fixed Root setting for the device - * If Fixed Root setting of the device is enabled, it won't compete to be a root. - * If a scenario needs a fixed root, all devices in this network shall enable this setting. + * @brief Enable network Fixed Root Setting + * - Enabling fixed root disables automatic election of the root node via voting. + * - All devices in the network shall use the same Fixed Root Setting (enabled or disabled). + * - If Fixed Root is enabled, users should make sure a root node is designated for the network. * - * @param enable enable or not + * @param[in] enable enable or not * * @return * - ESP_OK @@ -1261,21 +1276,21 @@ esp_err_t esp_mesh_set_event_cb(const mesh_event_cb_t event_cb); esp_err_t esp_mesh_fix_root(bool enable); /** - * @brief check if Fixed Root setting is enabled - * Fixed Root setting can be changed by API esp_mesh_fix_root(). - * Fixed Root setting can also be changed by event MESH_EVENT_ROOT_FIXED. + * @brief Check whether network Fixed Root Setting is enabled + * - Enable/disable network Fixed Root Setting by API esp_mesh_fix_root(). + * - Network Fixed Root Setting also changes with the "flag" value in parent networking IE. * - * @return true/false + * @return true/false */ bool esp_mesh_is_root_fixed(void); /** - * @brief set a specified parent + * @brief Specify a parent for the device * - * @param parent parent configuration, the ssid and the channel of the parent are mandatory. - * @param parent_mesh_id parent mesh ID, if not set, use the device default one. - * @param my_type my mesh type - * @param my_layer my mesh layer + * @param[in] parent parent configuration, the SSID and the channel of the parent are mandatory. + * @param[in] parent_mesh_id parent mesh ID, if not set, use the device default one. + * @param[in] my_type my mesh type + * @param[in] my_layer my mesh layer * * @return * - ESP_OK @@ -1285,9 +1300,9 @@ bool esp_mesh_is_root_fixed(void); esp_err_t esp_mesh_set_parent(const wifi_config_t *parent, const mesh_addr_t *parent_mesh_id, mesh_type_t my_type, int my_layer); /** - * @brief get mesh networking IE length of one AP + * @brief Get mesh networking IE length of one AP * - * @param len mesh networking IE length + * @param[out] len mesh networking IE length * * @return * - ESP_OK @@ -1298,11 +1313,13 @@ esp_err_t esp_mesh_set_parent(const wifi_config_t *parent, const mesh_addr_t *pa esp_err_t esp_mesh_scan_get_ap_ie_len(int *len); /** - * @brief get AP record - * Different from esp_wifi_scan_get_ap_records(), this API only gets one of scanned APs each time. + * @brief Get AP record * - * @param ap_record pointer to the AP record - * @param buffer pointer to the mesh networking IE of this AP + * @attention Different from esp_wifi_scan_get_ap_records(), this API only gets one of APs scanned each time. + * See "manual_networking" example. + * + * @param[out] ap_record pointer to one AP record + * @param[out] buffer pointer to the mesh networking IE of this AP * * @return * - ESP_OK @@ -1312,6 +1329,41 @@ esp_err_t esp_mesh_scan_get_ap_ie_len(int *len); */ esp_err_t esp_mesh_scan_get_ap_record(wifi_ap_record_t *ap_record, void *buffer); +/** + * @brief flush upstream packets pending in to_parent queue and to_parent_p2p queue + * + * @return + * - ESP_OK + */ +esp_err_t esp_mesh_flush_upstream_packets(void); + +/** + * @brief get the number of nodes in the subnet of a specific child + * + * @param child_mac an associated child address of this device + * @param nodes_num pointer to the number of nodes in the subnet of a specific child + * + * @return + * - ESP_OK + * - ESP_ERR_MESH_NOT_START + * - ESP_ERR_MESH_ARGUMENT + */ +esp_err_t esp_mesh_get_subnet_nodes_num(const mesh_addr_t *child_mac, int *nodes_num); + +/** + * @brief get nodes in the subnet of a specific child + * + * @param child_mac an associated child address of this device + * @param nodes pointer to nodes in the subnet of a specific child + * @param nodes_num the number of nodes in the subnet of a specific child + * + * @return + * - ESP_OK + * - ESP_ERR_MESH_NOT_START + * - ESP_ERR_MESH_ARGUMENT + */ +esp_err_t esp_mesh_get_subnet_nodes_list(const mesh_addr_t *child_mac, mesh_addr_t *nodes, int nodes_num); + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/esp32/esp_mesh_internal.h b/tools/sdk/include/esp32/esp_mesh_internal.h index da349297..e1dbf7f7 100644 --- a/tools/sdk/include/esp32/esp_mesh_internal.h +++ b/tools/sdk/include/esp32/esp_mesh_internal.h @@ -34,23 +34,30 @@ extern "C" { *******************************************************/ typedef struct { int scan; /**< minimum scan times before being a root, default:10 */ - int vote; /**< max vote times in self-healing, default:10000 */ + int vote; /**< max vote times in self-healing, default:1000 */ int fail; /**< parent selection fail times, if the scan times reach this value, - will disconnect with associated children and join self-healing. default:60 */ - int monitor_ie; /**< acceptable times of parent ie change before update self ie, default:3 */ + device will disconnect with associated children and join self-healing. default:60 */ + int monitor_ie; /**< acceptable times of parent networking IE change before update its own networking IE. default:3 */ } mesh_attempts_t; typedef struct { int duration_ms; /* parent weak RSSI monitor duration, if the RSSI continues to be weak during this duration_ms, - will switch to a better parent */ - int cnx_rssi; /* RSSI threshold for keeping a good connection with parent */ - int select_rssi; /* RSSI threshold for parent selection, should be a value greater than switch_rssi */ - int switch_rssi; /* RSSI threshold for action to reselect a better parent */ + device will search for a new parent. */ + int cnx_rssi; /* RSSI threshold for keeping a good connection with parent. + If set a value greater than -120 dBm, a timer will be armed to monitor parent RSSI at a period time of duration_ms. */ + int select_rssi; /* RSSI threshold for parent selection. It should be a value greater than switch_rssi. */ + int switch_rssi; /* Disassociate with current parent and switch to a new parent when the RSSI is greater than this set threshold. */ int backoff_rssi; /* RSSI threshold for connecting to the root */ } mesh_switch_parent_t; +typedef struct { + int high; + int medium; + int low; +} mesh_rssi_threshold_t; + /** - * @brief mesh networking IE + * @brief Mesh networking IE */ typedef struct { /**< mesh networking IE head */ @@ -58,8 +65,8 @@ typedef struct { uint8_t len; /**< element length */ uint8_t oui[3]; /**< organization identifier */ /**< mesh networking IE content */ - uint8_t type; /** mesh networking IE type */ - uint8_t encryped : 1; /**< if mesh networking IE is encrypted */ + uint8_t type; /** ESP defined IE type */ + uint8_t encryped : 1; /**< whether mesh networking IE is encrypted */ uint8_t version : 7; /**< mesh networking IE version */ /**< content */ uint8_t mesh_type; /**< mesh device type */ @@ -73,14 +80,14 @@ typedef struct { uint16_t root_cap; /**< root capacity */ uint16_t self_cap; /**< self capacity */ uint16_t layer2_cap; /**< layer2 capacity */ - uint16_t scan_ap_num; /**< the number of scanned APs */ - int8_t rssi; /**< rssi of the parent */ - int8_t router_rssi; /**< rssi of the router */ + uint16_t scan_ap_num; /**< the number of scanning APs */ + int8_t rssi; /**< RSSI of the parent */ + int8_t router_rssi; /**< RSSI of the router */ uint8_t flag; /**< flag of networking */ uint8_t rc_addr[6]; /**< root address */ - int8_t rc_rssi; /**< root rssi */ + int8_t rc_rssi; /**< root RSSI */ uint8_t vote_addr[6]; /**< voter address */ - int8_t vote_rssi; /**< vote rssi of the router */ + int8_t vote_rssi; /**< vote RSSI of the router */ uint8_t vote_ttl; /**< vote ttl */ uint16_t votes; /**< votes */ uint16_t my_votes; /**< my votes */ @@ -93,9 +100,9 @@ typedef struct { * Function Definitions *******************************************************/ /** - * @brief set mesh softAP beacon interval + * @brief Set mesh softAP beacon interval * - * @param interval beacon interval(ms) (100ms ~ 60000ms) + * @param[in] interval beacon interval (msecs) (100 msecs ~ 60000 msecs) * * @return * - ESP_OK @@ -105,9 +112,9 @@ typedef struct { esp_err_t esp_mesh_set_beacon_interval(int interval_ms); /** - * @brief get mesh softAP beacon interval + * @brief Get mesh softAP beacon interval * - * @param interval beacon interval(ms) + * @param[out] interval beacon interval (msecs) * * @return * - ESP_OK @@ -115,9 +122,9 @@ esp_err_t esp_mesh_set_beacon_interval(int interval_ms); esp_err_t esp_mesh_get_beacon_interval(int *interval_ms); /** - * @brief set attempts for mesh self-organized networking + * @brief Set attempts for mesh self-organized networking * - * @param attempts + * @param[in] attempts * * @return * - ESP_OK @@ -126,40 +133,77 @@ esp_err_t esp_mesh_get_beacon_interval(int *interval_ms); esp_err_t esp_mesh_set_attempts(mesh_attempts_t *attempts); /** - * @brief get attempts for mesh self-organized networking + * @brief Get attempts for mesh self-organized networking * - * @param attempts + * @param[out] attempts * * @return * - ESP_OK - * - ESP_FAIL + * - ESP_ERR_MESH_ARGUMENT */ esp_err_t esp_mesh_get_attempts(mesh_attempts_t *attempts); /** - * @brief set parameters for parent switch + * @brief Set parameters for parent switch * - * @param paras parameters for parent switch + * @param[in] paras parameters for parent switch * * @return * - ESP_OK - * - ESP_FAIL + * - ESP_ERR_MESH_ARGUMENT */ esp_err_t esp_mesh_set_switch_parent_paras(mesh_switch_parent_t *paras); /** - * @brief get parameters for parent switch + * @brief Get parameters for parent switch * - * @param paras parameters for parent switch + * @param[out] paras parameters for parent switch * * @return * - ESP_OK - * - ESP_FAIL + * - ESP_ERR_MESH_ARGUMENT */ esp_err_t esp_mesh_get_switch_parent_paras(mesh_switch_parent_t *paras); /** - * @brief print the number of txQ waiting + * @brief Set RSSI threshold + * - The default high RSSI threshold value is -78 dBm. + * - The default medium RSSI threshold value is -82 dBm. + * - The default low RSSI threshold value is -85 dBm. + * + * @param[in] threshold RSSI threshold + * + * @return + * - ESP_OK + * - ESP_ERR_MESH_ARGUMENT + */ +esp_err_t esp_mesh_set_rssi_threshold(const mesh_rssi_threshold_t *threshold); + +/** + * @brief Get RSSI threshold + * + * @param[out] threshold RSSI threshold + * + * @return + * - ESP_OK + * - ESP_ERR_MESH_ARGUMENT + */ +esp_err_t esp_mesh_get_rssi_threshold(mesh_rssi_threshold_t *threshold); + +/** + * @brief Enable the minimum rate to 6 Mbps + * + * @attention This API shall be called before Wi-Fi is started. + * + * @param[in] is_6m enable or not + * + * @return + * - ESP_OK + */ +esp_err_t esp_mesh_set_6m_rate(bool is_6m); + +/** + * @brief Print the number of txQ waiting * * @return * - ESP_OK @@ -168,7 +212,7 @@ esp_err_t esp_mesh_get_switch_parent_paras(mesh_switch_parent_t *paras); esp_err_t esp_mesh_print_txQ_waiting(void); /** - * @brief print the number of rxQ waiting + * @brief Print the number of rxQ waiting * * @return * - ESP_OK @@ -177,9 +221,9 @@ esp_err_t esp_mesh_print_txQ_waiting(void); esp_err_t esp_mesh_print_rxQ_waiting(void); /** - * @brief set passive scan time + * @brief Set passive scan time * - * @param interval_ms passive scan time(ms) + * @param[in] interval_ms passive scan time (msecs) * * @return * - ESP_OK @@ -189,12 +233,35 @@ esp_err_t esp_mesh_print_rxQ_waiting(void); esp_err_t esp_mesh_set_passive_scan_time(int time_ms); /** - * @brief get passive scan time + * @brief Get passive scan time * - * @return interval_ms passive scan time(ms) + * @return interval_ms passive scan time (msecs) */ int esp_mesh_get_passive_scan_time(void); +/** + * @brief Set announce interval + * - The default short interval is 500 milliseconds. + * - The default long interval is 3000 milliseconds. + * + * @param[in] short_ms shall be greater than the default value + * @param[in] long_ms shall be greater than the default value + * + * @return + * - ESP_OK + */ +esp_err_t esp_mesh_set_announce_interval(int short_ms, int long_ms); + +/** + * @brief Get announce interval + * + * @param[out] short_ms short interval + * @param[out] long_ms long interval + * + * @return + * - ESP_OK + */ +esp_err_t esp_mesh_get_announce_interval(int *short_ms, int *long_ms); #ifdef __cplusplus } diff --git a/tools/sdk/include/esp32/esp_panic.h b/tools/sdk/include/esp32/esp_panic.h index 4e0630a2..b9e192f0 100644 --- a/tools/sdk/include/esp32/esp_panic.h +++ b/tools/sdk/include/esp32/esp_panic.h @@ -61,12 +61,6 @@ esp_err_t esp_set_watchpoint(int no, void *adr, int size, int flags); */ void esp_clear_watchpoint(int no); - -/** - * @brief Stops panic WDT - */ -void esp_panic_wdt_stop(void); - /** * @brief Checks stack pointer */ diff --git a/tools/sdk/include/esp32/esp_phy_init.h b/tools/sdk/include/esp32/esp_phy_init.h index 7a453bfc..f06375d1 100644 --- a/tools/sdk/include/esp32/esp_phy_init.h +++ b/tools/sdk/include/esp32/esp_phy_init.h @@ -202,6 +202,10 @@ esp_err_t esp_modem_sleep_exit(modem_sleep_module_t module); /** * @brief Register module to make it be able to require to enter/exit modem sleep + * Although the module has no sleep function, as long as the module use RF, + * it must call esp_modem_sleep_regsiter. Otherwise, other modules with sleep + * function will disable RF without checking the module which doesn't call + * esp_modem_sleep_regsiter. */ esp_err_t esp_modem_sleep_register(modem_sleep_module_t module); diff --git a/tools/sdk/include/esp32/esp_sleep.h b/tools/sdk/include/esp32/esp_sleep.h index 8e50c7e2..6ebe79ce 100644 --- a/tools/sdk/include/esp32/esp_sleep.h +++ b/tools/sdk/include/esp32/esp_sleep.h @@ -56,11 +56,14 @@ typedef enum { */ typedef enum { ESP_SLEEP_WAKEUP_UNDEFINED, //!< In case of deep sleep, reset was not caused by exit from deep sleep + ESP_SLEEP_WAKEUP_ALL, //!< Not a wakeup cause, used to disable all wakeup sources with esp_sleep_disable_wakeup_source ESP_SLEEP_WAKEUP_EXT0, //!< Wakeup caused by external signal using RTC_IO ESP_SLEEP_WAKEUP_EXT1, //!< Wakeup caused by external signal using RTC_CNTL ESP_SLEEP_WAKEUP_TIMER, //!< Wakeup caused by timer ESP_SLEEP_WAKEUP_TOUCHPAD, //!< Wakeup caused by touchpad ESP_SLEEP_WAKEUP_ULP, //!< Wakeup caused by ULP program + ESP_SLEEP_WAKEUP_GPIO, //!< Wakeup caused by GPIO (light sleep only) + ESP_SLEEP_WAKEUP_UART, //!< Wakeup caused by UART (light sleep only) } esp_sleep_source_t; /* Leave this type define for compatibility */ @@ -189,6 +192,43 @@ esp_err_t esp_sleep_enable_ext0_wakeup(gpio_num_t gpio_num, int level); */ esp_err_t esp_sleep_enable_ext1_wakeup(uint64_t mask, esp_sleep_ext1_wakeup_mode_t mode); +/** + * @brief Enable wakeup from light sleep using GPIOs + * + * Each GPIO supports wakeup function, which can be triggered on either low level + * or high level. Unlike EXT0 and EXT1 wakeup sources, this method can be used + * both for all IOs: RTC IOs and digital IOs. It can only be used to wakeup from + * light sleep though. + * + * To enable wakeup, first call gpio_wakeup_enable, specifying gpio number and + * wakeup level, for each GPIO which is used for wakeup. + * Then call this function to enable wakeup feature. + * + * @note In revisions 0 and 1 of the ESP32, GPIO wakeup source + * can not be used together with touch or ULP wakeup sources. + * + * @return + * - ESP_OK on success + * - ESP_ERR_INVALID_STATE if wakeup triggers conflict + */ +esp_err_t esp_sleep_enable_gpio_wakeup(); + +/** + * @brief Enable wakeup from light sleep using UART + * + * Use uart_set_wakeup_threshold function to configure UART wakeup threshold. + * + * Wakeup from light sleep takes some time, so not every character sent + * to the UART can be received by the application. + * + * @note ESP32 does not support wakeup from UART2. + * + * @param uart_num UART port to wake up from + * @return + * - ESP_OK on success + * - ESP_ERR_INVALID_ARG if wakeup from given UART is not supported + */ +esp_err_t esp_sleep_enable_uart_wakeup(int uart_num); /** * @brief Get the bit mask of GPIOs which caused wakeup (ext1) @@ -265,9 +305,9 @@ void system_deep_sleep(uint64_t time_in_us) __attribute__((noreturn, deprecated) /** - * @brief Get the source which caused wakeup from sleep + * @brief Get the wakeup source which caused wakeup from sleep * - * @return wakeup cause, or ESP_DEEP_SLEEP_WAKEUP_UNDEFINED if reset happened for reason other than deep sleep wakeup + * @return cause of wake up from last sleep (deep sleep or light sleep) */ esp_sleep_wakeup_cause_t esp_sleep_get_wakeup_cause(); @@ -319,6 +359,12 @@ esp_deep_sleep_wake_stub_fn_t esp_get_deep_sleep_wake_stub(void); */ void esp_default_wake_deep_sleep(void); +/** + * @brief Disable logging from the ROM code after deep sleep. + * + * Using LSB of RTC_STORE4. + */ +void esp_deep_sleep_disable_rom_logging(void); #ifdef __cplusplus } diff --git a/tools/sdk/include/esp32/esp_smartconfig.h b/tools/sdk/include/esp32/esp_smartconfig.h index 916c4c17..34cf8667 100644 --- a/tools/sdk/include/esp32/esp_smartconfig.h +++ b/tools/sdk/include/esp32/esp_smartconfig.h @@ -42,7 +42,7 @@ typedef enum { * * @param status Status of SmartConfig: * - SC_STATUS_GETTING_SSID_PSWD : pdata is a pointer of smartconfig_type_t, means config type. - * - SC_STATUS_LINK : pdata is a pointer of struct station_config. + * - SC_STATUS_LINK : pdata is a pointer to wifi_config_t. * - SC_STATUS_LINK_OVER : pdata is a pointer of phone's IP address(4 bytes) if pdata unequal NULL. * - otherwise : parameter void *pdata is NULL. * @param pdata According to the different status have different values. diff --git a/tools/sdk/include/esp32/esp_spiram.h b/tools/sdk/include/esp32/esp_spiram.h index 9663dcdd..aafd85ce 100644 --- a/tools/sdk/include/esp32/esp_spiram.h +++ b/tools/sdk/include/esp32/esp_spiram.h @@ -18,8 +18,37 @@ #include #include +#include #include "esp_err.h" +typedef enum { + ESP_SPIRAM_VOLT_3V3 = 0, /*!< SPI RAM voltage is 3.3v */ + ESP_SPIRAM_VOLT_1V8 = 1, /*!< SPI RAM voltage is 1.8v */ + ESP_SPIRAM_VOLT_INVALID, /*!< SPI RAM voltage is invalid*/ +} esp_spiram_volt_t; + +typedef enum { + ESP_SPIRAM_SIZE_32MBITS = 0, /*!< SPI RAM size is 32 MBits */ + ESP_SPIRAM_SIZE_64MBITS = 1, /*!< SPI RAM size is 64 MBits */ + ESP_SPIRAM_SIZE_INVALID, /*!< SPI RAM size is invalid */ +} esp_spiram_size_t; + +/** + * @brief get SPI RAM voltage + * @return + * - ESP_SPIRAM_VOLT_INVALID if SPI RAM not enabled or not valid. + * - SPI RAM voltage + */ +esp_spiram_volt_t esp_spiram_get_chip_volt(); + +/** + * @brief get SPI RAM size + * @return + * - ESP_SPIRAM_SIZE_INVALID if SPI RAM not enabled or not valid + * - SPI RAM size + */ +esp_spiram_size_t esp_spiram_get_chip_size(); + /** * @brief Initialize spiram interface/hardware. Normally called from cpu_start.c. * diff --git a/tools/sdk/include/esp32/esp_system.h b/tools/sdk/include/esp32/esp_system.h index 0d57d84d..05214c8f 100644 --- a/tools/sdk/include/esp32/esp_system.h +++ b/tools/sdk/include/esp32/esp_system.h @@ -31,12 +31,32 @@ typedef enum { ESP_MAC_ETH, } esp_mac_type_t; +/** @cond */ #define TWO_UNIVERSAL_MAC_ADDR 2 #define FOUR_UNIVERSAL_MAC_ADDR 4 #define UNIVERSAL_MAC_ADDR_NUM CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS +/** @endcond */ /** - * @attention application don't need to call this function anymore. It do nothing and will + * @brief Reset reasons + */ +typedef enum { + ESP_RST_UNKNOWN, //!< Reset reason can not be determined + ESP_RST_POWERON, //!< Reset due to power-on event + ESP_RST_EXT, //!< Reset by external pin (not applicable for ESP32) + ESP_RST_SW, //!< Software reset via esp_restart + ESP_RST_PANIC, //!< Software reset due to exception/panic + ESP_RST_INT_WDT, //!< Reset (software or hardware) due to interrupt watchdog + ESP_RST_TASK_WDT, //!< Reset due to task watchdog + ESP_RST_WDT, //!< Reset due to other watchdogs + ESP_RST_DEEPSLEEP, //!< Reset after exiting deep sleep mode + ESP_RST_BROWNOUT, //!< Brownout reset (software or hardware) + ESP_RST_SDIO, //!< Reset over SDIO +} esp_reset_reason_t; + +/** @cond */ +/** + * @attention Applications don't need to call this function anymore. It does nothing and will * be removed in future version. */ void system_init(void) __attribute__ ((deprecated)); @@ -48,13 +68,18 @@ void system_init(void) __attribute__ ((deprecated)); * This name will be removed in a future release. */ void system_restore(void) __attribute__ ((deprecated)); +/** @endcond */ +/** + * Shutdown handler type + */ typedef void (*shutdown_handler_t)(void); + /** * @brief Register shutdown handler * - * This function allows you to register a handler that gets invoked before a - * systematic shutdown of the chip. + * This function allows you to register a handler that gets invoked before + * the application is restarted using esp_restart function. */ esp_err_t esp_register_shutdown_handler(shutdown_handler_t handle); @@ -68,17 +93,7 @@ esp_err_t esp_register_shutdown_handler(shutdown_handler_t handle); */ void esp_restart(void) __attribute__ ((noreturn)); -/** - * @brief Internal function to restart PRO and APP CPUs. - * - * @note This function should not be called from FreeRTOS applications. - * Use esp_restart instead. - * - * This is an internal function called by esp_restart. It is called directly - * by the panic handler and brownout detector interrupt. - */ -void esp_restart_noos() __attribute__ ((noreturn)); - +/** @cond */ /** * @brief Restart system. * @@ -86,7 +101,15 @@ void esp_restart_noos() __attribute__ ((noreturn)); * This name will be removed in a future release. */ void system_restart(void) __attribute__ ((deprecated, noreturn)); +/** @endcond */ +/** + * @brief Get reason of last reset + * @return See description of esp_reset_reason_t for explanation of each value. + */ +esp_reset_reason_t esp_reset_reason(void); + +/** @cond */ /** * @brief Get system time, unit: microsecond. * @@ -94,6 +117,7 @@ void system_restart(void) __attribute__ ((deprecated, noreturn)); * This definition will be removed in a future release. */ uint32_t system_get_time(void) __attribute__ ((deprecated)); +/** @endcond */ /** * @brief Get the size of available heap. @@ -105,6 +129,7 @@ uint32_t system_get_time(void) __attribute__ ((deprecated)); */ uint32_t esp_get_free_heap_size(void); +/** @cond */ /** * @brief Get the size of available heap. * @@ -114,6 +139,7 @@ uint32_t esp_get_free_heap_size(void); * @return Available heap size, in bytes. */ uint32_t system_get_free_heap_size(void) __attribute__ ((deprecated)); +/** @endcond */ /** * @brief Get the minimum heap that has ever been available @@ -125,18 +151,31 @@ uint32_t esp_get_minimum_free_heap_size( void ); /** * @brief Get one random 32-bit word from hardware RNG * - * The hardware RNG is fully functional whenever an RF subsystem is running (ie Bluetooth or WiFi is enabled). For secure + * The hardware RNG is fully functional whenever an RF subsystem is running (ie Bluetooth or WiFi is enabled). For * random values, call this function after WiFi or Bluetooth are started. * - * When the app is running without an RF subsystem enabled, it should be considered a PRNG. To help improve this - * situation, the RNG is pre-seeded with entropy while the IDF bootloader is running. However no new entropy is - * available during the window of time between when the bootloader exits and an RF subsystem starts. It may be possible - * to discern a non-random pattern in a very large amount of output captured during this window of time. + * If the RF subsystem is not used by the program, the function bootloader_random_enable() can be called to enable an + * entropy source. bootloader_random_disable() must be called before RF subsystem or I2S peripheral are used. See these functions' + * documentation for more details. + * + * Any time the app is running without an RF subsystem (or bootloader_random) enabled, RNG hardware should be + * considered a PRNG. A very small amount of entropy is available due to pre-seeding while the IDF + * bootloader is running, but this should not be relied upon for any use. * * @return Random value between 0 and UINT32_MAX */ uint32_t esp_random(void); +/** + * @brief Fill a buffer with random bytes from hardware RNG + * + * @note This function has the same restrictions regarding available entropy as esp_random() + * + * @param buf Pointer to buffer to fill with random numbers. + * @param len Length of buffer in bytes + */ +void esp_fill_random(void *buf, size_t len); + /** * @brief Set base MAC address with the MAC address which is stored in BLK3 of EFUSE or * external storage e.g. flash and EEPROM. @@ -187,6 +226,7 @@ esp_err_t esp_efuse_mac_get_custom(uint8_t *mac); */ esp_err_t esp_efuse_mac_get_default(uint8_t *mac); +/** @cond */ /** * @brief Read hardware MAC address from efuse. * @@ -209,6 +249,7 @@ esp_err_t esp_efuse_read_mac(uint8_t *mac) __attribute__ ((deprecated)); * @return ESP_OK on success */ esp_err_t system_efuse_read_mac(uint8_t *mac) __attribute__ ((deprecated)); +/** @endcond */ /** * @brief Read base MAC address and set MAC address of the interface. @@ -240,6 +281,7 @@ esp_err_t esp_read_mac(uint8_t* mac, esp_mac_type_t type); */ esp_err_t esp_derive_local_mac(uint8_t* local_mac, const uint8_t* universal_mac); +/** @cond */ /** * Get SDK version * @@ -248,6 +290,7 @@ esp_err_t esp_derive_local_mac(uint8_t* local_mac, const uint8_t* universal_mac) * @return constant string "master" */ const char* system_get_sdk_version(void) __attribute__ ((deprecated)); +/** @endcond */ /** * Get IDF version @@ -264,13 +307,11 @@ typedef enum { CHIP_ESP32 = 1, //!< ESP32 } esp_chip_model_t; -/** - * Chip feature flags, used in esp_chip_info_t - */ -#define CHIP_FEATURE_EMB_FLASH BIT(0) -#define CHIP_FEATURE_WIFI_BGN BIT(1) -#define CHIP_FEATURE_BLE BIT(4) -#define CHIP_FEATURE_BT BIT(5) +/* Chip feature flags, used in esp_chip_info_t */ +#define CHIP_FEATURE_EMB_FLASH BIT(0) //!< Chip has embedded flash memory +#define CHIP_FEATURE_WIFI_BGN BIT(1) //!< Chip has 2.4GHz WiFi +#define CHIP_FEATURE_BLE BIT(4) //!< Chip has Bluetooth LE +#define CHIP_FEATURE_BT BIT(5) //!< Chip has Bluetooth Classic /** * @brief The structure represents information about the chip diff --git a/tools/sdk/include/esp32/esp_wifi.h b/tools/sdk/include/esp32/esp_wifi.h index d4c11c38..66ccdcdd 100644 --- a/tools/sdk/include/esp32/esp_wifi.h +++ b/tools/sdk/include/esp32/esp_wifi.h @@ -223,7 +223,9 @@ esp_err_t esp_wifi_init(const wifi_init_config_t *config); * * @attention 1. This API should be called if you want to remove WiFi driver from the system * - * @return ESP_OK: succeed + * @return + * - ESP_OK: succeed + * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init */ esp_err_t esp_wifi_deinit(void); @@ -303,7 +305,13 @@ esp_err_t esp_wifi_restore(void); * * @attention 1. This API only impact WIFI_MODE_STA or WIFI_MODE_APSTA mode * @attention 2. If the ESP32 is connected to an AP, call esp_wifi_disconnect to disconnect. - * + * @attention 3. The scanning triggered by esp_wifi_start_scan() will not be effective until connection between ESP32 and the AP is established. + * If ESP32 is scanning and connecting at the same time, ESP32 will abort scanning and return a warning message and error + * number ESP_ERR_WIFI_STATE. + * If you want to do reconnection after ESP32 received disconnect event, remember to add the maximum retry time, otherwise the called + * scan will not work. This is especially true when the AP doesn't exist, and you still try reconnection after ESP32 received disconnect + * event with the reason code WIFI_REASON_NO_AP_FOUND. + * * @return * - ESP_OK: succeed * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init @@ -366,6 +374,7 @@ esp_err_t esp_wifi_deauth_sta(uint16_t aid); * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init * - ESP_ERR_WIFI_NOT_STARTED: WiFi was not started by esp_wifi_start * - ESP_ERR_WIFI_TIMEOUT: blocking scan is timeout + * - ESP_ERR_WIFI_STATE: wifi still connecting when invoke esp_wifi_scan_start * - others: refer to error code in esp_err.h */ esp_err_t esp_wifi_scan_start(const wifi_scan_config_t *config, bool block); diff --git a/tools/sdk/include/esp32/esp_wifi_crypto_types.h b/tools/sdk/include/esp32/esp_wifi_crypto_types.h index 0848f06a..e1e2a51a 100644 --- a/tools/sdk/include/esp32/esp_wifi_crypto_types.h +++ b/tools/sdk/include/esp32/esp_wifi_crypto_types.h @@ -607,7 +607,7 @@ typedef void (*esp_uuid_gen_mac_addr_t)(const unsigned char *mac_addr, unsigned * @brief free the message after finish DH * */ -typedef void * (*esp_dh5_free_t)(void *ctx); +typedef void (*esp_dh5_free_t)(void *ctx); /** * @brief Build WPS IE for (Re)Association Request diff --git a/tools/sdk/include/esp32/esp_wifi_internal.h b/tools/sdk/include/esp32/esp_wifi_internal.h index 7ddfd694..f486b7aa 100644 --- a/tools/sdk/include/esp32/esp_wifi_internal.h +++ b/tools/sdk/include/esp32/esp_wifi_internal.h @@ -127,6 +127,26 @@ esp_err_t esp_wifi_internal_reg_rxcb(wifi_interface_t ifx, wifi_rxcb_t fn); */ esp_err_t esp_wifi_internal_set_sta_ip(void); +/** + * @brief enable or disable transmitting WiFi MAC frame with fixed rate + * + * @attention 1. If fixed rate is enabled, both management and data frame are transmitted with fixed rate + * @attention 2. Make sure that the receiver is able to receive the frame with the fixed rate if you want the frame to be received + * + * @param ifx : wifi interface + * @param en : false - disable, true - enable + * @param rate : PHY rate + * + * @return + * - ERR_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init + * - ESP_ERR_WIFI_NOT_STARTED: WiFi was not started by esp_wifi_start + * - ESP_ERR_WIFI_IF : invalid WiFi interface + * - ESP_ERR_INVALID_ARG : invalid rate + * - ESP_ERR_NOT_SUPPORTED : do not support to set fixed rate if TX AMPDU is enabled + */ +esp_err_t esp_wifi_internal_set_fix_rate(wifi_interface_t ifx, bool en, wifi_phy_rate_t rate); + /** * @brief Check the MD5 values of the OS adapter header files in IDF and WiFi library * @@ -149,6 +169,17 @@ esp_err_t esp_wifi_internal_osi_funcs_md5_check(const char *md5); */ esp_err_t esp_wifi_internal_crypto_funcs_md5_check(const char *md5); +/** + * @brief Check the git commit id of WiFi library + * + * @attention 1. It is used for internal CI WiFi library check + * + * @return + * - ESP_OK : succeed + * - ESP_FAIL : fail + */ +esp_err_t esp_wifi_internal_git_commit_id_check(void); + /** * @brief Allocate a chunk of memory for WiFi driver * diff --git a/tools/sdk/include/esp32/esp_wifi_types.h b/tools/sdk/include/esp32/esp_wifi_types.h index a453c427..2a4d2beb 100644 --- a/tools/sdk/include/esp32/esp_wifi_types.h +++ b/tools/sdk/include/esp32/esp_wifi_types.h @@ -186,6 +186,8 @@ typedef struct { wifi_auth_mode_t authmode; /**< The weakest authmode to accept in the fast scan mode */ }wifi_fast_scan_threshold_t; +typedef wifi_fast_scan_threshold_t wifi_scan_threshold_t; /**< wifi_fast_scan_threshold_t only used in fast scan mode once, now it enabled in all channel scan, the wifi_fast_scan_threshold_t will be remove in version 4.0 */ + typedef enum { WIFI_PS_NONE, /**< No power save */ WIFI_PS_MIN_MODEM, /**< Minimum modem power saving. In this mode, station wakes up to receive beacon every DTIM period */ @@ -226,7 +228,7 @@ typedef struct { uint8_t channel; /**< channel of target AP. Set to 1~13 to scan starting from the specified channel before connecting to AP. If the channel of AP is unknown, set it to 0.*/ uint16_t listen_interval; /**< Listen interval for ESP32 station to receive beacon when WIFI_PS_MAX_MODEM is set. Units: AP beacon intervals. Defaults to 3 if set to 0. */ wifi_sort_method_t sort_method; /**< sort the connect AP in the list by rssi or security mode */ - wifi_fast_scan_threshold_t threshold; /**< When scan_method is set to WIFI_FAST_SCAN, only APs which have an auth mode that is more secure than the selected auth mode and a signal stronger than the minimum RSSI will be used. */ + wifi_scan_threshold_t threshold; /**< When scan_method is set, only APs which have an auth mode that is more secure than the selected auth mode and a signal stronger than the minimum RSSI will be used. */ } wifi_sta_config_t; /** @brief Configuration data for ESP32 AP or STA. @@ -310,7 +312,7 @@ typedef struct { unsigned sig_mode:2; /**< 0: non HT(11bg) packet; 1: HT(11n) packet; 3: VHT(11ac) packet */ unsigned :16; /**< reserve */ unsigned mcs:7; /**< Modulation Coding Scheme. If is HT(11n) packet, shows the modulation, range from 0 to 76(MSC0 ~ MCS76) */ - unsigned cwb:1; /**< if is HT(11n) packet, shows if is HT40 packet or HT20 packet. 1: HT40 packet; 0: HT20 packet */ + unsigned cwb:1; /**< Channel Bandwidth of the packet. 0: 20MHz; 1: 40MHz */ unsigned :16; /**< reserve */ unsigned smoothing:1; /**< reserve */ unsigned not_sounding:1; /**< reserve */ @@ -390,6 +392,8 @@ typedef struct { bool lltf_en; /**< enable to receive legacy long training field(lltf) data. Default enabled */ bool htltf_en; /**< enable to receive HT long training field(htltf) data. Default enabled */ bool stbc_htltf2_en; /**< enable to receive space time block code HT long training field(stbc-htltf2) data. Default enabled */ + bool ltf_merge_en; /**< enable to generate htlft data by averaging lltf and ht_ltf data when receiving HT packet. Otherwise, use ht_ltf data directly. Default enabled */ + bool channel_filter_en; /**< enable to turn on channel filter to smooth adjacent sub-carrier. Disable it to keep independence of adjacent sub-carrier. Default enabled */ bool manu_scale; /**< manually scale the CSI data by left shifting or automatically scale the CSI data. If set true, please set the shift bits. false: automatically. true: manually. Default false */ uint8_t shift; /**< manually left shift bits of the scale of the CSI data. The range of the left shift bits is 0~15 */ } wifi_csi_config_t; @@ -402,7 +406,7 @@ typedef struct { wifi_pkt_rx_ctrl_t rx_ctrl;/**< received packet radio metadata header of the CSI data */ uint8_t mac[6]; /**< source MAC address of the CSI data */ bool last_word_invalid; /**< last four bytes of the CSI data is invalid or not */ - uint8_t *buf; /**< buffer of CSI data */ + int8_t *buf; /**< buffer of CSI data */ uint16_t len; /**< length of CSI data */ } wifi_csi_info_t; @@ -446,6 +450,47 @@ typedef struct { enabled_ant1: 4; /**< Index (in antenna GPIO configuration) of enabled WIFI_ANT_MODE_ANT1 */ } wifi_ant_config_t; +/** + * @brief WiFi PHY rate encodings + * + */ +typedef enum { + WIFI_PHY_RATE_1M_L = 0x00, /**< 1 Mbps with long preamble */ + WIFI_PHY_RATE_2M_L = 0x01, /**< 2 Mbps with long preamble */ + WIFI_PHY_RATE_5M_L = 0x02, /**< 5.5 Mbps with long preamble */ + WIFI_PHY_RATE_11M_L = 0x03, /**< 11 Mbps with long preamble */ + WIFI_PHY_RATE_2M_S = 0x05, /**< 2 Mbps with short preamble */ + WIFI_PHY_RATE_5M_S = 0x06, /**< 5.5 Mbps with short preamble */ + WIFI_PHY_RATE_11M_S = 0x07, /**< 11 Mbps with short preamble */ + WIFI_PHY_RATE_48M = 0x08, /**< 48 Mbps */ + WIFI_PHY_RATE_24M = 0x09, /**< 24 Mbps */ + WIFI_PHY_RATE_12M = 0x0A, /**< 12 Mbps */ + WIFI_PHY_RATE_6M = 0x0B, /**< 6 Mbps */ + WIFI_PHY_RATE_54M = 0x0C, /**< 54 Mbps */ + WIFI_PHY_RATE_36M = 0x0D, /**< 36 Mbps */ + WIFI_PHY_RATE_18M = 0x0E, /**< 18 Mbps */ + WIFI_PHY_RATE_9M = 0x0F, /**< 9 Mbps */ + WIFI_PHY_RATE_MCS0_LGI = 0x10, /**< MCS0 with long GI, 6.5 Mbps for 20MHz, 13.5 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS1_LGI = 0x11, /**< MCS1 with long GI, 13 Mbps for 20MHz, 27 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS2_LGI = 0x12, /**< MCS2 with long GI, 19.5 Mbps for 20MHz, 40.5 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS3_LGI = 0x13, /**< MCS3 with long GI, 26 Mbps for 20MHz, 54 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS4_LGI = 0x14, /**< MCS4 with long GI, 39 Mbps for 20MHz, 81 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS5_LGI = 0x15, /**< MCS5 with long GI, 52 Mbps for 20MHz, 108 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS6_LGI = 0x16, /**< MCS6 with long GI, 58.5 Mbps for 20MHz, 121.5 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS7_LGI = 0x17, /**< MCS7 with long GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS0_SGI = 0x18, /**< MCS0 with short GI, 7.2 Mbps for 20MHz, 15 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS1_SGI = 0x19, /**< MCS1 with short GI, 14.4 Mbps for 20MHz, 30 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS2_SGI = 0x1A, /**< MCS2 with short GI, 21.7 Mbps for 20MHz, 45 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS3_SGI = 0x1B, /**< MCS3 with short GI, 28.9 Mbps for 20MHz, 60 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS4_SGI = 0x1C, /**< MCS4 with short GI, 43.3 Mbps for 20MHz, 90 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS5_SGI = 0x1D, /**< MCS5 with short GI, 57.8 Mbps for 20MHz, 120 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS6_SGI = 0x1E, /**< MCS6 with short GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz */ + WIFI_PHY_RATE_MCS7_SGI = 0x1F, /**< MCS7 with short GI, 72.2 Mbps for 20MHz, 150 Mbps for 40MHz */ + WIFI_PHY_RATE_LORA_250K = 0x29, /**< 250 Kbps */ + WIFI_PHY_RATE_LORA_500K = 0x2A, /**< 500 Kbps */ + WIFI_PHY_RATE_MAX, +} wifi_phy_rate_t; + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/esp32/rom/libc_stubs.h b/tools/sdk/include/esp32/rom/libc_stubs.h index 0c1876e5..90c0b446 100644 --- a/tools/sdk/include/esp32/rom/libc_stubs.h +++ b/tools/sdk/include/esp32/rom/libc_stubs.h @@ -51,7 +51,7 @@ struct syscall_stub_table int (*_rename_r)(struct _reent *r, const char*, const char*); clock_t (*_times_r)(struct _reent *r, struct tms *); int (*_gettimeofday_r) (struct _reent *r, struct timeval *, void *); - void (*_raise_r)(struct _reent *r); + void (*_raise_r)(struct _reent *r); /* function signature is incorrect in ROM */ int (*_unlink_r)(struct _reent *r, const char*); int (*_link_r)(struct _reent *r, const char*, const char*); int (*_stat_r)(struct _reent *r, const char*, struct stat *); diff --git a/tools/sdk/include/esp32/rom/rtc.h b/tools/sdk/include/esp32/rom/rtc.h index 3161fb27..6d9d2977 100644 --- a/tools/sdk/include/esp32/rom/rtc.h +++ b/tools/sdk/include/esp32/rom/rtc.h @@ -55,7 +55,7 @@ extern "C" { * RTC_CNTL_STORE1_REG RTC_SLOW_CLK calibration value * RTC_CNTL_STORE2_REG Boot time, low word * RTC_CNTL_STORE3_REG Boot time, high word - * RTC_CNTL_STORE4_REG External XTAL frequency + * RTC_CNTL_STORE4_REG External XTAL frequency. The frequency must necessarily be even, otherwise there will be a conflict with the low bit, which is used to disable logs in the ROM code. * RTC_CNTL_STORE5_REG APB bus frequency * RTC_CNTL_STORE6_REG FAST_RTC_MEMORY_ENTRY * RTC_CNTL_STORE7_REG FAST_RTC_MEMORY_CRC @@ -68,8 +68,10 @@ extern "C" { #define RTC_XTAL_FREQ_REG RTC_CNTL_STORE4_REG #define RTC_APB_FREQ_REG RTC_CNTL_STORE5_REG #define RTC_ENTRY_ADDR_REG RTC_CNTL_STORE6_REG +#define RTC_RESET_CAUSE_REG RTC_CNTL_STORE6_REG #define RTC_MEMORY_CRC_REG RTC_CNTL_STORE7_REG +#define RTC_DISABLE_ROM_LOG ((1 << 0) | (1 << 16)) //!< Disable logging from the ROM code. typedef enum { AWAKE = 0, // + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief HTTPS OTA Firmware upgrade. + * + * This function performs HTTPS OTA Firmware upgrade + * + * @param[in] config pointer to esp_http_client_config_t structure. + * + * @note For secure HTTPS updates, the `cert_pem` member of `config` + * structure must be set to the server certificate. + * + * @return + * - ESP_OK: OTA data updated, next reboot will use specified partition. + * - ESP_FAIL: For generic failure. + * - ESP_ERR_OTA_VALIDATE_FAILED: Invalid app image + * - ESP_ERR_NO_MEM: Cannot allocate memory for OTA operation. + * - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed. + * - For other return codes, refer OTA documentation in esp-idf's app_update component. + */ +esp_err_t esp_https_ota(const esp_http_client_config_t *config); + +#ifdef __cplusplus +} +#endif diff --git a/tools/sdk/include/ethernet/esp_eth.h b/tools/sdk/include/ethernet/esp_eth.h index f4622d0e..0d39b8ef 100644 --- a/tools/sdk/include/ethernet/esp_eth.h +++ b/tools/sdk/include/ethernet/esp_eth.h @@ -29,10 +29,9 @@ typedef enum { } eth_mode_t; typedef enum { - ETH_CLOCK_GPIO0_IN = 0, - ETH_CLOCK_GPIO0_OUT = 1, + ETH_CLOCK_GPIO0_IN = 0, ETH_CLOCK_GPIO16_OUT = 2, - ETH_CLOCK_GPIO17_OUT = 3 + ETH_CLOCK_GPIO17_OUT = 3, } eth_clock_mode_t; typedef enum { @@ -125,6 +124,16 @@ typedef struct { */ esp_err_t esp_eth_init(eth_config_t *config); +/** + * @brief Deinit ethernet mac + * + * @return + * - ESP_OK + * - ESP_FAIL + * - ESP_ERR_INVALID_STATE + */ +esp_err_t esp_eth_deinit(void); + /** * @brief Init Ethernet mac driver only * @@ -236,7 +245,8 @@ esp_err_t esp_eth_smi_wait_value(uint32_t reg_num, uint16_t value, uint16_t valu * * @return ESP_OK if desired value matches, ESP_ERR_TIMEOUT if timed out. */ -static inline esp_err_t esp_eth_smi_wait_set(uint32_t reg_num, uint16_t value_mask, int timeout_ms) { +static inline esp_err_t esp_eth_smi_wait_set(uint32_t reg_num, uint16_t value_mask, int timeout_ms) +{ return esp_eth_smi_wait_value(reg_num, value_mask, value_mask, timeout_ms); } @@ -250,14 +260,6 @@ static inline esp_err_t esp_eth_smi_wait_set(uint32_t reg_num, uint16_t value_ma */ void esp_eth_free_rx_buf(void *buf); -/** - * @brief Get mac of ethernet interface. - * - * @param[out] mac: store mac of the interface. - * - */ -void esp_eth_get_mac(uint8_t mac[6]); - /** * @brief Set mac of ethernet interface. * @@ -265,7 +267,7 @@ void esp_eth_get_mac(uint8_t mac[6]); * * @param[in] mac: the Mac address. * - * @return + * @return * - ESP_OK: succeed * - ESP_ERR_INVALID_MAC: invalid mac address */ diff --git a/tools/sdk/include/expat/.gitignore b/tools/sdk/include/expat/.gitignore new file mode 100644 index 00000000..9c9cf881 --- /dev/null +++ b/tools/sdk/include/expat/.gitignore @@ -0,0 +1,18 @@ +Makefile +.libs +*.lo +expat.h +Debug +Debug-w +Release +Release-w +expat.ncb +expat.opt +expat.plg +Debug_static +Debug-w_static +Release_static +Release-w_static +expat_static.plg +expatw.plg +expatw_static.plg diff --git a/tools/sdk/include/expat/Makefile.am b/tools/sdk/include/expat/Makefile.am new file mode 100644 index 00000000..d655a29f --- /dev/null +++ b/tools/sdk/include/expat/Makefile.am @@ -0,0 +1,77 @@ +# +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2017 Expat development team +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. + +include_HEADERS = \ + ../expat_config.h \ + expat.h \ + expat_external.h + +lib_LTLIBRARIES = libexpat.la + +libexpat_la_LDFLAGS = \ + -no-undefined \ + -version-info @LIBCURRENT@:@LIBREVISION@:@LIBAGE@ \ + -rpath $(libdir) + +libexpat_la_SOURCES = \ + loadlibrary.c \ + xmlparse.c \ + xmltok.c \ + xmlrole.c + +doc_DATA = \ + ../AUTHORS \ + ../Changes + +install-data-hook: + cd "$(DESTDIR)$(docdir)" && $(am__mv) Changes changelog + +uninstall-local: + $(RM) "$(DESTDIR)$(docdir)/changelog" + +EXTRA_DIST = \ + ascii.h \ + asciitab.h \ + expat_external.h \ + expat.h \ + iasciitab.h \ + internal.h \ + latin1tab.h \ + libexpat.def \ + libexpatw.def \ + nametab.h \ + siphash.h \ + utf8tab.h \ + winconfig.h \ + xmlrole.h \ + xmltok.h \ + xmltok_impl.c \ + xmltok_impl.h \ + xmltok_ns.c diff --git a/tools/sdk/include/expat/ascii.h b/tools/sdk/include/expat/ascii.h index d10530b0..c3587e57 100644 --- a/tools/sdk/include/expat/ascii.h +++ b/tools/sdk/include/expat/ascii.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ #define ASCII_A 0x41 diff --git a/tools/sdk/include/expat/asciitab.h b/tools/sdk/include/expat/asciitab.h index 79a15c28..2f59fd92 100644 --- a/tools/sdk/include/expat/asciitab.h +++ b/tools/sdk/include/expat/asciitab.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, diff --git a/tools/sdk/include/expat/chardata.h b/tools/sdk/include/expat/chardata.h deleted file mode 100644 index e8dc4ce2..00000000 --- a/tools/sdk/include/expat/chardata.h +++ /dev/null @@ -1,40 +0,0 @@ -/* chardata.h - - Interface to some helper routines used to accumulate and check text - and attribute content. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef XML_CHARDATA_H -#define XML_CHARDATA_H 1 - -#ifndef XML_VERSION -#include "expat.h" /* need XML_Char */ -#endif - - -typedef struct { - int count; /* # of chars, < 0 if not set */ - XML_Char data[1024]; -} CharData; - - -void CharData_Init(CharData *storage); - -void CharData_AppendString(CharData *storage, const char *s); - -void CharData_AppendXMLChars(CharData *storage, const XML_Char *s, int len); - -int CharData_CheckString(CharData *storage, const char *s); - -int CharData_CheckXMLChars(CharData *storage, const XML_Char *s); - - -#endif /* XML_CHARDATA_H */ - -#ifdef __cplusplus -} -#endif diff --git a/tools/sdk/include/expat/expat.h b/tools/sdk/include/expat/expat.h index 086e24b3..1f608c02 100644 --- a/tools/sdk/include/expat/expat.h +++ b/tools/sdk/include/expat/expat.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef Expat_INCLUDED @@ -24,7 +52,6 @@ extern "C" { struct XML_ParserStruct; typedef struct XML_ParserStruct *XML_Parser; -/* Should this be defined using stdbool.h when C99 is available? */ typedef unsigned char XML_Bool; #define XML_TRUE ((XML_Bool) 1) #define XML_FALSE ((XML_Bool) 0) @@ -95,7 +122,9 @@ enum XML_Error { /* Added in 2.0. */ XML_ERROR_RESERVED_PREFIX_XML, XML_ERROR_RESERVED_PREFIX_XMLNS, - XML_ERROR_RESERVED_NAMESPACE_URI + XML_ERROR_RESERVED_NAMESPACE_URI, + /* Added in 2.2.1. */ + XML_ERROR_INVALID_ARGUMENT }; enum XML_Content_Type { @@ -706,6 +735,7 @@ XML_UseParserAsHandlerArg(XML_Parser parser); be called, despite an external subset being parsed. Note: If XML_DTD is not defined when Expat is compiled, returns XML_ERROR_FEATURE_REQUIRES_XML_DTD. + Note: If parser == NULL, returns XML_ERROR_INVALID_ARGUMENT. */ XMLPARSEAPI(enum XML_Error) XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD); @@ -729,15 +759,16 @@ XML_GetBase(XML_Parser parser); to the XML_StartElementHandler that were specified in the start-tag rather than defaulted. Each attribute/value pair counts as 2; thus this correspondds to an index into the atts array passed to the - XML_StartElementHandler. + XML_StartElementHandler. Returns -1 if parser == NULL. */ XMLPARSEAPI(int) XML_GetSpecifiedAttributeCount(XML_Parser parser); /* Returns the index of the ID attribute passed in the last call to - XML_StartElementHandler, or -1 if there is no ID attribute. Each - attribute/value pair counts as 2; thus this correspondds to an - index into the atts array passed to the XML_StartElementHandler. + XML_StartElementHandler, or -1 if there is no ID attribute or + parser == NULL. Each attribute/value pair counts as 2; thus this + correspondds to an index into the atts array passed to the + XML_StartElementHandler. */ XMLPARSEAPI(int) XML_GetIdAttributeIndex(XML_Parser parser); @@ -901,6 +932,7 @@ enum XML_ParamEntityParsing { entities is requested; otherwise it will return non-zero. Note: If XML_SetParamEntityParsing is called after XML_Parse or XML_ParseBuffer, then it has no effect and will always return 0. + Note: If parser == NULL, the function will do nothing and return 0. */ XMLPARSEAPI(int) XML_SetParamEntityParsing(XML_Parser parser, @@ -910,6 +942,7 @@ XML_SetParamEntityParsing(XML_Parser parser, Helps in preventing DoS attacks based on predicting hash function behavior. This must be called before parsing is started. Returns 1 if successful, 0 when called after parsing has started. + Note: If parser == NULL, the function will do nothing and return 0. */ XMLPARSEAPI(int) XML_SetHashSalt(XML_Parser parser, @@ -936,6 +969,10 @@ XML_GetErrorCode(XML_Parser parser); the location is the location of the character at which the error was detected; otherwise the location is the location of the last parse event, as described above. + + Note: XML_GetCurrentLineNumber and XML_GetCurrentColumnNumber + return 0 to indicate an error. + Note: XML_GetCurrentByteIndex returns -1 to indicate an error. */ XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser); XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser); @@ -1039,7 +1076,7 @@ XML_GetFeatureList(void); */ #define XML_MAJOR_VERSION 2 #define XML_MINOR_VERSION 2 -#define XML_MICRO_VERSION 0 +#define XML_MICRO_VERSION 5 #ifdef __cplusplus } diff --git a/tools/sdk/include/expat/expat.vcxproj b/tools/sdk/include/expat/expat.vcxproj new file mode 100644 index 00000000..66d646e7 --- /dev/null +++ b/tools/sdk/include/expat/expat.vcxproj @@ -0,0 +1,179 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Template + Win32 + + + + + + {45A5074D-66E8-44A4-A03F-018027B528D6} + 10.0.16299.0 + + + + Application + v141 + + + DynamicLibrary + v141 + false + MultiByte + + + DynamicLibrary + v141 + false + MultiByte + + + + + + + + + + + + + + + + + + .\..\win32\bin\Debug\ + .\..\win32\tmp\Debug\ + true + + + .\..\win32\bin\Release\ + .\..\win32\tmp\Release\ + false + + + + MultiThreadedDebug + Default + true + Disabled + true + Level3 + EditAndContinue + _DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + .\..\win32\tmp\Debug\ + true + .\..\win32\tmp\Debug\expat.pch + .\..\win32\tmp\Debug\ + .\..\win32\tmp\Debug\ + EnableFastChecks + + + true + _DEBUG;%(PreprocessorDefinitions) + .\..\win32\bin\Debug\expat.tlb + true + Win32 + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Debug\expat.bsc + + + true + true + true + Console + ..\win32\bin\Debug\libexpat.dll + .\..\win32\bin\Debug\libexpat.lib + .\libexpat.def + + + + + MultiThreaded + Default + true + true + MaxSpeed + true + Level3 + NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + .\..\win32\tmp\Release\ + .\..\win32\tmp\Release\expat.pch + + .\..\win32\tmp\Release\ + .\..\win32\tmp\Release\ + + + true + NDEBUG;%(PreprocessorDefinitions) + .\..\win32\bin\Release\expat.tlb + true + Win32 + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Release\expat.bsc + + + true + true + Console + ..\win32\bin\Release\libexpat.dll + .\..\win32\bin\Release\libexpat.lib + .\libexpat.def + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expat.vcxproj.filters b/tools/sdk/include/expat/expat.vcxproj.filters new file mode 100644 index 00000000..61c52b58 --- /dev/null +++ b/tools/sdk/include/expat/expat.vcxproj.filters @@ -0,0 +1,83 @@ + + + + + {f01bb743-0ef8-4601-bc44-378fc0abe768} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {c22177dc-5748-4bb1-816e-df311093bf72} + h;hpp;hxx;hm;inl + + + {41146e15-3129-4e5e-bb0f-6b78bb4701b9} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expat_config.h b/tools/sdk/include/expat/expat_config.h index 207d1a77..b6b927a1 100644 --- a/tools/sdk/include/expat/expat_config.h +++ b/tools/sdk/include/expat/expat_config.h @@ -3,7 +3,6 @@ /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */ #define BYTEORDER 1234 - /* Define to 1 if you have the `bcopy' function. */ #define HAVE_BCOPY 1 @@ -15,7 +14,6 @@ /* Define to 1 if you have the `getpagesize' function. */ #define HAVE_GETPAGESIZE 1 - /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 @@ -52,10 +50,12 @@ /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #define LT_OBJDIR ".libs/" +/* Name of package */ +#define PACKAGE "expat" + /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org" @@ -63,7 +63,7 @@ #define PACKAGE_NAME "expat" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "expat 2.2.0" +#define PACKAGE_STRING "expat 2.2.5" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "expat" @@ -72,11 +72,14 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.2.0" +#define PACKAGE_VERSION "2.2.5" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 +/* Version number of package */ +#define VERSION "2.2.5" + /* whether byteorder is bigendian */ /* #undef WORDS_BIGENDIAN */ @@ -90,9 +93,6 @@ /* Define to make XML Namespaces functionality available. */ #define XML_NS 1 -/* Define to __FUNCTION__ or "" if `__func__' does not conform to ANSI C. */ -/* #undef __func__ */ - /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ diff --git a/tools/sdk/include/expat/expat_external.h b/tools/sdk/include/expat/expat_external.h index aa08a2f8..629483a9 100644 --- a/tools/sdk/include/expat/expat_external.h +++ b/tools/sdk/include/expat/expat_external.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef Expat_External_INCLUDED @@ -8,7 +36,7 @@ /* External API definitions */ #if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) -#define XML_USE_MSC_EXTENSIONS 1 +# define XML_USE_MSC_EXTENSIONS 1 #endif /* Expat tries very hard to make the API boundary very specifically @@ -34,11 +62,11 @@ system headers may assume the cdecl convention. */ #ifndef XMLCALL -#if defined(_MSC_VER) -#define XMLCALL __cdecl -#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) -#define XMLCALL __attribute__((cdecl)) -#else +# if defined(_MSC_VER) +# define XMLCALL __cdecl +# elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) +# define XMLCALL __attribute__((cdecl)) +# else /* For any platform which uses this definition and supports more than one calling convention, we need to extend this definition to declare the convention used on that platform, if it's possible to @@ -49,41 +77,41 @@ pre-processor and how to specify the same calling convention as the platform's malloc() implementation. */ -#define XMLCALL -#endif +# define XMLCALL +# endif #endif /* not defined XMLCALL */ #if !defined(XML_STATIC) && !defined(XMLIMPORT) -#ifndef XML_BUILDING_EXPAT +# ifndef XML_BUILDING_EXPAT /* using Expat from an application */ -#ifdef XML_USE_MSC_EXTENSIONS -#define XMLIMPORT __declspec(dllimport) -#endif +# ifdef XML_USE_MSC_EXTENSIONS +# define XMLIMPORT __declspec(dllimport) +# endif -#endif +# endif #endif /* not defined XML_STATIC */ #if !defined(XMLIMPORT) && defined(__GNUC__) && (__GNUC__ >= 4) -#define XMLIMPORT __attribute__ ((visibility ("default"))) +# define XMLIMPORT __attribute__ ((visibility ("default"))) #endif /* If we didn't define it above, define it away: */ #ifndef XMLIMPORT -#define XMLIMPORT +# define XMLIMPORT #endif #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) -#define XML_ATTR_MALLOC __attribute__((__malloc__)) +# define XML_ATTR_MALLOC __attribute__((__malloc__)) #else -#define XML_ATTR_MALLOC +# define XML_ATTR_MALLOC #endif #if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) -#define XML_ATTR_ALLOC_SIZE(x) __attribute__((__alloc_size__(x))) +# define XML_ATTR_ALLOC_SIZE(x) __attribute__((__alloc_size__(x))) #else -#define XML_ATTR_ALLOC_SIZE(x) +# define XML_ATTR_ALLOC_SIZE(x) #endif #define XMLPARSEAPI(type) XMLIMPORT type XMLCALL @@ -93,30 +121,35 @@ extern "C" { #endif #ifdef XML_UNICODE_WCHAR_T -#define XML_UNICODE +# ifndef XML_UNICODE +# define XML_UNICODE +# endif +# if defined(__SIZEOF_WCHAR_T__) && (__SIZEOF_WCHAR_T__ != 2) +# error "sizeof(wchar_t) != 2; Need -fshort-wchar for both Expat and libc" +# endif #endif #ifdef XML_UNICODE /* Information is UTF-16 encoded. */ -#ifdef XML_UNICODE_WCHAR_T +# ifdef XML_UNICODE_WCHAR_T typedef wchar_t XML_Char; typedef wchar_t XML_LChar; -#else +# else typedef unsigned short XML_Char; typedef char XML_LChar; -#endif /* XML_UNICODE_WCHAR_T */ +# endif /* XML_UNICODE_WCHAR_T */ #else /* Information is UTF-8 encoded. */ typedef char XML_Char; typedef char XML_LChar; #endif /* XML_UNICODE */ #ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */ -#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 +# if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 typedef __int64 XML_Index; typedef unsigned __int64 XML_Size; -#else +# else typedef long long XML_Index; typedef unsigned long long XML_Size; -#endif +# endif #else typedef long XML_Index; typedef unsigned long XML_Size; diff --git a/tools/sdk/include/expat/expat_static.vcxproj b/tools/sdk/include/expat/expat_static.vcxproj new file mode 100644 index 00000000..b4265e01 --- /dev/null +++ b/tools/sdk/include/expat/expat_static.vcxproj @@ -0,0 +1,149 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Template + Win32 + + + + + + {58A821BC-E4AF-4DF4-9A54-2BAA22B92615} + 10.0.16299.0 + + + + Application + v141 + + + StaticLibrary + v141 + false + MultiByte + + + StaticLibrary + v141 + false + MultiByte + + + + + + + + + + + + + + + + + + .\..\win32\bin\Release\ + .\..\win32\tmp\Release_static\ + false + + + .\..\win32\bin\Debug\ + .\..\win32\tmp\Debug_static\ + true + + + + MultiThreaded + Default + true + true + MaxSpeed + true + Level3 + _WINDOWS;NDEBUG;_LIB;%(PreprocessorDefinitions) + .\..\win32\tmp\Release_static\ + .\..\win32\tmp\Release_static\expat_static.pch + .\..\win32\tmp\Release_static\ + .\..\win32\tmp\Release_static\ + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Release\expat_static.bsc + + + true + ..\win32\bin\Release\libexpatMT.lib + + + + + MultiThreadedDebug + Default + true + Disabled + true + Level3 + EditAndContinue + _DEBUG;_WINDOWS;_LIB;%(PreprocessorDefinitions) + .\..\win32\tmp\Debug_static\ + true + .\..\win32\tmp\Debug_static\expat_static.pch + .\..\win32\tmp\Debug_static\ + .\..\win32\tmp\Debug_static\ + EnableFastChecks + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Debug\expat_static.bsc + + + true + ..\win32\bin\Debug\libexpatMT.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expat_static.vcxproj.filters b/tools/sdk/include/expat/expat_static.vcxproj.filters new file mode 100644 index 00000000..a2fe03e6 --- /dev/null +++ b/tools/sdk/include/expat/expat_static.vcxproj.filters @@ -0,0 +1,74 @@ + + + + + {ef375f25-3490-4376-8deb-a8a8bebc0194} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {f1cd6f85-7111-4c1b-abad-37c79851ca34} + h;hpp;hxx;hm;inl + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expatw.vcxproj b/tools/sdk/include/expat/expatw.vcxproj new file mode 100644 index 00000000..c7083092 --- /dev/null +++ b/tools/sdk/include/expat/expatw.vcxproj @@ -0,0 +1,179 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Template + Win32 + + + + + + {C04F1C11-7079-48AD-A90B-6F59B7A55BEF} + 10.0.16299.0 + + + + Application + v141 + + + DynamicLibrary + v141 + false + MultiByte + + + DynamicLibrary + v141 + false + MultiByte + + + + + + + + + + + + + + + + + + .\..\win32\bin\Release\ + .\..\win32\tmp\Release-w\ + false + + + .\..\win32\bin\Debug\ + .\..\win32\tmp\Debug-w\ + true + + + + MultiThreaded + Default + true + true + MaxSpeed + true + Level3 + NDEBUG;_WINDOWS;_USRDLL;XML_UNICODE_WCHAR_T;%(PreprocessorDefinitions) + .\..\win32\tmp\Release-w\ + .\..\win32\tmp\Release-w\expatw.pch + + .\..\win32\tmp\Release-w\ + .\..\win32\tmp\Release-w\ + + + true + NDEBUG;%(PreprocessorDefinitions) + .\..\win32\bin\Release\expatw.tlb + true + Win32 + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Release\expatw.bsc + + + true + true + Console + ..\win32\bin\Release\libexpatw.dll + .\..\win32\bin\Release\libexpatw.lib + .\libexpatw.def + + + + + MultiThreadedDebug + Default + true + Disabled + true + Level3 + EditAndContinue + _DEBUG;_WINDOWS;_USRDLL;XML_UNICODE_WCHAR_T;%(PreprocessorDefinitions) + .\..\win32\tmp\Debug-w\ + true + .\..\win32\tmp\Debug-w\expatw.pch + .\..\win32\tmp\Debug-w\ + .\..\win32\tmp\Debug-w\ + EnableFastChecks + + + true + _DEBUG;%(PreprocessorDefinitions) + .\..\win32\bin\Debug\expatw.tlb + true + Win32 + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Debug\expatw.bsc + + + true + true + true + Console + ..\win32\bin\Debug\libexpatw.dll + .\..\win32\bin\Debug\libexpatw.lib + .\libexpatw.def + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expatw.vcxproj.filters b/tools/sdk/include/expat/expatw.vcxproj.filters new file mode 100644 index 00000000..fb3909c9 --- /dev/null +++ b/tools/sdk/include/expat/expatw.vcxproj.filters @@ -0,0 +1,83 @@ + + + + + {fea8fd20-7d6d-4664-a821-1ab5a29dadbd} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {0ceb9aa0-672d-4a6b-bff9-345c51aab04c} + h;hpp;hxx;hm;inl + + + {d62ff6fc-7f74-443d-a048-31ef02a6f99f} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expatw_static.vcxproj b/tools/sdk/include/expat/expatw_static.vcxproj new file mode 100644 index 00000000..a917b48e --- /dev/null +++ b/tools/sdk/include/expat/expatw_static.vcxproj @@ -0,0 +1,149 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Template + Win32 + + + + + + {9220B0F2-C895-4CB2-91D1-1C16C4ECB759} + 10.0.16299.0 + + + + Application + v141 + + + StaticLibrary + v141 + false + MultiByte + + + StaticLibrary + v141 + false + MultiByte + + + + + + + + + + + + + + + + + + .\..\win32\bin\Debug\ + .\..\win32\tmp\Debug-w_static\ + true + + + .\..\win32\bin\Release\ + .\..\win32\tmp\Release-w_static\ + false + + + + MultiThreadedDebug + Default + true + Disabled + true + Level3 + EditAndContinue + _DEBUG;_WINDOWS;_LIB;XML_UNICODE_WCHAR_T;%(PreprocessorDefinitions) + .\..\win32\tmp\Debug-w_static\ + true + .\..\win32\tmp\Debug-w_static\expatw_static.pch + .\..\win32\tmp\Debug-w_static\ + .\..\win32\tmp\Debug-w_static\ + EnableFastChecks + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Debug\expatw_static.bsc + + + true + ..\win32\bin\Debug\libexpatwMT.lib + + + + + MultiThreaded + Default + true + true + MaxSpeed + true + Level3 + _WINDOWS;NDEBUG;_LIB;XML_UNICODE_WCHAR_T;%(PreprocessorDefinitions) + .\..\win32\tmp\Release-w_static\ + .\..\win32\tmp\Release-w_static\expatw_static.pch + .\..\win32\tmp\Release-w_static\ + .\..\win32\tmp\Release-w_static\ + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + + + true + .\..\win32\bin\Release\expatw_static.bsc + + + true + ..\win32\bin\Release\libexpatwMT.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/expatw_static.vcxproj.filters b/tools/sdk/include/expat/expatw_static.vcxproj.filters new file mode 100644 index 00000000..724d9f8c --- /dev/null +++ b/tools/sdk/include/expat/expatw_static.vcxproj.filters @@ -0,0 +1,74 @@ + + + + + {c0226397-04be-42b5-ba75-257ac91ef7fa} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {3d74dc56-3aec-4ee9-b700-7203f44e015d} + h;hpp;hxx;hm;inl + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/tools/sdk/include/expat/iasciitab.h b/tools/sdk/include/expat/iasciitab.h index 24a1d5cc..ce4a4bf7 100644 --- a/tools/sdk/include/expat/iasciitab.h +++ b/tools/sdk/include/expat/iasciitab.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* Like asciitab.h, except that 0xD has code BT_S rather than BT_CR */ diff --git a/tools/sdk/include/expat/internal.h b/tools/sdk/include/expat/internal.h index 94cb98e1..e33fdcb0 100644 --- a/tools/sdk/include/expat/internal.h +++ b/tools/sdk/include/expat/internal.h @@ -18,6 +18,35 @@ Note: Use of these macros is based on judgement, not hard rules, and therefore subject to change. + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ #if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__) @@ -87,7 +116,7 @@ extern "C" { void -align_limit_to_full_utf8_characters(const char * from, const char ** fromLimRef); +_INTERNAL_trim_to_complete_utf8_characters(const char * from, const char ** fromLimRef); #ifdef __cplusplus diff --git a/tools/sdk/include/expat/latin1tab.h b/tools/sdk/include/expat/latin1tab.h index 53c25d76..95dfa52b 100644 --- a/tools/sdk/include/expat/latin1tab.h +++ b/tools/sdk/include/expat/latin1tab.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* 0x80 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, diff --git a/tools/sdk/include/expat/libexpat.def b/tools/sdk/include/expat/libexpat.def new file mode 100644 index 00000000..d08f5b7c --- /dev/null +++ b/tools/sdk/include/expat/libexpat.def @@ -0,0 +1,78 @@ +; DEF file for MS VC++ + +LIBRARY +EXPORTS + XML_DefaultCurrent @1 + XML_ErrorString @2 + XML_ExpatVersion @3 + XML_ExpatVersionInfo @4 + XML_ExternalEntityParserCreate @5 + XML_GetBase @6 + XML_GetBuffer @7 + XML_GetCurrentByteCount @8 + XML_GetCurrentByteIndex @9 + XML_GetCurrentColumnNumber @10 + XML_GetCurrentLineNumber @11 + XML_GetErrorCode @12 + XML_GetIdAttributeIndex @13 + XML_GetInputContext @14 + XML_GetSpecifiedAttributeCount @15 + XML_Parse @16 + XML_ParseBuffer @17 + XML_ParserCreate @18 + XML_ParserCreateNS @19 + XML_ParserCreate_MM @20 + XML_ParserFree @21 + XML_SetAttlistDeclHandler @22 + XML_SetBase @23 + XML_SetCdataSectionHandler @24 + XML_SetCharacterDataHandler @25 + XML_SetCommentHandler @26 + XML_SetDefaultHandler @27 + XML_SetDefaultHandlerExpand @28 + XML_SetDoctypeDeclHandler @29 + XML_SetElementDeclHandler @30 + XML_SetElementHandler @31 + XML_SetEncoding @32 + XML_SetEndCdataSectionHandler @33 + XML_SetEndDoctypeDeclHandler @34 + XML_SetEndElementHandler @35 + XML_SetEndNamespaceDeclHandler @36 + XML_SetEntityDeclHandler @37 + XML_SetExternalEntityRefHandler @38 + XML_SetExternalEntityRefHandlerArg @39 + XML_SetNamespaceDeclHandler @40 + XML_SetNotStandaloneHandler @41 + XML_SetNotationDeclHandler @42 + XML_SetParamEntityParsing @43 + XML_SetProcessingInstructionHandler @44 + XML_SetReturnNSTriplet @45 + XML_SetStartCdataSectionHandler @46 + XML_SetStartDoctypeDeclHandler @47 + XML_SetStartElementHandler @48 + XML_SetStartNamespaceDeclHandler @49 + XML_SetUnknownEncodingHandler @50 + XML_SetUnparsedEntityDeclHandler @51 + XML_SetUserData @52 + XML_SetXmlDeclHandler @53 + XML_UseParserAsHandlerArg @54 +; added with version 1.95.3 + XML_ParserReset @55 + XML_SetSkippedEntityHandler @56 +; added with version 1.95.5 + XML_GetFeatureList @57 + XML_UseForeignDTD @58 +; added with version 1.95.6 + XML_FreeContentModel @59 + XML_MemMalloc @60 + XML_MemRealloc @61 + XML_MemFree @62 +; added with version 1.95.8 + XML_StopParser @63 + XML_ResumeParser @64 + XML_GetParsingStatus @65 +; added with version 2.1.1 +; XML_GetAttributeInfo @66 + XML_SetHashSalt @67@ +; added with version 2.2.5 + _INTERNAL_trim_to_complete_utf8_characters @68@ \ No newline at end of file diff --git a/tools/sdk/include/expat/libexpatw.def b/tools/sdk/include/expat/libexpatw.def new file mode 100644 index 00000000..928e01b1 --- /dev/null +++ b/tools/sdk/include/expat/libexpatw.def @@ -0,0 +1,78 @@ +; DEF file for MS VC++ + +LIBRARY +EXPORTS + XML_DefaultCurrent @1 + XML_ErrorString @2 + XML_ExpatVersion @3 + XML_ExpatVersionInfo @4 + XML_ExternalEntityParserCreate @5 + XML_GetBase @6 + XML_GetBuffer @7 + XML_GetCurrentByteCount @8 + XML_GetCurrentByteIndex @9 + XML_GetCurrentColumnNumber @10 + XML_GetCurrentLineNumber @11 + XML_GetErrorCode @12 + XML_GetIdAttributeIndex @13 + XML_GetInputContext @14 + XML_GetSpecifiedAttributeCount @15 + XML_Parse @16 + XML_ParseBuffer @17 + XML_ParserCreate @18 + XML_ParserCreateNS @19 + XML_ParserCreate_MM @20 + XML_ParserFree @21 + XML_SetAttlistDeclHandler @22 + XML_SetBase @23 + XML_SetCdataSectionHandler @24 + XML_SetCharacterDataHandler @25 + XML_SetCommentHandler @26 + XML_SetDefaultHandler @27 + XML_SetDefaultHandlerExpand @28 + XML_SetDoctypeDeclHandler @29 + XML_SetElementDeclHandler @30 + XML_SetElementHandler @31 + XML_SetEncoding @32 + XML_SetEndCdataSectionHandler @33 + XML_SetEndDoctypeDeclHandler @34 + XML_SetEndElementHandler @35 + XML_SetEndNamespaceDeclHandler @36 + XML_SetEntityDeclHandler @37 + XML_SetExternalEntityRefHandler @38 + XML_SetExternalEntityRefHandlerArg @39 + XML_SetNamespaceDeclHandler @40 + XML_SetNotStandaloneHandler @41 + XML_SetNotationDeclHandler @42 + XML_SetParamEntityParsing @43 + XML_SetProcessingInstructionHandler @44 + XML_SetReturnNSTriplet @45 + XML_SetStartCdataSectionHandler @46 + XML_SetStartDoctypeDeclHandler @47 + XML_SetStartElementHandler @48 + XML_SetStartNamespaceDeclHandler @49 + XML_SetUnknownEncodingHandler @50 + XML_SetUnparsedEntityDeclHandler @51 + XML_SetUserData @52 + XML_SetXmlDeclHandler @53 + XML_UseParserAsHandlerArg @54 +; added with version 1.95.3 + XML_ParserReset @55 + XML_SetSkippedEntityHandler @56 +; added with version 1.95.5 + XML_GetFeatureList @57 + XML_UseForeignDTD @58 +; added with version 1.95.6 + XML_FreeContentModel @59 + XML_MemMalloc @60 + XML_MemRealloc @61 + XML_MemFree @62 +; added with version 1.95.8 + XML_StopParser @63 + XML_ResumeParser @64 + XML_GetParsingStatus @65 +; added with version 2.1.1 +; XML_GetAttributeInfo @66 + XML_SetHashSalt @67@ +; added with version 2.2.5 + _INTERNAL_trim_to_complete_utf8_characters @68@ diff --git a/tools/sdk/include/expat/loadlibrary.c b/tools/sdk/include/expat/loadlibrary.c new file mode 100644 index 00000000..35fdf98b --- /dev/null +++ b/tools/sdk/include/expat/loadlibrary.c @@ -0,0 +1,143 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 2016 - 2017, Steve Holme, . + * Copyright (C) 2017, Expat development team + * + * All rights reserved. + * Licensed under the MIT license: + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH + * THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder shall + * not be used in advertising or otherwise to promote the sale, use or other + * dealings in this Software without prior written authorization of the + * copyright holder. + * + ***************************************************************************/ + +#if defined(_WIN32) + +#include +#include + + +HMODULE _Expat_LoadLibrary(LPCTSTR filename); + + +#if !defined(LOAD_WITH_ALTERED_SEARCH_PATH) +#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 +#endif + +#if !defined(LOAD_LIBRARY_SEARCH_SYSTEM32) +#define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800 +#endif + +/* We use our own typedef here since some headers might lack these */ +typedef HMODULE (APIENTRY *LOADLIBRARYEX_FN)(LPCTSTR, HANDLE, DWORD); + +/* See function definitions in winbase.h */ +#ifdef UNICODE +# ifdef _WIN32_WCE +# define LOADLIBARYEX L"LoadLibraryExW" +# else +# define LOADLIBARYEX "LoadLibraryExW" +# endif +#else +# define LOADLIBARYEX "LoadLibraryExA" +#endif + + +/* + * _Expat_LoadLibrary() + * + * This is used to dynamically load DLLs using the most secure method available + * for the version of Windows that we are running on. + * + * Parameters: + * + * filename [in] - The filename or full path of the DLL to load. If only the + * filename is passed then the DLL will be loaded from the + * Windows system directory. + * + * Returns the handle of the module on success; otherwise NULL. + */ +HMODULE _Expat_LoadLibrary(LPCTSTR filename) +{ + HMODULE hModule = NULL; + LOADLIBRARYEX_FN pLoadLibraryEx = NULL; + + /* Get a handle to kernel32 so we can access it's functions at runtime */ + HMODULE hKernel32 = GetModuleHandle(TEXT("kernel32")); + if(!hKernel32) + return NULL; /* LCOV_EXCL_LINE */ + + /* Attempt to find LoadLibraryEx() which is only available on Windows 2000 + and above */ + pLoadLibraryEx = (LOADLIBRARYEX_FN) GetProcAddress(hKernel32, LOADLIBARYEX); + + /* Detect if there's already a path in the filename and load the library if + there is. Note: Both back slashes and forward slashes have been supported + since the earlier days of DOS at an API level although they are not + supported by command prompt */ + if(_tcspbrk(filename, TEXT("\\/"))) { + /** !checksrc! disable BANNEDFUNC 1 **/ + hModule = pLoadLibraryEx ? + pLoadLibraryEx(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) : + LoadLibrary(filename); + } + /* Detect if KB2533623 is installed, as LOAD_LIBARY_SEARCH_SYSTEM32 is only + supported on Windows Vista, Windows Server 2008, Windows 7 and Windows + Server 2008 R2 with this patch or natively on Windows 8 and above */ + else if(pLoadLibraryEx && GetProcAddress(hKernel32, "AddDllDirectory")) { + /* Load the DLL from the Windows system directory */ + hModule = pLoadLibraryEx(filename, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32); + } + else { + /* Attempt to get the Windows system path */ + UINT systemdirlen = GetSystemDirectory(NULL, 0); + if(systemdirlen) { + /* Allocate space for the full DLL path (Room for the null terminator + is included in systemdirlen) */ + size_t filenamelen = _tcslen(filename); + TCHAR *path = malloc(sizeof(TCHAR) * (systemdirlen + 1 + filenamelen)); + if(path && GetSystemDirectory(path, systemdirlen)) { + /* Calculate the full DLL path */ + _tcscpy(path + _tcslen(path), TEXT("\\")); + _tcscpy(path + _tcslen(path), filename); + + /* Load the DLL from the Windows system directory */ + /** !checksrc! disable BANNEDFUNC 1 **/ + hModule = pLoadLibraryEx ? + pLoadLibraryEx(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) : + LoadLibrary(path); + + } + free(path); + } + } + + return hModule; +} + +#else /* defined(_WIN32) */ + +/* ISO C requires a translation unit to contain at least one declaration + [-Wempty-translation-unit] */ +typedef int _TRANSLATION_UNIT_LOAD_LIBRARY_C_NOT_EMTPY; + +#endif /* defined(_WIN32) */ diff --git a/tools/sdk/include/expat/minicheck.h b/tools/sdk/include/expat/minicheck.h deleted file mode 100644 index d54801d1..00000000 --- a/tools/sdk/include/expat/minicheck.h +++ /dev/null @@ -1,95 +0,0 @@ -/* Miniature re-implementation of the "check" library. - * - * This is intended to support just enough of check to run the Expat - * tests. This interface is based entirely on the portion of the - * check library being used. - * - * This is *source* compatible, but not necessary *link* compatible. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#define CK_NOFORK 0 -#define CK_FORK 1 - -#define CK_SILENT 0 -#define CK_NORMAL 1 -#define CK_VERBOSE 2 - -/* Workaround for Microsoft's compiler and Tru64 Unix systems where the - C compiler has a working __func__, but the C++ compiler only has a - working __FUNCTION__. This could be fixed in configure.in, but it's - not worth it right now. */ -#if defined (_MSC_VER) || (defined(__osf__) && defined(__cplusplus)) -#define __func__ __FUNCTION__ -#endif - -/* ISO C90 does not support '__func__' predefined identifier */ -#if defined(__STDC_VERSION__) && (__STDC_VERSION__ < 199901) -# define __func__ "(unknown)" -#endif - -#define START_TEST(testname) static void testname(void) { \ - _check_set_test_info(__func__, __FILE__, __LINE__); \ - { -#define END_TEST - -#define fail(msg) _fail_unless(0, __FILE__, __LINE__, msg) - -typedef void (*tcase_setup_function)(void); -typedef void (*tcase_teardown_function)(void); -typedef void (*tcase_test_function)(void); - -typedef struct SRunner SRunner; -typedef struct Suite Suite; -typedef struct TCase TCase; - -struct SRunner { - Suite *suite; - int nchecks; - int nfailures; -}; - -struct Suite { - const char *name; - TCase *tests; -}; - -struct TCase { - const char *name; - tcase_setup_function setup; - tcase_teardown_function teardown; - tcase_test_function *tests; - int ntests; - int allocated; - TCase *next_tcase; -}; - - -/* Internal helper. */ -void _check_set_test_info(char const *function, - char const *filename, int lineno); - - -/* - * Prototypes for the actual implementation. - */ - -void _fail_unless(int condition, const char *file, int line, const char *msg); -Suite *suite_create(const char *name); -TCase *tcase_create(const char *name); -void suite_add_tcase(Suite *suite, TCase *tc); -void tcase_add_checked_fixture(TCase *, - tcase_setup_function, - tcase_teardown_function); -void tcase_add_test(TCase *tc, tcase_test_function test); -SRunner *srunner_create(Suite *suite); -void srunner_run_all(SRunner *runner, int verbosity); -int srunner_ntests_failed(SRunner *runner); -void srunner_free(SRunner *runner); - -#ifdef __cplusplus -} -#endif diff --git a/tools/sdk/include/expat/nametab.h b/tools/sdk/include/expat/nametab.h index b05e62c7..bfa2bd38 100644 --- a/tools/sdk/include/expat/nametab.h +++ b/tools/sdk/include/expat/nametab.h @@ -1,3 +1,35 @@ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + static const unsigned namingBitmap[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, diff --git a/tools/sdk/include/expat/siphash.h b/tools/sdk/include/expat/siphash.h new file mode 100644 index 00000000..581872df --- /dev/null +++ b/tools/sdk/include/expat/siphash.h @@ -0,0 +1,374 @@ +/* ========================================================================== + * siphash.h - SipHash-2-4 in a single header file + * -------------------------------------------------------------------------- + * Derived by William Ahern from the reference implementation[1] published[2] + * by Jean-Philippe Aumasson and Daniel J. Berstein. + * Minimal changes by Sebastian Pipping and Victor Stinner on top, see below. + * Licensed under the CC0 Public Domain Dedication license. + * + * 1. https://www.131002.net/siphash/siphash24.c + * 2. https://www.131002.net/siphash/ + * -------------------------------------------------------------------------- + * HISTORY: + * + * 2017-07-25 (Vadim Zeitlin) + * - Fix use of SIPHASH_MAIN macro + * + * 2017-07-05 (Sebastian Pipping) + * - Use _SIP_ULL macro to not require a C++11 compiler if compiled as C++ + * - Add const qualifiers at two places + * - Ensure <=80 characters line length (assuming tab width 4) + * + * 2017-06-23 (Victor Stinner) + * - Address Win64 compile warnings + * + * 2017-06-18 (Sebastian Pipping) + * - Clarify license note in the header + * - Address C89 issues: + * - Stop using inline keyword (and let compiler decide) + * - Replace _Bool by int + * - Turn macro siphash24 into a function + * - Address invalid conversion (void pointer) by explicit cast + * - Address lack of stdint.h for Visual Studio 2003 to 2008 + * - Always expose sip24_valid (for self-tests) + * + * 2012-11-04 - Born. (William Ahern) + * -------------------------------------------------------------------------- + * USAGE: + * + * SipHash-2-4 takes as input two 64-bit words as the key, some number of + * message bytes, and outputs a 64-bit word as the message digest. This + * implementation employs two data structures: a struct sipkey for + * representing the key, and a struct siphash for representing the hash + * state. + * + * For converting a 16-byte unsigned char array to a key, use either the + * macro sip_keyof or the routine sip_tokey. The former instantiates a + * compound literal key, while the latter requires a key object as a + * parameter. + * + * unsigned char secret[16]; + * arc4random_buf(secret, sizeof secret); + * struct sipkey *key = sip_keyof(secret); + * + * For hashing a message, use either the convenience macro siphash24 or the + * routines sip24_init, sip24_update, and sip24_final. + * + * struct siphash state; + * void *msg; + * size_t len; + * uint64_t hash; + * + * sip24_init(&state, key); + * sip24_update(&state, msg, len); + * hash = sip24_final(&state); + * + * or + * + * hash = siphash24(msg, len, key); + * + * To convert the 64-bit hash value to a canonical 8-byte little-endian + * binary representation, use either the macro sip_binof or the routine + * sip_tobin. The former instantiates and returns a compound literal array, + * while the latter requires an array object as a parameter. + * -------------------------------------------------------------------------- + * NOTES: + * + * o Neither sip_keyof, sip_binof, nor siphash24 will work with compilers + * lacking compound literal support. Instead, you must use the lower-level + * interfaces which take as parameters the temporary state objects. + * + * o Uppercase macros may evaluate parameters more than once. Lowercase + * macros should not exhibit any such side effects. + * ========================================================================== + */ +#ifndef SIPHASH_H +#define SIPHASH_H + +#include /* size_t */ + +#if defined(_WIN32) && defined(_MSC_VER) && (_MSC_VER < 1600) + /* For vs2003/7.1 up to vs2008/9.0; _MSC_VER 1600 is vs2010/10.0 */ + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + typedef unsigned __int64 uint64_t; +#else + #include /* uint64_t uint32_t uint8_t */ +#endif + + +/* + * Workaround to not require a C++11 compiler for using ULL suffix + * if this code is included and compiled as C++; related GCC warning is: + * warning: use of C++11 long long integer constant [-Wlong-long] + */ +#define _SIP_ULL(high, low) (((uint64_t)high << 32) | low) + + +#define SIP_ROTL(x, b) (uint64_t)(((x) << (b)) | ( (x) >> (64 - (b)))) + +#define SIP_U32TO8_LE(p, v) \ + (p)[0] = (uint8_t)((v) >> 0); (p)[1] = (uint8_t)((v) >> 8); \ + (p)[2] = (uint8_t)((v) >> 16); (p)[3] = (uint8_t)((v) >> 24); + +#define SIP_U64TO8_LE(p, v) \ + SIP_U32TO8_LE((p) + 0, (uint32_t)((v) >> 0)); \ + SIP_U32TO8_LE((p) + 4, (uint32_t)((v) >> 32)); + +#define SIP_U8TO64_LE(p) \ + (((uint64_t)((p)[0]) << 0) | \ + ((uint64_t)((p)[1]) << 8) | \ + ((uint64_t)((p)[2]) << 16) | \ + ((uint64_t)((p)[3]) << 24) | \ + ((uint64_t)((p)[4]) << 32) | \ + ((uint64_t)((p)[5]) << 40) | \ + ((uint64_t)((p)[6]) << 48) | \ + ((uint64_t)((p)[7]) << 56)) + + +#define SIPHASH_INITIALIZER { 0, 0, 0, 0, { 0 }, 0, 0 } + +struct siphash { + uint64_t v0, v1, v2, v3; + + unsigned char buf[8], *p; + uint64_t c; +}; /* struct siphash */ + + +#define SIP_KEYLEN 16 + +struct sipkey { + uint64_t k[2]; +}; /* struct sipkey */ + +#define sip_keyof(k) sip_tokey(&(struct sipkey){ { 0 } }, (k)) + +static struct sipkey *sip_tokey(struct sipkey *key, const void *src) { + key->k[0] = SIP_U8TO64_LE((const unsigned char *)src); + key->k[1] = SIP_U8TO64_LE((const unsigned char *)src + 8); + return key; +} /* sip_tokey() */ + + +#define sip_binof(v) sip_tobin((unsigned char[8]){ 0 }, (v)) + +static void *sip_tobin(void *dst, uint64_t u64) { + SIP_U64TO8_LE((unsigned char *)dst, u64); + return dst; +} /* sip_tobin() */ + + +static void sip_round(struct siphash *H, const int rounds) { + int i; + + for (i = 0; i < rounds; i++) { + H->v0 += H->v1; + H->v1 = SIP_ROTL(H->v1, 13); + H->v1 ^= H->v0; + H->v0 = SIP_ROTL(H->v0, 32); + + H->v2 += H->v3; + H->v3 = SIP_ROTL(H->v3, 16); + H->v3 ^= H->v2; + + H->v0 += H->v3; + H->v3 = SIP_ROTL(H->v3, 21); + H->v3 ^= H->v0; + + H->v2 += H->v1; + H->v1 = SIP_ROTL(H->v1, 17); + H->v1 ^= H->v2; + H->v2 = SIP_ROTL(H->v2, 32); + } +} /* sip_round() */ + + +static struct siphash *sip24_init(struct siphash *H, + const struct sipkey *key) { + H->v0 = _SIP_ULL(0x736f6d65U, 0x70736575U) ^ key->k[0]; + H->v1 = _SIP_ULL(0x646f7261U, 0x6e646f6dU) ^ key->k[1]; + H->v2 = _SIP_ULL(0x6c796765U, 0x6e657261U) ^ key->k[0]; + H->v3 = _SIP_ULL(0x74656462U, 0x79746573U) ^ key->k[1]; + + H->p = H->buf; + H->c = 0; + + return H; +} /* sip24_init() */ + + +#define sip_endof(a) (&(a)[sizeof (a) / sizeof *(a)]) + +static struct siphash *sip24_update(struct siphash *H, const void *src, + size_t len) { + const unsigned char *p = (const unsigned char *)src, *pe = p + len; + uint64_t m; + + do { + while (p < pe && H->p < sip_endof(H->buf)) + *H->p++ = *p++; + + if (H->p < sip_endof(H->buf)) + break; + + m = SIP_U8TO64_LE(H->buf); + H->v3 ^= m; + sip_round(H, 2); + H->v0 ^= m; + + H->p = H->buf; + H->c += 8; + } while (p < pe); + + return H; +} /* sip24_update() */ + + +static uint64_t sip24_final(struct siphash *H) { + const char left = (char)(H->p - H->buf); + uint64_t b = (H->c + left) << 56; + + switch (left) { + case 7: b |= (uint64_t)H->buf[6] << 48; + case 6: b |= (uint64_t)H->buf[5] << 40; + case 5: b |= (uint64_t)H->buf[4] << 32; + case 4: b |= (uint64_t)H->buf[3] << 24; + case 3: b |= (uint64_t)H->buf[2] << 16; + case 2: b |= (uint64_t)H->buf[1] << 8; + case 1: b |= (uint64_t)H->buf[0] << 0; + case 0: break; + } + + H->v3 ^= b; + sip_round(H, 2); + H->v0 ^= b; + H->v2 ^= 0xff; + sip_round(H, 4); + + return H->v0 ^ H->v1 ^ H->v2 ^ H->v3; +} /* sip24_final() */ + + +static uint64_t siphash24(const void *src, size_t len, + const struct sipkey *key) { + struct siphash state = SIPHASH_INITIALIZER; + return sip24_final(sip24_update(sip24_init(&state, key), src, len)); +} /* siphash24() */ + + +/* + * SipHash-2-4 output with + * k = 00 01 02 ... + * and + * in = (empty string) + * in = 00 (1 byte) + * in = 00 01 (2 bytes) + * in = 00 01 02 (3 bytes) + * ... + * in = 00 01 02 ... 3e (63 bytes) + */ +static int sip24_valid(void) { + static const unsigned char vectors[64][8] = { + { 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72, }, + { 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74, }, + { 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d, }, + { 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85, }, + { 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf, }, + { 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18, }, + { 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb, }, + { 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab, }, + { 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93, }, + { 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e, }, + { 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a, }, + { 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4, }, + { 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75, }, + { 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14, }, + { 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7, }, + { 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1, }, + { 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f, }, + { 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69, }, + { 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b, }, + { 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb, }, + { 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe, }, + { 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0, }, + { 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93, }, + { 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8, }, + { 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8, }, + { 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc, }, + { 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17, }, + { 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f, }, + { 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde, }, + { 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6, }, + { 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad, }, + { 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32, }, + { 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71, }, + { 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7, }, + { 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12, }, + { 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15, }, + { 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31, }, + { 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02, }, + { 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca, }, + { 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a, }, + { 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e, }, + { 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad, }, + { 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18, }, + { 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4, }, + { 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9, }, + { 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9, }, + { 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb, }, + { 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0, }, + { 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6, }, + { 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7, }, + { 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee, }, + { 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1, }, + { 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a, }, + { 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81, }, + { 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f, }, + { 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24, }, + { 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7, }, + { 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea, }, + { 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60, }, + { 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66, }, + { 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c, }, + { 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f, }, + { 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5, }, + { 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95, } + }; + unsigned char in[64]; + struct sipkey k; + size_t i; + + sip_tokey(&k, "\000\001\002\003\004\005\006\007\010\011" + "\012\013\014\015\016\017"); + + for (i = 0; i < sizeof in; ++i) { + in[i] = (unsigned char)i; + + if (siphash24(in, i, &k) != SIP_U8TO64_LE(vectors[i])) + return 0; + } + + return 1; +} /* sip24_valid() */ + + +#ifdef SIPHASH_MAIN + +#include + +int main(void) { + const int ok = sip24_valid(); + + if (ok) + puts("OK"); + else + puts("FAIL"); + + return !ok; +} /* main() */ + +#endif /* SIPHASH_MAIN */ + + +#endif /* SIPHASH_H */ diff --git a/tools/sdk/include/expat/utf8tab.h b/tools/sdk/include/expat/utf8tab.h index 7bb3e776..fa0bed6f 100644 --- a/tools/sdk/include/expat/utf8tab.h +++ b/tools/sdk/include/expat/utf8tab.h @@ -1,7 +1,34 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ /* 0x80 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, /* 0x84 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, diff --git a/tools/sdk/include/expat/winconfig.h b/tools/sdk/include/expat/winconfig.h new file mode 100644 index 00000000..17fea468 --- /dev/null +++ b/tools/sdk/include/expat/winconfig.h @@ -0,0 +1,63 @@ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#ifndef WINCONFIG_H +#define WINCONFIG_H + +#define WIN32_LEAN_AND_MEAN +#include +#undef WIN32_LEAN_AND_MEAN + +#include +#include + + +#if defined(HAVE_EXPAT_CONFIG_H) /* e.g. MinGW */ +# include +#else /* !defined(HAVE_EXPAT_CONFIG_H) */ + + +#define XML_NS 1 +#define XML_DTD 1 +#define XML_CONTEXT_BYTES 1024 + +/* we will assume all Windows platforms are little endian */ +#define BYTEORDER 1234 + +/* Windows has memmove() available. */ +#define HAVE_MEMMOVE + + +#endif /* !defined(HAVE_EXPAT_CONFIG_H) */ + + +#endif /* ndef WINCONFIG_H */ diff --git a/tools/sdk/include/expat/xmlparse.c b/tools/sdk/include/expat/xmlparse.c new file mode 100644 index 00000000..90a237f3 --- /dev/null +++ b/tools/sdk/include/expat/xmlparse.c @@ -0,0 +1,7195 @@ +/* 4b74aa710b4ed5ce464b0ce544852cb47bf905c85a49c7bae2749f5885cb966d (2.2.5+) + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#if !defined(_GNU_SOURCE) +# define _GNU_SOURCE 1 /* syscall prototype */ +#endif + +#include +#include /* memset(), memcpy() */ +#include +#include /* UINT_MAX */ +#include /* fprintf */ +#include /* getenv */ + +#ifdef _WIN32 +#define getpid GetCurrentProcessId +#else +#include /* gettimeofday() */ +#include /* getpid() */ +#include /* getpid() */ +#include /* O_RDONLY */ +#include +#endif + +#define XML_BUILDING_EXPAT 1 + +#ifdef _WIN32 +#include "winconfig.h" +#elif defined(HAVE_EXPAT_CONFIG_H) +#include +#endif /* ndef _WIN32 */ + +#include "ascii.h" +#include "expat.h" +#include "siphash.h" + +#if defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) +# if defined(HAVE_GETRANDOM) +# include /* getrandom */ +# else +# include /* syscall */ +# include /* SYS_getrandom */ +# endif +# if ! defined(GRND_NONBLOCK) +# define GRND_NONBLOCK 0x0001 +# endif /* defined(GRND_NONBLOCK) */ +#endif /* defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) */ + +#if defined(HAVE_LIBBSD) \ + && (defined(HAVE_ARC4RANDOM_BUF) || defined(HAVE_ARC4RANDOM)) +# include +#endif + +#if defined(_WIN32) && !defined(LOAD_LIBRARY_SEARCH_SYSTEM32) +# define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800 +#endif + +#if !defined(HAVE_GETRANDOM) && !defined(HAVE_SYSCALL_GETRANDOM) \ + && !defined(HAVE_ARC4RANDOM_BUF) && !defined(HAVE_ARC4RANDOM) \ + && !defined(XML_DEV_URANDOM) \ + && !defined(_WIN32) \ + && !defined(XML_POOR_ENTROPY) +# error \ + You do not have support for any sources of high quality entropy \ + enabled. For end user security, that is probably not what you want. \ + \ + Your options include: \ + * Linux + glibc >=2.25 (getrandom): HAVE_GETRANDOM, \ + * Linux + glibc <2.25 (syscall SYS_getrandom): HAVE_SYSCALL_GETRANDOM, \ + * BSD / macOS >=10.7 (arc4random_buf): HAVE_ARC4RANDOM_BUF, \ + * BSD / macOS <10.7 (arc4random): HAVE_ARC4RANDOM, \ + * libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, \ + * libbsd (arc4random): HAVE_ARC4RANDOM + HAVE_LIBBSD, \ + * Linux / BSD / macOS (/dev/urandom): XML_DEV_URANDOM \ + * Windows (RtlGenRandom): _WIN32. \ + \ + If insist on not using any of these, bypass this error by defining \ + XML_POOR_ENTROPY; you have been warned. \ + \ + If you have reasons to patch this detection code away or need changes \ + to the build system, please open a bug. Thank you! +#endif + + +#ifdef XML_UNICODE +#define XML_ENCODE_MAX XML_UTF16_ENCODE_MAX +#define XmlConvert XmlUtf16Convert +#define XmlGetInternalEncoding XmlGetUtf16InternalEncoding +#define XmlGetInternalEncodingNS XmlGetUtf16InternalEncodingNS +#define XmlEncode XmlUtf16Encode +/* Using pointer subtraction to convert to integer type. */ +#define MUST_CONVERT(enc, s) (!(enc)->isUtf16 || (((char *)(s) - (char *)NULL) & 1)) +typedef unsigned short ICHAR; +#else +#define XML_ENCODE_MAX XML_UTF8_ENCODE_MAX +#define XmlConvert XmlUtf8Convert +#define XmlGetInternalEncoding XmlGetUtf8InternalEncoding +#define XmlGetInternalEncodingNS XmlGetUtf8InternalEncodingNS +#define XmlEncode XmlUtf8Encode +#define MUST_CONVERT(enc, s) (!(enc)->isUtf8) +typedef char ICHAR; +#endif + + +#ifndef XML_NS + +#define XmlInitEncodingNS XmlInitEncoding +#define XmlInitUnknownEncodingNS XmlInitUnknownEncoding +#undef XmlGetInternalEncodingNS +#define XmlGetInternalEncodingNS XmlGetInternalEncoding +#define XmlParseXmlDeclNS XmlParseXmlDecl + +#endif + +#ifdef XML_UNICODE + +#ifdef XML_UNICODE_WCHAR_T +#define XML_T(x) (const wchar_t)x +#define XML_L(x) L ## x +#else +#define XML_T(x) (const unsigned short)x +#define XML_L(x) x +#endif + +#else + +#define XML_T(x) x +#define XML_L(x) x + +#endif + +/* Round up n to be a multiple of sz, where sz is a power of 2. */ +#define ROUND_UP(n, sz) (((n) + ((sz) - 1)) & ~((sz) - 1)) + +/* Handle the case where memmove() doesn't exist. */ +#ifndef HAVE_MEMMOVE +#ifdef HAVE_BCOPY +#define memmove(d,s,l) bcopy((s),(d),(l)) +#else +#error memmove does not exist on this platform, nor is a substitute available +#endif /* HAVE_BCOPY */ +#endif /* HAVE_MEMMOVE */ + +#include "internal.h" +#include "xmltok.h" +#include "xmlrole.h" + +typedef const XML_Char *KEY; + +typedef struct { + KEY name; +} NAMED; + +typedef struct { + NAMED **v; + unsigned char power; + size_t size; + size_t used; + const XML_Memory_Handling_Suite *mem; +} HASH_TABLE; + +static size_t +keylen(KEY s); + +static void +copy_salt_to_sipkey(XML_Parser parser, struct sipkey * key); + +/* For probing (after a collision) we need a step size relative prime + to the hash table size, which is a power of 2. We use double-hashing, + since we can calculate a second hash value cheaply by taking those bits + of the first hash value that were discarded (masked out) when the table + index was calculated: index = hash & mask, where mask = table->size - 1. + We limit the maximum step size to table->size / 4 (mask >> 2) and make + it odd, since odd numbers are always relative prime to a power of 2. +*/ +#define SECOND_HASH(hash, mask, power) \ + ((((hash) & ~(mask)) >> ((power) - 1)) & ((mask) >> 2)) +#define PROBE_STEP(hash, mask, power) \ + ((unsigned char)((SECOND_HASH(hash, mask, power)) | 1)) + +typedef struct { + NAMED **p; + NAMED **end; +} HASH_TABLE_ITER; + +#define INIT_TAG_BUF_SIZE 32 /* must be a multiple of sizeof(XML_Char) */ +#define INIT_DATA_BUF_SIZE 1024 +#define INIT_ATTS_SIZE 16 +#define INIT_ATTS_VERSION 0xFFFFFFFF +#define INIT_BLOCK_SIZE 1024 +#define INIT_BUFFER_SIZE 1024 + +#define EXPAND_SPARE 24 + +typedef struct binding { + struct prefix *prefix; + struct binding *nextTagBinding; + struct binding *prevPrefixBinding; + const struct attribute_id *attId; + XML_Char *uri; + int uriLen; + int uriAlloc; +} BINDING; + +typedef struct prefix { + const XML_Char *name; + BINDING *binding; +} PREFIX; + +typedef struct { + const XML_Char *str; + const XML_Char *localPart; + const XML_Char *prefix; + int strLen; + int uriLen; + int prefixLen; +} TAG_NAME; + +/* TAG represents an open element. + The name of the element is stored in both the document and API + encodings. The memory buffer 'buf' is a separately-allocated + memory area which stores the name. During the XML_Parse()/ + XMLParseBuffer() when the element is open, the memory for the 'raw' + version of the name (in the document encoding) is shared with the + document buffer. If the element is open across calls to + XML_Parse()/XML_ParseBuffer(), the buffer is re-allocated to + contain the 'raw' name as well. + + A parser re-uses these structures, maintaining a list of allocated + TAG objects in a free list. +*/ +typedef struct tag { + struct tag *parent; /* parent of this element */ + const char *rawName; /* tagName in the original encoding */ + int rawNameLength; + TAG_NAME name; /* tagName in the API encoding */ + char *buf; /* buffer for name components */ + char *bufEnd; /* end of the buffer */ + BINDING *bindings; +} TAG; + +typedef struct { + const XML_Char *name; + const XML_Char *textPtr; + int textLen; /* length in XML_Chars */ + int processed; /* # of processed bytes - when suspended */ + const XML_Char *systemId; + const XML_Char *base; + const XML_Char *publicId; + const XML_Char *notation; + XML_Bool open; + XML_Bool is_param; + XML_Bool is_internal; /* true if declared in internal subset outside PE */ +} ENTITY; + +typedef struct { + enum XML_Content_Type type; + enum XML_Content_Quant quant; + const XML_Char * name; + int firstchild; + int lastchild; + int childcnt; + int nextsib; +} CONTENT_SCAFFOLD; + +#define INIT_SCAFFOLD_ELEMENTS 32 + +typedef struct block { + struct block *next; + int size; + XML_Char s[1]; +} BLOCK; + +typedef struct { + BLOCK *blocks; + BLOCK *freeBlocks; + const XML_Char *end; + XML_Char *ptr; + XML_Char *start; + const XML_Memory_Handling_Suite *mem; +} STRING_POOL; + +/* The XML_Char before the name is used to determine whether + an attribute has been specified. */ +typedef struct attribute_id { + XML_Char *name; + PREFIX *prefix; + XML_Bool maybeTokenized; + XML_Bool xmlns; +} ATTRIBUTE_ID; + +typedef struct { + const ATTRIBUTE_ID *id; + XML_Bool isCdata; + const XML_Char *value; +} DEFAULT_ATTRIBUTE; + +typedef struct { + unsigned long version; + unsigned long hash; + const XML_Char *uriName; +} NS_ATT; + +typedef struct { + const XML_Char *name; + PREFIX *prefix; + const ATTRIBUTE_ID *idAtt; + int nDefaultAtts; + int allocDefaultAtts; + DEFAULT_ATTRIBUTE *defaultAtts; +} ELEMENT_TYPE; + +typedef struct { + HASH_TABLE generalEntities; + HASH_TABLE elementTypes; + HASH_TABLE attributeIds; + HASH_TABLE prefixes; + STRING_POOL pool; + STRING_POOL entityValuePool; + /* false once a parameter entity reference has been skipped */ + XML_Bool keepProcessing; + /* true once an internal or external PE reference has been encountered; + this includes the reference to an external subset */ + XML_Bool hasParamEntityRefs; + XML_Bool standalone; +#ifdef XML_DTD + /* indicates if external PE has been read */ + XML_Bool paramEntityRead; + HASH_TABLE paramEntities; +#endif /* XML_DTD */ + PREFIX defaultPrefix; + /* === scaffolding for building content model === */ + XML_Bool in_eldecl; + CONTENT_SCAFFOLD *scaffold; + unsigned contentStringLen; + unsigned scaffSize; + unsigned scaffCount; + int scaffLevel; + int *scaffIndex; +} DTD; + +typedef struct open_internal_entity { + const char *internalEventPtr; + const char *internalEventEndPtr; + struct open_internal_entity *next; + ENTITY *entity; + int startTagLevel; + XML_Bool betweenDecl; /* WFC: PE Between Declarations */ +} OPEN_INTERNAL_ENTITY; + +typedef enum XML_Error PTRCALL Processor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr); + +static Processor prologProcessor; +static Processor prologInitProcessor; +static Processor contentProcessor; +static Processor cdataSectionProcessor; +#ifdef XML_DTD +static Processor ignoreSectionProcessor; +static Processor externalParEntProcessor; +static Processor externalParEntInitProcessor; +static Processor entityValueProcessor; +static Processor entityValueInitProcessor; +#endif /* XML_DTD */ +static Processor epilogProcessor; +static Processor errorProcessor; +static Processor externalEntityInitProcessor; +static Processor externalEntityInitProcessor2; +static Processor externalEntityInitProcessor3; +static Processor externalEntityContentProcessor; +static Processor internalEntityProcessor; + +static enum XML_Error +handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName); +static enum XML_Error +processXmlDecl(XML_Parser parser, int isGeneralTextEntity, + const char *s, const char *next); +static enum XML_Error +initializeEncoding(XML_Parser parser); +static enum XML_Error +doProlog(XML_Parser parser, const ENCODING *enc, const char *s, + const char *end, int tok, const char *next, const char **nextPtr, + XML_Bool haveMore); +static enum XML_Error +processInternalEntity(XML_Parser parser, ENTITY *entity, + XML_Bool betweenDecl); +static enum XML_Error +doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, + const char *start, const char *end, const char **endPtr, + XML_Bool haveMore); +static enum XML_Error +doCdataSection(XML_Parser parser, const ENCODING *, const char **startPtr, + const char *end, const char **nextPtr, XML_Bool haveMore); +#ifdef XML_DTD +static enum XML_Error +doIgnoreSection(XML_Parser parser, const ENCODING *, const char **startPtr, + const char *end, const char **nextPtr, XML_Bool haveMore); +#endif /* XML_DTD */ + +static void +freeBindings(XML_Parser parser, BINDING *bindings); +static enum XML_Error +storeAtts(XML_Parser parser, const ENCODING *, const char *s, + TAG_NAME *tagNamePtr, BINDING **bindingsPtr); +static enum XML_Error +addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, + const XML_Char *uri, BINDING **bindingsPtr); +static int +defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata, + XML_Bool isId, const XML_Char *dfltValue, XML_Parser parser); +static enum XML_Error +storeAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, + const char *, const char *, STRING_POOL *); +static enum XML_Error +appendAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, + const char *, const char *, STRING_POOL *); +static ATTRIBUTE_ID * +getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, + const char *end); +static int +setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *); +static enum XML_Error +storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *start, + const char *end); +static int +reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, + const char *start, const char *end); +static int +reportComment(XML_Parser parser, const ENCODING *enc, const char *start, + const char *end); +static void +reportDefault(XML_Parser parser, const ENCODING *enc, const char *start, + const char *end); + +static const XML_Char * getContext(XML_Parser parser); +static XML_Bool +setContext(XML_Parser parser, const XML_Char *context); + +static void FASTCALL normalizePublicId(XML_Char *s); + +static DTD * dtdCreate(const XML_Memory_Handling_Suite *ms); +/* do not call if m_parentParser != NULL */ +static void dtdReset(DTD *p, const XML_Memory_Handling_Suite *ms); +static void +dtdDestroy(DTD *p, XML_Bool isDocEntity, const XML_Memory_Handling_Suite *ms); +static int +dtdCopy(XML_Parser oldParser, + DTD *newDtd, const DTD *oldDtd, const XML_Memory_Handling_Suite *ms); +static int +copyEntityTable(XML_Parser oldParser, + HASH_TABLE *, STRING_POOL *, const HASH_TABLE *); +static NAMED * +lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize); +static void FASTCALL +hashTableInit(HASH_TABLE *, const XML_Memory_Handling_Suite *ms); +static void FASTCALL hashTableClear(HASH_TABLE *); +static void FASTCALL hashTableDestroy(HASH_TABLE *); +static void FASTCALL +hashTableIterInit(HASH_TABLE_ITER *, const HASH_TABLE *); +static NAMED * FASTCALL hashTableIterNext(HASH_TABLE_ITER *); + +static void FASTCALL +poolInit(STRING_POOL *, const XML_Memory_Handling_Suite *ms); +static void FASTCALL poolClear(STRING_POOL *); +static void FASTCALL poolDestroy(STRING_POOL *); +static XML_Char * +poolAppend(STRING_POOL *pool, const ENCODING *enc, + const char *ptr, const char *end); +static XML_Char * +poolStoreString(STRING_POOL *pool, const ENCODING *enc, + const char *ptr, const char *end); +static XML_Bool FASTCALL poolGrow(STRING_POOL *pool); +static const XML_Char * FASTCALL +poolCopyString(STRING_POOL *pool, const XML_Char *s); +static const XML_Char * +poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n); +static const XML_Char * FASTCALL +poolAppendString(STRING_POOL *pool, const XML_Char *s); + +static int FASTCALL nextScaffoldPart(XML_Parser parser); +static XML_Content * build_model(XML_Parser parser); +static ELEMENT_TYPE * +getElementType(XML_Parser parser, const ENCODING *enc, + const char *ptr, const char *end); + +static XML_Char *copyString(const XML_Char *s, + const XML_Memory_Handling_Suite *memsuite); + +static unsigned long generate_hash_secret_salt(XML_Parser parser); +static XML_Bool startParsing(XML_Parser parser); + +static XML_Parser +parserCreate(const XML_Char *encodingName, + const XML_Memory_Handling_Suite *memsuite, + const XML_Char *nameSep, + DTD *dtd); + +static void +parserInit(XML_Parser parser, const XML_Char *encodingName); + +#define poolStart(pool) ((pool)->start) +#define poolEnd(pool) ((pool)->ptr) +#define poolLength(pool) ((pool)->ptr - (pool)->start) +#define poolChop(pool) ((void)--(pool->ptr)) +#define poolLastChar(pool) (((pool)->ptr)[-1]) +#define poolDiscard(pool) ((pool)->ptr = (pool)->start) +#define poolFinish(pool) ((pool)->start = (pool)->ptr) +#define poolAppendChar(pool, c) \ + (((pool)->ptr == (pool)->end && !poolGrow(pool)) \ + ? 0 \ + : ((*((pool)->ptr)++ = c), 1)) + +struct XML_ParserStruct { + /* The first member must be m_userData so that the XML_GetUserData + macro works. */ + void *m_userData; + void *m_handlerArg; + char *m_buffer; + const XML_Memory_Handling_Suite m_mem; + /* first character to be parsed */ + const char *m_bufferPtr; + /* past last character to be parsed */ + char *m_bufferEnd; + /* allocated end of m_buffer */ + const char *m_bufferLim; + XML_Index m_parseEndByteIndex; + const char *m_parseEndPtr; + XML_Char *m_dataBuf; + XML_Char *m_dataBufEnd; + XML_StartElementHandler m_startElementHandler; + XML_EndElementHandler m_endElementHandler; + XML_CharacterDataHandler m_characterDataHandler; + XML_ProcessingInstructionHandler m_processingInstructionHandler; + XML_CommentHandler m_commentHandler; + XML_StartCdataSectionHandler m_startCdataSectionHandler; + XML_EndCdataSectionHandler m_endCdataSectionHandler; + XML_DefaultHandler m_defaultHandler; + XML_StartDoctypeDeclHandler m_startDoctypeDeclHandler; + XML_EndDoctypeDeclHandler m_endDoctypeDeclHandler; + XML_UnparsedEntityDeclHandler m_unparsedEntityDeclHandler; + XML_NotationDeclHandler m_notationDeclHandler; + XML_StartNamespaceDeclHandler m_startNamespaceDeclHandler; + XML_EndNamespaceDeclHandler m_endNamespaceDeclHandler; + XML_NotStandaloneHandler m_notStandaloneHandler; + XML_ExternalEntityRefHandler m_externalEntityRefHandler; + XML_Parser m_externalEntityRefHandlerArg; + XML_SkippedEntityHandler m_skippedEntityHandler; + XML_UnknownEncodingHandler m_unknownEncodingHandler; + XML_ElementDeclHandler m_elementDeclHandler; + XML_AttlistDeclHandler m_attlistDeclHandler; + XML_EntityDeclHandler m_entityDeclHandler; + XML_XmlDeclHandler m_xmlDeclHandler; + const ENCODING *m_encoding; + INIT_ENCODING m_initEncoding; + const ENCODING *m_internalEncoding; + const XML_Char *m_protocolEncodingName; + XML_Bool m_ns; + XML_Bool m_ns_triplets; + void *m_unknownEncodingMem; + void *m_unknownEncodingData; + void *m_unknownEncodingHandlerData; + void (XMLCALL *m_unknownEncodingRelease)(void *); + PROLOG_STATE m_prologState; + Processor *m_processor; + enum XML_Error m_errorCode; + const char *m_eventPtr; + const char *m_eventEndPtr; + const char *m_positionPtr; + OPEN_INTERNAL_ENTITY *m_openInternalEntities; + OPEN_INTERNAL_ENTITY *m_freeInternalEntities; + XML_Bool m_defaultExpandInternalEntities; + int m_tagLevel; + ENTITY *m_declEntity; + const XML_Char *m_doctypeName; + const XML_Char *m_doctypeSysid; + const XML_Char *m_doctypePubid; + const XML_Char *m_declAttributeType; + const XML_Char *m_declNotationName; + const XML_Char *m_declNotationPublicId; + ELEMENT_TYPE *m_declElementType; + ATTRIBUTE_ID *m_declAttributeId; + XML_Bool m_declAttributeIsCdata; + XML_Bool m_declAttributeIsId; + DTD *m_dtd; + const XML_Char *m_curBase; + TAG *m_tagStack; + TAG *m_freeTagList; + BINDING *m_inheritedBindings; + BINDING *m_freeBindingList; + int m_attsSize; + int m_nSpecifiedAtts; + int m_idAttIndex; + ATTRIBUTE *m_atts; + NS_ATT *m_nsAtts; + unsigned long m_nsAttsVersion; + unsigned char m_nsAttsPower; +#ifdef XML_ATTR_INFO + XML_AttrInfo *m_attInfo; +#endif + POSITION m_position; + STRING_POOL m_tempPool; + STRING_POOL m_temp2Pool; + char *m_groupConnector; + unsigned int m_groupSize; + XML_Char m_namespaceSeparator; + XML_Parser m_parentParser; + XML_ParsingStatus m_parsingStatus; +#ifdef XML_DTD + XML_Bool m_isParamEntity; + XML_Bool m_useForeignDTD; + enum XML_ParamEntityParsing m_paramEntityParsing; +#endif + unsigned long m_hash_secret_salt; +}; + +#define MALLOC(parser, s) (parser->m_mem.malloc_fcn((s))) +#define REALLOC(parser, p, s) (parser->m_mem.realloc_fcn((p),(s))) +#define FREE(parser, p) (parser->m_mem.free_fcn((p))) + + +XML_Parser XMLCALL +XML_ParserCreate(const XML_Char *encodingName) +{ + return XML_ParserCreate_MM(encodingName, NULL, NULL); +} + +XML_Parser XMLCALL +XML_ParserCreateNS(const XML_Char *encodingName, XML_Char nsSep) +{ + XML_Char tmp[2]; + *tmp = nsSep; + return XML_ParserCreate_MM(encodingName, NULL, tmp); +} + +static const XML_Char implicitContext[] = { + ASCII_x, ASCII_m, ASCII_l, ASCII_EQUALS, ASCII_h, ASCII_t, ASCII_t, ASCII_p, + ASCII_COLON, ASCII_SLASH, ASCII_SLASH, ASCII_w, ASCII_w, ASCII_w, + ASCII_PERIOD, ASCII_w, ASCII_3, ASCII_PERIOD, ASCII_o, ASCII_r, ASCII_g, + ASCII_SLASH, ASCII_X, ASCII_M, ASCII_L, ASCII_SLASH, ASCII_1, ASCII_9, + ASCII_9, ASCII_8, ASCII_SLASH, ASCII_n, ASCII_a, ASCII_m, ASCII_e, + ASCII_s, ASCII_p, ASCII_a, ASCII_c, ASCII_e, '\0' +}; + + +/* To avoid warnings about unused functions: */ +#if ! defined(HAVE_ARC4RANDOM_BUF) && ! defined(HAVE_ARC4RANDOM) + +#if defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) + +/* Obtain entropy on Linux 3.17+ */ +static int +writeRandomBytes_getrandom_nonblock(void * target, size_t count) { + int success = 0; /* full count bytes written? */ + size_t bytesWrittenTotal = 0; + const unsigned int getrandomFlags = GRND_NONBLOCK; + + do { + void * const currentTarget = (void*)((char*)target + bytesWrittenTotal); + const size_t bytesToWrite = count - bytesWrittenTotal; + + const int bytesWrittenMore = +#if defined(HAVE_GETRANDOM) + getrandom(currentTarget, bytesToWrite, getrandomFlags); +#else + syscall(SYS_getrandom, currentTarget, bytesToWrite, getrandomFlags); +#endif + + if (bytesWrittenMore > 0) { + bytesWrittenTotal += bytesWrittenMore; + if (bytesWrittenTotal >= count) + success = 1; + } + } while (! success && (errno == EINTR)); + + return success; +} + +#endif /* defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) */ + + +#if ! defined(_WIN32) && defined(XML_DEV_URANDOM) + +/* Extract entropy from /dev/urandom */ +static int +writeRandomBytes_dev_urandom(void * target, size_t count) { + int success = 0; /* full count bytes written? */ + size_t bytesWrittenTotal = 0; + + const int fd = open("/dev/urandom", O_RDONLY); + if (fd < 0) { + return 0; + } + + do { + void * const currentTarget = (void*)((char*)target + bytesWrittenTotal); + const size_t bytesToWrite = count - bytesWrittenTotal; + + const ssize_t bytesWrittenMore = read(fd, currentTarget, bytesToWrite); + + if (bytesWrittenMore > 0) { + bytesWrittenTotal += bytesWrittenMore; + if (bytesWrittenTotal >= count) + success = 1; + } + } while (! success && (errno == EINTR)); + + close(fd); + return success; +} + +#endif /* ! defined(_WIN32) && defined(XML_DEV_URANDOM) */ + +#endif /* ! defined(HAVE_ARC4RANDOM_BUF) && ! defined(HAVE_ARC4RANDOM) */ + + +#if defined(HAVE_ARC4RANDOM) + +static void +writeRandomBytes_arc4random(void * target, size_t count) { + size_t bytesWrittenTotal = 0; + + while (bytesWrittenTotal < count) { + const uint32_t random32 = arc4random(); + size_t i = 0; + + for (; (i < sizeof(random32)) && (bytesWrittenTotal < count); + i++, bytesWrittenTotal++) { + const uint8_t random8 = (uint8_t)(random32 >> (i * 8)); + ((uint8_t *)target)[bytesWrittenTotal] = random8; + } + } +} + +#endif /* defined(HAVE_ARC4RANDOM) */ + + +#ifdef _WIN32 + +typedef BOOLEAN (APIENTRY *RTLGENRANDOM_FUNC)(PVOID, ULONG); +HMODULE _Expat_LoadLibrary(LPCTSTR filename); /* see loadlibrary.c */ + +/* Obtain entropy on Windows XP / Windows Server 2003 and later. + * Hint on RtlGenRandom and the following article from libsodium. + * + * Michael Howard: Cryptographically Secure Random number on Windows without using CryptoAPI + * https://blogs.msdn.microsoft.com/michael_howard/2005/01/14/cryptographically-secure-random-number-on-windows-without-using-cryptoapi/ + */ +static int +writeRandomBytes_RtlGenRandom(void * target, size_t count) { + int success = 0; /* full count bytes written? */ + const HMODULE advapi32 = _Expat_LoadLibrary(TEXT("ADVAPI32.DLL")); + + if (advapi32) { + const RTLGENRANDOM_FUNC RtlGenRandom + = (RTLGENRANDOM_FUNC)GetProcAddress(advapi32, "SystemFunction036"); + if (RtlGenRandom) { + if (RtlGenRandom((PVOID)target, (ULONG)count) == TRUE) { + success = 1; + } + } + FreeLibrary(advapi32); + } + + return success; +} + +#endif /* _WIN32 */ + + +#if ! defined(HAVE_ARC4RANDOM_BUF) && ! defined(HAVE_ARC4RANDOM) + +static unsigned long +gather_time_entropy(void) +{ +#ifdef _WIN32 + FILETIME ft; + GetSystemTimeAsFileTime(&ft); /* never fails */ + return ft.dwHighDateTime ^ ft.dwLowDateTime; +#else + struct timeval tv; + int gettimeofday_res; + + gettimeofday_res = gettimeofday(&tv, NULL); + +#if defined(NDEBUG) + (void)gettimeofday_res; +#else + assert (gettimeofday_res == 0); +#endif /* defined(NDEBUG) */ + + /* Microseconds time is <20 bits entropy */ + return tv.tv_usec; +#endif +} + +#endif /* ! defined(HAVE_ARC4RANDOM_BUF) && ! defined(HAVE_ARC4RANDOM) */ + + +static unsigned long +ENTROPY_DEBUG(const char * label, unsigned long entropy) { + const char * const EXPAT_ENTROPY_DEBUG = getenv("EXPAT_ENTROPY_DEBUG"); + if (EXPAT_ENTROPY_DEBUG && ! strcmp(EXPAT_ENTROPY_DEBUG, "1")) { + fprintf(stderr, "Entropy: %s --> 0x%0*lx (%lu bytes)\n", + label, + (int)sizeof(entropy) * 2, entropy, + (unsigned long)sizeof(entropy)); + } + return entropy; +} + +static unsigned long +generate_hash_secret_salt(XML_Parser parser) +{ + unsigned long entropy; + (void)parser; + + /* "Failproof" high quality providers: */ +#if defined(HAVE_ARC4RANDOM_BUF) + arc4random_buf(&entropy, sizeof(entropy)); + return ENTROPY_DEBUG("arc4random_buf", entropy); +#elif defined(HAVE_ARC4RANDOM) + writeRandomBytes_arc4random((void *)&entropy, sizeof(entropy)); + return ENTROPY_DEBUG("arc4random", entropy); +#else + /* Try high quality providers first .. */ +#ifdef _WIN32 + if (writeRandomBytes_RtlGenRandom((void *)&entropy, sizeof(entropy))) { + return ENTROPY_DEBUG("RtlGenRandom", entropy); + } +#elif defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) + if (writeRandomBytes_getrandom_nonblock((void *)&entropy, sizeof(entropy))) { + return ENTROPY_DEBUG("getrandom", entropy); + } +#endif +#if ! defined(_WIN32) && defined(XML_DEV_URANDOM) + if (writeRandomBytes_dev_urandom((void *)&entropy, sizeof(entropy))) { + return ENTROPY_DEBUG("/dev/urandom", entropy); + } +#endif /* ! defined(_WIN32) && defined(XML_DEV_URANDOM) */ + /* .. and self-made low quality for backup: */ + + /* Process ID is 0 bits entropy if attacker has local access */ + entropy = gather_time_entropy() ^ getpid(); + + /* Factors are 2^31-1 and 2^61-1 (Mersenne primes M31 and M61) */ + if (sizeof(unsigned long) == 4) { + return ENTROPY_DEBUG("fallback(4)", entropy * 2147483647); + } else { + return ENTROPY_DEBUG("fallback(8)", + entropy * (unsigned long)2305843009213693951ULL); + } +#endif +} + +static unsigned long +get_hash_secret_salt(XML_Parser parser) { + if (parser->m_parentParser != NULL) + return get_hash_secret_salt(parser->m_parentParser); + return parser->m_hash_secret_salt; +} + +static XML_Bool /* only valid for root parser */ +startParsing(XML_Parser parser) +{ + /* hash functions must be initialized before setContext() is called */ + if (parser->m_hash_secret_salt == 0) + parser->m_hash_secret_salt = generate_hash_secret_salt(parser); + if (parser->m_ns) { + /* implicit context only set for root parser, since child + parsers (i.e. external entity parsers) will inherit it + */ + return setContext(parser, implicitContext); + } + return XML_TRUE; +} + +XML_Parser XMLCALL +XML_ParserCreate_MM(const XML_Char *encodingName, + const XML_Memory_Handling_Suite *memsuite, + const XML_Char *nameSep) +{ + return parserCreate(encodingName, memsuite, nameSep, NULL); +} + +static XML_Parser +parserCreate(const XML_Char *encodingName, + const XML_Memory_Handling_Suite *memsuite, + const XML_Char *nameSep, + DTD *dtd) +{ + XML_Parser parser; + + if (memsuite) { + XML_Memory_Handling_Suite *mtemp; + parser = (XML_Parser) + memsuite->malloc_fcn(sizeof(struct XML_ParserStruct)); + if (parser != NULL) { + mtemp = (XML_Memory_Handling_Suite *)&(parser->m_mem); + mtemp->malloc_fcn = memsuite->malloc_fcn; + mtemp->realloc_fcn = memsuite->realloc_fcn; + mtemp->free_fcn = memsuite->free_fcn; + } + } + else { + XML_Memory_Handling_Suite *mtemp; + parser = (XML_Parser)malloc(sizeof(struct XML_ParserStruct)); + if (parser != NULL) { + mtemp = (XML_Memory_Handling_Suite *)&(parser->m_mem); + mtemp->malloc_fcn = malloc; + mtemp->realloc_fcn = realloc; + mtemp->free_fcn = free; + } + } + + if (!parser) + return parser; + + parser->m_buffer = NULL; + parser->m_bufferLim = NULL; + + parser->m_attsSize = INIT_ATTS_SIZE; + parser->m_atts = (ATTRIBUTE *)MALLOC(parser, parser->m_attsSize * sizeof(ATTRIBUTE)); + if (parser->m_atts == NULL) { + FREE(parser, parser); + return NULL; + } +#ifdef XML_ATTR_INFO + parser->m_attInfo = (XML_AttrInfo*)MALLOC(parser, parser->m_attsSize * sizeof(XML_AttrInfo)); + if (parser->m_attInfo == NULL) { + FREE(parser, parser->m_atts); + FREE(parser, parser); + return NULL; + } +#endif + parser->m_dataBuf = (XML_Char *)MALLOC(parser, INIT_DATA_BUF_SIZE * sizeof(XML_Char)); + if (parser->m_dataBuf == NULL) { + FREE(parser, parser->m_atts); +#ifdef XML_ATTR_INFO + FREE(parser, parser->m_attInfo); +#endif + FREE(parser, parser); + return NULL; + } + parser->m_dataBufEnd = parser->m_dataBuf + INIT_DATA_BUF_SIZE; + + if (dtd) + parser->m_dtd = dtd; + else { + parser->m_dtd = dtdCreate(&parser->m_mem); + if (parser->m_dtd == NULL) { + FREE(parser, parser->m_dataBuf); + FREE(parser, parser->m_atts); +#ifdef XML_ATTR_INFO + FREE(parser, parser->m_attInfo); +#endif + FREE(parser, parser); + return NULL; + } + } + + parser->m_freeBindingList = NULL; + parser->m_freeTagList = NULL; + parser->m_freeInternalEntities = NULL; + + parser->m_groupSize = 0; + parser->m_groupConnector = NULL; + + parser->m_unknownEncodingHandler = NULL; + parser->m_unknownEncodingHandlerData = NULL; + + parser->m_namespaceSeparator = ASCII_EXCL; + parser->m_ns = XML_FALSE; + parser->m_ns_triplets = XML_FALSE; + + parser->m_nsAtts = NULL; + parser->m_nsAttsVersion = 0; + parser->m_nsAttsPower = 0; + + parser->m_protocolEncodingName = NULL; + + poolInit(&parser->m_tempPool, &(parser->m_mem)); + poolInit(&parser->m_temp2Pool, &(parser->m_mem)); + parserInit(parser, encodingName); + + if (encodingName && !parser->m_protocolEncodingName) { + XML_ParserFree(parser); + return NULL; + } + + if (nameSep) { + parser->m_ns = XML_TRUE; + parser->m_internalEncoding = XmlGetInternalEncodingNS(); + parser->m_namespaceSeparator = *nameSep; + } + else { + parser->m_internalEncoding = XmlGetInternalEncoding(); + } + + return parser; +} + +static void +parserInit(XML_Parser parser, const XML_Char *encodingName) +{ + parser->m_processor = prologInitProcessor; + XmlPrologStateInit(&parser->m_prologState); + if (encodingName != NULL) { + parser->m_protocolEncodingName = copyString(encodingName, &(parser->m_mem)); + } + parser->m_curBase = NULL; + XmlInitEncoding(&parser->m_initEncoding, &parser->m_encoding, 0); + parser->m_userData = NULL; + parser->m_handlerArg = NULL; + parser->m_startElementHandler = NULL; + parser->m_endElementHandler = NULL; + parser->m_characterDataHandler = NULL; + parser->m_processingInstructionHandler = NULL; + parser->m_commentHandler = NULL; + parser->m_startCdataSectionHandler = NULL; + parser->m_endCdataSectionHandler = NULL; + parser->m_defaultHandler = NULL; + parser->m_startDoctypeDeclHandler = NULL; + parser->m_endDoctypeDeclHandler = NULL; + parser->m_unparsedEntityDeclHandler = NULL; + parser->m_notationDeclHandler = NULL; + parser->m_startNamespaceDeclHandler = NULL; + parser->m_endNamespaceDeclHandler = NULL; + parser->m_notStandaloneHandler = NULL; + parser->m_externalEntityRefHandler = NULL; + parser->m_externalEntityRefHandlerArg = parser; + parser->m_skippedEntityHandler = NULL; + parser->m_elementDeclHandler = NULL; + parser->m_attlistDeclHandler = NULL; + parser->m_entityDeclHandler = NULL; + parser->m_xmlDeclHandler = NULL; + parser->m_bufferPtr = parser->m_buffer; + parser->m_bufferEnd = parser->m_buffer; + parser->m_parseEndByteIndex = 0; + parser->m_parseEndPtr = NULL; + parser->m_declElementType = NULL; + parser->m_declAttributeId = NULL; + parser->m_declEntity = NULL; + parser->m_doctypeName = NULL; + parser->m_doctypeSysid = NULL; + parser->m_doctypePubid = NULL; + parser->m_declAttributeType = NULL; + parser->m_declNotationName = NULL; + parser->m_declNotationPublicId = NULL; + parser->m_declAttributeIsCdata = XML_FALSE; + parser->m_declAttributeIsId = XML_FALSE; + memset(&parser->m_position, 0, sizeof(POSITION)); + parser->m_errorCode = XML_ERROR_NONE; + parser->m_eventPtr = NULL; + parser->m_eventEndPtr = NULL; + parser->m_positionPtr = NULL; + parser->m_openInternalEntities = NULL; + parser->m_defaultExpandInternalEntities = XML_TRUE; + parser->m_tagLevel = 0; + parser->m_tagStack = NULL; + parser->m_inheritedBindings = NULL; + parser->m_nSpecifiedAtts = 0; + parser->m_unknownEncodingMem = NULL; + parser->m_unknownEncodingRelease = NULL; + parser->m_unknownEncodingData = NULL; + parser->m_parentParser = NULL; + parser->m_parsingStatus.parsing = XML_INITIALIZED; +#ifdef XML_DTD + parser->m_isParamEntity = XML_FALSE; + parser->m_useForeignDTD = XML_FALSE; + parser->m_paramEntityParsing = XML_PARAM_ENTITY_PARSING_NEVER; +#endif + parser->m_hash_secret_salt = 0; +} + +/* moves list of bindings to m_freeBindingList */ +static void FASTCALL +moveToFreeBindingList(XML_Parser parser, BINDING *bindings) +{ + while (bindings) { + BINDING *b = bindings; + bindings = bindings->nextTagBinding; + b->nextTagBinding = parser->m_freeBindingList; + parser->m_freeBindingList = b; + } +} + +XML_Bool XMLCALL +XML_ParserReset(XML_Parser parser, const XML_Char *encodingName) +{ + TAG *tStk; + OPEN_INTERNAL_ENTITY *openEntityList; + + if (parser == NULL) + return XML_FALSE; + + if (parser->m_parentParser) + return XML_FALSE; + /* move m_tagStack to m_freeTagList */ + tStk = parser->m_tagStack; + while (tStk) { + TAG *tag = tStk; + tStk = tStk->parent; + tag->parent = parser->m_freeTagList; + moveToFreeBindingList(parser, tag->bindings); + tag->bindings = NULL; + parser->m_freeTagList = tag; + } + /* move m_openInternalEntities to m_freeInternalEntities */ + openEntityList = parser->m_openInternalEntities; + while (openEntityList) { + OPEN_INTERNAL_ENTITY *openEntity = openEntityList; + openEntityList = openEntity->next; + openEntity->next = parser->m_freeInternalEntities; + parser->m_freeInternalEntities = openEntity; + } + moveToFreeBindingList(parser, parser->m_inheritedBindings); + FREE(parser, parser->m_unknownEncodingMem); + if (parser->m_unknownEncodingRelease) + parser->m_unknownEncodingRelease(parser->m_unknownEncodingData); + poolClear(&parser->m_tempPool); + poolClear(&parser->m_temp2Pool); + FREE(parser, (void *)parser->m_protocolEncodingName); + parser->m_protocolEncodingName = NULL; + parserInit(parser, encodingName); + dtdReset(parser->m_dtd, &parser->m_mem); + return XML_TRUE; +} + +enum XML_Status XMLCALL +XML_SetEncoding(XML_Parser parser, const XML_Char *encodingName) +{ + if (parser == NULL) + return XML_STATUS_ERROR; + /* Block after XML_Parse()/XML_ParseBuffer() has been called. + XXX There's no way for the caller to determine which of the + XXX possible error cases caused the XML_STATUS_ERROR return. + */ + if (parser->m_parsingStatus.parsing == XML_PARSING || parser->m_parsingStatus.parsing == XML_SUSPENDED) + return XML_STATUS_ERROR; + + /* Get rid of any previous encoding name */ + FREE(parser, (void *)parser->m_protocolEncodingName); + + if (encodingName == NULL) + /* No new encoding name */ + parser->m_protocolEncodingName = NULL; + else { + /* Copy the new encoding name into allocated memory */ + parser->m_protocolEncodingName = copyString(encodingName, &(parser->m_mem)); + if (!parser->m_protocolEncodingName) + return XML_STATUS_ERROR; + } + return XML_STATUS_OK; +} + +XML_Parser XMLCALL +XML_ExternalEntityParserCreate(XML_Parser oldParser, + const XML_Char *context, + const XML_Char *encodingName) +{ + XML_Parser parser = oldParser; + DTD *newDtd = NULL; + DTD *oldDtd; + XML_StartElementHandler oldStartElementHandler; + XML_EndElementHandler oldEndElementHandler; + XML_CharacterDataHandler oldCharacterDataHandler; + XML_ProcessingInstructionHandler oldProcessingInstructionHandler; + XML_CommentHandler oldCommentHandler; + XML_StartCdataSectionHandler oldStartCdataSectionHandler; + XML_EndCdataSectionHandler oldEndCdataSectionHandler; + XML_DefaultHandler oldDefaultHandler; + XML_UnparsedEntityDeclHandler oldUnparsedEntityDeclHandler; + XML_NotationDeclHandler oldNotationDeclHandler; + XML_StartNamespaceDeclHandler oldStartNamespaceDeclHandler; + XML_EndNamespaceDeclHandler oldEndNamespaceDeclHandler; + XML_NotStandaloneHandler oldNotStandaloneHandler; + XML_ExternalEntityRefHandler oldExternalEntityRefHandler; + XML_SkippedEntityHandler oldSkippedEntityHandler; + XML_UnknownEncodingHandler oldUnknownEncodingHandler; + XML_ElementDeclHandler oldElementDeclHandler; + XML_AttlistDeclHandler oldAttlistDeclHandler; + XML_EntityDeclHandler oldEntityDeclHandler; + XML_XmlDeclHandler oldXmlDeclHandler; + ELEMENT_TYPE * oldDeclElementType; + + void *oldUserData; + void *oldHandlerArg; + XML_Bool oldDefaultExpandInternalEntities; + XML_Parser oldExternalEntityRefHandlerArg; +#ifdef XML_DTD + enum XML_ParamEntityParsing oldParamEntityParsing; + int oldInEntityValue; +#endif + XML_Bool oldns_triplets; + /* Note that the new parser shares the same hash secret as the old + parser, so that dtdCopy and copyEntityTable can lookup values + from hash tables associated with either parser without us having + to worry which hash secrets each table has. + */ + unsigned long oldhash_secret_salt; + + /* Validate the oldParser parameter before we pull everything out of it */ + if (oldParser == NULL) + return NULL; + + /* Stash the original parser contents on the stack */ + oldDtd = parser->m_dtd; + oldStartElementHandler = parser->m_startElementHandler; + oldEndElementHandler = parser->m_endElementHandler; + oldCharacterDataHandler = parser->m_characterDataHandler; + oldProcessingInstructionHandler = parser->m_processingInstructionHandler; + oldCommentHandler = parser->m_commentHandler; + oldStartCdataSectionHandler = parser->m_startCdataSectionHandler; + oldEndCdataSectionHandler = parser->m_endCdataSectionHandler; + oldDefaultHandler = parser->m_defaultHandler; + oldUnparsedEntityDeclHandler = parser->m_unparsedEntityDeclHandler; + oldNotationDeclHandler = parser->m_notationDeclHandler; + oldStartNamespaceDeclHandler = parser->m_startNamespaceDeclHandler; + oldEndNamespaceDeclHandler = parser->m_endNamespaceDeclHandler; + oldNotStandaloneHandler = parser->m_notStandaloneHandler; + oldExternalEntityRefHandler = parser->m_externalEntityRefHandler; + oldSkippedEntityHandler = parser->m_skippedEntityHandler; + oldUnknownEncodingHandler = parser->m_unknownEncodingHandler; + oldElementDeclHandler = parser->m_elementDeclHandler; + oldAttlistDeclHandler = parser->m_attlistDeclHandler; + oldEntityDeclHandler = parser->m_entityDeclHandler; + oldXmlDeclHandler = parser->m_xmlDeclHandler; + oldDeclElementType = parser->m_declElementType; + + oldUserData = parser->m_userData; + oldHandlerArg = parser->m_handlerArg; + oldDefaultExpandInternalEntities = parser->m_defaultExpandInternalEntities; + oldExternalEntityRefHandlerArg = parser->m_externalEntityRefHandlerArg; +#ifdef XML_DTD + oldParamEntityParsing = parser->m_paramEntityParsing; + oldInEntityValue = parser->m_prologState.inEntityValue; +#endif + oldns_triplets = parser->m_ns_triplets; + /* Note that the new parser shares the same hash secret as the old + parser, so that dtdCopy and copyEntityTable can lookup values + from hash tables associated with either parser without us having + to worry which hash secrets each table has. + */ + oldhash_secret_salt = parser->m_hash_secret_salt; + +#ifdef XML_DTD + if (!context) + newDtd = oldDtd; +#endif /* XML_DTD */ + + /* Note that the magical uses of the pre-processor to make field + access look more like C++ require that `parser' be overwritten + here. This makes this function more painful to follow than it + would be otherwise. + */ + if (parser->m_ns) { + XML_Char tmp[2]; + *tmp = parser->m_namespaceSeparator; + parser = parserCreate(encodingName, &parser->m_mem, tmp, newDtd); + } + else { + parser = parserCreate(encodingName, &parser->m_mem, NULL, newDtd); + } + + if (!parser) + return NULL; + + parser->m_startElementHandler = oldStartElementHandler; + parser->m_endElementHandler = oldEndElementHandler; + parser->m_characterDataHandler = oldCharacterDataHandler; + parser->m_processingInstructionHandler = oldProcessingInstructionHandler; + parser->m_commentHandler = oldCommentHandler; + parser->m_startCdataSectionHandler = oldStartCdataSectionHandler; + parser->m_endCdataSectionHandler = oldEndCdataSectionHandler; + parser->m_defaultHandler = oldDefaultHandler; + parser->m_unparsedEntityDeclHandler = oldUnparsedEntityDeclHandler; + parser->m_notationDeclHandler = oldNotationDeclHandler; + parser->m_startNamespaceDeclHandler = oldStartNamespaceDeclHandler; + parser->m_endNamespaceDeclHandler = oldEndNamespaceDeclHandler; + parser->m_notStandaloneHandler = oldNotStandaloneHandler; + parser->m_externalEntityRefHandler = oldExternalEntityRefHandler; + parser->m_skippedEntityHandler = oldSkippedEntityHandler; + parser->m_unknownEncodingHandler = oldUnknownEncodingHandler; + parser->m_elementDeclHandler = oldElementDeclHandler; + parser->m_attlistDeclHandler = oldAttlistDeclHandler; + parser->m_entityDeclHandler = oldEntityDeclHandler; + parser->m_xmlDeclHandler = oldXmlDeclHandler; + parser->m_declElementType = oldDeclElementType; + parser->m_userData = oldUserData; + if (oldUserData == oldHandlerArg) + parser->m_handlerArg = parser->m_userData; + else + parser->m_handlerArg = parser; + if (oldExternalEntityRefHandlerArg != oldParser) + parser->m_externalEntityRefHandlerArg = oldExternalEntityRefHandlerArg; + parser->m_defaultExpandInternalEntities = oldDefaultExpandInternalEntities; + parser->m_ns_triplets = oldns_triplets; + parser->m_hash_secret_salt = oldhash_secret_salt; + parser->m_parentParser = oldParser; +#ifdef XML_DTD + parser->m_paramEntityParsing = oldParamEntityParsing; + parser->m_prologState.inEntityValue = oldInEntityValue; + if (context) { +#endif /* XML_DTD */ + if (!dtdCopy(oldParser, parser->m_dtd, oldDtd, &parser->m_mem) + || !setContext(parser, context)) { + XML_ParserFree(parser); + return NULL; + } + parser->m_processor = externalEntityInitProcessor; +#ifdef XML_DTD + } + else { + /* The DTD instance referenced by parser->m_dtd is shared between the document's + root parser and external PE parsers, therefore one does not need to + call setContext. In addition, one also *must* not call setContext, + because this would overwrite existing prefix->binding pointers in + parser->m_dtd with ones that get destroyed with the external PE parser. + This would leave those prefixes with dangling pointers. + */ + parser->m_isParamEntity = XML_TRUE; + XmlPrologStateInitExternalEntity(&parser->m_prologState); + parser->m_processor = externalParEntInitProcessor; + } +#endif /* XML_DTD */ + return parser; +} + +static void FASTCALL +destroyBindings(BINDING *bindings, XML_Parser parser) +{ + for (;;) { + BINDING *b = bindings; + if (!b) + break; + bindings = b->nextTagBinding; + FREE(parser, b->uri); + FREE(parser, b); + } +} + +void XMLCALL +XML_ParserFree(XML_Parser parser) +{ + TAG *tagList; + OPEN_INTERNAL_ENTITY *entityList; + if (parser == NULL) + return; + /* free m_tagStack and m_freeTagList */ + tagList = parser->m_tagStack; + for (;;) { + TAG *p; + if (tagList == NULL) { + if (parser->m_freeTagList == NULL) + break; + tagList = parser->m_freeTagList; + parser->m_freeTagList = NULL; + } + p = tagList; + tagList = tagList->parent; + FREE(parser, p->buf); + destroyBindings(p->bindings, parser); + FREE(parser, p); + } + /* free m_openInternalEntities and m_freeInternalEntities */ + entityList = parser->m_openInternalEntities; + for (;;) { + OPEN_INTERNAL_ENTITY *openEntity; + if (entityList == NULL) { + if (parser->m_freeInternalEntities == NULL) + break; + entityList = parser->m_freeInternalEntities; + parser->m_freeInternalEntities = NULL; + } + openEntity = entityList; + entityList = entityList->next; + FREE(parser, openEntity); + } + + destroyBindings(parser->m_freeBindingList, parser); + destroyBindings(parser->m_inheritedBindings, parser); + poolDestroy(&parser->m_tempPool); + poolDestroy(&parser->m_temp2Pool); + FREE(parser, (void *)parser->m_protocolEncodingName); +#ifdef XML_DTD + /* external parameter entity parsers share the DTD structure + parser->m_dtd with the root parser, so we must not destroy it + */ + if (!parser->m_isParamEntity && parser->m_dtd) +#else + if (parser->m_dtd) +#endif /* XML_DTD */ + dtdDestroy(parser->m_dtd, (XML_Bool)!parser->m_parentParser, &parser->m_mem); + FREE(parser, (void *)parser->m_atts); +#ifdef XML_ATTR_INFO + FREE(parser, (void *)parser->m_attInfo); +#endif + FREE(parser, parser->m_groupConnector); + FREE(parser, parser->m_buffer); + FREE(parser, parser->m_dataBuf); + FREE(parser, parser->m_nsAtts); + FREE(parser, parser->m_unknownEncodingMem); + if (parser->m_unknownEncodingRelease) + parser->m_unknownEncodingRelease(parser->m_unknownEncodingData); + FREE(parser, parser); +} + +void XMLCALL +XML_UseParserAsHandlerArg(XML_Parser parser) +{ + if (parser != NULL) + parser->m_handlerArg = parser; +} + +enum XML_Error XMLCALL +XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD) +{ + if (parser == NULL) + return XML_ERROR_INVALID_ARGUMENT; +#ifdef XML_DTD + /* block after XML_Parse()/XML_ParseBuffer() has been called */ + if (parser->m_parsingStatus.parsing == XML_PARSING || parser->m_parsingStatus.parsing == XML_SUSPENDED) + return XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING; + parser->m_useForeignDTD = useDTD; + return XML_ERROR_NONE; +#else + return XML_ERROR_FEATURE_REQUIRES_XML_DTD; +#endif +} + +void XMLCALL +XML_SetReturnNSTriplet(XML_Parser parser, int do_nst) +{ + if (parser == NULL) + return; + /* block after XML_Parse()/XML_ParseBuffer() has been called */ + if (parser->m_parsingStatus.parsing == XML_PARSING || parser->m_parsingStatus.parsing == XML_SUSPENDED) + return; + parser->m_ns_triplets = do_nst ? XML_TRUE : XML_FALSE; +} + +void XMLCALL +XML_SetUserData(XML_Parser parser, void *p) +{ + if (parser == NULL) + return; + if (parser->m_handlerArg == parser->m_userData) + parser->m_handlerArg = parser->m_userData = p; + else + parser->m_userData = p; +} + +enum XML_Status XMLCALL +XML_SetBase(XML_Parser parser, const XML_Char *p) +{ + if (parser == NULL) + return XML_STATUS_ERROR; + if (p) { + p = poolCopyString(&parser->m_dtd->pool, p); + if (!p) + return XML_STATUS_ERROR; + parser->m_curBase = p; + } + else + parser->m_curBase = NULL; + return XML_STATUS_OK; +} + +const XML_Char * XMLCALL +XML_GetBase(XML_Parser parser) +{ + if (parser == NULL) + return NULL; + return parser->m_curBase; +} + +int XMLCALL +XML_GetSpecifiedAttributeCount(XML_Parser parser) +{ + if (parser == NULL) + return -1; + return parser->m_nSpecifiedAtts; +} + +int XMLCALL +XML_GetIdAttributeIndex(XML_Parser parser) +{ + if (parser == NULL) + return -1; + return parser->m_idAttIndex; +} + +#ifdef XML_ATTR_INFO +const XML_AttrInfo * XMLCALL +XML_GetAttributeInfo(XML_Parser parser) +{ + if (parser == NULL) + return NULL; + return parser->m_attInfo; +} +#endif + +void XMLCALL +XML_SetElementHandler(XML_Parser parser, + XML_StartElementHandler start, + XML_EndElementHandler end) +{ + if (parser == NULL) + return; + parser->m_startElementHandler = start; + parser->m_endElementHandler = end; +} + +void XMLCALL +XML_SetStartElementHandler(XML_Parser parser, + XML_StartElementHandler start) { + if (parser != NULL) + parser->m_startElementHandler = start; +} + +void XMLCALL +XML_SetEndElementHandler(XML_Parser parser, + XML_EndElementHandler end) { + if (parser != NULL) + parser->m_endElementHandler = end; +} + +void XMLCALL +XML_SetCharacterDataHandler(XML_Parser parser, + XML_CharacterDataHandler handler) +{ + if (parser != NULL) + parser->m_characterDataHandler = handler; +} + +void XMLCALL +XML_SetProcessingInstructionHandler(XML_Parser parser, + XML_ProcessingInstructionHandler handler) +{ + if (parser != NULL) + parser->m_processingInstructionHandler = handler; +} + +void XMLCALL +XML_SetCommentHandler(XML_Parser parser, + XML_CommentHandler handler) +{ + if (parser != NULL) + parser->m_commentHandler = handler; +} + +void XMLCALL +XML_SetCdataSectionHandler(XML_Parser parser, + XML_StartCdataSectionHandler start, + XML_EndCdataSectionHandler end) +{ + if (parser == NULL) + return; + parser->m_startCdataSectionHandler = start; + parser->m_endCdataSectionHandler = end; +} + +void XMLCALL +XML_SetStartCdataSectionHandler(XML_Parser parser, + XML_StartCdataSectionHandler start) { + if (parser != NULL) + parser->m_startCdataSectionHandler = start; +} + +void XMLCALL +XML_SetEndCdataSectionHandler(XML_Parser parser, + XML_EndCdataSectionHandler end) { + if (parser != NULL) + parser->m_endCdataSectionHandler = end; +} + +void XMLCALL +XML_SetDefaultHandler(XML_Parser parser, + XML_DefaultHandler handler) +{ + if (parser == NULL) + return; + parser->m_defaultHandler = handler; + parser->m_defaultExpandInternalEntities = XML_FALSE; +} + +void XMLCALL +XML_SetDefaultHandlerExpand(XML_Parser parser, + XML_DefaultHandler handler) +{ + if (parser == NULL) + return; + parser->m_defaultHandler = handler; + parser->m_defaultExpandInternalEntities = XML_TRUE; +} + +void XMLCALL +XML_SetDoctypeDeclHandler(XML_Parser parser, + XML_StartDoctypeDeclHandler start, + XML_EndDoctypeDeclHandler end) +{ + if (parser == NULL) + return; + parser->m_startDoctypeDeclHandler = start; + parser->m_endDoctypeDeclHandler = end; +} + +void XMLCALL +XML_SetStartDoctypeDeclHandler(XML_Parser parser, + XML_StartDoctypeDeclHandler start) { + if (parser != NULL) + parser->m_startDoctypeDeclHandler = start; +} + +void XMLCALL +XML_SetEndDoctypeDeclHandler(XML_Parser parser, + XML_EndDoctypeDeclHandler end) { + if (parser != NULL) + parser->m_endDoctypeDeclHandler = end; +} + +void XMLCALL +XML_SetUnparsedEntityDeclHandler(XML_Parser parser, + XML_UnparsedEntityDeclHandler handler) +{ + if (parser != NULL) + parser->m_unparsedEntityDeclHandler = handler; +} + +void XMLCALL +XML_SetNotationDeclHandler(XML_Parser parser, + XML_NotationDeclHandler handler) +{ + if (parser != NULL) + parser->m_notationDeclHandler = handler; +} + +void XMLCALL +XML_SetNamespaceDeclHandler(XML_Parser parser, + XML_StartNamespaceDeclHandler start, + XML_EndNamespaceDeclHandler end) +{ + if (parser == NULL) + return; + parser->m_startNamespaceDeclHandler = start; + parser->m_endNamespaceDeclHandler = end; +} + +void XMLCALL +XML_SetStartNamespaceDeclHandler(XML_Parser parser, + XML_StartNamespaceDeclHandler start) { + if (parser != NULL) + parser->m_startNamespaceDeclHandler = start; +} + +void XMLCALL +XML_SetEndNamespaceDeclHandler(XML_Parser parser, + XML_EndNamespaceDeclHandler end) { + if (parser != NULL) + parser->m_endNamespaceDeclHandler = end; +} + +void XMLCALL +XML_SetNotStandaloneHandler(XML_Parser parser, + XML_NotStandaloneHandler handler) +{ + if (parser != NULL) + parser->m_notStandaloneHandler = handler; +} + +void XMLCALL +XML_SetExternalEntityRefHandler(XML_Parser parser, + XML_ExternalEntityRefHandler handler) +{ + if (parser != NULL) + parser->m_externalEntityRefHandler = handler; +} + +void XMLCALL +XML_SetExternalEntityRefHandlerArg(XML_Parser parser, void *arg) +{ + if (parser == NULL) + return; + if (arg) + parser->m_externalEntityRefHandlerArg = (XML_Parser)arg; + else + parser->m_externalEntityRefHandlerArg = parser; +} + +void XMLCALL +XML_SetSkippedEntityHandler(XML_Parser parser, + XML_SkippedEntityHandler handler) +{ + if (parser != NULL) + parser->m_skippedEntityHandler = handler; +} + +void XMLCALL +XML_SetUnknownEncodingHandler(XML_Parser parser, + XML_UnknownEncodingHandler handler, + void *data) +{ + if (parser == NULL) + return; + parser->m_unknownEncodingHandler = handler; + parser->m_unknownEncodingHandlerData = data; +} + +void XMLCALL +XML_SetElementDeclHandler(XML_Parser parser, + XML_ElementDeclHandler eldecl) +{ + if (parser != NULL) + parser->m_elementDeclHandler = eldecl; +} + +void XMLCALL +XML_SetAttlistDeclHandler(XML_Parser parser, + XML_AttlistDeclHandler attdecl) +{ + if (parser != NULL) + parser->m_attlistDeclHandler = attdecl; +} + +void XMLCALL +XML_SetEntityDeclHandler(XML_Parser parser, + XML_EntityDeclHandler handler) +{ + if (parser != NULL) + parser->m_entityDeclHandler = handler; +} + +void XMLCALL +XML_SetXmlDeclHandler(XML_Parser parser, + XML_XmlDeclHandler handler) { + if (parser != NULL) + parser->m_xmlDeclHandler = handler; +} + +int XMLCALL +XML_SetParamEntityParsing(XML_Parser parser, + enum XML_ParamEntityParsing peParsing) +{ + if (parser == NULL) + return 0; + /* block after XML_Parse()/XML_ParseBuffer() has been called */ + if (parser->m_parsingStatus.parsing == XML_PARSING || parser->m_parsingStatus.parsing == XML_SUSPENDED) + return 0; +#ifdef XML_DTD + parser->m_paramEntityParsing = peParsing; + return 1; +#else + return peParsing == XML_PARAM_ENTITY_PARSING_NEVER; +#endif +} + +int XMLCALL +XML_SetHashSalt(XML_Parser parser, + unsigned long hash_salt) +{ + if (parser == NULL) + return 0; + if (parser->m_parentParser) + return XML_SetHashSalt(parser->m_parentParser, hash_salt); + /* block after XML_Parse()/XML_ParseBuffer() has been called */ + if (parser->m_parsingStatus.parsing == XML_PARSING || parser->m_parsingStatus.parsing == XML_SUSPENDED) + return 0; + parser->m_hash_secret_salt = hash_salt; + return 1; +} + +enum XML_Status XMLCALL +XML_Parse(XML_Parser parser, const char *s, int len, int isFinal) +{ + if ((parser == NULL) || (len < 0) || ((s == NULL) && (len != 0))) { + if (parser != NULL) + parser->m_errorCode = XML_ERROR_INVALID_ARGUMENT; + return XML_STATUS_ERROR; + } + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + parser->m_errorCode = XML_ERROR_SUSPENDED; + return XML_STATUS_ERROR; + case XML_FINISHED: + parser->m_errorCode = XML_ERROR_FINISHED; + return XML_STATUS_ERROR; + case XML_INITIALIZED: + if (parser->m_parentParser == NULL && !startParsing(parser)) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + return XML_STATUS_ERROR; + } + default: + parser->m_parsingStatus.parsing = XML_PARSING; + } + + if (len == 0) { + parser->m_parsingStatus.finalBuffer = (XML_Bool)isFinal; + if (!isFinal) + return XML_STATUS_OK; + parser->m_positionPtr = parser->m_bufferPtr; + parser->m_parseEndPtr = parser->m_bufferEnd; + + /* If data are left over from last buffer, and we now know that these + data are the final chunk of input, then we have to check them again + to detect errors based on that fact. + */ + parser->m_errorCode = parser->m_processor(parser, parser->m_bufferPtr, parser->m_parseEndPtr, &parser->m_bufferPtr); + + if (parser->m_errorCode == XML_ERROR_NONE) { + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + /* It is hard to be certain, but it seems that this case + * cannot occur. This code is cleaning up a previous parse + * with no new data (since len == 0). Changing the parsing + * state requires getting to execute a handler function, and + * there doesn't seem to be an opportunity for that while in + * this circumstance. + * + * Given the uncertainty, we retain the code but exclude it + * from coverage tests. + * + * LCOV_EXCL_START + */ + XmlUpdatePosition(parser->m_encoding, parser->m_positionPtr, parser->m_bufferPtr, &parser->m_position); + parser->m_positionPtr = parser->m_bufferPtr; + return XML_STATUS_SUSPENDED; + /* LCOV_EXCL_STOP */ + case XML_INITIALIZED: + case XML_PARSING: + parser->m_parsingStatus.parsing = XML_FINISHED; + /* fall through */ + default: + return XML_STATUS_OK; + } + } + parser->m_eventEndPtr = parser->m_eventPtr; + parser->m_processor = errorProcessor; + return XML_STATUS_ERROR; + } +#ifndef XML_CONTEXT_BYTES + else if (parser->m_bufferPtr == parser->m_bufferEnd) { + const char *end; + int nLeftOver; + enum XML_Status result; + /* Detect overflow (a+b > MAX <==> b > MAX-a) */ + if (len > ((XML_Size)-1) / 2 - parser->m_parseEndByteIndex) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + parser->m_eventPtr = parser->m_eventEndPtr = NULL; + parser->m_processor = errorProcessor; + return XML_STATUS_ERROR; + } + parser->m_parseEndByteIndex += len; + parser->m_positionPtr = s; + parser->m_parsingStatus.finalBuffer = (XML_Bool)isFinal; + + parser->m_errorCode = parser->m_processor(parser, s, parser->m_parseEndPtr = s + len, &end); + + if (parser->m_errorCode != XML_ERROR_NONE) { + parser->m_eventEndPtr = parser->m_eventPtr; + parser->m_processor = errorProcessor; + return XML_STATUS_ERROR; + } + else { + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + result = XML_STATUS_SUSPENDED; + break; + case XML_INITIALIZED: + case XML_PARSING: + if (isFinal) { + parser->m_parsingStatus.parsing = XML_FINISHED; + return XML_STATUS_OK; + } + /* fall through */ + default: + result = XML_STATUS_OK; + } + } + + XmlUpdatePosition(parser->m_encoding, parser->m_positionPtr, end, &parser->m_position); + nLeftOver = s + len - end; + if (nLeftOver) { + if (parser->m_buffer == NULL || nLeftOver > parser->m_bufferLim - parser->m_buffer) { + /* avoid _signed_ integer overflow */ + char *temp = NULL; + const int bytesToAllocate = (int)((unsigned)len * 2U); + if (bytesToAllocate > 0) { + temp = (char *)REALLOC(parser, parser->m_buffer, bytesToAllocate); + } + if (temp == NULL) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + parser->m_eventPtr = parser->m_eventEndPtr = NULL; + parser->m_processor = errorProcessor; + return XML_STATUS_ERROR; + } + parser->m_buffer = temp; + parser->m_bufferLim = parser->m_buffer + bytesToAllocate; + } + memcpy(parser->m_buffer, end, nLeftOver); + } + parser->m_bufferPtr = parser->m_buffer; + parser->m_bufferEnd = parser->m_buffer + nLeftOver; + parser->m_positionPtr = parser->m_bufferPtr; + parser->m_parseEndPtr = parser->m_bufferEnd; + parser->m_eventPtr = parser->m_bufferPtr; + parser->m_eventEndPtr = parser->m_bufferPtr; + return result; + } +#endif /* not defined XML_CONTEXT_BYTES */ + else { + void *buff = XML_GetBuffer(parser, len); + if (buff == NULL) + return XML_STATUS_ERROR; + else { + memcpy(buff, s, len); + return XML_ParseBuffer(parser, len, isFinal); + } + } +} + +enum XML_Status XMLCALL +XML_ParseBuffer(XML_Parser parser, int len, int isFinal) +{ + const char *start; + enum XML_Status result = XML_STATUS_OK; + + if (parser == NULL) + return XML_STATUS_ERROR; + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + parser->m_errorCode = XML_ERROR_SUSPENDED; + return XML_STATUS_ERROR; + case XML_FINISHED: + parser->m_errorCode = XML_ERROR_FINISHED; + return XML_STATUS_ERROR; + case XML_INITIALIZED: + if (parser->m_parentParser == NULL && !startParsing(parser)) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + return XML_STATUS_ERROR; + } + default: + parser->m_parsingStatus.parsing = XML_PARSING; + } + + start = parser->m_bufferPtr; + parser->m_positionPtr = start; + parser->m_bufferEnd += len; + parser->m_parseEndPtr = parser->m_bufferEnd; + parser->m_parseEndByteIndex += len; + parser->m_parsingStatus.finalBuffer = (XML_Bool)isFinal; + + parser->m_errorCode = parser->m_processor(parser, start, parser->m_parseEndPtr, &parser->m_bufferPtr); + + if (parser->m_errorCode != XML_ERROR_NONE) { + parser->m_eventEndPtr = parser->m_eventPtr; + parser->m_processor = errorProcessor; + return XML_STATUS_ERROR; + } + else { + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + result = XML_STATUS_SUSPENDED; + break; + case XML_INITIALIZED: + case XML_PARSING: + if (isFinal) { + parser->m_parsingStatus.parsing = XML_FINISHED; + return result; + } + default: ; /* should not happen */ + } + } + + XmlUpdatePosition(parser->m_encoding, parser->m_positionPtr, parser->m_bufferPtr, &parser->m_position); + parser->m_positionPtr = parser->m_bufferPtr; + return result; +} + +void * XMLCALL +XML_GetBuffer(XML_Parser parser, int len) +{ + if (parser == NULL) + return NULL; + if (len < 0) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + return NULL; + } + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + parser->m_errorCode = XML_ERROR_SUSPENDED; + return NULL; + case XML_FINISHED: + parser->m_errorCode = XML_ERROR_FINISHED; + return NULL; + default: ; + } + + if (len > parser->m_bufferLim - parser->m_bufferEnd) { +#ifdef XML_CONTEXT_BYTES + int keep; +#endif /* defined XML_CONTEXT_BYTES */ + /* Do not invoke signed arithmetic overflow: */ + int neededSize = (int) ((unsigned)len + (unsigned)(parser->m_bufferEnd - parser->m_bufferPtr)); + if (neededSize < 0) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + return NULL; + } +#ifdef XML_CONTEXT_BYTES + keep = (int)(parser->m_bufferPtr - parser->m_buffer); + if (keep > XML_CONTEXT_BYTES) + keep = XML_CONTEXT_BYTES; + neededSize += keep; +#endif /* defined XML_CONTEXT_BYTES */ + if (neededSize <= parser->m_bufferLim - parser->m_buffer) { +#ifdef XML_CONTEXT_BYTES + if (keep < parser->m_bufferPtr - parser->m_buffer) { + int offset = (int)(parser->m_bufferPtr - parser->m_buffer) - keep; + memmove(parser->m_buffer, &parser->m_buffer[offset], parser->m_bufferEnd - parser->m_bufferPtr + keep); + parser->m_bufferEnd -= offset; + parser->m_bufferPtr -= offset; + } +#else + memmove(parser->m_buffer, parser->m_bufferPtr, parser->m_bufferEnd - parser->m_bufferPtr); + parser->m_bufferEnd = parser->m_buffer + (parser->m_bufferEnd - parser->m_bufferPtr); + parser->m_bufferPtr = parser->m_buffer; +#endif /* not defined XML_CONTEXT_BYTES */ + } + else { + char *newBuf; + int bufferSize = (int)(parser->m_bufferLim - parser->m_bufferPtr); + if (bufferSize == 0) + bufferSize = INIT_BUFFER_SIZE; + do { + /* Do not invoke signed arithmetic overflow: */ + bufferSize = (int) (2U * (unsigned) bufferSize); + } while (bufferSize < neededSize && bufferSize > 0); + if (bufferSize <= 0) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + return NULL; + } + newBuf = (char *)MALLOC(parser, bufferSize); + if (newBuf == 0) { + parser->m_errorCode = XML_ERROR_NO_MEMORY; + return NULL; + } + parser->m_bufferLim = newBuf + bufferSize; +#ifdef XML_CONTEXT_BYTES + if (parser->m_bufferPtr) { + int keep = (int)(parser->m_bufferPtr - parser->m_buffer); + if (keep > XML_CONTEXT_BYTES) + keep = XML_CONTEXT_BYTES; + memcpy(newBuf, &parser->m_bufferPtr[-keep], parser->m_bufferEnd - parser->m_bufferPtr + keep); + FREE(parser, parser->m_buffer); + parser->m_buffer = newBuf; + parser->m_bufferEnd = parser->m_buffer + (parser->m_bufferEnd - parser->m_bufferPtr) + keep; + parser->m_bufferPtr = parser->m_buffer + keep; + } + else { + parser->m_bufferEnd = newBuf + (parser->m_bufferEnd - parser->m_bufferPtr); + parser->m_bufferPtr = parser->m_buffer = newBuf; + } +#else + if (parser->m_bufferPtr) { + memcpy(newBuf, parser->m_bufferPtr, parser->m_bufferEnd - parser->m_bufferPtr); + FREE(parser, parser->m_buffer); + } + parser->m_bufferEnd = newBuf + (parser->m_bufferEnd - parser->m_bufferPtr); + parser->m_bufferPtr = parser->m_buffer = newBuf; +#endif /* not defined XML_CONTEXT_BYTES */ + } + parser->m_eventPtr = parser->m_eventEndPtr = NULL; + parser->m_positionPtr = NULL; + } + return parser->m_bufferEnd; +} + +enum XML_Status XMLCALL +XML_StopParser(XML_Parser parser, XML_Bool resumable) +{ + if (parser == NULL) + return XML_STATUS_ERROR; + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + if (resumable) { + parser->m_errorCode = XML_ERROR_SUSPENDED; + return XML_STATUS_ERROR; + } + parser->m_parsingStatus.parsing = XML_FINISHED; + break; + case XML_FINISHED: + parser->m_errorCode = XML_ERROR_FINISHED; + return XML_STATUS_ERROR; + default: + if (resumable) { +#ifdef XML_DTD + if (parser->m_isParamEntity) { + parser->m_errorCode = XML_ERROR_SUSPEND_PE; + return XML_STATUS_ERROR; + } +#endif + parser->m_parsingStatus.parsing = XML_SUSPENDED; + } + else + parser->m_parsingStatus.parsing = XML_FINISHED; + } + return XML_STATUS_OK; +} + +enum XML_Status XMLCALL +XML_ResumeParser(XML_Parser parser) +{ + enum XML_Status result = XML_STATUS_OK; + + if (parser == NULL) + return XML_STATUS_ERROR; + if (parser->m_parsingStatus.parsing != XML_SUSPENDED) { + parser->m_errorCode = XML_ERROR_NOT_SUSPENDED; + return XML_STATUS_ERROR; + } + parser->m_parsingStatus.parsing = XML_PARSING; + + parser->m_errorCode = parser->m_processor(parser, parser->m_bufferPtr, parser->m_parseEndPtr, &parser->m_bufferPtr); + + if (parser->m_errorCode != XML_ERROR_NONE) { + parser->m_eventEndPtr = parser->m_eventPtr; + parser->m_processor = errorProcessor; + return XML_STATUS_ERROR; + } + else { + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + result = XML_STATUS_SUSPENDED; + break; + case XML_INITIALIZED: + case XML_PARSING: + if (parser->m_parsingStatus.finalBuffer) { + parser->m_parsingStatus.parsing = XML_FINISHED; + return result; + } + default: ; + } + } + + XmlUpdatePosition(parser->m_encoding, parser->m_positionPtr, parser->m_bufferPtr, &parser->m_position); + parser->m_positionPtr = parser->m_bufferPtr; + return result; +} + +void XMLCALL +XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status) +{ + if (parser == NULL) + return; + assert(status != NULL); + *status = parser->m_parsingStatus; +} + +enum XML_Error XMLCALL +XML_GetErrorCode(XML_Parser parser) +{ + if (parser == NULL) + return XML_ERROR_INVALID_ARGUMENT; + return parser->m_errorCode; +} + +XML_Index XMLCALL +XML_GetCurrentByteIndex(XML_Parser parser) +{ + if (parser == NULL) + return -1; + if (parser->m_eventPtr) + return (XML_Index)(parser->m_parseEndByteIndex - (parser->m_parseEndPtr - parser->m_eventPtr)); + return -1; +} + +int XMLCALL +XML_GetCurrentByteCount(XML_Parser parser) +{ + if (parser == NULL) + return 0; + if (parser->m_eventEndPtr && parser->m_eventPtr) + return (int)(parser->m_eventEndPtr - parser->m_eventPtr); + return 0; +} + +const char * XMLCALL +XML_GetInputContext(XML_Parser parser, int *offset, int *size) +{ +#ifdef XML_CONTEXT_BYTES + if (parser == NULL) + return NULL; + if (parser->m_eventPtr && parser->m_buffer) { + if (offset != NULL) + *offset = (int)(parser->m_eventPtr - parser->m_buffer); + if (size != NULL) + *size = (int)(parser->m_bufferEnd - parser->m_buffer); + return parser->m_buffer; + } +#else + (void)parser; + (void)offset; + (void)size; +#endif /* defined XML_CONTEXT_BYTES */ + return (char *) 0; +} + +XML_Size XMLCALL +XML_GetCurrentLineNumber(XML_Parser parser) +{ + if (parser == NULL) + return 0; + if (parser->m_eventPtr && parser->m_eventPtr >= parser->m_positionPtr) { + XmlUpdatePosition(parser->m_encoding, parser->m_positionPtr, parser->m_eventPtr, &parser->m_position); + parser->m_positionPtr = parser->m_eventPtr; + } + return parser->m_position.lineNumber + 1; +} + +XML_Size XMLCALL +XML_GetCurrentColumnNumber(XML_Parser parser) +{ + if (parser == NULL) + return 0; + if (parser->m_eventPtr && parser->m_eventPtr >= parser->m_positionPtr) { + XmlUpdatePosition(parser->m_encoding, parser->m_positionPtr, parser->m_eventPtr, &parser->m_position); + parser->m_positionPtr = parser->m_eventPtr; + } + return parser->m_position.columnNumber; +} + +void XMLCALL +XML_FreeContentModel(XML_Parser parser, XML_Content *model) +{ + if (parser != NULL) + FREE(parser, model); +} + +void * XMLCALL +XML_MemMalloc(XML_Parser parser, size_t size) +{ + if (parser == NULL) + return NULL; + return MALLOC(parser, size); +} + +void * XMLCALL +XML_MemRealloc(XML_Parser parser, void *ptr, size_t size) +{ + if (parser == NULL) + return NULL; + return REALLOC(parser, ptr, size); +} + +void XMLCALL +XML_MemFree(XML_Parser parser, void *ptr) +{ + if (parser != NULL) + FREE(parser, ptr); +} + +void XMLCALL +XML_DefaultCurrent(XML_Parser parser) +{ + if (parser == NULL) + return; + if (parser->m_defaultHandler) { + if (parser->m_openInternalEntities) + reportDefault(parser, + parser->m_internalEncoding, + parser->m_openInternalEntities->internalEventPtr, + parser->m_openInternalEntities->internalEventEndPtr); + else + reportDefault(parser, parser->m_encoding, parser->m_eventPtr, parser->m_eventEndPtr); + } +} + +const XML_LChar * XMLCALL +XML_ErrorString(enum XML_Error code) +{ + switch (code) { + case XML_ERROR_NONE: + return NULL; + case XML_ERROR_NO_MEMORY: + return XML_L("out of memory"); + case XML_ERROR_SYNTAX: + return XML_L("syntax error"); + case XML_ERROR_NO_ELEMENTS: + return XML_L("no element found"); + case XML_ERROR_INVALID_TOKEN: + return XML_L("not well-formed (invalid token)"); + case XML_ERROR_UNCLOSED_TOKEN: + return XML_L("unclosed token"); + case XML_ERROR_PARTIAL_CHAR: + return XML_L("partial character"); + case XML_ERROR_TAG_MISMATCH: + return XML_L("mismatched tag"); + case XML_ERROR_DUPLICATE_ATTRIBUTE: + return XML_L("duplicate attribute"); + case XML_ERROR_JUNK_AFTER_DOC_ELEMENT: + return XML_L("junk after document element"); + case XML_ERROR_PARAM_ENTITY_REF: + return XML_L("illegal parameter entity reference"); + case XML_ERROR_UNDEFINED_ENTITY: + return XML_L("undefined entity"); + case XML_ERROR_RECURSIVE_ENTITY_REF: + return XML_L("recursive entity reference"); + case XML_ERROR_ASYNC_ENTITY: + return XML_L("asynchronous entity"); + case XML_ERROR_BAD_CHAR_REF: + return XML_L("reference to invalid character number"); + case XML_ERROR_BINARY_ENTITY_REF: + return XML_L("reference to binary entity"); + case XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF: + return XML_L("reference to external entity in attribute"); + case XML_ERROR_MISPLACED_XML_PI: + return XML_L("XML or text declaration not at start of entity"); + case XML_ERROR_UNKNOWN_ENCODING: + return XML_L("unknown encoding"); + case XML_ERROR_INCORRECT_ENCODING: + return XML_L("encoding specified in XML declaration is incorrect"); + case XML_ERROR_UNCLOSED_CDATA_SECTION: + return XML_L("unclosed CDATA section"); + case XML_ERROR_EXTERNAL_ENTITY_HANDLING: + return XML_L("error in processing external entity reference"); + case XML_ERROR_NOT_STANDALONE: + return XML_L("document is not standalone"); + case XML_ERROR_UNEXPECTED_STATE: + return XML_L("unexpected parser state - please send a bug report"); + case XML_ERROR_ENTITY_DECLARED_IN_PE: + return XML_L("entity declared in parameter entity"); + case XML_ERROR_FEATURE_REQUIRES_XML_DTD: + return XML_L("requested feature requires XML_DTD support in Expat"); + case XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING: + return XML_L("cannot change setting once parsing has begun"); + /* Added in 1.95.7. */ + case XML_ERROR_UNBOUND_PREFIX: + return XML_L("unbound prefix"); + /* Added in 1.95.8. */ + case XML_ERROR_UNDECLARING_PREFIX: + return XML_L("must not undeclare prefix"); + case XML_ERROR_INCOMPLETE_PE: + return XML_L("incomplete markup in parameter entity"); + case XML_ERROR_XML_DECL: + return XML_L("XML declaration not well-formed"); + case XML_ERROR_TEXT_DECL: + return XML_L("text declaration not well-formed"); + case XML_ERROR_PUBLICID: + return XML_L("illegal character(s) in public id"); + case XML_ERROR_SUSPENDED: + return XML_L("parser suspended"); + case XML_ERROR_NOT_SUSPENDED: + return XML_L("parser not suspended"); + case XML_ERROR_ABORTED: + return XML_L("parsing aborted"); + case XML_ERROR_FINISHED: + return XML_L("parsing finished"); + case XML_ERROR_SUSPEND_PE: + return XML_L("cannot suspend in external parameter entity"); + /* Added in 2.0.0. */ + case XML_ERROR_RESERVED_PREFIX_XML: + return XML_L("reserved prefix (xml) must not be undeclared or bound to another namespace name"); + case XML_ERROR_RESERVED_PREFIX_XMLNS: + return XML_L("reserved prefix (xmlns) must not be declared or undeclared"); + case XML_ERROR_RESERVED_NAMESPACE_URI: + return XML_L("prefix must not be bound to one of the reserved namespace names"); + /* Added in 2.2.5. */ + case XML_ERROR_INVALID_ARGUMENT: /* Constant added in 2.2.1, already */ + return XML_L("invalid argument"); + } + return NULL; +} + +const XML_LChar * XMLCALL +XML_ExpatVersion(void) { + + /* V1 is used to string-ize the version number. However, it would + string-ize the actual version macro *names* unless we get them + substituted before being passed to V1. CPP is defined to expand + a macro, then rescan for more expansions. Thus, we use V2 to expand + the version macros, then CPP will expand the resulting V1() macro + with the correct numerals. */ + /* ### I'm assuming cpp is portable in this respect... */ + +#define V1(a,b,c) XML_L(#a)XML_L(".")XML_L(#b)XML_L(".")XML_L(#c) +#define V2(a,b,c) XML_L("expat_")V1(a,b,c) + + return V2(XML_MAJOR_VERSION, XML_MINOR_VERSION, XML_MICRO_VERSION); + +#undef V1 +#undef V2 +} + +XML_Expat_Version XMLCALL +XML_ExpatVersionInfo(void) +{ + XML_Expat_Version version; + + version.major = XML_MAJOR_VERSION; + version.minor = XML_MINOR_VERSION; + version.micro = XML_MICRO_VERSION; + + return version; +} + +const XML_Feature * XMLCALL +XML_GetFeatureList(void) +{ + static const XML_Feature features[] = { + {XML_FEATURE_SIZEOF_XML_CHAR, XML_L("sizeof(XML_Char)"), + sizeof(XML_Char)}, + {XML_FEATURE_SIZEOF_XML_LCHAR, XML_L("sizeof(XML_LChar)"), + sizeof(XML_LChar)}, +#ifdef XML_UNICODE + {XML_FEATURE_UNICODE, XML_L("XML_UNICODE"), 0}, +#endif +#ifdef XML_UNICODE_WCHAR_T + {XML_FEATURE_UNICODE_WCHAR_T, XML_L("XML_UNICODE_WCHAR_T"), 0}, +#endif +#ifdef XML_DTD + {XML_FEATURE_DTD, XML_L("XML_DTD"), 0}, +#endif +#ifdef XML_CONTEXT_BYTES + {XML_FEATURE_CONTEXT_BYTES, XML_L("XML_CONTEXT_BYTES"), + XML_CONTEXT_BYTES}, +#endif +#ifdef XML_MIN_SIZE + {XML_FEATURE_MIN_SIZE, XML_L("XML_MIN_SIZE"), 0}, +#endif +#ifdef XML_NS + {XML_FEATURE_NS, XML_L("XML_NS"), 0}, +#endif +#ifdef XML_LARGE_SIZE + {XML_FEATURE_LARGE_SIZE, XML_L("XML_LARGE_SIZE"), 0}, +#endif +#ifdef XML_ATTR_INFO + {XML_FEATURE_ATTR_INFO, XML_L("XML_ATTR_INFO"), 0}, +#endif + {XML_FEATURE_END, NULL, 0} + }; + + return features; +} + +/* Initially tag->rawName always points into the parse buffer; + for those TAG instances opened while the current parse buffer was + processed, and not yet closed, we need to store tag->rawName in a more + permanent location, since the parse buffer is about to be discarded. +*/ +static XML_Bool +storeRawNames(XML_Parser parser) +{ + TAG *tag = parser->m_tagStack; + while (tag) { + int bufSize; + int nameLen = sizeof(XML_Char) * (tag->name.strLen + 1); + char *rawNameBuf = tag->buf + nameLen; + /* Stop if already stored. Since m_tagStack is a stack, we can stop + at the first entry that has already been copied; everything + below it in the stack is already been accounted for in a + previous call to this function. + */ + if (tag->rawName == rawNameBuf) + break; + /* For re-use purposes we need to ensure that the + size of tag->buf is a multiple of sizeof(XML_Char). + */ + bufSize = nameLen + ROUND_UP(tag->rawNameLength, sizeof(XML_Char)); + if (bufSize > tag->bufEnd - tag->buf) { + char *temp = (char *)REALLOC(parser, tag->buf, bufSize); + if (temp == NULL) + return XML_FALSE; + /* if tag->name.str points to tag->buf (only when namespace + processing is off) then we have to update it + */ + if (tag->name.str == (XML_Char *)tag->buf) + tag->name.str = (XML_Char *)temp; + /* if tag->name.localPart is set (when namespace processing is on) + then update it as well, since it will always point into tag->buf + */ + if (tag->name.localPart) + tag->name.localPart = (XML_Char *)temp + (tag->name.localPart - + (XML_Char *)tag->buf); + tag->buf = temp; + tag->bufEnd = temp + bufSize; + rawNameBuf = temp + nameLen; + } + memcpy(rawNameBuf, tag->rawName, tag->rawNameLength); + tag->rawName = rawNameBuf; + tag = tag->parent; + } + return XML_TRUE; +} + +static enum XML_Error PTRCALL +contentProcessor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + enum XML_Error result = doContent(parser, 0, parser->m_encoding, start, end, + endPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); + if (result == XML_ERROR_NONE) { + if (!storeRawNames(parser)) + return XML_ERROR_NO_MEMORY; + } + return result; +} + +static enum XML_Error PTRCALL +externalEntityInitProcessor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + enum XML_Error result = initializeEncoding(parser); + if (result != XML_ERROR_NONE) + return result; + parser->m_processor = externalEntityInitProcessor2; + return externalEntityInitProcessor2(parser, start, end, endPtr); +} + +static enum XML_Error PTRCALL +externalEntityInitProcessor2(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + const char *next = start; /* XmlContentTok doesn't always set the last arg */ + int tok = XmlContentTok(parser->m_encoding, start, end, &next); + switch (tok) { + case XML_TOK_BOM: + /* If we are at the end of the buffer, this would cause the next stage, + i.e. externalEntityInitProcessor3, to pass control directly to + doContent (by detecting XML_TOK_NONE) without processing any xml text + declaration - causing the error XML_ERROR_MISPLACED_XML_PI in doContent. + */ + if (next == end && !parser->m_parsingStatus.finalBuffer) { + *endPtr = next; + return XML_ERROR_NONE; + } + start = next; + break; + case XML_TOK_PARTIAL: + if (!parser->m_parsingStatus.finalBuffer) { + *endPtr = start; + return XML_ERROR_NONE; + } + parser->m_eventPtr = start; + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + if (!parser->m_parsingStatus.finalBuffer) { + *endPtr = start; + return XML_ERROR_NONE; + } + parser->m_eventPtr = start; + return XML_ERROR_PARTIAL_CHAR; + } + parser->m_processor = externalEntityInitProcessor3; + return externalEntityInitProcessor3(parser, start, end, endPtr); +} + +static enum XML_Error PTRCALL +externalEntityInitProcessor3(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + int tok; + const char *next = start; /* XmlContentTok doesn't always set the last arg */ + parser->m_eventPtr = start; + tok = XmlContentTok(parser->m_encoding, start, end, &next); + parser->m_eventEndPtr = next; + + switch (tok) { + case XML_TOK_XML_DECL: + { + enum XML_Error result; + result = processXmlDecl(parser, 1, start, next); + if (result != XML_ERROR_NONE) + return result; + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + *endPtr = next; + return XML_ERROR_NONE; + case XML_FINISHED: + return XML_ERROR_ABORTED; + default: + start = next; + } + } + break; + case XML_TOK_PARTIAL: + if (!parser->m_parsingStatus.finalBuffer) { + *endPtr = start; + return XML_ERROR_NONE; + } + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + if (!parser->m_parsingStatus.finalBuffer) { + *endPtr = start; + return XML_ERROR_NONE; + } + return XML_ERROR_PARTIAL_CHAR; + } + parser->m_processor = externalEntityContentProcessor; + parser->m_tagLevel = 1; + return externalEntityContentProcessor(parser, start, end, endPtr); +} + +static enum XML_Error PTRCALL +externalEntityContentProcessor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + enum XML_Error result = doContent(parser, 1, parser->m_encoding, start, end, + endPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); + if (result == XML_ERROR_NONE) { + if (!storeRawNames(parser)) + return XML_ERROR_NO_MEMORY; + } + return result; +} + +static enum XML_Error +doContent(XML_Parser parser, + int startTagLevel, + const ENCODING *enc, + const char *s, + const char *end, + const char **nextPtr, + XML_Bool haveMore) +{ + /* save one level of indirection */ + DTD * const dtd = parser->m_dtd; + + const char **eventPP; + const char **eventEndPP; + if (enc == parser->m_encoding) { + eventPP = &parser->m_eventPtr; + eventEndPP = &parser->m_eventEndPtr; + } + else { + eventPP = &(parser->m_openInternalEntities->internalEventPtr); + eventEndPP = &(parser->m_openInternalEntities->internalEventEndPtr); + } + *eventPP = s; + + for (;;) { + const char *next = s; /* XmlContentTok doesn't always set the last arg */ + int tok = XmlContentTok(enc, s, end, &next); + *eventEndPP = next; + switch (tok) { + case XML_TOK_TRAILING_CR: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + *eventEndPP = end; + if (parser->m_characterDataHandler) { + XML_Char c = 0xA; + parser->m_characterDataHandler(parser->m_handlerArg, &c, 1); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, end); + /* We are at the end of the final buffer, should we check for + XML_SUSPENDED, XML_FINISHED? + */ + if (startTagLevel == 0) + return XML_ERROR_NO_ELEMENTS; + if (parser->m_tagLevel != startTagLevel) + return XML_ERROR_ASYNC_ENTITY; + *nextPtr = end; + return XML_ERROR_NONE; + case XML_TOK_NONE: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + if (startTagLevel > 0) { + if (parser->m_tagLevel != startTagLevel) + return XML_ERROR_ASYNC_ENTITY; + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_NO_ELEMENTS; + case XML_TOK_INVALID: + *eventPP = next; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_PARTIAL_CHAR; + case XML_TOK_ENTITY_REF: + { + const XML_Char *name; + ENTITY *entity; + XML_Char ch = (XML_Char) XmlPredefinedEntityName(enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (ch) { + if (parser->m_characterDataHandler) + parser->m_characterDataHandler(parser->m_handlerArg, &ch, 1); + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + } + name = poolStoreString(&dtd->pool, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!name) + return XML_ERROR_NO_MEMORY; + entity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, 0); + poolDiscard(&dtd->pool); + /* First, determine if a check for an existing declaration is needed; + if yes, check that the entity exists, and that it is internal, + otherwise call the skipped entity or default handler. + */ + if (!dtd->hasParamEntityRefs || dtd->standalone) { + if (!entity) + return XML_ERROR_UNDEFINED_ENTITY; + else if (!entity->is_internal) + return XML_ERROR_ENTITY_DECLARED_IN_PE; + } + else if (!entity) { + if (parser->m_skippedEntityHandler) + parser->m_skippedEntityHandler(parser->m_handlerArg, name, 0); + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + } + if (entity->open) + return XML_ERROR_RECURSIVE_ENTITY_REF; + if (entity->notation) + return XML_ERROR_BINARY_ENTITY_REF; + if (entity->textPtr) { + enum XML_Error result; + if (!parser->m_defaultExpandInternalEntities) { + if (parser->m_skippedEntityHandler) + parser->m_skippedEntityHandler(parser->m_handlerArg, entity->name, 0); + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + } + result = processInternalEntity(parser, entity, XML_FALSE); + if (result != XML_ERROR_NONE) + return result; + } + else if (parser->m_externalEntityRefHandler) { + const XML_Char *context; + entity->open = XML_TRUE; + context = getContext(parser); + entity->open = XML_FALSE; + if (!context) + return XML_ERROR_NO_MEMORY; + if (!parser->m_externalEntityRefHandler(parser->m_externalEntityRefHandlerArg, + context, + entity->base, + entity->systemId, + entity->publicId)) + return XML_ERROR_EXTERNAL_ENTITY_HANDLING; + poolDiscard(&parser->m_tempPool); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + } + case XML_TOK_START_TAG_NO_ATTS: + /* fall through */ + case XML_TOK_START_TAG_WITH_ATTS: + { + TAG *tag; + enum XML_Error result; + XML_Char *toPtr; + if (parser->m_freeTagList) { + tag = parser->m_freeTagList; + parser->m_freeTagList = parser->m_freeTagList->parent; + } + else { + tag = (TAG *)MALLOC(parser, sizeof(TAG)); + if (!tag) + return XML_ERROR_NO_MEMORY; + tag->buf = (char *)MALLOC(parser, INIT_TAG_BUF_SIZE); + if (!tag->buf) { + FREE(parser, tag); + return XML_ERROR_NO_MEMORY; + } + tag->bufEnd = tag->buf + INIT_TAG_BUF_SIZE; + } + tag->bindings = NULL; + tag->parent = parser->m_tagStack; + parser->m_tagStack = tag; + tag->name.localPart = NULL; + tag->name.prefix = NULL; + tag->rawName = s + enc->minBytesPerChar; + tag->rawNameLength = XmlNameLength(enc, tag->rawName); + ++parser->m_tagLevel; + { + const char *rawNameEnd = tag->rawName + tag->rawNameLength; + const char *fromPtr = tag->rawName; + toPtr = (XML_Char *)tag->buf; + for (;;) { + int bufSize; + int convLen; + const enum XML_Convert_Result convert_res = XmlConvert(enc, + &fromPtr, rawNameEnd, + (ICHAR **)&toPtr, (ICHAR *)tag->bufEnd - 1); + convLen = (int)(toPtr - (XML_Char *)tag->buf); + if ((fromPtr >= rawNameEnd) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) { + tag->name.strLen = convLen; + break; + } + bufSize = (int)(tag->bufEnd - tag->buf) << 1; + { + char *temp = (char *)REALLOC(parser, tag->buf, bufSize); + if (temp == NULL) + return XML_ERROR_NO_MEMORY; + tag->buf = temp; + tag->bufEnd = temp + bufSize; + toPtr = (XML_Char *)temp + convLen; + } + } + } + tag->name.str = (XML_Char *)tag->buf; + *toPtr = XML_T('\0'); + result = storeAtts(parser, enc, s, &(tag->name), &(tag->bindings)); + if (result) + return result; + if (parser->m_startElementHandler) + parser->m_startElementHandler(parser->m_handlerArg, tag->name.str, + (const XML_Char **)parser->m_atts); + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + poolClear(&parser->m_tempPool); + break; + } + case XML_TOK_EMPTY_ELEMENT_NO_ATTS: + /* fall through */ + case XML_TOK_EMPTY_ELEMENT_WITH_ATTS: + { + const char *rawName = s + enc->minBytesPerChar; + enum XML_Error result; + BINDING *bindings = NULL; + XML_Bool noElmHandlers = XML_TRUE; + TAG_NAME name; + name.str = poolStoreString(&parser->m_tempPool, enc, rawName, + rawName + XmlNameLength(enc, rawName)); + if (!name.str) + return XML_ERROR_NO_MEMORY; + poolFinish(&parser->m_tempPool); + result = storeAtts(parser, enc, s, &name, &bindings); + if (result != XML_ERROR_NONE) { + freeBindings(parser, bindings); + return result; + } + poolFinish(&parser->m_tempPool); + if (parser->m_startElementHandler) { + parser->m_startElementHandler(parser->m_handlerArg, name.str, (const XML_Char **)parser->m_atts); + noElmHandlers = XML_FALSE; + } + if (parser->m_endElementHandler) { + if (parser->m_startElementHandler) + *eventPP = *eventEndPP; + parser->m_endElementHandler(parser->m_handlerArg, name.str); + noElmHandlers = XML_FALSE; + } + if (noElmHandlers && parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + poolClear(&parser->m_tempPool); + freeBindings(parser, bindings); + } + if ((parser->m_tagLevel == 0) && + !((parser->m_parsingStatus.parsing == XML_FINISHED) || (parser->m_parsingStatus.parsing == XML_SUSPENDED))) { + return epilogProcessor(parser, next, end, nextPtr); + } + break; + case XML_TOK_END_TAG: + if (parser->m_tagLevel == startTagLevel) + return XML_ERROR_ASYNC_ENTITY; + else { + int len; + const char *rawName; + TAG *tag = parser->m_tagStack; + parser->m_tagStack = tag->parent; + tag->parent = parser->m_freeTagList; + parser->m_freeTagList = tag; + rawName = s + enc->minBytesPerChar*2; + len = XmlNameLength(enc, rawName); + if (len != tag->rawNameLength + || memcmp(tag->rawName, rawName, len) != 0) { + *eventPP = rawName; + return XML_ERROR_TAG_MISMATCH; + } + --parser->m_tagLevel; + if (parser->m_endElementHandler) { + const XML_Char *localPart; + const XML_Char *prefix; + XML_Char *uri; + localPart = tag->name.localPart; + if (parser->m_ns && localPart) { + /* localPart and prefix may have been overwritten in + tag->name.str, since this points to the binding->uri + buffer which gets re-used; so we have to add them again + */ + uri = (XML_Char *)tag->name.str + tag->name.uriLen; + /* don't need to check for space - already done in storeAtts() */ + while (*localPart) *uri++ = *localPart++; + prefix = (XML_Char *)tag->name.prefix; + if (parser->m_ns_triplets && prefix) { + *uri++ = parser->m_namespaceSeparator; + while (*prefix) *uri++ = *prefix++; + } + *uri = XML_T('\0'); + } + parser->m_endElementHandler(parser->m_handlerArg, tag->name.str); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + while (tag->bindings) { + BINDING *b = tag->bindings; + if (parser->m_endNamespaceDeclHandler) + parser->m_endNamespaceDeclHandler(parser->m_handlerArg, b->prefix->name); + tag->bindings = tag->bindings->nextTagBinding; + b->nextTagBinding = parser->m_freeBindingList; + parser->m_freeBindingList = b; + b->prefix->binding = b->prevPrefixBinding; + } + if (parser->m_tagLevel == 0) + return epilogProcessor(parser, next, end, nextPtr); + } + break; + case XML_TOK_CHAR_REF: + { + int n = XmlCharRefNumber(enc, s); + if (n < 0) + return XML_ERROR_BAD_CHAR_REF; + if (parser->m_characterDataHandler) { + XML_Char buf[XML_ENCODE_MAX]; + parser->m_characterDataHandler(parser->m_handlerArg, buf, XmlEncode(n, (ICHAR *)buf)); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + } + break; + case XML_TOK_XML_DECL: + return XML_ERROR_MISPLACED_XML_PI; + case XML_TOK_DATA_NEWLINE: + if (parser->m_characterDataHandler) { + XML_Char c = 0xA; + parser->m_characterDataHandler(parser->m_handlerArg, &c, 1); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + case XML_TOK_CDATA_SECT_OPEN: + { + enum XML_Error result; + if (parser->m_startCdataSectionHandler) + parser->m_startCdataSectionHandler(parser->m_handlerArg); +#if 0 + /* Suppose you doing a transformation on a document that involves + changing only the character data. You set up a defaultHandler + and a characterDataHandler. The defaultHandler simply copies + characters through. The characterDataHandler does the + transformation and writes the characters out escaping them as + necessary. This case will fail to work if we leave out the + following two lines (because & and < inside CDATA sections will + be incorrectly escaped). + + However, now we have a start/endCdataSectionHandler, so it seems + easier to let the user deal with this. + */ + else if (parser->m_characterDataHandler) + parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf, 0); +#endif + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + result = doCdataSection(parser, enc, &next, end, nextPtr, haveMore); + if (result != XML_ERROR_NONE) + return result; + else if (!next) { + parser->m_processor = cdataSectionProcessor; + return result; + } + } + break; + case XML_TOK_TRAILING_RSQB: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + if (parser->m_characterDataHandler) { + if (MUST_CONVERT(enc, s)) { + ICHAR *dataPtr = (ICHAR *)parser->m_dataBuf; + XmlConvert(enc, &s, end, &dataPtr, (ICHAR *)parser->m_dataBufEnd); + parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf, + (int)(dataPtr - (ICHAR *)parser->m_dataBuf)); + } + else + parser->m_characterDataHandler(parser->m_handlerArg, + (XML_Char *)s, + (int)((XML_Char *)end - (XML_Char *)s)); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, end); + /* We are at the end of the final buffer, should we check for + XML_SUSPENDED, XML_FINISHED? + */ + if (startTagLevel == 0) { + *eventPP = end; + return XML_ERROR_NO_ELEMENTS; + } + if (parser->m_tagLevel != startTagLevel) { + *eventPP = end; + return XML_ERROR_ASYNC_ENTITY; + } + *nextPtr = end; + return XML_ERROR_NONE; + case XML_TOK_DATA_CHARS: + { + XML_CharacterDataHandler charDataHandler = parser->m_characterDataHandler; + if (charDataHandler) { + if (MUST_CONVERT(enc, s)) { + for (;;) { + ICHAR *dataPtr = (ICHAR *)parser->m_dataBuf; + const enum XML_Convert_Result convert_res = XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)parser->m_dataBufEnd); + *eventEndPP = s; + charDataHandler(parser->m_handlerArg, parser->m_dataBuf, + (int)(dataPtr - (ICHAR *)parser->m_dataBuf)); + if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) + break; + *eventPP = s; + } + } + else + charDataHandler(parser->m_handlerArg, + (XML_Char *)s, + (int)((XML_Char *)next - (XML_Char *)s)); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + } + break; + case XML_TOK_PI: + if (!reportProcessingInstruction(parser, enc, s, next)) + return XML_ERROR_NO_MEMORY; + break; + case XML_TOK_COMMENT: + if (!reportComment(parser, enc, s, next)) + return XML_ERROR_NO_MEMORY; + break; + default: + /* All of the tokens produced by XmlContentTok() have their own + * explicit cases, so this default is not strictly necessary. + * However it is a useful safety net, so we retain the code and + * simply exclude it from the coverage tests. + * + * LCOV_EXCL_START + */ + if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + /* LCOV_EXCL_STOP */ + } + *eventPP = s = next; + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + *nextPtr = next; + return XML_ERROR_NONE; + case XML_FINISHED: + return XML_ERROR_ABORTED; + default: ; + } + } + /* not reached */ +} + +/* This function does not call free() on the allocated memory, merely + * moving it to the parser's m_freeBindingList where it can be freed or + * reused as appropriate. + */ +static void +freeBindings(XML_Parser parser, BINDING *bindings) +{ + while (bindings) { + BINDING *b = bindings; + + /* m_startNamespaceDeclHandler will have been called for this + * binding in addBindings(), so call the end handler now. + */ + if (parser->m_endNamespaceDeclHandler) + parser->m_endNamespaceDeclHandler(parser->m_handlerArg, b->prefix->name); + + bindings = bindings->nextTagBinding; + b->nextTagBinding = parser->m_freeBindingList; + parser->m_freeBindingList = b; + b->prefix->binding = b->prevPrefixBinding; + } +} + +/* Precondition: all arguments must be non-NULL; + Purpose: + - normalize attributes + - check attributes for well-formedness + - generate namespace aware attribute names (URI, prefix) + - build list of attributes for startElementHandler + - default attributes + - process namespace declarations (check and report them) + - generate namespace aware element name (URI, prefix) +*/ +static enum XML_Error +storeAtts(XML_Parser parser, const ENCODING *enc, + const char *attStr, TAG_NAME *tagNamePtr, + BINDING **bindingsPtr) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + ELEMENT_TYPE *elementType; + int nDefaultAtts; + const XML_Char **appAtts; /* the attribute list for the application */ + int attIndex = 0; + int prefixLen; + int i; + int n; + XML_Char *uri; + int nPrefixes = 0; + BINDING *binding; + const XML_Char *localPart; + + /* lookup the element type name */ + elementType = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, tagNamePtr->str,0); + if (!elementType) { + const XML_Char *name = poolCopyString(&dtd->pool, tagNamePtr->str); + if (!name) + return XML_ERROR_NO_MEMORY; + elementType = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, name, + sizeof(ELEMENT_TYPE)); + if (!elementType) + return XML_ERROR_NO_MEMORY; + if (parser->m_ns && !setElementTypePrefix(parser, elementType)) + return XML_ERROR_NO_MEMORY; + } + nDefaultAtts = elementType->nDefaultAtts; + + /* get the attributes from the tokenizer */ + n = XmlGetAttributes(enc, attStr, parser->m_attsSize, parser->m_atts); + if (n + nDefaultAtts > parser->m_attsSize) { + int oldAttsSize = parser->m_attsSize; + ATTRIBUTE *temp; +#ifdef XML_ATTR_INFO + XML_AttrInfo *temp2; +#endif + parser->m_attsSize = n + nDefaultAtts + INIT_ATTS_SIZE; + temp = (ATTRIBUTE *)REALLOC(parser, (void *)parser->m_atts, parser->m_attsSize * sizeof(ATTRIBUTE)); + if (temp == NULL) { + parser->m_attsSize = oldAttsSize; + return XML_ERROR_NO_MEMORY; + } + parser->m_atts = temp; +#ifdef XML_ATTR_INFO + temp2 = (XML_AttrInfo *)REALLOC(parser, (void *)parser->m_attInfo, parser->m_attsSize * sizeof(XML_AttrInfo)); + if (temp2 == NULL) { + parser->m_attsSize = oldAttsSize; + return XML_ERROR_NO_MEMORY; + } + parser->m_attInfo = temp2; +#endif + if (n > oldAttsSize) + XmlGetAttributes(enc, attStr, n, parser->m_atts); + } + + appAtts = (const XML_Char **)parser->m_atts; + for (i = 0; i < n; i++) { + ATTRIBUTE *currAtt = &parser->m_atts[i]; +#ifdef XML_ATTR_INFO + XML_AttrInfo *currAttInfo = &parser->m_attInfo[i]; +#endif + /* add the name and value to the attribute list */ + ATTRIBUTE_ID *attId = getAttributeId(parser, enc, currAtt->name, + currAtt->name + + XmlNameLength(enc, currAtt->name)); + if (!attId) + return XML_ERROR_NO_MEMORY; +#ifdef XML_ATTR_INFO + currAttInfo->nameStart = parser->m_parseEndByteIndex - (parser->m_parseEndPtr - currAtt->name); + currAttInfo->nameEnd = currAttInfo->nameStart + + XmlNameLength(enc, currAtt->name); + currAttInfo->valueStart = parser->m_parseEndByteIndex - + (parser->m_parseEndPtr - currAtt->valuePtr); + currAttInfo->valueEnd = parser->m_parseEndByteIndex - (parser->m_parseEndPtr - currAtt->valueEnd); +#endif + /* Detect duplicate attributes by their QNames. This does not work when + namespace processing is turned on and different prefixes for the same + namespace are used. For this case we have a check further down. + */ + if ((attId->name)[-1]) { + if (enc == parser->m_encoding) + parser->m_eventPtr = parser->m_atts[i].name; + return XML_ERROR_DUPLICATE_ATTRIBUTE; + } + (attId->name)[-1] = 1; + appAtts[attIndex++] = attId->name; + if (!parser->m_atts[i].normalized) { + enum XML_Error result; + XML_Bool isCdata = XML_TRUE; + + /* figure out whether declared as other than CDATA */ + if (attId->maybeTokenized) { + int j; + for (j = 0; j < nDefaultAtts; j++) { + if (attId == elementType->defaultAtts[j].id) { + isCdata = elementType->defaultAtts[j].isCdata; + break; + } + } + } + + /* normalize the attribute value */ + result = storeAttributeValue(parser, enc, isCdata, + parser->m_atts[i].valuePtr, parser->m_atts[i].valueEnd, + &parser->m_tempPool); + if (result) + return result; + appAtts[attIndex] = poolStart(&parser->m_tempPool); + poolFinish(&parser->m_tempPool); + } + else { + /* the value did not need normalizing */ + appAtts[attIndex] = poolStoreString(&parser->m_tempPool, enc, parser->m_atts[i].valuePtr, + parser->m_atts[i].valueEnd); + if (appAtts[attIndex] == 0) + return XML_ERROR_NO_MEMORY; + poolFinish(&parser->m_tempPool); + } + /* handle prefixed attribute names */ + if (attId->prefix) { + if (attId->xmlns) { + /* deal with namespace declarations here */ + enum XML_Error result = addBinding(parser, attId->prefix, attId, + appAtts[attIndex], bindingsPtr); + if (result) + return result; + --attIndex; + } + else { + /* deal with other prefixed names later */ + attIndex++; + nPrefixes++; + (attId->name)[-1] = 2; + } + } + else + attIndex++; + } + + /* set-up for XML_GetSpecifiedAttributeCount and XML_GetIdAttributeIndex */ + parser->m_nSpecifiedAtts = attIndex; + if (elementType->idAtt && (elementType->idAtt->name)[-1]) { + for (i = 0; i < attIndex; i += 2) + if (appAtts[i] == elementType->idAtt->name) { + parser->m_idAttIndex = i; + break; + } + } + else + parser->m_idAttIndex = -1; + + /* do attribute defaulting */ + for (i = 0; i < nDefaultAtts; i++) { + const DEFAULT_ATTRIBUTE *da = elementType->defaultAtts + i; + if (!(da->id->name)[-1] && da->value) { + if (da->id->prefix) { + if (da->id->xmlns) { + enum XML_Error result = addBinding(parser, da->id->prefix, da->id, + da->value, bindingsPtr); + if (result) + return result; + } + else { + (da->id->name)[-1] = 2; + nPrefixes++; + appAtts[attIndex++] = da->id->name; + appAtts[attIndex++] = da->value; + } + } + else { + (da->id->name)[-1] = 1; + appAtts[attIndex++] = da->id->name; + appAtts[attIndex++] = da->value; + } + } + } + appAtts[attIndex] = 0; + + /* expand prefixed attribute names, check for duplicates, + and clear flags that say whether attributes were specified */ + i = 0; + if (nPrefixes) { + int j; /* hash table index */ + unsigned long version = parser->m_nsAttsVersion; + int nsAttsSize = (int)1 << parser->m_nsAttsPower; + unsigned char oldNsAttsPower = parser->m_nsAttsPower; + /* size of hash table must be at least 2 * (# of prefixed attributes) */ + if ((nPrefixes << 1) >> parser->m_nsAttsPower) { /* true for m_nsAttsPower = 0 */ + NS_ATT *temp; + /* hash table size must also be a power of 2 and >= 8 */ + while (nPrefixes >> parser->m_nsAttsPower++); + if (parser->m_nsAttsPower < 3) + parser->m_nsAttsPower = 3; + nsAttsSize = (int)1 << parser->m_nsAttsPower; + temp = (NS_ATT *)REALLOC(parser, parser->m_nsAtts, nsAttsSize * sizeof(NS_ATT)); + if (!temp) { + /* Restore actual size of memory in m_nsAtts */ + parser->m_nsAttsPower = oldNsAttsPower; + return XML_ERROR_NO_MEMORY; + } + parser->m_nsAtts = temp; + version = 0; /* force re-initialization of m_nsAtts hash table */ + } + /* using a version flag saves us from initializing m_nsAtts every time */ + if (!version) { /* initialize version flags when version wraps around */ + version = INIT_ATTS_VERSION; + for (j = nsAttsSize; j != 0; ) + parser->m_nsAtts[--j].version = version; + } + parser->m_nsAttsVersion = --version; + + /* expand prefixed names and check for duplicates */ + for (; i < attIndex; i += 2) { + const XML_Char *s = appAtts[i]; + if (s[-1] == 2) { /* prefixed */ + ATTRIBUTE_ID *id; + const BINDING *b; + unsigned long uriHash; + struct siphash sip_state; + struct sipkey sip_key; + + copy_salt_to_sipkey(parser, &sip_key); + sip24_init(&sip_state, &sip_key); + + ((XML_Char *)s)[-1] = 0; /* clear flag */ + id = (ATTRIBUTE_ID *)lookup(parser, &dtd->attributeIds, s, 0); + if (!id || !id->prefix) { + /* This code is walking through the appAtts array, dealing + * with (in this case) a prefixed attribute name. To be in + * the array, the attribute must have already been bound, so + * has to have passed through the hash table lookup once + * already. That implies that an entry for it already + * exists, so the lookup above will return a pointer to + * already allocated memory. There is no opportunaity for + * the allocator to fail, so the condition above cannot be + * fulfilled. + * + * Since it is difficult to be certain that the above + * analysis is complete, we retain the test and merely + * remove the code from coverage tests. + */ + return XML_ERROR_NO_MEMORY; /* LCOV_EXCL_LINE */ + } + b = id->prefix->binding; + if (!b) + return XML_ERROR_UNBOUND_PREFIX; + + for (j = 0; j < b->uriLen; j++) { + const XML_Char c = b->uri[j]; + if (!poolAppendChar(&parser->m_tempPool, c)) + return XML_ERROR_NO_MEMORY; + } + + sip24_update(&sip_state, b->uri, b->uriLen * sizeof(XML_Char)); + + while (*s++ != XML_T(ASCII_COLON)) + ; + + sip24_update(&sip_state, s, keylen(s) * sizeof(XML_Char)); + + do { /* copies null terminator */ + if (!poolAppendChar(&parser->m_tempPool, *s)) + return XML_ERROR_NO_MEMORY; + } while (*s++); + + uriHash = (unsigned long)sip24_final(&sip_state); + + { /* Check hash table for duplicate of expanded name (uriName). + Derived from code in lookup(parser, HASH_TABLE *table, ...). + */ + unsigned char step = 0; + unsigned long mask = nsAttsSize - 1; + j = uriHash & mask; /* index into hash table */ + while (parser->m_nsAtts[j].version == version) { + /* for speed we compare stored hash values first */ + if (uriHash == parser->m_nsAtts[j].hash) { + const XML_Char *s1 = poolStart(&parser->m_tempPool); + const XML_Char *s2 = parser->m_nsAtts[j].uriName; + /* s1 is null terminated, but not s2 */ + for (; *s1 == *s2 && *s1 != 0; s1++, s2++); + if (*s1 == 0) + return XML_ERROR_DUPLICATE_ATTRIBUTE; + } + if (!step) + step = PROBE_STEP(uriHash, mask, parser->m_nsAttsPower); + j < step ? (j += nsAttsSize - step) : (j -= step); + } + } + + if (parser->m_ns_triplets) { /* append namespace separator and prefix */ + parser->m_tempPool.ptr[-1] = parser->m_namespaceSeparator; + s = b->prefix->name; + do { + if (!poolAppendChar(&parser->m_tempPool, *s)) + return XML_ERROR_NO_MEMORY; + } while (*s++); + } + + /* store expanded name in attribute list */ + s = poolStart(&parser->m_tempPool); + poolFinish(&parser->m_tempPool); + appAtts[i] = s; + + /* fill empty slot with new version, uriName and hash value */ + parser->m_nsAtts[j].version = version; + parser->m_nsAtts[j].hash = uriHash; + parser->m_nsAtts[j].uriName = s; + + if (!--nPrefixes) { + i += 2; + break; + } + } + else /* not prefixed */ + ((XML_Char *)s)[-1] = 0; /* clear flag */ + } + } + /* clear flags for the remaining attributes */ + for (; i < attIndex; i += 2) + ((XML_Char *)(appAtts[i]))[-1] = 0; + for (binding = *bindingsPtr; binding; binding = binding->nextTagBinding) + binding->attId->name[-1] = 0; + + if (!parser->m_ns) + return XML_ERROR_NONE; + + /* expand the element type name */ + if (elementType->prefix) { + binding = elementType->prefix->binding; + if (!binding) + return XML_ERROR_UNBOUND_PREFIX; + localPart = tagNamePtr->str; + while (*localPart++ != XML_T(ASCII_COLON)) + ; + } + else if (dtd->defaultPrefix.binding) { + binding = dtd->defaultPrefix.binding; + localPart = tagNamePtr->str; + } + else + return XML_ERROR_NONE; + prefixLen = 0; + if (parser->m_ns_triplets && binding->prefix->name) { + for (; binding->prefix->name[prefixLen++];) + ; /* prefixLen includes null terminator */ + } + tagNamePtr->localPart = localPart; + tagNamePtr->uriLen = binding->uriLen; + tagNamePtr->prefix = binding->prefix->name; + tagNamePtr->prefixLen = prefixLen; + for (i = 0; localPart[i++];) + ; /* i includes null terminator */ + n = i + binding->uriLen + prefixLen; + if (n > binding->uriAlloc) { + TAG *p; + uri = (XML_Char *)MALLOC(parser, (n + EXPAND_SPARE) * sizeof(XML_Char)); + if (!uri) + return XML_ERROR_NO_MEMORY; + binding->uriAlloc = n + EXPAND_SPARE; + memcpy(uri, binding->uri, binding->uriLen * sizeof(XML_Char)); + for (p = parser->m_tagStack; p; p = p->parent) + if (p->name.str == binding->uri) + p->name.str = uri; + FREE(parser, binding->uri); + binding->uri = uri; + } + /* if m_namespaceSeparator != '\0' then uri includes it already */ + uri = binding->uri + binding->uriLen; + memcpy(uri, localPart, i * sizeof(XML_Char)); + /* we always have a namespace separator between localPart and prefix */ + if (prefixLen) { + uri += i - 1; + *uri = parser->m_namespaceSeparator; /* replace null terminator */ + memcpy(uri + 1, binding->prefix->name, prefixLen * sizeof(XML_Char)); + } + tagNamePtr->str = binding->uri; + return XML_ERROR_NONE; +} + +/* addBinding() overwrites the value of prefix->binding without checking. + Therefore one must keep track of the old value outside of addBinding(). +*/ +static enum XML_Error +addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, + const XML_Char *uri, BINDING **bindingsPtr) +{ + static const XML_Char xmlNamespace[] = { + ASCII_h, ASCII_t, ASCII_t, ASCII_p, ASCII_COLON, ASCII_SLASH, ASCII_SLASH, + ASCII_w, ASCII_w, ASCII_w, ASCII_PERIOD, ASCII_w, ASCII_3, ASCII_PERIOD, + ASCII_o, ASCII_r, ASCII_g, ASCII_SLASH, ASCII_X, ASCII_M, ASCII_L, + ASCII_SLASH, ASCII_1, ASCII_9, ASCII_9, ASCII_8, ASCII_SLASH, + ASCII_n, ASCII_a, ASCII_m, ASCII_e, ASCII_s, ASCII_p, ASCII_a, ASCII_c, + ASCII_e, '\0' + }; + static const int xmlLen = + (int)sizeof(xmlNamespace)/sizeof(XML_Char) - 1; + static const XML_Char xmlnsNamespace[] = { + ASCII_h, ASCII_t, ASCII_t, ASCII_p, ASCII_COLON, ASCII_SLASH, ASCII_SLASH, + ASCII_w, ASCII_w, ASCII_w, ASCII_PERIOD, ASCII_w, ASCII_3, ASCII_PERIOD, + ASCII_o, ASCII_r, ASCII_g, ASCII_SLASH, ASCII_2, ASCII_0, ASCII_0, + ASCII_0, ASCII_SLASH, ASCII_x, ASCII_m, ASCII_l, ASCII_n, ASCII_s, + ASCII_SLASH, '\0' + }; + static const int xmlnsLen = + (int)sizeof(xmlnsNamespace)/sizeof(XML_Char) - 1; + + XML_Bool mustBeXML = XML_FALSE; + XML_Bool isXML = XML_TRUE; + XML_Bool isXMLNS = XML_TRUE; + + BINDING *b; + int len; + + /* empty URI is only valid for default namespace per XML NS 1.0 (not 1.1) */ + if (*uri == XML_T('\0') && prefix->name) + return XML_ERROR_UNDECLARING_PREFIX; + + if (prefix->name + && prefix->name[0] == XML_T(ASCII_x) + && prefix->name[1] == XML_T(ASCII_m) + && prefix->name[2] == XML_T(ASCII_l)) { + + /* Not allowed to bind xmlns */ + if (prefix->name[3] == XML_T(ASCII_n) + && prefix->name[4] == XML_T(ASCII_s) + && prefix->name[5] == XML_T('\0')) + return XML_ERROR_RESERVED_PREFIX_XMLNS; + + if (prefix->name[3] == XML_T('\0')) + mustBeXML = XML_TRUE; + } + + for (len = 0; uri[len]; len++) { + if (isXML && (len > xmlLen || uri[len] != xmlNamespace[len])) + isXML = XML_FALSE; + + if (!mustBeXML && isXMLNS + && (len > xmlnsLen || uri[len] != xmlnsNamespace[len])) + isXMLNS = XML_FALSE; + } + isXML = isXML && len == xmlLen; + isXMLNS = isXMLNS && len == xmlnsLen; + + if (mustBeXML != isXML) + return mustBeXML ? XML_ERROR_RESERVED_PREFIX_XML + : XML_ERROR_RESERVED_NAMESPACE_URI; + + if (isXMLNS) + return XML_ERROR_RESERVED_NAMESPACE_URI; + + if (parser->m_namespaceSeparator) + len++; + if (parser->m_freeBindingList) { + b = parser->m_freeBindingList; + if (len > b->uriAlloc) { + XML_Char *temp = (XML_Char *)REALLOC(parser, b->uri, + sizeof(XML_Char) * (len + EXPAND_SPARE)); + if (temp == NULL) + return XML_ERROR_NO_MEMORY; + b->uri = temp; + b->uriAlloc = len + EXPAND_SPARE; + } + parser->m_freeBindingList = b->nextTagBinding; + } + else { + b = (BINDING *)MALLOC(parser, sizeof(BINDING)); + if (!b) + return XML_ERROR_NO_MEMORY; + b->uri = (XML_Char *)MALLOC(parser, sizeof(XML_Char) * (len + EXPAND_SPARE)); + if (!b->uri) { + FREE(parser, b); + return XML_ERROR_NO_MEMORY; + } + b->uriAlloc = len + EXPAND_SPARE; + } + b->uriLen = len; + memcpy(b->uri, uri, len * sizeof(XML_Char)); + if (parser->m_namespaceSeparator) + b->uri[len - 1] = parser->m_namespaceSeparator; + b->prefix = prefix; + b->attId = attId; + b->prevPrefixBinding = prefix->binding; + /* NULL binding when default namespace undeclared */ + if (*uri == XML_T('\0') && prefix == &parser->m_dtd->defaultPrefix) + prefix->binding = NULL; + else + prefix->binding = b; + b->nextTagBinding = *bindingsPtr; + *bindingsPtr = b; + /* if attId == NULL then we are not starting a namespace scope */ + if (attId && parser->m_startNamespaceDeclHandler) + parser->m_startNamespaceDeclHandler(parser->m_handlerArg, prefix->name, + prefix->binding ? uri : 0); + return XML_ERROR_NONE; +} + +/* The idea here is to avoid using stack for each CDATA section when + the whole file is parsed with one call. +*/ +static enum XML_Error PTRCALL +cdataSectionProcessor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + enum XML_Error result = doCdataSection(parser, parser->m_encoding, &start, end, + endPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); + if (result != XML_ERROR_NONE) + return result; + if (start) { + if (parser->m_parentParser) { /* we are parsing an external entity */ + parser->m_processor = externalEntityContentProcessor; + return externalEntityContentProcessor(parser, start, end, endPtr); + } + else { + parser->m_processor = contentProcessor; + return contentProcessor(parser, start, end, endPtr); + } + } + return result; +} + +/* startPtr gets set to non-null if the section is closed, and to null if + the section is not yet closed. +*/ +static enum XML_Error +doCdataSection(XML_Parser parser, + const ENCODING *enc, + const char **startPtr, + const char *end, + const char **nextPtr, + XML_Bool haveMore) +{ + const char *s = *startPtr; + const char **eventPP; + const char **eventEndPP; + if (enc == parser->m_encoding) { + eventPP = &parser->m_eventPtr; + *eventPP = s; + eventEndPP = &parser->m_eventEndPtr; + } + else { + eventPP = &(parser->m_openInternalEntities->internalEventPtr); + eventEndPP = &(parser->m_openInternalEntities->internalEventEndPtr); + } + *eventPP = s; + *startPtr = NULL; + + for (;;) { + const char *next; + int tok = XmlCdataSectionTok(enc, s, end, &next); + *eventEndPP = next; + switch (tok) { + case XML_TOK_CDATA_SECT_CLOSE: + if (parser->m_endCdataSectionHandler) + parser->m_endCdataSectionHandler(parser->m_handlerArg); +#if 0 + /* see comment under XML_TOK_CDATA_SECT_OPEN */ + else if (parser->m_characterDataHandler) + parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf, 0); +#endif + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + *startPtr = next; + *nextPtr = next; + if (parser->m_parsingStatus.parsing == XML_FINISHED) + return XML_ERROR_ABORTED; + else + return XML_ERROR_NONE; + case XML_TOK_DATA_NEWLINE: + if (parser->m_characterDataHandler) { + XML_Char c = 0xA; + parser->m_characterDataHandler(parser->m_handlerArg, &c, 1); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + break; + case XML_TOK_DATA_CHARS: + { + XML_CharacterDataHandler charDataHandler = parser->m_characterDataHandler; + if (charDataHandler) { + if (MUST_CONVERT(enc, s)) { + for (;;) { + ICHAR *dataPtr = (ICHAR *)parser->m_dataBuf; + const enum XML_Convert_Result convert_res = XmlConvert(enc, &s, next, &dataPtr, (ICHAR *)parser->m_dataBufEnd); + *eventEndPP = next; + charDataHandler(parser->m_handlerArg, parser->m_dataBuf, + (int)(dataPtr - (ICHAR *)parser->m_dataBuf)); + if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) + break; + *eventPP = s; + } + } + else + charDataHandler(parser->m_handlerArg, + (XML_Char *)s, + (int)((XML_Char *)next - (XML_Char *)s)); + } + else if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + } + break; + case XML_TOK_INVALID: + *eventPP = next; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL_CHAR: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_PARTIAL_CHAR; + case XML_TOK_PARTIAL: + case XML_TOK_NONE: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_UNCLOSED_CDATA_SECTION; + default: + /* Every token returned by XmlCdataSectionTok() has its own + * explicit case, so this default case will never be executed. + * We retain it as a safety net and exclude it from the coverage + * statistics. + * + * LCOV_EXCL_START + */ + *eventPP = next; + return XML_ERROR_UNEXPECTED_STATE; + /* LCOV_EXCL_STOP */ + } + + *eventPP = s = next; + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + *nextPtr = next; + return XML_ERROR_NONE; + case XML_FINISHED: + return XML_ERROR_ABORTED; + default: ; + } + } + /* not reached */ +} + +#ifdef XML_DTD + +/* The idea here is to avoid using stack for each IGNORE section when + the whole file is parsed with one call. +*/ +static enum XML_Error PTRCALL +ignoreSectionProcessor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr) +{ + enum XML_Error result = doIgnoreSection(parser, parser->m_encoding, &start, end, + endPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); + if (result != XML_ERROR_NONE) + return result; + if (start) { + parser->m_processor = prologProcessor; + return prologProcessor(parser, start, end, endPtr); + } + return result; +} + +/* startPtr gets set to non-null is the section is closed, and to null + if the section is not yet closed. +*/ +static enum XML_Error +doIgnoreSection(XML_Parser parser, + const ENCODING *enc, + const char **startPtr, + const char *end, + const char **nextPtr, + XML_Bool haveMore) +{ + const char *next; + int tok; + const char *s = *startPtr; + const char **eventPP; + const char **eventEndPP; + if (enc == parser->m_encoding) { + eventPP = &parser->m_eventPtr; + *eventPP = s; + eventEndPP = &parser->m_eventEndPtr; + } + else { + /* It's not entirely clear, but it seems the following two lines + * of code cannot be executed. The only occasions on which 'enc' + * is not 'encoding' are when this function is called + * from the internal entity processing, and IGNORE sections are an + * error in internal entities. + * + * Since it really isn't clear that this is true, we keep the code + * and just remove it from our coverage tests. + * + * LCOV_EXCL_START + */ + eventPP = &(parser->m_openInternalEntities->internalEventPtr); + eventEndPP = &(parser->m_openInternalEntities->internalEventEndPtr); + /* LCOV_EXCL_STOP */ + } + *eventPP = s; + *startPtr = NULL; + tok = XmlIgnoreSectionTok(enc, s, end, &next); + *eventEndPP = next; + switch (tok) { + case XML_TOK_IGNORE_SECT: + if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + *startPtr = next; + *nextPtr = next; + if (parser->m_parsingStatus.parsing == XML_FINISHED) + return XML_ERROR_ABORTED; + else + return XML_ERROR_NONE; + case XML_TOK_INVALID: + *eventPP = next; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL_CHAR: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_PARTIAL_CHAR; + case XML_TOK_PARTIAL: + case XML_TOK_NONE: + if (haveMore) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_SYNTAX; /* XML_ERROR_UNCLOSED_IGNORE_SECTION */ + default: + /* All of the tokens that XmlIgnoreSectionTok() returns have + * explicit cases to handle them, so this default case is never + * executed. We keep it as a safety net anyway, and remove it + * from our test coverage statistics. + * + * LCOV_EXCL_START + */ + *eventPP = next; + return XML_ERROR_UNEXPECTED_STATE; + /* LCOV_EXCL_STOP */ + } + /* not reached */ +} + +#endif /* XML_DTD */ + +static enum XML_Error +initializeEncoding(XML_Parser parser) +{ + const char *s; +#ifdef XML_UNICODE + char encodingBuf[128]; + /* See comments abount `protoclEncodingName` in parserInit() */ + if (!parser->m_protocolEncodingName) + s = NULL; + else { + int i; + for (i = 0; parser->m_protocolEncodingName[i]; i++) { + if (i == sizeof(encodingBuf) - 1 + || (parser->m_protocolEncodingName[i] & ~0x7f) != 0) { + encodingBuf[0] = '\0'; + break; + } + encodingBuf[i] = (char)parser->m_protocolEncodingName[i]; + } + encodingBuf[i] = '\0'; + s = encodingBuf; + } +#else + s = parser->m_protocolEncodingName; +#endif + if ((parser->m_ns ? XmlInitEncodingNS : XmlInitEncoding)(&parser->m_initEncoding, &parser->m_encoding, s)) + return XML_ERROR_NONE; + return handleUnknownEncoding(parser, parser->m_protocolEncodingName); +} + +static enum XML_Error +processXmlDecl(XML_Parser parser, int isGeneralTextEntity, + const char *s, const char *next) +{ + const char *encodingName = NULL; + const XML_Char *storedEncName = NULL; + const ENCODING *newEncoding = NULL; + const char *version = NULL; + const char *versionend; + const XML_Char *storedversion = NULL; + int standalone = -1; + if (!(parser->m_ns + ? XmlParseXmlDeclNS + : XmlParseXmlDecl)(isGeneralTextEntity, + parser->m_encoding, + s, + next, + &parser->m_eventPtr, + &version, + &versionend, + &encodingName, + &newEncoding, + &standalone)) { + if (isGeneralTextEntity) + return XML_ERROR_TEXT_DECL; + else + return XML_ERROR_XML_DECL; + } + if (!isGeneralTextEntity && standalone == 1) { + parser->m_dtd->standalone = XML_TRUE; +#ifdef XML_DTD + if (parser->m_paramEntityParsing == XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE) + parser->m_paramEntityParsing = XML_PARAM_ENTITY_PARSING_NEVER; +#endif /* XML_DTD */ + } + if (parser->m_xmlDeclHandler) { + if (encodingName != NULL) { + storedEncName = poolStoreString(&parser->m_temp2Pool, + parser->m_encoding, + encodingName, + encodingName + + XmlNameLength(parser->m_encoding, encodingName)); + if (!storedEncName) + return XML_ERROR_NO_MEMORY; + poolFinish(&parser->m_temp2Pool); + } + if (version) { + storedversion = poolStoreString(&parser->m_temp2Pool, + parser->m_encoding, + version, + versionend - parser->m_encoding->minBytesPerChar); + if (!storedversion) + return XML_ERROR_NO_MEMORY; + } + parser->m_xmlDeclHandler(parser->m_handlerArg, storedversion, storedEncName, standalone); + } + else if (parser->m_defaultHandler) + reportDefault(parser, parser->m_encoding, s, next); + if (parser->m_protocolEncodingName == NULL) { + if (newEncoding) { + /* Check that the specified encoding does not conflict with what + * the parser has already deduced. Do we have the same number + * of bytes in the smallest representation of a character? If + * this is UTF-16, is it the same endianness? + */ + if (newEncoding->minBytesPerChar != parser->m_encoding->minBytesPerChar + || (newEncoding->minBytesPerChar == 2 && + newEncoding != parser->m_encoding)) { + parser->m_eventPtr = encodingName; + return XML_ERROR_INCORRECT_ENCODING; + } + parser->m_encoding = newEncoding; + } + else if (encodingName) { + enum XML_Error result; + if (!storedEncName) { + storedEncName = poolStoreString( + &parser->m_temp2Pool, parser->m_encoding, encodingName, + encodingName + XmlNameLength(parser->m_encoding, encodingName)); + if (!storedEncName) + return XML_ERROR_NO_MEMORY; + } + result = handleUnknownEncoding(parser, storedEncName); + poolClear(&parser->m_temp2Pool); + if (result == XML_ERROR_UNKNOWN_ENCODING) + parser->m_eventPtr = encodingName; + return result; + } + } + + if (storedEncName || storedversion) + poolClear(&parser->m_temp2Pool); + + return XML_ERROR_NONE; +} + +static enum XML_Error +handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName) +{ + if (parser->m_unknownEncodingHandler) { + XML_Encoding info; + int i; + for (i = 0; i < 256; i++) + info.map[i] = -1; + info.convert = NULL; + info.data = NULL; + info.release = NULL; + if (parser->m_unknownEncodingHandler(parser->m_unknownEncodingHandlerData, encodingName, + &info)) { + ENCODING *enc; + parser->m_unknownEncodingMem = MALLOC(parser, XmlSizeOfUnknownEncoding()); + if (!parser->m_unknownEncodingMem) { + if (info.release) + info.release(info.data); + return XML_ERROR_NO_MEMORY; + } + enc = (parser->m_ns + ? XmlInitUnknownEncodingNS + : XmlInitUnknownEncoding)(parser->m_unknownEncodingMem, + info.map, + info.convert, + info.data); + if (enc) { + parser->m_unknownEncodingData = info.data; + parser->m_unknownEncodingRelease = info.release; + parser->m_encoding = enc; + return XML_ERROR_NONE; + } + } + if (info.release != NULL) + info.release(info.data); + } + return XML_ERROR_UNKNOWN_ENCODING; +} + +static enum XML_Error PTRCALL +prologInitProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + enum XML_Error result = initializeEncoding(parser); + if (result != XML_ERROR_NONE) + return result; + parser->m_processor = prologProcessor; + return prologProcessor(parser, s, end, nextPtr); +} + +#ifdef XML_DTD + +static enum XML_Error PTRCALL +externalParEntInitProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + enum XML_Error result = initializeEncoding(parser); + if (result != XML_ERROR_NONE) + return result; + + /* we know now that XML_Parse(Buffer) has been called, + so we consider the external parameter entity read */ + parser->m_dtd->paramEntityRead = XML_TRUE; + + if (parser->m_prologState.inEntityValue) { + parser->m_processor = entityValueInitProcessor; + return entityValueInitProcessor(parser, s, end, nextPtr); + } + else { + parser->m_processor = externalParEntProcessor; + return externalParEntProcessor(parser, s, end, nextPtr); + } +} + +static enum XML_Error PTRCALL +entityValueInitProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + int tok; + const char *start = s; + const char *next = start; + parser->m_eventPtr = start; + + for (;;) { + tok = XmlPrologTok(parser->m_encoding, start, end, &next); + parser->m_eventEndPtr = next; + if (tok <= 0) { + if (!parser->m_parsingStatus.finalBuffer && tok != XML_TOK_INVALID) { + *nextPtr = s; + return XML_ERROR_NONE; + } + switch (tok) { + case XML_TOK_INVALID: + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + return XML_ERROR_PARTIAL_CHAR; + case XML_TOK_NONE: /* start == end */ + default: + break; + } + /* found end of entity value - can store it now */ + return storeEntityValue(parser, parser->m_encoding, s, end); + } + else if (tok == XML_TOK_XML_DECL) { + enum XML_Error result; + result = processXmlDecl(parser, 0, start, next); + if (result != XML_ERROR_NONE) + return result; + /* At this point, m_parsingStatus.parsing cannot be XML_SUSPENDED. For that + * to happen, a parameter entity parsing handler must have + * attempted to suspend the parser, which fails and raises an + * error. The parser can be aborted, but can't be suspended. + */ + if (parser->m_parsingStatus.parsing == XML_FINISHED) + return XML_ERROR_ABORTED; + *nextPtr = next; + /* stop scanning for text declaration - we found one */ + parser->m_processor = entityValueProcessor; + return entityValueProcessor(parser, next, end, nextPtr); + } + /* If we are at the end of the buffer, this would cause XmlPrologTok to + return XML_TOK_NONE on the next call, which would then cause the + function to exit with *nextPtr set to s - that is what we want for other + tokens, but not for the BOM - we would rather like to skip it; + then, when this routine is entered the next time, XmlPrologTok will + return XML_TOK_INVALID, since the BOM is still in the buffer + */ + else if (tok == XML_TOK_BOM && next == end && !parser->m_parsingStatus.finalBuffer) { + *nextPtr = next; + return XML_ERROR_NONE; + } + /* If we get this token, we have the start of what might be a + normal tag, but not a declaration (i.e. it doesn't begin with + "m_eventPtr = start; + } +} + +static enum XML_Error PTRCALL +externalParEntProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + const char *next = s; + int tok; + + tok = XmlPrologTok(parser->m_encoding, s, end, &next); + if (tok <= 0) { + if (!parser->m_parsingStatus.finalBuffer && tok != XML_TOK_INVALID) { + *nextPtr = s; + return XML_ERROR_NONE; + } + switch (tok) { + case XML_TOK_INVALID: + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + return XML_ERROR_PARTIAL_CHAR; + case XML_TOK_NONE: /* start == end */ + default: + break; + } + } + /* This would cause the next stage, i.e. doProlog to be passed XML_TOK_BOM. + However, when parsing an external subset, doProlog will not accept a BOM + as valid, and report a syntax error, so we have to skip the BOM + */ + else if (tok == XML_TOK_BOM) { + s = next; + tok = XmlPrologTok(parser->m_encoding, s, end, &next); + } + + parser->m_processor = prologProcessor; + return doProlog(parser, parser->m_encoding, s, end, tok, next, + nextPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); +} + +static enum XML_Error PTRCALL +entityValueProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + const char *start = s; + const char *next = s; + const ENCODING *enc = parser->m_encoding; + int tok; + + for (;;) { + tok = XmlPrologTok(enc, start, end, &next); + if (tok <= 0) { + if (!parser->m_parsingStatus.finalBuffer && tok != XML_TOK_INVALID) { + *nextPtr = s; + return XML_ERROR_NONE; + } + switch (tok) { + case XML_TOK_INVALID: + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + return XML_ERROR_PARTIAL_CHAR; + case XML_TOK_NONE: /* start == end */ + default: + break; + } + /* found end of entity value - can store it now */ + return storeEntityValue(parser, enc, s, end); + } + start = next; + } +} + +#endif /* XML_DTD */ + +static enum XML_Error PTRCALL +prologProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + const char *next = s; + int tok = XmlPrologTok(parser->m_encoding, s, end, &next); + return doProlog(parser, parser->m_encoding, s, end, tok, next, + nextPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); +} + +static enum XML_Error +doProlog(XML_Parser parser, + const ENCODING *enc, + const char *s, + const char *end, + int tok, + const char *next, + const char **nextPtr, + XML_Bool haveMore) +{ +#ifdef XML_DTD + static const XML_Char externalSubsetName[] = { ASCII_HASH , '\0' }; +#endif /* XML_DTD */ + static const XML_Char atypeCDATA[] = + { ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' }; + static const XML_Char atypeID[] = { ASCII_I, ASCII_D, '\0' }; + static const XML_Char atypeIDREF[] = + { ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, '\0' }; + static const XML_Char atypeIDREFS[] = + { ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, ASCII_S, '\0' }; + static const XML_Char atypeENTITY[] = + { ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_Y, '\0' }; + static const XML_Char atypeENTITIES[] = { ASCII_E, ASCII_N, + ASCII_T, ASCII_I, ASCII_T, ASCII_I, ASCII_E, ASCII_S, '\0' }; + static const XML_Char atypeNMTOKEN[] = { + ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, '\0' }; + static const XML_Char atypeNMTOKENS[] = { ASCII_N, ASCII_M, ASCII_T, + ASCII_O, ASCII_K, ASCII_E, ASCII_N, ASCII_S, '\0' }; + static const XML_Char notationPrefix[] = { ASCII_N, ASCII_O, ASCII_T, + ASCII_A, ASCII_T, ASCII_I, ASCII_O, ASCII_N, ASCII_LPAREN, '\0' }; + static const XML_Char enumValueSep[] = { ASCII_PIPE, '\0' }; + static const XML_Char enumValueStart[] = { ASCII_LPAREN, '\0' }; + + /* save one level of indirection */ + DTD * const dtd = parser->m_dtd; + + const char **eventPP; + const char **eventEndPP; + enum XML_Content_Quant quant; + + if (enc == parser->m_encoding) { + eventPP = &parser->m_eventPtr; + eventEndPP = &parser->m_eventEndPtr; + } + else { + eventPP = &(parser->m_openInternalEntities->internalEventPtr); + eventEndPP = &(parser->m_openInternalEntities->internalEventEndPtr); + } + + for (;;) { + int role; + XML_Bool handleDefault = XML_TRUE; + *eventPP = s; + *eventEndPP = next; + if (tok <= 0) { + if (haveMore && tok != XML_TOK_INVALID) { + *nextPtr = s; + return XML_ERROR_NONE; + } + switch (tok) { + case XML_TOK_INVALID: + *eventPP = next; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + return XML_ERROR_PARTIAL_CHAR; + case -XML_TOK_PROLOG_S: + tok = -tok; + break; + case XML_TOK_NONE: +#ifdef XML_DTD + /* for internal PE NOT referenced between declarations */ + if (enc != parser->m_encoding && !parser->m_openInternalEntities->betweenDecl) { + *nextPtr = s; + return XML_ERROR_NONE; + } + /* WFC: PE Between Declarations - must check that PE contains + complete markup, not only for external PEs, but also for + internal PEs if the reference occurs between declarations. + */ + if (parser->m_isParamEntity || enc != parser->m_encoding) { + if (XmlTokenRole(&parser->m_prologState, XML_TOK_NONE, end, end, enc) + == XML_ROLE_ERROR) + return XML_ERROR_INCOMPLETE_PE; + *nextPtr = s; + return XML_ERROR_NONE; + } +#endif /* XML_DTD */ + return XML_ERROR_NO_ELEMENTS; + default: + tok = -tok; + next = end; + break; + } + } + role = XmlTokenRole(&parser->m_prologState, tok, s, next, enc); + switch (role) { + case XML_ROLE_XML_DECL: + { + enum XML_Error result = processXmlDecl(parser, 0, s, next); + if (result != XML_ERROR_NONE) + return result; + enc = parser->m_encoding; + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_DOCTYPE_NAME: + if (parser->m_startDoctypeDeclHandler) { + parser->m_doctypeName = poolStoreString(&parser->m_tempPool, enc, s, next); + if (!parser->m_doctypeName) + return XML_ERROR_NO_MEMORY; + poolFinish(&parser->m_tempPool); + parser->m_doctypePubid = NULL; + handleDefault = XML_FALSE; + } + parser->m_doctypeSysid = NULL; /* always initialize to NULL */ + break; + case XML_ROLE_DOCTYPE_INTERNAL_SUBSET: + if (parser->m_startDoctypeDeclHandler) { + parser->m_startDoctypeDeclHandler(parser->m_handlerArg, parser->m_doctypeName, parser->m_doctypeSysid, + parser->m_doctypePubid, 1); + parser->m_doctypeName = NULL; + poolClear(&parser->m_tempPool); + handleDefault = XML_FALSE; + } + break; +#ifdef XML_DTD + case XML_ROLE_TEXT_DECL: + { + enum XML_Error result = processXmlDecl(parser, 1, s, next); + if (result != XML_ERROR_NONE) + return result; + enc = parser->m_encoding; + handleDefault = XML_FALSE; + } + break; +#endif /* XML_DTD */ + case XML_ROLE_DOCTYPE_PUBLIC_ID: +#ifdef XML_DTD + parser->m_useForeignDTD = XML_FALSE; + parser->m_declEntity = (ENTITY *)lookup(parser, + &dtd->paramEntities, + externalSubsetName, + sizeof(ENTITY)); + if (!parser->m_declEntity) + return XML_ERROR_NO_MEMORY; +#endif /* XML_DTD */ + dtd->hasParamEntityRefs = XML_TRUE; + if (parser->m_startDoctypeDeclHandler) { + XML_Char *pubId; + if (!XmlIsPublicId(enc, s, next, eventPP)) + return XML_ERROR_PUBLICID; + pubId = poolStoreString(&parser->m_tempPool, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!pubId) + return XML_ERROR_NO_MEMORY; + normalizePublicId(pubId); + poolFinish(&parser->m_tempPool); + parser->m_doctypePubid = pubId; + handleDefault = XML_FALSE; + goto alreadyChecked; + } + /* fall through */ + case XML_ROLE_ENTITY_PUBLIC_ID: + if (!XmlIsPublicId(enc, s, next, eventPP)) + return XML_ERROR_PUBLICID; + alreadyChecked: + if (dtd->keepProcessing && parser->m_declEntity) { + XML_Char *tem = poolStoreString(&dtd->pool, + enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!tem) + return XML_ERROR_NO_MEMORY; + normalizePublicId(tem); + parser->m_declEntity->publicId = tem; + poolFinish(&dtd->pool); + /* Don't suppress the default handler if we fell through from + * the XML_ROLE_DOCTYPE_PUBLIC_ID case. + */ + if (parser->m_entityDeclHandler && role == XML_ROLE_ENTITY_PUBLIC_ID) + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_DOCTYPE_CLOSE: + if (parser->m_doctypeName) { + parser->m_startDoctypeDeclHandler(parser->m_handlerArg, parser->m_doctypeName, + parser->m_doctypeSysid, parser->m_doctypePubid, 0); + poolClear(&parser->m_tempPool); + handleDefault = XML_FALSE; + } + /* parser->m_doctypeSysid will be non-NULL in the case of a previous + XML_ROLE_DOCTYPE_SYSTEM_ID, even if parser->m_startDoctypeDeclHandler + was not set, indicating an external subset + */ +#ifdef XML_DTD + if (parser->m_doctypeSysid || parser->m_useForeignDTD) { + XML_Bool hadParamEntityRefs = dtd->hasParamEntityRefs; + dtd->hasParamEntityRefs = XML_TRUE; + if (parser->m_paramEntityParsing && parser->m_externalEntityRefHandler) { + ENTITY *entity = (ENTITY *)lookup(parser, + &dtd->paramEntities, + externalSubsetName, + sizeof(ENTITY)); + if (!entity) { + /* The external subset name "#" will have already been + * inserted into the hash table at the start of the + * external entity parsing, so no allocation will happen + * and lookup() cannot fail. + */ + return XML_ERROR_NO_MEMORY; /* LCOV_EXCL_LINE */ + } + if (parser->m_useForeignDTD) + entity->base = parser->m_curBase; + dtd->paramEntityRead = XML_FALSE; + if (!parser->m_externalEntityRefHandler(parser->m_externalEntityRefHandlerArg, + 0, + entity->base, + entity->systemId, + entity->publicId)) + return XML_ERROR_EXTERNAL_ENTITY_HANDLING; + if (dtd->paramEntityRead) { + if (!dtd->standalone && + parser->m_notStandaloneHandler && + !parser->m_notStandaloneHandler(parser->m_handlerArg)) + return XML_ERROR_NOT_STANDALONE; + } + /* if we didn't read the foreign DTD then this means that there + is no external subset and we must reset dtd->hasParamEntityRefs + */ + else if (!parser->m_doctypeSysid) + dtd->hasParamEntityRefs = hadParamEntityRefs; + /* end of DTD - no need to update dtd->keepProcessing */ + } + parser->m_useForeignDTD = XML_FALSE; + } +#endif /* XML_DTD */ + if (parser->m_endDoctypeDeclHandler) { + parser->m_endDoctypeDeclHandler(parser->m_handlerArg); + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_INSTANCE_START: +#ifdef XML_DTD + /* if there is no DOCTYPE declaration then now is the + last chance to read the foreign DTD + */ + if (parser->m_useForeignDTD) { + XML_Bool hadParamEntityRefs = dtd->hasParamEntityRefs; + dtd->hasParamEntityRefs = XML_TRUE; + if (parser->m_paramEntityParsing && parser->m_externalEntityRefHandler) { + ENTITY *entity = (ENTITY *)lookup(parser, &dtd->paramEntities, + externalSubsetName, + sizeof(ENTITY)); + if (!entity) + return XML_ERROR_NO_MEMORY; + entity->base = parser->m_curBase; + dtd->paramEntityRead = XML_FALSE; + if (!parser->m_externalEntityRefHandler(parser->m_externalEntityRefHandlerArg, + 0, + entity->base, + entity->systemId, + entity->publicId)) + return XML_ERROR_EXTERNAL_ENTITY_HANDLING; + if (dtd->paramEntityRead) { + if (!dtd->standalone && + parser->m_notStandaloneHandler && + !parser->m_notStandaloneHandler(parser->m_handlerArg)) + return XML_ERROR_NOT_STANDALONE; + } + /* if we didn't read the foreign DTD then this means that there + is no external subset and we must reset dtd->hasParamEntityRefs + */ + else + dtd->hasParamEntityRefs = hadParamEntityRefs; + /* end of DTD - no need to update dtd->keepProcessing */ + } + } +#endif /* XML_DTD */ + parser->m_processor = contentProcessor; + return contentProcessor(parser, s, end, nextPtr); + case XML_ROLE_ATTLIST_ELEMENT_NAME: + parser->m_declElementType = getElementType(parser, enc, s, next); + if (!parser->m_declElementType) + return XML_ERROR_NO_MEMORY; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_NAME: + parser->m_declAttributeId = getAttributeId(parser, enc, s, next); + if (!parser->m_declAttributeId) + return XML_ERROR_NO_MEMORY; + parser->m_declAttributeIsCdata = XML_FALSE; + parser->m_declAttributeType = NULL; + parser->m_declAttributeIsId = XML_FALSE; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_CDATA: + parser->m_declAttributeIsCdata = XML_TRUE; + parser->m_declAttributeType = atypeCDATA; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_ID: + parser->m_declAttributeIsId = XML_TRUE; + parser->m_declAttributeType = atypeID; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_IDREF: + parser->m_declAttributeType = atypeIDREF; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_IDREFS: + parser->m_declAttributeType = atypeIDREFS; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_ENTITY: + parser->m_declAttributeType = atypeENTITY; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_ENTITIES: + parser->m_declAttributeType = atypeENTITIES; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_NMTOKEN: + parser->m_declAttributeType = atypeNMTOKEN; + goto checkAttListDeclHandler; + case XML_ROLE_ATTRIBUTE_TYPE_NMTOKENS: + parser->m_declAttributeType = atypeNMTOKENS; + checkAttListDeclHandler: + if (dtd->keepProcessing && parser->m_attlistDeclHandler) + handleDefault = XML_FALSE; + break; + case XML_ROLE_ATTRIBUTE_ENUM_VALUE: + case XML_ROLE_ATTRIBUTE_NOTATION_VALUE: + if (dtd->keepProcessing && parser->m_attlistDeclHandler) { + const XML_Char *prefix; + if (parser->m_declAttributeType) { + prefix = enumValueSep; + } + else { + prefix = (role == XML_ROLE_ATTRIBUTE_NOTATION_VALUE + ? notationPrefix + : enumValueStart); + } + if (!poolAppendString(&parser->m_tempPool, prefix)) + return XML_ERROR_NO_MEMORY; + if (!poolAppend(&parser->m_tempPool, enc, s, next)) + return XML_ERROR_NO_MEMORY; + parser->m_declAttributeType = parser->m_tempPool.start; + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_IMPLIED_ATTRIBUTE_VALUE: + case XML_ROLE_REQUIRED_ATTRIBUTE_VALUE: + if (dtd->keepProcessing) { + if (!defineAttribute(parser->m_declElementType, parser->m_declAttributeId, + parser->m_declAttributeIsCdata, parser->m_declAttributeIsId, + 0, parser)) + return XML_ERROR_NO_MEMORY; + if (parser->m_attlistDeclHandler && parser->m_declAttributeType) { + if (*parser->m_declAttributeType == XML_T(ASCII_LPAREN) + || (*parser->m_declAttributeType == XML_T(ASCII_N) + && parser->m_declAttributeType[1] == XML_T(ASCII_O))) { + /* Enumerated or Notation type */ + if (!poolAppendChar(&parser->m_tempPool, XML_T(ASCII_RPAREN)) + || !poolAppendChar(&parser->m_tempPool, XML_T('\0'))) + return XML_ERROR_NO_MEMORY; + parser->m_declAttributeType = parser->m_tempPool.start; + poolFinish(&parser->m_tempPool); + } + *eventEndPP = s; + parser->m_attlistDeclHandler(parser->m_handlerArg, parser->m_declElementType->name, + parser->m_declAttributeId->name, parser->m_declAttributeType, + 0, role == XML_ROLE_REQUIRED_ATTRIBUTE_VALUE); + poolClear(&parser->m_tempPool); + handleDefault = XML_FALSE; + } + } + break; + case XML_ROLE_DEFAULT_ATTRIBUTE_VALUE: + case XML_ROLE_FIXED_ATTRIBUTE_VALUE: + if (dtd->keepProcessing) { + const XML_Char *attVal; + enum XML_Error result = + storeAttributeValue(parser, enc, parser->m_declAttributeIsCdata, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar, + &dtd->pool); + if (result) + return result; + attVal = poolStart(&dtd->pool); + poolFinish(&dtd->pool); + /* ID attributes aren't allowed to have a default */ + if (!defineAttribute(parser->m_declElementType, parser->m_declAttributeId, + parser->m_declAttributeIsCdata, XML_FALSE, attVal, parser)) + return XML_ERROR_NO_MEMORY; + if (parser->m_attlistDeclHandler && parser->m_declAttributeType) { + if (*parser->m_declAttributeType == XML_T(ASCII_LPAREN) + || (*parser->m_declAttributeType == XML_T(ASCII_N) + && parser->m_declAttributeType[1] == XML_T(ASCII_O))) { + /* Enumerated or Notation type */ + if (!poolAppendChar(&parser->m_tempPool, XML_T(ASCII_RPAREN)) + || !poolAppendChar(&parser->m_tempPool, XML_T('\0'))) + return XML_ERROR_NO_MEMORY; + parser->m_declAttributeType = parser->m_tempPool.start; + poolFinish(&parser->m_tempPool); + } + *eventEndPP = s; + parser->m_attlistDeclHandler(parser->m_handlerArg, parser->m_declElementType->name, + parser->m_declAttributeId->name, parser->m_declAttributeType, + attVal, + role == XML_ROLE_FIXED_ATTRIBUTE_VALUE); + poolClear(&parser->m_tempPool); + handleDefault = XML_FALSE; + } + } + break; + case XML_ROLE_ENTITY_VALUE: + if (dtd->keepProcessing) { + enum XML_Error result = storeEntityValue(parser, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (parser->m_declEntity) { + parser->m_declEntity->textPtr = poolStart(&dtd->entityValuePool); + parser->m_declEntity->textLen = (int)(poolLength(&dtd->entityValuePool)); + poolFinish(&dtd->entityValuePool); + if (parser->m_entityDeclHandler) { + *eventEndPP = s; + parser->m_entityDeclHandler(parser->m_handlerArg, + parser->m_declEntity->name, + parser->m_declEntity->is_param, + parser->m_declEntity->textPtr, + parser->m_declEntity->textLen, + parser->m_curBase, 0, 0, 0); + handleDefault = XML_FALSE; + } + } + else + poolDiscard(&dtd->entityValuePool); + if (result != XML_ERROR_NONE) + return result; + } + break; + case XML_ROLE_DOCTYPE_SYSTEM_ID: +#ifdef XML_DTD + parser->m_useForeignDTD = XML_FALSE; +#endif /* XML_DTD */ + dtd->hasParamEntityRefs = XML_TRUE; + if (parser->m_startDoctypeDeclHandler) { + parser->m_doctypeSysid = poolStoreString(&parser->m_tempPool, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (parser->m_doctypeSysid == NULL) + return XML_ERROR_NO_MEMORY; + poolFinish(&parser->m_tempPool); + handleDefault = XML_FALSE; + } +#ifdef XML_DTD + else + /* use externalSubsetName to make parser->m_doctypeSysid non-NULL + for the case where no parser->m_startDoctypeDeclHandler is set */ + parser->m_doctypeSysid = externalSubsetName; +#endif /* XML_DTD */ + if (!dtd->standalone +#ifdef XML_DTD + && !parser->m_paramEntityParsing +#endif /* XML_DTD */ + && parser->m_notStandaloneHandler + && !parser->m_notStandaloneHandler(parser->m_handlerArg)) + return XML_ERROR_NOT_STANDALONE; +#ifndef XML_DTD + break; +#else /* XML_DTD */ + if (!parser->m_declEntity) { + parser->m_declEntity = (ENTITY *)lookup(parser, + &dtd->paramEntities, + externalSubsetName, + sizeof(ENTITY)); + if (!parser->m_declEntity) + return XML_ERROR_NO_MEMORY; + parser->m_declEntity->publicId = NULL; + } + /* fall through */ +#endif /* XML_DTD */ + case XML_ROLE_ENTITY_SYSTEM_ID: + if (dtd->keepProcessing && parser->m_declEntity) { + parser->m_declEntity->systemId = poolStoreString(&dtd->pool, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!parser->m_declEntity->systemId) + return XML_ERROR_NO_MEMORY; + parser->m_declEntity->base = parser->m_curBase; + poolFinish(&dtd->pool); + /* Don't suppress the default handler if we fell through from + * the XML_ROLE_DOCTYPE_SYSTEM_ID case. + */ + if (parser->m_entityDeclHandler && role == XML_ROLE_ENTITY_SYSTEM_ID) + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_ENTITY_COMPLETE: + if (dtd->keepProcessing && parser->m_declEntity && parser->m_entityDeclHandler) { + *eventEndPP = s; + parser->m_entityDeclHandler(parser->m_handlerArg, + parser->m_declEntity->name, + parser->m_declEntity->is_param, + 0,0, + parser->m_declEntity->base, + parser->m_declEntity->systemId, + parser->m_declEntity->publicId, + 0); + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_ENTITY_NOTATION_NAME: + if (dtd->keepProcessing && parser->m_declEntity) { + parser->m_declEntity->notation = poolStoreString(&dtd->pool, enc, s, next); + if (!parser->m_declEntity->notation) + return XML_ERROR_NO_MEMORY; + poolFinish(&dtd->pool); + if (parser->m_unparsedEntityDeclHandler) { + *eventEndPP = s; + parser->m_unparsedEntityDeclHandler(parser->m_handlerArg, + parser->m_declEntity->name, + parser->m_declEntity->base, + parser->m_declEntity->systemId, + parser->m_declEntity->publicId, + parser->m_declEntity->notation); + handleDefault = XML_FALSE; + } + else if (parser->m_entityDeclHandler) { + *eventEndPP = s; + parser->m_entityDeclHandler(parser->m_handlerArg, + parser->m_declEntity->name, + 0,0,0, + parser->m_declEntity->base, + parser->m_declEntity->systemId, + parser->m_declEntity->publicId, + parser->m_declEntity->notation); + handleDefault = XML_FALSE; + } + } + break; + case XML_ROLE_GENERAL_ENTITY_NAME: + { + if (XmlPredefinedEntityName(enc, s, next)) { + parser->m_declEntity = NULL; + break; + } + if (dtd->keepProcessing) { + const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next); + if (!name) + return XML_ERROR_NO_MEMORY; + parser->m_declEntity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, + sizeof(ENTITY)); + if (!parser->m_declEntity) + return XML_ERROR_NO_MEMORY; + if (parser->m_declEntity->name != name) { + poolDiscard(&dtd->pool); + parser->m_declEntity = NULL; + } + else { + poolFinish(&dtd->pool); + parser->m_declEntity->publicId = NULL; + parser->m_declEntity->is_param = XML_FALSE; + /* if we have a parent parser or are reading an internal parameter + entity, then the entity declaration is not considered "internal" + */ + parser->m_declEntity->is_internal = !(parser->m_parentParser || parser->m_openInternalEntities); + if (parser->m_entityDeclHandler) + handleDefault = XML_FALSE; + } + } + else { + poolDiscard(&dtd->pool); + parser->m_declEntity = NULL; + } + } + break; + case XML_ROLE_PARAM_ENTITY_NAME: +#ifdef XML_DTD + if (dtd->keepProcessing) { + const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next); + if (!name) + return XML_ERROR_NO_MEMORY; + parser->m_declEntity = (ENTITY *)lookup(parser, &dtd->paramEntities, + name, sizeof(ENTITY)); + if (!parser->m_declEntity) + return XML_ERROR_NO_MEMORY; + if (parser->m_declEntity->name != name) { + poolDiscard(&dtd->pool); + parser->m_declEntity = NULL; + } + else { + poolFinish(&dtd->pool); + parser->m_declEntity->publicId = NULL; + parser->m_declEntity->is_param = XML_TRUE; + /* if we have a parent parser or are reading an internal parameter + entity, then the entity declaration is not considered "internal" + */ + parser->m_declEntity->is_internal = !(parser->m_parentParser || parser->m_openInternalEntities); + if (parser->m_entityDeclHandler) + handleDefault = XML_FALSE; + } + } + else { + poolDiscard(&dtd->pool); + parser->m_declEntity = NULL; + } +#else /* not XML_DTD */ + parser->m_declEntity = NULL; +#endif /* XML_DTD */ + break; + case XML_ROLE_NOTATION_NAME: + parser->m_declNotationPublicId = NULL; + parser->m_declNotationName = NULL; + if (parser->m_notationDeclHandler) { + parser->m_declNotationName = poolStoreString(&parser->m_tempPool, enc, s, next); + if (!parser->m_declNotationName) + return XML_ERROR_NO_MEMORY; + poolFinish(&parser->m_tempPool); + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_NOTATION_PUBLIC_ID: + if (!XmlIsPublicId(enc, s, next, eventPP)) + return XML_ERROR_PUBLICID; + if (parser->m_declNotationName) { /* means m_notationDeclHandler != NULL */ + XML_Char *tem = poolStoreString(&parser->m_tempPool, + enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!tem) + return XML_ERROR_NO_MEMORY; + normalizePublicId(tem); + parser->m_declNotationPublicId = tem; + poolFinish(&parser->m_tempPool); + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_NOTATION_SYSTEM_ID: + if (parser->m_declNotationName && parser->m_notationDeclHandler) { + const XML_Char *systemId + = poolStoreString(&parser->m_tempPool, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!systemId) + return XML_ERROR_NO_MEMORY; + *eventEndPP = s; + parser->m_notationDeclHandler(parser->m_handlerArg, + parser->m_declNotationName, + parser->m_curBase, + systemId, + parser->m_declNotationPublicId); + handleDefault = XML_FALSE; + } + poolClear(&parser->m_tempPool); + break; + case XML_ROLE_NOTATION_NO_SYSTEM_ID: + if (parser->m_declNotationPublicId && parser->m_notationDeclHandler) { + *eventEndPP = s; + parser->m_notationDeclHandler(parser->m_handlerArg, + parser->m_declNotationName, + parser->m_curBase, + 0, + parser->m_declNotationPublicId); + handleDefault = XML_FALSE; + } + poolClear(&parser->m_tempPool); + break; + case XML_ROLE_ERROR: + switch (tok) { + case XML_TOK_PARAM_ENTITY_REF: + /* PE references in internal subset are + not allowed within declarations. */ + return XML_ERROR_PARAM_ENTITY_REF; + case XML_TOK_XML_DECL: + return XML_ERROR_MISPLACED_XML_PI; + default: + return XML_ERROR_SYNTAX; + } +#ifdef XML_DTD + case XML_ROLE_IGNORE_SECT: + { + enum XML_Error result; + if (parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + handleDefault = XML_FALSE; + result = doIgnoreSection(parser, enc, &next, end, nextPtr, haveMore); + if (result != XML_ERROR_NONE) + return result; + else if (!next) { + parser->m_processor = ignoreSectionProcessor; + return result; + } + } + break; +#endif /* XML_DTD */ + case XML_ROLE_GROUP_OPEN: + if (parser->m_prologState.level >= parser->m_groupSize) { + if (parser->m_groupSize) { + char *temp = (char *)REALLOC(parser, parser->m_groupConnector, parser->m_groupSize *= 2); + if (temp == NULL) { + parser->m_groupSize /= 2; + return XML_ERROR_NO_MEMORY; + } + parser->m_groupConnector = temp; + if (dtd->scaffIndex) { + int *temp = (int *)REALLOC(parser, dtd->scaffIndex, + parser->m_groupSize * sizeof(int)); + if (temp == NULL) + return XML_ERROR_NO_MEMORY; + dtd->scaffIndex = temp; + } + } + else { + parser->m_groupConnector = (char *)MALLOC(parser, parser->m_groupSize = 32); + if (!parser->m_groupConnector) { + parser->m_groupSize = 0; + return XML_ERROR_NO_MEMORY; + } + } + } + parser->m_groupConnector[parser->m_prologState.level] = 0; + if (dtd->in_eldecl) { + int myindex = nextScaffoldPart(parser); + if (myindex < 0) + return XML_ERROR_NO_MEMORY; + dtd->scaffIndex[dtd->scaffLevel] = myindex; + dtd->scaffLevel++; + dtd->scaffold[myindex].type = XML_CTYPE_SEQ; + if (parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + } + break; + case XML_ROLE_GROUP_SEQUENCE: + if (parser->m_groupConnector[parser->m_prologState.level] == ASCII_PIPE) + return XML_ERROR_SYNTAX; + parser->m_groupConnector[parser->m_prologState.level] = ASCII_COMMA; + if (dtd->in_eldecl && parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + break; + case XML_ROLE_GROUP_CHOICE: + if (parser->m_groupConnector[parser->m_prologState.level] == ASCII_COMMA) + return XML_ERROR_SYNTAX; + if (dtd->in_eldecl + && !parser->m_groupConnector[parser->m_prologState.level] + && (dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type + != XML_CTYPE_MIXED) + ) { + dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type + = XML_CTYPE_CHOICE; + if (parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + } + parser->m_groupConnector[parser->m_prologState.level] = ASCII_PIPE; + break; + case XML_ROLE_PARAM_ENTITY_REF: +#ifdef XML_DTD + case XML_ROLE_INNER_PARAM_ENTITY_REF: + dtd->hasParamEntityRefs = XML_TRUE; + if (!parser->m_paramEntityParsing) + dtd->keepProcessing = dtd->standalone; + else { + const XML_Char *name; + ENTITY *entity; + name = poolStoreString(&dtd->pool, enc, + s + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!name) + return XML_ERROR_NO_MEMORY; + entity = (ENTITY *)lookup(parser, &dtd->paramEntities, name, 0); + poolDiscard(&dtd->pool); + /* first, determine if a check for an existing declaration is needed; + if yes, check that the entity exists, and that it is internal, + otherwise call the skipped entity handler + */ + if (parser->m_prologState.documentEntity && + (dtd->standalone + ? !parser->m_openInternalEntities + : !dtd->hasParamEntityRefs)) { + if (!entity) + return XML_ERROR_UNDEFINED_ENTITY; + else if (!entity->is_internal) { + /* It's hard to exhaustively search the code to be sure, + * but there doesn't seem to be a way of executing the + * following line. There are two cases: + * + * If 'standalone' is false, the DTD must have no + * parameter entities or we wouldn't have passed the outer + * 'if' statement. That measn the only entity in the hash + * table is the external subset name "#" which cannot be + * given as a parameter entity name in XML syntax, so the + * lookup must have returned NULL and we don't even reach + * the test for an internal entity. + * + * If 'standalone' is true, it does not seem to be + * possible to create entities taking this code path that + * are not internal entities, so fail the test above. + * + * Because this analysis is very uncertain, the code is + * being left in place and merely removed from the + * coverage test statistics. + */ + return XML_ERROR_ENTITY_DECLARED_IN_PE; /* LCOV_EXCL_LINE */ + } + } + else if (!entity) { + dtd->keepProcessing = dtd->standalone; + /* cannot report skipped entities in declarations */ + if ((role == XML_ROLE_PARAM_ENTITY_REF) && parser->m_skippedEntityHandler) { + parser->m_skippedEntityHandler(parser->m_handlerArg, name, 1); + handleDefault = XML_FALSE; + } + break; + } + if (entity->open) + return XML_ERROR_RECURSIVE_ENTITY_REF; + if (entity->textPtr) { + enum XML_Error result; + XML_Bool betweenDecl = + (role == XML_ROLE_PARAM_ENTITY_REF ? XML_TRUE : XML_FALSE); + result = processInternalEntity(parser, entity, betweenDecl); + if (result != XML_ERROR_NONE) + return result; + handleDefault = XML_FALSE; + break; + } + if (parser->m_externalEntityRefHandler) { + dtd->paramEntityRead = XML_FALSE; + entity->open = XML_TRUE; + if (!parser->m_externalEntityRefHandler(parser->m_externalEntityRefHandlerArg, + 0, + entity->base, + entity->systemId, + entity->publicId)) { + entity->open = XML_FALSE; + return XML_ERROR_EXTERNAL_ENTITY_HANDLING; + } + entity->open = XML_FALSE; + handleDefault = XML_FALSE; + if (!dtd->paramEntityRead) { + dtd->keepProcessing = dtd->standalone; + break; + } + } + else { + dtd->keepProcessing = dtd->standalone; + break; + } + } +#endif /* XML_DTD */ + if (!dtd->standalone && + parser->m_notStandaloneHandler && + !parser->m_notStandaloneHandler(parser->m_handlerArg)) + return XML_ERROR_NOT_STANDALONE; + break; + + /* Element declaration stuff */ + + case XML_ROLE_ELEMENT_NAME: + if (parser->m_elementDeclHandler) { + parser->m_declElementType = getElementType(parser, enc, s, next); + if (!parser->m_declElementType) + return XML_ERROR_NO_MEMORY; + dtd->scaffLevel = 0; + dtd->scaffCount = 0; + dtd->in_eldecl = XML_TRUE; + handleDefault = XML_FALSE; + } + break; + + case XML_ROLE_CONTENT_ANY: + case XML_ROLE_CONTENT_EMPTY: + if (dtd->in_eldecl) { + if (parser->m_elementDeclHandler) { + XML_Content * content = (XML_Content *) MALLOC(parser, sizeof(XML_Content)); + if (!content) + return XML_ERROR_NO_MEMORY; + content->quant = XML_CQUANT_NONE; + content->name = NULL; + content->numchildren = 0; + content->children = NULL; + content->type = ((role == XML_ROLE_CONTENT_ANY) ? + XML_CTYPE_ANY : + XML_CTYPE_EMPTY); + *eventEndPP = s; + parser->m_elementDeclHandler(parser->m_handlerArg, parser->m_declElementType->name, content); + handleDefault = XML_FALSE; + } + dtd->in_eldecl = XML_FALSE; + } + break; + + case XML_ROLE_CONTENT_PCDATA: + if (dtd->in_eldecl) { + dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type + = XML_CTYPE_MIXED; + if (parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + } + break; + + case XML_ROLE_CONTENT_ELEMENT: + quant = XML_CQUANT_NONE; + goto elementContent; + case XML_ROLE_CONTENT_ELEMENT_OPT: + quant = XML_CQUANT_OPT; + goto elementContent; + case XML_ROLE_CONTENT_ELEMENT_REP: + quant = XML_CQUANT_REP; + goto elementContent; + case XML_ROLE_CONTENT_ELEMENT_PLUS: + quant = XML_CQUANT_PLUS; + elementContent: + if (dtd->in_eldecl) { + ELEMENT_TYPE *el; + const XML_Char *name; + int nameLen; + const char *nxt = (quant == XML_CQUANT_NONE + ? next + : next - enc->minBytesPerChar); + int myindex = nextScaffoldPart(parser); + if (myindex < 0) + return XML_ERROR_NO_MEMORY; + dtd->scaffold[myindex].type = XML_CTYPE_NAME; + dtd->scaffold[myindex].quant = quant; + el = getElementType(parser, enc, s, nxt); + if (!el) + return XML_ERROR_NO_MEMORY; + name = el->name; + dtd->scaffold[myindex].name = name; + nameLen = 0; + for (; name[nameLen++]; ); + dtd->contentStringLen += nameLen; + if (parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + } + break; + + case XML_ROLE_GROUP_CLOSE: + quant = XML_CQUANT_NONE; + goto closeGroup; + case XML_ROLE_GROUP_CLOSE_OPT: + quant = XML_CQUANT_OPT; + goto closeGroup; + case XML_ROLE_GROUP_CLOSE_REP: + quant = XML_CQUANT_REP; + goto closeGroup; + case XML_ROLE_GROUP_CLOSE_PLUS: + quant = XML_CQUANT_PLUS; + closeGroup: + if (dtd->in_eldecl) { + if (parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + dtd->scaffLevel--; + dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel]].quant = quant; + if (dtd->scaffLevel == 0) { + if (!handleDefault) { + XML_Content *model = build_model(parser); + if (!model) + return XML_ERROR_NO_MEMORY; + *eventEndPP = s; + parser->m_elementDeclHandler(parser->m_handlerArg, parser->m_declElementType->name, model); + } + dtd->in_eldecl = XML_FALSE; + dtd->contentStringLen = 0; + } + } + break; + /* End element declaration stuff */ + + case XML_ROLE_PI: + if (!reportProcessingInstruction(parser, enc, s, next)) + return XML_ERROR_NO_MEMORY; + handleDefault = XML_FALSE; + break; + case XML_ROLE_COMMENT: + if (!reportComment(parser, enc, s, next)) + return XML_ERROR_NO_MEMORY; + handleDefault = XML_FALSE; + break; + case XML_ROLE_NONE: + switch (tok) { + case XML_TOK_BOM: + handleDefault = XML_FALSE; + break; + } + break; + case XML_ROLE_DOCTYPE_NONE: + if (parser->m_startDoctypeDeclHandler) + handleDefault = XML_FALSE; + break; + case XML_ROLE_ENTITY_NONE: + if (dtd->keepProcessing && parser->m_entityDeclHandler) + handleDefault = XML_FALSE; + break; + case XML_ROLE_NOTATION_NONE: + if (parser->m_notationDeclHandler) + handleDefault = XML_FALSE; + break; + case XML_ROLE_ATTLIST_NONE: + if (dtd->keepProcessing && parser->m_attlistDeclHandler) + handleDefault = XML_FALSE; + break; + case XML_ROLE_ELEMENT_NONE: + if (parser->m_elementDeclHandler) + handleDefault = XML_FALSE; + break; + } /* end of big switch */ + + if (handleDefault && parser->m_defaultHandler) + reportDefault(parser, enc, s, next); + + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + *nextPtr = next; + return XML_ERROR_NONE; + case XML_FINISHED: + return XML_ERROR_ABORTED; + default: + s = next; + tok = XmlPrologTok(enc, s, end, &next); + } + } + /* not reached */ +} + +static enum XML_Error PTRCALL +epilogProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + parser->m_processor = epilogProcessor; + parser->m_eventPtr = s; + for (;;) { + const char *next = NULL; + int tok = XmlPrologTok(parser->m_encoding, s, end, &next); + parser->m_eventEndPtr = next; + switch (tok) { + /* report partial linebreak - it might be the last token */ + case -XML_TOK_PROLOG_S: + if (parser->m_defaultHandler) { + reportDefault(parser, parser->m_encoding, s, next); + if (parser->m_parsingStatus.parsing == XML_FINISHED) + return XML_ERROR_ABORTED; + } + *nextPtr = next; + return XML_ERROR_NONE; + case XML_TOK_NONE: + *nextPtr = s; + return XML_ERROR_NONE; + case XML_TOK_PROLOG_S: + if (parser->m_defaultHandler) + reportDefault(parser, parser->m_encoding, s, next); + break; + case XML_TOK_PI: + if (!reportProcessingInstruction(parser, parser->m_encoding, s, next)) + return XML_ERROR_NO_MEMORY; + break; + case XML_TOK_COMMENT: + if (!reportComment(parser, parser->m_encoding, s, next)) + return XML_ERROR_NO_MEMORY; + break; + case XML_TOK_INVALID: + parser->m_eventPtr = next; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + if (!parser->m_parsingStatus.finalBuffer) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + if (!parser->m_parsingStatus.finalBuffer) { + *nextPtr = s; + return XML_ERROR_NONE; + } + return XML_ERROR_PARTIAL_CHAR; + default: + return XML_ERROR_JUNK_AFTER_DOC_ELEMENT; + } + parser->m_eventPtr = s = next; + switch (parser->m_parsingStatus.parsing) { + case XML_SUSPENDED: + *nextPtr = next; + return XML_ERROR_NONE; + case XML_FINISHED: + return XML_ERROR_ABORTED; + default: ; + } + } +} + +static enum XML_Error +processInternalEntity(XML_Parser parser, ENTITY *entity, + XML_Bool betweenDecl) +{ + const char *textStart, *textEnd; + const char *next; + enum XML_Error result; + OPEN_INTERNAL_ENTITY *openEntity; + + if (parser->m_freeInternalEntities) { + openEntity = parser->m_freeInternalEntities; + parser->m_freeInternalEntities = openEntity->next; + } + else { + openEntity = (OPEN_INTERNAL_ENTITY *)MALLOC(parser, sizeof(OPEN_INTERNAL_ENTITY)); + if (!openEntity) + return XML_ERROR_NO_MEMORY; + } + entity->open = XML_TRUE; + entity->processed = 0; + openEntity->next = parser->m_openInternalEntities; + parser->m_openInternalEntities = openEntity; + openEntity->entity = entity; + openEntity->startTagLevel = parser->m_tagLevel; + openEntity->betweenDecl = betweenDecl; + openEntity->internalEventPtr = NULL; + openEntity->internalEventEndPtr = NULL; + textStart = (char *)entity->textPtr; + textEnd = (char *)(entity->textPtr + entity->textLen); + /* Set a safe default value in case 'next' does not get set */ + next = textStart; + +#ifdef XML_DTD + if (entity->is_param) { + int tok = XmlPrologTok(parser->m_internalEncoding, textStart, textEnd, &next); + result = doProlog(parser, parser->m_internalEncoding, textStart, textEnd, tok, + next, &next, XML_FALSE); + } + else +#endif /* XML_DTD */ + result = doContent(parser, parser->m_tagLevel, parser->m_internalEncoding, textStart, + textEnd, &next, XML_FALSE); + + if (result == XML_ERROR_NONE) { + if (textEnd != next && parser->m_parsingStatus.parsing == XML_SUSPENDED) { + entity->processed = (int)(next - textStart); + parser->m_processor = internalEntityProcessor; + } + else { + entity->open = XML_FALSE; + parser->m_openInternalEntities = openEntity->next; + /* put openEntity back in list of free instances */ + openEntity->next = parser->m_freeInternalEntities; + parser->m_freeInternalEntities = openEntity; + } + } + return result; +} + +static enum XML_Error PTRCALL +internalEntityProcessor(XML_Parser parser, + const char *s, + const char *end, + const char **nextPtr) +{ + ENTITY *entity; + const char *textStart, *textEnd; + const char *next; + enum XML_Error result; + OPEN_INTERNAL_ENTITY *openEntity = parser->m_openInternalEntities; + if (!openEntity) + return XML_ERROR_UNEXPECTED_STATE; + + entity = openEntity->entity; + textStart = ((char *)entity->textPtr) + entity->processed; + textEnd = (char *)(entity->textPtr + entity->textLen); + /* Set a safe default value in case 'next' does not get set */ + next = textStart; + +#ifdef XML_DTD + if (entity->is_param) { + int tok = XmlPrologTok(parser->m_internalEncoding, textStart, textEnd, &next); + result = doProlog(parser, parser->m_internalEncoding, textStart, textEnd, tok, + next, &next, XML_FALSE); + } + else +#endif /* XML_DTD */ + result = doContent(parser, openEntity->startTagLevel, parser->m_internalEncoding, + textStart, textEnd, &next, XML_FALSE); + + if (result != XML_ERROR_NONE) + return result; + else if (textEnd != next && parser->m_parsingStatus.parsing == XML_SUSPENDED) { + entity->processed = (int)(next - (char *)entity->textPtr); + return result; + } + else { + entity->open = XML_FALSE; + parser->m_openInternalEntities = openEntity->next; + /* put openEntity back in list of free instances */ + openEntity->next = parser->m_freeInternalEntities; + parser->m_freeInternalEntities = openEntity; + } + +#ifdef XML_DTD + if (entity->is_param) { + int tok; + parser->m_processor = prologProcessor; + tok = XmlPrologTok(parser->m_encoding, s, end, &next); + return doProlog(parser, parser->m_encoding, s, end, tok, next, nextPtr, + (XML_Bool)!parser->m_parsingStatus.finalBuffer); + } + else +#endif /* XML_DTD */ + { + parser->m_processor = contentProcessor; + /* see externalEntityContentProcessor vs contentProcessor */ + return doContent(parser, parser->m_parentParser ? 1 : 0, parser->m_encoding, s, end, + nextPtr, (XML_Bool)!parser->m_parsingStatus.finalBuffer); + } +} + +static enum XML_Error PTRCALL +errorProcessor(XML_Parser parser, + const char *UNUSED_P(s), + const char *UNUSED_P(end), + const char **UNUSED_P(nextPtr)) +{ + return parser->m_errorCode; +} + +static enum XML_Error +storeAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, + const char *ptr, const char *end, + STRING_POOL *pool) +{ + enum XML_Error result = appendAttributeValue(parser, enc, isCdata, ptr, + end, pool); + if (result) + return result; + if (!isCdata && poolLength(pool) && poolLastChar(pool) == 0x20) + poolChop(pool); + if (!poolAppendChar(pool, XML_T('\0'))) + return XML_ERROR_NO_MEMORY; + return XML_ERROR_NONE; +} + +static enum XML_Error +appendAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, + const char *ptr, const char *end, + STRING_POOL *pool) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + for (;;) { + const char *next; + int tok = XmlAttributeValueTok(enc, ptr, end, &next); + switch (tok) { + case XML_TOK_NONE: + return XML_ERROR_NONE; + case XML_TOK_INVALID: + if (enc == parser->m_encoding) + parser->m_eventPtr = next; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_PARTIAL: + if (enc == parser->m_encoding) + parser->m_eventPtr = ptr; + return XML_ERROR_INVALID_TOKEN; + case XML_TOK_CHAR_REF: + { + XML_Char buf[XML_ENCODE_MAX]; + int i; + int n = XmlCharRefNumber(enc, ptr); + if (n < 0) { + if (enc == parser->m_encoding) + parser->m_eventPtr = ptr; + return XML_ERROR_BAD_CHAR_REF; + } + if (!isCdata + && n == 0x20 /* space */ + && (poolLength(pool) == 0 || poolLastChar(pool) == 0x20)) + break; + n = XmlEncode(n, (ICHAR *)buf); + /* The XmlEncode() functions can never return 0 here. That + * error return happens if the code point passed in is either + * negative or greater than or equal to 0x110000. The + * XmlCharRefNumber() functions will all return a number + * strictly less than 0x110000 or a negative value if an error + * occurred. The negative value is intercepted above, so + * XmlEncode() is never passed a value it might return an + * error for. + */ + for (i = 0; i < n; i++) { + if (!poolAppendChar(pool, buf[i])) + return XML_ERROR_NO_MEMORY; + } + } + break; + case XML_TOK_DATA_CHARS: + if (!poolAppend(pool, enc, ptr, next)) + return XML_ERROR_NO_MEMORY; + break; + case XML_TOK_TRAILING_CR: + next = ptr + enc->minBytesPerChar; + /* fall through */ + case XML_TOK_ATTRIBUTE_VALUE_S: + case XML_TOK_DATA_NEWLINE: + if (!isCdata && (poolLength(pool) == 0 || poolLastChar(pool) == 0x20)) + break; + if (!poolAppendChar(pool, 0x20)) + return XML_ERROR_NO_MEMORY; + break; + case XML_TOK_ENTITY_REF: + { + const XML_Char *name; + ENTITY *entity; + char checkEntityDecl; + XML_Char ch = (XML_Char) XmlPredefinedEntityName(enc, + ptr + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (ch) { + if (!poolAppendChar(pool, ch)) + return XML_ERROR_NO_MEMORY; + break; + } + name = poolStoreString(&parser->m_temp2Pool, enc, + ptr + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!name) + return XML_ERROR_NO_MEMORY; + entity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, 0); + poolDiscard(&parser->m_temp2Pool); + /* First, determine if a check for an existing declaration is needed; + if yes, check that the entity exists, and that it is internal. + */ + if (pool == &dtd->pool) /* are we called from prolog? */ + checkEntityDecl = +#ifdef XML_DTD + parser->m_prologState.documentEntity && +#endif /* XML_DTD */ + (dtd->standalone + ? !parser->m_openInternalEntities + : !dtd->hasParamEntityRefs); + else /* if (pool == &parser->m_tempPool): we are called from content */ + checkEntityDecl = !dtd->hasParamEntityRefs || dtd->standalone; + if (checkEntityDecl) { + if (!entity) + return XML_ERROR_UNDEFINED_ENTITY; + else if (!entity->is_internal) + return XML_ERROR_ENTITY_DECLARED_IN_PE; + } + else if (!entity) { + /* Cannot report skipped entity here - see comments on + parser->m_skippedEntityHandler. + if (parser->m_skippedEntityHandler) + parser->m_skippedEntityHandler(parser->m_handlerArg, name, 0); + */ + /* Cannot call the default handler because this would be + out of sync with the call to the startElementHandler. + if ((pool == &parser->m_tempPool) && parser->m_defaultHandler) + reportDefault(parser, enc, ptr, next); + */ + break; + } + if (entity->open) { + if (enc == parser->m_encoding) { + /* It does not appear that this line can be executed. + * + * The "if (entity->open)" check catches recursive entity + * definitions. In order to be called with an open + * entity, it must have gone through this code before and + * been through the recursive call to + * appendAttributeValue() some lines below. That call + * sets the local encoding ("enc") to the parser's + * internal encoding (internal_utf8 or internal_utf16), + * which can never be the same as the principle encoding. + * It doesn't appear there is another code path that gets + * here with entity->open being TRUE. + * + * Since it is not certain that this logic is watertight, + * we keep the line and merely exclude it from coverage + * tests. + */ + parser->m_eventPtr = ptr; /* LCOV_EXCL_LINE */ + } + return XML_ERROR_RECURSIVE_ENTITY_REF; + } + if (entity->notation) { + if (enc == parser->m_encoding) + parser->m_eventPtr = ptr; + return XML_ERROR_BINARY_ENTITY_REF; + } + if (!entity->textPtr) { + if (enc == parser->m_encoding) + parser->m_eventPtr = ptr; + return XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF; + } + else { + enum XML_Error result; + const XML_Char *textEnd = entity->textPtr + entity->textLen; + entity->open = XML_TRUE; + result = appendAttributeValue(parser, parser->m_internalEncoding, isCdata, + (char *)entity->textPtr, + (char *)textEnd, pool); + entity->open = XML_FALSE; + if (result) + return result; + } + } + break; + default: + /* The only token returned by XmlAttributeValueTok() that does + * not have an explicit case here is XML_TOK_PARTIAL_CHAR. + * Getting that would require an entity name to contain an + * incomplete XML character (e.g. \xE2\x82); however previous + * tokenisers will have already recognised and rejected such + * names before XmlAttributeValueTok() gets a look-in. This + * default case should be retained as a safety net, but the code + * excluded from coverage tests. + * + * LCOV_EXCL_START + */ + if (enc == parser->m_encoding) + parser->m_eventPtr = ptr; + return XML_ERROR_UNEXPECTED_STATE; + /* LCOV_EXCL_STOP */ + } + ptr = next; + } + /* not reached */ +} + +static enum XML_Error +storeEntityValue(XML_Parser parser, + const ENCODING *enc, + const char *entityTextPtr, + const char *entityTextEnd) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + STRING_POOL *pool = &(dtd->entityValuePool); + enum XML_Error result = XML_ERROR_NONE; +#ifdef XML_DTD + int oldInEntityValue = parser->m_prologState.inEntityValue; + parser->m_prologState.inEntityValue = 1; +#endif /* XML_DTD */ + /* never return Null for the value argument in EntityDeclHandler, + since this would indicate an external entity; therefore we + have to make sure that entityValuePool.start is not null */ + if (!pool->blocks) { + if (!poolGrow(pool)) + return XML_ERROR_NO_MEMORY; + } + + for (;;) { + const char *next; + int tok = XmlEntityValueTok(enc, entityTextPtr, entityTextEnd, &next); + switch (tok) { + case XML_TOK_PARAM_ENTITY_REF: +#ifdef XML_DTD + if (parser->m_isParamEntity || enc != parser->m_encoding) { + const XML_Char *name; + ENTITY *entity; + name = poolStoreString(&parser->m_tempPool, enc, + entityTextPtr + enc->minBytesPerChar, + next - enc->minBytesPerChar); + if (!name) { + result = XML_ERROR_NO_MEMORY; + goto endEntityValue; + } + entity = (ENTITY *)lookup(parser, &dtd->paramEntities, name, 0); + poolDiscard(&parser->m_tempPool); + if (!entity) { + /* not a well-formedness error - see XML 1.0: WFC Entity Declared */ + /* cannot report skipped entity here - see comments on + parser->m_skippedEntityHandler + if (parser->m_skippedEntityHandler) + parser->m_skippedEntityHandler(parser->m_handlerArg, name, 0); + */ + dtd->keepProcessing = dtd->standalone; + goto endEntityValue; + } + if (entity->open) { + if (enc == parser->m_encoding) + parser->m_eventPtr = entityTextPtr; + result = XML_ERROR_RECURSIVE_ENTITY_REF; + goto endEntityValue; + } + if (entity->systemId) { + if (parser->m_externalEntityRefHandler) { + dtd->paramEntityRead = XML_FALSE; + entity->open = XML_TRUE; + if (!parser->m_externalEntityRefHandler(parser->m_externalEntityRefHandlerArg, + 0, + entity->base, + entity->systemId, + entity->publicId)) { + entity->open = XML_FALSE; + result = XML_ERROR_EXTERNAL_ENTITY_HANDLING; + goto endEntityValue; + } + entity->open = XML_FALSE; + if (!dtd->paramEntityRead) + dtd->keepProcessing = dtd->standalone; + } + else + dtd->keepProcessing = dtd->standalone; + } + else { + entity->open = XML_TRUE; + result = storeEntityValue(parser, + parser->m_internalEncoding, + (char *)entity->textPtr, + (char *)(entity->textPtr + + entity->textLen)); + entity->open = XML_FALSE; + if (result) + goto endEntityValue; + } + break; + } +#endif /* XML_DTD */ + /* In the internal subset, PE references are not legal + within markup declarations, e.g entity values in this case. */ + parser->m_eventPtr = entityTextPtr; + result = XML_ERROR_PARAM_ENTITY_REF; + goto endEntityValue; + case XML_TOK_NONE: + result = XML_ERROR_NONE; + goto endEntityValue; + case XML_TOK_ENTITY_REF: + case XML_TOK_DATA_CHARS: + if (!poolAppend(pool, enc, entityTextPtr, next)) { + result = XML_ERROR_NO_MEMORY; + goto endEntityValue; + } + break; + case XML_TOK_TRAILING_CR: + next = entityTextPtr + enc->minBytesPerChar; + /* fall through */ + case XML_TOK_DATA_NEWLINE: + if (pool->end == pool->ptr && !poolGrow(pool)) { + result = XML_ERROR_NO_MEMORY; + goto endEntityValue; + } + *(pool->ptr)++ = 0xA; + break; + case XML_TOK_CHAR_REF: + { + XML_Char buf[XML_ENCODE_MAX]; + int i; + int n = XmlCharRefNumber(enc, entityTextPtr); + if (n < 0) { + if (enc == parser->m_encoding) + parser->m_eventPtr = entityTextPtr; + result = XML_ERROR_BAD_CHAR_REF; + goto endEntityValue; + } + n = XmlEncode(n, (ICHAR *)buf); + /* The XmlEncode() functions can never return 0 here. That + * error return happens if the code point passed in is either + * negative or greater than or equal to 0x110000. The + * XmlCharRefNumber() functions will all return a number + * strictly less than 0x110000 or a negative value if an error + * occurred. The negative value is intercepted above, so + * XmlEncode() is never passed a value it might return an + * error for. + */ + for (i = 0; i < n; i++) { + if (pool->end == pool->ptr && !poolGrow(pool)) { + result = XML_ERROR_NO_MEMORY; + goto endEntityValue; + } + *(pool->ptr)++ = buf[i]; + } + } + break; + case XML_TOK_PARTIAL: + if (enc == parser->m_encoding) + parser->m_eventPtr = entityTextPtr; + result = XML_ERROR_INVALID_TOKEN; + goto endEntityValue; + case XML_TOK_INVALID: + if (enc == parser->m_encoding) + parser->m_eventPtr = next; + result = XML_ERROR_INVALID_TOKEN; + goto endEntityValue; + default: + /* This default case should be unnecessary -- all the tokens + * that XmlEntityValueTok() can return have their own explicit + * cases -- but should be retained for safety. We do however + * exclude it from the coverage statistics. + * + * LCOV_EXCL_START + */ + if (enc == parser->m_encoding) + parser->m_eventPtr = entityTextPtr; + result = XML_ERROR_UNEXPECTED_STATE; + goto endEntityValue; + /* LCOV_EXCL_STOP */ + } + entityTextPtr = next; + } +endEntityValue: +#ifdef XML_DTD + parser->m_prologState.inEntityValue = oldInEntityValue; +#endif /* XML_DTD */ + return result; +} + +static void FASTCALL +normalizeLines(XML_Char *s) +{ + XML_Char *p; + for (;; s++) { + if (*s == XML_T('\0')) + return; + if (*s == 0xD) + break; + } + p = s; + do { + if (*s == 0xD) { + *p++ = 0xA; + if (*++s == 0xA) + s++; + } + else + *p++ = *s++; + } while (*s); + *p = XML_T('\0'); +} + +static int +reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, + const char *start, const char *end) +{ + const XML_Char *target; + XML_Char *data; + const char *tem; + if (!parser->m_processingInstructionHandler) { + if (parser->m_defaultHandler) + reportDefault(parser, enc, start, end); + return 1; + } + start += enc->minBytesPerChar * 2; + tem = start + XmlNameLength(enc, start); + target = poolStoreString(&parser->m_tempPool, enc, start, tem); + if (!target) + return 0; + poolFinish(&parser->m_tempPool); + data = poolStoreString(&parser->m_tempPool, enc, + XmlSkipS(enc, tem), + end - enc->minBytesPerChar*2); + if (!data) + return 0; + normalizeLines(data); + parser->m_processingInstructionHandler(parser->m_handlerArg, target, data); + poolClear(&parser->m_tempPool); + return 1; +} + +static int +reportComment(XML_Parser parser, const ENCODING *enc, + const char *start, const char *end) +{ + XML_Char *data; + if (!parser->m_commentHandler) { + if (parser->m_defaultHandler) + reportDefault(parser, enc, start, end); + return 1; + } + data = poolStoreString(&parser->m_tempPool, + enc, + start + enc->minBytesPerChar * 4, + end - enc->minBytesPerChar * 3); + if (!data) + return 0; + normalizeLines(data); + parser->m_commentHandler(parser->m_handlerArg, data); + poolClear(&parser->m_tempPool); + return 1; +} + +static void +reportDefault(XML_Parser parser, const ENCODING *enc, + const char *s, const char *end) +{ + if (MUST_CONVERT(enc, s)) { + enum XML_Convert_Result convert_res; + const char **eventPP; + const char **eventEndPP; + if (enc == parser->m_encoding) { + eventPP = &parser->m_eventPtr; + eventEndPP = &parser->m_eventEndPtr; + } + else { + /* To get here, two things must be true; the parser must be + * using a character encoding that is not the same as the + * encoding passed in, and the encoding passed in must need + * conversion to the internal format (UTF-8 unless XML_UNICODE + * is defined). The only occasions on which the encoding passed + * in is not the same as the parser's encoding are when it is + * the internal encoding (e.g. a previously defined parameter + * entity, already converted to internal format). This by + * definition doesn't need conversion, so the whole branch never + * gets executed. + * + * For safety's sake we don't delete these lines and merely + * exclude them from coverage statistics. + * + * LCOV_EXCL_START + */ + eventPP = &(parser->m_openInternalEntities->internalEventPtr); + eventEndPP = &(parser->m_openInternalEntities->internalEventEndPtr); + /* LCOV_EXCL_STOP */ + } + do { + ICHAR *dataPtr = (ICHAR *)parser->m_dataBuf; + convert_res = XmlConvert(enc, &s, end, &dataPtr, (ICHAR *)parser->m_dataBufEnd); + *eventEndPP = s; + parser->m_defaultHandler(parser->m_handlerArg, parser->m_dataBuf, (int)(dataPtr - (ICHAR *)parser->m_dataBuf)); + *eventPP = s; + } while ((convert_res != XML_CONVERT_COMPLETED) && (convert_res != XML_CONVERT_INPUT_INCOMPLETE)); + } + else + parser->m_defaultHandler(parser->m_handlerArg, (XML_Char *)s, (int)((XML_Char *)end - (XML_Char *)s)); +} + + +static int +defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, + XML_Bool isId, const XML_Char *value, XML_Parser parser) +{ + DEFAULT_ATTRIBUTE *att; + if (value || isId) { + /* The handling of default attributes gets messed up if we have + a default which duplicates a non-default. */ + int i; + for (i = 0; i < type->nDefaultAtts; i++) + if (attId == type->defaultAtts[i].id) + return 1; + if (isId && !type->idAtt && !attId->xmlns) + type->idAtt = attId; + } + if (type->nDefaultAtts == type->allocDefaultAtts) { + if (type->allocDefaultAtts == 0) { + type->allocDefaultAtts = 8; + type->defaultAtts = (DEFAULT_ATTRIBUTE *)MALLOC(parser, type->allocDefaultAtts + * sizeof(DEFAULT_ATTRIBUTE)); + if (!type->defaultAtts) { + type->allocDefaultAtts = 0; + return 0; + } + } + else { + DEFAULT_ATTRIBUTE *temp; + int count = type->allocDefaultAtts * 2; + temp = (DEFAULT_ATTRIBUTE *) + REALLOC(parser, type->defaultAtts, (count * sizeof(DEFAULT_ATTRIBUTE))); + if (temp == NULL) + return 0; + type->allocDefaultAtts = count; + type->defaultAtts = temp; + } + } + att = type->defaultAtts + type->nDefaultAtts; + att->id = attId; + att->value = value; + att->isCdata = isCdata; + if (!isCdata) + attId->maybeTokenized = XML_TRUE; + type->nDefaultAtts += 1; + return 1; +} + +static int +setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + const XML_Char *name; + for (name = elementType->name; *name; name++) { + if (*name == XML_T(ASCII_COLON)) { + PREFIX *prefix; + const XML_Char *s; + for (s = elementType->name; s != name; s++) { + if (!poolAppendChar(&dtd->pool, *s)) + return 0; + } + if (!poolAppendChar(&dtd->pool, XML_T('\0'))) + return 0; + prefix = (PREFIX *)lookup(parser, &dtd->prefixes, poolStart(&dtd->pool), + sizeof(PREFIX)); + if (!prefix) + return 0; + if (prefix->name == poolStart(&dtd->pool)) + poolFinish(&dtd->pool); + else + poolDiscard(&dtd->pool); + elementType->prefix = prefix; + + } + } + return 1; +} + +static ATTRIBUTE_ID * +getAttributeId(XML_Parser parser, const ENCODING *enc, + const char *start, const char *end) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + ATTRIBUTE_ID *id; + const XML_Char *name; + if (!poolAppendChar(&dtd->pool, XML_T('\0'))) + return NULL; + name = poolStoreString(&dtd->pool, enc, start, end); + if (!name) + return NULL; + /* skip quotation mark - its storage will be re-used (like in name[-1]) */ + ++name; + id = (ATTRIBUTE_ID *)lookup(parser, &dtd->attributeIds, name, sizeof(ATTRIBUTE_ID)); + if (!id) + return NULL; + if (id->name != name) + poolDiscard(&dtd->pool); + else { + poolFinish(&dtd->pool); + if (!parser->m_ns) + ; + else if (name[0] == XML_T(ASCII_x) + && name[1] == XML_T(ASCII_m) + && name[2] == XML_T(ASCII_l) + && name[3] == XML_T(ASCII_n) + && name[4] == XML_T(ASCII_s) + && (name[5] == XML_T('\0') || name[5] == XML_T(ASCII_COLON))) { + if (name[5] == XML_T('\0')) + id->prefix = &dtd->defaultPrefix; + else + id->prefix = (PREFIX *)lookup(parser, &dtd->prefixes, name + 6, sizeof(PREFIX)); + id->xmlns = XML_TRUE; + } + else { + int i; + for (i = 0; name[i]; i++) { + /* attributes without prefix are *not* in the default namespace */ + if (name[i] == XML_T(ASCII_COLON)) { + int j; + for (j = 0; j < i; j++) { + if (!poolAppendChar(&dtd->pool, name[j])) + return NULL; + } + if (!poolAppendChar(&dtd->pool, XML_T('\0'))) + return NULL; + id->prefix = (PREFIX *)lookup(parser, &dtd->prefixes, poolStart(&dtd->pool), + sizeof(PREFIX)); + if (!id->prefix) + return NULL; + if (id->prefix->name == poolStart(&dtd->pool)) + poolFinish(&dtd->pool); + else + poolDiscard(&dtd->pool); + break; + } + } + } + } + return id; +} + +#define CONTEXT_SEP XML_T(ASCII_FF) + +static const XML_Char * +getContext(XML_Parser parser) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + HASH_TABLE_ITER iter; + XML_Bool needSep = XML_FALSE; + + if (dtd->defaultPrefix.binding) { + int i; + int len; + if (!poolAppendChar(&parser->m_tempPool, XML_T(ASCII_EQUALS))) + return NULL; + len = dtd->defaultPrefix.binding->uriLen; + if (parser->m_namespaceSeparator) + len--; + for (i = 0; i < len; i++) { + if (!poolAppendChar(&parser->m_tempPool, dtd->defaultPrefix.binding->uri[i])) { + /* Because of memory caching, I don't believe this line can be + * executed. + * + * This is part of a loop copying the default prefix binding + * URI into the parser's temporary string pool. Previously, + * that URI was copied into the same string pool, with a + * terminating NUL character, as part of setContext(). When + * the pool was cleared, that leaves a block definitely big + * enough to hold the URI on the free block list of the pool. + * The URI copy in getContext() therefore cannot run out of + * memory. + * + * If the pool is used between the setContext() and + * getContext() calls, the worst it can do is leave a bigger + * block on the front of the free list. Given that this is + * all somewhat inobvious and program logic can be changed, we + * don't delete the line but we do exclude it from the test + * coverage statistics. + */ + return NULL; /* LCOV_EXCL_LINE */ + } + } + needSep = XML_TRUE; + } + + hashTableIterInit(&iter, &(dtd->prefixes)); + for (;;) { + int i; + int len; + const XML_Char *s; + PREFIX *prefix = (PREFIX *)hashTableIterNext(&iter); + if (!prefix) + break; + if (!prefix->binding) { + /* This test appears to be (justifiable) paranoia. There does + * not seem to be a way of injecting a prefix without a binding + * that doesn't get errored long before this function is called. + * The test should remain for safety's sake, so we instead + * exclude the following line from the coverage statistics. + */ + continue; /* LCOV_EXCL_LINE */ + } + if (needSep && !poolAppendChar(&parser->m_tempPool, CONTEXT_SEP)) + return NULL; + for (s = prefix->name; *s; s++) + if (!poolAppendChar(&parser->m_tempPool, *s)) + return NULL; + if (!poolAppendChar(&parser->m_tempPool, XML_T(ASCII_EQUALS))) + return NULL; + len = prefix->binding->uriLen; + if (parser->m_namespaceSeparator) + len--; + for (i = 0; i < len; i++) + if (!poolAppendChar(&parser->m_tempPool, prefix->binding->uri[i])) + return NULL; + needSep = XML_TRUE; + } + + + hashTableIterInit(&iter, &(dtd->generalEntities)); + for (;;) { + const XML_Char *s; + ENTITY *e = (ENTITY *)hashTableIterNext(&iter); + if (!e) + break; + if (!e->open) + continue; + if (needSep && !poolAppendChar(&parser->m_tempPool, CONTEXT_SEP)) + return NULL; + for (s = e->name; *s; s++) + if (!poolAppendChar(&parser->m_tempPool, *s)) + return 0; + needSep = XML_TRUE; + } + + if (!poolAppendChar(&parser->m_tempPool, XML_T('\0'))) + return NULL; + return parser->m_tempPool.start; +} + +static XML_Bool +setContext(XML_Parser parser, const XML_Char *context) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + const XML_Char *s = context; + + while (*context != XML_T('\0')) { + if (*s == CONTEXT_SEP || *s == XML_T('\0')) { + ENTITY *e; + if (!poolAppendChar(&parser->m_tempPool, XML_T('\0'))) + return XML_FALSE; + e = (ENTITY *)lookup(parser, &dtd->generalEntities, poolStart(&parser->m_tempPool), 0); + if (e) + e->open = XML_TRUE; + if (*s != XML_T('\0')) + s++; + context = s; + poolDiscard(&parser->m_tempPool); + } + else if (*s == XML_T(ASCII_EQUALS)) { + PREFIX *prefix; + if (poolLength(&parser->m_tempPool) == 0) + prefix = &dtd->defaultPrefix; + else { + if (!poolAppendChar(&parser->m_tempPool, XML_T('\0'))) + return XML_FALSE; + prefix = (PREFIX *)lookup(parser, &dtd->prefixes, poolStart(&parser->m_tempPool), + sizeof(PREFIX)); + if (!prefix) + return XML_FALSE; + if (prefix->name == poolStart(&parser->m_tempPool)) { + prefix->name = poolCopyString(&dtd->pool, prefix->name); + if (!prefix->name) + return XML_FALSE; + } + poolDiscard(&parser->m_tempPool); + } + for (context = s + 1; + *context != CONTEXT_SEP && *context != XML_T('\0'); + context++) + if (!poolAppendChar(&parser->m_tempPool, *context)) + return XML_FALSE; + if (!poolAppendChar(&parser->m_tempPool, XML_T('\0'))) + return XML_FALSE; + if (addBinding(parser, prefix, NULL, poolStart(&parser->m_tempPool), + &parser->m_inheritedBindings) != XML_ERROR_NONE) + return XML_FALSE; + poolDiscard(&parser->m_tempPool); + if (*context != XML_T('\0')) + ++context; + s = context; + } + else { + if (!poolAppendChar(&parser->m_tempPool, *s)) + return XML_FALSE; + s++; + } + } + return XML_TRUE; +} + +static void FASTCALL +normalizePublicId(XML_Char *publicId) +{ + XML_Char *p = publicId; + XML_Char *s; + for (s = publicId; *s; s++) { + switch (*s) { + case 0x20: + case 0xD: + case 0xA: + if (p != publicId && p[-1] != 0x20) + *p++ = 0x20; + break; + default: + *p++ = *s; + } + } + if (p != publicId && p[-1] == 0x20) + --p; + *p = XML_T('\0'); +} + +static DTD * +dtdCreate(const XML_Memory_Handling_Suite *ms) +{ + DTD *p = (DTD *)ms->malloc_fcn(sizeof(DTD)); + if (p == NULL) + return p; + poolInit(&(p->pool), ms); + poolInit(&(p->entityValuePool), ms); + hashTableInit(&(p->generalEntities), ms); + hashTableInit(&(p->elementTypes), ms); + hashTableInit(&(p->attributeIds), ms); + hashTableInit(&(p->prefixes), ms); +#ifdef XML_DTD + p->paramEntityRead = XML_FALSE; + hashTableInit(&(p->paramEntities), ms); +#endif /* XML_DTD */ + p->defaultPrefix.name = NULL; + p->defaultPrefix.binding = NULL; + + p->in_eldecl = XML_FALSE; + p->scaffIndex = NULL; + p->scaffold = NULL; + p->scaffLevel = 0; + p->scaffSize = 0; + p->scaffCount = 0; + p->contentStringLen = 0; + + p->keepProcessing = XML_TRUE; + p->hasParamEntityRefs = XML_FALSE; + p->standalone = XML_FALSE; + return p; +} + +static void +dtdReset(DTD *p, const XML_Memory_Handling_Suite *ms) +{ + HASH_TABLE_ITER iter; + hashTableIterInit(&iter, &(p->elementTypes)); + for (;;) { + ELEMENT_TYPE *e = (ELEMENT_TYPE *)hashTableIterNext(&iter); + if (!e) + break; + if (e->allocDefaultAtts != 0) + ms->free_fcn(e->defaultAtts); + } + hashTableClear(&(p->generalEntities)); +#ifdef XML_DTD + p->paramEntityRead = XML_FALSE; + hashTableClear(&(p->paramEntities)); +#endif /* XML_DTD */ + hashTableClear(&(p->elementTypes)); + hashTableClear(&(p->attributeIds)); + hashTableClear(&(p->prefixes)); + poolClear(&(p->pool)); + poolClear(&(p->entityValuePool)); + p->defaultPrefix.name = NULL; + p->defaultPrefix.binding = NULL; + + p->in_eldecl = XML_FALSE; + + ms->free_fcn(p->scaffIndex); + p->scaffIndex = NULL; + ms->free_fcn(p->scaffold); + p->scaffold = NULL; + + p->scaffLevel = 0; + p->scaffSize = 0; + p->scaffCount = 0; + p->contentStringLen = 0; + + p->keepProcessing = XML_TRUE; + p->hasParamEntityRefs = XML_FALSE; + p->standalone = XML_FALSE; +} + +static void +dtdDestroy(DTD *p, XML_Bool isDocEntity, const XML_Memory_Handling_Suite *ms) +{ + HASH_TABLE_ITER iter; + hashTableIterInit(&iter, &(p->elementTypes)); + for (;;) { + ELEMENT_TYPE *e = (ELEMENT_TYPE *)hashTableIterNext(&iter); + if (!e) + break; + if (e->allocDefaultAtts != 0) + ms->free_fcn(e->defaultAtts); + } + hashTableDestroy(&(p->generalEntities)); +#ifdef XML_DTD + hashTableDestroy(&(p->paramEntities)); +#endif /* XML_DTD */ + hashTableDestroy(&(p->elementTypes)); + hashTableDestroy(&(p->attributeIds)); + hashTableDestroy(&(p->prefixes)); + poolDestroy(&(p->pool)); + poolDestroy(&(p->entityValuePool)); + if (isDocEntity) { + ms->free_fcn(p->scaffIndex); + ms->free_fcn(p->scaffold); + } + ms->free_fcn(p); +} + +/* Do a deep copy of the DTD. Return 0 for out of memory, non-zero otherwise. + The new DTD has already been initialized. +*/ +static int +dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd, const XML_Memory_Handling_Suite *ms) +{ + HASH_TABLE_ITER iter; + + /* Copy the prefix table. */ + + hashTableIterInit(&iter, &(oldDtd->prefixes)); + for (;;) { + const XML_Char *name; + const PREFIX *oldP = (PREFIX *)hashTableIterNext(&iter); + if (!oldP) + break; + name = poolCopyString(&(newDtd->pool), oldP->name); + if (!name) + return 0; + if (!lookup(oldParser, &(newDtd->prefixes), name, sizeof(PREFIX))) + return 0; + } + + hashTableIterInit(&iter, &(oldDtd->attributeIds)); + + /* Copy the attribute id table. */ + + for (;;) { + ATTRIBUTE_ID *newA; + const XML_Char *name; + const ATTRIBUTE_ID *oldA = (ATTRIBUTE_ID *)hashTableIterNext(&iter); + + if (!oldA) + break; + /* Remember to allocate the scratch byte before the name. */ + if (!poolAppendChar(&(newDtd->pool), XML_T('\0'))) + return 0; + name = poolCopyString(&(newDtd->pool), oldA->name); + if (!name) + return 0; + ++name; + newA = (ATTRIBUTE_ID *)lookup(oldParser, &(newDtd->attributeIds), name, + sizeof(ATTRIBUTE_ID)); + if (!newA) + return 0; + newA->maybeTokenized = oldA->maybeTokenized; + if (oldA->prefix) { + newA->xmlns = oldA->xmlns; + if (oldA->prefix == &oldDtd->defaultPrefix) + newA->prefix = &newDtd->defaultPrefix; + else + newA->prefix = (PREFIX *)lookup(oldParser, &(newDtd->prefixes), + oldA->prefix->name, 0); + } + } + + /* Copy the element type table. */ + + hashTableIterInit(&iter, &(oldDtd->elementTypes)); + + for (;;) { + int i; + ELEMENT_TYPE *newE; + const XML_Char *name; + const ELEMENT_TYPE *oldE = (ELEMENT_TYPE *)hashTableIterNext(&iter); + if (!oldE) + break; + name = poolCopyString(&(newDtd->pool), oldE->name); + if (!name) + return 0; + newE = (ELEMENT_TYPE *)lookup(oldParser, &(newDtd->elementTypes), name, + sizeof(ELEMENT_TYPE)); + if (!newE) + return 0; + if (oldE->nDefaultAtts) { + newE->defaultAtts = (DEFAULT_ATTRIBUTE *) + ms->malloc_fcn(oldE->nDefaultAtts * sizeof(DEFAULT_ATTRIBUTE)); + if (!newE->defaultAtts) { + return 0; + } + } + if (oldE->idAtt) + newE->idAtt = (ATTRIBUTE_ID *) + lookup(oldParser, &(newDtd->attributeIds), oldE->idAtt->name, 0); + newE->allocDefaultAtts = newE->nDefaultAtts = oldE->nDefaultAtts; + if (oldE->prefix) + newE->prefix = (PREFIX *)lookup(oldParser, &(newDtd->prefixes), + oldE->prefix->name, 0); + for (i = 0; i < newE->nDefaultAtts; i++) { + newE->defaultAtts[i].id = (ATTRIBUTE_ID *) + lookup(oldParser, &(newDtd->attributeIds), oldE->defaultAtts[i].id->name, 0); + newE->defaultAtts[i].isCdata = oldE->defaultAtts[i].isCdata; + if (oldE->defaultAtts[i].value) { + newE->defaultAtts[i].value + = poolCopyString(&(newDtd->pool), oldE->defaultAtts[i].value); + if (!newE->defaultAtts[i].value) + return 0; + } + else + newE->defaultAtts[i].value = NULL; + } + } + + /* Copy the entity tables. */ + if (!copyEntityTable(oldParser, + &(newDtd->generalEntities), + &(newDtd->pool), + &(oldDtd->generalEntities))) + return 0; + +#ifdef XML_DTD + if (!copyEntityTable(oldParser, + &(newDtd->paramEntities), + &(newDtd->pool), + &(oldDtd->paramEntities))) + return 0; + newDtd->paramEntityRead = oldDtd->paramEntityRead; +#endif /* XML_DTD */ + + newDtd->keepProcessing = oldDtd->keepProcessing; + newDtd->hasParamEntityRefs = oldDtd->hasParamEntityRefs; + newDtd->standalone = oldDtd->standalone; + + /* Don't want deep copying for scaffolding */ + newDtd->in_eldecl = oldDtd->in_eldecl; + newDtd->scaffold = oldDtd->scaffold; + newDtd->contentStringLen = oldDtd->contentStringLen; + newDtd->scaffSize = oldDtd->scaffSize; + newDtd->scaffLevel = oldDtd->scaffLevel; + newDtd->scaffIndex = oldDtd->scaffIndex; + + return 1; +} /* End dtdCopy */ + +static int +copyEntityTable(XML_Parser oldParser, + HASH_TABLE *newTable, + STRING_POOL *newPool, + const HASH_TABLE *oldTable) +{ + HASH_TABLE_ITER iter; + const XML_Char *cachedOldBase = NULL; + const XML_Char *cachedNewBase = NULL; + + hashTableIterInit(&iter, oldTable); + + for (;;) { + ENTITY *newE; + const XML_Char *name; + const ENTITY *oldE = (ENTITY *)hashTableIterNext(&iter); + if (!oldE) + break; + name = poolCopyString(newPool, oldE->name); + if (!name) + return 0; + newE = (ENTITY *)lookup(oldParser, newTable, name, sizeof(ENTITY)); + if (!newE) + return 0; + if (oldE->systemId) { + const XML_Char *tem = poolCopyString(newPool, oldE->systemId); + if (!tem) + return 0; + newE->systemId = tem; + if (oldE->base) { + if (oldE->base == cachedOldBase) + newE->base = cachedNewBase; + else { + cachedOldBase = oldE->base; + tem = poolCopyString(newPool, cachedOldBase); + if (!tem) + return 0; + cachedNewBase = newE->base = tem; + } + } + if (oldE->publicId) { + tem = poolCopyString(newPool, oldE->publicId); + if (!tem) + return 0; + newE->publicId = tem; + } + } + else { + const XML_Char *tem = poolCopyStringN(newPool, oldE->textPtr, + oldE->textLen); + if (!tem) + return 0; + newE->textPtr = tem; + newE->textLen = oldE->textLen; + } + if (oldE->notation) { + const XML_Char *tem = poolCopyString(newPool, oldE->notation); + if (!tem) + return 0; + newE->notation = tem; + } + newE->is_param = oldE->is_param; + newE->is_internal = oldE->is_internal; + } + return 1; +} + +#define INIT_POWER 6 + +static XML_Bool FASTCALL +keyeq(KEY s1, KEY s2) +{ + for (; *s1 == *s2; s1++, s2++) + if (*s1 == 0) + return XML_TRUE; + return XML_FALSE; +} + +static size_t +keylen(KEY s) +{ + size_t len = 0; + for (; *s; s++, len++); + return len; +} + +static void +copy_salt_to_sipkey(XML_Parser parser, struct sipkey * key) +{ + key->k[0] = 0; + key->k[1] = get_hash_secret_salt(parser); +} + +static unsigned long FASTCALL +hash(XML_Parser parser, KEY s) +{ + struct siphash state; + struct sipkey key; + (void)sip_tobin; + (void)sip24_valid; + copy_salt_to_sipkey(parser, &key); + sip24_init(&state, &key); + sip24_update(&state, s, keylen(s) * sizeof(XML_Char)); + return (unsigned long)sip24_final(&state); +} + +static NAMED * +lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) +{ + size_t i; + if (table->size == 0) { + size_t tsize; + if (!createSize) + return NULL; + table->power = INIT_POWER; + /* table->size is a power of 2 */ + table->size = (size_t)1 << INIT_POWER; + tsize = table->size * sizeof(NAMED *); + table->v = (NAMED **)table->mem->malloc_fcn(tsize); + if (!table->v) { + table->size = 0; + return NULL; + } + memset(table->v, 0, tsize); + i = hash(parser, name) & ((unsigned long)table->size - 1); + } + else { + unsigned long h = hash(parser, name); + unsigned long mask = (unsigned long)table->size - 1; + unsigned char step = 0; + i = h & mask; + while (table->v[i]) { + if (keyeq(name, table->v[i]->name)) + return table->v[i]; + if (!step) + step = PROBE_STEP(h, mask, table->power); + i < step ? (i += table->size - step) : (i -= step); + } + if (!createSize) + return NULL; + + /* check for overflow (table is half full) */ + if (table->used >> (table->power - 1)) { + unsigned char newPower = table->power + 1; + size_t newSize = (size_t)1 << newPower; + unsigned long newMask = (unsigned long)newSize - 1; + size_t tsize = newSize * sizeof(NAMED *); + NAMED **newV = (NAMED **)table->mem->malloc_fcn(tsize); + if (!newV) + return NULL; + memset(newV, 0, tsize); + for (i = 0; i < table->size; i++) + if (table->v[i]) { + unsigned long newHash = hash(parser, table->v[i]->name); + size_t j = newHash & newMask; + step = 0; + while (newV[j]) { + if (!step) + step = PROBE_STEP(newHash, newMask, newPower); + j < step ? (j += newSize - step) : (j -= step); + } + newV[j] = table->v[i]; + } + table->mem->free_fcn(table->v); + table->v = newV; + table->power = newPower; + table->size = newSize; + i = h & newMask; + step = 0; + while (table->v[i]) { + if (!step) + step = PROBE_STEP(h, newMask, newPower); + i < step ? (i += newSize - step) : (i -= step); + } + } + } + table->v[i] = (NAMED *)table->mem->malloc_fcn(createSize); + if (!table->v[i]) + return NULL; + memset(table->v[i], 0, createSize); + table->v[i]->name = name; + (table->used)++; + return table->v[i]; +} + +static void FASTCALL +hashTableClear(HASH_TABLE *table) +{ + size_t i; + for (i = 0; i < table->size; i++) { + table->mem->free_fcn(table->v[i]); + table->v[i] = NULL; + } + table->used = 0; +} + +static void FASTCALL +hashTableDestroy(HASH_TABLE *table) +{ + size_t i; + for (i = 0; i < table->size; i++) + table->mem->free_fcn(table->v[i]); + table->mem->free_fcn(table->v); +} + +static void FASTCALL +hashTableInit(HASH_TABLE *p, const XML_Memory_Handling_Suite *ms) +{ + p->power = 0; + p->size = 0; + p->used = 0; + p->v = NULL; + p->mem = ms; +} + +static void FASTCALL +hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) +{ + iter->p = table->v; + iter->end = iter->p + table->size; +} + +static NAMED * FASTCALL +hashTableIterNext(HASH_TABLE_ITER *iter) +{ + while (iter->p != iter->end) { + NAMED *tem = *(iter->p)++; + if (tem) + return tem; + } + return NULL; +} + +static void FASTCALL +poolInit(STRING_POOL *pool, const XML_Memory_Handling_Suite *ms) +{ + pool->blocks = NULL; + pool->freeBlocks = NULL; + pool->start = NULL; + pool->ptr = NULL; + pool->end = NULL; + pool->mem = ms; +} + +static void FASTCALL +poolClear(STRING_POOL *pool) +{ + if (!pool->freeBlocks) + pool->freeBlocks = pool->blocks; + else { + BLOCK *p = pool->blocks; + while (p) { + BLOCK *tem = p->next; + p->next = pool->freeBlocks; + pool->freeBlocks = p; + p = tem; + } + } + pool->blocks = NULL; + pool->start = NULL; + pool->ptr = NULL; + pool->end = NULL; +} + +static void FASTCALL +poolDestroy(STRING_POOL *pool) +{ + BLOCK *p = pool->blocks; + while (p) { + BLOCK *tem = p->next; + pool->mem->free_fcn(p); + p = tem; + } + p = pool->freeBlocks; + while (p) { + BLOCK *tem = p->next; + pool->mem->free_fcn(p); + p = tem; + } +} + +static XML_Char * +poolAppend(STRING_POOL *pool, const ENCODING *enc, + const char *ptr, const char *end) +{ + if (!pool->ptr && !poolGrow(pool)) + return NULL; + for (;;) { + const enum XML_Convert_Result convert_res = XmlConvert(enc, &ptr, end, (ICHAR **)&(pool->ptr), (ICHAR *)pool->end); + if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) + break; + if (!poolGrow(pool)) + return NULL; + } + return pool->start; +} + +static const XML_Char * FASTCALL +poolCopyString(STRING_POOL *pool, const XML_Char *s) +{ + do { + if (!poolAppendChar(pool, *s)) + return NULL; + } while (*s++); + s = pool->start; + poolFinish(pool); + return s; +} + +static const XML_Char * +poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n) +{ + if (!pool->ptr && !poolGrow(pool)) { + /* The following line is unreachable given the current usage of + * poolCopyStringN(). Currently it is called from exactly one + * place to copy the text of a simple general entity. By that + * point, the name of the entity is already stored in the pool, so + * pool->ptr cannot be NULL. + * + * If poolCopyStringN() is used elsewhere as it well might be, + * this line may well become executable again. Regardless, this + * sort of check shouldn't be removed lightly, so we just exclude + * it from the coverage statistics. + */ + return NULL; /* LCOV_EXCL_LINE */ + } + for (; n > 0; --n, s++) { + if (!poolAppendChar(pool, *s)) + return NULL; + } + s = pool->start; + poolFinish(pool); + return s; +} + +static const XML_Char * FASTCALL +poolAppendString(STRING_POOL *pool, const XML_Char *s) +{ + while (*s) { + if (!poolAppendChar(pool, *s)) + return NULL; + s++; + } + return pool->start; +} + +static XML_Char * +poolStoreString(STRING_POOL *pool, const ENCODING *enc, + const char *ptr, const char *end) +{ + if (!poolAppend(pool, enc, ptr, end)) + return NULL; + if (pool->ptr == pool->end && !poolGrow(pool)) + return NULL; + *(pool->ptr)++ = 0; + return pool->start; +} + +static size_t +poolBytesToAllocateFor(int blockSize) +{ + /* Unprotected math would be: + ** return offsetof(BLOCK, s) + blockSize * sizeof(XML_Char); + ** + ** Detect overflow, avoiding _signed_ overflow undefined behavior + ** For a + b * c we check b * c in isolation first, so that addition of a + ** on top has no chance of making us accept a small non-negative number + */ + const size_t stretch = sizeof(XML_Char); /* can be 4 bytes */ + + if (blockSize <= 0) + return 0; + + if (blockSize > (int)(INT_MAX / stretch)) + return 0; + + { + const int stretchedBlockSize = blockSize * (int)stretch; + const int bytesToAllocate = (int)( + offsetof(BLOCK, s) + (unsigned)stretchedBlockSize); + if (bytesToAllocate < 0) + return 0; + + return (size_t)bytesToAllocate; + } +} + +static XML_Bool FASTCALL +poolGrow(STRING_POOL *pool) +{ + if (pool->freeBlocks) { + if (pool->start == 0) { + pool->blocks = pool->freeBlocks; + pool->freeBlocks = pool->freeBlocks->next; + pool->blocks->next = NULL; + pool->start = pool->blocks->s; + pool->end = pool->start + pool->blocks->size; + pool->ptr = pool->start; + return XML_TRUE; + } + if (pool->end - pool->start < pool->freeBlocks->size) { + BLOCK *tem = pool->freeBlocks->next; + pool->freeBlocks->next = pool->blocks; + pool->blocks = pool->freeBlocks; + pool->freeBlocks = tem; + memcpy(pool->blocks->s, pool->start, + (pool->end - pool->start) * sizeof(XML_Char)); + pool->ptr = pool->blocks->s + (pool->ptr - pool->start); + pool->start = pool->blocks->s; + pool->end = pool->start + pool->blocks->size; + return XML_TRUE; + } + } + if (pool->blocks && pool->start == pool->blocks->s) { + BLOCK *temp; + int blockSize = (int)((unsigned)(pool->end - pool->start)*2U); + size_t bytesToAllocate; + + /* NOTE: Needs to be calculated prior to calling `realloc` + to avoid dangling pointers: */ + const ptrdiff_t offsetInsideBlock = pool->ptr - pool->start; + + if (blockSize < 0) { + /* This condition traps a situation where either more than + * INT_MAX/2 bytes have already been allocated. This isn't + * readily testable, since it is unlikely that an average + * machine will have that much memory, so we exclude it from the + * coverage statistics. + */ + return XML_FALSE; /* LCOV_EXCL_LINE */ + } + + bytesToAllocate = poolBytesToAllocateFor(blockSize); + if (bytesToAllocate == 0) + return XML_FALSE; + + temp = (BLOCK *) + pool->mem->realloc_fcn(pool->blocks, (unsigned)bytesToAllocate); + if (temp == NULL) + return XML_FALSE; + pool->blocks = temp; + pool->blocks->size = blockSize; + pool->ptr = pool->blocks->s + offsetInsideBlock; + pool->start = pool->blocks->s; + pool->end = pool->start + blockSize; + } + else { + BLOCK *tem; + int blockSize = (int)(pool->end - pool->start); + size_t bytesToAllocate; + + if (blockSize < 0) { + /* This condition traps a situation where either more than + * INT_MAX bytes have already been allocated (which is prevented + * by various pieces of program logic, not least this one, never + * mind the unlikelihood of actually having that much memory) or + * the pool control fields have been corrupted (which could + * conceivably happen in an extremely buggy user handler + * function). Either way it isn't readily testable, so we + * exclude it from the coverage statistics. + */ + return XML_FALSE; /* LCOV_EXCL_LINE */ + } + + if (blockSize < INIT_BLOCK_SIZE) + blockSize = INIT_BLOCK_SIZE; + else { + /* Detect overflow, avoiding _signed_ overflow undefined behavior */ + if ((int)((unsigned)blockSize * 2U) < 0) { + return XML_FALSE; + } + blockSize *= 2; + } + + bytesToAllocate = poolBytesToAllocateFor(blockSize); + if (bytesToAllocate == 0) + return XML_FALSE; + + tem = (BLOCK *)pool->mem->malloc_fcn(bytesToAllocate); + if (!tem) + return XML_FALSE; + tem->size = blockSize; + tem->next = pool->blocks; + pool->blocks = tem; + if (pool->ptr != pool->start) + memcpy(tem->s, pool->start, + (pool->ptr - pool->start) * sizeof(XML_Char)); + pool->ptr = tem->s + (pool->ptr - pool->start); + pool->start = tem->s; + pool->end = tem->s + blockSize; + } + return XML_TRUE; +} + +static int FASTCALL +nextScaffoldPart(XML_Parser parser) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + CONTENT_SCAFFOLD * me; + int next; + + if (!dtd->scaffIndex) { + dtd->scaffIndex = (int *)MALLOC(parser, parser->m_groupSize * sizeof(int)); + if (!dtd->scaffIndex) + return -1; + dtd->scaffIndex[0] = 0; + } + + if (dtd->scaffCount >= dtd->scaffSize) { + CONTENT_SCAFFOLD *temp; + if (dtd->scaffold) { + temp = (CONTENT_SCAFFOLD *) + REALLOC(parser, dtd->scaffold, dtd->scaffSize * 2 * sizeof(CONTENT_SCAFFOLD)); + if (temp == NULL) + return -1; + dtd->scaffSize *= 2; + } + else { + temp = (CONTENT_SCAFFOLD *)MALLOC(parser, INIT_SCAFFOLD_ELEMENTS + * sizeof(CONTENT_SCAFFOLD)); + if (temp == NULL) + return -1; + dtd->scaffSize = INIT_SCAFFOLD_ELEMENTS; + } + dtd->scaffold = temp; + } + next = dtd->scaffCount++; + me = &dtd->scaffold[next]; + if (dtd->scaffLevel) { + CONTENT_SCAFFOLD *parent = &dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel-1]]; + if (parent->lastchild) { + dtd->scaffold[parent->lastchild].nextsib = next; + } + if (!parent->childcnt) + parent->firstchild = next; + parent->lastchild = next; + parent->childcnt++; + } + me->firstchild = me->lastchild = me->childcnt = me->nextsib = 0; + return next; +} + +static void +build_node(XML_Parser parser, + int src_node, + XML_Content *dest, + XML_Content **contpos, + XML_Char **strpos) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + dest->type = dtd->scaffold[src_node].type; + dest->quant = dtd->scaffold[src_node].quant; + if (dest->type == XML_CTYPE_NAME) { + const XML_Char *src; + dest->name = *strpos; + src = dtd->scaffold[src_node].name; + for (;;) { + *(*strpos)++ = *src; + if (!*src) + break; + src++; + } + dest->numchildren = 0; + dest->children = NULL; + } + else { + unsigned int i; + int cn; + dest->numchildren = dtd->scaffold[src_node].childcnt; + dest->children = *contpos; + *contpos += dest->numchildren; + for (i = 0, cn = dtd->scaffold[src_node].firstchild; + i < dest->numchildren; + i++, cn = dtd->scaffold[cn].nextsib) { + build_node(parser, cn, &(dest->children[i]), contpos, strpos); + } + dest->name = NULL; + } +} + +static XML_Content * +build_model (XML_Parser parser) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + XML_Content *ret; + XML_Content *cpos; + XML_Char * str; + int allocsize = (dtd->scaffCount * sizeof(XML_Content) + + (dtd->contentStringLen * sizeof(XML_Char))); + + ret = (XML_Content *)MALLOC(parser, allocsize); + if (!ret) + return NULL; + + str = (XML_Char *) (&ret[dtd->scaffCount]); + cpos = &ret[1]; + + build_node(parser, 0, ret, &cpos, &str); + return ret; +} + +static ELEMENT_TYPE * +getElementType(XML_Parser parser, + const ENCODING *enc, + const char *ptr, + const char *end) +{ + DTD * const dtd = parser->m_dtd; /* save one level of indirection */ + const XML_Char *name = poolStoreString(&dtd->pool, enc, ptr, end); + ELEMENT_TYPE *ret; + + if (!name) + return NULL; + ret = (ELEMENT_TYPE *) lookup(parser, &dtd->elementTypes, name, sizeof(ELEMENT_TYPE)); + if (!ret) + return NULL; + if (ret->name != name) + poolDiscard(&dtd->pool); + else { + poolFinish(&dtd->pool); + if (!setElementTypePrefix(parser, ret)) + return NULL; + } + return ret; +} + +static XML_Char * +copyString(const XML_Char *s, + const XML_Memory_Handling_Suite *memsuite) +{ + int charsRequired = 0; + XML_Char *result; + + /* First determine how long the string is */ + while (s[charsRequired] != 0) { + charsRequired++; + } + /* Include the terminator */ + charsRequired++; + + /* Now allocate space for the copy */ + result = memsuite->malloc_fcn(charsRequired * sizeof(XML_Char)); + if (result == NULL) + return NULL; + /* Copy the original into place */ + memcpy(result, s, charsRequired * sizeof(XML_Char)); + return result; +} diff --git a/tools/sdk/include/expat/xmlrole.c b/tools/sdk/include/expat/xmlrole.c new file mode 100644 index 00000000..708507d5 --- /dev/null +++ b/tools/sdk/include/expat/xmlrole.c @@ -0,0 +1,1386 @@ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#include + +#ifdef _WIN32 +#include "winconfig.h" +#else +#ifdef HAVE_EXPAT_CONFIG_H +#include +#endif +#endif /* ndef _WIN32 */ + +#include "expat_external.h" +#include "internal.h" +#include "xmlrole.h" +#include "ascii.h" + +/* Doesn't check: + + that ,| are not mixed in a model group + content of literals + +*/ + +static const char KW_ANY[] = { + ASCII_A, ASCII_N, ASCII_Y, '\0' }; +static const char KW_ATTLIST[] = { + ASCII_A, ASCII_T, ASCII_T, ASCII_L, ASCII_I, ASCII_S, ASCII_T, '\0' }; +static const char KW_CDATA[] = { + ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' }; +static const char KW_DOCTYPE[] = { + ASCII_D, ASCII_O, ASCII_C, ASCII_T, ASCII_Y, ASCII_P, ASCII_E, '\0' }; +static const char KW_ELEMENT[] = { + ASCII_E, ASCII_L, ASCII_E, ASCII_M, ASCII_E, ASCII_N, ASCII_T, '\0' }; +static const char KW_EMPTY[] = { + ASCII_E, ASCII_M, ASCII_P, ASCII_T, ASCII_Y, '\0' }; +static const char KW_ENTITIES[] = { + ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_I, ASCII_E, ASCII_S, + '\0' }; +static const char KW_ENTITY[] = { + ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_Y, '\0' }; +static const char KW_FIXED[] = { + ASCII_F, ASCII_I, ASCII_X, ASCII_E, ASCII_D, '\0' }; +static const char KW_ID[] = { + ASCII_I, ASCII_D, '\0' }; +static const char KW_IDREF[] = { + ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, '\0' }; +static const char KW_IDREFS[] = { + ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, ASCII_S, '\0' }; +#ifdef XML_DTD +static const char KW_IGNORE[] = { + ASCII_I, ASCII_G, ASCII_N, ASCII_O, ASCII_R, ASCII_E, '\0' }; +#endif +static const char KW_IMPLIED[] = { + ASCII_I, ASCII_M, ASCII_P, ASCII_L, ASCII_I, ASCII_E, ASCII_D, '\0' }; +#ifdef XML_DTD +static const char KW_INCLUDE[] = { + ASCII_I, ASCII_N, ASCII_C, ASCII_L, ASCII_U, ASCII_D, ASCII_E, '\0' }; +#endif +static const char KW_NDATA[] = { + ASCII_N, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' }; +static const char KW_NMTOKEN[] = { + ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, '\0' }; +static const char KW_NMTOKENS[] = { + ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, ASCII_S, + '\0' }; +static const char KW_NOTATION[] = + { ASCII_N, ASCII_O, ASCII_T, ASCII_A, ASCII_T, ASCII_I, ASCII_O, ASCII_N, + '\0' }; +static const char KW_PCDATA[] = { + ASCII_P, ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' }; +static const char KW_PUBLIC[] = { + ASCII_P, ASCII_U, ASCII_B, ASCII_L, ASCII_I, ASCII_C, '\0' }; +static const char KW_REQUIRED[] = { + ASCII_R, ASCII_E, ASCII_Q, ASCII_U, ASCII_I, ASCII_R, ASCII_E, ASCII_D, + '\0' }; +static const char KW_SYSTEM[] = { + ASCII_S, ASCII_Y, ASCII_S, ASCII_T, ASCII_E, ASCII_M, '\0' }; + +#ifndef MIN_BYTES_PER_CHAR +#define MIN_BYTES_PER_CHAR(enc) ((enc)->minBytesPerChar) +#endif + +#ifdef XML_DTD +#define setTopLevel(state) \ + ((state)->handler = ((state)->documentEntity \ + ? internalSubset \ + : externalSubset1)) +#else /* not XML_DTD */ +#define setTopLevel(state) ((state)->handler = internalSubset) +#endif /* not XML_DTD */ + +typedef int PTRCALL PROLOG_HANDLER(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc); + +static PROLOG_HANDLER + prolog0, prolog1, prolog2, + doctype0, doctype1, doctype2, doctype3, doctype4, doctype5, + internalSubset, + entity0, entity1, entity2, entity3, entity4, entity5, entity6, + entity7, entity8, entity9, entity10, + notation0, notation1, notation2, notation3, notation4, + attlist0, attlist1, attlist2, attlist3, attlist4, attlist5, attlist6, + attlist7, attlist8, attlist9, + element0, element1, element2, element3, element4, element5, element6, + element7, +#ifdef XML_DTD + externalSubset0, externalSubset1, + condSect0, condSect1, condSect2, +#endif /* XML_DTD */ + declClose, + error; + +static int FASTCALL common(PROLOG_STATE *state, int tok); + +static int PTRCALL +prolog0(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + state->handler = prolog1; + return XML_ROLE_NONE; + case XML_TOK_XML_DECL: + state->handler = prolog1; + return XML_ROLE_XML_DECL; + case XML_TOK_PI: + state->handler = prolog1; + return XML_ROLE_PI; + case XML_TOK_COMMENT: + state->handler = prolog1; + return XML_ROLE_COMMENT; + case XML_TOK_BOM: + return XML_ROLE_NONE; + case XML_TOK_DECL_OPEN: + if (!XmlNameMatchesAscii(enc, + ptr + 2 * MIN_BYTES_PER_CHAR(enc), + end, + KW_DOCTYPE)) + break; + state->handler = doctype0; + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_INSTANCE_START: + state->handler = error; + return XML_ROLE_INSTANCE_START; + } + return common(state, tok); +} + +static int PTRCALL +prolog1(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_PI: + return XML_ROLE_PI; + case XML_TOK_COMMENT: + return XML_ROLE_COMMENT; + case XML_TOK_BOM: + /* This case can never arise. To reach this role function, the + * parse must have passed through prolog0 and therefore have had + * some form of input, even if only a space. At that point, a + * byte order mark is no longer a valid character (though + * technically it should be interpreted as a non-breaking space), + * so will be rejected by the tokenizing stages. + */ + return XML_ROLE_NONE; /* LCOV_EXCL_LINE */ + case XML_TOK_DECL_OPEN: + if (!XmlNameMatchesAscii(enc, + ptr + 2 * MIN_BYTES_PER_CHAR(enc), + end, + KW_DOCTYPE)) + break; + state->handler = doctype0; + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_INSTANCE_START: + state->handler = error; + return XML_ROLE_INSTANCE_START; + } + return common(state, tok); +} + +static int PTRCALL +prolog2(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_PI: + return XML_ROLE_PI; + case XML_TOK_COMMENT: + return XML_ROLE_COMMENT; + case XML_TOK_INSTANCE_START: + state->handler = error; + return XML_ROLE_INSTANCE_START; + } + return common(state, tok); +} + +static int PTRCALL +doctype0(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = doctype1; + return XML_ROLE_DOCTYPE_NAME; + } + return common(state, tok); +} + +static int PTRCALL +doctype1(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_OPEN_BRACKET: + state->handler = internalSubset; + return XML_ROLE_DOCTYPE_INTERNAL_SUBSET; + case XML_TOK_DECL_CLOSE: + state->handler = prolog2; + return XML_ROLE_DOCTYPE_CLOSE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) { + state->handler = doctype3; + return XML_ROLE_DOCTYPE_NONE; + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) { + state->handler = doctype2; + return XML_ROLE_DOCTYPE_NONE; + } + break; + } + return common(state, tok); +} + +static int PTRCALL +doctype2(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_LITERAL: + state->handler = doctype3; + return XML_ROLE_DOCTYPE_PUBLIC_ID; + } + return common(state, tok); +} + +static int PTRCALL +doctype3(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_LITERAL: + state->handler = doctype4; + return XML_ROLE_DOCTYPE_SYSTEM_ID; + } + return common(state, tok); +} + +static int PTRCALL +doctype4(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_OPEN_BRACKET: + state->handler = internalSubset; + return XML_ROLE_DOCTYPE_INTERNAL_SUBSET; + case XML_TOK_DECL_CLOSE: + state->handler = prolog2; + return XML_ROLE_DOCTYPE_CLOSE; + } + return common(state, tok); +} + +static int PTRCALL +doctype5(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_DECL_CLOSE: + state->handler = prolog2; + return XML_ROLE_DOCTYPE_CLOSE; + } + return common(state, tok); +} + +static int PTRCALL +internalSubset(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_DECL_OPEN: + if (XmlNameMatchesAscii(enc, + ptr + 2 * MIN_BYTES_PER_CHAR(enc), + end, + KW_ENTITY)) { + state->handler = entity0; + return XML_ROLE_ENTITY_NONE; + } + if (XmlNameMatchesAscii(enc, + ptr + 2 * MIN_BYTES_PER_CHAR(enc), + end, + KW_ATTLIST)) { + state->handler = attlist0; + return XML_ROLE_ATTLIST_NONE; + } + if (XmlNameMatchesAscii(enc, + ptr + 2 * MIN_BYTES_PER_CHAR(enc), + end, + KW_ELEMENT)) { + state->handler = element0; + return XML_ROLE_ELEMENT_NONE; + } + if (XmlNameMatchesAscii(enc, + ptr + 2 * MIN_BYTES_PER_CHAR(enc), + end, + KW_NOTATION)) { + state->handler = notation0; + return XML_ROLE_NOTATION_NONE; + } + break; + case XML_TOK_PI: + return XML_ROLE_PI; + case XML_TOK_COMMENT: + return XML_ROLE_COMMENT; + case XML_TOK_PARAM_ENTITY_REF: + return XML_ROLE_PARAM_ENTITY_REF; + case XML_TOK_CLOSE_BRACKET: + state->handler = doctype5; + return XML_ROLE_DOCTYPE_NONE; + case XML_TOK_NONE: + return XML_ROLE_NONE; + } + return common(state, tok); +} + +#ifdef XML_DTD + +static int PTRCALL +externalSubset0(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + state->handler = externalSubset1; + if (tok == XML_TOK_XML_DECL) + return XML_ROLE_TEXT_DECL; + return externalSubset1(state, tok, ptr, end, enc); +} + +static int PTRCALL +externalSubset1(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_COND_SECT_OPEN: + state->handler = condSect0; + return XML_ROLE_NONE; + case XML_TOK_COND_SECT_CLOSE: + if (state->includeLevel == 0) + break; + state->includeLevel -= 1; + return XML_ROLE_NONE; + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_CLOSE_BRACKET: + break; + case XML_TOK_NONE: + if (state->includeLevel) + break; + return XML_ROLE_NONE; + default: + return internalSubset(state, tok, ptr, end, enc); + } + return common(state, tok); +} + +#endif /* XML_DTD */ + +static int PTRCALL +entity0(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_PERCENT: + state->handler = entity1; + return XML_ROLE_ENTITY_NONE; + case XML_TOK_NAME: + state->handler = entity2; + return XML_ROLE_GENERAL_ENTITY_NAME; + } + return common(state, tok); +} + +static int PTRCALL +entity1(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_NAME: + state->handler = entity7; + return XML_ROLE_PARAM_ENTITY_NAME; + } + return common(state, tok); +} + +static int PTRCALL +entity2(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) { + state->handler = entity4; + return XML_ROLE_ENTITY_NONE; + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) { + state->handler = entity3; + return XML_ROLE_ENTITY_NONE; + } + break; + case XML_TOK_LITERAL: + state->handler = declClose; + state->role_none = XML_ROLE_ENTITY_NONE; + return XML_ROLE_ENTITY_VALUE; + } + return common(state, tok); +} + +static int PTRCALL +entity3(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_LITERAL: + state->handler = entity4; + return XML_ROLE_ENTITY_PUBLIC_ID; + } + return common(state, tok); +} + +static int PTRCALL +entity4(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_LITERAL: + state->handler = entity5; + return XML_ROLE_ENTITY_SYSTEM_ID; + } + return common(state, tok); +} + +static int PTRCALL +entity5(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_DECL_CLOSE: + setTopLevel(state); + return XML_ROLE_ENTITY_COMPLETE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_NDATA)) { + state->handler = entity6; + return XML_ROLE_ENTITY_NONE; + } + break; + } + return common(state, tok); +} + +static int PTRCALL +entity6(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_NAME: + state->handler = declClose; + state->role_none = XML_ROLE_ENTITY_NONE; + return XML_ROLE_ENTITY_NOTATION_NAME; + } + return common(state, tok); +} + +static int PTRCALL +entity7(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) { + state->handler = entity9; + return XML_ROLE_ENTITY_NONE; + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) { + state->handler = entity8; + return XML_ROLE_ENTITY_NONE; + } + break; + case XML_TOK_LITERAL: + state->handler = declClose; + state->role_none = XML_ROLE_ENTITY_NONE; + return XML_ROLE_ENTITY_VALUE; + } + return common(state, tok); +} + +static int PTRCALL +entity8(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_LITERAL: + state->handler = entity9; + return XML_ROLE_ENTITY_PUBLIC_ID; + } + return common(state, tok); +} + +static int PTRCALL +entity9(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_LITERAL: + state->handler = entity10; + return XML_ROLE_ENTITY_SYSTEM_ID; + } + return common(state, tok); +} + +static int PTRCALL +entity10(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ENTITY_NONE; + case XML_TOK_DECL_CLOSE: + setTopLevel(state); + return XML_ROLE_ENTITY_COMPLETE; + } + return common(state, tok); +} + +static int PTRCALL +notation0(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NOTATION_NONE; + case XML_TOK_NAME: + state->handler = notation1; + return XML_ROLE_NOTATION_NAME; + } + return common(state, tok); +} + +static int PTRCALL +notation1(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NOTATION_NONE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) { + state->handler = notation3; + return XML_ROLE_NOTATION_NONE; + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) { + state->handler = notation2; + return XML_ROLE_NOTATION_NONE; + } + break; + } + return common(state, tok); +} + +static int PTRCALL +notation2(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NOTATION_NONE; + case XML_TOK_LITERAL: + state->handler = notation4; + return XML_ROLE_NOTATION_PUBLIC_ID; + } + return common(state, tok); +} + +static int PTRCALL +notation3(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NOTATION_NONE; + case XML_TOK_LITERAL: + state->handler = declClose; + state->role_none = XML_ROLE_NOTATION_NONE; + return XML_ROLE_NOTATION_SYSTEM_ID; + } + return common(state, tok); +} + +static int PTRCALL +notation4(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NOTATION_NONE; + case XML_TOK_LITERAL: + state->handler = declClose; + state->role_none = XML_ROLE_NOTATION_NONE; + return XML_ROLE_NOTATION_SYSTEM_ID; + case XML_TOK_DECL_CLOSE: + setTopLevel(state); + return XML_ROLE_NOTATION_NO_SYSTEM_ID; + } + return common(state, tok); +} + +static int PTRCALL +attlist0(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = attlist1; + return XML_ROLE_ATTLIST_ELEMENT_NAME; + } + return common(state, tok); +} + +static int PTRCALL +attlist1(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_DECL_CLOSE: + setTopLevel(state); + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = attlist2; + return XML_ROLE_ATTRIBUTE_NAME; + } + return common(state, tok); +} + +static int PTRCALL +attlist2(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_NAME: + { + static const char * const types[] = { + KW_CDATA, + KW_ID, + KW_IDREF, + KW_IDREFS, + KW_ENTITY, + KW_ENTITIES, + KW_NMTOKEN, + KW_NMTOKENS, + }; + int i; + for (i = 0; i < (int)(sizeof(types)/sizeof(types[0])); i++) + if (XmlNameMatchesAscii(enc, ptr, end, types[i])) { + state->handler = attlist8; + return XML_ROLE_ATTRIBUTE_TYPE_CDATA + i; + } + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_NOTATION)) { + state->handler = attlist5; + return XML_ROLE_ATTLIST_NONE; + } + break; + case XML_TOK_OPEN_PAREN: + state->handler = attlist3; + return XML_ROLE_ATTLIST_NONE; + } + return common(state, tok); +} + +static int PTRCALL +attlist3(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_NMTOKEN: + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = attlist4; + return XML_ROLE_ATTRIBUTE_ENUM_VALUE; + } + return common(state, tok); +} + +static int PTRCALL +attlist4(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_CLOSE_PAREN: + state->handler = attlist8; + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_OR: + state->handler = attlist3; + return XML_ROLE_ATTLIST_NONE; + } + return common(state, tok); +} + +static int PTRCALL +attlist5(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_OPEN_PAREN: + state->handler = attlist6; + return XML_ROLE_ATTLIST_NONE; + } + return common(state, tok); +} + +static int PTRCALL +attlist6(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_NAME: + state->handler = attlist7; + return XML_ROLE_ATTRIBUTE_NOTATION_VALUE; + } + return common(state, tok); +} + +static int PTRCALL +attlist7(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_CLOSE_PAREN: + state->handler = attlist8; + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_OR: + state->handler = attlist6; + return XML_ROLE_ATTLIST_NONE; + } + return common(state, tok); +} + +/* default value */ +static int PTRCALL +attlist8(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_POUND_NAME: + if (XmlNameMatchesAscii(enc, + ptr + MIN_BYTES_PER_CHAR(enc), + end, + KW_IMPLIED)) { + state->handler = attlist1; + return XML_ROLE_IMPLIED_ATTRIBUTE_VALUE; + } + if (XmlNameMatchesAscii(enc, + ptr + MIN_BYTES_PER_CHAR(enc), + end, + KW_REQUIRED)) { + state->handler = attlist1; + return XML_ROLE_REQUIRED_ATTRIBUTE_VALUE; + } + if (XmlNameMatchesAscii(enc, + ptr + MIN_BYTES_PER_CHAR(enc), + end, + KW_FIXED)) { + state->handler = attlist9; + return XML_ROLE_ATTLIST_NONE; + } + break; + case XML_TOK_LITERAL: + state->handler = attlist1; + return XML_ROLE_DEFAULT_ATTRIBUTE_VALUE; + } + return common(state, tok); +} + +static int PTRCALL +attlist9(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ATTLIST_NONE; + case XML_TOK_LITERAL: + state->handler = attlist1; + return XML_ROLE_FIXED_ATTRIBUTE_VALUE; + } + return common(state, tok); +} + +static int PTRCALL +element0(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = element1; + return XML_ROLE_ELEMENT_NAME; + } + return common(state, tok); +} + +static int PTRCALL +element1(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_EMPTY)) { + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + return XML_ROLE_CONTENT_EMPTY; + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_ANY)) { + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + return XML_ROLE_CONTENT_ANY; + } + break; + case XML_TOK_OPEN_PAREN: + state->handler = element2; + state->level = 1; + return XML_ROLE_GROUP_OPEN; + } + return common(state, tok); +} + +static int PTRCALL +element2(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_POUND_NAME: + if (XmlNameMatchesAscii(enc, + ptr + MIN_BYTES_PER_CHAR(enc), + end, + KW_PCDATA)) { + state->handler = element3; + return XML_ROLE_CONTENT_PCDATA; + } + break; + case XML_TOK_OPEN_PAREN: + state->level = 2; + state->handler = element6; + return XML_ROLE_GROUP_OPEN; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT; + case XML_TOK_NAME_QUESTION: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT_OPT; + case XML_TOK_NAME_ASTERISK: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT_REP; + case XML_TOK_NAME_PLUS: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT_PLUS; + } + return common(state, tok); +} + +static int PTRCALL +element3(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_CLOSE_PAREN: + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + return XML_ROLE_GROUP_CLOSE; + case XML_TOK_CLOSE_PAREN_ASTERISK: + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + return XML_ROLE_GROUP_CLOSE_REP; + case XML_TOK_OR: + state->handler = element4; + return XML_ROLE_ELEMENT_NONE; + } + return common(state, tok); +} + +static int PTRCALL +element4(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = element5; + return XML_ROLE_CONTENT_ELEMENT; + } + return common(state, tok); +} + +static int PTRCALL +element5(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_CLOSE_PAREN_ASTERISK: + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + return XML_ROLE_GROUP_CLOSE_REP; + case XML_TOK_OR: + state->handler = element4; + return XML_ROLE_ELEMENT_NONE; + } + return common(state, tok); +} + +static int PTRCALL +element6(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_OPEN_PAREN: + state->level += 1; + return XML_ROLE_GROUP_OPEN; + case XML_TOK_NAME: + case XML_TOK_PREFIXED_NAME: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT; + case XML_TOK_NAME_QUESTION: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT_OPT; + case XML_TOK_NAME_ASTERISK: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT_REP; + case XML_TOK_NAME_PLUS: + state->handler = element7; + return XML_ROLE_CONTENT_ELEMENT_PLUS; + } + return common(state, tok); +} + +static int PTRCALL +element7(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_ELEMENT_NONE; + case XML_TOK_CLOSE_PAREN: + state->level -= 1; + if (state->level == 0) { + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + } + return XML_ROLE_GROUP_CLOSE; + case XML_TOK_CLOSE_PAREN_ASTERISK: + state->level -= 1; + if (state->level == 0) { + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + } + return XML_ROLE_GROUP_CLOSE_REP; + case XML_TOK_CLOSE_PAREN_QUESTION: + state->level -= 1; + if (state->level == 0) { + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + } + return XML_ROLE_GROUP_CLOSE_OPT; + case XML_TOK_CLOSE_PAREN_PLUS: + state->level -= 1; + if (state->level == 0) { + state->handler = declClose; + state->role_none = XML_ROLE_ELEMENT_NONE; + } + return XML_ROLE_GROUP_CLOSE_PLUS; + case XML_TOK_COMMA: + state->handler = element6; + return XML_ROLE_GROUP_SEQUENCE; + case XML_TOK_OR: + state->handler = element6; + return XML_ROLE_GROUP_CHOICE; + } + return common(state, tok); +} + +#ifdef XML_DTD + +static int PTRCALL +condSect0(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_NAME: + if (XmlNameMatchesAscii(enc, ptr, end, KW_INCLUDE)) { + state->handler = condSect1; + return XML_ROLE_NONE; + } + if (XmlNameMatchesAscii(enc, ptr, end, KW_IGNORE)) { + state->handler = condSect2; + return XML_ROLE_NONE; + } + break; + } + return common(state, tok); +} + +static int PTRCALL +condSect1(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_OPEN_BRACKET: + state->handler = externalSubset1; + state->includeLevel += 1; + return XML_ROLE_NONE; + } + return common(state, tok); +} + +static int PTRCALL +condSect2(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return XML_ROLE_NONE; + case XML_TOK_OPEN_BRACKET: + state->handler = externalSubset1; + return XML_ROLE_IGNORE_SECT; + } + return common(state, tok); +} + +#endif /* XML_DTD */ + +static int PTRCALL +declClose(PROLOG_STATE *state, + int tok, + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + switch (tok) { + case XML_TOK_PROLOG_S: + return state->role_none; + case XML_TOK_DECL_CLOSE: + setTopLevel(state); + return state->role_none; + } + return common(state, tok); +} + +/* This function will only be invoked if the internal logic of the + * parser has broken down. It is used in two cases: + * + * 1: When the XML prolog has been finished. At this point the + * processor (the parser level above these role handlers) should + * switch from prologProcessor to contentProcessor and reinitialise + * the handler function. + * + * 2: When an error has been detected (via common() below). At this + * point again the processor should be switched to errorProcessor, + * which will never call a handler. + * + * The result of this is that error() can only be called if the + * processor switch failed to happen, which is an internal error and + * therefore we shouldn't be able to provoke it simply by using the + * library. It is a necessary backstop, however, so we merely exclude + * it from the coverage statistics. + * + * LCOV_EXCL_START + */ +static int PTRCALL +error(PROLOG_STATE *UNUSED_P(state), + int UNUSED_P(tok), + const char *UNUSED_P(ptr), + const char *UNUSED_P(end), + const ENCODING *UNUSED_P(enc)) +{ + return XML_ROLE_NONE; +} +/* LCOV_EXCL_STOP */ + +static int FASTCALL +common(PROLOG_STATE *state, int tok) +{ +#ifdef XML_DTD + if (!state->documentEntity && tok == XML_TOK_PARAM_ENTITY_REF) + return XML_ROLE_INNER_PARAM_ENTITY_REF; +#endif + state->handler = error; + return XML_ROLE_ERROR; +} + +void +XmlPrologStateInit(PROLOG_STATE *state) +{ + state->handler = prolog0; +#ifdef XML_DTD + state->documentEntity = 1; + state->includeLevel = 0; + state->inEntityValue = 0; +#endif /* XML_DTD */ +} + +#ifdef XML_DTD + +void +XmlPrologStateInitExternalEntity(PROLOG_STATE *state) +{ + state->handler = externalSubset0; + state->documentEntity = 0; + state->includeLevel = 0; +} + +#endif /* XML_DTD */ diff --git a/tools/sdk/include/expat/xmlrole.h b/tools/sdk/include/expat/xmlrole.h index 4dd9f06f..e5f048ea 100644 --- a/tools/sdk/include/expat/xmlrole.h +++ b/tools/sdk/include/expat/xmlrole.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef XmlRole_INCLUDED diff --git a/tools/sdk/include/expat/xmltok.c b/tools/sdk/include/expat/xmltok.c new file mode 100644 index 00000000..6b415d83 --- /dev/null +++ b/tools/sdk/include/expat/xmltok.c @@ -0,0 +1,1806 @@ +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#include +#include /* memcpy */ + +#if defined(_MSC_VER) && (_MSC_VER <= 1700) + /* for vs2012/11.0/1700 and earlier Visual Studio compilers */ +# define bool int +# define false 0 +# define true 1 +#else +# include +#endif + + +#ifdef _WIN32 +#include "winconfig.h" +#else +#ifdef HAVE_EXPAT_CONFIG_H +#include +#endif +#endif /* ndef _WIN32 */ + +#include "expat_external.h" +#include "internal.h" +#include "xmltok.h" +#include "nametab.h" + +#ifdef XML_DTD +#define IGNORE_SECTION_TOK_VTABLE , PREFIX(ignoreSectionTok) +#else +#define IGNORE_SECTION_TOK_VTABLE /* as nothing */ +#endif + +#define VTABLE1 \ + { PREFIX(prologTok), PREFIX(contentTok), \ + PREFIX(cdataSectionTok) IGNORE_SECTION_TOK_VTABLE }, \ + { PREFIX(attributeValueTok), PREFIX(entityValueTok) }, \ + PREFIX(nameMatchesAscii), \ + PREFIX(nameLength), \ + PREFIX(skipS), \ + PREFIX(getAtts), \ + PREFIX(charRefNumber), \ + PREFIX(predefinedEntityName), \ + PREFIX(updatePosition), \ + PREFIX(isPublicId) + +#define VTABLE VTABLE1, PREFIX(toUtf8), PREFIX(toUtf16) + +#define UCS2_GET_NAMING(pages, hi, lo) \ + (namingBitmap[(pages[hi] << 3) + ((lo) >> 5)] & (1u << ((lo) & 0x1F))) + +/* A 2 byte UTF-8 representation splits the characters 11 bits between + the bottom 5 and 6 bits of the bytes. We need 8 bits to index into + pages, 3 bits to add to that index and 5 bits to generate the mask. +*/ +#define UTF8_GET_NAMING2(pages, byte) \ + (namingBitmap[((pages)[(((byte)[0]) >> 2) & 7] << 3) \ + + ((((byte)[0]) & 3) << 1) \ + + ((((byte)[1]) >> 5) & 1)] \ + & (1u << (((byte)[1]) & 0x1F))) + +/* A 3 byte UTF-8 representation splits the characters 16 bits between + the bottom 4, 6 and 6 bits of the bytes. We need 8 bits to index + into pages, 3 bits to add to that index and 5 bits to generate the + mask. +*/ +#define UTF8_GET_NAMING3(pages, byte) \ + (namingBitmap[((pages)[((((byte)[0]) & 0xF) << 4) \ + + ((((byte)[1]) >> 2) & 0xF)] \ + << 3) \ + + ((((byte)[1]) & 3) << 1) \ + + ((((byte)[2]) >> 5) & 1)] \ + & (1u << (((byte)[2]) & 0x1F))) + +#define UTF8_GET_NAMING(pages, p, n) \ + ((n) == 2 \ + ? UTF8_GET_NAMING2(pages, (const unsigned char *)(p)) \ + : ((n) == 3 \ + ? UTF8_GET_NAMING3(pages, (const unsigned char *)(p)) \ + : 0)) + +/* Detection of invalid UTF-8 sequences is based on Table 3.1B + of Unicode 3.2: http://www.unicode.org/unicode/reports/tr28/ + with the additional restriction of not allowing the Unicode + code points 0xFFFF and 0xFFFE (sequences EF,BF,BF and EF,BF,BE). + Implementation details: + (A & 0x80) == 0 means A < 0x80 + and + (A & 0xC0) == 0xC0 means A > 0xBF +*/ + +#define UTF8_INVALID2(p) \ + ((*p) < 0xC2 || ((p)[1] & 0x80) == 0 || ((p)[1] & 0xC0) == 0xC0) + +#define UTF8_INVALID3(p) \ + (((p)[2] & 0x80) == 0 \ + || \ + ((*p) == 0xEF && (p)[1] == 0xBF \ + ? \ + (p)[2] > 0xBD \ + : \ + ((p)[2] & 0xC0) == 0xC0) \ + || \ + ((*p) == 0xE0 \ + ? \ + (p)[1] < 0xA0 || ((p)[1] & 0xC0) == 0xC0 \ + : \ + ((p)[1] & 0x80) == 0 \ + || \ + ((*p) == 0xED ? (p)[1] > 0x9F : ((p)[1] & 0xC0) == 0xC0))) + +#define UTF8_INVALID4(p) \ + (((p)[3] & 0x80) == 0 || ((p)[3] & 0xC0) == 0xC0 \ + || \ + ((p)[2] & 0x80) == 0 || ((p)[2] & 0xC0) == 0xC0 \ + || \ + ((*p) == 0xF0 \ + ? \ + (p)[1] < 0x90 || ((p)[1] & 0xC0) == 0xC0 \ + : \ + ((p)[1] & 0x80) == 0 \ + || \ + ((*p) == 0xF4 ? (p)[1] > 0x8F : ((p)[1] & 0xC0) == 0xC0))) + +static int PTRFASTCALL +isNever(const ENCODING *UNUSED_P(enc), const char *UNUSED_P(p)) +{ + return 0; +} + +static int PTRFASTCALL +utf8_isName2(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_GET_NAMING2(namePages, (const unsigned char *)p); +} + +static int PTRFASTCALL +utf8_isName3(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_GET_NAMING3(namePages, (const unsigned char *)p); +} + +#define utf8_isName4 isNever + +static int PTRFASTCALL +utf8_isNmstrt2(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_GET_NAMING2(nmstrtPages, (const unsigned char *)p); +} + +static int PTRFASTCALL +utf8_isNmstrt3(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_GET_NAMING3(nmstrtPages, (const unsigned char *)p); +} + +#define utf8_isNmstrt4 isNever + +static int PTRFASTCALL +utf8_isInvalid2(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_INVALID2((const unsigned char *)p); +} + +static int PTRFASTCALL +utf8_isInvalid3(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_INVALID3((const unsigned char *)p); +} + +static int PTRFASTCALL +utf8_isInvalid4(const ENCODING *UNUSED_P(enc), const char *p) +{ + return UTF8_INVALID4((const unsigned char *)p); +} + +struct normal_encoding { + ENCODING enc; + unsigned char type[256]; +#ifdef XML_MIN_SIZE + int (PTRFASTCALL *byteType)(const ENCODING *, const char *); + int (PTRFASTCALL *isNameMin)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrtMin)(const ENCODING *, const char *); + int (PTRFASTCALL *byteToAscii)(const ENCODING *, const char *); + int (PTRCALL *charMatches)(const ENCODING *, const char *, int); +#endif /* XML_MIN_SIZE */ + int (PTRFASTCALL *isName2)(const ENCODING *, const char *); + int (PTRFASTCALL *isName3)(const ENCODING *, const char *); + int (PTRFASTCALL *isName4)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrt2)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrt3)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrt4)(const ENCODING *, const char *); + int (PTRFASTCALL *isInvalid2)(const ENCODING *, const char *); + int (PTRFASTCALL *isInvalid3)(const ENCODING *, const char *); + int (PTRFASTCALL *isInvalid4)(const ENCODING *, const char *); +}; + +#define AS_NORMAL_ENCODING(enc) ((const struct normal_encoding *) (enc)) + +#ifdef XML_MIN_SIZE + +#define STANDARD_VTABLE(E) \ + E ## byteType, \ + E ## isNameMin, \ + E ## isNmstrtMin, \ + E ## byteToAscii, \ + E ## charMatches, + +#else + +#define STANDARD_VTABLE(E) /* as nothing */ + +#endif + +#define NORMAL_VTABLE(E) \ + E ## isName2, \ + E ## isName3, \ + E ## isName4, \ + E ## isNmstrt2, \ + E ## isNmstrt3, \ + E ## isNmstrt4, \ + E ## isInvalid2, \ + E ## isInvalid3, \ + E ## isInvalid4 + +#define NULL_VTABLE \ + /* isName2 */ NULL, \ + /* isName3 */ NULL, \ + /* isName4 */ NULL, \ + /* isNmstrt2 */ NULL, \ + /* isNmstrt3 */ NULL, \ + /* isNmstrt4 */ NULL, \ + /* isInvalid2 */ NULL, \ + /* isInvalid3 */ NULL, \ + /* isInvalid4 */ NULL + +static int FASTCALL checkCharRefNumber(int); + +#include "xmltok_impl.h" +#include "ascii.h" + +#ifdef XML_MIN_SIZE +#define sb_isNameMin isNever +#define sb_isNmstrtMin isNever +#endif + +#ifdef XML_MIN_SIZE +#define MINBPC(enc) ((enc)->minBytesPerChar) +#else +/* minimum bytes per character */ +#define MINBPC(enc) 1 +#endif + +#define SB_BYTE_TYPE(enc, p) \ + (((struct normal_encoding *)(enc))->type[(unsigned char)*(p)]) + +#ifdef XML_MIN_SIZE +static int PTRFASTCALL +sb_byteType(const ENCODING *enc, const char *p) +{ + return SB_BYTE_TYPE(enc, p); +} +#define BYTE_TYPE(enc, p) \ + (AS_NORMAL_ENCODING(enc)->byteType(enc, p)) +#else +#define BYTE_TYPE(enc, p) SB_BYTE_TYPE(enc, p) +#endif + +#ifdef XML_MIN_SIZE +#define BYTE_TO_ASCII(enc, p) \ + (AS_NORMAL_ENCODING(enc)->byteToAscii(enc, p)) +static int PTRFASTCALL +sb_byteToAscii(const ENCODING *enc, const char *p) +{ + return *p; +} +#else +#define BYTE_TO_ASCII(enc, p) (*(p)) +#endif + +#define IS_NAME_CHAR(enc, p, n) \ + (AS_NORMAL_ENCODING(enc)->isName ## n(enc, p)) +#define IS_NMSTRT_CHAR(enc, p, n) \ + (AS_NORMAL_ENCODING(enc)->isNmstrt ## n(enc, p)) +#define IS_INVALID_CHAR(enc, p, n) \ + (AS_NORMAL_ENCODING(enc)->isInvalid ## n(enc, p)) + +#ifdef XML_MIN_SIZE +#define IS_NAME_CHAR_MINBPC(enc, p) \ + (AS_NORMAL_ENCODING(enc)->isNameMin(enc, p)) +#define IS_NMSTRT_CHAR_MINBPC(enc, p) \ + (AS_NORMAL_ENCODING(enc)->isNmstrtMin(enc, p)) +#else +#define IS_NAME_CHAR_MINBPC(enc, p) (0) +#define IS_NMSTRT_CHAR_MINBPC(enc, p) (0) +#endif + +#ifdef XML_MIN_SIZE +#define CHAR_MATCHES(enc, p, c) \ + (AS_NORMAL_ENCODING(enc)->charMatches(enc, p, c)) +static int PTRCALL +sb_charMatches(const ENCODING *enc, const char *p, int c) +{ + return *p == c; +} +#else +/* c is an ASCII character */ +#define CHAR_MATCHES(enc, p, c) (*(p) == c) +#endif + +#define PREFIX(ident) normal_ ## ident +#define XML_TOK_IMPL_C +#include "xmltok_impl.c" +#undef XML_TOK_IMPL_C + +#undef MINBPC +#undef BYTE_TYPE +#undef BYTE_TO_ASCII +#undef CHAR_MATCHES +#undef IS_NAME_CHAR +#undef IS_NAME_CHAR_MINBPC +#undef IS_NMSTRT_CHAR +#undef IS_NMSTRT_CHAR_MINBPC +#undef IS_INVALID_CHAR + +enum { /* UTF8_cvalN is value of masked first byte of N byte sequence */ + UTF8_cval1 = 0x00, + UTF8_cval2 = 0xc0, + UTF8_cval3 = 0xe0, + UTF8_cval4 = 0xf0 +}; + +void +_INTERNAL_trim_to_complete_utf8_characters(const char * from, const char ** fromLimRef) +{ + const char * fromLim = *fromLimRef; + size_t walked = 0; + for (; fromLim > from; fromLim--, walked++) { + const unsigned char prev = (unsigned char)fromLim[-1]; + if ((prev & 0xf8u) == 0xf0u) { /* 4-byte character, lead by 0b11110xxx byte */ + if (walked + 1 >= 4) { + fromLim += 4 - 1; + break; + } else { + walked = 0; + } + } else if ((prev & 0xf0u) == 0xe0u) { /* 3-byte character, lead by 0b1110xxxx byte */ + if (walked + 1 >= 3) { + fromLim += 3 - 1; + break; + } else { + walked = 0; + } + } else if ((prev & 0xe0u) == 0xc0u) { /* 2-byte character, lead by 0b110xxxxx byte */ + if (walked + 1 >= 2) { + fromLim += 2 - 1; + break; + } else { + walked = 0; + } + } else if ((prev & 0x80u) == 0x00u) { /* 1-byte character, matching 0b0xxxxxxx */ + break; + } + } + *fromLimRef = fromLim; +} + +static enum XML_Convert_Result PTRCALL +utf8_toUtf8(const ENCODING *UNUSED_P(enc), + const char **fromP, const char *fromLim, + char **toP, const char *toLim) +{ + bool input_incomplete = false; + bool output_exhausted = false; + + /* Avoid copying partial characters (due to limited space). */ + const ptrdiff_t bytesAvailable = fromLim - *fromP; + const ptrdiff_t bytesStorable = toLim - *toP; + if (bytesAvailable > bytesStorable) { + fromLim = *fromP + bytesStorable; + output_exhausted = true; + } + + /* Avoid copying partial characters (from incomplete input). */ + { + const char * const fromLimBefore = fromLim; + _INTERNAL_trim_to_complete_utf8_characters(*fromP, &fromLim); + if (fromLim < fromLimBefore) { + input_incomplete = true; + } + } + + { + const ptrdiff_t bytesToCopy = fromLim - *fromP; + memcpy(*toP, *fromP, bytesToCopy); + *fromP += bytesToCopy; + *toP += bytesToCopy; + } + + if (output_exhausted) /* needs to go first */ + return XML_CONVERT_OUTPUT_EXHAUSTED; + else if (input_incomplete) + return XML_CONVERT_INPUT_INCOMPLETE; + else + return XML_CONVERT_COMPLETED; +} + +static enum XML_Convert_Result PTRCALL +utf8_toUtf16(const ENCODING *enc, + const char **fromP, const char *fromLim, + unsigned short **toP, const unsigned short *toLim) +{ + enum XML_Convert_Result res = XML_CONVERT_COMPLETED; + unsigned short *to = *toP; + const char *from = *fromP; + while (from < fromLim && to < toLim) { + switch (((struct normal_encoding *)enc)->type[(unsigned char)*from]) { + case BT_LEAD2: + if (fromLim - from < 2) { + res = XML_CONVERT_INPUT_INCOMPLETE; + goto after; + } + *to++ = (unsigned short)(((from[0] & 0x1f) << 6) | (from[1] & 0x3f)); + from += 2; + break; + case BT_LEAD3: + if (fromLim - from < 3) { + res = XML_CONVERT_INPUT_INCOMPLETE; + goto after; + } + *to++ = (unsigned short)(((from[0] & 0xf) << 12) + | ((from[1] & 0x3f) << 6) | (from[2] & 0x3f)); + from += 3; + break; + case BT_LEAD4: + { + unsigned long n; + if (toLim - to < 2) { + res = XML_CONVERT_OUTPUT_EXHAUSTED; + goto after; + } + if (fromLim - from < 4) { + res = XML_CONVERT_INPUT_INCOMPLETE; + goto after; + } + n = ((from[0] & 0x7) << 18) | ((from[1] & 0x3f) << 12) + | ((from[2] & 0x3f) << 6) | (from[3] & 0x3f); + n -= 0x10000; + to[0] = (unsigned short)((n >> 10) | 0xD800); + to[1] = (unsigned short)((n & 0x3FF) | 0xDC00); + to += 2; + from += 4; + } + break; + default: + *to++ = *from++; + break; + } + } + if (from < fromLim) + res = XML_CONVERT_OUTPUT_EXHAUSTED; +after: + *fromP = from; + *toP = to; + return res; +} + +#ifdef XML_NS +static const struct normal_encoding utf8_encoding_ns = { + { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 }, + { +#include "asciitab.h" +#include "utf8tab.h" + }, + STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_) +}; +#endif + +static const struct normal_encoding utf8_encoding = { + { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 }, + { +#define BT_COLON BT_NMSTRT +#include "asciitab.h" +#undef BT_COLON +#include "utf8tab.h" + }, + STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_) +}; + +#ifdef XML_NS + +static const struct normal_encoding internal_utf8_encoding_ns = { + { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 }, + { +#include "iasciitab.h" +#include "utf8tab.h" + }, + STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_) +}; + +#endif + +static const struct normal_encoding internal_utf8_encoding = { + { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 }, + { +#define BT_COLON BT_NMSTRT +#include "iasciitab.h" +#undef BT_COLON +#include "utf8tab.h" + }, + STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_) +}; + +static enum XML_Convert_Result PTRCALL +latin1_toUtf8(const ENCODING *UNUSED_P(enc), + const char **fromP, const char *fromLim, + char **toP, const char *toLim) +{ + for (;;) { + unsigned char c; + if (*fromP == fromLim) + return XML_CONVERT_COMPLETED; + c = (unsigned char)**fromP; + if (c & 0x80) { + if (toLim - *toP < 2) + return XML_CONVERT_OUTPUT_EXHAUSTED; + *(*toP)++ = (char)((c >> 6) | UTF8_cval2); + *(*toP)++ = (char)((c & 0x3f) | 0x80); + (*fromP)++; + } + else { + if (*toP == toLim) + return XML_CONVERT_OUTPUT_EXHAUSTED; + *(*toP)++ = *(*fromP)++; + } + } +} + +static enum XML_Convert_Result PTRCALL +latin1_toUtf16(const ENCODING *UNUSED_P(enc), + const char **fromP, const char *fromLim, + unsigned short **toP, const unsigned short *toLim) +{ + while (*fromP < fromLim && *toP < toLim) + *(*toP)++ = (unsigned char)*(*fromP)++; + + if ((*toP == toLim) && (*fromP < fromLim)) + return XML_CONVERT_OUTPUT_EXHAUSTED; + else + return XML_CONVERT_COMPLETED; +} + +#ifdef XML_NS + +static const struct normal_encoding latin1_encoding_ns = { + { VTABLE1, latin1_toUtf8, latin1_toUtf16, 1, 0, 0 }, + { +#include "asciitab.h" +#include "latin1tab.h" + }, + STANDARD_VTABLE(sb_) NULL_VTABLE +}; + +#endif + +static const struct normal_encoding latin1_encoding = { + { VTABLE1, latin1_toUtf8, latin1_toUtf16, 1, 0, 0 }, + { +#define BT_COLON BT_NMSTRT +#include "asciitab.h" +#undef BT_COLON +#include "latin1tab.h" + }, + STANDARD_VTABLE(sb_) NULL_VTABLE +}; + +static enum XML_Convert_Result PTRCALL +ascii_toUtf8(const ENCODING *UNUSED_P(enc), + const char **fromP, const char *fromLim, + char **toP, const char *toLim) +{ + while (*fromP < fromLim && *toP < toLim) + *(*toP)++ = *(*fromP)++; + + if ((*toP == toLim) && (*fromP < fromLim)) + return XML_CONVERT_OUTPUT_EXHAUSTED; + else + return XML_CONVERT_COMPLETED; +} + +#ifdef XML_NS + +static const struct normal_encoding ascii_encoding_ns = { + { VTABLE1, ascii_toUtf8, latin1_toUtf16, 1, 1, 0 }, + { +#include "asciitab.h" +/* BT_NONXML == 0 */ + }, + STANDARD_VTABLE(sb_) NULL_VTABLE +}; + +#endif + +static const struct normal_encoding ascii_encoding = { + { VTABLE1, ascii_toUtf8, latin1_toUtf16, 1, 1, 0 }, + { +#define BT_COLON BT_NMSTRT +#include "asciitab.h" +#undef BT_COLON +/* BT_NONXML == 0 */ + }, + STANDARD_VTABLE(sb_) NULL_VTABLE +}; + +static int PTRFASTCALL +unicode_byte_type(char hi, char lo) +{ + switch ((unsigned char)hi) { + case 0xD8: case 0xD9: case 0xDA: case 0xDB: + return BT_LEAD4; + case 0xDC: case 0xDD: case 0xDE: case 0xDF: + return BT_TRAIL; + case 0xFF: + switch ((unsigned char)lo) { + case 0xFF: + case 0xFE: + return BT_NONXML; + } + break; + } + return BT_NONASCII; +} + +#define DEFINE_UTF16_TO_UTF8(E) \ +static enum XML_Convert_Result PTRCALL \ +E ## toUtf8(const ENCODING *UNUSED_P(enc), \ + const char **fromP, const char *fromLim, \ + char **toP, const char *toLim) \ +{ \ + const char *from = *fromP; \ + fromLim = from + (((fromLim - from) >> 1) << 1); /* shrink to even */ \ + for (; from < fromLim; from += 2) { \ + int plane; \ + unsigned char lo2; \ + unsigned char lo = GET_LO(from); \ + unsigned char hi = GET_HI(from); \ + switch (hi) { \ + case 0: \ + if (lo < 0x80) { \ + if (*toP == toLim) { \ + *fromP = from; \ + return XML_CONVERT_OUTPUT_EXHAUSTED; \ + } \ + *(*toP)++ = lo; \ + break; \ + } \ + /* fall through */ \ + case 0x1: case 0x2: case 0x3: \ + case 0x4: case 0x5: case 0x6: case 0x7: \ + if (toLim - *toP < 2) { \ + *fromP = from; \ + return XML_CONVERT_OUTPUT_EXHAUSTED; \ + } \ + *(*toP)++ = ((lo >> 6) | (hi << 2) | UTF8_cval2); \ + *(*toP)++ = ((lo & 0x3f) | 0x80); \ + break; \ + default: \ + if (toLim - *toP < 3) { \ + *fromP = from; \ + return XML_CONVERT_OUTPUT_EXHAUSTED; \ + } \ + /* 16 bits divided 4, 6, 6 amongst 3 bytes */ \ + *(*toP)++ = ((hi >> 4) | UTF8_cval3); \ + *(*toP)++ = (((hi & 0xf) << 2) | (lo >> 6) | 0x80); \ + *(*toP)++ = ((lo & 0x3f) | 0x80); \ + break; \ + case 0xD8: case 0xD9: case 0xDA: case 0xDB: \ + if (toLim - *toP < 4) { \ + *fromP = from; \ + return XML_CONVERT_OUTPUT_EXHAUSTED; \ + } \ + if (fromLim - from < 4) { \ + *fromP = from; \ + return XML_CONVERT_INPUT_INCOMPLETE; \ + } \ + plane = (((hi & 0x3) << 2) | ((lo >> 6) & 0x3)) + 1; \ + *(*toP)++ = ((plane >> 2) | UTF8_cval4); \ + *(*toP)++ = (((lo >> 2) & 0xF) | ((plane & 0x3) << 4) | 0x80); \ + from += 2; \ + lo2 = GET_LO(from); \ + *(*toP)++ = (((lo & 0x3) << 4) \ + | ((GET_HI(from) & 0x3) << 2) \ + | (lo2 >> 6) \ + | 0x80); \ + *(*toP)++ = ((lo2 & 0x3f) | 0x80); \ + break; \ + } \ + } \ + *fromP = from; \ + if (from < fromLim) \ + return XML_CONVERT_INPUT_INCOMPLETE; \ + else \ + return XML_CONVERT_COMPLETED; \ +} + +#define DEFINE_UTF16_TO_UTF16(E) \ +static enum XML_Convert_Result PTRCALL \ +E ## toUtf16(const ENCODING *UNUSED_P(enc), \ + const char **fromP, const char *fromLim, \ + unsigned short **toP, const unsigned short *toLim) \ +{ \ + enum XML_Convert_Result res = XML_CONVERT_COMPLETED; \ + fromLim = *fromP + (((fromLim - *fromP) >> 1) << 1); /* shrink to even */ \ + /* Avoid copying first half only of surrogate */ \ + if (fromLim - *fromP > ((toLim - *toP) << 1) \ + && (GET_HI(fromLim - 2) & 0xF8) == 0xD8) { \ + fromLim -= 2; \ + res = XML_CONVERT_INPUT_INCOMPLETE; \ + } \ + for (; *fromP < fromLim && *toP < toLim; *fromP += 2) \ + *(*toP)++ = (GET_HI(*fromP) << 8) | GET_LO(*fromP); \ + if ((*toP == toLim) && (*fromP < fromLim)) \ + return XML_CONVERT_OUTPUT_EXHAUSTED; \ + else \ + return res; \ +} + +#define SET2(ptr, ch) \ + (((ptr)[0] = ((ch) & 0xff)), ((ptr)[1] = ((ch) >> 8))) +#define GET_LO(ptr) ((unsigned char)(ptr)[0]) +#define GET_HI(ptr) ((unsigned char)(ptr)[1]) + +DEFINE_UTF16_TO_UTF8(little2_) +DEFINE_UTF16_TO_UTF16(little2_) + +#undef SET2 +#undef GET_LO +#undef GET_HI + +#define SET2(ptr, ch) \ + (((ptr)[0] = ((ch) >> 8)), ((ptr)[1] = ((ch) & 0xFF))) +#define GET_LO(ptr) ((unsigned char)(ptr)[1]) +#define GET_HI(ptr) ((unsigned char)(ptr)[0]) + +DEFINE_UTF16_TO_UTF8(big2_) +DEFINE_UTF16_TO_UTF16(big2_) + +#undef SET2 +#undef GET_LO +#undef GET_HI + +#define LITTLE2_BYTE_TYPE(enc, p) \ + ((p)[1] == 0 \ + ? ((struct normal_encoding *)(enc))->type[(unsigned char)*(p)] \ + : unicode_byte_type((p)[1], (p)[0])) +#define LITTLE2_BYTE_TO_ASCII(enc, p) ((p)[1] == 0 ? (p)[0] : -1) +#define LITTLE2_CHAR_MATCHES(enc, p, c) ((p)[1] == 0 && (p)[0] == c) +#define LITTLE2_IS_NAME_CHAR_MINBPC(enc, p) \ + UCS2_GET_NAMING(namePages, (unsigned char)p[1], (unsigned char)p[0]) +#define LITTLE2_IS_NMSTRT_CHAR_MINBPC(enc, p) \ + UCS2_GET_NAMING(nmstrtPages, (unsigned char)p[1], (unsigned char)p[0]) + +#ifdef XML_MIN_SIZE + +static int PTRFASTCALL +little2_byteType(const ENCODING *enc, const char *p) +{ + return LITTLE2_BYTE_TYPE(enc, p); +} + +static int PTRFASTCALL +little2_byteToAscii(const ENCODING *enc, const char *p) +{ + return LITTLE2_BYTE_TO_ASCII(enc, p); +} + +static int PTRCALL +little2_charMatches(const ENCODING *enc, const char *p, int c) +{ + return LITTLE2_CHAR_MATCHES(enc, p, c); +} + +static int PTRFASTCALL +little2_isNameMin(const ENCODING *enc, const char *p) +{ + return LITTLE2_IS_NAME_CHAR_MINBPC(enc, p); +} + +static int PTRFASTCALL +little2_isNmstrtMin(const ENCODING *enc, const char *p) +{ + return LITTLE2_IS_NMSTRT_CHAR_MINBPC(enc, p); +} + +#undef VTABLE +#define VTABLE VTABLE1, little2_toUtf8, little2_toUtf16 + +#else /* not XML_MIN_SIZE */ + +#undef PREFIX +#define PREFIX(ident) little2_ ## ident +#define MINBPC(enc) 2 +/* CHAR_MATCHES is guaranteed to have MINBPC bytes available. */ +#define BYTE_TYPE(enc, p) LITTLE2_BYTE_TYPE(enc, p) +#define BYTE_TO_ASCII(enc, p) LITTLE2_BYTE_TO_ASCII(enc, p) +#define CHAR_MATCHES(enc, p, c) LITTLE2_CHAR_MATCHES(enc, p, c) +#define IS_NAME_CHAR(enc, p, n) 0 +#define IS_NAME_CHAR_MINBPC(enc, p) LITTLE2_IS_NAME_CHAR_MINBPC(enc, p) +#define IS_NMSTRT_CHAR(enc, p, n) (0) +#define IS_NMSTRT_CHAR_MINBPC(enc, p) LITTLE2_IS_NMSTRT_CHAR_MINBPC(enc, p) + +#define XML_TOK_IMPL_C +#include "xmltok_impl.c" +#undef XML_TOK_IMPL_C + +#undef MINBPC +#undef BYTE_TYPE +#undef BYTE_TO_ASCII +#undef CHAR_MATCHES +#undef IS_NAME_CHAR +#undef IS_NAME_CHAR_MINBPC +#undef IS_NMSTRT_CHAR +#undef IS_NMSTRT_CHAR_MINBPC +#undef IS_INVALID_CHAR + +#endif /* not XML_MIN_SIZE */ + +#ifdef XML_NS + +static const struct normal_encoding little2_encoding_ns = { + { VTABLE, 2, 0, +#if BYTEORDER == 1234 + 1 +#else + 0 +#endif + }, + { +#include "asciitab.h" +#include "latin1tab.h" + }, + STANDARD_VTABLE(little2_) NULL_VTABLE +}; + +#endif + +static const struct normal_encoding little2_encoding = { + { VTABLE, 2, 0, +#if BYTEORDER == 1234 + 1 +#else + 0 +#endif + }, + { +#define BT_COLON BT_NMSTRT +#include "asciitab.h" +#undef BT_COLON +#include "latin1tab.h" + }, + STANDARD_VTABLE(little2_) NULL_VTABLE +}; + +#if BYTEORDER != 4321 + +#ifdef XML_NS + +static const struct normal_encoding internal_little2_encoding_ns = { + { VTABLE, 2, 0, 1 }, + { +#include "iasciitab.h" +#include "latin1tab.h" + }, + STANDARD_VTABLE(little2_) NULL_VTABLE +}; + +#endif + +static const struct normal_encoding internal_little2_encoding = { + { VTABLE, 2, 0, 1 }, + { +#define BT_COLON BT_NMSTRT +#include "iasciitab.h" +#undef BT_COLON +#include "latin1tab.h" + }, + STANDARD_VTABLE(little2_) NULL_VTABLE +}; + +#endif + + +#define BIG2_BYTE_TYPE(enc, p) \ + ((p)[0] == 0 \ + ? ((struct normal_encoding *)(enc))->type[(unsigned char)(p)[1]] \ + : unicode_byte_type((p)[0], (p)[1])) +#define BIG2_BYTE_TO_ASCII(enc, p) ((p)[0] == 0 ? (p)[1] : -1) +#define BIG2_CHAR_MATCHES(enc, p, c) ((p)[0] == 0 && (p)[1] == c) +#define BIG2_IS_NAME_CHAR_MINBPC(enc, p) \ + UCS2_GET_NAMING(namePages, (unsigned char)p[0], (unsigned char)p[1]) +#define BIG2_IS_NMSTRT_CHAR_MINBPC(enc, p) \ + UCS2_GET_NAMING(nmstrtPages, (unsigned char)p[0], (unsigned char)p[1]) + +#ifdef XML_MIN_SIZE + +static int PTRFASTCALL +big2_byteType(const ENCODING *enc, const char *p) +{ + return BIG2_BYTE_TYPE(enc, p); +} + +static int PTRFASTCALL +big2_byteToAscii(const ENCODING *enc, const char *p) +{ + return BIG2_BYTE_TO_ASCII(enc, p); +} + +static int PTRCALL +big2_charMatches(const ENCODING *enc, const char *p, int c) +{ + return BIG2_CHAR_MATCHES(enc, p, c); +} + +static int PTRFASTCALL +big2_isNameMin(const ENCODING *enc, const char *p) +{ + return BIG2_IS_NAME_CHAR_MINBPC(enc, p); +} + +static int PTRFASTCALL +big2_isNmstrtMin(const ENCODING *enc, const char *p) +{ + return BIG2_IS_NMSTRT_CHAR_MINBPC(enc, p); +} + +#undef VTABLE +#define VTABLE VTABLE1, big2_toUtf8, big2_toUtf16 + +#else /* not XML_MIN_SIZE */ + +#undef PREFIX +#define PREFIX(ident) big2_ ## ident +#define MINBPC(enc) 2 +/* CHAR_MATCHES is guaranteed to have MINBPC bytes available. */ +#define BYTE_TYPE(enc, p) BIG2_BYTE_TYPE(enc, p) +#define BYTE_TO_ASCII(enc, p) BIG2_BYTE_TO_ASCII(enc, p) +#define CHAR_MATCHES(enc, p, c) BIG2_CHAR_MATCHES(enc, p, c) +#define IS_NAME_CHAR(enc, p, n) 0 +#define IS_NAME_CHAR_MINBPC(enc, p) BIG2_IS_NAME_CHAR_MINBPC(enc, p) +#define IS_NMSTRT_CHAR(enc, p, n) (0) +#define IS_NMSTRT_CHAR_MINBPC(enc, p) BIG2_IS_NMSTRT_CHAR_MINBPC(enc, p) + +#define XML_TOK_IMPL_C +#include "xmltok_impl.c" +#undef XML_TOK_IMPL_C + +#undef MINBPC +#undef BYTE_TYPE +#undef BYTE_TO_ASCII +#undef CHAR_MATCHES +#undef IS_NAME_CHAR +#undef IS_NAME_CHAR_MINBPC +#undef IS_NMSTRT_CHAR +#undef IS_NMSTRT_CHAR_MINBPC +#undef IS_INVALID_CHAR + +#endif /* not XML_MIN_SIZE */ + +#ifdef XML_NS + +static const struct normal_encoding big2_encoding_ns = { + { VTABLE, 2, 0, +#if BYTEORDER == 4321 + 1 +#else + 0 +#endif + }, + { +#include "asciitab.h" +#include "latin1tab.h" + }, + STANDARD_VTABLE(big2_) NULL_VTABLE +}; + +#endif + +static const struct normal_encoding big2_encoding = { + { VTABLE, 2, 0, +#if BYTEORDER == 4321 + 1 +#else + 0 +#endif + }, + { +#define BT_COLON BT_NMSTRT +#include "asciitab.h" +#undef BT_COLON +#include "latin1tab.h" + }, + STANDARD_VTABLE(big2_) NULL_VTABLE +}; + +#if BYTEORDER != 1234 + +#ifdef XML_NS + +static const struct normal_encoding internal_big2_encoding_ns = { + { VTABLE, 2, 0, 1 }, + { +#include "iasciitab.h" +#include "latin1tab.h" + }, + STANDARD_VTABLE(big2_) NULL_VTABLE +}; + +#endif + +static const struct normal_encoding internal_big2_encoding = { + { VTABLE, 2, 0, 1 }, + { +#define BT_COLON BT_NMSTRT +#include "iasciitab.h" +#undef BT_COLON +#include "latin1tab.h" + }, + STANDARD_VTABLE(big2_) NULL_VTABLE +}; + +#endif + +#undef PREFIX + +static int FASTCALL +streqci(const char *s1, const char *s2) +{ + for (;;) { + char c1 = *s1++; + char c2 = *s2++; + if (ASCII_a <= c1 && c1 <= ASCII_z) + c1 += ASCII_A - ASCII_a; + if (ASCII_a <= c2 && c2 <= ASCII_z) + /* The following line will never get executed. streqci() is + * only called from two places, both of which guarantee to put + * upper-case strings into s2. + */ + c2 += ASCII_A - ASCII_a; /* LCOV_EXCL_LINE */ + if (c1 != c2) + return 0; + if (!c1) + break; + } + return 1; +} + +static void PTRCALL +initUpdatePosition(const ENCODING *UNUSED_P(enc), const char *ptr, + const char *end, POSITION *pos) +{ + normal_updatePosition(&utf8_encoding.enc, ptr, end, pos); +} + +static int +toAscii(const ENCODING *enc, const char *ptr, const char *end) +{ + char buf[1]; + char *p = buf; + XmlUtf8Convert(enc, &ptr, end, &p, p + 1); + if (p == buf) + return -1; + else + return buf[0]; +} + +static int FASTCALL +isSpace(int c) +{ + switch (c) { + case 0x20: + case 0xD: + case 0xA: + case 0x9: + return 1; + } + return 0; +} + +/* Return 1 if there's just optional white space or there's an S + followed by name=val. +*/ +static int +parsePseudoAttribute(const ENCODING *enc, + const char *ptr, + const char *end, + const char **namePtr, + const char **nameEndPtr, + const char **valPtr, + const char **nextTokPtr) +{ + int c; + char open; + if (ptr == end) { + *namePtr = NULL; + return 1; + } + if (!isSpace(toAscii(enc, ptr, end))) { + *nextTokPtr = ptr; + return 0; + } + do { + ptr += enc->minBytesPerChar; + } while (isSpace(toAscii(enc, ptr, end))); + if (ptr == end) { + *namePtr = NULL; + return 1; + } + *namePtr = ptr; + for (;;) { + c = toAscii(enc, ptr, end); + if (c == -1) { + *nextTokPtr = ptr; + return 0; + } + if (c == ASCII_EQUALS) { + *nameEndPtr = ptr; + break; + } + if (isSpace(c)) { + *nameEndPtr = ptr; + do { + ptr += enc->minBytesPerChar; + } while (isSpace(c = toAscii(enc, ptr, end))); + if (c != ASCII_EQUALS) { + *nextTokPtr = ptr; + return 0; + } + break; + } + ptr += enc->minBytesPerChar; + } + if (ptr == *namePtr) { + *nextTokPtr = ptr; + return 0; + } + ptr += enc->minBytesPerChar; + c = toAscii(enc, ptr, end); + while (isSpace(c)) { + ptr += enc->minBytesPerChar; + c = toAscii(enc, ptr, end); + } + if (c != ASCII_QUOT && c != ASCII_APOS) { + *nextTokPtr = ptr; + return 0; + } + open = (char)c; + ptr += enc->minBytesPerChar; + *valPtr = ptr; + for (;; ptr += enc->minBytesPerChar) { + c = toAscii(enc, ptr, end); + if (c == open) + break; + if (!(ASCII_a <= c && c <= ASCII_z) + && !(ASCII_A <= c && c <= ASCII_Z) + && !(ASCII_0 <= c && c <= ASCII_9) + && c != ASCII_PERIOD + && c != ASCII_MINUS + && c != ASCII_UNDERSCORE) { + *nextTokPtr = ptr; + return 0; + } + } + *nextTokPtr = ptr + enc->minBytesPerChar; + return 1; +} + +static const char KW_version[] = { + ASCII_v, ASCII_e, ASCII_r, ASCII_s, ASCII_i, ASCII_o, ASCII_n, '\0' +}; + +static const char KW_encoding[] = { + ASCII_e, ASCII_n, ASCII_c, ASCII_o, ASCII_d, ASCII_i, ASCII_n, ASCII_g, '\0' +}; + +static const char KW_standalone[] = { + ASCII_s, ASCII_t, ASCII_a, ASCII_n, ASCII_d, ASCII_a, ASCII_l, ASCII_o, + ASCII_n, ASCII_e, '\0' +}; + +static const char KW_yes[] = { + ASCII_y, ASCII_e, ASCII_s, '\0' +}; + +static const char KW_no[] = { + ASCII_n, ASCII_o, '\0' +}; + +static int +doParseXmlDecl(const ENCODING *(*encodingFinder)(const ENCODING *, + const char *, + const char *), + int isGeneralTextEntity, + const ENCODING *enc, + const char *ptr, + const char *end, + const char **badPtr, + const char **versionPtr, + const char **versionEndPtr, + const char **encodingName, + const ENCODING **encoding, + int *standalone) +{ + const char *val = NULL; + const char *name = NULL; + const char *nameEnd = NULL; + ptr += 5 * enc->minBytesPerChar; + end -= 2 * enc->minBytesPerChar; + if (!parsePseudoAttribute(enc, ptr, end, &name, &nameEnd, &val, &ptr) + || !name) { + *badPtr = ptr; + return 0; + } + if (!XmlNameMatchesAscii(enc, name, nameEnd, KW_version)) { + if (!isGeneralTextEntity) { + *badPtr = name; + return 0; + } + } + else { + if (versionPtr) + *versionPtr = val; + if (versionEndPtr) + *versionEndPtr = ptr; + if (!parsePseudoAttribute(enc, ptr, end, &name, &nameEnd, &val, &ptr)) { + *badPtr = ptr; + return 0; + } + if (!name) { + if (isGeneralTextEntity) { + /* a TextDecl must have an EncodingDecl */ + *badPtr = ptr; + return 0; + } + return 1; + } + } + if (XmlNameMatchesAscii(enc, name, nameEnd, KW_encoding)) { + int c = toAscii(enc, val, end); + if (!(ASCII_a <= c && c <= ASCII_z) && !(ASCII_A <= c && c <= ASCII_Z)) { + *badPtr = val; + return 0; + } + if (encodingName) + *encodingName = val; + if (encoding) + *encoding = encodingFinder(enc, val, ptr - enc->minBytesPerChar); + if (!parsePseudoAttribute(enc, ptr, end, &name, &nameEnd, &val, &ptr)) { + *badPtr = ptr; + return 0; + } + if (!name) + return 1; + } + if (!XmlNameMatchesAscii(enc, name, nameEnd, KW_standalone) + || isGeneralTextEntity) { + *badPtr = name; + return 0; + } + if (XmlNameMatchesAscii(enc, val, ptr - enc->minBytesPerChar, KW_yes)) { + if (standalone) + *standalone = 1; + } + else if (XmlNameMatchesAscii(enc, val, ptr - enc->minBytesPerChar, KW_no)) { + if (standalone) + *standalone = 0; + } + else { + *badPtr = val; + return 0; + } + while (isSpace(toAscii(enc, ptr, end))) + ptr += enc->minBytesPerChar; + if (ptr != end) { + *badPtr = ptr; + return 0; + } + return 1; +} + +static int FASTCALL +checkCharRefNumber(int result) +{ + switch (result >> 8) { + case 0xD8: case 0xD9: case 0xDA: case 0xDB: + case 0xDC: case 0xDD: case 0xDE: case 0xDF: + return -1; + case 0: + if (latin1_encoding.type[result] == BT_NONXML) + return -1; + break; + case 0xFF: + if (result == 0xFFFE || result == 0xFFFF) + return -1; + break; + } + return result; +} + +int FASTCALL +XmlUtf8Encode(int c, char *buf) +{ + enum { + /* minN is minimum legal resulting value for N byte sequence */ + min2 = 0x80, + min3 = 0x800, + min4 = 0x10000 + }; + + if (c < 0) + return 0; /* LCOV_EXCL_LINE: this case is always eliminated beforehand */ + if (c < min2) { + buf[0] = (char)(c | UTF8_cval1); + return 1; + } + if (c < min3) { + buf[0] = (char)((c >> 6) | UTF8_cval2); + buf[1] = (char)((c & 0x3f) | 0x80); + return 2; + } + if (c < min4) { + buf[0] = (char)((c >> 12) | UTF8_cval3); + buf[1] = (char)(((c >> 6) & 0x3f) | 0x80); + buf[2] = (char)((c & 0x3f) | 0x80); + return 3; + } + if (c < 0x110000) { + buf[0] = (char)((c >> 18) | UTF8_cval4); + buf[1] = (char)(((c >> 12) & 0x3f) | 0x80); + buf[2] = (char)(((c >> 6) & 0x3f) | 0x80); + buf[3] = (char)((c & 0x3f) | 0x80); + return 4; + } + return 0; /* LCOV_EXCL_LINE: this case too is eliminated before calling */ +} + +int FASTCALL +XmlUtf16Encode(int charNum, unsigned short *buf) +{ + if (charNum < 0) + return 0; + if (charNum < 0x10000) { + buf[0] = (unsigned short)charNum; + return 1; + } + if (charNum < 0x110000) { + charNum -= 0x10000; + buf[0] = (unsigned short)((charNum >> 10) + 0xD800); + buf[1] = (unsigned short)((charNum & 0x3FF) + 0xDC00); + return 2; + } + return 0; +} + +struct unknown_encoding { + struct normal_encoding normal; + CONVERTER convert; + void *userData; + unsigned short utf16[256]; + char utf8[256][4]; +}; + +#define AS_UNKNOWN_ENCODING(enc) ((const struct unknown_encoding *) (enc)) + +int +XmlSizeOfUnknownEncoding(void) +{ + return sizeof(struct unknown_encoding); +} + +static int PTRFASTCALL +unknown_isName(const ENCODING *enc, const char *p) +{ + const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); + int c = uenc->convert(uenc->userData, p); + if (c & ~0xFFFF) + return 0; + return UCS2_GET_NAMING(namePages, c >> 8, c & 0xFF); +} + +static int PTRFASTCALL +unknown_isNmstrt(const ENCODING *enc, const char *p) +{ + const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); + int c = uenc->convert(uenc->userData, p); + if (c & ~0xFFFF) + return 0; + return UCS2_GET_NAMING(nmstrtPages, c >> 8, c & 0xFF); +} + +static int PTRFASTCALL +unknown_isInvalid(const ENCODING *enc, const char *p) +{ + const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); + int c = uenc->convert(uenc->userData, p); + return (c & ~0xFFFF) || checkCharRefNumber(c) < 0; +} + +static enum XML_Convert_Result PTRCALL +unknown_toUtf8(const ENCODING *enc, + const char **fromP, const char *fromLim, + char **toP, const char *toLim) +{ + const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); + char buf[XML_UTF8_ENCODE_MAX]; + for (;;) { + const char *utf8; + int n; + if (*fromP == fromLim) + return XML_CONVERT_COMPLETED; + utf8 = uenc->utf8[(unsigned char)**fromP]; + n = *utf8++; + if (n == 0) { + int c = uenc->convert(uenc->userData, *fromP); + n = XmlUtf8Encode(c, buf); + if (n > toLim - *toP) + return XML_CONVERT_OUTPUT_EXHAUSTED; + utf8 = buf; + *fromP += (AS_NORMAL_ENCODING(enc)->type[(unsigned char)**fromP] + - (BT_LEAD2 - 2)); + } + else { + if (n > toLim - *toP) + return XML_CONVERT_OUTPUT_EXHAUSTED; + (*fromP)++; + } + memcpy(*toP, utf8, n); + *toP += n; + } +} + +static enum XML_Convert_Result PTRCALL +unknown_toUtf16(const ENCODING *enc, + const char **fromP, const char *fromLim, + unsigned short **toP, const unsigned short *toLim) +{ + const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); + while (*fromP < fromLim && *toP < toLim) { + unsigned short c = uenc->utf16[(unsigned char)**fromP]; + if (c == 0) { + c = (unsigned short) + uenc->convert(uenc->userData, *fromP); + *fromP += (AS_NORMAL_ENCODING(enc)->type[(unsigned char)**fromP] + - (BT_LEAD2 - 2)); + } + else + (*fromP)++; + *(*toP)++ = c; + } + + if ((*toP == toLim) && (*fromP < fromLim)) + return XML_CONVERT_OUTPUT_EXHAUSTED; + else + return XML_CONVERT_COMPLETED; +} + +ENCODING * +XmlInitUnknownEncoding(void *mem, + int *table, + CONVERTER convert, + void *userData) +{ + int i; + struct unknown_encoding *e = (struct unknown_encoding *)mem; + for (i = 0; i < (int)sizeof(struct normal_encoding); i++) + ((char *)mem)[i] = ((char *)&latin1_encoding)[i]; + for (i = 0; i < 128; i++) + if (latin1_encoding.type[i] != BT_OTHER + && latin1_encoding.type[i] != BT_NONXML + && table[i] != i) + return 0; + for (i = 0; i < 256; i++) { + int c = table[i]; + if (c == -1) { + e->normal.type[i] = BT_MALFORM; + /* This shouldn't really get used. */ + e->utf16[i] = 0xFFFF; + e->utf8[i][0] = 1; + e->utf8[i][1] = 0; + } + else if (c < 0) { + if (c < -4) + return 0; + /* Multi-byte sequences need a converter function */ + if (!convert) + return 0; + e->normal.type[i] = (unsigned char)(BT_LEAD2 - (c + 2)); + e->utf8[i][0] = 0; + e->utf16[i] = 0; + } + else if (c < 0x80) { + if (latin1_encoding.type[c] != BT_OTHER + && latin1_encoding.type[c] != BT_NONXML + && c != i) + return 0; + e->normal.type[i] = latin1_encoding.type[c]; + e->utf8[i][0] = 1; + e->utf8[i][1] = (char)c; + e->utf16[i] = (unsigned short)(c == 0 ? 0xFFFF : c); + } + else if (checkCharRefNumber(c) < 0) { + e->normal.type[i] = BT_NONXML; + /* This shouldn't really get used. */ + e->utf16[i] = 0xFFFF; + e->utf8[i][0] = 1; + e->utf8[i][1] = 0; + } + else { + if (c > 0xFFFF) + return 0; + if (UCS2_GET_NAMING(nmstrtPages, c >> 8, c & 0xff)) + e->normal.type[i] = BT_NMSTRT; + else if (UCS2_GET_NAMING(namePages, c >> 8, c & 0xff)) + e->normal.type[i] = BT_NAME; + else + e->normal.type[i] = BT_OTHER; + e->utf8[i][0] = (char)XmlUtf8Encode(c, e->utf8[i] + 1); + e->utf16[i] = (unsigned short)c; + } + } + e->userData = userData; + e->convert = convert; + if (convert) { + e->normal.isName2 = unknown_isName; + e->normal.isName3 = unknown_isName; + e->normal.isName4 = unknown_isName; + e->normal.isNmstrt2 = unknown_isNmstrt; + e->normal.isNmstrt3 = unknown_isNmstrt; + e->normal.isNmstrt4 = unknown_isNmstrt; + e->normal.isInvalid2 = unknown_isInvalid; + e->normal.isInvalid3 = unknown_isInvalid; + e->normal.isInvalid4 = unknown_isInvalid; + } + e->normal.enc.utf8Convert = unknown_toUtf8; + e->normal.enc.utf16Convert = unknown_toUtf16; + return &(e->normal.enc); +} + +/* If this enumeration is changed, getEncodingIndex and encodings +must also be changed. */ +enum { + UNKNOWN_ENC = -1, + ISO_8859_1_ENC = 0, + US_ASCII_ENC, + UTF_8_ENC, + UTF_16_ENC, + UTF_16BE_ENC, + UTF_16LE_ENC, + /* must match encodingNames up to here */ + NO_ENC +}; + +static const char KW_ISO_8859_1[] = { + ASCII_I, ASCII_S, ASCII_O, ASCII_MINUS, ASCII_8, ASCII_8, ASCII_5, ASCII_9, + ASCII_MINUS, ASCII_1, '\0' +}; +static const char KW_US_ASCII[] = { + ASCII_U, ASCII_S, ASCII_MINUS, ASCII_A, ASCII_S, ASCII_C, ASCII_I, ASCII_I, + '\0' +}; +static const char KW_UTF_8[] = { + ASCII_U, ASCII_T, ASCII_F, ASCII_MINUS, ASCII_8, '\0' +}; +static const char KW_UTF_16[] = { + ASCII_U, ASCII_T, ASCII_F, ASCII_MINUS, ASCII_1, ASCII_6, '\0' +}; +static const char KW_UTF_16BE[] = { + ASCII_U, ASCII_T, ASCII_F, ASCII_MINUS, ASCII_1, ASCII_6, ASCII_B, ASCII_E, + '\0' +}; +static const char KW_UTF_16LE[] = { + ASCII_U, ASCII_T, ASCII_F, ASCII_MINUS, ASCII_1, ASCII_6, ASCII_L, ASCII_E, + '\0' +}; + +static int FASTCALL +getEncodingIndex(const char *name) +{ + static const char * const encodingNames[] = { + KW_ISO_8859_1, + KW_US_ASCII, + KW_UTF_8, + KW_UTF_16, + KW_UTF_16BE, + KW_UTF_16LE, + }; + int i; + if (name == NULL) + return NO_ENC; + for (i = 0; i < (int)(sizeof(encodingNames)/sizeof(encodingNames[0])); i++) + if (streqci(name, encodingNames[i])) + return i; + return UNKNOWN_ENC; +} + +/* For binary compatibility, we store the index of the encoding + specified at initialization in the isUtf16 member. +*/ + +#define INIT_ENC_INDEX(enc) ((int)(enc)->initEnc.isUtf16) +#define SET_INIT_ENC_INDEX(enc, i) ((enc)->initEnc.isUtf16 = (char)i) + +/* This is what detects the encoding. encodingTable maps from + encoding indices to encodings; INIT_ENC_INDEX(enc) is the index of + the external (protocol) specified encoding; state is + XML_CONTENT_STATE if we're parsing an external text entity, and + XML_PROLOG_STATE otherwise. +*/ + + +static int +initScan(const ENCODING * const *encodingTable, + const INIT_ENCODING *enc, + int state, + const char *ptr, + const char *end, + const char **nextTokPtr) +{ + const ENCODING **encPtr; + + if (ptr >= end) + return XML_TOK_NONE; + encPtr = enc->encPtr; + if (ptr + 1 == end) { + /* only a single byte available for auto-detection */ +#ifndef XML_DTD /* FIXME */ + /* a well-formed document entity must have more than one byte */ + if (state != XML_CONTENT_STATE) + return XML_TOK_PARTIAL; +#endif + /* so we're parsing an external text entity... */ + /* if UTF-16 was externally specified, then we need at least 2 bytes */ + switch (INIT_ENC_INDEX(enc)) { + case UTF_16_ENC: + case UTF_16LE_ENC: + case UTF_16BE_ENC: + return XML_TOK_PARTIAL; + } + switch ((unsigned char)*ptr) { + case 0xFE: + case 0xFF: + case 0xEF: /* possibly first byte of UTF-8 BOM */ + if (INIT_ENC_INDEX(enc) == ISO_8859_1_ENC + && state == XML_CONTENT_STATE) + break; + /* fall through */ + case 0x00: + case 0x3C: + return XML_TOK_PARTIAL; + } + } + else { + switch (((unsigned char)ptr[0] << 8) | (unsigned char)ptr[1]) { + case 0xFEFF: + if (INIT_ENC_INDEX(enc) == ISO_8859_1_ENC + && state == XML_CONTENT_STATE) + break; + *nextTokPtr = ptr + 2; + *encPtr = encodingTable[UTF_16BE_ENC]; + return XML_TOK_BOM; + /* 00 3C is handled in the default case */ + case 0x3C00: + if ((INIT_ENC_INDEX(enc) == UTF_16BE_ENC + || INIT_ENC_INDEX(enc) == UTF_16_ENC) + && state == XML_CONTENT_STATE) + break; + *encPtr = encodingTable[UTF_16LE_ENC]; + return XmlTok(*encPtr, state, ptr, end, nextTokPtr); + case 0xFFFE: + if (INIT_ENC_INDEX(enc) == ISO_8859_1_ENC + && state == XML_CONTENT_STATE) + break; + *nextTokPtr = ptr + 2; + *encPtr = encodingTable[UTF_16LE_ENC]; + return XML_TOK_BOM; + case 0xEFBB: + /* Maybe a UTF-8 BOM (EF BB BF) */ + /* If there's an explicitly specified (external) encoding + of ISO-8859-1 or some flavour of UTF-16 + and this is an external text entity, + don't look for the BOM, + because it might be a legal data. + */ + if (state == XML_CONTENT_STATE) { + int e = INIT_ENC_INDEX(enc); + if (e == ISO_8859_1_ENC || e == UTF_16BE_ENC + || e == UTF_16LE_ENC || e == UTF_16_ENC) + break; + } + if (ptr + 2 == end) + return XML_TOK_PARTIAL; + if ((unsigned char)ptr[2] == 0xBF) { + *nextTokPtr = ptr + 3; + *encPtr = encodingTable[UTF_8_ENC]; + return XML_TOK_BOM; + } + break; + default: + if (ptr[0] == '\0') { + /* 0 isn't a legal data character. Furthermore a document + entity can only start with ASCII characters. So the only + way this can fail to be big-endian UTF-16 if it it's an + external parsed general entity that's labelled as + UTF-16LE. + */ + if (state == XML_CONTENT_STATE && INIT_ENC_INDEX(enc) == UTF_16LE_ENC) + break; + *encPtr = encodingTable[UTF_16BE_ENC]; + return XmlTok(*encPtr, state, ptr, end, nextTokPtr); + } + else if (ptr[1] == '\0') { + /* We could recover here in the case: + - parsing an external entity + - second byte is 0 + - no externally specified encoding + - no encoding declaration + by assuming UTF-16LE. But we don't, because this would mean when + presented just with a single byte, we couldn't reliably determine + whether we needed further bytes. + */ + if (state == XML_CONTENT_STATE) + break; + *encPtr = encodingTable[UTF_16LE_ENC]; + return XmlTok(*encPtr, state, ptr, end, nextTokPtr); + } + break; + } + } + *encPtr = encodingTable[INIT_ENC_INDEX(enc)]; + return XmlTok(*encPtr, state, ptr, end, nextTokPtr); +} + + +#define NS(x) x +#define ns(x) x +#define XML_TOK_NS_C +#include "xmltok_ns.c" +#undef XML_TOK_NS_C +#undef NS +#undef ns + +#ifdef XML_NS + +#define NS(x) x ## NS +#define ns(x) x ## _ns + +#define XML_TOK_NS_C +#include "xmltok_ns.c" +#undef XML_TOK_NS_C + +#undef NS +#undef ns + +ENCODING * +XmlInitUnknownEncodingNS(void *mem, + int *table, + CONVERTER convert, + void *userData) +{ + ENCODING *enc = XmlInitUnknownEncoding(mem, table, convert, userData); + if (enc) + ((struct normal_encoding *)enc)->type[ASCII_COLON] = BT_COLON; + return enc; +} + +#endif /* XML_NS */ diff --git a/tools/sdk/include/expat/xmltok.h b/tools/sdk/include/expat/xmltok.h index 752007e8..50926f38 100644 --- a/tools/sdk/include/expat/xmltok.h +++ b/tools/sdk/include/expat/xmltok.h @@ -1,5 +1,33 @@ -/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef XmlTok_INCLUDED @@ -139,9 +167,6 @@ enum XML_Convert_Result { struct encoding { SCANNER scanners[XML_N_STATES]; SCANNER literalScanners[XML_N_LITERAL_TYPES]; - int (PTRCALL *sameName)(const ENCODING *, - const char *, - const char *); int (PTRCALL *nameMatchesAscii)(const ENCODING *, const char *, const char *, @@ -232,8 +257,6 @@ struct encoding { #define XmlEntityValueTok(enc, ptr, end, nextTokPtr) \ XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, ptr, end, nextTokPtr) -#define XmlSameName(enc, ptr1, ptr2) (((enc)->sameName)(enc, ptr1, ptr2)) - #define XmlNameMatchesAscii(enc, ptr1, end1, ptr2) \ (((enc)->nameMatchesAscii)(enc, ptr1, end1, ptr2)) diff --git a/tools/sdk/include/expat/xmltok_impl.c b/tools/sdk/include/expat/xmltok_impl.c new file mode 100644 index 00000000..0403dd3d --- /dev/null +++ b/tools/sdk/include/expat/xmltok_impl.c @@ -0,0 +1,1760 @@ +/* This file is included! + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#ifdef XML_TOK_IMPL_C + +#ifndef IS_INVALID_CHAR +#define IS_INVALID_CHAR(enc, ptr, n) (0) +#endif + +#define INVALID_LEAD_CASE(n, ptr, nextTokPtr) \ + case BT_LEAD ## n: \ + if (end - ptr < n) \ + return XML_TOK_PARTIAL_CHAR; \ + if (IS_INVALID_CHAR(enc, ptr, n)) { \ + *(nextTokPtr) = (ptr); \ + return XML_TOK_INVALID; \ + } \ + ptr += n; \ + break; + +#define INVALID_CASES(ptr, nextTokPtr) \ + INVALID_LEAD_CASE(2, ptr, nextTokPtr) \ + INVALID_LEAD_CASE(3, ptr, nextTokPtr) \ + INVALID_LEAD_CASE(4, ptr, nextTokPtr) \ + case BT_NONXML: \ + case BT_MALFORM: \ + case BT_TRAIL: \ + *(nextTokPtr) = (ptr); \ + return XML_TOK_INVALID; + +#define CHECK_NAME_CASE(n, enc, ptr, end, nextTokPtr) \ + case BT_LEAD ## n: \ + if (end - ptr < n) \ + return XML_TOK_PARTIAL_CHAR; \ + if (!IS_NAME_CHAR(enc, ptr, n)) { \ + *nextTokPtr = ptr; \ + return XML_TOK_INVALID; \ + } \ + ptr += n; \ + break; + +#define CHECK_NAME_CASES(enc, ptr, end, nextTokPtr) \ + case BT_NONASCII: \ + if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \ + *nextTokPtr = ptr; \ + return XML_TOK_INVALID; \ + } \ + case BT_NMSTRT: \ + case BT_HEX: \ + case BT_DIGIT: \ + case BT_NAME: \ + case BT_MINUS: \ + ptr += MINBPC(enc); \ + break; \ + CHECK_NAME_CASE(2, enc, ptr, end, nextTokPtr) \ + CHECK_NAME_CASE(3, enc, ptr, end, nextTokPtr) \ + CHECK_NAME_CASE(4, enc, ptr, end, nextTokPtr) + +#define CHECK_NMSTRT_CASE(n, enc, ptr, end, nextTokPtr) \ + case BT_LEAD ## n: \ + if (end - ptr < n) \ + return XML_TOK_PARTIAL_CHAR; \ + if (!IS_NMSTRT_CHAR(enc, ptr, n)) { \ + *nextTokPtr = ptr; \ + return XML_TOK_INVALID; \ + } \ + ptr += n; \ + break; + +#define CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr) \ + case BT_NONASCII: \ + if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \ + *nextTokPtr = ptr; \ + return XML_TOK_INVALID; \ + } \ + case BT_NMSTRT: \ + case BT_HEX: \ + ptr += MINBPC(enc); \ + break; \ + CHECK_NMSTRT_CASE(2, enc, ptr, end, nextTokPtr) \ + CHECK_NMSTRT_CASE(3, enc, ptr, end, nextTokPtr) \ + CHECK_NMSTRT_CASE(4, enc, ptr, end, nextTokPtr) + +#ifndef PREFIX +#define PREFIX(ident) ident +#endif + + +#define HAS_CHARS(enc, ptr, end, count) \ + (end - ptr >= count * MINBPC(enc)) + +#define HAS_CHAR(enc, ptr, end) \ + HAS_CHARS(enc, ptr, end, 1) + +#define REQUIRE_CHARS(enc, ptr, end, count) \ + { \ + if (! HAS_CHARS(enc, ptr, end, count)) { \ + return XML_TOK_PARTIAL; \ + } \ + } + +#define REQUIRE_CHAR(enc, ptr, end) \ + REQUIRE_CHARS(enc, ptr, end, 1) + + +/* ptr points to character following " */ + switch (BYTE_TYPE(enc, ptr + MINBPC(enc))) { + case BT_S: case BT_CR: case BT_LF: case BT_PERCNT: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + /* fall through */ + case BT_S: case BT_CR: case BT_LF: + *nextTokPtr = ptr; + return XML_TOK_DECL_OPEN; + case BT_NMSTRT: + case BT_HEX: + ptr += MINBPC(enc); + break; + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + } + return XML_TOK_PARTIAL; +} + +static int PTRCALL +PREFIX(checkPiTarget)(const ENCODING *UNUSED_P(enc), const char *ptr, + const char *end, int *tokPtr) +{ + int upper = 0; + *tokPtr = XML_TOK_PI; + if (end - ptr != MINBPC(enc)*3) + return 1; + switch (BYTE_TO_ASCII(enc, ptr)) { + case ASCII_x: + break; + case ASCII_X: + upper = 1; + break; + default: + return 1; + } + ptr += MINBPC(enc); + switch (BYTE_TO_ASCII(enc, ptr)) { + case ASCII_m: + break; + case ASCII_M: + upper = 1; + break; + default: + return 1; + } + ptr += MINBPC(enc); + switch (BYTE_TO_ASCII(enc, ptr)) { + case ASCII_l: + break; + case ASCII_L: + upper = 1; + break; + default: + return 1; + } + if (upper) + return 0; + *tokPtr = XML_TOK_XML_DECL; + return 1; +} + +/* ptr points to character following "= end) + return XML_TOK_NONE; + if (MINBPC(enc) > 1) { + size_t n = end - ptr; + if (n & (MINBPC(enc) - 1)) { + n &= ~(MINBPC(enc) - 1); + if (n == 0) + return XML_TOK_PARTIAL; + end = ptr + n; + } + } + switch (BYTE_TYPE(enc, ptr)) { + case BT_RSQB: + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (!CHAR_MATCHES(enc, ptr, ASCII_RSQB)) + break; + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (!CHAR_MATCHES(enc, ptr, ASCII_GT)) { + ptr -= MINBPC(enc); + break; + } + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_CDATA_SECT_CLOSE; + case BT_CR: + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (BYTE_TYPE(enc, ptr) == BT_LF) + ptr += MINBPC(enc); + *nextTokPtr = ptr; + return XML_TOK_DATA_NEWLINE; + case BT_LF: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_DATA_NEWLINE; + INVALID_CASES(ptr, nextTokPtr) + default: + ptr += MINBPC(enc); + break; + } + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { +#define LEAD_CASE(n) \ + case BT_LEAD ## n: \ + if (end - ptr < n || IS_INVALID_CHAR(enc, ptr, n)) { \ + *nextTokPtr = ptr; \ + return XML_TOK_DATA_CHARS; \ + } \ + ptr += n; \ + break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_NONXML: + case BT_MALFORM: + case BT_TRAIL: + case BT_CR: + case BT_LF: + case BT_RSQB: + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + default: + ptr += MINBPC(enc); + break; + } + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; +} + +/* ptr points to character following "= end) + return XML_TOK_NONE; + if (MINBPC(enc) > 1) { + size_t n = end - ptr; + if (n & (MINBPC(enc) - 1)) { + n &= ~(MINBPC(enc) - 1); + if (n == 0) + return XML_TOK_PARTIAL; + end = ptr + n; + } + } + switch (BYTE_TYPE(enc, ptr)) { + case BT_LT: + return PREFIX(scanLt)(enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_AMP: + return PREFIX(scanRef)(enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_CR: + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return XML_TOK_TRAILING_CR; + if (BYTE_TYPE(enc, ptr) == BT_LF) + ptr += MINBPC(enc); + *nextTokPtr = ptr; + return XML_TOK_DATA_NEWLINE; + case BT_LF: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_DATA_NEWLINE; + case BT_RSQB: + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return XML_TOK_TRAILING_RSQB; + if (!CHAR_MATCHES(enc, ptr, ASCII_RSQB)) + break; + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return XML_TOK_TRAILING_RSQB; + if (!CHAR_MATCHES(enc, ptr, ASCII_GT)) { + ptr -= MINBPC(enc); + break; + } + *nextTokPtr = ptr; + return XML_TOK_INVALID; + INVALID_CASES(ptr, nextTokPtr) + default: + ptr += MINBPC(enc); + break; + } + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { +#define LEAD_CASE(n) \ + case BT_LEAD ## n: \ + if (end - ptr < n || IS_INVALID_CHAR(enc, ptr, n)) { \ + *nextTokPtr = ptr; \ + return XML_TOK_DATA_CHARS; \ + } \ + ptr += n; \ + break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_RSQB: + if (HAS_CHARS(enc, ptr, end, 2)) { + if (!CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_RSQB)) { + ptr += MINBPC(enc); + break; + } + if (HAS_CHARS(enc, ptr, end, 3)) { + if (!CHAR_MATCHES(enc, ptr + 2*MINBPC(enc), ASCII_GT)) { + ptr += MINBPC(enc); + break; + } + *nextTokPtr = ptr + 2*MINBPC(enc); + return XML_TOK_INVALID; + } + } + /* fall through */ + case BT_AMP: + case BT_LT: + case BT_NONXML: + case BT_MALFORM: + case BT_TRAIL: + case BT_CR: + case BT_LF: + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + default: + ptr += MINBPC(enc); + break; + } + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; +} + +/* ptr points to character following "%" */ + +static int PTRCALL +PREFIX(scanPercent)(const ENCODING *enc, const char *ptr, const char *end, + const char **nextTokPtr) +{ + REQUIRE_CHAR(enc, ptr, end); + switch (BYTE_TYPE(enc, ptr)) { + CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr) + case BT_S: case BT_LF: case BT_CR: case BT_PERCNT: + *nextTokPtr = ptr; + return XML_TOK_PERCENT; + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { + CHECK_NAME_CASES(enc, ptr, end, nextTokPtr) + case BT_SEMI: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_PARAM_ENTITY_REF; + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + } + return XML_TOK_PARTIAL; +} + +static int PTRCALL +PREFIX(scanPoundName)(const ENCODING *enc, const char *ptr, const char *end, + const char **nextTokPtr) +{ + REQUIRE_CHAR(enc, ptr, end); + switch (BYTE_TYPE(enc, ptr)) { + CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr) + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { + CHECK_NAME_CASES(enc, ptr, end, nextTokPtr) + case BT_CR: case BT_LF: case BT_S: + case BT_RPAR: case BT_GT: case BT_PERCNT: case BT_VERBAR: + *nextTokPtr = ptr; + return XML_TOK_POUND_NAME; + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + } + return -XML_TOK_POUND_NAME; +} + +static int PTRCALL +PREFIX(scanLit)(int open, const ENCODING *enc, + const char *ptr, const char *end, + const char **nextTokPtr) +{ + while (HAS_CHAR(enc, ptr, end)) { + int t = BYTE_TYPE(enc, ptr); + switch (t) { + INVALID_CASES(ptr, nextTokPtr) + case BT_QUOT: + case BT_APOS: + ptr += MINBPC(enc); + if (t != open) + break; + if (! HAS_CHAR(enc, ptr, end)) + return -XML_TOK_LITERAL; + *nextTokPtr = ptr; + switch (BYTE_TYPE(enc, ptr)) { + case BT_S: case BT_CR: case BT_LF: + case BT_GT: case BT_PERCNT: case BT_LSQB: + return XML_TOK_LITERAL; + default: + return XML_TOK_INVALID; + } + default: + ptr += MINBPC(enc); + break; + } + } + return XML_TOK_PARTIAL; +} + +static int PTRCALL +PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end, + const char **nextTokPtr) +{ + int tok; + if (ptr >= end) + return XML_TOK_NONE; + if (MINBPC(enc) > 1) { + size_t n = end - ptr; + if (n & (MINBPC(enc) - 1)) { + n &= ~(MINBPC(enc) - 1); + if (n == 0) + return XML_TOK_PARTIAL; + end = ptr + n; + } + } + switch (BYTE_TYPE(enc, ptr)) { + case BT_QUOT: + return PREFIX(scanLit)(BT_QUOT, enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_APOS: + return PREFIX(scanLit)(BT_APOS, enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_LT: + { + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + switch (BYTE_TYPE(enc, ptr)) { + case BT_EXCL: + return PREFIX(scanDecl)(enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_QUEST: + return PREFIX(scanPi)(enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_NMSTRT: + case BT_HEX: + case BT_NONASCII: + case BT_LEAD2: + case BT_LEAD3: + case BT_LEAD4: + *nextTokPtr = ptr - MINBPC(enc); + return XML_TOK_INSTANCE_START; + } + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + case BT_CR: + if (ptr + MINBPC(enc) == end) { + *nextTokPtr = end; + /* indicate that this might be part of a CR/LF pair */ + return -XML_TOK_PROLOG_S; + } + /* fall through */ + case BT_S: case BT_LF: + for (;;) { + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + break; + switch (BYTE_TYPE(enc, ptr)) { + case BT_S: case BT_LF: + break; + case BT_CR: + /* don't split CR/LF pair */ + if (ptr + MINBPC(enc) != end) + break; + /* fall through */ + default: + *nextTokPtr = ptr; + return XML_TOK_PROLOG_S; + } + } + *nextTokPtr = ptr; + return XML_TOK_PROLOG_S; + case BT_PERCNT: + return PREFIX(scanPercent)(enc, ptr + MINBPC(enc), end, nextTokPtr); + case BT_COMMA: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_COMMA; + case BT_LSQB: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_OPEN_BRACKET; + case BT_RSQB: + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return -XML_TOK_CLOSE_BRACKET; + if (CHAR_MATCHES(enc, ptr, ASCII_RSQB)) { + REQUIRE_CHARS(enc, ptr, end, 2); + if (CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_GT)) { + *nextTokPtr = ptr + 2*MINBPC(enc); + return XML_TOK_COND_SECT_CLOSE; + } + } + *nextTokPtr = ptr; + return XML_TOK_CLOSE_BRACKET; + case BT_LPAR: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_OPEN_PAREN; + case BT_RPAR: + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return -XML_TOK_CLOSE_PAREN; + switch (BYTE_TYPE(enc, ptr)) { + case BT_AST: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_CLOSE_PAREN_ASTERISK; + case BT_QUEST: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_CLOSE_PAREN_QUESTION; + case BT_PLUS: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_CLOSE_PAREN_PLUS; + case BT_CR: case BT_LF: case BT_S: + case BT_GT: case BT_COMMA: case BT_VERBAR: + case BT_RPAR: + *nextTokPtr = ptr; + return XML_TOK_CLOSE_PAREN; + } + *nextTokPtr = ptr; + return XML_TOK_INVALID; + case BT_VERBAR: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_OR; + case BT_GT: + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_DECL_CLOSE; + case BT_NUM: + return PREFIX(scanPoundName)(enc, ptr + MINBPC(enc), end, nextTokPtr); +#define LEAD_CASE(n) \ + case BT_LEAD ## n: \ + if (end - ptr < n) \ + return XML_TOK_PARTIAL_CHAR; \ + if (IS_NMSTRT_CHAR(enc, ptr, n)) { \ + ptr += n; \ + tok = XML_TOK_NAME; \ + break; \ + } \ + if (IS_NAME_CHAR(enc, ptr, n)) { \ + ptr += n; \ + tok = XML_TOK_NMTOKEN; \ + break; \ + } \ + *nextTokPtr = ptr; \ + return XML_TOK_INVALID; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_NMSTRT: + case BT_HEX: + tok = XML_TOK_NAME; + ptr += MINBPC(enc); + break; + case BT_DIGIT: + case BT_NAME: + case BT_MINUS: +#ifdef XML_NS + case BT_COLON: +#endif + tok = XML_TOK_NMTOKEN; + ptr += MINBPC(enc); + break; + case BT_NONASCII: + if (IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { + ptr += MINBPC(enc); + tok = XML_TOK_NAME; + break; + } + if (IS_NAME_CHAR_MINBPC(enc, ptr)) { + ptr += MINBPC(enc); + tok = XML_TOK_NMTOKEN; + break; + } + /* fall through */ + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { + CHECK_NAME_CASES(enc, ptr, end, nextTokPtr) + case BT_GT: case BT_RPAR: case BT_COMMA: + case BT_VERBAR: case BT_LSQB: case BT_PERCNT: + case BT_S: case BT_CR: case BT_LF: + *nextTokPtr = ptr; + return tok; +#ifdef XML_NS + case BT_COLON: + ptr += MINBPC(enc); + switch (tok) { + case XML_TOK_NAME: + REQUIRE_CHAR(enc, ptr, end); + tok = XML_TOK_PREFIXED_NAME; + switch (BYTE_TYPE(enc, ptr)) { + CHECK_NAME_CASES(enc, ptr, end, nextTokPtr) + default: + tok = XML_TOK_NMTOKEN; + break; + } + break; + case XML_TOK_PREFIXED_NAME: + tok = XML_TOK_NMTOKEN; + break; + } + break; +#endif + case BT_PLUS: + if (tok == XML_TOK_NMTOKEN) { + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_NAME_PLUS; + case BT_AST: + if (tok == XML_TOK_NMTOKEN) { + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_NAME_ASTERISK; + case BT_QUEST: + if (tok == XML_TOK_NMTOKEN) { + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_NAME_QUESTION; + default: + *nextTokPtr = ptr; + return XML_TOK_INVALID; + } + } + return -tok; +} + +static int PTRCALL +PREFIX(attributeValueTok)(const ENCODING *enc, const char *ptr, + const char *end, const char **nextTokPtr) +{ + const char *start; + if (ptr >= end) + return XML_TOK_NONE; + else if (! HAS_CHAR(enc, ptr, end)) { + /* This line cannot be executed. The incoming data has already + * been tokenized once, so incomplete characters like this have + * already been eliminated from the input. Retaining the paranoia + * check is still valuable, however. + */ + return XML_TOK_PARTIAL; /* LCOV_EXCL_LINE */ + } + start = ptr; + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { +#define LEAD_CASE(n) \ + case BT_LEAD ## n: ptr += n; break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_AMP: + if (ptr == start) + return PREFIX(scanRef)(enc, ptr + MINBPC(enc), end, nextTokPtr); + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + case BT_LT: + /* this is for inside entity references */ + *nextTokPtr = ptr; + return XML_TOK_INVALID; + case BT_LF: + if (ptr == start) { + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_DATA_NEWLINE; + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + case BT_CR: + if (ptr == start) { + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return XML_TOK_TRAILING_CR; + if (BYTE_TYPE(enc, ptr) == BT_LF) + ptr += MINBPC(enc); + *nextTokPtr = ptr; + return XML_TOK_DATA_NEWLINE; + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + case BT_S: + if (ptr == start) { + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_ATTRIBUTE_VALUE_S; + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + default: + ptr += MINBPC(enc); + break; + } + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; +} + +static int PTRCALL +PREFIX(entityValueTok)(const ENCODING *enc, const char *ptr, + const char *end, const char **nextTokPtr) +{ + const char *start; + if (ptr >= end) + return XML_TOK_NONE; + else if (! HAS_CHAR(enc, ptr, end)) { + /* This line cannot be executed. The incoming data has already + * been tokenized once, so incomplete characters like this have + * already been eliminated from the input. Retaining the paranoia + * check is still valuable, however. + */ + return XML_TOK_PARTIAL; /* LCOV_EXCL_LINE */ + } + start = ptr; + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { +#define LEAD_CASE(n) \ + case BT_LEAD ## n: ptr += n; break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_AMP: + if (ptr == start) + return PREFIX(scanRef)(enc, ptr + MINBPC(enc), end, nextTokPtr); + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + case BT_PERCNT: + if (ptr == start) { + int tok = PREFIX(scanPercent)(enc, ptr + MINBPC(enc), + end, nextTokPtr); + return (tok == XML_TOK_PERCENT) ? XML_TOK_INVALID : tok; + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + case BT_LF: + if (ptr == start) { + *nextTokPtr = ptr + MINBPC(enc); + return XML_TOK_DATA_NEWLINE; + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + case BT_CR: + if (ptr == start) { + ptr += MINBPC(enc); + if (! HAS_CHAR(enc, ptr, end)) + return XML_TOK_TRAILING_CR; + if (BYTE_TYPE(enc, ptr) == BT_LF) + ptr += MINBPC(enc); + *nextTokPtr = ptr; + return XML_TOK_DATA_NEWLINE; + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; + default: + ptr += MINBPC(enc); + break; + } + } + *nextTokPtr = ptr; + return XML_TOK_DATA_CHARS; +} + +#ifdef XML_DTD + +static int PTRCALL +PREFIX(ignoreSectionTok)(const ENCODING *enc, const char *ptr, + const char *end, const char **nextTokPtr) +{ + int level = 0; + if (MINBPC(enc) > 1) { + size_t n = end - ptr; + if (n & (MINBPC(enc) - 1)) { + n &= ~(MINBPC(enc) - 1); + end = ptr + n; + } + } + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { + INVALID_CASES(ptr, nextTokPtr) + case BT_LT: + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (CHAR_MATCHES(enc, ptr, ASCII_EXCL)) { + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (CHAR_MATCHES(enc, ptr, ASCII_LSQB)) { + ++level; + ptr += MINBPC(enc); + } + } + break; + case BT_RSQB: + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (CHAR_MATCHES(enc, ptr, ASCII_RSQB)) { + ptr += MINBPC(enc); + REQUIRE_CHAR(enc, ptr, end); + if (CHAR_MATCHES(enc, ptr, ASCII_GT)) { + ptr += MINBPC(enc); + if (level == 0) { + *nextTokPtr = ptr; + return XML_TOK_IGNORE_SECT; + } + --level; + } + } + break; + default: + ptr += MINBPC(enc); + break; + } + } + return XML_TOK_PARTIAL; +} + +#endif /* XML_DTD */ + +static int PTRCALL +PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end, + const char **badPtr) +{ + ptr += MINBPC(enc); + end -= MINBPC(enc); + for (; HAS_CHAR(enc, ptr, end); ptr += MINBPC(enc)) { + switch (BYTE_TYPE(enc, ptr)) { + case BT_DIGIT: + case BT_HEX: + case BT_MINUS: + case BT_APOS: + case BT_LPAR: + case BT_RPAR: + case BT_PLUS: + case BT_COMMA: + case BT_SOL: + case BT_EQUALS: + case BT_QUEST: + case BT_CR: + case BT_LF: + case BT_SEMI: + case BT_EXCL: + case BT_AST: + case BT_PERCNT: + case BT_NUM: +#ifdef XML_NS + case BT_COLON: +#endif + break; + case BT_S: + if (CHAR_MATCHES(enc, ptr, ASCII_TAB)) { + *badPtr = ptr; + return 0; + } + break; + case BT_NAME: + case BT_NMSTRT: + if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f)) + break; + default: + switch (BYTE_TO_ASCII(enc, ptr)) { + case 0x24: /* $ */ + case 0x40: /* @ */ + break; + default: + *badPtr = ptr; + return 0; + } + break; + } + } + return 1; +} + +/* This must only be called for a well-formed start-tag or empty + element tag. Returns the number of attributes. Pointers to the + first attsMax attributes are stored in atts. +*/ + +static int PTRCALL +PREFIX(getAtts)(const ENCODING *enc, const char *ptr, + int attsMax, ATTRIBUTE *atts) +{ + enum { other, inName, inValue } state = inName; + int nAtts = 0; + int open = 0; /* defined when state == inValue; + initialization just to shut up compilers */ + + for (ptr += MINBPC(enc);; ptr += MINBPC(enc)) { + switch (BYTE_TYPE(enc, ptr)) { +#define START_NAME \ + if (state == other) { \ + if (nAtts < attsMax) { \ + atts[nAtts].name = ptr; \ + atts[nAtts].normalized = 1; \ + } \ + state = inName; \ + } +#define LEAD_CASE(n) \ + case BT_LEAD ## n: START_NAME ptr += (n - MINBPC(enc)); break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_NONASCII: + case BT_NMSTRT: + case BT_HEX: + START_NAME + break; +#undef START_NAME + case BT_QUOT: + if (state != inValue) { + if (nAtts < attsMax) + atts[nAtts].valuePtr = ptr + MINBPC(enc); + state = inValue; + open = BT_QUOT; + } + else if (open == BT_QUOT) { + state = other; + if (nAtts < attsMax) + atts[nAtts].valueEnd = ptr; + nAtts++; + } + break; + case BT_APOS: + if (state != inValue) { + if (nAtts < attsMax) + atts[nAtts].valuePtr = ptr + MINBPC(enc); + state = inValue; + open = BT_APOS; + } + else if (open == BT_APOS) { + state = other; + if (nAtts < attsMax) + atts[nAtts].valueEnd = ptr; + nAtts++; + } + break; + case BT_AMP: + if (nAtts < attsMax) + atts[nAtts].normalized = 0; + break; + case BT_S: + if (state == inName) + state = other; + else if (state == inValue + && nAtts < attsMax + && atts[nAtts].normalized + && (ptr == atts[nAtts].valuePtr + || BYTE_TO_ASCII(enc, ptr) != ASCII_SPACE + || BYTE_TO_ASCII(enc, ptr + MINBPC(enc)) == ASCII_SPACE + || BYTE_TYPE(enc, ptr + MINBPC(enc)) == open)) + atts[nAtts].normalized = 0; + break; + case BT_CR: case BT_LF: + /* This case ensures that the first attribute name is counted + Apart from that we could just change state on the quote. */ + if (state == inName) + state = other; + else if (state == inValue && nAtts < attsMax) + atts[nAtts].normalized = 0; + break; + case BT_GT: + case BT_SOL: + if (state != inValue) + return nAtts; + break; + default: + break; + } + } + /* not reached */ +} + +static int PTRFASTCALL +PREFIX(charRefNumber)(const ENCODING *UNUSED_P(enc), const char *ptr) +{ + int result = 0; + /* skip &# */ + ptr += 2*MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_x)) { + for (ptr += MINBPC(enc); + !CHAR_MATCHES(enc, ptr, ASCII_SEMI); + ptr += MINBPC(enc)) { + int c = BYTE_TO_ASCII(enc, ptr); + switch (c) { + case ASCII_0: case ASCII_1: case ASCII_2: case ASCII_3: case ASCII_4: + case ASCII_5: case ASCII_6: case ASCII_7: case ASCII_8: case ASCII_9: + result <<= 4; + result |= (c - ASCII_0); + break; + case ASCII_A: case ASCII_B: case ASCII_C: + case ASCII_D: case ASCII_E: case ASCII_F: + result <<= 4; + result += 10 + (c - ASCII_A); + break; + case ASCII_a: case ASCII_b: case ASCII_c: + case ASCII_d: case ASCII_e: case ASCII_f: + result <<= 4; + result += 10 + (c - ASCII_a); + break; + } + if (result >= 0x110000) + return -1; + } + } + else { + for (; !CHAR_MATCHES(enc, ptr, ASCII_SEMI); ptr += MINBPC(enc)) { + int c = BYTE_TO_ASCII(enc, ptr); + result *= 10; + result += (c - ASCII_0); + if (result >= 0x110000) + return -1; + } + } + return checkCharRefNumber(result); +} + +static int PTRCALL +PREFIX(predefinedEntityName)(const ENCODING *UNUSED_P(enc), const char *ptr, + const char *end) +{ + switch ((end - ptr)/MINBPC(enc)) { + case 2: + if (CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_t)) { + switch (BYTE_TO_ASCII(enc, ptr)) { + case ASCII_l: + return ASCII_LT; + case ASCII_g: + return ASCII_GT; + } + } + break; + case 3: + if (CHAR_MATCHES(enc, ptr, ASCII_a)) { + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_m)) { + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_p)) + return ASCII_AMP; + } + } + break; + case 4: + switch (BYTE_TO_ASCII(enc, ptr)) { + case ASCII_q: + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_u)) { + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_o)) { + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_t)) + return ASCII_QUOT; + } + } + break; + case ASCII_a: + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_p)) { + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_o)) { + ptr += MINBPC(enc); + if (CHAR_MATCHES(enc, ptr, ASCII_s)) + return ASCII_APOS; + } + } + break; + } + } + return 0; +} + +static int PTRCALL +PREFIX(nameMatchesAscii)(const ENCODING *UNUSED_P(enc), const char *ptr1, + const char *end1, const char *ptr2) +{ + for (; *ptr2; ptr1 += MINBPC(enc), ptr2++) { + if (end1 - ptr1 < MINBPC(enc)) { + /* This line cannot be executed. THe incoming data has already + * been tokenized once, so imcomplete characters like this have + * already been eliminated from the input. Retaining the + * paranoia check is still valuable, however. + */ + return 0; /* LCOV_EXCL_LINE */ + } + if (!CHAR_MATCHES(enc, ptr1, *ptr2)) + return 0; + } + return ptr1 == end1; +} + +static int PTRFASTCALL +PREFIX(nameLength)(const ENCODING *enc, const char *ptr) +{ + const char *start = ptr; + for (;;) { + switch (BYTE_TYPE(enc, ptr)) { +#define LEAD_CASE(n) \ + case BT_LEAD ## n: ptr += n; break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_NONASCII: + case BT_NMSTRT: +#ifdef XML_NS + case BT_COLON: +#endif + case BT_HEX: + case BT_DIGIT: + case BT_NAME: + case BT_MINUS: + ptr += MINBPC(enc); + break; + default: + return (int)(ptr - start); + } + } +} + +static const char * PTRFASTCALL +PREFIX(skipS)(const ENCODING *enc, const char *ptr) +{ + for (;;) { + switch (BYTE_TYPE(enc, ptr)) { + case BT_LF: + case BT_CR: + case BT_S: + ptr += MINBPC(enc); + break; + default: + return ptr; + } + } +} + +static void PTRCALL +PREFIX(updatePosition)(const ENCODING *enc, + const char *ptr, + const char *end, + POSITION *pos) +{ + while (HAS_CHAR(enc, ptr, end)) { + switch (BYTE_TYPE(enc, ptr)) { +#define LEAD_CASE(n) \ + case BT_LEAD ## n: \ + ptr += n; \ + break; + LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4) +#undef LEAD_CASE + case BT_LF: + pos->columnNumber = (XML_Size)-1; + pos->lineNumber++; + ptr += MINBPC(enc); + break; + case BT_CR: + pos->lineNumber++; + ptr += MINBPC(enc); + if (HAS_CHAR(enc, ptr, end) && BYTE_TYPE(enc, ptr) == BT_LF) + ptr += MINBPC(enc); + pos->columnNumber = (XML_Size)-1; + break; + default: + ptr += MINBPC(enc); + break; + } + pos->columnNumber++; + } +} + +#undef DO_LEAD_CASE +#undef MULTIBYTE_CASES +#undef INVALID_CASES +#undef CHECK_NAME_CASE +#undef CHECK_NAME_CASES +#undef CHECK_NMSTRT_CASE +#undef CHECK_NMSTRT_CASES + +#endif /* XML_TOK_IMPL_C */ diff --git a/tools/sdk/include/expat/xmltok_impl.h b/tools/sdk/include/expat/xmltok_impl.h index da0ea60a..a6420f48 100644 --- a/tools/sdk/include/expat/xmltok_impl.h +++ b/tools/sdk/include/expat/xmltok_impl.h @@ -1,6 +1,33 @@ /* -Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd -See the file COPYING for copying permission. + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. */ enum { diff --git a/tools/sdk/include/expat/xmltok_ns.c b/tools/sdk/include/expat/xmltok_ns.c new file mode 100644 index 00000000..23d31e8e --- /dev/null +++ b/tools/sdk/include/expat/xmltok_ns.c @@ -0,0 +1,142 @@ +/* This file is included! + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd + Copyright (c) 2000-2017 Expat development team + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#ifdef XML_TOK_NS_C + +const ENCODING * +NS(XmlGetUtf8InternalEncoding)(void) +{ + return &ns(internal_utf8_encoding).enc; +} + +const ENCODING * +NS(XmlGetUtf16InternalEncoding)(void) +{ +#if BYTEORDER == 1234 + return &ns(internal_little2_encoding).enc; +#elif BYTEORDER == 4321 + return &ns(internal_big2_encoding).enc; +#else + const short n = 1; + return (*(const char *)&n + ? &ns(internal_little2_encoding).enc + : &ns(internal_big2_encoding).enc); +#endif +} + +static const ENCODING * const NS(encodings)[] = { + &ns(latin1_encoding).enc, + &ns(ascii_encoding).enc, + &ns(utf8_encoding).enc, + &ns(big2_encoding).enc, + &ns(big2_encoding).enc, + &ns(little2_encoding).enc, + &ns(utf8_encoding).enc /* NO_ENC */ +}; + +static int PTRCALL +NS(initScanProlog)(const ENCODING *enc, const char *ptr, const char *end, + const char **nextTokPtr) +{ + return initScan(NS(encodings), (const INIT_ENCODING *)enc, + XML_PROLOG_STATE, ptr, end, nextTokPtr); +} + +static int PTRCALL +NS(initScanContent)(const ENCODING *enc, const char *ptr, const char *end, + const char **nextTokPtr) +{ + return initScan(NS(encodings), (const INIT_ENCODING *)enc, + XML_CONTENT_STATE, ptr, end, nextTokPtr); +} + +int +NS(XmlInitEncoding)(INIT_ENCODING *p, const ENCODING **encPtr, + const char *name) +{ + int i = getEncodingIndex(name); + if (i == UNKNOWN_ENC) + return 0; + SET_INIT_ENC_INDEX(p, i); + p->initEnc.scanners[XML_PROLOG_STATE] = NS(initScanProlog); + p->initEnc.scanners[XML_CONTENT_STATE] = NS(initScanContent); + p->initEnc.updatePosition = initUpdatePosition; + p->encPtr = encPtr; + *encPtr = &(p->initEnc); + return 1; +} + +static const ENCODING * +NS(findEncoding)(const ENCODING *enc, const char *ptr, const char *end) +{ +#define ENCODING_MAX 128 + char buf[ENCODING_MAX]; + char *p = buf; + int i; + XmlUtf8Convert(enc, &ptr, end, &p, p + ENCODING_MAX - 1); + if (ptr != end) + return 0; + *p = 0; + if (streqci(buf, KW_UTF_16) && enc->minBytesPerChar == 2) + return enc; + i = getEncodingIndex(buf); + if (i == UNKNOWN_ENC) + return 0; + return NS(encodings)[i]; +} + +int +NS(XmlParseXmlDecl)(int isGeneralTextEntity, + const ENCODING *enc, + const char *ptr, + const char *end, + const char **badPtr, + const char **versionPtr, + const char **versionEndPtr, + const char **encodingName, + const ENCODING **encoding, + int *standalone) +{ + return doParseXmlDecl(NS(findEncoding), + isGeneralTextEntity, + enc, + ptr, + end, + badPtr, + versionPtr, + versionEndPtr, + encodingName, + encoding, + standalone); +} + +#endif /* XML_TOK_NS_C */ diff --git a/tools/sdk/include/fatfs/diskio.h b/tools/sdk/include/fatfs/diskio.h index 64d5d5b8..572f03dc 100644 --- a/tools/sdk/include/fatfs/diskio.h +++ b/tools/sdk/include/fatfs/diskio.h @@ -1,133 +1,133 @@ -/*-----------------------------------------------------------------------/ -/ Low level disk interface modlue include file (C)ChaN, 2014 / -/-----------------------------------------------------------------------*/ - -#ifndef _DISKIO_DEFINED -#define _DISKIO_DEFINED - -#ifdef __cplusplus -extern "C" { -#endif - -#include "integer.h" -#include "sdmmc_cmd.h" -#include "driver/sdmmc_host.h" - -/* Status of Disk Functions */ -typedef BYTE DSTATUS; - -/* Results of Disk Functions */ -typedef enum { - RES_OK = 0, /* 0: Successful */ - RES_ERROR, /* 1: R/W Error */ - RES_WRPRT, /* 2: Write Protected */ - RES_NOTRDY, /* 3: Not Ready */ - RES_PARERR /* 4: Invalid Parameter */ -} DRESULT; - - -/*---------------------------------------*/ -/* Prototypes for disk control functions */ - - -/* Redefine names of disk IO functions to prevent name collisions */ -#define disk_initialize ff_disk_initialize -#define disk_status ff_disk_status -#define disk_read ff_disk_read -#define disk_write ff_disk_write -#define disk_ioctl ff_disk_ioctl - - -DSTATUS disk_initialize (BYTE pdrv); -DSTATUS disk_status (BYTE pdrv); -DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); -DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); -DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff); - -/** - * Structure of pointers to disk IO driver functions. - * - * See FatFs documentation for details about these functions - */ -typedef struct { - DSTATUS (*init) (BYTE pdrv); /*!< disk initialization function */ - DSTATUS (*status) (BYTE pdrv); /*!< disk status check function */ - DRESULT (*read) (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); /*!< sector read function */ - DRESULT (*write) (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); /*!< sector write function */ - DRESULT (*ioctl) (BYTE pdrv, BYTE cmd, void* buff); /*!< function to get info about disk and do some misc operations */ -} ff_diskio_impl_t; - -/** - * Register or unregister diskio driver for given drive number. - * - * When FATFS library calls one of disk_xxx functions for driver number pdrv, - * corresponding function in discio_impl for given pdrv will be called. - * - * @param pdrv drive number - * @param discio_impl pointer to ff_diskio_impl_t structure with diskio functions - * or NULL to unregister and free previously registered drive - */ -void ff_diskio_register(BYTE pdrv, const ff_diskio_impl_t* discio_impl); - -#define ff_diskio_unregister(pdrv_) ff_diskio_register(pdrv_, NULL) - -/** - * Register SD/MMC diskio driver - * - * @param pdrv drive number - * @param card pointer to sdmmc_card_t structure describing a card; card should be initialized before calling f_mount. - */ -void ff_diskio_register_sdmmc(BYTE pdrv, sdmmc_card_t* card); - -/** - * Get next available drive number - * - * @param out_pdrv pointer to the byte to set if successful - * - * @return ESP_OK on success - * ESP_ERR_NOT_FOUND if all drives are attached - */ -esp_err_t ff_diskio_get_drive(BYTE* out_pdrv); - -/* Disk Status Bits (DSTATUS) */ - -#define STA_NOINIT 0x01 /* Drive not initialized */ -#define STA_NODISK 0x02 /* No medium in the drive */ -#define STA_PROTECT 0x04 /* Write protected */ - - -/* Command code for disk_ioctrl fucntion */ - -/* Generic command (Used by FatFs) */ -#define CTRL_SYNC 0 /* Complete pending write process (needed at _FS_READONLY == 0) */ -#define GET_SECTOR_COUNT 1 /* Get media size (needed at _USE_MKFS == 1) */ -#define GET_SECTOR_SIZE 2 /* Get sector size (needed at _MAX_SS != _MIN_SS) */ -#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at _USE_MKFS == 1) */ -#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at _USE_TRIM == 1) */ - -/* Generic command (Not used by FatFs) */ -#define CTRL_POWER 5 /* Get/Set power status */ -#define CTRL_LOCK 6 /* Lock/Unlock media removal */ -#define CTRL_EJECT 7 /* Eject media */ -#define CTRL_FORMAT 8 /* Create physical format on the media */ - -/* MMC/SDC specific ioctl command */ -#define MMC_GET_TYPE 10 /* Get card type */ -#define MMC_GET_CSD 11 /* Get CSD */ -#define MMC_GET_CID 12 /* Get CID */ -#define MMC_GET_OCR 13 /* Get OCR */ -#define MMC_GET_SDSTAT 14 /* Get SD status */ -#define ISDIO_READ 55 /* Read data form SD iSDIO register */ -#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */ -#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */ - -/* ATA/CF specific ioctl command */ -#define ATA_GET_REV 20 /* Get F/W revision */ -#define ATA_GET_MODEL 21 /* Get model name */ -#define ATA_GET_SN 22 /* Get serial number */ - -#ifdef __cplusplus -} -#endif - -#endif +/*-----------------------------------------------------------------------/ +/ Low level disk interface modlue include file (C)ChaN, 2014 / +/-----------------------------------------------------------------------*/ + +#ifndef _DISKIO_DEFINED +#define _DISKIO_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +#include "integer.h" +#include "sdmmc_cmd.h" +#include "driver/sdmmc_host.h" + +/* Status of Disk Functions */ +typedef BYTE DSTATUS; + +/* Results of Disk Functions */ +typedef enum { + RES_OK = 0, /* 0: Successful */ + RES_ERROR, /* 1: R/W Error */ + RES_WRPRT, /* 2: Write Protected */ + RES_NOTRDY, /* 3: Not Ready */ + RES_PARERR /* 4: Invalid Parameter */ +} DRESULT; + + +/*---------------------------------------*/ +/* Prototypes for disk control functions */ + + +/* Redefine names of disk IO functions to prevent name collisions */ +#define disk_initialize ff_disk_initialize +#define disk_status ff_disk_status +#define disk_read ff_disk_read +#define disk_write ff_disk_write +#define disk_ioctl ff_disk_ioctl + + +DSTATUS disk_initialize (BYTE pdrv); +DSTATUS disk_status (BYTE pdrv); +DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); +DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); +DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff); + +/** + * Structure of pointers to disk IO driver functions. + * + * See FatFs documentation for details about these functions + */ +typedef struct { + DSTATUS (*init) (BYTE pdrv); /*!< disk initialization function */ + DSTATUS (*status) (BYTE pdrv); /*!< disk status check function */ + DRESULT (*read) (BYTE pdrv, BYTE* buff, DWORD sector, UINT count); /*!< sector read function */ + DRESULT (*write) (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count); /*!< sector write function */ + DRESULT (*ioctl) (BYTE pdrv, BYTE cmd, void* buff); /*!< function to get info about disk and do some misc operations */ +} ff_diskio_impl_t; + +/** + * Register or unregister diskio driver for given drive number. + * + * When FATFS library calls one of disk_xxx functions for driver number pdrv, + * corresponding function in discio_impl for given pdrv will be called. + * + * @param pdrv drive number + * @param discio_impl pointer to ff_diskio_impl_t structure with diskio functions + * or NULL to unregister and free previously registered drive + */ +void ff_diskio_register(BYTE pdrv, const ff_diskio_impl_t* discio_impl); + +#define ff_diskio_unregister(pdrv_) ff_diskio_register(pdrv_, NULL) + +/** + * Register SD/MMC diskio driver + * + * @param pdrv drive number + * @param card pointer to sdmmc_card_t structure describing a card; card should be initialized before calling f_mount. + */ +void ff_diskio_register_sdmmc(BYTE pdrv, sdmmc_card_t* card); + +/** + * Get next available drive number + * + * @param out_pdrv pointer to the byte to set if successful + * + * @return ESP_OK on success + * ESP_ERR_NOT_FOUND if all drives are attached + */ +esp_err_t ff_diskio_get_drive(BYTE* out_pdrv); + +/* Disk Status Bits (DSTATUS) */ + +#define STA_NOINIT 0x01 /* Drive not initialized */ +#define STA_NODISK 0x02 /* No medium in the drive */ +#define STA_PROTECT 0x04 /* Write protected */ + + +/* Command code for disk_ioctrl fucntion */ + +/* Generic command (Used by FatFs) */ +#define CTRL_SYNC 0 /* Complete pending write process (needed at _FS_READONLY == 0) */ +#define GET_SECTOR_COUNT 1 /* Get media size (needed at _USE_MKFS == 1) */ +#define GET_SECTOR_SIZE 2 /* Get sector size (needed at _MAX_SS != _MIN_SS) */ +#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at _USE_MKFS == 1) */ +#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at _USE_TRIM == 1) */ + +/* Generic command (Not used by FatFs) */ +#define CTRL_POWER 5 /* Get/Set power status */ +#define CTRL_LOCK 6 /* Lock/Unlock media removal */ +#define CTRL_EJECT 7 /* Eject media */ +#define CTRL_FORMAT 8 /* Create physical format on the media */ + +/* MMC/SDC specific ioctl command */ +#define MMC_GET_TYPE 10 /* Get card type */ +#define MMC_GET_CSD 11 /* Get CSD */ +#define MMC_GET_CID 12 /* Get CID */ +#define MMC_GET_OCR 13 /* Get OCR */ +#define MMC_GET_SDSTAT 14 /* Get SD status */ +#define ISDIO_READ 55 /* Read data form SD iSDIO register */ +#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */ +#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */ + +/* ATA/CF specific ioctl command */ +#define ATA_GET_REV 20 /* Get F/W revision */ +#define ATA_GET_MODEL 21 /* Get model name */ +#define ATA_GET_SN 22 /* Get serial number */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/sdk/include/fatfs/diskio_rawflash.h b/tools/sdk/include/fatfs/diskio_rawflash.h index 389c3bd8..a7b61a47 100644 --- a/tools/sdk/include/fatfs/diskio_rawflash.h +++ b/tools/sdk/include/fatfs/diskio_rawflash.h @@ -1,38 +1,38 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _DISKIO_RAWFLASH_DEFINED -#define _DISKIO_RAWFLASH_DEFINED - -#ifdef __cplusplus -extern "C" { -#endif - -#include "integer.h" -#include "esp_partition.h" - -/** - * Register spi flash partition - * - * @param pdrv drive number - * @param part_handle pointer to raw flash partition. - */ -esp_err_t ff_diskio_register_raw_partition(BYTE pdrv, const esp_partition_t* part_handle); -BYTE ff_diskio_get_pdrv_raw(const esp_partition_t* part_handle); - -#ifdef __cplusplus -} -#endif - -#endif // _DISKIO_RAWFLASH_DEFINED +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DISKIO_RAWFLASH_DEFINED +#define _DISKIO_RAWFLASH_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +#include "integer.h" +#include "esp_partition.h" + +/** + * Register spi flash partition + * + * @param pdrv drive number + * @param part_handle pointer to raw flash partition. + */ +esp_err_t ff_diskio_register_raw_partition(BYTE pdrv, const esp_partition_t* part_handle); +BYTE ff_diskio_get_pdrv_raw(const esp_partition_t* part_handle); + +#ifdef __cplusplus +} +#endif + +#endif // _DISKIO_RAWFLASH_DEFINED diff --git a/tools/sdk/include/fatfs/diskio_wl.h b/tools/sdk/include/fatfs/diskio_wl.h index c2ed07dc..9abff7ae 100644 --- a/tools/sdk/include/fatfs/diskio_wl.h +++ b/tools/sdk/include/fatfs/diskio_wl.h @@ -1,39 +1,40 @@ -// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _DISKIO_WL_DEFINED -#define _DISKIO_WL_DEFINED - -#ifdef __cplusplus -extern "C" { -#endif - -#include "integer.h" -#include "wear_levelling.h" - - -/** - * Register spi flash partition - * - * @param pdrv drive number - * @param flash_handle handle of the wear levelling partition. - */ -esp_err_t ff_diskio_register_wl_partition(BYTE pdrv, wl_handle_t flash_handle); -BYTE ff_diskio_get_pdrv_wl(wl_handle_t flash_handle); - -#ifdef __cplusplus -} -#endif - -#endif // _DISKIO_WL_DEFINED +// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DISKIO_WL_DEFINED +#define _DISKIO_WL_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +#include "integer.h" +#include "wear_levelling.h" + + +/** + * Register spi flash partition + * + * @param pdrv drive number + * @param flash_handle handle of the wear levelling partition. + */ +esp_err_t ff_diskio_register_wl_partition(BYTE pdrv, wl_handle_t flash_handle); +BYTE ff_diskio_get_pdrv_wl(wl_handle_t flash_handle); +void ff_diskio_clear_pdrv_wl(wl_handle_t flash_handle); + +#ifdef __cplusplus +} +#endif + +#endif // _DISKIO_WL_DEFINED diff --git a/tools/sdk/include/fatfs/ff.h b/tools/sdk/include/fatfs/ff.h index d36815fc..55c13298 100644 --- a/tools/sdk/include/fatfs/ff.h +++ b/tools/sdk/include/fatfs/ff.h @@ -1,369 +1,369 @@ -/*----------------------------------------------------------------------------/ -/ FatFs - Generic FAT Filesystem module R0.13a / -/-----------------------------------------------------------------------------/ -/ -/ Copyright (C) 2017, ChaN, all right reserved. -/ -/ FatFs module is an open source software. Redistribution and use of FatFs in -/ source and binary forms, with or without modification, are permitted provided -/ that the following condition is met: - -/ 1. Redistributions of source code must retain the above copyright notice, -/ this condition and the following disclaimer. -/ -/ This software is provided by the copyright holder and contributors "AS IS" -/ and any warranties related to this software are DISCLAIMED. -/ The copyright owner or contributors be NOT LIABLE for any damages caused -/ by use of this software. -/ -/----------------------------------------------------------------------------*/ - - -#ifndef FF_DEFINED -#define FF_DEFINED 89352 /* Revision ID */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "integer.h" /* Basic integer types */ -#include "ffconf.h" /* FatFs configuration options */ - -#if FF_DEFINED != FFCONF_DEF -#error Wrong configuration file (ffconf.h). -#endif - -#ifdef FF_DEFINE_DIR -#define FF_DIR DIR -#endif - - -/* Definitions of volume management */ - -#if FF_MULTI_PARTITION /* Multiple partition configuration */ -typedef struct { - BYTE pd; /* Physical drive number */ - BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */ -} PARTITION; -extern PARTITION VolToPart[]; /* Volume - Partition resolution table */ -#endif - - - -/* Type of path name strings on FatFs API */ - -#ifndef _INC_TCHAR -#define _INC_TCHAR - -#if FF_USE_LFN && FF_LFN_UNICODE == 1 /* Unicode in UTF-16 encoding */ -typedef WCHAR TCHAR; -#define _T(x) L ## x -#define _TEXT(x) L ## x -#elif FF_USE_LFN && FF_LFN_UNICODE == 2 /* Unicode in UTF-8 encoding */ -typedef char TCHAR; -#define _T(x) u8 ## x -#define _TEXT(x) u8 ## x -#elif FF_USE_LFN && (FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 2) -#error Wrong FF_LFN_UNICODE setting -#else /* ANSI/OEM code in SBCS/DBCS */ -typedef char TCHAR; -#define _T(x) x -#define _TEXT(x) x -#endif - -#endif - - - -/* Type of file size variables */ - -#if FF_FS_EXFAT -typedef QWORD FSIZE_t; -#else -typedef DWORD FSIZE_t; -#endif - - - -/* Filesystem object structure (FATFS) */ - -typedef struct { - BYTE fs_type; /* Filesystem type (0:N/A) */ - BYTE pdrv; /* Physical drive number */ - BYTE n_fats; /* Number of FATs (1 or 2) */ - BYTE wflag; /* win[] flag (b0:dirty) */ - BYTE fsi_flag; /* FSINFO flags (b7:disabled, b0:dirty) */ - WORD id; /* Volume mount ID */ - WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ - WORD csize; /* Cluster size [sectors] */ -#if FF_MAX_SS != FF_MIN_SS - WORD ssize; /* Sector size (512, 1024, 2048 or 4096) */ -#endif -#if FF_USE_LFN - WCHAR* lfnbuf; /* LFN working buffer */ -#endif -#if FF_FS_EXFAT - BYTE* dirbuf; /* Directory entry block scratchpad buffer for exFAT */ -#endif -#if FF_FS_REENTRANT - FF_SYNC_t sobj; /* Identifier of sync object */ -#endif -#if !FF_FS_READONLY - DWORD last_clst; /* Last allocated cluster */ - DWORD free_clst; /* Number of free clusters */ -#endif -#if FF_FS_RPATH - DWORD cdir; /* Current directory start cluster (0:root) */ -#if FF_FS_EXFAT - DWORD cdc_scl; /* Containing directory start cluster (invalid when cdir is 0) */ - DWORD cdc_size; /* b31-b8:Size of containing directory, b7-b0: Chain status */ - DWORD cdc_ofs; /* Offset in the containing directory (invalid when cdir is 0) */ -#endif -#endif - DWORD n_fatent; /* Number of FAT entries (number of clusters + 2) */ - DWORD fsize; /* Size of an FAT [sectors] */ - DWORD volbase; /* Volume base sector */ - DWORD fatbase; /* FAT base sector */ - DWORD dirbase; /* Root directory base sector/cluster */ - DWORD database; /* Data base sector */ - DWORD winsect; /* Current sector appearing in the win[] */ - BYTE win[FF_MAX_SS]; /* Disk access window for Directory, FAT (and file data at tiny cfg) */ -} FATFS; - - - -/* Object ID and allocation information (FFOBJID) */ - -typedef struct { - FATFS* fs; /* Pointer to the hosting volume of this object */ - WORD id; /* Hosting volume mount ID */ - BYTE attr; /* Object attribute */ - BYTE stat; /* Object chain status (b1-0: =0:not contiguous, =2:contiguous, =3:flagmented in this session, b2:sub-directory stretched) */ - DWORD sclust; /* Object data start cluster (0:no cluster or root directory) */ - FSIZE_t objsize; /* Object size (valid when sclust != 0) */ -#if FF_FS_EXFAT - DWORD n_cont; /* Size of first fragment - 1 (valid when stat == 3) */ - DWORD n_frag; /* Size of last fragment needs to be written to FAT (valid when not zero) */ - DWORD c_scl; /* Containing directory start cluster (valid when sclust != 0) */ - DWORD c_size; /* b31-b8:Size of containing directory, b7-b0: Chain status (valid when c_scl != 0) */ - DWORD c_ofs; /* Offset in the containing directory (valid when file object and sclust != 0) */ -#endif -#if FF_FS_LOCK - UINT lockid; /* File lock ID origin from 1 (index of file semaphore table Files[]) */ -#endif -} FFOBJID; - - - -/* File object structure (FIL) */ - -typedef struct { - FFOBJID obj; /* Object identifier (must be the 1st member to detect invalid object pointer) */ - BYTE flag; /* File status flags */ - BYTE err; /* Abort flag (error code) */ - FSIZE_t fptr; /* File read/write pointer (Zeroed on file open) */ - DWORD clust; /* Current cluster of fpter (invalid when fptr is 0) */ - DWORD sect; /* Sector number appearing in buf[] (0:invalid) */ -#if !FF_FS_READONLY - DWORD dir_sect; /* Sector number containing the directory entry (not used at exFAT) */ - BYTE* dir_ptr; /* Pointer to the directory entry in the win[] (not used at exFAT) */ -#endif -#if FF_USE_FASTSEEK - DWORD* cltbl; /* Pointer to the cluster link map table (nulled on open, set by application) */ -#endif -#if !FF_FS_TINY - BYTE buf[FF_MAX_SS]; /* File private data read/write window */ -#endif -} FIL; - - - -/* Directory object structure (FF_DIR) */ - -typedef struct { - FFOBJID obj; /* Object identifier */ - DWORD dptr; /* Current read/write offset */ - DWORD clust; /* Current cluster */ - DWORD sect; /* Current sector (0:Read operation has terminated) */ - BYTE* dir; /* Pointer to the directory item in the win[] */ - BYTE fn[12]; /* SFN (in/out) {body[8],ext[3],status[1]} */ -#if FF_USE_LFN - DWORD blk_ofs; /* Offset of current entry block being processed (0xFFFFFFFF:Invalid) */ -#endif -#if FF_USE_FIND - const TCHAR* pat; /* Pointer to the name matching pattern */ -#endif -} FF_DIR; - - - -/* File information structure (FILINFO) */ - -typedef struct { - FSIZE_t fsize; /* File size */ - WORD fdate; /* Modified date */ - WORD ftime; /* Modified time */ - BYTE fattrib; /* File attribute */ -#if FF_USE_LFN - TCHAR altname[FF_SFN_BUF + 1];/* Altenative file name */ - TCHAR fname[FF_LFN_BUF + 1]; /* Primary file name */ -#else - TCHAR fname[12 + 1]; /* File name */ -#endif -} FILINFO; - - - -/* File function return code (FRESULT) */ - -typedef enum { - FR_OK = 0, /* (0) Succeeded */ - FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */ - FR_INT_ERR, /* (2) Assertion failed */ - FR_NOT_READY, /* (3) The physical drive cannot work */ - FR_NO_FILE, /* (4) Could not find the file */ - FR_NO_PATH, /* (5) Could not find the path */ - FR_INVALID_NAME, /* (6) The path name format is invalid */ - FR_DENIED, /* (7) Access denied due to prohibited access or directory full */ - FR_EXIST, /* (8) Access denied due to prohibited access */ - FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */ - FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */ - FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */ - FR_NOT_ENABLED, /* (12) The volume has no work area */ - FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */ - FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any problem */ - FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */ - FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */ - FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */ - FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > FF_FS_LOCK */ - FR_INVALID_PARAMETER /* (19) Given parameter is invalid */ -} FRESULT; - - - -/*--------------------------------------------------------------*/ -/* FatFs module application interface */ - -FRESULT f_open (FIL* fp, const TCHAR* path, BYTE mode); /* Open or create a file */ -FRESULT f_close (FIL* fp); /* Close an open file object */ -FRESULT f_read (FIL* fp, void* buff, UINT btr, UINT* br); /* Read data from the file */ -FRESULT f_write (FIL* fp, const void* buff, UINT btw, UINT* bw); /* Write data to the file */ -FRESULT f_lseek (FIL* fp, FSIZE_t ofs); /* Move file pointer of the file object */ -FRESULT f_truncate (FIL* fp); /* Truncate the file */ -FRESULT f_sync (FIL* fp); /* Flush cached data of the writing file */ -FRESULT f_opendir (FF_DIR* dp, const TCHAR* path); /* Open a directory */ -FRESULT f_closedir (FF_DIR* dp); /* Close an open directory */ -FRESULT f_readdir (FF_DIR* dp, FILINFO* fno); /* Read a directory item */ -FRESULT f_findfirst (FF_DIR* dp, FILINFO* fno, const TCHAR* path, const TCHAR* pattern); /* Find first file */ -FRESULT f_findnext (FF_DIR* dp, FILINFO* fno); /* Find next file */ -FRESULT f_mkdir (const TCHAR* path); /* Create a sub directory */ -FRESULT f_unlink (const TCHAR* path); /* Delete an existing file or directory */ -FRESULT f_rename (const TCHAR* path_old, const TCHAR* path_new); /* Rename/Move a file or directory */ -FRESULT f_stat (const TCHAR* path, FILINFO* fno); /* Get file status */ -FRESULT f_chmod (const TCHAR* path, BYTE attr, BYTE mask); /* Change attribute of a file/dir */ -FRESULT f_utime (const TCHAR* path, const FILINFO* fno); /* Change timestamp of a file/dir */ -FRESULT f_chdir (const TCHAR* path); /* Change current directory */ -FRESULT f_chdrive (const TCHAR* path); /* Change current drive */ -FRESULT f_getcwd (TCHAR* buff, UINT len); /* Get current directory */ -FRESULT f_getfree (const TCHAR* path, DWORD* nclst, FATFS** fatfs); /* Get number of free clusters on the drive */ -FRESULT f_getlabel (const TCHAR* path, TCHAR* label, DWORD* vsn); /* Get volume label */ -FRESULT f_setlabel (const TCHAR* label); /* Set volume label */ -FRESULT f_forward (FIL* fp, UINT(*func)(const BYTE*,UINT), UINT btf, UINT* bf); /* Forward data to the stream */ -FRESULT f_expand (FIL* fp, FSIZE_t szf, BYTE opt); /* Allocate a contiguous block to the file */ -FRESULT f_mount (FATFS* fs, const TCHAR* path, BYTE opt); /* Mount/Unmount a logical drive */ -FRESULT f_mkfs (const TCHAR* path, BYTE opt, DWORD au, void* work, UINT len); /* Create a FAT volume */ -FRESULT f_fdisk (BYTE pdrv, const DWORD* szt, void* work); /* Divide a physical drive into some partitions */ -FRESULT f_setcp (WORD cp); /* Set current code page */ -int f_putc (TCHAR c, FIL* fp); /* Put a character to the file */ -int f_puts (const TCHAR* str, FIL* cp); /* Put a string to the file */ -int f_printf (FIL* fp, const TCHAR* str, ...); /* Put a formatted string to the file */ -TCHAR* f_gets (TCHAR* buff, int len, FIL* fp); /* Get a string from the file */ - -#define f_eof(fp) ((int)((fp)->fptr == (fp)->obj.objsize)) -#define f_error(fp) ((fp)->err) -#define f_tell(fp) ((fp)->fptr) -#define f_size(fp) ((fp)->obj.objsize) -#define f_rewind(fp) f_lseek((fp), 0) -#define f_rewinddir(dp) f_readdir((dp), 0) -#define f_rmdir(path) f_unlink(path) -#define f_unmount(path) f_mount(0, path, 0) - -#ifndef EOF -#define EOF (-1) -#endif - - - - -/*--------------------------------------------------------------*/ -/* Additional user defined functions */ - -/* RTC function */ -#if !FF_FS_READONLY && !FF_FS_NORTC -DWORD get_fattime (void); -#endif - -/* LFN support functions */ -#if FF_USE_LFN >= 1 /* Code conversion (defined in unicode.c) */ -WCHAR ff_oem2uni (WCHAR oem, WORD cp); /* OEM code to Unicode conversion */ -WCHAR ff_uni2oem (DWORD uni, WORD cp); /* Unicode to OEM code conversion */ -DWORD ff_wtoupper (DWORD uni); /* Unicode upper-case conversion */ -#endif -#if FF_USE_LFN == 3 /* Dynamic memory allocation */ -void* ff_memalloc (UINT msize); /* Allocate memory block */ -void ff_memfree (void* mblock); /* Free memory block */ -#endif - -/* Sync functions */ -#if FF_FS_REENTRANT -int ff_cre_syncobj (BYTE vol, FF_SYNC_t* sobj); /* Create a sync object */ -int ff_req_grant (FF_SYNC_t sobj); /* Lock sync object */ -void ff_rel_grant (FF_SYNC_t sobj); /* Unlock sync object */ -int ff_del_syncobj (FF_SYNC_t sobj); /* Delete a sync object */ -#endif - - - - -/*--------------------------------------------------------------*/ -/* Flags and offset address */ - - -/* File access mode and open method flags (3rd argument of f_open) */ -#define FA_READ 0x01 -#define FA_WRITE 0x02 -#define FA_OPEN_EXISTING 0x00 -#define FA_CREATE_NEW 0x04 -#define FA_CREATE_ALWAYS 0x08 -#define FA_OPEN_ALWAYS 0x10 -#define FA_OPEN_APPEND 0x30 - -/* Fast seek controls (2nd argument of f_lseek) */ -#define CREATE_LINKMAP ((FSIZE_t)0 - 1) - -/* Format options (2nd argument of f_mkfs) */ -#define FM_FAT 0x01 -#define FM_FAT32 0x02 -#define FM_EXFAT 0x04 -#define FM_ANY 0x07 -#define FM_SFD 0x08 - -/* Filesystem type (FATFS.fs_type) */ -#define FS_FAT12 1 -#define FS_FAT16 2 -#define FS_FAT32 3 -#define FS_EXFAT 4 - -/* File attribute bits for directory entry (FILINFO.fattrib) */ -#define AM_RDO 0x01 /* Read only */ -#define AM_HID 0x02 /* Hidden */ -#define AM_SYS 0x04 /* System */ -#define AM_DIR 0x10 /* Directory */ -#define AM_ARC 0x20 /* Archive */ - - -#ifdef __cplusplus -} -#endif - -#endif /* FF_DEFINED */ +/*----------------------------------------------------------------------------/ +/ FatFs - Generic FAT Filesystem module R0.13a / +/-----------------------------------------------------------------------------/ +/ +/ Copyright (C) 2017, ChaN, all right reserved. +/ +/ FatFs module is an open source software. Redistribution and use of FatFs in +/ source and binary forms, with or without modification, are permitted provided +/ that the following condition is met: + +/ 1. Redistributions of source code must retain the above copyright notice, +/ this condition and the following disclaimer. +/ +/ This software is provided by the copyright holder and contributors "AS IS" +/ and any warranties related to this software are DISCLAIMED. +/ The copyright owner or contributors be NOT LIABLE for any damages caused +/ by use of this software. +/ +/----------------------------------------------------------------------------*/ + + +#ifndef FF_DEFINED +#define FF_DEFINED 89352 /* Revision ID */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "integer.h" /* Basic integer types */ +#include "ffconf.h" /* FatFs configuration options */ + +#if FF_DEFINED != FFCONF_DEF +#error Wrong configuration file (ffconf.h). +#endif + +#ifdef FF_DEFINE_DIR +#define FF_DIR DIR +#endif + + +/* Definitions of volume management */ + +#if FF_MULTI_PARTITION /* Multiple partition configuration */ +typedef struct { + BYTE pd; /* Physical drive number */ + BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */ +} PARTITION; +extern PARTITION VolToPart[]; /* Volume - Partition resolution table */ +#endif + + + +/* Type of path name strings on FatFs API */ + +#ifndef _INC_TCHAR +#define _INC_TCHAR + +#if FF_USE_LFN && FF_LFN_UNICODE == 1 /* Unicode in UTF-16 encoding */ +typedef WCHAR TCHAR; +#define _T(x) L ## x +#define _TEXT(x) L ## x +#elif FF_USE_LFN && FF_LFN_UNICODE == 2 /* Unicode in UTF-8 encoding */ +typedef char TCHAR; +#define _T(x) u8 ## x +#define _TEXT(x) u8 ## x +#elif FF_USE_LFN && (FF_LFN_UNICODE < 0 || FF_LFN_UNICODE > 2) +#error Wrong FF_LFN_UNICODE setting +#else /* ANSI/OEM code in SBCS/DBCS */ +typedef char TCHAR; +#define _T(x) x +#define _TEXT(x) x +#endif + +#endif + + + +/* Type of file size variables */ + +#if FF_FS_EXFAT +typedef QWORD FSIZE_t; +#else +typedef DWORD FSIZE_t; +#endif + + + +/* Filesystem object structure (FATFS) */ + +typedef struct { + BYTE fs_type; /* Filesystem type (0:N/A) */ + BYTE pdrv; /* Physical drive number */ + BYTE n_fats; /* Number of FATs (1 or 2) */ + BYTE wflag; /* win[] flag (b0:dirty) */ + BYTE fsi_flag; /* FSINFO flags (b7:disabled, b0:dirty) */ + WORD id; /* Volume mount ID */ + WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ + WORD csize; /* Cluster size [sectors] */ +#if FF_MAX_SS != FF_MIN_SS + WORD ssize; /* Sector size (512, 1024, 2048 or 4096) */ +#endif +#if FF_USE_LFN + WCHAR* lfnbuf; /* LFN working buffer */ +#endif +#if FF_FS_EXFAT + BYTE* dirbuf; /* Directory entry block scratchpad buffer for exFAT */ +#endif +#if FF_FS_REENTRANT + FF_SYNC_t sobj; /* Identifier of sync object */ +#endif +#if !FF_FS_READONLY + DWORD last_clst; /* Last allocated cluster */ + DWORD free_clst; /* Number of free clusters */ +#endif +#if FF_FS_RPATH + DWORD cdir; /* Current directory start cluster (0:root) */ +#if FF_FS_EXFAT + DWORD cdc_scl; /* Containing directory start cluster (invalid when cdir is 0) */ + DWORD cdc_size; /* b31-b8:Size of containing directory, b7-b0: Chain status */ + DWORD cdc_ofs; /* Offset in the containing directory (invalid when cdir is 0) */ +#endif +#endif + DWORD n_fatent; /* Number of FAT entries (number of clusters + 2) */ + DWORD fsize; /* Size of an FAT [sectors] */ + DWORD volbase; /* Volume base sector */ + DWORD fatbase; /* FAT base sector */ + DWORD dirbase; /* Root directory base sector/cluster */ + DWORD database; /* Data base sector */ + DWORD winsect; /* Current sector appearing in the win[] */ + BYTE win[FF_MAX_SS]; /* Disk access window for Directory, FAT (and file data at tiny cfg) */ +} FATFS; + + + +/* Object ID and allocation information (FFOBJID) */ + +typedef struct { + FATFS* fs; /* Pointer to the hosting volume of this object */ + WORD id; /* Hosting volume mount ID */ + BYTE attr; /* Object attribute */ + BYTE stat; /* Object chain status (b1-0: =0:not contiguous, =2:contiguous, =3:flagmented in this session, b2:sub-directory stretched) */ + DWORD sclust; /* Object data start cluster (0:no cluster or root directory) */ + FSIZE_t objsize; /* Object size (valid when sclust != 0) */ +#if FF_FS_EXFAT + DWORD n_cont; /* Size of first fragment - 1 (valid when stat == 3) */ + DWORD n_frag; /* Size of last fragment needs to be written to FAT (valid when not zero) */ + DWORD c_scl; /* Containing directory start cluster (valid when sclust != 0) */ + DWORD c_size; /* b31-b8:Size of containing directory, b7-b0: Chain status (valid when c_scl != 0) */ + DWORD c_ofs; /* Offset in the containing directory (valid when file object and sclust != 0) */ +#endif +#if FF_FS_LOCK + UINT lockid; /* File lock ID origin from 1 (index of file semaphore table Files[]) */ +#endif +} FFOBJID; + + + +/* File object structure (FIL) */ + +typedef struct { + FFOBJID obj; /* Object identifier (must be the 1st member to detect invalid object pointer) */ + BYTE flag; /* File status flags */ + BYTE err; /* Abort flag (error code) */ + FSIZE_t fptr; /* File read/write pointer (Zeroed on file open) */ + DWORD clust; /* Current cluster of fpter (invalid when fptr is 0) */ + DWORD sect; /* Sector number appearing in buf[] (0:invalid) */ +#if !FF_FS_READONLY + DWORD dir_sect; /* Sector number containing the directory entry (not used at exFAT) */ + BYTE* dir_ptr; /* Pointer to the directory entry in the win[] (not used at exFAT) */ +#endif +#if FF_USE_FASTSEEK + DWORD* cltbl; /* Pointer to the cluster link map table (nulled on open, set by application) */ +#endif +#if !FF_FS_TINY + BYTE buf[FF_MAX_SS]; /* File private data read/write window */ +#endif +} FIL; + + + +/* Directory object structure (FF_DIR) */ + +typedef struct { + FFOBJID obj; /* Object identifier */ + DWORD dptr; /* Current read/write offset */ + DWORD clust; /* Current cluster */ + DWORD sect; /* Current sector (0:Read operation has terminated) */ + BYTE* dir; /* Pointer to the directory item in the win[] */ + BYTE fn[12]; /* SFN (in/out) {body[8],ext[3],status[1]} */ +#if FF_USE_LFN + DWORD blk_ofs; /* Offset of current entry block being processed (0xFFFFFFFF:Invalid) */ +#endif +#if FF_USE_FIND + const TCHAR* pat; /* Pointer to the name matching pattern */ +#endif +} FF_DIR; + + + +/* File information structure (FILINFO) */ + +typedef struct { + FSIZE_t fsize; /* File size */ + WORD fdate; /* Modified date */ + WORD ftime; /* Modified time */ + BYTE fattrib; /* File attribute */ +#if FF_USE_LFN + TCHAR altname[FF_SFN_BUF + 1];/* Altenative file name */ + TCHAR fname[FF_LFN_BUF + 1]; /* Primary file name */ +#else + TCHAR fname[12 + 1]; /* File name */ +#endif +} FILINFO; + + + +/* File function return code (FRESULT) */ + +typedef enum { + FR_OK = 0, /* (0) Succeeded */ + FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */ + FR_INT_ERR, /* (2) Assertion failed */ + FR_NOT_READY, /* (3) The physical drive cannot work */ + FR_NO_FILE, /* (4) Could not find the file */ + FR_NO_PATH, /* (5) Could not find the path */ + FR_INVALID_NAME, /* (6) The path name format is invalid */ + FR_DENIED, /* (7) Access denied due to prohibited access or directory full */ + FR_EXIST, /* (8) Access denied due to prohibited access */ + FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */ + FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */ + FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */ + FR_NOT_ENABLED, /* (12) The volume has no work area */ + FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */ + FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any problem */ + FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */ + FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */ + FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */ + FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > FF_FS_LOCK */ + FR_INVALID_PARAMETER /* (19) Given parameter is invalid */ +} FRESULT; + + + +/*--------------------------------------------------------------*/ +/* FatFs module application interface */ + +FRESULT f_open (FIL* fp, const TCHAR* path, BYTE mode); /* Open or create a file */ +FRESULT f_close (FIL* fp); /* Close an open file object */ +FRESULT f_read (FIL* fp, void* buff, UINT btr, UINT* br); /* Read data from the file */ +FRESULT f_write (FIL* fp, const void* buff, UINT btw, UINT* bw); /* Write data to the file */ +FRESULT f_lseek (FIL* fp, FSIZE_t ofs); /* Move file pointer of the file object */ +FRESULT f_truncate (FIL* fp); /* Truncate the file */ +FRESULT f_sync (FIL* fp); /* Flush cached data of the writing file */ +FRESULT f_opendir (FF_DIR* dp, const TCHAR* path); /* Open a directory */ +FRESULT f_closedir (FF_DIR* dp); /* Close an open directory */ +FRESULT f_readdir (FF_DIR* dp, FILINFO* fno); /* Read a directory item */ +FRESULT f_findfirst (FF_DIR* dp, FILINFO* fno, const TCHAR* path, const TCHAR* pattern); /* Find first file */ +FRESULT f_findnext (FF_DIR* dp, FILINFO* fno); /* Find next file */ +FRESULT f_mkdir (const TCHAR* path); /* Create a sub directory */ +FRESULT f_unlink (const TCHAR* path); /* Delete an existing file or directory */ +FRESULT f_rename (const TCHAR* path_old, const TCHAR* path_new); /* Rename/Move a file or directory */ +FRESULT f_stat (const TCHAR* path, FILINFO* fno); /* Get file status */ +FRESULT f_chmod (const TCHAR* path, BYTE attr, BYTE mask); /* Change attribute of a file/dir */ +FRESULT f_utime (const TCHAR* path, const FILINFO* fno); /* Change timestamp of a file/dir */ +FRESULT f_chdir (const TCHAR* path); /* Change current directory */ +FRESULT f_chdrive (const TCHAR* path); /* Change current drive */ +FRESULT f_getcwd (TCHAR* buff, UINT len); /* Get current directory */ +FRESULT f_getfree (const TCHAR* path, DWORD* nclst, FATFS** fatfs); /* Get number of free clusters on the drive */ +FRESULT f_getlabel (const TCHAR* path, TCHAR* label, DWORD* vsn); /* Get volume label */ +FRESULT f_setlabel (const TCHAR* label); /* Set volume label */ +FRESULT f_forward (FIL* fp, UINT(*func)(const BYTE*,UINT), UINT btf, UINT* bf); /* Forward data to the stream */ +FRESULT f_expand (FIL* fp, FSIZE_t szf, BYTE opt); /* Allocate a contiguous block to the file */ +FRESULT f_mount (FATFS* fs, const TCHAR* path, BYTE opt); /* Mount/Unmount a logical drive */ +FRESULT f_mkfs (const TCHAR* path, BYTE opt, DWORD au, void* work, UINT len); /* Create a FAT volume */ +FRESULT f_fdisk (BYTE pdrv, const DWORD* szt, void* work); /* Divide a physical drive into some partitions */ +FRESULT f_setcp (WORD cp); /* Set current code page */ +int f_putc (TCHAR c, FIL* fp); /* Put a character to the file */ +int f_puts (const TCHAR* str, FIL* cp); /* Put a string to the file */ +int f_printf (FIL* fp, const TCHAR* str, ...); /* Put a formatted string to the file */ +TCHAR* f_gets (TCHAR* buff, int len, FIL* fp); /* Get a string from the file */ + +#define f_eof(fp) ((int)((fp)->fptr == (fp)->obj.objsize)) +#define f_error(fp) ((fp)->err) +#define f_tell(fp) ((fp)->fptr) +#define f_size(fp) ((fp)->obj.objsize) +#define f_rewind(fp) f_lseek((fp), 0) +#define f_rewinddir(dp) f_readdir((dp), 0) +#define f_rmdir(path) f_unlink(path) +#define f_unmount(path) f_mount(0, path, 0) + +#ifndef EOF +#define EOF (-1) +#endif + + + + +/*--------------------------------------------------------------*/ +/* Additional user defined functions */ + +/* RTC function */ +#if !FF_FS_READONLY && !FF_FS_NORTC +DWORD get_fattime (void); +#endif + +/* LFN support functions */ +#if FF_USE_LFN >= 1 /* Code conversion (defined in unicode.c) */ +WCHAR ff_oem2uni (WCHAR oem, WORD cp); /* OEM code to Unicode conversion */ +WCHAR ff_uni2oem (DWORD uni, WORD cp); /* Unicode to OEM code conversion */ +DWORD ff_wtoupper (DWORD uni); /* Unicode upper-case conversion */ +#endif +#if FF_USE_LFN == 3 /* Dynamic memory allocation */ +void* ff_memalloc (UINT msize); /* Allocate memory block */ +void ff_memfree (void* mblock); /* Free memory block */ +#endif + +/* Sync functions */ +#if FF_FS_REENTRANT +int ff_cre_syncobj (BYTE vol, FF_SYNC_t* sobj); /* Create a sync object */ +int ff_req_grant (FF_SYNC_t sobj); /* Lock sync object */ +void ff_rel_grant (FF_SYNC_t sobj); /* Unlock sync object */ +int ff_del_syncobj (FF_SYNC_t sobj); /* Delete a sync object */ +#endif + + + + +/*--------------------------------------------------------------*/ +/* Flags and offset address */ + + +/* File access mode and open method flags (3rd argument of f_open) */ +#define FA_READ 0x01 +#define FA_WRITE 0x02 +#define FA_OPEN_EXISTING 0x00 +#define FA_CREATE_NEW 0x04 +#define FA_CREATE_ALWAYS 0x08 +#define FA_OPEN_ALWAYS 0x10 +#define FA_OPEN_APPEND 0x30 + +/* Fast seek controls (2nd argument of f_lseek) */ +#define CREATE_LINKMAP ((FSIZE_t)0 - 1) + +/* Format options (2nd argument of f_mkfs) */ +#define FM_FAT 0x01 +#define FM_FAT32 0x02 +#define FM_EXFAT 0x04 +#define FM_ANY 0x07 +#define FM_SFD 0x08 + +/* Filesystem type (FATFS.fs_type) */ +#define FS_FAT12 1 +#define FS_FAT16 2 +#define FS_FAT32 3 +#define FS_EXFAT 4 + +/* File attribute bits for directory entry (FILINFO.fattrib) */ +#define AM_RDO 0x01 /* Read only */ +#define AM_HID 0x02 /* Hidden */ +#define AM_SYS 0x04 /* System */ +#define AM_DIR 0x10 /* Directory */ +#define AM_ARC 0x20 /* Archive */ + + +#ifdef __cplusplus +} +#endif + +#endif /* FF_DEFINED */ diff --git a/tools/sdk/include/fatfs/ffconf.h b/tools/sdk/include/fatfs/ffconf.h index 7a491655..1b1cf8c8 100644 --- a/tools/sdk/include/fatfs/ffconf.h +++ b/tools/sdk/include/fatfs/ffconf.h @@ -1,304 +1,304 @@ -#include -#include "sdkconfig.h" -/*---------------------------------------------------------------------------/ -/ FatFs - Configuration file -/---------------------------------------------------------------------------*/ - -#define FFCONF_DEF 89352 /* Revision ID */ - -/*---------------------------------------------------------------------------/ -/ Function Configurations -/---------------------------------------------------------------------------*/ - -#define FF_FS_READONLY 0 -/* This option switches read-only configuration. (0:Read/Write or 1:Read-only) -/ Read-only configuration removes writing API functions, f_write(), f_sync(), -/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree() -/ and optional writing functions as well. */ - - -#define FF_FS_MINIMIZE 0 -/* This option defines minimization level to remove some basic API functions. -/ -/ 0: Basic functions are fully enabled. -/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename() -/ are removed. -/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1. -/ 3: f_lseek() function is removed in addition to 2. */ - - -#define FF_USE_STRFUNC 0 -/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf(). -/ -/ 0: Disable string functions. -/ 1: Enable without LF-CRLF conversion. -/ 2: Enable with LF-CRLF conversion. */ - - -#define FF_USE_FIND 0 -/* This option switches filtered directory read functions, f_findfirst() and -/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */ - - -#define FF_USE_MKFS 1 -/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */ - - -#define FF_USE_FASTSEEK 0 -/* This option switches fast seek function. (0:Disable or 1:Enable) */ - - -#define FF_USE_EXPAND 0 -/* This option switches f_expand function. (0:Disable or 1:Enable) */ - - -#define FF_USE_CHMOD 0 -/* This option switches attribute manipulation functions, f_chmod() and f_utime(). -/ (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */ - - -#define FF_USE_LABEL 0 -/* This option switches volume label functions, f_getlabel() and f_setlabel(). -/ (0:Disable or 1:Enable) */ - - -#define FF_USE_FORWARD 0 -/* This option switches f_forward() function. (0:Disable or 1:Enable) */ - - -/*---------------------------------------------------------------------------/ -/ Locale and Namespace Configurations -/---------------------------------------------------------------------------*/ - -#define FF_CODE_PAGE CONFIG_FATFS_CODEPAGE -/* This option specifies the OEM code page to be used on the target system. -/ Incorrect code page setting can cause a file open failure. -/ -/ 437 - U.S. -/ 720 - Arabic -/ 737 - Greek -/ 771 - KBL -/ 775 - Baltic -/ 850 - Latin 1 -/ 852 - Latin 2 -/ 855 - Cyrillic -/ 857 - Turkish -/ 860 - Portuguese -/ 861 - Icelandic -/ 862 - Hebrew -/ 863 - Canadian French -/ 864 - Arabic -/ 865 - Nordic -/ 866 - Russian -/ 869 - Greek 2 -/ 932 - Japanese (DBCS) -/ 936 - Simplified Chinese (DBCS) -/ 949 - Korean (DBCS) -/ 950 - Traditional Chinese (DBCS) -/ 0 - Include all code pages above and configured by f_setcp() -*/ - - -#if defined(CONFIG_FATFS_LFN_STACK) -#define FF_USE_LFN 2 -#elif defined(CONFIG_FATFS_LFN_HEAP) -#define FF_USE_LFN 3 -#else /* CONFIG_FATFS_LFN_NONE */ -#define FF_USE_LFN 0 -#endif - -#ifdef CONFIG_FATFS_MAX_LFN -#define FF_MAX_LFN CONFIG_FATFS_MAX_LFN -#endif - -/* The FF_USE_LFN switches the support for LFN (long file name). -/ -/ 0: Disable LFN. FF_MAX_LFN has no effect. -/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe. -/ 2: Enable LFN with dynamic working buffer on the STACK. -/ 3: Enable LFN with dynamic working buffer on the HEAP. -/ -/ To enable the LFN, ffunicode.c needs to be added to the project. The LFN function -/ requiers certain internal working buffer occupies (FF_MAX_LFN + 1) * 2 bytes and -/ additional (FF_MAX_LFN + 44) / 15 * 32 bytes when exFAT is enabled. -/ The FF_MAX_LFN defines size of the working buffer in UTF-16 code unit and it can -/ be in range of 12 to 255. It is recommended to be set 255 to fully support LFN -/ specification. -/ When use stack for the working buffer, take care on stack overflow. When use heap -/ memory for the working buffer, memory management functions, ff_memalloc() and -/ ff_memfree() in ffsystem.c, need to be added to the project. */ - - -#ifdef CONFIG_FATFS_API_ENCODING_UTF_8 -#define FF_LFN_UNICODE 2 -#elif defined(CONFIG_FATFS_API_ENCODING_UTF_16) -#define FF_LFN_UNICODE 1 -#else /* CONFIG_FATFS_API_ENCODING_ANSI_OEM */ -#define FF_LFN_UNICODE 0 -#endif -/* This option switches the character encoding on the API when LFN is enabled. -/ -/ 0: ANSI/OEM in current CP (TCHAR = char) -/ 1: Unicode in UTF-16 (TCHAR = WCHAR) -/ 2: Unicode in UTF-8 (TCHAR = char) -/ -/ Also behavior of string I/O functions will be affected by this option. -/ When LFN is not enabled, this option has no effect. */ - - -#define FF_LFN_BUF 255 -#define FF_SFN_BUF 12 -/* This set of options defines size of file name members in the FILINFO structure -/ which is used to read out directory items. These values should be suffcient for -/ the file names to read. The maximum possible length of the read file name depends -/ on character encoding. When LFN is not enabled, these options have no effect. */ - - -#define FF_STRF_ENCODE 3 -/* When FF_LFN_UNICODE >= 1 with LFN enabled, string I/O functions, f_gets(), -/ f_putc(), f_puts and f_printf() convert the character encoding in it. -/ This option selects assumption of character encoding ON THE FILE to be -/ read/written via those functions. -/ -/ 0: ANSI/OEM in current CP -/ 1: Unicode in UTF-16LE -/ 2: Unicode in UTF-16BE -/ 3: Unicode in UTF-8 -*/ - - -#define FF_FS_RPATH 0 -/* This option configures support for relative path. -/ -/ 0: Disable relative path and remove related functions. -/ 1: Enable relative path. f_chdir() and f_chdrive() are available. -/ 2: f_getcwd() function is available in addition to 1. -*/ - - -/*---------------------------------------------------------------------------/ -/ Drive/Volume Configurations -/---------------------------------------------------------------------------*/ - -#define FF_VOLUMES 2 -/* Number of volumes (logical drives) to be used. (1-10) */ - - -#define FF_STR_VOLUME_ID 0 -#define FF_VOLUME_STRS "RAM","NAND","CF","SD","SD2","USB","USB2","USB3" -/* FF_STR_VOLUME_ID switches string support for volume ID. -/ When FF_STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive -/ number in the path name. FF_VOLUME_STRS defines the drive ID strings for each -/ logical drives. Number of items must be equal to FF_VOLUMES. Valid characters for -/ the drive ID strings are: A-Z and 0-9. */ - - -#define FF_MULTI_PARTITION 1 -/* This option switches support for multiple volumes on the physical drive. -/ By default (0), each logical drive number is bound to the same physical drive -/ number and only an FAT volume found on the physical drive will be mounted. -/ When this function is enabled (1), each logical drive number can be bound to -/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk() -/ funciton will be available. */ - -/* SD card sector size */ -#define FF_SS_SDCARD 512 -/* wear_levelling library sector size */ -#define FF_SS_WL CONFIG_WL_SECTOR_SIZE - -#define FF_MIN_SS MIN(FF_SS_SDCARD, FF_SS_WL) -#define FF_MAX_SS MAX(FF_SS_SDCARD, FF_SS_WL) -/* This set of options configures the range of sector size to be supported. (512, -/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and -/ harddisk. But a larger value may be required for on-board flash memory and some -/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured -/ for variable sector size mode and disk_ioctl() function needs to implement -/ GET_SECTOR_SIZE command. */ - - -#define FF_USE_TRIM 0 -/* This option switches support for ATA-TRIM. (0:Disable or 1:Enable) -/ To enable Trim function, also CTRL_TRIM command should be implemented to the -/ disk_ioctl() function. */ - - -#define FF_FS_NOFSINFO 0 -/* If you need to know correct free space on the FAT32 volume, set bit 0 of this -/ option, and f_getfree() function at first time after volume mount will force -/ a full FAT scan. Bit 1 controls the use of last allocated cluster number. -/ -/ bit0=0: Use free cluster count in the FSINFO if available. -/ bit0=1: Do not trust free cluster count in the FSINFO. -/ bit1=0: Use last allocated cluster number in the FSINFO if available. -/ bit1=1: Do not trust last allocated cluster number in the FSINFO. -*/ - - - -/*---------------------------------------------------------------------------/ -/ System Configurations -/---------------------------------------------------------------------------*/ - -#define FF_FS_TINY (!CONFIG_FATFS_PER_FILE_CACHE) -/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny) -/ At the tiny configuration, size of file object (FIL) is shrinked FF_MAX_SS bytes. -/ Instead of private sector buffer eliminated from the file object, common sector -/ buffer in the filesystem object (FATFS) is used for the file data transfer. */ - - -#define FF_FS_EXFAT 0 -/* This option switches support for exFAT filesystem. (0:Disable or 1:Enable) -/ When enable exFAT, also LFN needs to be enabled. -/ Note that enabling exFAT discards ANSI C (C89) compatibility. */ - - -#define FF_FS_NORTC 0 -#define FF_NORTC_MON 1 -#define FF_NORTC_MDAY 1 -#define FF_NORTC_YEAR 2017 -/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have -/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable -/ the timestamp function. All objects modified by FatFs will have a fixed timestamp -/ defined by FF_NORTC_MON, FF_NORTC_MDAY and FF_NORTC_YEAR in local time. -/ To enable timestamp function (FF_FS_NORTC = 0), get_fattime() function need to be -/ added to the project to read current time form real-time clock. FF_NORTC_MON, -/ FF_NORTC_MDAY and FF_NORTC_YEAR have no effect. -/ These options have no effect at read-only configuration (FF_FS_READONLY = 1). */ - - -#define FF_FS_LOCK CONFIG_FATFS_FS_LOCK -/* The option FF_FS_LOCK switches file lock function to control duplicated file open -/ and illegal operation to open objects. This option must be 0 when FF_FS_READONLY -/ is 1. -/ -/ 0: Disable file lock function. To avoid volume corruption, application program -/ should avoid illegal open, remove and rename to the open objects. -/ >0: Enable file lock function. The value defines how many files/sub-directories -/ can be opened simultaneously under file lock control. Note that the file -/ lock control is independent of re-entrancy. */ - - -#define FF_FS_REENTRANT 1 -#define FF_FS_TIMEOUT (CONFIG_FATFS_TIMEOUT_MS / portTICK_PERIOD_MS) -#define FF_SYNC_t SemaphoreHandle_t -/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs -/ module itself. Note that regardless of this option, file access to different -/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs() -/ and f_fdisk() function, are always not re-entrant. Only file/directory access -/ to the same volume is under control of this function. -/ -/ 0: Disable re-entrancy. FF_FS_TIMEOUT and FF_SYNC_t have no effect. -/ 1: Enable re-entrancy. Also user provided synchronization handlers, -/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() -/ function, must be added to the project. Samples are available in -/ option/syscall.c. -/ -/ The FF_FS_TIMEOUT defines timeout period in unit of time tick. -/ The FF_SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*, -/ SemaphoreHandle_t and etc. A header file for O/S definitions needs to be -/ included somewhere in the scope of ff.h. */ - -#include "freertos/FreeRTOS.h" -#include "freertos/semphr.h" - -/*--- End of configuration options ---*/ +#include +#include "sdkconfig.h" +/*---------------------------------------------------------------------------/ +/ FatFs - Configuration file +/---------------------------------------------------------------------------*/ + +#define FFCONF_DEF 89352 /* Revision ID */ + +/*---------------------------------------------------------------------------/ +/ Function Configurations +/---------------------------------------------------------------------------*/ + +#define FF_FS_READONLY 0 +/* This option switches read-only configuration. (0:Read/Write or 1:Read-only) +/ Read-only configuration removes writing API functions, f_write(), f_sync(), +/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree() +/ and optional writing functions as well. */ + + +#define FF_FS_MINIMIZE 0 +/* This option defines minimization level to remove some basic API functions. +/ +/ 0: Basic functions are fully enabled. +/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename() +/ are removed. +/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1. +/ 3: f_lseek() function is removed in addition to 2. */ + + +#define FF_USE_STRFUNC 0 +/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf(). +/ +/ 0: Disable string functions. +/ 1: Enable without LF-CRLF conversion. +/ 2: Enable with LF-CRLF conversion. */ + + +#define FF_USE_FIND 0 +/* This option switches filtered directory read functions, f_findfirst() and +/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */ + + +#define FF_USE_MKFS 1 +/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */ + + +#define FF_USE_FASTSEEK 0 +/* This option switches fast seek function. (0:Disable or 1:Enable) */ + + +#define FF_USE_EXPAND 0 +/* This option switches f_expand function. (0:Disable or 1:Enable) */ + + +#define FF_USE_CHMOD 0 +/* This option switches attribute manipulation functions, f_chmod() and f_utime(). +/ (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */ + + +#define FF_USE_LABEL 0 +/* This option switches volume label functions, f_getlabel() and f_setlabel(). +/ (0:Disable or 1:Enable) */ + + +#define FF_USE_FORWARD 0 +/* This option switches f_forward() function. (0:Disable or 1:Enable) */ + + +/*---------------------------------------------------------------------------/ +/ Locale and Namespace Configurations +/---------------------------------------------------------------------------*/ + +#define FF_CODE_PAGE CONFIG_FATFS_CODEPAGE +/* This option specifies the OEM code page to be used on the target system. +/ Incorrect code page setting can cause a file open failure. +/ +/ 437 - U.S. +/ 720 - Arabic +/ 737 - Greek +/ 771 - KBL +/ 775 - Baltic +/ 850 - Latin 1 +/ 852 - Latin 2 +/ 855 - Cyrillic +/ 857 - Turkish +/ 860 - Portuguese +/ 861 - Icelandic +/ 862 - Hebrew +/ 863 - Canadian French +/ 864 - Arabic +/ 865 - Nordic +/ 866 - Russian +/ 869 - Greek 2 +/ 932 - Japanese (DBCS) +/ 936 - Simplified Chinese (DBCS) +/ 949 - Korean (DBCS) +/ 950 - Traditional Chinese (DBCS) +/ 0 - Include all code pages above and configured by f_setcp() +*/ + + +#if defined(CONFIG_FATFS_LFN_STACK) +#define FF_USE_LFN 2 +#elif defined(CONFIG_FATFS_LFN_HEAP) +#define FF_USE_LFN 3 +#else /* CONFIG_FATFS_LFN_NONE */ +#define FF_USE_LFN 0 +#endif + +#ifdef CONFIG_FATFS_MAX_LFN +#define FF_MAX_LFN CONFIG_FATFS_MAX_LFN +#endif + +/* The FF_USE_LFN switches the support for LFN (long file name). +/ +/ 0: Disable LFN. FF_MAX_LFN has no effect. +/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe. +/ 2: Enable LFN with dynamic working buffer on the STACK. +/ 3: Enable LFN with dynamic working buffer on the HEAP. +/ +/ To enable the LFN, ffunicode.c needs to be added to the project. The LFN function +/ requiers certain internal working buffer occupies (FF_MAX_LFN + 1) * 2 bytes and +/ additional (FF_MAX_LFN + 44) / 15 * 32 bytes when exFAT is enabled. +/ The FF_MAX_LFN defines size of the working buffer in UTF-16 code unit and it can +/ be in range of 12 to 255. It is recommended to be set 255 to fully support LFN +/ specification. +/ When use stack for the working buffer, take care on stack overflow. When use heap +/ memory for the working buffer, memory management functions, ff_memalloc() and +/ ff_memfree() in ffsystem.c, need to be added to the project. */ + + +#ifdef CONFIG_FATFS_API_ENCODING_UTF_8 +#define FF_LFN_UNICODE 2 +#elif defined(CONFIG_FATFS_API_ENCODING_UTF_16) +#define FF_LFN_UNICODE 1 +#else /* CONFIG_FATFS_API_ENCODING_ANSI_OEM */ +#define FF_LFN_UNICODE 0 +#endif +/* This option switches the character encoding on the API when LFN is enabled. +/ +/ 0: ANSI/OEM in current CP (TCHAR = char) +/ 1: Unicode in UTF-16 (TCHAR = WCHAR) +/ 2: Unicode in UTF-8 (TCHAR = char) +/ +/ Also behavior of string I/O functions will be affected by this option. +/ When LFN is not enabled, this option has no effect. */ + + +#define FF_LFN_BUF 255 +#define FF_SFN_BUF 12 +/* This set of options defines size of file name members in the FILINFO structure +/ which is used to read out directory items. These values should be suffcient for +/ the file names to read. The maximum possible length of the read file name depends +/ on character encoding. When LFN is not enabled, these options have no effect. */ + + +#define FF_STRF_ENCODE 3 +/* When FF_LFN_UNICODE >= 1 with LFN enabled, string I/O functions, f_gets(), +/ f_putc(), f_puts and f_printf() convert the character encoding in it. +/ This option selects assumption of character encoding ON THE FILE to be +/ read/written via those functions. +/ +/ 0: ANSI/OEM in current CP +/ 1: Unicode in UTF-16LE +/ 2: Unicode in UTF-16BE +/ 3: Unicode in UTF-8 +*/ + + +#define FF_FS_RPATH 0 +/* This option configures support for relative path. +/ +/ 0: Disable relative path and remove related functions. +/ 1: Enable relative path. f_chdir() and f_chdrive() are available. +/ 2: f_getcwd() function is available in addition to 1. +*/ + + +/*---------------------------------------------------------------------------/ +/ Drive/Volume Configurations +/---------------------------------------------------------------------------*/ + +#define FF_VOLUMES 2 +/* Number of volumes (logical drives) to be used. (1-10) */ + + +#define FF_STR_VOLUME_ID 0 +#define FF_VOLUME_STRS "RAM","NAND","CF","SD","SD2","USB","USB2","USB3" +/* FF_STR_VOLUME_ID switches string support for volume ID. +/ When FF_STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive +/ number in the path name. FF_VOLUME_STRS defines the drive ID strings for each +/ logical drives. Number of items must be equal to FF_VOLUMES. Valid characters for +/ the drive ID strings are: A-Z and 0-9. */ + + +#define FF_MULTI_PARTITION 1 +/* This option switches support for multiple volumes on the physical drive. +/ By default (0), each logical drive number is bound to the same physical drive +/ number and only an FAT volume found on the physical drive will be mounted. +/ When this function is enabled (1), each logical drive number can be bound to +/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk() +/ funciton will be available. */ + +/* SD card sector size */ +#define FF_SS_SDCARD 512 +/* wear_levelling library sector size */ +#define FF_SS_WL CONFIG_WL_SECTOR_SIZE + +#define FF_MIN_SS MIN(FF_SS_SDCARD, FF_SS_WL) +#define FF_MAX_SS MAX(FF_SS_SDCARD, FF_SS_WL) +/* This set of options configures the range of sector size to be supported. (512, +/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and +/ harddisk. But a larger value may be required for on-board flash memory and some +/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured +/ for variable sector size mode and disk_ioctl() function needs to implement +/ GET_SECTOR_SIZE command. */ + + +#define FF_USE_TRIM 0 +/* This option switches support for ATA-TRIM. (0:Disable or 1:Enable) +/ To enable Trim function, also CTRL_TRIM command should be implemented to the +/ disk_ioctl() function. */ + + +#define FF_FS_NOFSINFO 0 +/* If you need to know correct free space on the FAT32 volume, set bit 0 of this +/ option, and f_getfree() function at first time after volume mount will force +/ a full FAT scan. Bit 1 controls the use of last allocated cluster number. +/ +/ bit0=0: Use free cluster count in the FSINFO if available. +/ bit0=1: Do not trust free cluster count in the FSINFO. +/ bit1=0: Use last allocated cluster number in the FSINFO if available. +/ bit1=1: Do not trust last allocated cluster number in the FSINFO. +*/ + + + +/*---------------------------------------------------------------------------/ +/ System Configurations +/---------------------------------------------------------------------------*/ + +#define FF_FS_TINY (!CONFIG_FATFS_PER_FILE_CACHE) +/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny) +/ At the tiny configuration, size of file object (FIL) is shrinked FF_MAX_SS bytes. +/ Instead of private sector buffer eliminated from the file object, common sector +/ buffer in the filesystem object (FATFS) is used for the file data transfer. */ + + +#define FF_FS_EXFAT 0 +/* This option switches support for exFAT filesystem. (0:Disable or 1:Enable) +/ When enable exFAT, also LFN needs to be enabled. +/ Note that enabling exFAT discards ANSI C (C89) compatibility. */ + + +#define FF_FS_NORTC 0 +#define FF_NORTC_MON 1 +#define FF_NORTC_MDAY 1 +#define FF_NORTC_YEAR 2017 +/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have +/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable +/ the timestamp function. All objects modified by FatFs will have a fixed timestamp +/ defined by FF_NORTC_MON, FF_NORTC_MDAY and FF_NORTC_YEAR in local time. +/ To enable timestamp function (FF_FS_NORTC = 0), get_fattime() function need to be +/ added to the project to read current time form real-time clock. FF_NORTC_MON, +/ FF_NORTC_MDAY and FF_NORTC_YEAR have no effect. +/ These options have no effect at read-only configuration (FF_FS_READONLY = 1). */ + + +#define FF_FS_LOCK CONFIG_FATFS_FS_LOCK +/* The option FF_FS_LOCK switches file lock function to control duplicated file open +/ and illegal operation to open objects. This option must be 0 when FF_FS_READONLY +/ is 1. +/ +/ 0: Disable file lock function. To avoid volume corruption, application program +/ should avoid illegal open, remove and rename to the open objects. +/ >0: Enable file lock function. The value defines how many files/sub-directories +/ can be opened simultaneously under file lock control. Note that the file +/ lock control is independent of re-entrancy. */ + + +#define FF_FS_REENTRANT 1 +#define FF_FS_TIMEOUT (CONFIG_FATFS_TIMEOUT_MS / portTICK_PERIOD_MS) +#define FF_SYNC_t SemaphoreHandle_t +/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs +/ module itself. Note that regardless of this option, file access to different +/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs() +/ and f_fdisk() function, are always not re-entrant. Only file/directory access +/ to the same volume is under control of this function. +/ +/ 0: Disable re-entrancy. FF_FS_TIMEOUT and FF_SYNC_t have no effect. +/ 1: Enable re-entrancy. Also user provided synchronization handlers, +/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() +/ function, must be added to the project. Samples are available in +/ option/syscall.c. +/ +/ The FF_FS_TIMEOUT defines timeout period in unit of time tick. +/ The FF_SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*, +/ SemaphoreHandle_t and etc. A header file for O/S definitions needs to be +/ included somewhere in the scope of ff.h. */ + +#include "freertos/FreeRTOS.h" +#include "freertos/semphr.h" + +/*--- End of configuration options ---*/ diff --git a/tools/sdk/include/fatfs/integer.h b/tools/sdk/include/fatfs/integer.h index 850dbf14..4fcf5c44 100644 --- a/tools/sdk/include/fatfs/integer.h +++ b/tools/sdk/include/fatfs/integer.h @@ -1,38 +1,38 @@ -/*-------------------------------------------*/ -/* Integer type definitions for FatFs module */ -/*-------------------------------------------*/ - -#ifndef FF_INTEGER -#define FF_INTEGER - -#ifdef _WIN32 /* FatFs development platform */ - -#include -#include -typedef unsigned __int64 QWORD; - - -#else /* Embedded platform */ - -/* These types MUST be 16-bit or 32-bit */ -typedef int INT; -typedef unsigned int UINT; - -/* This type MUST be 8-bit */ -typedef unsigned char BYTE; - -/* These types MUST be 16-bit */ -typedef short SHORT; -typedef unsigned short WORD; -typedef unsigned short WCHAR; - -/* These types MUST be 32-bit */ -typedef long LONG; -typedef unsigned long DWORD; - -/* This type MUST be 64-bit (Remove this for ANSI C (C89) compatibility) */ -typedef unsigned long long QWORD; - -#endif - -#endif +/*-------------------------------------------*/ +/* Integer type definitions for FatFs module */ +/*-------------------------------------------*/ + +#ifndef FF_INTEGER +#define FF_INTEGER + +#ifdef _WIN32 /* FatFs development platform */ + +#include +#include +typedef unsigned __int64 QWORD; + + +#else /* Embedded platform */ + +/* These types MUST be 16-bit or 32-bit */ +typedef int INT; +typedef unsigned int UINT; + +/* This type MUST be 8-bit */ +typedef unsigned char BYTE; + +/* These types MUST be 16-bit */ +typedef short SHORT; +typedef unsigned short WORD; +typedef unsigned short WCHAR; + +/* These types MUST be 32-bit */ +typedef long LONG; +typedef unsigned long DWORD; + +/* This type MUST be 64-bit (Remove this for ANSI C (C89) compatibility) */ +typedef unsigned long long QWORD; + +#endif + +#endif diff --git a/tools/sdk/include/freertos/freertos/FreeRTOS.h b/tools/sdk/include/freertos/freertos/FreeRTOS.h index 1bc93175..486d9c32 100644 --- a/tools/sdk/include/freertos/freertos/FreeRTOS.h +++ b/tools/sdk/include/freertos/freertos/FreeRTOS.h @@ -740,6 +740,10 @@ extern "C" { #define configUSE_STATS_FORMATTING_FUNCTIONS 0 #endif +#ifndef configTASKLIST_INCLUDE_COREID + #define configTASKLIST_INCLUDE_COREID 0 +#endif + #ifndef portASSERT_IF_INTERRUPT_PRIORITY_INVALID #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() #endif diff --git a/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h b/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h index c52bc927..aa33917e 100644 --- a/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h +++ b/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h @@ -159,9 +159,8 @@ int xt_clock_freq(void) __attribute__((deprecated)); *----------------------------------------------------------*/ #define configUSE_PREEMPTION 1 -#define configUSE_IDLE_HOOK ( CONFIG_FREERTOS_LEGACY_IDLE_HOOK ) - -#define configUSE_TICK_HOOK ( CONFIG_FREERTOS_LEGACY_TICK_HOOK ) +#define configUSE_IDLE_HOOK 1 +#define configUSE_TICK_HOOK 1 #define configTICK_RATE_HZ ( CONFIG_FREERTOS_HZ ) @@ -211,6 +210,10 @@ int xt_clock_freq(void) __attribute__((deprecated)); #define configUSE_STATS_FORMATTING_FUNCTIONS 1 /* Used by vTaskList() */ #endif +#ifdef CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID +#define configTASKLIST_INCLUDE_COREID 1 +#endif + #ifdef CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS #define configGENERATE_RUN_TIME_STATS 1 /* Used by vTaskGetRunTimeStats() */ #endif diff --git a/tools/sdk/include/freertos/freertos/portmacro.h b/tools/sdk/include/freertos/freertos/portmacro.h index 6b98b826..adeb3bb0 100644 --- a/tools/sdk/include/freertos/freertos/portmacro.h +++ b/tools/sdk/include/freertos/freertos/portmacro.h @@ -258,8 +258,11 @@ static inline unsigned portENTER_CRITICAL_NESTED() { //Because the ROM routines don't necessarily handle a stack in external RAM correctly, we force //the stack memory to always be internal. -#define pvPortMallocTcbMem(size) heap_caps_malloc(size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT) -#define pvPortMallocStackMem(size) heap_caps_malloc(size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT) +#define portTcbMemoryCaps (MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT) +#define portStackMemoryCaps (MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT) + +#define pvPortMallocTcbMem(size) heap_caps_malloc(size, portTcbMemoryCaps) +#define pvPortMallocStackMem(size) heap_caps_malloc(size, portStackMemoryCaps) //xTaskCreateStatic uses these functions to check incoming memory. #define portVALID_TCB_MEM(ptr) (esp_ptr_internal(ptr) && esp_ptr_byte_accessible(ptr)) @@ -365,10 +368,15 @@ typedef struct { #endif extern void esp_vApplicationIdleHook( void ); -extern void esp_vApplicationWaitiHook( void ); +extern void esp_vApplicationTickHook( void ); + +#ifndef CONFIG_FREERTOS_LEGACY_HOOKS +#define vApplicationIdleHook esp_vApplicationIdleHook +#define vApplicationTickHook esp_vApplicationTickHook +#endif /* !CONFIG_FREERTOS_LEGACY_HOOKS */ void _xt_coproc_release(volatile void * coproc_sa_base); -bool vApplicationSleep( TickType_t xExpectedIdleTime ); +void vApplicationSleep( TickType_t xExpectedIdleTime ); #define portSUPPRESS_TICKS_AND_SLEEP( idleTime ) vApplicationSleep( idleTime ) diff --git a/tools/sdk/include/freertos/freertos/task.h b/tools/sdk/include/freertos/freertos/task.h index ab605bb3..31df0bdd 100644 --- a/tools/sdk/include/freertos/freertos/task.h +++ b/tools/sdk/include/freertos/freertos/task.h @@ -181,6 +181,9 @@ typedef struct xTASK_STATUS uint32_t ulRunTimeCounter; /*!< The total run time allocated to the task so far, as defined by the run time stats clock. See http://www.freertos.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h. */ StackType_t *pxStackBase; /*!< Points to the lowest address of the task's stack area. */ uint32_t usStackHighWaterMark; /*!< The minimum amount of stack space that has remained for the task since the task was created. The closer this value is to zero the closer the task has come to overflowing its stack. */ +#if configTASKLIST_INCLUDE_COREID + BaseType_t xCoreID; /*!< Core this task is pinned to. This field is present if CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID is set. */ +#endif } TaskStatus_t; /** diff --git a/tools/sdk/include/heap/esp_heap_caps_init.h b/tools/sdk/include/heap/esp_heap_caps_init.h index 3cf23ff7..3ae6b8e4 100644 --- a/tools/sdk/include/heap/esp_heap_caps_init.h +++ b/tools/sdk/include/heap/esp_heap_caps_init.h @@ -81,6 +81,7 @@ esp_err_t heap_caps_add_region(intptr_t start, intptr_t end); * - ESP_OK on success * - ESP_ERR_INVALID_ARG if a parameter is invalid * - ESP_ERR_NO_MEM if no memory to register new heap. + * - ESP_ERR_INVALID_SIZE if the memory region is too small to fit a heap * - ESP_FAIL if region overlaps the start and/or end of an existing region */ esp_err_t heap_caps_add_region_with_caps(const uint32_t caps[], intptr_t start, intptr_t end); diff --git a/tools/sdk/include/heap/esp_heap_trace.h b/tools/sdk/include/heap/esp_heap_trace.h index 08b8caa2..5573d5e5 100644 --- a/tools/sdk/include/heap/esp_heap_trace.h +++ b/tools/sdk/include/heap/esp_heap_trace.h @@ -38,7 +38,7 @@ typedef enum { * @brief Trace record data type. Stores information about an allocated region of memory. */ typedef struct { - uint32_t ccount; ///< CCOUNT of the CPU when the allocation was made. LSB (bit value 1) is the CPU number (0 or 1). */ + uint32_t ccount; ///< CCOUNT of the CPU when the allocation was made. LSB (bit value 1) is the CPU number (0 or 1). void *address; ///< Address which was allocated size_t size; ///< Size of the allocation void *alloced_by[CONFIG_HEAP_TRACING_STACK_DEPTH]; ///< Call stack of the caller which allocated the memory. diff --git a/tools/sdk/include/http_server/http_server.h b/tools/sdk/include/http_server/http_server.h new file mode 100644 index 00000000..cdbd039c --- /dev/null +++ b/tools/sdk/include/http_server/http_server.h @@ -0,0 +1,924 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _HTTP_SERVER_H_ +#define _HTTP_SERVER_H_ + +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define HTTPD_DEFAULT_CONFIG() { \ + .task_priority = tskIDLE_PRIORITY+5, \ + .stack_size = 4096, \ + .server_port = 80, \ + .ctrl_port = 32768, \ + .max_open_sockets = 7, \ + .max_uri_handlers = 8, \ + .max_resp_headers = 8, \ + .backlog_conn = 5, \ + .lru_purge_enable = false, \ + .recv_wait_timeout = 5, \ + .send_wait_timeout = 5, \ +}; + +#define ESP_ERR_HTTPD_BASE (0x8000) /*!< Starting number of HTTPD error codes */ +#define ESP_ERR_HTTPD_HANDLERS_FULL (ESP_ERR_HTTPD_BASE + 1) /*!< All slots for registering URI handlers have been consumed */ +#define ESP_ERR_HTTPD_HANDLER_EXISTS (ESP_ERR_HTTPD_BASE + 2) /*!< URI handler with same method and target URI already registered */ +#define ESP_ERR_HTTPD_INVALID_REQ (ESP_ERR_HTTPD_BASE + 3) /*!< Invalid request pointer */ +#define ESP_ERR_HTTPD_RESULT_TRUNC (ESP_ERR_HTTPD_BASE + 4) /*!< Result string truncated */ +#define ESP_ERR_HTTPD_RESP_HDR (ESP_ERR_HTTPD_BASE + 5) /*!< Response header field larger than supported */ +#define ESP_ERR_HTTPD_RESP_SEND (ESP_ERR_HTTPD_BASE + 6) /*!< Error occured while sending response packet */ +#define ESP_ERR_HTTPD_ALLOC_MEM (ESP_ERR_HTTPD_BASE + 7) /*!< Failed to dynamically allocate memory for resource */ +#define ESP_ERR_HTTPD_TASK (ESP_ERR_HTTPD_BASE + 8) /*!< Failed to launch server task/thread */ + +/* ************** Group: Initialization ************** */ +/** @name Initialization + * APIs related to the Initialization of the web server + * @{ + */ + +/** + * @brief HTTP Server Instance Handle + * + * Every instance of the server will have a unique handle. + */ +typedef void* httpd_handle_t; + +/** + * @brief HTTP Method Type wrapper over "enum http_method" + * available in "http_parser" library + */ +typedef enum http_method httpd_method_t; + +/** + * @brief HTTP Server Configuration Structure + * + * @note Use HTTPD_DEFAULT_CONFIG() to initialize the configuration + * to a default value and then modify only those fields that are + * specifically determined by the use case. + */ +typedef struct httpd_config { + unsigned task_priority; /*!< Priority of FreeRTOS task which runs the server */ + size_t stack_size; /*!< The maximum stack size allowed for the server task */ + + /** + * TCP Port number for receiving and transmitting HTTP traffic + */ + uint16_t server_port; + + /** + * UDP Port number for asynchronously exchanging control signals + * between various components of the server + */ + uint16_t ctrl_port; + + uint16_t max_open_sockets; /*!< Max number of sockets/clients connected at any time*/ + uint16_t max_uri_handlers; /*!< Maximum allowed uri handlers */ + uint16_t max_resp_headers; /*!< Maximum allowed additional headers in HTTP response */ + uint16_t backlog_conn; /*!< Number of backlog connections */ + bool lru_purge_enable; /*!< Purge "Least Recently Used" connection */ + uint16_t recv_wait_timeout; /*!< Timeout for recv function (in seconds)*/ + uint16_t send_wait_timeout; /*!< Timeout for send function (in seconds)*/ +} httpd_config_t; + +/** + * @brief Starts the web server + * + * Create an instance of HTTP server and allocate memory/resources for it + * depending upon the specified configuration. + * + * Example usage: + * @code{c} + * + * //Function for starting the webserver + * httpd_handle_t start_webserver(void) + * { + * // Generate default configuration + * httpd_config_t config = HTTPD_DEFAULT_CONFIG(); + * + * // Empty handle to http_server + * httpd_handle_t server = NULL; + * + * // Start the httpd server + * if (httpd_start(&server, &config) == ESP_OK) { + * // Register URI handlers + * httpd_register_uri_handler(server, &uri_get); + * httpd_register_uri_handler(server, &uri_post); + * } + * // If server failed to start, handle will be NULL + * return server; + * } + * + * @endcode + * + * @param[in] config : Configuration for new instance of the server + * @param[out] handle : Handle to newly created instance of the server. NULL on error + * @return + * - ESP_OK : Instance created successfully + * - ESP_ERR_INVALID_ARG : Null argument(s) + * - ESP_ERR_HTTPD_ALLOC_MEM : Failed to allocate memory for instance + * - ESP_ERR_HTTPD_TASK : Failed to launch server task + */ +esp_err_t httpd_start(httpd_handle_t *handle, const httpd_config_t *config); + +/** + * @brief Stops the web server + * + * Deallocates memory/resources used by an HTTP server instance and + * deletes it. Once deleted the handle can no longer be used for accessing + * the instance. + * + * Example usage: + * @code{c} + * + * // Function for stopping the webserver + * void stop_webserver(httpd_handle_t server) + * { + * // Ensure handle is non NULL + * if (server != NULL) { + * // Stop the httpd server + * httpd_stop(server); + * } + * } + * + * @endcode + * + * @param[in] handle Handle to server returned by httpd_start + * @return + * - ESP_OK : Server stopped successfully + * - ESP_ERR_INVALID_ARG : Handle argument is Null + */ +esp_err_t httpd_stop(httpd_handle_t handle); + +/** End of Group Initialization + * @} + */ + +/* ************** Group: URI Handlers ************** */ +/** @name URI Handlers + * APIs related to the URI handlers + * @{ + */ + +/** + * @brief Function type for freeing context data (if any) + */ +typedef void (*httpd_free_sess_ctx_fn_t)(void *sess_ctx); + +/* Max supported HTTP request header length */ +#define HTTPD_MAX_REQ_HDR_LEN CONFIG_HTTPD_MAX_REQ_HDR_LEN + +/* Max supported HTTP request URI length */ +#define HTTPD_MAX_URI_LEN CONFIG_HTTPD_MAX_URI_LEN + +/** + * @brief HTTP Request Data Structure + */ +typedef struct httpd_req { + httpd_handle_t handle; /*!< Handle to server instance */ + int method; /*!< The type of HTTP request, -1 if unsupported method */ + const char uri[HTTPD_MAX_URI_LEN + 1]; /*!< The URI of this request (1 byte extra for null termination) */ + size_t content_len; /*!< Length of the request body */ + void *aux; /*!< Internally used members */ + + /** + * User context pointer passed during URI registration. + */ + void *user_ctx; + + /** + * Session Context Pointer + * + * A session context. Contexts are maintained across 'sessions' for a + * given open TCP connection. One session could have multiple request + * responses. The web server will ensure that the context persists + * across all these request and responses. + * + * By default, this is NULL. URI Handlers can set this to any meaningful + * value. + * + * If the underlying socket gets closed, and this pointer is non-NULL, + * the web server will free up the context by calling free(), unless + * free_ctx function is set. + */ + void *sess_ctx; + + /** + * Pointer to free context hook + * + * Function to free session context + * + * If the web server's socket closes, it frees up the session context by + * calling free() on the sess_ctx member. If you wish to use a custom + * function for freeing the session context, please specify that here. + */ + httpd_free_sess_ctx_fn_t free_ctx; +} httpd_req_t; + +/** + * @brief Structure for URI handler + */ +typedef struct httpd_uri { + const char *uri; /*!< The URI to handle */ + httpd_method_t method; /*!< Method supported by the URI */ + + /** + * Handler to call for supported request method. This must + * return ESP_OK, or else the underlying socket will be closed. + */ + esp_err_t (*handler)(httpd_req_t *r); + + /** + * Pointer to user context data which will be available to handler + */ + void *user_ctx; +} httpd_uri_t; + +/** + * @brief Registers a URI handler + * + * @note URI handlers can be registered in real time as long as the + * server handle is valid. + * + * Example usage: + * @code{c} + * + * esp_err_t my_uri_handler(httpd_req_t* req) + * { + * // Recv , Process and Send + * .... + * .... + * .... + * + * // Fail condition + * if (....) { + * // Return fail to close session // + * return ESP_FAIL; + * } + * + * // On success + * return ESP_OK; + * } + * + * // URI handler structure + * httpd_uri_t my_uri { + * .uri = "/my_uri/path/xyz", + * .method = HTTPD_GET, + * .handler = my_uri_handler, + * .user_ctx = NULL + * }; + * + * // Register handler + * if (httpd_register_uri_handler(server_handle, &my_uri) != ESP_OK) { + * // If failed to register handler + * .... + * } + * + * @endcode + * + * @param[in] handle handle to HTTPD server instance + * @param[in] uri_handler pointer to handler that needs to be registered + * + * @return + * - ESP_OK : On successfully registering the handler + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_HANDLERS_FULL : If no slots left for new handler + * - ESP_ERR_HTTPD_HANDLER_EXISTS : If handler with same URI and + * method is already registered + */ +esp_err_t httpd_register_uri_handler(httpd_handle_t handle, + const httpd_uri_t *uri_handler); + +/** + * @brief Unregister a URI handler + * + * @param[in] handle handle to HTTPD server instance + * @param[in] uri URI string + * @param[in] method HTTP method + * + * @return + * - ESP_OK : On successfully deregistering the handler + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_NOT_FOUND : Handler with specified URI and method not found + */ +esp_err_t httpd_unregister_uri_handler(httpd_handle_t handle, + const char *uri, httpd_method_t method); + +/** + * @brief Unregister all URI handlers with the specified uri string + * + * @param[in] handle handle to HTTPD server instance + * @param[in] uri uri string specifying all handlers that need + * to be deregisterd + * + * @return + * - ESP_OK : On successfully deregistering all such handlers + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_NOT_FOUND : No handler registered with specified uri string + */ +esp_err_t httpd_unregister_uri(httpd_handle_t handle, const char* uri); + +/** End of URI Handlers + * @} + */ + +/* ************** Group: TX/RX ************** */ +/** @name TX / RX + * Prototype for HTTPDs low-level send/recv functions + * @{ + */ + +/** + * @brief Prototype for HTTPDs low-level send function + * @return + * - Bytes : The number of bytes sent successfully + * - -VE : In case of error + */ +typedef int (*httpd_send_func_t)(int sockfd, const char *buf, size_t buf_len, int flags); + +/** + * @brief Prototype for HTTPDs low-level recv function + * @return + * - Bytes : The number of bytes received successfully + * - -VE : In case of error + */ +typedef int (*httpd_recv_func_t)(int sockfd, char *buf, size_t buf_len, int flags); + +/** End of TX / RX + * @} + */ + +/* ************** Group: Request/Response ************** */ +/** @name Request / Response + * APIs related to the data send/receive by URI handlers. + * These APIs are supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * @{ + */ + +/** + * @brief Override web server's receive function + * + * This function overrides the web server's receive function. This same function is + * used to read and parse HTTP headers as well as body. + * + * @note This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * + * @param[in] r The request being responded to + * @param[in] recv_func The receive function to be set for this request + * + * @return + * - ESP_OK : On successfully registering override + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_set_recv_override(httpd_req_t *r, httpd_recv_func_t recv_func); + +/** + * @brief Override web server's send function + * + * This function overrides the web server's send function. This same function is + * used to send out any response to any HTTP request. + * + * @note This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * + * @param[in] r The request being responded to + * @param[in] send_func The send function to be set for this request + * + * @return + * - ESP_OK : On successfully registering override + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_set_send_override(httpd_req_t *r, httpd_send_func_t send_func); + +/** + * @brief Get the Socket Descriptor from the HTTP request + * + * This API will return the socket descriptor of the session for + * which URI handler was executed on reception of HTTP request. + * This is useful when user wants to call functions that require + * session socket fd, from within a URI handler, ie. : + * httpd_sess_get_ctx(), + * httpd_trigger_sess_close(), + * httpd_sess_update_timestamp(). + * + * @note This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * + * @param[in] r The request whose socket descriptor should be found + * + * @return + * - Socket descriptor : The socket descriptor for this request + * - -1 : Invalid/NULL request pointer + */ +int httpd_req_to_sockfd(httpd_req_t *r); + +/** + * @brief API to read content data from the HTTP request + * + * This API will read HTTP content data from the HTTP request into + * provided buffer. Use content_len provided in httpd_req_t structure + * to know the length of data to be fetched. If content_len is too + * large for the buffer then user may have to make multiple calls to + * this function, each time fetching 'buf_len' number of bytes, + * while the pointer to content data is incremented internally by + * the same number. + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - If an error is returned, the URI handler must further return an error. + * This will ensure that the erroneous socket is closed and cleaned up by + * the web server. + * - Presently Chunked Encoding is not supported + * + * @param[in] r The request being responded to + * @param[in] buf Pointer to a buffer that the data will be read into + * @param[in] buf_len Length of the buffer + * + * @return + * - Bytes : Number of bytes read into the buffer successfully + * - Zero : When no more data is left for read + * - -1 : On raw recv error / Null arguments / Request pointer is invalid + */ +int httpd_req_recv(httpd_req_t *r, char *buf, size_t buf_len); + +/** + * @brief Search for a field in request headers and + * return the string length of it's value + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - Once httpd_resp_send() API is called all request headers + * are purged, so request headers need be copied into separate + * buffers if they are required later. + * + * @param[in] r The request being responded to + * @param[in] field The header field to be searched in the request + * + * @return + * - Length : If field is found in the request URL + * - Zero : Field not found / Invalid request / Null arguments + */ +size_t httpd_req_get_hdr_value_len(httpd_req_t *r, const char *field); + +/** + * @brief Get the value string of a field from the request headers + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - Once httpd_resp_send() API is called all request headers + * are purged, so request headers need be copied into separate + * buffers if they are required later. + * - If output size is greater than input, then the value is truncated, + * accompanied by truncation error as return value. + * - Use httpd_req_get_hdr_value_len() to know the right buffer length + * + * @param[in] r The request being responded to + * @param[in] field The field to be searched in the header + * @param[out] val Pointer to the buffer into which the value will be copied if the field is found + * @param[in] val_size Size of the user buffer "val" + * + * @return + * - ESP_OK : Field found in the request header and value string copied + * - ESP_ERR_NOT_FOUND : Key not found + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid HTTP request pointer + * - ESP_ERR_HTTPD_RESULT_TRUNC : Value string truncated + */ +esp_err_t httpd_req_get_hdr_value_str(httpd_req_t *r, const char *field, char *val, size_t val_size); + +/** + * @brief Get Query string length from the request URL + * + * @note This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid + * + * @param[in] r The request being responded to + * + * @return + * - Length : Query is found in the request URL + * - Zero : Query not found / Null arguments / Invalid request + */ +size_t httpd_req_get_url_query_len(httpd_req_t *r); + +/** + * @brief Get Query string from the request URL + * + * @note + * - Presently, the user can fetch the full URL query string, but decoding + * will have to be performed by the user. Request headers can be read using + * httpd_req_get_hdr_value_str() to know the 'Content-Type' (eg. Content-Type: + * application/x-www-form-urlencoded) and then the appropriate decoding + * algorithm needs to be applied. + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid + * - If output size is greater than input, then the value is truncated, + * accompanied by truncation error as return value + * - Use httpd_req_get_url_query_len() to know the right buffer length + * + * @param[in] r The request being responded to + * @param[out] buf Pointer to the buffer into which the query string will be copied (if found) + * @param[in] buf_len Length of output buffer + * + * @return + * - ESP_OK : Query is found in the request URL and copied to buffer + * - ESP_ERR_NOT_FOUND : Query not found + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid HTTP request pointer + * - ESP_ERR_HTTPD_RESULT_TRUNC : Query string truncated + */ +esp_err_t httpd_req_get_url_query_str(httpd_req_t *r, char *buf, size_t buf_len); + +/** + * @brief Helper function to get a URL query tag from a query + * string of the type param1=val1¶m2=val2 + * + * @note + * - The components of URL query string (keys and values) are not URLdecoded. + * The user must check for 'Content-Type' field in the request headers and + * then depending upon the specified encoding (URLencoded or otherwise) apply + * the appropriate decoding algorithm. + * - If actual value size is greater than val_size, then the value is truncated, + * accompanied by truncation error as return value. + * + * @param[in] qry Pointer to query string + * @param[in] key The key to be searched in the query string + * @param[out] val Pointer to the buffer into which the value will be copied if the key is found + * @param[in] val_size Size of the user buffer "val" + * + * @return + * - ESP_OK : Key is found in the URL query string and copied to buffer + * - ESP_ERR_NOT_FOUND : Key not found + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_RESULT_TRUNC : Value string truncated + */ +esp_err_t httpd_query_key_value(const char *qry, const char *key, char *val, size_t val_size); + +/** + * @brief API to send a complete HTTP response. + * + * This API will send the data as an HTTP response to the request. + * This assumes that you have the entire response ready in a single + * buffer. If you wish to send response in incremental chunks use + * httpd_resp_send_chunk() instead. + * + * If no status code and content-type were set, by default this + * will send 200 OK status code and content type as text/html. + * You may call the following functions before this API to configure + * the response headers : + * httpd_resp_set_status() - for setting the HTTP status string, + * httpd_resp_set_type() - for setting the Content Type, + * httpd_resp_set_hdr() - for appending any additional field + * value entries in the response header + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - Once this API is called, the request has been responded to. + * - No additional data can then be sent for the request. + * - Once this API is called, all request headers are purged, so + * request headers need be copied into separate buffers if + * they are required later. + * + * @param[in] r The request being responded to + * @param[in] buf Buffer from where the content is to be fetched + * @param[in] buf_len Length of the buffer + * + * @return + * - ESP_OK : On successfully sending the response packet + * - ESP_ERR_INVALID_ARG : Null request pointer + * - ESP_ERR_HTTPD_RESP_HDR : Essential headers are too large for internal buffer + * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request + */ +esp_err_t httpd_resp_send(httpd_req_t *r, const char *buf, size_t buf_len); + +/** + * @brief API to send one HTTP chunk + * + * This API will send the data as an HTTP response to the + * request. This API will use chunked-encoding and send the response + * in the form of chunks. If you have the entire response contained in + * a single buffer, please use httpd_resp_send() instead. + * + * If no status code and content-type were set, by default this will + * send 200 OK status code and content type as text/html. You may + * call the following functions before this API to configure the + * response headers + * httpd_resp_set_status() - for setting the HTTP status string, + * httpd_resp_set_type() - for setting the Content Type, + * httpd_resp_set_hdr() - for appending any additional field + * value entries in the response header + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - When you are finished sending all your chunks, you must call + * this function with buf_len as 0. + * - Once this API is called, all request headers are purged, so + * request headers need be copied into separate buffers if they + * are required later. + * + * @param[in] r The request being responded to + * @param[in] buf Pointer to a buffer that stores the data + * @param[in] buf_len Length of the data from the buffer that should be sent out + * + * @return + * - ESP_OK : On successfully sending the response packet chunk + * - ESP_ERR_INVALID_ARG : Null request pointer + * - ESP_ERR_HTTPD_RESP_HDR : Essential headers are too large for internal buffer + * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_resp_send_chunk(httpd_req_t *r, const char *buf, size_t buf_len); + +/* Some commonly used status codes */ +#define HTTPD_200 "200 OK" /*!< HTTP Response 200 */ +#define HTTPD_204 "204 No Content" /*!< HTTP Response 204 */ +#define HTTPD_207 "207 Multi-Status" /*!< HTTP Response 207 */ +#define HTTPD_400 "400 Bad Request" /*!< HTTP Response 400 */ +#define HTTPD_404 "404 Not Found" /*!< HTTP Response 404 */ +#define HTTPD_500 "500 Internal Server Error" /*!< HTTP Response 500 */ + +/** + * @brief API to set the HTTP status code + * + * This API sets the status of the HTTP response to the value specified. + * By default, the '200 OK' response is sent as the response. + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - This API only sets the status to this value. The status isn't + * sent out until any of the send APIs is executed. + * - Make sure that the lifetime of the status string is valid till + * send function is called. + * + * @param[in] r The request being responded to + * @param[in] status The HTTP status code of this response + * + * @return + * - ESP_OK : On success + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_resp_set_status(httpd_req_t *r, const char *status); + +/* Some commonly used content types */ +#define HTTPD_TYPE_JSON "application/json" /*!< HTTP Content type JSON */ +#define HTTPD_TYPE_TEXT "text/html" /*!< HTTP Content type text/HTML */ +#define HTTPD_TYPE_OCTET "application/octet-stream" /*!< HTTP Content type octext-stream */ + +/** + * @brief API to set the HTTP content type + * + * This API sets the 'Content Type' field of the response. + * The default content type is 'text/html'. + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - This API only sets the content type to this value. The type + * isn't sent out until any of the send APIs is executed. + * - Make sure that the lifetime of the type string is valid till + * send function is called. + * + * @param[in] r The request being responded to + * @param[in] type The Content Type of the response + * + * @return + * - ESP_OK : On success + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_resp_set_type(httpd_req_t *r, const char *type); + +/** + * @brief API to append any additional headers + * + * This API sets any additional header fields that need to be sent in the response. + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - The header isn't sent out until any of the send APIs is executed. + * - The maximum allowed number of additional headers is limited to + * value of max_resp_headers in config structure. + * - Make sure that the lifetime of the field value strings are valid till + * send function is called. + * + * @param[in] r The request being responded to + * @param[in] field The field name of the HTTP header + * @param[in] value The value of this HTTP header + * + * @return + * - ESP_OK : On successfully appending new header + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_RESP_HDR : Total additional headers exceed max allowed + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_resp_set_hdr(httpd_req_t *r, const char *field, const char *value); + +/** + * @brief Helper function for HTTP 404 + * + * Send HTTP 404 message. If you wish to send additional data in the body of the + * response, please use the lower-level functions directly. + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - Once this API is called, all request headers are purged, so + * request headers need be copied into separate buffers if + * they are required later. + * + * @param[in] r The request being responded to + * + * @return + * - ESP_OK : On successfully sending the response packet + * - ESP_ERR_INVALID_ARG : Null arguments + * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send + * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer + */ +esp_err_t httpd_resp_send_404(httpd_req_t *r); + +/** + * @brief Raw HTTP send + * + * Call this API if you wish to construct your custom response packet. + * When using this, all essential header, eg. HTTP version, Status Code, + * Content Type and Length, Encoding, etc. will have to be constructed + * manually, and HTTP delimeters (CRLF) will need to be placed correctly + * for separating sub-sections of the HTTP response packet. + * + * If the send override function is set, this API will end up + * calling that function eventually to send data out. + * + * @note + * - This API is supposed to be called only from the context of + * a URI handler where httpd_req_t* request pointer is valid. + * - Unless the response has the correct HTTP structure (which the + * user must now ensure) it is not guaranteed that it will be + * recognized by the client. For most cases, you wouldn't have + * to call this API, but you would rather use either of : + * httpd_resp_send(), + * httpd_resp_send_chunk() + * + * @param[in] r The request being responded to + * @param[in] buf Buffer from where the fully constructed packet is to be read + * @param[in] buf_len Length of the buffer + * + * @return + * - Bytes : Number of bytes that were sent successfully + * - -1 : Error in raw send / Invalid request / Null arguments + */ +int httpd_send(httpd_req_t *r, const char *buf, size_t buf_len); + +/** End of Request / Response + * @} + */ + +/* ************** Group: Session ************** */ +/** @name Session + * Functions for controlling sessions and accessing context data + * @{ + */ + +/** + * @brief Get session context from socket descriptor + * + * Typically if a session context is created, it is available to URI handlers + * through the httpd_req_t structure. But, there are cases where the web + * server's send/receive functions may require the context (for example, for + * accessing keying information etc). Since the send/receive function only have + * the socket descriptor at their disposal, this API provides them with a way to + * retrieve the session context. + * + * @param[in] handle Handle to server returned by httpd_start + * @param[in] sockfd The socket descriptor for which the context should be extracted. + * + * @return + * - void* : Pointer to the context associated with this session + * - NULL : Empty context / Invalid handle / Invalid socket fd + */ +void *httpd_sess_get_ctx(httpd_handle_t handle, int sockfd); + +/** + * @brief Trigger an httpd session close externally + * + * @note Calling this API is only required in special circumstances wherein + * some application requires to close an httpd client session asynchronously. + * + * @param[in] handle Handle to server returned by httpd_start + * @param[in] sockfd The socket descriptor of the session to be closed + * + * @return + * - ESP_OK : On successfully initiating closure + * - ESP_FAIL : Failure to queue work + * - ESP_ERR_NOT_FOUND : Socket fd not found + * - ESP_ERR_INVALID_ARG : Null arguments + */ +esp_err_t httpd_trigger_sess_close(httpd_handle_t handle, int sockfd); + +/** + * @brief Update timestamp for a given socket + * + * Timestamps are internally associated with each session to monitor + * how recently a session exchanged traffic. When LRU purge is enabled, + * if a client is requesting for connection but maximum number of + * sockets/sessions is reached, then the session having the earliest + * timestamp is closed automatically. + * + * Updating the timestamp manually prevents the socket from being purged + * due to the Least Recently Used (LRU) logic, even though it might not + * have received traffic for some time. This is useful when all open + * sockets/session are frequently exchanging traffic but the user specifically + * wants one of the sessions to be kept open, irrespective of when it last + * exchanged a packet. + * + * @note Calling this API is only necessary if the LRU Purge Enable option + * is enabled. + * + * @param[in] handle Handle to server returned by httpd_start + * @param[in] sockfd The socket descriptor of the session for which timestamp + * is to be updated + * + * @return + * - ESP_OK : Socket found and timestamp updated + * - ESP_ERR_NOT_FOUND : Socket not found + * - ESP_ERR_INVALID_ARG : Null arguments + */ +esp_err_t httpd_sess_update_timestamp(httpd_handle_t handle, int sockfd); + +/** End of Session + * @} + */ + +/* ************** Group: Work Queue ************** */ +/** @name Work Queue + * APIs related to the HTTPD Work Queue + * @{ + */ + +/** + * @brief Prototype of the HTTPD work function + * Please refer to httpd_queue_work() for more details. + * @param[in] arg The arguments for this work function + */ +typedef void (*httpd_work_fn_t)(void *arg); + +/** + * @brief Queue execution of a function in HTTPD's context + * + * This API queues a work function for asynchronous execution + * + * @note Some protocols require that the web server generate some asynchronous data + * and send it to the persistently opened connection. This facility is for use + * by such protocols. + * + * @param[in] handle Handle to server returned by httpd_start + * @param[in] work Pointer to the function to be executed in the HTTPD's context + * @param[in] arg Pointer to the arguments that should be passed to this function + * + * @return + * - ESP_OK : On successfully queueing the work + * - ESP_FAIL : Failure in ctrl socket + * - ESP_ERR_INVALID_ARG : Null arguments + */ +esp_err_t httpd_queue_work(httpd_handle_t handle, httpd_work_fn_t work, void *arg); + +/** End of Group Work Queue + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* ! _HTTP_SERVER_H_ */ diff --git a/tools/sdk/include/lwip/arch/sys_arch.h b/tools/sdk/include/lwip/arch/sys_arch.h index bb7ea18a..b13d7d1f 100644 --- a/tools/sdk/include/lwip/arch/sys_arch.h +++ b/tools/sdk/include/lwip/arch/sys_arch.h @@ -1,52 +1,52 @@ -/* - * Copyright (c) 2001-2003 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY - * OF SUCH DAMAGE. - * - * This file is part of the lwIP TCP/IP stack. - * - * Author: Adam Dunkels - * - */ - -#ifndef __SYS_ARCH_H__ -#define __SYS_ARCH_H__ - -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "freertos/queue.h" -#include "freertos/semphr.h" +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ + +#ifndef __SYS_ARCH_H__ +#define __SYS_ARCH_H__ + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "freertos/semphr.h" #include "arch/vfs_lwip.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef xSemaphoreHandle sys_sem_t; -typedef xSemaphoreHandle sys_mutex_t; -typedef xTaskHandle sys_thread_t; + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef xSemaphoreHandle sys_sem_t; +typedef xSemaphoreHandle sys_mutex_t; +typedef xTaskHandle sys_thread_t; typedef struct sys_mbox_s { xQueueHandle os_mbox; @@ -54,28 +54,28 @@ typedef struct sys_mbox_s { uint8_t alive; }* sys_mbox_t; - -#define LWIP_COMPAT_MUTEX 0 - -#if !LWIP_COMPAT_MUTEX -#define sys_mutex_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) -#define sys_mutex_set_invalid( x ) ( ( *x ) = NULL ) -#endif - -#define sys_mbox_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) -#define sys_mbox_set_invalid( x ) ( ( *x ) = NULL ) -#define sys_sem_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) -#define sys_sem_set_invalid( x ) ( ( *x ) = NULL ) - +#define LWIP_COMPAT_MUTEX 0 + +#if !LWIP_COMPAT_MUTEX +#define sys_mutex_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) +#define sys_mutex_set_invalid( x ) ( ( *x ) = NULL ) +#endif + +#define sys_mbox_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) +#define sys_mbox_set_invalid( x ) ( ( *x ) = NULL ) + +#define sys_sem_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) +#define sys_sem_set_invalid( x ) ( ( *x ) = NULL ) + void sys_delay_ms(uint32_t ms); sys_sem_t* sys_thread_sem_init(void); void sys_thread_sem_deinit(void); -sys_sem_t* sys_thread_sem_get(void); - -#ifdef __cplusplus -} -#endif +sys_sem_t* sys_thread_sem_get(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __SYS_ARCH_H__ */ -#endif /* __SYS_ARCH_H__ */ - diff --git a/tools/sdk/include/lwip/arpa/inet.h b/tools/sdk/include/lwip/arpa/inet.h index 94c6c17e..90428f68 100644 --- a/tools/sdk/include/lwip/arpa/inet.h +++ b/tools/sdk/include/lwip/arpa/inet.h @@ -15,6 +15,6 @@ #ifndef INET_H_ #define INET_H_ -#include "lwip/inet.h" +#include "../../../lwip/src/include/lwip/inet.h" #endif /* INET_H_ */ diff --git a/tools/sdk/include/lwip/cc.h b/tools/sdk/include/lwip/cc.h new file mode 100644 index 00000000..cba0b365 --- /dev/null +++ b/tools/sdk/include/lwip/cc.h @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2001, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef __ARCH_CC_H__ +#define __ARCH_CC_H__ + +#include +#include +#include +#include + +#include "arch/sys_arch.h" + +#define BYTE_ORDER LITTLE_ENDIAN + +typedef uint8_t u8_t; +typedef int8_t s8_t; +typedef uint16_t u16_t; +typedef int16_t s16_t; +typedef uint32_t u32_t; +typedef int32_t s32_t; + +typedef unsigned long mem_ptr_t; +typedef int sys_prot_t; + +#define S16_F "d" +#define U16_F "d" +#define X16_F "x" + +#define S32_F "d" +#define U32_F "d" +#define X32_F "x" + +#define PACK_STRUCT_FIELD(x) x +#define PACK_STRUCT_STRUCT __attribute__((packed)) +#define PACK_STRUCT_BEGIN +#define PACK_STRUCT_END + +#include + +#define LWIP_PLATFORM_DIAG(x) do {printf x;} while(0) +// __assert_func is the assertion failure handler from newlib, defined in assert.h +#define LWIP_PLATFORM_ASSERT(message) __assert_func(__FILE__, __LINE__, __ASSERT_FUNC, message) + +#ifdef NDEBUG +#define LWIP_NOASSERT +#else // Assertions enabled + +// If assertions are on, the default LWIP_ERROR handler behaviour is to +// abort w/ an assertion failure. Don't do this, instead just print the error (if LWIP_DEBUG is set) +// and run the handler (same as the LWIP_ERROR behaviour if LWIP_NOASSERT is set). +#ifdef LWIP_DEBUG +#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \ + puts(message); handler;}} while(0) +#else +// If LWIP_DEBUG is not set, return the error silently (default LWIP behaviour, also.) +#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \ + handler;}} while(0) +#endif // LWIP_DEBUG + +#endif /* NDEBUG */ + + +#endif /* __ARCH_CC_H__ */ diff --git a/tools/sdk/include/lwip/lwip/lwip_debug.h b/tools/sdk/include/lwip/debug/lwip_debug.h similarity index 100% rename from tools/sdk/include/lwip/lwip/lwip_debug.h rename to tools/sdk/include/lwip/debug/lwip_debug.h diff --git a/tools/sdk/include/lwip/apps/dhcpserver.h b/tools/sdk/include/lwip/dhcpserver/dhcpserver.h similarity index 100% rename from tools/sdk/include/lwip/apps/dhcpserver.h rename to tools/sdk/include/lwip/dhcpserver/dhcpserver.h diff --git a/tools/sdk/include/lwip/apps/dhcpserver_options.h b/tools/sdk/include/lwip/dhcpserver/dhcpserver_options.h similarity index 100% rename from tools/sdk/include/lwip/apps/dhcpserver_options.h rename to tools/sdk/include/lwip/dhcpserver/dhcpserver_options.h diff --git a/tools/sdk/include/lwip/lwip/api.h b/tools/sdk/include/lwip/lwip/api.h index 5b6a21ec..a4fed9bb 100644 --- a/tools/sdk/include/lwip/lwip/api.h +++ b/tools/sdk/include/lwip/lwip/api.h @@ -1,3 +1,8 @@ +/** + * @file + * netconn API (to be used from non-TCPIP threads) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -38,8 +43,7 @@ /* Note: Netconn API is always available when sockets are enabled - * sockets are implemented on top of them */ -#include /* for size_t */ - +#include "lwip/arch.h" #include "lwip/netbuf.h" #include "lwip/sys.h" #include "lwip/ip_addr.h" @@ -65,9 +69,11 @@ extern "C" { #define NETCONN_FLAG_NON_BLOCKING 0x02 /** Was the last connect action a non-blocking one? */ #define NETCONN_FLAG_IN_NONBLOCKING_CONNECT 0x04 +#if ESP_AUTO_RECV /** If this is set, a TCP netconn must call netconn_recved() to update the TCP receive window (done automatically if not set). */ #define NETCONN_FLAG_NO_AUTO_RECVED 0x08 +#endif /** If a nonblocking write has been rejected before, poll_tcp needs to check if the netconn is writable again */ #define NETCONN_FLAG_CHECK_WRITESPACE 0x10 @@ -79,7 +85,7 @@ extern "C" { #endif /* LWIP_IPV6 */ - /* Helpers to process several netconn_types by the same code */ +/* Helpers to process several netconn_types by the same code */ #define NETCONNTYPE_GROUP(t) ((t)&0xF0) #define NETCONNTYPE_DATAGRAM(t) ((t)&0xE0) #if LWIP_IPV6 @@ -88,32 +94,42 @@ extern "C" { #define NETCONNTYPE_ISUDPLITE(t) (((t)&0xF3) == NETCONN_UDPLITE) #define NETCONNTYPE_ISUDPNOCHKSUM(t) (((t)&0xF3) == NETCONN_UDPNOCHKSUM) #else /* LWIP_IPV6 */ +#define NETCONNTYPE_ISIPV6(t) (0) #define NETCONNTYPE_ISUDPLITE(t) ((t) == NETCONN_UDPLITE) #define NETCONNTYPE_ISUDPNOCHKSUM(t) ((t) == NETCONN_UDPNOCHKSUM) #endif /* LWIP_IPV6 */ -/** Protocol family and type of the netconn */ +/** @ingroup netconn_common + * Protocol family and type of the netconn + */ enum netconn_type { NETCONN_INVALID = 0, - /* NETCONN_TCP Group */ + /** TCP IPv4 */ NETCONN_TCP = 0x10, #if LWIP_IPV6 + /** TCP IPv6 */ NETCONN_TCP_IPV6 = NETCONN_TCP | NETCONN_TYPE_IPV6 /* 0x18 */, #endif /* LWIP_IPV6 */ - /* NETCONN_UDP Group */ + /** UDP IPv4 */ NETCONN_UDP = 0x20, + /** UDP IPv4 lite */ NETCONN_UDPLITE = 0x21, + /** UDP IPv4 no checksum */ NETCONN_UDPNOCHKSUM = 0x22, #if LWIP_IPV6 + /** UDP IPv6 (dual-stack by default, unless you call @ref netconn_set_ipv6only) */ NETCONN_UDP_IPV6 = NETCONN_UDP | NETCONN_TYPE_IPV6 /* 0x28 */, + /** UDP IPv6 lite (dual-stack by default, unless you call @ref netconn_set_ipv6only) */ NETCONN_UDPLITE_IPV6 = NETCONN_UDPLITE | NETCONN_TYPE_IPV6 /* 0x29 */, + /** UDP IPv6 no checksum (dual-stack by default, unless you call @ref netconn_set_ipv6only) */ NETCONN_UDPNOCHKSUM_IPV6 = NETCONN_UDPNOCHKSUM | NETCONN_TYPE_IPV6 /* 0x2a */, #endif /* LWIP_IPV6 */ - /* NETCONN_RAW Group */ + /** Raw connection IPv4 */ NETCONN_RAW = 0x40 #if LWIP_IPV6 + /** Raw connection IPv6 (dual-stack by default, unless you call @ref netconn_set_ipv6only) */ , NETCONN_RAW_IPV6 = NETCONN_RAW | NETCONN_TYPE_IPV6 /* 0x48 */ #endif /* LWIP_IPV6 */ }; @@ -128,7 +144,32 @@ enum netconn_state { NETCONN_CLOSE }; -/** Use to inform the callback function about changes */ +/** Used to inform the callback function about changes + * + * Event explanation: + * + * In the netconn implementation, there are three ways to block a client: + * + * - accept mbox (sys_arch_mbox_fetch(&conn->acceptmbox, &accept_ptr, 0); in netconn_accept()) + * - receive mbox (sys_arch_mbox_fetch(&conn->recvmbox, &buf, 0); in netconn_recv_data()) + * - send queue is full (sys_arch_sem_wait(LWIP_API_MSG_SEM(msg), 0); in lwip_netconn_do_write()) + * + * The events have to be seen as events signaling the state of these mboxes/semaphores. For non-blocking + * connections, you need to know in advance whether a call to a netconn function call would block or not, + * and these events tell you about that. + * + * RCVPLUS events say: Safe to perform a potentially blocking call call once more. + * They are counted in sockets - three RCVPLUS events for accept mbox means you are safe + * to call netconn_accept 3 times without being blocked. + * Same thing for receive mbox. + * + * RCVMINUS events say: Your call to to a possibly blocking function is "acknowledged". + * Socket implementation decrements the counter. + * + * For TX, there is no need to count, its merely a flag. SENDPLUS means you may send something. + * SENDPLUS occurs when enough data was delivered to peer so netconn_send() can be called again. + * A SENDMINUS event occurs when the next call to a netconn_send() would be blocking. + */ enum netconn_evt { NETCONN_EVT_RCVPLUS, NETCONN_EVT_RCVMINUS, @@ -160,7 +201,7 @@ struct tcp_pcb; struct udp_pcb; struct raw_pcb; struct netconn; -struct api_msg_msg; +struct api_msg; /** A callback prototype to inform about events for a netconn */ typedef void (* netconn_callback)(struct netconn *, enum netconn_evt, u16_t len); @@ -180,13 +221,10 @@ struct netconn { } pcb; /** the last error this netconn had */ err_t last_err; - #if !LWIP_NETCONN_SEM_PER_THREAD /** sem that is used to synchronously execute functions in the core context */ sys_sem_t op_completed; - #endif - /** mbox where received packets are stored until they are fetched by the netconn application thread (can grow quite big) */ sys_mbox_t recvmbox; @@ -231,7 +269,7 @@ struct netconn { /** TCP: when data passed to netconn_write doesn't fit into the send buffer, this temporarily stores the message. Also used during connect and close. */ - struct api_msg_msg *current_msg; + struct api_msg *current_msg; #endif /* LWIP_TCP */ /** A callback function that is informed about events for this netconn */ netconn_callback callback; @@ -253,6 +291,10 @@ struct netconn { }} while(0); /* Network connection functions: */ + +/** @ingroup netconn_common + * Create new netconn connection + * @param t @ref netconn_type */ #define netconn_new(t) netconn_new_with_proto_and_callback(t, 0, NULL) #define netconn_new_with_callback(t, c) netconn_new_with_proto_and_callback(t, 0, c) struct netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto, @@ -263,23 +305,29 @@ err_t netconn_delete(struct netconn *conn); err_t netconn_getaddr(struct netconn *conn, ip_addr_t *addr, u16_t *port, u8_t local); +/** @ingroup netconn_common */ #define netconn_peer(c,i,p) netconn_getaddr(c,i,p,0) +/** @ingroup netconn_common */ #define netconn_addr(c,i,p) netconn_getaddr(c,i,p,1) err_t netconn_bind(struct netconn *conn, const ip_addr_t *addr, u16_t port); err_t netconn_connect(struct netconn *conn, const ip_addr_t *addr, u16_t port); err_t netconn_disconnect (struct netconn *conn); err_t netconn_listen_with_backlog(struct netconn *conn, u8_t backlog); +/** @ingroup netconn_tcp */ #define netconn_listen(conn) netconn_listen_with_backlog(conn, TCP_DEFAULT_LISTEN_BACKLOG) err_t netconn_accept(struct netconn *conn, struct netconn **new_conn); err_t netconn_recv(struct netconn *conn, struct netbuf **new_buf); err_t netconn_recv_tcp_pbuf(struct netconn *conn, struct pbuf **new_buf); +#if ESP_AUTO_RECV void netconn_recved(struct netconn *conn, u32_t length); +#endif err_t netconn_sendto(struct netconn *conn, struct netbuf *buf, const ip_addr_t *addr, u16_t port); err_t netconn_send(struct netconn *conn, struct netbuf *buf); err_t netconn_write_partly(struct netconn *conn, const void *dataptr, size_t size, u8_t apiflags, size_t *bytes_written); +/** @ingroup netconn_tcp */ #define netconn_write(conn, dataptr, size, apiflags) \ netconn_write_partly(conn, dataptr, size, apiflags, NULL) err_t netconn_close(struct netconn *conn); @@ -310,6 +358,7 @@ err_t netconn_gethostbyname(const char *name, ip_addr_t *addr); /** Get the blocking status of netconn calls (@todo: write/send is missing) */ #define netconn_is_nonblocking(conn) (((conn)->flags & NETCONN_FLAG_NON_BLOCKING) != 0) +#if ESP_AUTO_RECV /** TCP: Set the no-auto-recved status of netconn calls (see NETCONN_FLAG_NO_AUTO_RECVED) */ #define netconn_set_noautorecved(conn, val) do { if(val) { \ (conn)->flags |= NETCONN_FLAG_NO_AUTO_RECVED; \ @@ -317,14 +366,19 @@ err_t netconn_gethostbyname(const char *name, ip_addr_t *addr); (conn)->flags &= ~ NETCONN_FLAG_NO_AUTO_RECVED; }} while(0) /** TCP: Get the no-auto-recved status of netconn calls (see NETCONN_FLAG_NO_AUTO_RECVED) */ #define netconn_get_noautorecved(conn) (((conn)->flags & NETCONN_FLAG_NO_AUTO_RECVED) != 0) +#endif #if LWIP_IPV6 -/** TCP: Set the IPv6 ONLY status of netconn calls (see NETCONN_FLAG_IPV6_V6ONLY) */ +/** @ingroup netconn_common + * TCP: Set the IPv6 ONLY status of netconn calls (see NETCONN_FLAG_IPV6_V6ONLY) + */ #define netconn_set_ipv6only(conn, val) do { if(val) { \ (conn)->flags |= NETCONN_FLAG_IPV6_V6ONLY; \ } else { \ (conn)->flags &= ~ NETCONN_FLAG_IPV6_V6ONLY; }} while(0) -/** TCP: Get the IPv6 ONLY status of netconn calls (see NETCONN_FLAG_IPV6_V6ONLY) */ +/** @ingroup netconn_common + * TCP: Get the IPv6 ONLY status of netconn calls (see NETCONN_FLAG_IPV6_V6ONLY) + */ #define netconn_get_ipv6only(conn) (((conn)->flags & NETCONN_FLAG_IPV6_V6ONLY) != 0) #endif /* LWIP_IPV6 */ diff --git a/tools/sdk/include/lwip/lwip/apps/FILES b/tools/sdk/include/lwip/lwip/apps/FILES new file mode 100644 index 00000000..adfc0f33 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/FILES @@ -0,0 +1,2 @@ +This directory contains application headers. +Every application shall provide one api file APP.h and optionally one options file APP_opts.h diff --git a/tools/sdk/include/lwip/lwip/apps/fs.h b/tools/sdk/include/lwip/lwip/apps/fs.h new file mode 100644 index 00000000..bb176fa0 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/fs.h @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_APPS_FS_H +#define LWIP_HDR_APPS_FS_H + +#include "httpd_opts.h" +#include "lwip/err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define FS_READ_EOF -1 +#define FS_READ_DELAYED -2 + +#if HTTPD_PRECALCULATED_CHECKSUM +struct fsdata_chksum { + u32_t offset; + u16_t chksum; + u16_t len; +}; +#endif /* HTTPD_PRECALCULATED_CHECKSUM */ + +#define FS_FILE_FLAGS_HEADER_INCLUDED 0x01 +#define FS_FILE_FLAGS_HEADER_PERSISTENT 0x02 + +struct fs_file { + const char *data; + int len; + int index; + void *pextension; +#if HTTPD_PRECALCULATED_CHECKSUM + const struct fsdata_chksum *chksum; + u16_t chksum_count; +#endif /* HTTPD_PRECALCULATED_CHECKSUM */ + u8_t flags; +#if LWIP_HTTPD_CUSTOM_FILES + u8_t is_custom_file; +#endif /* LWIP_HTTPD_CUSTOM_FILES */ +#if LWIP_HTTPD_FILE_STATE + void *state; +#endif /* LWIP_HTTPD_FILE_STATE */ +}; + +#if LWIP_HTTPD_FS_ASYNC_READ +typedef void (*fs_wait_cb)(void *arg); +#endif /* LWIP_HTTPD_FS_ASYNC_READ */ + +err_t fs_open(struct fs_file *file, const char *name); +void fs_close(struct fs_file *file); +#if LWIP_HTTPD_DYNAMIC_FILE_READ +#if LWIP_HTTPD_FS_ASYNC_READ +int fs_read_async(struct fs_file *file, char *buffer, int count, fs_wait_cb callback_fn, void *callback_arg); +#else /* LWIP_HTTPD_FS_ASYNC_READ */ +int fs_read(struct fs_file *file, char *buffer, int count); +#endif /* LWIP_HTTPD_FS_ASYNC_READ */ +#endif /* LWIP_HTTPD_DYNAMIC_FILE_READ */ +#if LWIP_HTTPD_FS_ASYNC_READ +int fs_is_file_ready(struct fs_file *file, fs_wait_cb callback_fn, void *callback_arg); +#endif /* LWIP_HTTPD_FS_ASYNC_READ */ +int fs_bytes_left(struct fs_file *file); + +#if LWIP_HTTPD_FILE_STATE +/** This user-defined function is called when a file is opened. */ +void *fs_state_init(struct fs_file *file, const char *name); +/** This user-defined function is called when a file is closed. */ +void fs_state_free(struct fs_file *file, void *state); +#endif /* #if LWIP_HTTPD_FILE_STATE */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_FS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/httpd.h b/tools/sdk/include/lwip/lwip/apps/httpd.h new file mode 100644 index 00000000..40f1811e --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/httpd.h @@ -0,0 +1,236 @@ +/** + * @file + * HTTP server + */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + * This version of the file has been modified by Texas Instruments to offer + * simple server-side-include (SSI) and Common Gateway Interface (CGI) + * capability. + */ + +#ifndef LWIP_HDR_APPS_HTTPD_H +#define LWIP_HDR_APPS_HTTPD_H + +#include "httpd_opts.h" +#include "lwip/err.h" +#include "lwip/pbuf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_HTTPD_CGI + +/* + * Function pointer for a CGI script handler. + * + * This function is called each time the HTTPD server is asked for a file + * whose name was previously registered as a CGI function using a call to + * http_set_cgi_handler. The iIndex parameter provides the index of the + * CGI within the ppcURLs array passed to http_set_cgi_handler. Parameters + * pcParam and pcValue provide access to the parameters provided along with + * the URI. iNumParams provides a count of the entries in the pcParam and + * pcValue arrays. Each entry in the pcParam array contains the name of a + * parameter with the corresponding entry in the pcValue array containing the + * value for that parameter. Note that pcParam may contain multiple elements + * with the same name if, for example, a multi-selection list control is used + * in the form generating the data. + * + * The function should return a pointer to a character string which is the + * path and filename of the response that is to be sent to the connected + * browser, for example "/thanks.htm" or "/response/error.ssi". + * + * The maximum number of parameters that will be passed to this function via + * iNumParams is defined by LWIP_HTTPD_MAX_CGI_PARAMETERS. Any parameters in the incoming + * HTTP request above this number will be discarded. + * + * Requests intended for use by this CGI mechanism must be sent using the GET + * method (which encodes all parameters within the URI rather than in a block + * later in the request). Attempts to use the POST method will result in the + * request being ignored. + * + */ +typedef const char *(*tCGIHandler)(int iIndex, int iNumParams, char *pcParam[], + char *pcValue[]); + +/* + * Structure defining the base filename (URL) of a CGI and the associated + * function which is to be called when that URL is requested. + */ +typedef struct +{ + const char *pcCGIName; + tCGIHandler pfnCGIHandler; +} tCGI; + +void http_set_cgi_handlers(const tCGI *pCGIs, int iNumHandlers); + +#endif /* LWIP_HTTPD_CGI */ + +#if LWIP_HTTPD_CGI || LWIP_HTTPD_CGI_SSI + +#if LWIP_HTTPD_CGI_SSI +/** Define this generic CGI handler in your application. + * It is called once for every URI with parameters. + * The parameters can be stored to + */ +extern void httpd_cgi_handler(const char* uri, int iNumParams, char **pcParam, char **pcValue +#if defined(LWIP_HTTPD_FILE_STATE) && LWIP_HTTPD_FILE_STATE + , void *connection_state +#endif /* LWIP_HTTPD_FILE_STATE */ + ); +#endif /* LWIP_HTTPD_CGI_SSI */ + +#endif /* LWIP_HTTPD_CGI || LWIP_HTTPD_CGI_SSI */ + +#if LWIP_HTTPD_SSI + +/* + * Function pointer for the SSI tag handler callback. + * + * This function will be called each time the HTTPD server detects a tag of the + * form in a .shtml, .ssi or .shtm file where "name" appears as + * one of the tags supplied to http_set_ssi_handler in the ppcTags array. The + * returned insert string, which will be appended after the the string + * "" in file sent back to the client,should be written to pointer + * pcInsert. iInsertLen contains the size of the buffer pointed to by + * pcInsert. The iIndex parameter provides the zero-based index of the tag as + * found in the ppcTags array and identifies the tag that is to be processed. + * + * The handler returns the number of characters written to pcInsert excluding + * any terminating NULL or a negative number to indicate a failure (tag not + * recognized, for example). + * + * Note that the behavior of this SSI mechanism is somewhat different from the + * "normal" SSI processing as found in, for example, the Apache web server. In + * this case, the inserted text is appended following the SSI tag rather than + * replacing the tag entirely. This allows for an implementation that does not + * require significant additional buffering of output data yet which will still + * offer usable SSI functionality. One downside to this approach is when + * attempting to use SSI within JavaScript. The SSI tag is structured to + * resemble an HTML comment but this syntax does not constitute a comment + * within JavaScript and, hence, leaving the tag in place will result in + * problems in these cases. To work around this, any SSI tag which needs to + * output JavaScript code must do so in an encapsulated way, sending the whole + * HTML section as a single include. + */ +typedef u16_t (*tSSIHandler)( +#if LWIP_HTTPD_SSI_RAW + const char* ssi_tag_name, +#else /* LWIP_HTTPD_SSI_RAW */ + int iIndex, +#endif /* LWIP_HTTPD_SSI_RAW */ + char *pcInsert, int iInsertLen +#if LWIP_HTTPD_SSI_MULTIPART + , u16_t current_tag_part, u16_t *next_tag_part +#endif /* LWIP_HTTPD_SSI_MULTIPART */ +#if defined(LWIP_HTTPD_FILE_STATE) && LWIP_HTTPD_FILE_STATE + , void *connection_state +#endif /* LWIP_HTTPD_FILE_STATE */ + ); + +/** Set the SSI handler function + * (if LWIP_HTTPD_SSI_RAW==1, only the first argument is used) + */ +void http_set_ssi_handler(tSSIHandler pfnSSIHandler, + const char **ppcTags, int iNumTags); + +/** For LWIP_HTTPD_SSI_RAW==1, return this to indicate the tag is unknown. + * In this case, the webserver writes a warning into the page. + * You can also just return 0 to write nothing for unknown tags. + */ +#define HTTPD_SSI_TAG_UNKNOWN 0xFFFF + +#endif /* LWIP_HTTPD_SSI */ + +#if LWIP_HTTPD_SUPPORT_POST + +/* These functions must be implemented by the application */ + +/** Called when a POST request has been received. The application can decide + * whether to accept it or not. + * + * @param connection Unique connection identifier, valid until httpd_post_end + * is called. + * @param uri The HTTP header URI receiving the POST request. + * @param http_request The raw HTTP request (the first packet, normally). + * @param http_request_len Size of 'http_request'. + * @param content_len Content-Length from HTTP header. + * @param response_uri Filename of response file, to be filled when denying the + * request + * @param response_uri_len Size of the 'response_uri' buffer. + * @param post_auto_wnd Set this to 0 to let the callback code handle window + * updates by calling 'httpd_post_data_recved' (to throttle rx speed) + * default is 1 (httpd handles window updates automatically) + * @return ERR_OK: Accept the POST request, data may be passed in + * another err_t: Deny the POST request, send back 'bad request'. + */ +err_t httpd_post_begin(void *connection, const char *uri, const char *http_request, + u16_t http_request_len, int content_len, char *response_uri, + u16_t response_uri_len, u8_t *post_auto_wnd); + +/** Called for each pbuf of data that has been received for a POST. + * ATTENTION: The application is responsible for freeing the pbufs passed in! + * + * @param connection Unique connection identifier. + * @param p Received data. + * @return ERR_OK: Data accepted. + * another err_t: Data denied, http_post_get_response_uri will be called. + */ +err_t httpd_post_receive_data(void *connection, struct pbuf *p); + +/** Called when all data is received or when the connection is closed. + * The application must return the filename/URI of a file to send in response + * to this POST request. If the response_uri buffer is untouched, a 404 + * response is returned. + * + * @param connection Unique connection identifier. + * @param response_uri Filename of response file, to be filled when denying the request + * @param response_uri_len Size of the 'response_uri' buffer. + */ +void httpd_post_finished(void *connection, char *response_uri, u16_t response_uri_len); + +#if LWIP_HTTPD_POST_MANUAL_WND +void httpd_post_data_recved(void *connection, u16_t recved_len); +#endif /* LWIP_HTTPD_POST_MANUAL_WND */ + +#endif /* LWIP_HTTPD_SUPPORT_POST */ + +void httpd_init(void); + + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HTTPD_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/httpd_opts.h b/tools/sdk/include/lwip/lwip/apps/httpd_opts.h new file mode 100644 index 00000000..340db15f --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/httpd_opts.h @@ -0,0 +1,323 @@ +/** + * @file + * HTTP server options list + */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + * This version of the file has been modified by Texas Instruments to offer + * simple server-side-include (SSI) and Common Gateway Interface (CGI) + * capability. + */ + +#ifndef LWIP_HDR_APPS_HTTPD_OPTS_H +#define LWIP_HDR_APPS_HTTPD_OPTS_H + +#include "lwip/opt.h" + +/** + * @defgroup httpd_opts Options + * @ingroup httpd + * @{ + */ + +/** Set this to 1 to support CGI (old style) */ +#if !defined LWIP_HTTPD_CGI || defined __DOXYGEN__ +#define LWIP_HTTPD_CGI 0 +#endif + +/** Set this to 1 to support CGI (new style) */ +#if !defined LWIP_HTTPD_CGI_SSI || defined __DOXYGEN__ +#define LWIP_HTTPD_CGI_SSI 0 +#endif + +/** Set this to 1 to support SSI (Server-Side-Includes) */ +#if !defined LWIP_HTTPD_SSI || defined __DOXYGEN__ +#define LWIP_HTTPD_SSI 0 +#endif + +/** Set this to 1 to implement an SSI tag handler callback that gets a const char* + * to the tag (instead of an index into a pre-registered array of known tags) */ +#if !defined LWIP_HTTPD_SSI_RAW || defined __DOXYGEN__ +#define LWIP_HTTPD_SSI_RAW 0 +#endif + +/** Set this to 1 to support HTTP POST */ +#if !defined LWIP_HTTPD_SUPPORT_POST || defined __DOXYGEN__ +#define LWIP_HTTPD_SUPPORT_POST 0 +#endif + +/* The maximum number of parameters that the CGI handler can be sent. */ +#if !defined LWIP_HTTPD_MAX_CGI_PARAMETERS || defined __DOXYGEN__ +#define LWIP_HTTPD_MAX_CGI_PARAMETERS 16 +#endif + +/** LWIP_HTTPD_SSI_MULTIPART==1: SSI handler function is called with 2 more + * arguments indicating a counter for insert string that are too long to be + * inserted at once: the SSI handler function must then set 'next_tag_part' + * which will be passed back to it in the next call. */ +#if !defined LWIP_HTTPD_SSI_MULTIPART || defined __DOXYGEN__ +#define LWIP_HTTPD_SSI_MULTIPART 0 +#endif + +/* The maximum length of the string comprising the tag name */ +#if !defined LWIP_HTTPD_MAX_TAG_NAME_LEN || defined __DOXYGEN__ +#define LWIP_HTTPD_MAX_TAG_NAME_LEN 8 +#endif + +/* The maximum length of string that can be returned to replace any given tag */ +#if !defined LWIP_HTTPD_MAX_TAG_INSERT_LEN || defined __DOXYGEN__ +#define LWIP_HTTPD_MAX_TAG_INSERT_LEN 192 +#endif + +#if !defined LWIP_HTTPD_POST_MANUAL_WND || defined __DOXYGEN__ +#define LWIP_HTTPD_POST_MANUAL_WND 0 +#endif + +/** This string is passed in the HTTP header as "Server: " */ +#if !defined HTTPD_SERVER_AGENT || defined __DOXYGEN__ +#define HTTPD_SERVER_AGENT "lwIP/" LWIP_VERSION_STRING " (http://savannah.nongnu.org/projects/lwip)" +#endif + +/** Set this to 1 if you want to include code that creates HTTP headers + * at runtime. Default is off: HTTP headers are then created statically + * by the makefsdata tool. Static headers mean smaller code size, but + * the (readonly) fsdata will grow a bit as every file includes the HTTP + * header. */ +#if !defined LWIP_HTTPD_DYNAMIC_HEADERS || defined __DOXYGEN__ +#define LWIP_HTTPD_DYNAMIC_HEADERS 0 +#endif + +#if !defined HTTPD_DEBUG || defined __DOXYGEN__ +#define HTTPD_DEBUG LWIP_DBG_OFF +#endif + +/** Set this to 1 to use a memp pool for allocating + * struct http_state instead of the heap. + */ +#if !defined HTTPD_USE_MEM_POOL || defined __DOXYGEN__ +#define HTTPD_USE_MEM_POOL 0 +#endif + +/** The server port for HTTPD to use */ +#if !defined HTTPD_SERVER_PORT || defined __DOXYGEN__ +#define HTTPD_SERVER_PORT 80 +#endif + +/** Maximum retries before the connection is aborted/closed. + * - number of times pcb->poll is called -> default is 4*500ms = 2s; + * - reset when pcb->sent is called + */ +#if !defined HTTPD_MAX_RETRIES || defined __DOXYGEN__ +#define HTTPD_MAX_RETRIES 4 +#endif + +/** The poll delay is X*500ms */ +#if !defined HTTPD_POLL_INTERVAL || defined __DOXYGEN__ +#define HTTPD_POLL_INTERVAL 4 +#endif + +/** Priority for tcp pcbs created by HTTPD (very low by default). + * Lower priorities get killed first when running out of memory. + */ +#if !defined HTTPD_TCP_PRIO || defined __DOXYGEN__ +#define HTTPD_TCP_PRIO TCP_PRIO_MIN +#endif + +/** Set this to 1 to enable timing each file sent */ +#if !defined LWIP_HTTPD_TIMING || defined __DOXYGEN__ +#define LWIP_HTTPD_TIMING 0 +#endif +/** Set this to 1 to enable timing each file sent */ +#if !defined HTTPD_DEBUG_TIMING || defined __DOXYGEN__ +#define HTTPD_DEBUG_TIMING LWIP_DBG_OFF +#endif + +/** Set this to one to show error pages when parsing a request fails instead + of simply closing the connection. */ +#if !defined LWIP_HTTPD_SUPPORT_EXTSTATUS || defined __DOXYGEN__ +#define LWIP_HTTPD_SUPPORT_EXTSTATUS 0 +#endif + +/** Set this to 0 to drop support for HTTP/0.9 clients (to save some bytes) */ +#if !defined LWIP_HTTPD_SUPPORT_V09 || defined __DOXYGEN__ +#define LWIP_HTTPD_SUPPORT_V09 1 +#endif + +/** Set this to 1 to enable HTTP/1.1 persistent connections. + * ATTENTION: If the generated file system includes HTTP headers, these must + * include the "Connection: keep-alive" header (pass argument "-11" to makefsdata). + */ +#if !defined LWIP_HTTPD_SUPPORT_11_KEEPALIVE || defined __DOXYGEN__ +#define LWIP_HTTPD_SUPPORT_11_KEEPALIVE 0 +#endif + +/** Set this to 1 to support HTTP request coming in in multiple packets/pbufs */ +#if !defined LWIP_HTTPD_SUPPORT_REQUESTLIST || defined __DOXYGEN__ +#define LWIP_HTTPD_SUPPORT_REQUESTLIST 1 +#endif + +#if LWIP_HTTPD_SUPPORT_REQUESTLIST +/** Number of rx pbufs to enqueue to parse an incoming request (up to the first + newline) */ +#if !defined LWIP_HTTPD_REQ_QUEUELEN || defined __DOXYGEN__ +#define LWIP_HTTPD_REQ_QUEUELEN 5 +#endif + +/** Number of (TCP payload-) bytes (in pbufs) to enqueue to parse and incoming + request (up to the first double-newline) */ +#if !defined LWIP_HTTPD_REQ_BUFSIZE || defined __DOXYGEN__ +#define LWIP_HTTPD_REQ_BUFSIZE LWIP_HTTPD_MAX_REQ_LENGTH +#endif + +/** Defines the maximum length of a HTTP request line (up to the first CRLF, + copied from pbuf into this a global buffer when pbuf- or packet-queues + are received - otherwise the input pbuf is used directly) */ +#if !defined LWIP_HTTPD_MAX_REQ_LENGTH || defined __DOXYGEN__ +#define LWIP_HTTPD_MAX_REQ_LENGTH LWIP_MIN(1023, (LWIP_HTTPD_REQ_QUEUELEN * PBUF_POOL_BUFSIZE)) +#endif +#endif /* LWIP_HTTPD_SUPPORT_REQUESTLIST */ + +/** This is the size of a static buffer used when URIs end with '/'. + * In this buffer, the directory requested is concatenated with all the + * configured default file names. + * Set to 0 to disable checking default filenames on non-root directories. + */ +#if !defined LWIP_HTTPD_MAX_REQUEST_URI_LEN || defined __DOXYGEN__ +#define LWIP_HTTPD_MAX_REQUEST_URI_LEN 63 +#endif + +/** Maximum length of the filename to send as response to a POST request, + * filled in by the application when a POST is finished. + */ +#if !defined LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN || defined __DOXYGEN__ +#define LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN 63 +#endif + +/** Set this to 0 to not send the SSI tag (default is on, so the tag will + * be sent in the HTML page */ +#if !defined LWIP_HTTPD_SSI_INCLUDE_TAG || defined __DOXYGEN__ +#define LWIP_HTTPD_SSI_INCLUDE_TAG 1 +#endif + +/** Set this to 1 to call tcp_abort when tcp_close fails with memory error. + * This can be used to prevent consuming all memory in situations where the + * HTTP server has low priority compared to other communication. */ +#if !defined LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR || defined __DOXYGEN__ +#define LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR 0 +#endif + +/** Set this to 1 to kill the oldest connection when running out of + * memory for 'struct http_state' or 'struct http_ssi_state'. + * ATTENTION: This puts all connections on a linked list, so may be kind of slow. + */ +#if !defined LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED || defined __DOXYGEN__ +#define LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED 0 +#endif + +/** Set this to 1 to send URIs without extension without headers + * (who uses this at all??) */ +#if !defined LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI || defined __DOXYGEN__ +#define LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI 0 +#endif + +/** Default: Tags are sent from struct http_state and are therefore volatile */ +#if !defined HTTP_IS_TAG_VOLATILE || defined __DOXYGEN__ +#define HTTP_IS_TAG_VOLATILE(ptr) TCP_WRITE_FLAG_COPY +#endif + +/* By default, the httpd is limited to send 2*pcb->mss to keep resource usage low + when http is not an important protocol in the device. */ +#if !defined HTTPD_LIMIT_SENDING_TO_2MSS || defined __DOXYGEN__ +#define HTTPD_LIMIT_SENDING_TO_2MSS 1 +#endif + +/* Define this to a function that returns the maximum amount of data to enqueue. + The function have this signature: u16_t fn(struct tcp_pcb* pcb); */ +#if !defined HTTPD_MAX_WRITE_LEN || defined __DOXYGEN__ +#if HTTPD_LIMIT_SENDING_TO_2MSS +#define HTTPD_MAX_WRITE_LEN(pcb) (2 * tcp_mss(pcb)) +#endif +#endif + +/*------------------- FS OPTIONS -------------------*/ + +/** Set this to 1 and provide the functions: + * - "int fs_open_custom(struct fs_file *file, const char *name)" + * Called first for every opened file to allow opening files + * that are not included in fsdata(_custom).c + * - "void fs_close_custom(struct fs_file *file)" + * Called to free resources allocated by fs_open_custom(). + */ +#if !defined LWIP_HTTPD_CUSTOM_FILES || defined __DOXYGEN__ +#define LWIP_HTTPD_CUSTOM_FILES 0 +#endif + +/** Set this to 1 to support fs_read() to dynamically read file data. + * Without this (default=off), only one-block files are supported, + * and the contents must be ready after fs_open(). + */ +#if !defined LWIP_HTTPD_DYNAMIC_FILE_READ || defined __DOXYGEN__ +#define LWIP_HTTPD_DYNAMIC_FILE_READ 0 +#endif + +/** Set this to 1 to include an application state argument per file + * that is opened. This allows to keep a state per connection/file. + */ +#if !defined LWIP_HTTPD_FILE_STATE || defined __DOXYGEN__ +#define LWIP_HTTPD_FILE_STATE 0 +#endif + +/** HTTPD_PRECALCULATED_CHECKSUM==1: include precompiled checksums for + * predefined (MSS-sized) chunks of the files to prevent having to calculate + * the checksums at runtime. */ +#if !defined HTTPD_PRECALCULATED_CHECKSUM || defined __DOXYGEN__ +#define HTTPD_PRECALCULATED_CHECKSUM 0 +#endif + +/** LWIP_HTTPD_FS_ASYNC_READ==1: support asynchronous read operations + * (fs_read_async returns FS_READ_DELAYED and calls a callback when finished). + */ +#if !defined LWIP_HTTPD_FS_ASYNC_READ || defined __DOXYGEN__ +#define LWIP_HTTPD_FS_ASYNC_READ 0 +#endif + +/** Set this to 1 to include "fsdata_custom.c" instead of "fsdata.c" for the + * file system (to prevent changing the file included in CVS) */ +#if !defined HTTPD_USE_CUSTOM_FSDATA || defined __DOXYGEN__ +#define HTTPD_USE_CUSTOM_FSDATA 0 +#endif + +/** + * @} + */ + +#endif /* LWIP_HDR_APPS_HTTPD_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/lwiperf.h b/tools/sdk/include/lwip/lwip/apps/lwiperf.h new file mode 100644 index 00000000..7dbebb08 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/lwiperf.h @@ -0,0 +1,84 @@ +/** + * @file + * lwIP iPerf server implementation + */ + +/* + * Copyright (c) 2014 Simon Goldschmidt + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Simon Goldschmidt + * + */ +#ifndef LWIP_HDR_APPS_LWIPERF_H +#define LWIP_HDR_APPS_LWIPERF_H + +#include "lwip/opt.h" +#include "lwip/ip_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define LWIPERF_TCP_PORT_DEFAULT 5001 + +/** lwIPerf test results */ +enum lwiperf_report_type +{ + /** The server side test is done */ + LWIPERF_TCP_DONE_SERVER, + /** The client side test is done */ + LWIPERF_TCP_DONE_CLIENT, + /** Local error lead to test abort */ + LWIPERF_TCP_ABORTED_LOCAL, + /** Data check error lead to test abort */ + LWIPERF_TCP_ABORTED_LOCAL_DATAERROR, + /** Transmit error lead to test abort */ + LWIPERF_TCP_ABORTED_LOCAL_TXERROR, + /** Remote side aborted the test */ + LWIPERF_TCP_ABORTED_REMOTE +}; + +/** Prototype of a report function that is called when a session is finished. + This report function can show the test results. + @param report_type contains the test result */ +typedef void (*lwiperf_report_fn)(void *arg, enum lwiperf_report_type report_type, + const ip_addr_t* local_addr, u16_t local_port, const ip_addr_t* remote_addr, u16_t remote_port, + u32_t bytes_transferred, u32_t ms_duration, u32_t bandwidth_kbitpsec); + + +void* lwiperf_start_tcp_server(const ip_addr_t* local_addr, u16_t local_port, + lwiperf_report_fn report_fn, void* report_arg); +void* lwiperf_start_tcp_server_default(lwiperf_report_fn report_fn, void* report_arg); +void lwiperf_abort(void* lwiperf_session); + + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_LWIPERF_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/mdns.h b/tools/sdk/include/lwip/lwip/apps/mdns.h new file mode 100644 index 00000000..d0368161 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/mdns.h @@ -0,0 +1,69 @@ +/** + * @file + * MDNS responder + */ + + /* + * Copyright (c) 2015 Verisure Innovation AB + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Erik Ekman + * + */ +#ifndef LWIP_HDR_MDNS_H +#define LWIP_HDR_MDNS_H + +#include "lwip/apps/mdns_opts.h" +#include "lwip/netif.h" + +#if LWIP_MDNS_RESPONDER + +enum mdns_sd_proto { + DNSSD_PROTO_UDP = 0, + DNSSD_PROTO_TCP = 1 +}; + +#define MDNS_LABEL_MAXLEN 63 + +struct mdns_host; +struct mdns_service; + +/** Callback function to add text to a reply, called when generating the reply */ +typedef void (*service_get_txt_fn_t)(struct mdns_service *service, void *txt_userdata); + +void mdns_resp_init(void); + +err_t mdns_resp_add_netif(struct netif *netif, const char *hostname, u32_t dns_ttl); +err_t mdns_resp_remove_netif(struct netif *netif); + +err_t mdns_resp_add_service(struct netif *netif, const char *name, const char *service, enum mdns_sd_proto proto, u16_t port, u32_t dns_ttl, service_get_txt_fn_t txt_fn, void *txt_userdata); +err_t mdns_resp_add_service_txtitem(struct mdns_service *service, const char *txt, u8_t txt_len); +void mdns_resp_netif_settings_changed(struct netif *netif); + +#endif /* LWIP_MDNS_RESPONDER */ + +#endif /* LWIP_HDR_MDNS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/mdns_opts.h b/tools/sdk/include/lwip/lwip/apps/mdns_opts.h new file mode 100644 index 00000000..bf186bcc --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/mdns_opts.h @@ -0,0 +1,74 @@ +/** + * @file + * MDNS responder + */ + + /* + * Copyright (c) 2015 Verisure Innovation AB + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Erik Ekman + * + */ + +#ifndef LWIP_HDR_APPS_MDNS_OPTS_H +#define LWIP_HDR_APPS_MDNS_OPTS_H + +#include "lwip/opt.h" + +/** + * @defgroup mdns_opts Options + * @ingroup mdns + * @{ + */ + +/** + * LWIP_MDNS_RESPONDER==1: Turn on multicast DNS module. UDP must be available for MDNS + * transport. IGMP is needed for IPv4 multicast. + */ +#ifndef LWIP_MDNS_RESPONDER +#define LWIP_MDNS_RESPONDER 0 +#endif /* LWIP_MDNS_RESPONDER */ + +/** The maximum number of services per netif */ +#ifndef MDNS_MAX_SERVICES +#define MDNS_MAX_SERVICES 1 +#endif + +/** + * MDNS_DEBUG: Enable debugging for multicast DNS. + */ +#ifndef MDNS_DEBUG +#define MDNS_DEBUG LWIP_DBG_OFF +#endif + +/** + * @} + */ + +#endif /* LWIP_HDR_APPS_MDNS_OPTS_H */ + diff --git a/tools/sdk/include/lwip/lwip/apps/mdns_priv.h b/tools/sdk/include/lwip/lwip/apps/mdns_priv.h new file mode 100644 index 00000000..8ee6db86 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/mdns_priv.h @@ -0,0 +1,66 @@ +/** + * @file + * MDNS responder private definitions + */ + + /* + * Copyright (c) 2015 Verisure Innovation AB + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Erik Ekman + * + */ +#ifndef LWIP_HDR_MDNS_PRIV_H +#define LWIP_HDR_MDNS_PRIV_H + +#include "lwip/apps/mdns_opts.h" +#include "lwip/pbuf.h" + +#if LWIP_MDNS_RESPONDER + +/* Domain struct and methods - visible for unit tests */ + +#define MDNS_DOMAIN_MAXLEN 256 +#define MDNS_READNAME_ERROR 0xFFFF + +struct mdns_domain { + /* Encoded domain name */ + u8_t name[MDNS_DOMAIN_MAXLEN]; + /* Total length of domain name, including zero */ + u16_t length; + /* Set if compression of this domain is not allowed */ + u8_t skip_compression; +}; + +err_t mdns_domain_add_label(struct mdns_domain *domain, const char *label, u8_t len); +u16_t mdns_readname(struct pbuf *p, u16_t offset, struct mdns_domain *domain); +int mdns_domain_eq(struct mdns_domain *a, struct mdns_domain *b); +u16_t mdns_compress_domain(struct pbuf *pbuf, u16_t *offset, struct mdns_domain *domain); + +#endif /* LWIP_MDNS_RESPONDER */ + +#endif /* LWIP_HDR_MDNS_PRIV_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/mqtt.h b/tools/sdk/include/lwip/lwip/apps/mqtt.h new file mode 100644 index 00000000..34b230b8 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/mqtt.h @@ -0,0 +1,244 @@ +/** + * @file + * MQTT client + */ + +/* + * Copyright (c) 2016 Erik Andersson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Erik Andersson + * + */ +#ifndef LWIP_HDR_APPS_MQTT_CLIENT_H +#define LWIP_HDR_APPS_MQTT_CLIENT_H + +#include "lwip/apps/mqtt_opts.h" +#include "lwip/err.h" +#include "lwip/ip_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct mqtt_client_t mqtt_client_t; + +/** @ingroup mqtt + * Default MQTT port */ +#define MQTT_PORT 1883 + +/*---------------------------------------------------------------------------------------------- */ +/* Connection with server */ + +/** + * @ingroup mqtt + * Client information and connection parameters */ +struct mqtt_connect_client_info_t { + /** Client identifier, must be set by caller */ + const char *client_id; + /** User name and password, set to NULL if not used */ + const char* client_user; + const char* client_pass; + /** keep alive time in seconds, 0 to disable keep alive functionality*/ + u16_t keep_alive; + /** will topic, set to NULL if will is not to be used, + will_msg, will_qos and will retain are then ignored */ + const char* will_topic; + const char* will_msg; + u8_t will_qos; + u8_t will_retain; +}; + +/** + * @ingroup mqtt + * Connection status codes */ +typedef enum +{ + MQTT_CONNECT_ACCEPTED = 0, + MQTT_CONNECT_REFUSED_PROTOCOL_VERSION = 1, + MQTT_CONNECT_REFUSED_IDENTIFIER = 2, + MQTT_CONNECT_REFUSED_SERVER = 3, + MQTT_CONNECT_REFUSED_USERNAME_PASS = 4, + MQTT_CONNECT_REFUSED_NOT_AUTHORIZED_ = 5, + MQTT_CONNECT_DISCONNECTED = 256, + MQTT_CONNECT_TIMEOUT = 257 +} mqtt_connection_status_t; + +/** + * @ingroup mqtt + * Function prototype for mqtt connection status callback. Called when + * client has connected to the server after initiating a mqtt connection attempt by + * calling mqtt_connect() or when connection is closed by server or an error + * + * @param client MQTT client itself + * @param arg Additional argument to pass to the callback function + * @param status Connect result code or disconnection notification @see mqtt_connection_status_t + * + */ +typedef void (*mqtt_connection_cb_t)(mqtt_client_t *client, void *arg, mqtt_connection_status_t status); + + +/** + * @ingroup mqtt + * Data callback flags */ +enum { + /** Flag set when last fragment of data arrives in data callback */ + MQTT_DATA_FLAG_LAST = 1 +}; + +/** + * @ingroup mqtt + * Function prototype for MQTT incoming publish data callback function. Called when data + * arrives to a subscribed topic @see mqtt_subscribe + * + * @param arg Additional argument to pass to the callback function + * @param data User data, pointed object, data may not be referenced after callback return, + NULL is passed when all publish data are delivered + * @param len Length of publish data fragment + * @param flags MQTT_DATA_FLAG_LAST set when this call contains the last part of data from publish message + * + */ +typedef void (*mqtt_incoming_data_cb_t)(void *arg, const u8_t *data, u16_t len, u8_t flags); + + +/** + * @ingroup mqtt + * Function prototype for MQTT incoming publish function. Called when an incoming publish + * arrives to a subscribed topic @see mqtt_subscribe + * + * @param arg Additional argument to pass to the callback function + * @param topic Zero terminated Topic text string, topic may not be referenced after callback return + * @param tot_len Total length of publish data, if set to 0 (no publish payload) data callback will not be invoked + */ +typedef void (*mqtt_incoming_publish_cb_t)(void *arg, const char *topic, u32_t tot_len); + + +/** + * @ingroup mqtt + * Function prototype for mqtt request callback. Called when a subscribe, unsubscribe + * or publish request has completed + * @param arg Pointer to user data supplied when invoking request + * @param err ERR_OK on success + * ERR_TIMEOUT if no response was received within timeout, + * ERR_ABRT if (un)subscribe was denied + */ +typedef void (*mqtt_request_cb_t)(void *arg, err_t err); + + +/** + * Pending request item, binds application callback to pending server requests + */ +struct mqtt_request_t +{ + /** Next item in list, NULL means this is the last in chain, + next pointing at itself means request is unallocated */ + struct mqtt_request_t *next; + /** Callback to upper layer */ + mqtt_request_cb_t cb; + void *arg; + /** MQTT packet identifier */ + u16_t pkt_id; + /** Expire time relative to element before this */ + u16_t timeout_diff; +}; + +/** Ring buffer */ +struct mqtt_ringbuf_t { + u16_t put; + u16_t get; + u8_t buf[MQTT_OUTPUT_RINGBUF_SIZE]; +}; + +/** MQTT client */ +struct mqtt_client_t +{ + /** Timers and timeouts */ + u16_t cyclic_tick; + u16_t keep_alive; + u16_t server_watchdog; + /** Packet identifier generator*/ + u16_t pkt_id_seq; + /** Packet identifier of pending incoming publish */ + u16_t inpub_pkt_id; + /** Connection state */ + u8_t conn_state; + struct tcp_pcb *conn; + /** Connection callback */ + void *connect_arg; + mqtt_connection_cb_t connect_cb; + /** Pending requests to server */ + struct mqtt_request_t *pend_req_queue; + struct mqtt_request_t req_list[MQTT_REQ_MAX_IN_FLIGHT]; + void *inpub_arg; + /** Incoming data callback */ + mqtt_incoming_data_cb_t data_cb; + mqtt_incoming_publish_cb_t pub_cb; + /** Input */ + u32_t msg_idx; + u8_t rx_buffer[MQTT_VAR_HEADER_BUFFER_LEN]; + /** Output ring-buffer */ + struct mqtt_ringbuf_t output; +}; + + +/** Connect to server */ +err_t mqtt_client_connect(mqtt_client_t *client, const ip_addr_t *ipaddr, u16_t port, mqtt_connection_cb_t cb, void *arg, + const struct mqtt_connect_client_info_t *client_info); + +/** Disconnect from server */ +void mqtt_disconnect(mqtt_client_t *client); + +/** Create new client */ +mqtt_client_t *mqtt_client_new(void); + +/** Check connection status */ +u8_t mqtt_client_is_connected(mqtt_client_t *client); + +/** Set callback to call for incoming publish */ +void mqtt_set_inpub_callback(mqtt_client_t *client, mqtt_incoming_publish_cb_t, + mqtt_incoming_data_cb_t data_cb, void *arg); + +/** Common function for subscribe and unsubscribe */ +err_t mqtt_sub_unsub(mqtt_client_t *client, const char *topic, u8_t qos, mqtt_request_cb_t cb, void *arg, u8_t sub); + +/** @ingroup mqtt + *Subscribe to topic */ +#define mqtt_subscribe(client, topic, qos, cb, arg) mqtt_sub_unsub(client, topic, qos, cb, arg, 1) +/** @ingroup mqtt + * Unsubscribe to topic */ +#define mqtt_unsubscribe(client, topic, cb, arg) mqtt_sub_unsub(client, topic, 0, cb, arg, 0) + + +/** Publish data to topic */ +err_t mqtt_publish(mqtt_client_t *client, const char *topic, const void *payload, u16_t payload_length, u8_t qos, u8_t retain, + mqtt_request_cb_t cb, void *arg); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_MQTT_CLIENT_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/mqtt_opts.h b/tools/sdk/include/lwip/lwip/apps/mqtt_opts.h new file mode 100644 index 00000000..ffefacd2 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/mqtt_opts.h @@ -0,0 +1,103 @@ +/** + * @file + * MQTT client options + */ + +/* + * Copyright (c) 2016 Erik Andersson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Erik Andersson + * + */ +#ifndef LWIP_HDR_APPS_MQTT_OPTS_H +#define LWIP_HDR_APPS_MQTT_OPTS_H + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup mqtt_opts Options + * @ingroup mqtt + * @{ + */ + +/** + * Output ring-buffer size, must be able to fit largest outgoing publish message topic+payloads + */ +#ifndef MQTT_OUTPUT_RINGBUF_SIZE +#define MQTT_OUTPUT_RINGBUF_SIZE 256 +#endif + +/** + * Number of bytes in receive buffer, must be at least the size of the longest incoming topic + 8 + * If one wants to avoid fragmented incoming publish, set length to max incoming topic length + max payload length + 8 + */ +#ifndef MQTT_VAR_HEADER_BUFFER_LEN +#define MQTT_VAR_HEADER_BUFFER_LEN 128 +#endif + +/** + * Maximum number of pending subscribe, unsubscribe and publish requests to server . + */ +#ifndef MQTT_REQ_MAX_IN_FLIGHT +#define MQTT_REQ_MAX_IN_FLIGHT 4 +#endif + +/** + * Seconds between each cyclic timer call. + */ +#ifndef MQTT_CYCLIC_TIMER_INTERVAL +#define MQTT_CYCLIC_TIMER_INTERVAL 5 +#endif + +/** + * Publish, subscribe and unsubscribe request timeout in seconds. + */ +#ifndef MQTT_REQ_TIMEOUT +#define MQTT_REQ_TIMEOUT 30 +#endif + +/** + * Seconds for MQTT connect response timeout after sending connect request + */ +#ifndef MQTT_CONNECT_TIMOUT +#define MQTT_CONNECT_TIMOUT 100 +#endif + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_MQTT_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/netbiosns.h b/tools/sdk/include/lwip/lwip/apps/netbiosns.h new file mode 100644 index 00000000..c9f68d8d --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/netbiosns.h @@ -0,0 +1,43 @@ +/** + * @file + * NETBIOS name service responder + */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ +#ifndef LWIP_HDR_APPS_NETBIOS_H +#define LWIP_HDR_APPS_NETBIOS_H + +#include "lwip/apps/netbiosns_opts.h" + +void netbiosns_init(void); +#ifndef NETBIOS_LWIP_NAME +void netbiosns_set_name(const char* hostname); +#endif +void netbiosns_stop(void); + +#endif /* LWIP_HDR_APPS_NETBIOS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/netbiosns_opts.h b/tools/sdk/include/lwip/lwip/apps/netbiosns_opts.h new file mode 100644 index 00000000..0909ef7b --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/netbiosns_opts.h @@ -0,0 +1,59 @@ +/** + * @file + * NETBIOS name service responder options + */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ +#ifndef LWIP_HDR_APPS_NETBIOS_OPTS_H +#define LWIP_HDR_APPS_NETBIOS_OPTS_H + +#include "lwip/opt.h" + +/** + * @defgroup netbiosns_opts Options + * @ingroup netbiosns + * @{ + */ + +/** NetBIOS name of lwip device + * This must be uppercase until NETBIOS_STRCMP() is defined to a string + * comparision function that is case insensitive. + * If you want to use the netif's hostname, use this (with LWIP_NETIF_HOSTNAME): + * (ip_current_netif() != NULL ? ip_current_netif()->hostname != NULL ? ip_current_netif()->hostname : "" : "") + * + * If this is not defined, netbiosns_set_name() can be called at runtime to change the name. + */ +#ifdef __DOXYGEN__ +#define NETBIOS_LWIP_NAME "NETBIOSLWIPDEV" +#endif + +/** + * @} + */ + +#endif /* LWIP_HDR_APPS_NETBIOS_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp.h b/tools/sdk/include/lwip/lwip/apps/snmp.h new file mode 100644 index 00000000..10e8ff43 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp.h @@ -0,0 +1,128 @@ +/** + * @file + * SNMP server main API - start and basic configuration + */ + +/* + * Copyright (c) 2001, 2002 Leon Woestenberg + * Copyright (c) 2001, 2002 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Leon Woestenberg + * Martin Hentschel + * + */ +#ifndef LWIP_HDR_APPS_SNMP_H +#define LWIP_HDR_APPS_SNMP_H + +#include "lwip/apps/snmp_opts.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/err.h" +#include "lwip/apps/snmp_core.h" + +/** SNMP variable binding descriptor (publically needed for traps) */ +struct snmp_varbind +{ + /** pointer to next varbind, NULL for last in list */ + struct snmp_varbind *next; + /** pointer to previous varbind, NULL for first in list */ + struct snmp_varbind *prev; + + /** object identifier */ + struct snmp_obj_id oid; + + /** value ASN1 type */ + u8_t type; + /** object value length */ + u16_t value_len; + /** object value */ + void *value; +}; + +/** + * @ingroup snmp_core + * Agent setup, start listening to port 161. + */ +void snmp_init(void); +void snmp_set_mibs(const struct snmp_mib **mibs, u8_t num_mibs); + +void snmp_set_device_enterprise_oid(const struct snmp_obj_id* device_enterprise_oid); +const struct snmp_obj_id* snmp_get_device_enterprise_oid(void); + +void snmp_trap_dst_enable(u8_t dst_idx, u8_t enable); +void snmp_trap_dst_ip_set(u8_t dst_idx, const ip_addr_t *dst); + +/** Generic trap: cold start */ +#define SNMP_GENTRAP_COLDSTART 0 +/** Generic trap: warm start */ +#define SNMP_GENTRAP_WARMSTART 1 +/** Generic trap: link down */ +#define SNMP_GENTRAP_LINKDOWN 2 +/** Generic trap: link up */ +#define SNMP_GENTRAP_LINKUP 3 +/** Generic trap: authentication failure */ +#define SNMP_GENTRAP_AUTH_FAILURE 4 +/** Generic trap: EGP neighbor lost */ +#define SNMP_GENTRAP_EGP_NEIGHBOR_LOSS 5 +/** Generic trap: enterprise specific */ +#define SNMP_GENTRAP_ENTERPRISE_SPECIFIC 6 + +err_t snmp_send_trap_generic(s32_t generic_trap); +err_t snmp_send_trap_specific(s32_t specific_trap, struct snmp_varbind *varbinds); +err_t snmp_send_trap(const struct snmp_obj_id* oid, s32_t generic_trap, s32_t specific_trap, struct snmp_varbind *varbinds); + +#define SNMP_AUTH_TRAPS_DISABLED 0 +#define SNMP_AUTH_TRAPS_ENABLED 1 +void snmp_set_auth_traps_enabled(u8_t enable); +u8_t snmp_get_auth_traps_enabled(void); + +const char * snmp_get_community(void); +const char * snmp_get_community_write(void); +const char * snmp_get_community_trap(void); +void snmp_set_community(const char * const community); +void snmp_set_community_write(const char * const community); +void snmp_set_community_trap(const char * const community); + +void snmp_coldstart_trap(void); +void snmp_authfail_trap(void); + +typedef void (*snmp_write_callback_fct)(const u32_t* oid, u8_t oid_len, void* callback_arg); +void snmp_set_write_callback(snmp_write_callback_fct write_callback, void* callback_arg); + +#endif /* LWIP_SNMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_SNMP_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp_core.h b/tools/sdk/include/lwip/lwip/apps/snmp_core.h new file mode 100644 index 00000000..e781c532 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp_core.h @@ -0,0 +1,364 @@ +/** + * @file + * SNMP core API for implementing MIBs + */ + +/* + * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Christiaan Simons + * Martin Hentschel + */ + +#ifndef LWIP_HDR_APPS_SNMP_CORE_H +#define LWIP_HDR_APPS_SNMP_CORE_H + +#include "lwip/apps/snmp_opts.h" + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/ip_addr.h" +#include "lwip/err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* basic ASN1 defines */ +#define SNMP_ASN1_CLASS_UNIVERSAL 0x00 +#define SNMP_ASN1_CLASS_APPLICATION 0x40 +#define SNMP_ASN1_CLASS_CONTEXT 0x80 +#define SNMP_ASN1_CLASS_PRIVATE 0xC0 + +#define SNMP_ASN1_CONTENTTYPE_PRIMITIVE 0x00 +#define SNMP_ASN1_CONTENTTYPE_CONSTRUCTED 0x20 + +/* universal tags (from ASN.1 spec.) */ +#define SNMP_ASN1_UNIVERSAL_END_OF_CONTENT 0 +#define SNMP_ASN1_UNIVERSAL_INTEGER 2 +#define SNMP_ASN1_UNIVERSAL_OCTET_STRING 4 +#define SNMP_ASN1_UNIVERSAL_NULL 5 +#define SNMP_ASN1_UNIVERSAL_OBJECT_ID 6 +#define SNMP_ASN1_UNIVERSAL_SEQUENCE_OF 16 + +/* application specific (SNMP) tags (from SNMPv2-SMI) */ +#define SNMP_ASN1_APPLICATION_IPADDR 0 /* [APPLICATION 0] IMPLICIT OCTET STRING (SIZE (4)) */ +#define SNMP_ASN1_APPLICATION_COUNTER 1 /* [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) => u32_t */ +#define SNMP_ASN1_APPLICATION_GAUGE 2 /* [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) => u32_t */ +#define SNMP_ASN1_APPLICATION_TIMETICKS 3 /* [APPLICATION 3] IMPLICIT INTEGER (0..4294967295) => u32_t */ +#define SNMP_ASN1_APPLICATION_OPAQUE 4 /* [APPLICATION 4] IMPLICIT OCTET STRING */ +#define SNMP_ASN1_APPLICATION_COUNTER64 6 /* [APPLICATION 6] IMPLICIT INTEGER (0..18446744073709551615) */ + +/* context specific (SNMP) tags (from RFC 1905) */ +#define SNMP_ASN1_CONTEXT_VARBIND_NO_SUCH_INSTANCE 1 + +/* full ASN1 type defines */ +#define SNMP_ASN1_TYPE_END_OF_CONTENT (SNMP_ASN1_CLASS_UNIVERSAL | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_UNIVERSAL_END_OF_CONTENT) +#define SNMP_ASN1_TYPE_INTEGER (SNMP_ASN1_CLASS_UNIVERSAL | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_UNIVERSAL_INTEGER) +#define SNMP_ASN1_TYPE_OCTET_STRING (SNMP_ASN1_CLASS_UNIVERSAL | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_UNIVERSAL_OCTET_STRING) +#define SNMP_ASN1_TYPE_NULL (SNMP_ASN1_CLASS_UNIVERSAL | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_UNIVERSAL_NULL) +#define SNMP_ASN1_TYPE_OBJECT_ID (SNMP_ASN1_CLASS_UNIVERSAL | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_UNIVERSAL_OBJECT_ID) +#define SNMP_ASN1_TYPE_SEQUENCE (SNMP_ASN1_CLASS_UNIVERSAL | SNMP_ASN1_CONTENTTYPE_CONSTRUCTED | SNMP_ASN1_UNIVERSAL_SEQUENCE_OF) +#define SNMP_ASN1_TYPE_IPADDR (SNMP_ASN1_CLASS_APPLICATION | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_APPLICATION_IPADDR) +#define SNMP_ASN1_TYPE_IPADDRESS SNMP_ASN1_TYPE_IPADDR +#define SNMP_ASN1_TYPE_COUNTER (SNMP_ASN1_CLASS_APPLICATION | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_APPLICATION_COUNTER) +#define SNMP_ASN1_TYPE_COUNTER32 SNMP_ASN1_TYPE_COUNTER +#define SNMP_ASN1_TYPE_GAUGE (SNMP_ASN1_CLASS_APPLICATION | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_APPLICATION_GAUGE) +#define SNMP_ASN1_TYPE_GAUGE32 SNMP_ASN1_TYPE_GAUGE +#define SNMP_ASN1_TYPE_UNSIGNED32 SNMP_ASN1_TYPE_GAUGE +#define SNMP_ASN1_TYPE_TIMETICKS (SNMP_ASN1_CLASS_APPLICATION | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_APPLICATION_TIMETICKS) +#define SNMP_ASN1_TYPE_OPAQUE (SNMP_ASN1_CLASS_APPLICATION | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_APPLICATION_OPAQUE) +#define SNMP_ASN1_TYPE_COUNTER64 (SNMP_ASN1_CLASS_APPLICATION | SNMP_ASN1_CONTENTTYPE_PRIMITIVE | SNMP_ASN1_APPLICATION_COUNTER64) + +#define SNMP_VARBIND_EXCEPTION_OFFSET 0xF0 +#define SNMP_VARBIND_EXCEPTION_MASK 0x0F + +/** error codes predefined by SNMP prot. */ +typedef enum { + SNMP_ERR_NOERROR = 0, +/* +outdated v1 error codes. do not use anmore! +#define SNMP_ERR_NOSUCHNAME 2 use SNMP_ERR_NOSUCHINSTANCE instead +#define SNMP_ERR_BADVALUE 3 use SNMP_ERR_WRONGTYPE,SNMP_ERR_WRONGLENGTH,SNMP_ERR_WRONGENCODING or SNMP_ERR_WRONGVALUE instead +#define SNMP_ERR_READONLY 4 use SNMP_ERR_NOTWRITABLE instead +*/ + SNMP_ERR_GENERROR = 5, + SNMP_ERR_NOACCESS = 6, + SNMP_ERR_WRONGTYPE = 7, + SNMP_ERR_WRONGLENGTH = 8, + SNMP_ERR_WRONGENCODING = 9, + SNMP_ERR_WRONGVALUE = 10, + SNMP_ERR_NOCREATION = 11, + SNMP_ERR_INCONSISTENTVALUE = 12, + SNMP_ERR_RESOURCEUNAVAILABLE = 13, + SNMP_ERR_COMMITFAILED = 14, + SNMP_ERR_UNDOFAILED = 15, + SNMP_ERR_NOTWRITABLE = 17, + SNMP_ERR_INCONSISTENTNAME = 18, + + SNMP_ERR_NOSUCHINSTANCE = SNMP_VARBIND_EXCEPTION_OFFSET + SNMP_ASN1_CONTEXT_VARBIND_NO_SUCH_INSTANCE +} snmp_err_t; + +/** internal object identifier representation */ +struct snmp_obj_id +{ + u8_t len; + u32_t id[SNMP_MAX_OBJ_ID_LEN]; +}; + +struct snmp_obj_id_const_ref +{ + u8_t len; + const u32_t* id; +}; + +extern const struct snmp_obj_id_const_ref snmp_zero_dot_zero; /* administrative identifier from SNMPv2-SMI */ + +/** SNMP variant value, used as reference in struct snmp_node_instance and table implementation */ +union snmp_variant_value +{ + void* ptr; + const void* const_ptr; + u32_t u32; + s32_t s32; +}; + + +/** +SNMP MIB node types + tree node is the only node the stack can process in order to walk the tree, + all other nodes are assumed to be leaf nodes. + This cannot be an enum because users may want to define their own node types. +*/ +#define SNMP_NODE_TREE 0x00 +/* predefined leaf node types */ +#define SNMP_NODE_SCALAR 0x01 +#define SNMP_NODE_SCALAR_ARRAY 0x02 +#define SNMP_NODE_TABLE 0x03 +#define SNMP_NODE_THREADSYNC 0x04 + +/** node "base class" layout, the mandatory fields for a node */ +struct snmp_node +{ + /** one out of SNMP_NODE_TREE or any leaf node type (like SNMP_NODE_SCALAR) */ + u8_t node_type; + /** the number assigned to this node which used as part of the full OID */ + u32_t oid; +}; + +/** SNMP node instance access types */ +typedef enum { + SNMP_NODE_INSTANCE_ACCESS_READ = 1, + SNMP_NODE_INSTANCE_ACCESS_WRITE = 2, + SNMP_NODE_INSTANCE_READ_ONLY = SNMP_NODE_INSTANCE_ACCESS_READ, + SNMP_NODE_INSTANCE_READ_WRITE = (SNMP_NODE_INSTANCE_ACCESS_READ | SNMP_NODE_INSTANCE_ACCESS_WRITE), + SNMP_NODE_INSTANCE_WRITE_ONLY = SNMP_NODE_INSTANCE_ACCESS_WRITE, + SNMP_NODE_INSTANCE_NOT_ACCESSIBLE = 0 +} snmp_access_t; + +struct snmp_node_instance; + +typedef s16_t (*node_instance_get_value_method)(struct snmp_node_instance*, void*); +typedef snmp_err_t (*node_instance_set_test_method)(struct snmp_node_instance*, u16_t, void*); +typedef snmp_err_t (*node_instance_set_value_method)(struct snmp_node_instance*, u16_t, void*); +typedef void (*node_instance_release_method)(struct snmp_node_instance*); + +#define SNMP_GET_VALUE_RAW_DATA 0x8000 + +/** SNMP node instance */ +struct snmp_node_instance +{ + /** prefilled with the node, get_instance() is called on; may be changed by user to any value to pass an arbitrary node between calls to get_instance() and get_value/test_value/set_value */ + const struct snmp_node* node; + /** prefilled with the instance id requested; for get_instance() this is the exact oid requested; for get_next_instance() this is the relative starting point, stack expects relative oid of next node here */ + struct snmp_obj_id instance_oid; + + /** ASN type for this object (see snmp_asn1.h for definitions) */ + u8_t asn1_type; + /** one out of instance access types defined above (SNMP_NODE_INSTANCE_READ_ONLY,...) */ + snmp_access_t access; + + /** returns object value for the given object identifier. Return values <0 to indicate an error */ + node_instance_get_value_method get_value; + /** tests length and/or range BEFORE setting */ + node_instance_set_test_method set_test; + /** sets object value, only called when set_test() was successful */ + node_instance_set_value_method set_value; + /** called in any case when the instance is not required anymore by stack (useful for freeing memory allocated in get_instance/get_next_instance methods) */ + node_instance_release_method release_instance; + + /** reference to pass arbitrary value between calls to get_instance() and get_value/test_value/set_value */ + union snmp_variant_value reference; + /** see reference (if reference is a pointer, the length of underlying data may be stored here or anything else) */ + u32_t reference_len; +}; + + +/** SNMP tree node */ +struct snmp_tree_node +{ + /** inherited "base class" members */ + struct snmp_node node; + u16_t subnode_count; + const struct snmp_node* const *subnodes; +}; + +#define SNMP_CREATE_TREE_NODE(oid, subnodes) \ + {{ SNMP_NODE_TREE, (oid) }, \ + (u16_t)LWIP_ARRAYSIZE(subnodes), (subnodes) } + +#define SNMP_CREATE_EMPTY_TREE_NODE(oid) \ + {{ SNMP_NODE_TREE, (oid) }, \ + 0, NULL } + +/** SNMP leaf node */ +struct snmp_leaf_node +{ + /** inherited "base class" members */ + struct snmp_node node; + snmp_err_t (*get_instance)(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); + snmp_err_t (*get_next_instance)(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); +}; + +/** represents a single mib with its base oid and root node */ +struct snmp_mib +{ + const u32_t *base_oid; + u8_t base_oid_len; + const struct snmp_node *root_node; +}; + +#define SNMP_MIB_CREATE(oid_list, root_node) { (oid_list), (u8_t)LWIP_ARRAYSIZE(oid_list), root_node } + +/** OID range structure */ +struct snmp_oid_range +{ + u32_t min; + u32_t max; +}; + +/** checks if incoming OID length and values are in allowed ranges */ +u8_t snmp_oid_in_range(const u32_t *oid_in, u8_t oid_len, const struct snmp_oid_range *oid_ranges, u8_t oid_ranges_len); + +typedef enum { + SNMP_NEXT_OID_STATUS_SUCCESS, + SNMP_NEXT_OID_STATUS_NO_MATCH, + SNMP_NEXT_OID_STATUS_BUF_TO_SMALL +} snmp_next_oid_status_t; + +/** state for next_oid_init / next_oid_check functions */ +struct snmp_next_oid_state +{ + const u32_t* start_oid; + u8_t start_oid_len; + + u32_t* next_oid; + u8_t next_oid_len; + u8_t next_oid_max_len; + + snmp_next_oid_status_t status; + void* reference; +}; + +void snmp_next_oid_init(struct snmp_next_oid_state *state, + const u32_t *start_oid, u8_t start_oid_len, + u32_t *next_oid_buf, u8_t next_oid_max_len); +u8_t snmp_next_oid_precheck(struct snmp_next_oid_state *state, const u32_t *oid, const u8_t oid_len); +u8_t snmp_next_oid_check(struct snmp_next_oid_state *state, const u32_t *oid, const u8_t oid_len, void* reference); + +void snmp_oid_assign(struct snmp_obj_id* target, const u32_t *oid, u8_t oid_len); +void snmp_oid_combine(struct snmp_obj_id* target, const u32_t *oid1, u8_t oid1_len, const u32_t *oid2, u8_t oid2_len); +void snmp_oid_prefix(struct snmp_obj_id* target, const u32_t *oid, u8_t oid_len); +void snmp_oid_append(struct snmp_obj_id* target, const u32_t *oid, u8_t oid_len); +u8_t snmp_oid_equal(const u32_t *oid1, u8_t oid1_len, const u32_t *oid2, u8_t oid2_len); +s8_t snmp_oid_compare(const u32_t *oid1, u8_t oid1_len, const u32_t *oid2, u8_t oid2_len); + +#if LWIP_IPV4 +u8_t snmp_oid_to_ip4(const u32_t *oid, ip4_addr_t *ip); +void snmp_ip4_to_oid(const ip4_addr_t *ip, u32_t *oid); +#endif /* LWIP_IPV4 */ +#if LWIP_IPV6 +u8_t snmp_oid_to_ip6(const u32_t *oid, ip6_addr_t *ip); +void snmp_ip6_to_oid(const ip6_addr_t *ip, u32_t *oid); +#endif /* LWIP_IPV6 */ +#if LWIP_IPV4 || LWIP_IPV6 +u8_t snmp_ip_to_oid(const ip_addr_t *ip, u32_t *oid); +u8_t snmp_ip_port_to_oid(const ip_addr_t *ip, u16_t port, u32_t *oid); + +u8_t snmp_oid_to_ip(const u32_t *oid, u8_t oid_len, ip_addr_t *ip); +u8_t snmp_oid_to_ip_port(const u32_t *oid, u8_t oid_len, ip_addr_t *ip, u16_t *port); +#endif /* LWIP_IPV4 || LWIP_IPV6 */ + +struct netif; +u8_t netif_to_num(const struct netif *netif); + +snmp_err_t snmp_set_test_ok(struct snmp_node_instance* instance, u16_t value_len, void* value); /* generic function which can be used if test is always successful */ + +err_t snmp_decode_bits(const u8_t *buf, u32_t buf_len, u32_t *bit_value); +err_t snmp_decode_truthvalue(const s32_t *asn1_value, u8_t *bool_value); +u8_t snmp_encode_bits(u8_t *buf, u32_t buf_len, u32_t bit_value, u8_t bit_count); +u8_t snmp_encode_truthvalue(s32_t *asn1_value, u32_t bool_value); + +struct snmp_statistics +{ + u32_t inpkts; + u32_t outpkts; + u32_t inbadversions; + u32_t inbadcommunitynames; + u32_t inbadcommunityuses; + u32_t inasnparseerrs; + u32_t intoobigs; + u32_t innosuchnames; + u32_t inbadvalues; + u32_t inreadonlys; + u32_t ingenerrs; + u32_t intotalreqvars; + u32_t intotalsetvars; + u32_t ingetrequests; + u32_t ingetnexts; + u32_t insetrequests; + u32_t ingetresponses; + u32_t intraps; + u32_t outtoobigs; + u32_t outnosuchnames; + u32_t outbadvalues; + u32_t outgenerrs; + u32_t outgetrequests; + u32_t outgetnexts; + u32_t outsetrequests; + u32_t outgetresponses; + u32_t outtraps; +}; + +extern struct snmp_statistics snmp_stats; + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_SNMP */ + +#endif /* LWIP_HDR_APPS_SNMP_CORE_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp_mib2.h b/tools/sdk/include/lwip/lwip/apps/snmp_mib2.h new file mode 100644 index 00000000..2f4a6893 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp_mib2.h @@ -0,0 +1,78 @@ +/** + * @file + * SNMP MIB2 API + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Dirk Ziegelmeier + * + */ +#ifndef LWIP_HDR_APPS_SNMP_MIB2_H +#define LWIP_HDR_APPS_SNMP_MIB2_H + +#include "lwip/apps/snmp_opts.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ +#if SNMP_LWIP_MIB2 + +#include "lwip/apps/snmp_core.h" + +extern const struct snmp_mib mib2; + +#if SNMP_USE_NETCONN +#include "lwip/apps/snmp_threadsync.h" +void snmp_mib2_lwip_synchronizer(snmp_threadsync_called_fn fn, void* arg); +extern struct snmp_threadsync_instance snmp_mib2_lwip_locks; +#endif + +#ifndef SNMP_SYSSERVICES +#define SNMP_SYSSERVICES ((1 << 6) | (1 << 3) | ((IP_FORWARD) << 2)) +#endif + +void snmp_mib2_set_sysdescr(const u8_t* str, const u16_t* len); /* read-only be defintion */ +void snmp_mib2_set_syscontact(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize); +void snmp_mib2_set_syscontact_readonly(const u8_t *ocstr, const u16_t *ocstrlen); +void snmp_mib2_set_sysname(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize); +void snmp_mib2_set_sysname_readonly(const u8_t *ocstr, const u16_t *ocstrlen); +void snmp_mib2_set_syslocation(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize); +void snmp_mib2_set_syslocation_readonly(const u8_t *ocstr, const u16_t *ocstrlen); + +#endif /* SNMP_LWIP_MIB2 */ +#endif /* LWIP_SNMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_SNMP_MIB2_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp_opts.h b/tools/sdk/include/lwip/lwip/apps/snmp_opts.h new file mode 100644 index 00000000..6c9ba7be --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp_opts.h @@ -0,0 +1,293 @@ +/** + * @file + * SNMP server options list + */ + +/* + * Copyright (c) 2015 Dirk Ziegelmeier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Dirk Ziegelmeier + * + */ +#ifndef LWIP_HDR_SNMP_OPTS_H +#define LWIP_HDR_SNMP_OPTS_H + +#include "lwip/opt.h" + +/** + * @defgroup snmp_opts Options + * @ingroup snmp + * @{ + */ + +/** + * LWIP_SNMP==1: This enables the lwIP SNMP agent. UDP must be available + * for SNMP transport. + * If you want to use your own SNMP agent, leave this disabled. + * To integrate MIB2 of an external agent, you need to enable + * LWIP_MIB2_CALLBACKS and MIB2_STATS. This will give you the callbacks + * and statistics counters you need to get MIB2 working. + */ +#if !defined LWIP_SNMP || defined __DOXYGEN__ +#define LWIP_SNMP 0 +#endif + +/** + * SNMP_USE_NETCONN: Use netconn API instead of raw API. + * Makes SNMP agent run in a worker thread, so blocking operations + * can be done in MIB calls. + */ +#if !defined SNMP_USE_NETCONN || defined __DOXYGEN__ +#define SNMP_USE_NETCONN 0 +#endif + +/** + * SNMP_USE_RAW: Use raw API. + * SNMP agent does not run in a worker thread, so blocking operations + * should not be done in MIB calls. + */ +#if !defined SNMP_USE_RAW || defined __DOXYGEN__ +#define SNMP_USE_RAW 1 +#endif + +#if SNMP_USE_NETCONN && SNMP_USE_RAW +#error SNMP stack can use only one of the APIs {raw, netconn} +#endif + +#if LWIP_SNMP && !SNMP_USE_NETCONN && !SNMP_USE_RAW +#error SNMP stack needs a receive API and UDP {raw, netconn} +#endif + +#if SNMP_USE_NETCONN +/** + * SNMP_STACK_SIZE: Stack size of SNMP netconn worker thread + */ +#if !defined SNMP_STACK_SIZE || defined __DOXYGEN__ +#define SNMP_STACK_SIZE DEFAULT_THREAD_STACKSIZE +#endif + +/** + * SNMP_THREAD_PRIO: SNMP netconn worker thread priority + */ +#if !defined SNMP_THREAD_PRIO || defined __DOXYGEN__ +#define SNMP_THREAD_PRIO DEFAULT_THREAD_PRIO +#endif +#endif /* SNMP_USE_NETCONN */ + +/** + * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap + * destination is required + */ +#if !defined SNMP_TRAP_DESTINATIONS || defined __DOXYGEN__ +#define SNMP_TRAP_DESTINATIONS 1 +#endif + +/** + * Only allow SNMP write actions that are 'safe' (e.g. disabling netifs is not + * a safe action and disabled when SNMP_SAFE_REQUESTS = 1). + * Unsafe requests are disabled by default! + */ +#if !defined SNMP_SAFE_REQUESTS || defined __DOXYGEN__ +#define SNMP_SAFE_REQUESTS 1 +#endif + +/** + * The maximum length of strings used. + */ +#if !defined SNMP_MAX_OCTET_STRING_LEN || defined __DOXYGEN__ +#define SNMP_MAX_OCTET_STRING_LEN 127 +#endif + +/** + * The maximum number of Sub ID's inside an object identifier. + * Indirectly this also limits the maximum depth of SNMP tree. + */ +#if !defined SNMP_MAX_OBJ_ID_LEN || defined __DOXYGEN__ +#define SNMP_MAX_OBJ_ID_LEN 50 +#endif + +#if !defined SNMP_MAX_VALUE_SIZE || defined __DOXYGEN__ +/** + * The maximum size of a value. + */ +#define SNMP_MIN_VALUE_SIZE (2 * sizeof(u32_t*)) /* size required to store the basic types (8 bytes for counter64) */ +/** + * The minimum size of a value. + */ +#define SNMP_MAX_VALUE_SIZE LWIP_MAX(LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN), sizeof(u32_t)*(SNMP_MAX_OBJ_ID_LEN)), SNMP_MIN_VALUE_SIZE) +#endif + +/** + * The snmp read-access community. Used for write-access and traps, too + * unless SNMP_COMMUNITY_WRITE or SNMP_COMMUNITY_TRAP are enabled, respectively. + */ +#if !defined SNMP_COMMUNITY || defined __DOXYGEN__ +#define SNMP_COMMUNITY "public" +#endif + +/** + * The snmp write-access community. + * Set this community to "" in order to disallow any write access. + */ +#if !defined SNMP_COMMUNITY_WRITE || defined __DOXYGEN__ +#define SNMP_COMMUNITY_WRITE "private" +#endif + +/** + * The snmp community used for sending traps. + */ +#if !defined SNMP_COMMUNITY_TRAP || defined __DOXYGEN__ +#define SNMP_COMMUNITY_TRAP "public" +#endif + +/** + * The maximum length of community string. + * If community names shall be adjusted at runtime via snmp_set_community() calls, + * enter here the possible maximum length (+1 for terminating null character). + */ +#if !defined SNMP_MAX_COMMUNITY_STR_LEN || defined __DOXYGEN__ +#define SNMP_MAX_COMMUNITY_STR_LEN LWIP_MAX(LWIP_MAX(sizeof(SNMP_COMMUNITY), sizeof(SNMP_COMMUNITY_WRITE)), sizeof(SNMP_COMMUNITY_TRAP)) +#endif + +/** + * The OID identifiying the device. This may be the enterprise OID itself or any OID located below it in tree. + */ +#if !defined SNMP_DEVICE_ENTERPRISE_OID || defined __DOXYGEN__ +#define SNMP_LWIP_ENTERPRISE_OID 26381 +/** + * IANA assigned enterprise ID for lwIP is 26381 + * @see http://www.iana.org/assignments/enterprise-numbers + * + * @note this enterprise ID is assigned to the lwIP project, + * all object identifiers living under this ID are assigned + * by the lwIP maintainers! + * @note don't change this define, use snmp_set_device_enterprise_oid() + * + * If you need to create your own private MIB you'll need + * to apply for your own enterprise ID with IANA: + * http://www.iana.org/numbers.html + */ +#define SNMP_DEVICE_ENTERPRISE_OID {1, 3, 6, 1, 4, 1, SNMP_LWIP_ENTERPRISE_OID} +/** + * Length of SNMP_DEVICE_ENTERPRISE_OID + */ +#define SNMP_DEVICE_ENTERPRISE_OID_LEN 7 +#endif + +/** + * SNMP_DEBUG: Enable debugging for SNMP messages. + */ +#if !defined SNMP_DEBUG || defined __DOXYGEN__ +#define SNMP_DEBUG LWIP_DBG_OFF +#endif + +/** + * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs. + */ +#if !defined SNMP_MIB_DEBUG || defined __DOXYGEN__ +#define SNMP_MIB_DEBUG LWIP_DBG_OFF +#endif + +/** + * Indicates if the MIB2 implementation of LWIP SNMP stack is used. + */ +#if !defined SNMP_LWIP_MIB2 || defined __DOXYGEN__ +#define SNMP_LWIP_MIB2 LWIP_SNMP +#endif + +/** + * Value return for sysDesc field of MIB2. + */ +#if !defined SNMP_LWIP_MIB2_SYSDESC || defined __DOXYGEN__ +#define SNMP_LWIP_MIB2_SYSDESC "lwIP" +#endif + +/** + * Value return for sysName field of MIB2. + * To make sysName field settable, call snmp_mib2_set_sysname() to provide the necessary buffers. + */ +#if !defined SNMP_LWIP_MIB2_SYSNAME || defined __DOXYGEN__ +#define SNMP_LWIP_MIB2_SYSNAME "FQDN-unk" +#endif + +/** + * Value return for sysContact field of MIB2. + * To make sysContact field settable, call snmp_mib2_set_syscontact() to provide the necessary buffers. + */ +#if !defined SNMP_LWIP_MIB2_SYSCONTACT || defined __DOXYGEN__ +#define SNMP_LWIP_MIB2_SYSCONTACT "" +#endif + +/** + * Value return for sysLocation field of MIB2. + * To make sysLocation field settable, call snmp_mib2_set_syslocation() to provide the necessary buffers. + */ +#if !defined SNMP_LWIP_MIB2_SYSLOCATION || defined __DOXYGEN__ +#define SNMP_LWIP_MIB2_SYSLOCATION "" +#endif + +/** + * This value is used to limit the repetitions processed in GetBulk requests (value == 0 means no limitation). + * This may be useful to limit the load for a single request. + * According to SNMP RFC 1905 it is allowed to not return all requested variables from a GetBulk request if system load would be too high. + * so the effect is that the client will do more requests to gather all data. + * For the stack this could be useful in case that SNMP processing is done in TCP/IP thread. In this situation a request with many + * repetitions could block the thread for a longer time. Setting limit here will keep the stack more responsive. + */ +#if !defined SNMP_LWIP_GETBULK_MAX_REPETITIONS || defined __DOXYGEN__ +#define SNMP_LWIP_GETBULK_MAX_REPETITIONS 0 +#endif + +/** + * @} + */ + +/* + ------------------------------------ + ---------- SNMPv3 options ---------- + ------------------------------------ +*/ + +/** + * LWIP_SNMP_V3==1: This enables EXPERIMENTAL SNMPv3 support. LWIP_SNMP must + * also be enabled. + * THIS IS UNDER DEVELOPMENT AND SHOULD NOT BE ENABLED IN PRODUCTS. + */ +#ifndef LWIP_SNMP_V3 +#define LWIP_SNMP_V3 0 +#endif + +#ifndef LWIP_SNMP_V3_CRYPTO +#define LWIP_SNMP_V3_CRYPTO LWIP_SNMP_V3 +#endif + +#ifndef LWIP_SNMP_V3_MBEDTLS +#define LWIP_SNMP_V3_MBEDTLS LWIP_SNMP_V3 +#endif + +#endif /* LWIP_HDR_SNMP_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp_scalar.h b/tools/sdk/include/lwip/lwip/apps/snmp_scalar.h new file mode 100644 index 00000000..40a060c6 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp_scalar.h @@ -0,0 +1,113 @@ +/** + * @file + * SNMP server MIB API to implement scalar nodes + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Martin Hentschel + * + */ + +#ifndef LWIP_HDR_APPS_SNMP_SCALAR_H +#define LWIP_HDR_APPS_SNMP_SCALAR_H + +#include "lwip/apps/snmp_opts.h" +#include "lwip/apps/snmp_core.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +/** basic scalar node */ +struct snmp_scalar_node +{ + /** inherited "base class" members */ + struct snmp_leaf_node node; + u8_t asn1_type; + snmp_access_t access; + node_instance_get_value_method get_value; + node_instance_set_test_method set_test; + node_instance_set_value_method set_value; +}; + + +snmp_err_t snmp_scalar_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); +snmp_err_t snmp_scalar_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); + +#define SNMP_SCALAR_CREATE_NODE(oid, access, asn1_type, get_value_method, set_test_method, set_value_method) \ + {{{ SNMP_NODE_SCALAR, (oid) }, \ + snmp_scalar_get_instance, \ + snmp_scalar_get_next_instance }, \ + (asn1_type), (access), (get_value_method), (set_test_method), (set_value_method) } + +#define SNMP_SCALAR_CREATE_NODE_READONLY(oid, asn1_type, get_value_method) SNMP_SCALAR_CREATE_NODE(oid, SNMP_NODE_INSTANCE_READ_ONLY, asn1_type, get_value_method, NULL, NULL) + +/** scalar array node - a tree node which contains scalars only as children */ +struct snmp_scalar_array_node_def +{ + u32_t oid; + u8_t asn1_type; + snmp_access_t access; +}; + +typedef s16_t (*snmp_scalar_array_get_value_method)(const struct snmp_scalar_array_node_def*, void*); +typedef snmp_err_t (*snmp_scalar_array_set_test_method)(const struct snmp_scalar_array_node_def*, u16_t, void*); +typedef snmp_err_t (*snmp_scalar_array_set_value_method)(const struct snmp_scalar_array_node_def*, u16_t, void*); + +/** basic scalar array node */ +struct snmp_scalar_array_node +{ + /** inherited "base class" members */ + struct snmp_leaf_node node; + u16_t array_node_count; + const struct snmp_scalar_array_node_def* array_nodes; + snmp_scalar_array_get_value_method get_value; + snmp_scalar_array_set_test_method set_test; + snmp_scalar_array_set_value_method set_value; +}; + +snmp_err_t snmp_scalar_array_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); +snmp_err_t snmp_scalar_array_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); + +#define SNMP_SCALAR_CREATE_ARRAY_NODE(oid, array_nodes, get_value_method, set_test_method, set_value_method) \ + {{{ SNMP_NODE_SCALAR_ARRAY, (oid) }, \ + snmp_scalar_array_get_instance, \ + snmp_scalar_array_get_next_instance }, \ + (u16_t)LWIP_ARRAYSIZE(array_nodes), (array_nodes), (get_value_method), (set_test_method), (set_value_method) } + +#endif /* LWIP_SNMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_SNMP_SCALAR_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp_table.h b/tools/sdk/include/lwip/lwip/apps/snmp_table.h new file mode 100644 index 00000000..4988b51c --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp_table.h @@ -0,0 +1,134 @@ +/** + * @file + * SNMP server MIB API to implement table nodes + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Martin Hentschel + * + */ + +#ifndef LWIP_HDR_APPS_SNMP_TABLE_H +#define LWIP_HDR_APPS_SNMP_TABLE_H + +#include "lwip/apps/snmp_opts.h" +#include "lwip/apps/snmp_core.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +/** default (customizable) read/write table */ +struct snmp_table_col_def +{ + u32_t index; + u8_t asn1_type; + snmp_access_t access; +}; + +/** table node */ +struct snmp_table_node +{ + /** inherited "base class" members */ + struct snmp_leaf_node node; + u16_t column_count; + const struct snmp_table_col_def* columns; + snmp_err_t (*get_cell_instance)(const u32_t* column, const u32_t* row_oid, u8_t row_oid_len, struct snmp_node_instance* cell_instance); + snmp_err_t (*get_next_cell_instance)(const u32_t* column, struct snmp_obj_id* row_oid, struct snmp_node_instance* cell_instance); + /** returns object value for the given object identifier */ + node_instance_get_value_method get_value; + /** tests length and/or range BEFORE setting */ + node_instance_set_test_method set_test; + /** sets object value, only called when set_test() was successful */ + node_instance_set_value_method set_value; +}; + +snmp_err_t snmp_table_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); +snmp_err_t snmp_table_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); + +#define SNMP_TABLE_CREATE(oid, columns, get_cell_instance_method, get_next_cell_instance_method, get_value_method, set_test_method, set_value_method) \ + {{{ SNMP_NODE_TABLE, (oid) }, \ + snmp_table_get_instance, \ + snmp_table_get_next_instance }, \ + (u16_t)LWIP_ARRAYSIZE(columns), (columns), \ + (get_cell_instance_method), (get_next_cell_instance_method), \ + (get_value_method), (set_test_method), (set_value_method)} + +#define SNMP_TABLE_GET_COLUMN_FROM_OID(oid) ((oid)[1]) /* first array value is (fixed) row entry (fixed to 1) and 2nd value is column, follow3ed by instance */ + + +/** simple read-only table */ +typedef enum { + SNMP_VARIANT_VALUE_TYPE_U32, + SNMP_VARIANT_VALUE_TYPE_S32, + SNMP_VARIANT_VALUE_TYPE_PTR, + SNMP_VARIANT_VALUE_TYPE_CONST_PTR +} snmp_table_column_data_type_t; + +struct snmp_table_simple_col_def +{ + u32_t index; + u8_t asn1_type; + snmp_table_column_data_type_t data_type; /* depending of what union member is used to store the value*/ +}; + +/** simple read-only table node */ +struct snmp_table_simple_node +{ + /* inherited "base class" members */ + struct snmp_leaf_node node; + u16_t column_count; + const struct snmp_table_simple_col_def* columns; + snmp_err_t (*get_cell_value)(const u32_t* column, const u32_t* row_oid, u8_t row_oid_len, union snmp_variant_value* value, u32_t* value_len); + snmp_err_t (*get_next_cell_instance_and_value)(const u32_t* column, struct snmp_obj_id* row_oid, union snmp_variant_value* value, u32_t* value_len); +}; + +snmp_err_t snmp_table_simple_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); +snmp_err_t snmp_table_simple_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); + +#define SNMP_TABLE_CREATE_SIMPLE(oid, columns, get_cell_value_method, get_next_cell_instance_and_value_method) \ + {{{ SNMP_NODE_TABLE, (oid) }, \ + snmp_table_simple_get_instance, \ + snmp_table_simple_get_next_instance }, \ + (u16_t)LWIP_ARRAYSIZE(columns), (columns), (get_cell_value_method), (get_next_cell_instance_and_value_method) } + +s16_t snmp_table_extract_value_from_s32ref(struct snmp_node_instance* instance, void* value); +s16_t snmp_table_extract_value_from_u32ref(struct snmp_node_instance* instance, void* value); +s16_t snmp_table_extract_value_from_refconstptr(struct snmp_node_instance* instance, void* value); + +#endif /* LWIP_SNMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_SNMP_TABLE_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmp_threadsync.h b/tools/sdk/include/lwip/lwip/apps/snmp_threadsync.h new file mode 100644 index 00000000..a25dbf2d --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmp_threadsync.h @@ -0,0 +1,114 @@ +/** + * @file + * SNMP server MIB API to implement thread synchronization + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Dirk Ziegelmeier + * + */ + +#ifndef LWIP_HDR_APPS_SNMP_THREADSYNC_H +#define LWIP_HDR_APPS_SNMP_THREADSYNC_H + +#include "lwip/apps/snmp_opts.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/apps/snmp_core.h" +#include "lwip/sys.h" + +typedef void (*snmp_threadsync_called_fn)(void* arg); +typedef void (*snmp_threadsync_synchronizer_fn)(snmp_threadsync_called_fn fn, void* arg); + + +/** Thread sync runtime data. For internal usage only. */ +struct threadsync_data +{ + union { + snmp_err_t err; + s16_t s16; + } retval; + union { + const u32_t *root_oid; + void *value; + } arg1; + union { + u8_t root_oid_len; + u16_t len; + } arg2; + const struct snmp_threadsync_node *threadsync_node; + struct snmp_node_instance proxy_instance; +}; + +/** Thread sync instance. Needed EXCATLY once for every thread to be synced into. */ +struct snmp_threadsync_instance +{ + sys_sem_t sem; + sys_mutex_t sem_usage_mutex; + snmp_threadsync_synchronizer_fn sync_fn; + struct threadsync_data data; +}; + +/** SNMP thread sync proxy leaf node */ +struct snmp_threadsync_node +{ + /* inherited "base class" members */ + struct snmp_leaf_node node; + + const struct snmp_leaf_node *target; + struct snmp_threadsync_instance *instance; +}; + +snmp_err_t snmp_threadsync_get_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); +snmp_err_t snmp_threadsync_get_next_instance(const u32_t *root_oid, u8_t root_oid_len, struct snmp_node_instance* instance); + +/** Create thread sync proxy node */ +#define SNMP_CREATE_THREAD_SYNC_NODE(oid, target_leaf_node, threadsync_instance) \ + {{{ SNMP_NODE_THREADSYNC, (oid) }, \ + snmp_threadsync_get_instance, \ + snmp_threadsync_get_next_instance }, \ + (target_leaf_node), \ + (threadsync_instance) } + +/** Create thread sync instance data */ +void snmp_threadsync_init(struct snmp_threadsync_instance *instance, snmp_threadsync_synchronizer_fn sync_fn); + +#endif /* LWIP_SNMP */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_SNMP_THREADSYNC_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/snmpv3.h b/tools/sdk/include/lwip/lwip/apps/snmpv3.h new file mode 100644 index 00000000..c99fed4e --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/snmpv3.h @@ -0,0 +1,90 @@ +/** + * @file + * Additional SNMPv3 functionality RFC3414 and RFC3826. + */ + +/* + * Copyright (c) 2016 Elias Oenal. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Elias Oenal + */ + +#ifndef LWIP_HDR_APPS_SNMP_V3_H +#define LWIP_HDR_APPS_SNMP_V3_H + +#include "lwip/apps/snmp_opts.h" +#include "lwip/err.h" + +#if LWIP_SNMP && LWIP_SNMP_V3 + +#define SNMP_V3_AUTH_ALGO_INVAL 0 +#define SNMP_V3_AUTH_ALGO_MD5 1 +#define SNMP_V3_AUTH_ALGO_SHA 2 + +#define SNMP_V3_PRIV_ALGO_INVAL 0 +#define SNMP_V3_PRIV_ALGO_DES 1 +#define SNMP_V3_PRIV_ALGO_AES 2 + +#define SNMP_V3_PRIV_MODE_DECRYPT 0 +#define SNMP_V3_PRIV_MODE_ENCRYPT 1 + +/* + * The following callback functions must be implemented by the application. + * There is a dummy implementation in snmpv3_dummy.c. + */ + +void snmpv3_get_engine_id(const char **id, u8_t *len); +err_t snmpv3_set_engine_id(const char* id, u8_t len); + +u32_t snmpv3_get_engine_boots(void); +void snmpv3_set_engine_boots(u32_t boots); + +u32_t snmpv3_get_engine_time(void); +void snmpv3_reset_engine_time(void); + +err_t snmpv3_get_user(const char* username, u8_t *auth_algo, u8_t *auth_key, u8_t *priv_algo, u8_t *priv_key); + +/* The following functions are provided by the SNMPv3 agent */ + +void snmpv3_engine_id_changed(void); + +void snmpv3_password_to_key_md5( + const u8_t *password, /* IN */ + u8_t passwordlen, /* IN */ + const u8_t *engineID, /* IN - pointer to snmpEngineID */ + u8_t engineLength, /* IN - length of snmpEngineID */ + u8_t *key); /* OUT - pointer to caller 16-octet buffer */ + +void snmpv3_password_to_key_sha( + const u8_t *password, /* IN */ + u8_t passwordlen, /* IN */ + const u8_t *engineID, /* IN - pointer to snmpEngineID */ + u8_t engineLength, /* IN - length of snmpEngineID */ + u8_t *key); /* OUT - pointer to caller 20-octet buffer */ + +#endif + +#endif /* LWIP_HDR_APPS_SNMP_V3_H */ diff --git a/tools/sdk/include/lwip/apps/sntp/sntp.h b/tools/sdk/include/lwip/lwip/apps/sntp.h similarity index 95% rename from tools/sdk/include/lwip/apps/sntp/sntp.h rename to tools/sdk/include/lwip/lwip/apps/sntp.h index b0086936..40df9cc5 100644 --- a/tools/sdk/include/lwip/apps/sntp/sntp.h +++ b/tools/sdk/include/lwip/lwip/apps/sntp.h @@ -1,3 +1,8 @@ +/** + * @file + * SNTP client API + */ + /* * Copyright (c) 2007-2009 Frédéric Bernon, Simon Goldschmidt * All rights reserved. @@ -32,7 +37,7 @@ #ifndef LWIP_HDR_APPS_SNTP_H #define LWIP_HDR_APPS_SNTP_H -#include "apps/sntp/sntp_opts.h" +#include "lwip/apps/sntp_opts.h" #include "lwip/ip_addr.h" #ifdef __cplusplus @@ -51,7 +56,7 @@ void sntp_stop(void); u8_t sntp_enabled(void); void sntp_setserver(u8_t idx, const ip_addr_t *addr); -ip_addr_t sntp_getserver(u8_t idx); +const ip_addr_t* sntp_getserver(u8_t idx); #if SNTP_SERVER_DNS void sntp_setservername(u8_t idx, char *server); diff --git a/tools/sdk/include/lwip/apps/sntp/sntp_opts.h b/tools/sdk/include/lwip/lwip/apps/sntp_opts.h similarity index 80% rename from tools/sdk/include/lwip/apps/sntp/sntp_opts.h rename to tools/sdk/include/lwip/lwip/apps/sntp_opts.h index c8a39649..dee0f0a4 100644 --- a/tools/sdk/include/lwip/apps/sntp/sntp_opts.h +++ b/tools/sdk/include/lwip/lwip/apps/sntp_opts.h @@ -1,3 +1,8 @@ +/** + * @file + * SNTP client options list + */ + /* * Copyright (c) 2007-2009 Frédéric Bernon, Simon Goldschmidt * All rights reserved. @@ -34,48 +39,53 @@ #include "lwip/opt.h" +/** + * @defgroup sntp_opts Options + * @ingroup sntp + * @{ + */ + /** SNTP macro to change system time in seconds * Define SNTP_SET_SYSTEM_TIME_US(sec, us) to set the time in microseconds instead of this one * if you need the additional precision. */ -#ifndef SNTP_SET_SYSTEM_TIME +#if !defined SNTP_SET_SYSTEM_TIME || defined __DOXYGEN__ #define SNTP_SET_SYSTEM_TIME(sec) LWIP_UNUSED_ARG(sec) #endif /** The maximum number of SNTP servers that can be set */ -#ifndef SNTP_MAX_SERVERS +#if !defined SNTP_MAX_SERVERS || defined __DOXYGEN__ #define SNTP_MAX_SERVERS LWIP_DHCP_MAX_NTP_SERVERS #endif /** Set this to 1 to implement the callback function called by dhcp when * NTP servers are received. */ -#ifndef SNTP_GET_SERVERS_FROM_DHCP +#if !defined SNTP_GET_SERVERS_FROM_DHCP || defined __DOXYGEN__ #define SNTP_GET_SERVERS_FROM_DHCP LWIP_DHCP_GET_NTP_SRV #endif -/* Set this to 1 to support DNS names (or IP address strings) to set sntp servers */ -#ifndef SNTP_SERVER_DNS +/** Set this to 1 to support DNS names (or IP address strings) to set sntp servers + * One server address/name can be defined as default if SNTP_SERVER_DNS == 1: + * \#define SNTP_SERVER_ADDRESS "pool.ntp.org" + */ +#if !defined SNTP_SERVER_DNS || defined __DOXYGEN__ #define SNTP_SERVER_DNS 1 #endif -/** One server address/name can be defined as default if SNTP_SERVER_DNS == 1: - * #define SNTP_SERVER_ADDRESS "pool.ntp.org" - */ - /** * SNTP_DEBUG: Enable debugging for SNTP. */ -#ifndef SNTP_DEBUG +#if !defined SNTP_DEBUG || defined __DOXYGEN__ #define SNTP_DEBUG LWIP_DBG_OFF #endif /** SNTP server port */ -#ifndef SNTP_PORT +#if !defined SNTP_PORT || defined __DOXYGEN__ #define SNTP_PORT 123 #endif /** Set this to 1 to allow config of SNTP server(s) by DNS name */ -#ifndef SNTP_SERVER_DNS +#if !defined SNTP_SERVER_DNS || defined __DOXYGEN__ #define SNTP_SERVER_DNS 0 #endif @@ -93,7 +103,7 @@ * currently a cozy number like one second. This check avoids using a * server whose synchronization source has expired for a very long time. */ -#ifndef SNTP_CHECK_RESPONSE +#if !defined SNTP_CHECK_RESPONSE || defined __DOXYGEN__ #define SNTP_CHECK_RESPONSE 0 #endif @@ -103,14 +113,14 @@ * which must return the delay in milliseconds as u32_t. * Turned off by default. */ -#ifndef SNTP_STARTUP_DELAY +#if !defined SNTP_STARTUP_DELAY || defined __DOXYGEN__ #define SNTP_STARTUP_DELAY 0 #endif /** If you want the startup delay to be a function, define this * to a function (including the brackets) and define SNTP_STARTUP_DELAY to 1. */ -#ifndef SNTP_STARTUP_DELAY_FUNC +#if !defined SNTP_STARTUP_DELAY_FUNC || defined __DOXYGEN__ #define SNTP_STARTUP_DELAY_FUNC SNTP_STARTUP_DELAY #endif @@ -118,21 +128,21 @@ * Also used as retry timeout - this shouldn't be too low. * Default is 3 seconds. */ -#ifndef SNTP_RECV_TIMEOUT +#if !defined SNTP_RECV_TIMEOUT || defined __DOXYGEN__ #define SNTP_RECV_TIMEOUT 3000 #endif /** SNTP update delay - in milliseconds * Default is 1 hour. Must not be beolw 15 seconds by specification (i.e. 15000) */ -#ifndef SNTP_UPDATE_DELAY +#if !defined SNTP_UPDATE_DELAY || defined __DOXYGEN__ #define SNTP_UPDATE_DELAY 3600000 #endif /** SNTP macro to get system time, used with SNTP_CHECK_RESPONSE >= 2 * to send in request and compare in response. */ -#ifndef SNTP_GET_SYSTEM_TIME +#if !defined SNTP_GET_SYSTEM_TIME || defined __DOXYGEN__ #define SNTP_GET_SYSTEM_TIME(sec, us) do { (sec) = 0; (us) = 0; } while(0) #endif @@ -140,20 +150,24 @@ * received is invalid. * This is doubled with each retry until SNTP_RETRY_TIMEOUT_MAX is reached. */ -#ifndef SNTP_RETRY_TIMEOUT +#if !defined SNTP_RETRY_TIMEOUT || defined __DOXYGEN__ #define SNTP_RETRY_TIMEOUT SNTP_RECV_TIMEOUT #endif /** Maximum retry timeout (in milliseconds). */ -#ifndef SNTP_RETRY_TIMEOUT_MAX +#if !defined SNTP_RETRY_TIMEOUT_MAX || defined __DOXYGEN__ #define SNTP_RETRY_TIMEOUT_MAX (SNTP_RETRY_TIMEOUT * 10) #endif /** Increase retry timeout with every retry sent * Default is on to conform to RFC. */ -#ifndef SNTP_RETRY_TIMEOUT_EXP +#if !defined SNTP_RETRY_TIMEOUT_EXP || defined __DOXYGEN__ #define SNTP_RETRY_TIMEOUT_EXP 1 #endif +/** + * @} + */ + #endif /* LWIP_HDR_APPS_SNTP_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/tftp_opts.h b/tools/sdk/include/lwip/lwip/apps/tftp_opts.h new file mode 100644 index 00000000..6968a803 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/tftp_opts.h @@ -0,0 +1,105 @@ +/****************************************************************//** + * + * @file tftp_opts.h + * + * @author Logan Gunthorpe + * + * @brief Trivial File Transfer Protocol (RFC 1350) implementation options + * + * Copyright (c) Deltatee Enterprises Ltd. 2013 + * All rights reserved. + * + ********************************************************************/ + +/* + * Redistribution and use in source and binary forms, with or without + * modification,are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Author: Logan Gunthorpe + * + */ + +#ifndef LWIP_HDR_APPS_TFTP_OPTS_H +#define LWIP_HDR_APPS_TFTP_OPTS_H + +#include "lwip/opt.h" + +/** + * @defgroup tftp_opts Options + * @ingroup tftp + * @{ + */ + +/** + * Enable TFTP debug messages + */ +#if !defined TFTP_DEBUG || defined __DOXYGEN__ +#define TFTP_DEBUG LWIP_DBG_ON +#endif + +/** + * TFTP server port + */ +#if !defined TFTP_PORT || defined __DOXYGEN__ +#define TFTP_PORT 69 +#endif + +/** + * TFTP timeout + */ +#if !defined TFTP_TIMEOUT_MSECS || defined __DOXYGEN__ +#define TFTP_TIMEOUT_MSECS 10000 +#endif + +/** + * Max. number of retries when a file is read from server + */ +#if !defined TFTP_MAX_RETRIES || defined __DOXYGEN__ +#define TFTP_MAX_RETRIES 5 +#endif + +/** + * TFTP timer cyclic interval + */ +#if !defined TFTP_TIMER_MSECS || defined __DOXYGEN__ +#define TFTP_TIMER_MSECS 50 +#endif + +/** + * Max. length of TFTP filename + */ +#if !defined TFTP_MAX_FILENAME_LEN || defined __DOXYGEN__ +#define TFTP_MAX_FILENAME_LEN 20 +#endif + +/** + * Max. length of TFTP mode + */ +#if !defined TFTP_MAX_MODE_LEN || defined __DOXYGEN__ +#define TFTP_MAX_MODE_LEN 7 +#endif + +/** + * @} + */ + +#endif /* LWIP_HDR_APPS_TFTP_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/apps/tftp_server.h b/tools/sdk/include/lwip/lwip/apps/tftp_server.h new file mode 100644 index 00000000..3fbe701e --- /dev/null +++ b/tools/sdk/include/lwip/lwip/apps/tftp_server.h @@ -0,0 +1,94 @@ +/****************************************************************//** + * + * @file tftp_server.h + * + * @author Logan Gunthorpe + * + * @brief Trivial File Transfer Protocol (RFC 1350) + * + * Copyright (c) Deltatee Enterprises Ltd. 2013 + * All rights reserved. + * + ********************************************************************/ + +/* + * Redistribution and use in source and binary forms, with or without + * modification,are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Author: Logan Gunthorpe + * + */ + +#ifndef LWIP_HDR_APPS_TFTP_SERVER_H +#define LWIP_HDR_APPS_TFTP_SERVER_H + +#include "lwip/apps/tftp_opts.h" +#include "lwip/err.h" +#include "lwip/pbuf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @ingroup tftp + * TFTP context containing callback functions for TFTP transfers + */ +struct tftp_context { + /** + * Open file for read/write. + * @param fname Filename + * @param mode Mode string from TFTP RFC 1350 (netascii, octet, mail) + * @param write Flag indicating read (0) or write (!= 0) access + * @returns File handle supplied to other functions + */ + void* (*open)(const char* fname, const char* mode, u8_t write); + /** + * Close file handle + * @param handle File handle returned by open() + */ + void (*close)(void* handle); + /** + * Read from file + * @param handle File handle returned by open() + * @param buf Target buffer to copy read data to + * @param bytes Number of bytes to copy to buf + * @returns >= 0: Success; < 0: Error + */ + int (*read)(void* handle, void* buf, int bytes); + /** + * Write to file + * @param handle File handle returned by open() + * @param pbuf PBUF adjusted such that payload pointer points + * to the beginning of write data. In other words, + * TFTP headers are stripped off. + * @returns >= 0: Success; < 0: Error + */ + int (*write)(void* handle, struct pbuf* p); +}; + +err_t tftp_init(const struct tftp_context* ctx); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_APPS_TFTP_SERVER_H */ diff --git a/tools/sdk/include/lwip/lwip/arch.h b/tools/sdk/include/lwip/lwip/arch.h index 7b99c260..31d92ca3 100644 --- a/tools/sdk/include/lwip/lwip/arch.h +++ b/tools/sdk/include/lwip/lwip/arch.h @@ -1,3 +1,8 @@ +/** + * @file + * Support for different processor and compiler architectures + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -42,189 +47,269 @@ #include "arch/cc.h" -/** Temporary: define format string for size_t if not defined in cc.h */ -#ifndef SZT_F -#define SZT_F U32_F -#endif /* SZT_F */ -/** Temporary upgrade helper: define format string for u8_t as hex if not - defined in cc.h */ +/** + * @defgroup compiler_abstraction Compiler/platform abstraction + * @ingroup sys_layer + * All defines related to this section must not be placed in lwipopts.h, + * but in arch/cc.h! + * These options cannot be \#defined in lwipopts.h since they are not options + * of lwIP itself, but options of the lwIP port to your system. + * @{ + */ + +/** Define the byte order of the system. + * Needed for conversion of network data to host byte order. + * Allowed values: LITTLE_ENDIAN and BIG_ENDIAN + */ +#ifndef BYTE_ORDER +#define BYTE_ORDER LITTLE_ENDIAN +#endif + +/** Define random number generator function of your system */ +#ifdef __DOXYGEN__ +#define LWIP_RAND() ((u32_t)rand()) +#endif + +/** Platform specific diagnostic output.\n + * Note the default implementation pulls in printf, which may + * in turn pull in a lot of standard libary code. In resource-constrained + * systems, this should be defined to something less resource-consuming. + */ +#ifndef LWIP_PLATFORM_DIAG +#define LWIP_PLATFORM_DIAG(x) do {printf x;} while(0) +#include +#include +#endif + +/** Platform specific assertion handling.\n + * Note the default implementation pulls in printf, fflush and abort, which may + * in turn pull in a lot of standard libary code. In resource-constrained + * systems, this should be defined to something less resource-consuming. + */ +#ifndef LWIP_PLATFORM_ASSERT +#define LWIP_PLATFORM_ASSERT(x) do {printf("Assertion \"%s\" failed at line %d in %s\n", \ + x, __LINE__, __FILE__); fflush(NULL); abort();} while(0) +#include +#include +#endif + +/** Define this to 1 in arch/cc.h of your port if you do not want to + * include stddef.h header to get size_t. You need to typedef size_t + * by yourself in this case. + */ +#ifndef LWIP_NO_STDDEF_H +#define LWIP_NO_STDDEF_H 0 +#endif + +#if !LWIP_NO_STDDEF_H +#include /* for size_t */ +#endif + +/** Define this to 1 in arch/cc.h of your port if your compiler does not provide + * the stdint.h header. You need to typedef the generic types listed in + * lwip/arch.h yourself in this case (u8_t, u16_t...). + */ +#ifndef LWIP_NO_STDINT_H +#define LWIP_NO_STDINT_H 0 +#endif + +/* Define generic types used in lwIP */ +#if !LWIP_NO_STDINT_H +#include +typedef uint8_t u8_t; +typedef int8_t s8_t; +typedef uint16_t u16_t; +typedef int16_t s16_t; +typedef uint32_t u32_t; +typedef int32_t s32_t; +#endif + +/** Define this to 1 in arch/cc.h of your port if your compiler does not provide + * the inttypes.h header. You need to define the format strings listed in + * lwip/arch.h yourself in this case (X8_F, U16_F...). + */ +#ifndef LWIP_NO_INTTYPES_H +#define LWIP_NO_INTTYPES_H 0 +#endif + +/* Define (sn)printf formatters for these lwIP types */ +#if !LWIP_NO_INTTYPES_H +#include #ifndef X8_F -#define X8_F "02x" -#endif /* X8_F */ +#define X8_F "02" PRIx8 +#endif +#ifndef U16_F +#define U16_F PRIu16 +#endif +#ifndef S16_F +#define S16_F PRId16 +#endif +#ifndef X16_F +#define X16_F PRIx16 +#endif +#ifndef U32_F +#define U32_F PRIu32 +#endif +#ifndef S32_F +#define S32_F PRId32 +#endif +#ifndef X32_F +#define X32_F PRIx32 +#endif +#ifndef SZT_F +#define SZT_F PRIuPTR +#endif +#endif + +/** Define this to 1 in arch/cc.h of your port if your compiler does not provide + * the limits.h header. You need to define the type limits yourself in this case + * (e.g. INT_MAX). + */ +#ifndef LWIP_NO_LIMITS_H +#define LWIP_NO_LIMITS_H 0 +#endif + +/* Include limits.h? */ +#if !LWIP_NO_LIMITS_H +#include +#endif + +/** C++ const_cast(val) equivalent to remove constness from a value (GCC -Wcast-qual) */ +#ifndef LWIP_CONST_CAST +#define LWIP_CONST_CAST(target_type, val) ((target_type)((ptrdiff_t)val)) +#endif + +/** Get rid of alignment cast warnings (GCC -Wcast-align) */ +#ifndef LWIP_ALIGNMENT_CAST +#define LWIP_ALIGNMENT_CAST(target_type, val) LWIP_CONST_CAST(target_type, val) +#endif + +/** Get rid of warnings related to pointer-to-numeric and vice-versa casts, + * e.g. "conversion from 'u8_t' to 'void *' of greater size" + */ +#ifndef LWIP_PTR_NUMERIC_CAST +#define LWIP_PTR_NUMERIC_CAST(target_type, val) LWIP_CONST_CAST(target_type, val) +#endif + +/** Allocates a memory buffer of specified size that is of sufficient size to align + * its start address using LWIP_MEM_ALIGN. + * You can declare your own version here e.g. to enforce alignment without adding + * trailing padding bytes (see LWIP_MEM_ALIGN_BUFFER) or your own section placement + * requirements.\n + * e.g. if you use gcc and need 32 bit alignment:\n + * \#define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size) u8_t variable_name[size] \_\_attribute\_\_((aligned(4)))\n + * or more portable:\n + * \#define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size) u32_t variable_name[(size + sizeof(u32_t) - 1) / sizeof(u32_t)] + */ +#ifndef LWIP_DECLARE_MEMORY_ALIGNED +#define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size) u8_t variable_name[LWIP_MEM_ALIGN_BUFFER(size)] +#endif + +/** Calculate memory size for an aligned buffer - returns the next highest + * multiple of MEM_ALIGNMENT (e.g. LWIP_MEM_ALIGN_SIZE(3) and + * LWIP_MEM_ALIGN_SIZE(4) will both yield 4 for MEM_ALIGNMENT == 4). + */ +#ifndef LWIP_MEM_ALIGN_SIZE +#define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1U) & ~(MEM_ALIGNMENT-1U)) +#endif + +/** Calculate safe memory size for an aligned buffer when using an unaligned + * type as storage. This includes a safety-margin on (MEM_ALIGNMENT - 1) at the + * start (e.g. if buffer is u8_t[] and actual data will be u32_t*) + */ +#ifndef LWIP_MEM_ALIGN_BUFFER +#define LWIP_MEM_ALIGN_BUFFER(size) (((size) + MEM_ALIGNMENT - 1U)) +#endif + +/** Align a memory pointer to the alignment defined by MEM_ALIGNMENT + * so that ADDR % MEM_ALIGNMENT == 0 + */ +#ifndef LWIP_MEM_ALIGN +#define LWIP_MEM_ALIGN(addr) ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1))) +#endif #ifdef __cplusplus extern "C" { #endif +/** Packed structs support. + * Placed BEFORE declaration of a packed struct.\n + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ #ifndef PACK_STRUCT_BEGIN #define PACK_STRUCT_BEGIN #endif /* PACK_STRUCT_BEGIN */ +/** Packed structs support. + * Placed AFTER declaration of a packed struct.\n + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ #ifndef PACK_STRUCT_END #define PACK_STRUCT_END #endif /* PACK_STRUCT_END */ +/** Packed structs support. + * Placed between end of declaration of a packed struct and trailing semicolon.\n + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ #ifndef PACK_STRUCT_STRUCT +#if defined(__GNUC__) || defined(__clang__) +#define PACK_STRUCT_STRUCT __attribute__((packed)) +#else #define PACK_STRUCT_STRUCT +#endif #endif /* PACK_STRUCT_STRUCT */ +/** Packed structs support. + * Wraps u32_t and u16_t members.\n + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ #ifndef PACK_STRUCT_FIELD #define PACK_STRUCT_FIELD(x) x #endif /* PACK_STRUCT_FIELD */ -/* Used for struct fields of u8_t, - * where some compilers warn that packing is not necessary */ +/** Packed structs support. + * Wraps u8_t members, where some compilers warn that packing is not necessary.\n + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ #ifndef PACK_STRUCT_FLD_8 #define PACK_STRUCT_FLD_8(x) PACK_STRUCT_FIELD(x) #endif /* PACK_STRUCT_FLD_8 */ -/* Used for struct fields of that are packed structs themself, - * where some compilers warn that packing is not necessary */ +/** Packed structs support. + * Wraps members that are packed structs themselves, where some compilers warn that packing is not necessary.\n + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ #ifndef PACK_STRUCT_FLD_S #define PACK_STRUCT_FLD_S(x) PACK_STRUCT_FIELD(x) #endif /* PACK_STRUCT_FLD_S */ +/** Packed structs support using \#include files before and after struct to be packed.\n + * The file included BEFORE the struct is "arch/bpstruct.h".\n + * The file included AFTER the struct is "arch/epstruct.h".\n + * This can be used to implement struct packing on MS Visual C compilers, see + * the Win32 port in the lwIP contrib repository for reference. + * For examples of packed struct declarations, see include/lwip/prot/ subfolder.\n + * A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. + */ +#ifdef __DOXYGEN__ +#define PACK_STRUCT_USE_INCLUDES +#endif +/** Eliminates compiler warning about unused arguments (GCC -Wextra -Wunused). */ #ifndef LWIP_UNUSED_ARG #define LWIP_UNUSED_ARG(x) (void)x #endif /* LWIP_UNUSED_ARG */ - -#ifdef LWIP_PROVIDE_ERRNO - -#define EPERM 1 /* Operation not permitted */ -#define ENOENT 2 /* No such file or directory */ -#define ESRCH 3 /* No such process */ -#define EINTR 4 /* Interrupted system call */ -#define EIO 5 /* I/O error */ -#define ENXIO 6 /* No such device or address */ -#define E2BIG 7 /* Arg list too long */ -#define ENOEXEC 8 /* Exec format error */ -#define EBADF 9 /* Bad file number */ -#define ECHILD 10 /* No child processes */ -#define EAGAIN 11 /* Try again */ -#define ENOMEM 12 /* Out of memory */ -#define EACCES 13 /* Permission denied */ -#define EFAULT 14 /* Bad address */ -#define ENOTBLK 15 /* Block device required */ -#define EBUSY 16 /* Device or resource busy */ -#define EEXIST 17 /* File exists */ -#define EXDEV 18 /* Cross-device link */ -#define ENODEV 19 /* No such device */ -#define ENOTDIR 20 /* Not a directory */ -#define EISDIR 21 /* Is a directory */ -#define EINVAL 22 /* Invalid argument */ -#define ENFILE 23 /* File table overflow */ -#define EMFILE 24 /* Too many open files */ -#define ENOTTY 25 /* Not a typewriter */ -#define ETXTBSY 26 /* Text file busy */ -#define EFBIG 27 /* File too large */ -#define ENOSPC 28 /* No space left on device */ -#define ESPIPE 29 /* Illegal seek */ -#define EROFS 30 /* Read-only file system */ -#define EMLINK 31 /* Too many links */ -#define EPIPE 32 /* Broken pipe */ -#define EDOM 33 /* Math argument out of domain of func */ -#define ERANGE 34 /* Math result not representable */ -#define EDEADLK 35 /* Resource deadlock would occur */ -#define ENAMETOOLONG 36 /* File name too long */ -#define ENOLCK 37 /* No record locks available */ -#define ENOSYS 38 /* Function not implemented */ -#define ENOTEMPTY 39 /* Directory not empty */ -#define ELOOP 40 /* Too many symbolic links encountered */ -#define EWOULDBLOCK EAGAIN /* Operation would block */ -#define ENOMSG 42 /* No message of desired type */ -#define EIDRM 43 /* Identifier removed */ -#define ECHRNG 44 /* Channel number out of range */ -#define EL2NSYNC 45 /* Level 2 not synchronized */ -#define EL3HLT 46 /* Level 3 halted */ -#define EL3RST 47 /* Level 3 reset */ -#define ELNRNG 48 /* Link number out of range */ -#define EUNATCH 49 /* Protocol driver not attached */ -#define ENOCSI 50 /* No CSI structure available */ -#define EL2HLT 51 /* Level 2 halted */ -#define EBADE 52 /* Invalid exchange */ -#define EBADR 53 /* Invalid request descriptor */ -#define EXFULL 54 /* Exchange full */ -#define ENOANO 55 /* No anode */ -#define EBADRQC 56 /* Invalid request code */ -#define EBADSLT 57 /* Invalid slot */ - -#define EDEADLOCK EDEADLK - -#define EBFONT 59 /* Bad font file format */ -#define ENOSTR 60 /* Device not a stream */ -#define ENODATA 61 /* No data available */ -#define ETIME 62 /* Timer expired */ -#define ENOSR 63 /* Out of streams resources */ -#define ENONET 64 /* Machine is not on the network */ -#define ENOPKG 65 /* Package not installed */ -#define EREMOTE 66 /* Object is remote */ -#define ENOLINK 67 /* Link has been severed */ -#define EADV 68 /* Advertise error */ -#define ESRMNT 69 /* Srmount error */ -#define ECOMM 70 /* Communication error on send */ -#define EPROTO 71 /* Protocol error */ -#define EMULTIHOP 72 /* Multihop attempted */ -#define EDOTDOT 73 /* RFS specific error */ -#define EBADMSG 74 /* Not a data message */ -#define EOVERFLOW 75 /* Value too large for defined data type */ -#define ENOTUNIQ 76 /* Name not unique on network */ -#define EBADFD 77 /* File descriptor in bad state */ -#define EREMCHG 78 /* Remote address changed */ -#define ELIBACC 79 /* Can not access a needed shared library */ -#define ELIBBAD 80 /* Accessing a corrupted shared library */ -#define ELIBSCN 81 /* .lib section in a.out corrupted */ -#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ -#define ELIBEXEC 83 /* Cannot exec a shared library directly */ -#define EILSEQ 84 /* Illegal byte sequence */ -#define ERESTART 85 /* Interrupted system call should be restarted */ -#define ESTRPIPE 86 /* Streams pipe error */ -#define EUSERS 87 /* Too many users */ -#define ENOTSOCK 88 /* Socket operation on non-socket */ -#define EDESTADDRREQ 89 /* Destination address required */ -#define EMSGSIZE 90 /* Message too long */ -#define EPROTOTYPE 91 /* Protocol wrong type for socket */ -#define ENOPROTOOPT 92 /* Protocol not available */ -#define EPROTONOSUPPORT 93 /* Protocol not supported */ -#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ -#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT 96 /* Protocol family not supported */ -#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ -#define EADDRINUSE 98 /* Address already in use */ -#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ -#define ENETDOWN 100 /* Network is down */ -#define ENETUNREACH 101 /* Network is unreachable */ -#define ENETRESET 102 /* Network dropped connection because of reset */ -#define ECONNABORTED 103 /* Software caused connection abort */ -#define ECONNRESET 104 /* Connection reset by peer */ -#define ENOBUFS 105 /* No buffer space available */ -#define EISCONN 106 /* Transport endpoint is already connected */ -#define ENOTCONN 107 /* Transport endpoint is not connected */ -#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ -#define ETOOMANYREFS 109 /* Too many references: cannot splice */ -#define ETIMEDOUT 110 /* Connection timed out */ -#define ECONNREFUSED 111 /* Connection refused */ -#define EHOSTDOWN 112 /* Host is down */ -#define EHOSTUNREACH 113 /* No route to host */ -#define EALREADY 114 /* Operation already in progress */ -#define EINPROGRESS 115 /* Operation now in progress */ -#define ESTALE 116 /* Stale NFS file handle */ -#define EUCLEAN 117 /* Structure needs cleaning */ -#define ENOTNAM 118 /* Not a XENIX named type file */ -#define ENAVAIL 119 /* No XENIX semaphores available */ -#define EISNAM 120 /* Is a named type file */ -#define EREMOTEIO 121 /* Remote I/O error */ -#define EDQUOT 122 /* Quota exceeded */ - -#define ENOMEDIUM 123 /* No medium found */ -#define EMEDIUMTYPE 124 /* Wrong medium type */ - -#ifndef errno -extern int errno; -#endif - -#endif /* LWIP_PROVIDE_ERRNO */ +/** + * @} + */ #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/autoip.h b/tools/sdk/include/lwip/lwip/autoip.h index 16eac510..82a69b46 100644 --- a/tools/sdk/include/lwip/lwip/autoip.h +++ b/tools/sdk/include/lwip/lwip/autoip.h @@ -36,9 +36,6 @@ * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform * with RFC 3927. * - * - * Please coordinate changes and requests with Dominik Spies - * */ #ifndef LWIP_HDR_AUTOIP_H @@ -50,16 +47,17 @@ #include "lwip/netif.h" /* #include "lwip/udp.h" */ -#include "netif/etharp.h" +#include "lwip/etharp.h" #ifdef __cplusplus extern "C" { #endif -/* AutoIP Timing */ +/** AutoIP Timing */ #define AUTOIP_TMR_INTERVAL 100 #define AUTOIP_TICKS_PER_SECOND (1000 / AUTOIP_TMR_INTERVAL) +#if ESP_LWIP /* RFC 3927 Constants */ #define PROBE_WAIT 1 /* second (initial random delay) */ #define PROBE_MIN 1 /* second (minimum delay till repeated probe) */ @@ -77,43 +75,40 @@ extern "C" { #define AUTOIP_STATE_PROBING 1 #define AUTOIP_STATE_ANNOUNCING 2 #define AUTOIP_STATE_BOUND 3 +#endif +/** AutoIP state information per netif */ struct autoip { - ip4_addr_t llipaddr; /* the currently selected, probed, announced or used LL IP-Address */ - u8_t state; /* current AutoIP state machine state */ - u8_t sent_num; /* sent number of probes or announces, dependent on state */ - u16_t ttw; /* ticks to wait, tick is AUTOIP_TMR_INTERVAL long */ - u8_t lastconflict; /* ticks until a conflict can be solved by defending */ - u8_t tried_llipaddr; /* total number of probed/used Link Local IP-Addresses */ + /** the currently selected, probed, announced or used LL IP-Address */ + ip4_addr_t llipaddr; + /** current AutoIP state machine state */ + u8_t state; + /** sent number of probes or announces, dependent on state */ + u8_t sent_num; + /** ticks to wait, tick is AUTOIP_TMR_INTERVAL long */ + u16_t ttw; + /** ticks until a conflict can be solved by defending */ + u8_t lastconflict; + /** total number of probed/used Link Local IP-Addresses */ + u8_t tried_llipaddr; }; -#define autoip_init() /* Compatibility define, no init needed. */ - -/** Set a struct autoip allocated by the application to work with */ void autoip_set_struct(struct netif *netif, struct autoip *autoip); - /** Remove a struct autoip previously set to the netif using autoip_set_struct() */ #define autoip_remove_struct(netif) do { (netif)->autoip = NULL; } while (0) - -/** Start AutoIP client */ err_t autoip_start(struct netif *netif); - -/** Stop AutoIP client */ err_t autoip_stop(struct netif *netif); - -/** Handles every incoming ARP Packet, called by etharp_arp_input */ void autoip_arp_reply(struct netif *netif, struct etharp_hdr *hdr); - -/** Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds */ void autoip_tmr(void); - -/** Handle a possible change in the network configuration */ void autoip_network_changed(struct netif *netif); +u8_t autoip_supplied_address(const struct netif *netif); -/** check if AutoIP supplied netif->ip_addr */ -u8_t autoip_supplied_address(struct netif *netif); +/* for lwIP internal use by ip4.c */ +u8_t autoip_accept_packet(struct netif *netif, const ip4_addr_t *addr); + +#define netif_autoip_data(netif) ((struct autoip*)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_AUTOIP)) #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/debug.h b/tools/sdk/include/lwip/lwip/debug.h index 973a633d..a142f1cf 100644 --- a/tools/sdk/include/lwip/lwip/debug.h +++ b/tools/sdk/include/lwip/lwip/debug.h @@ -1,3 +1,8 @@ +/** + * @file + * Debug messages infrastructure + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -35,24 +40,45 @@ #include "lwip/arch.h" #include "lwip/opt.h" -/** lower two bits indicate debug level - * - 0 all - * - 1 warning - * - 2 serious - * - 3 severe +/** + * @defgroup debugging_levels LWIP_DBG_MIN_LEVEL and LWIP_DBG_TYPES_ON values + * @ingroup lwip_opts_debugmsg + * @{ */ -#define LWIP_DBG_LEVEL_ALL 0x00 -#define LWIP_DBG_LEVEL_OFF LWIP_DBG_LEVEL_ALL /* compatibility define only */ -#define LWIP_DBG_LEVEL_WARNING 0x01 /* bad checksums, dropped packets, ... */ -#define LWIP_DBG_LEVEL_SERIOUS 0x02 /* memory allocation failures, ... */ -#define LWIP_DBG_LEVEL_SEVERE 0x03 -#define LWIP_DBG_MASK_LEVEL 0x03 +/** @name Debug level (LWIP_DBG_MIN_LEVEL) + * @{ + */ +/** Debug level: ALL messages*/ +#define LWIP_DBG_LEVEL_ALL 0x00 +/** Debug level: Warnings. bad checksums, dropped packets, ... */ +#define LWIP_DBG_LEVEL_WARNING 0x01 +/** Debug level: Serious. memory allocation failures, ... */ +#define LWIP_DBG_LEVEL_SERIOUS 0x02 +/** Debug level: Severe */ +#define LWIP_DBG_LEVEL_SEVERE 0x03 +/** + * @} + */ + +#define LWIP_DBG_MASK_LEVEL 0x03 +/* compatibility define only */ +#define LWIP_DBG_LEVEL_OFF LWIP_DBG_LEVEL_ALL + +/** @name Enable/disable debug messages completely (LWIP_DBG_TYPES_ON) + * @{ + */ /** flag for LWIP_DEBUGF to enable that debug message */ #define LWIP_DBG_ON 0x80U /** flag for LWIP_DEBUGF to disable that debug message */ #define LWIP_DBG_OFF 0x00U +/** + * @} + */ +/** @name Debug message types (LWIP_DBG_TYPES_ON) + * @{ + */ /** flag for LWIP_DEBUGF indicating a tracing message (to follow program flow) */ #define LWIP_DBG_TRACE 0x40U /** flag for LWIP_DEBUGF indicating a state debug message (to follow module states) */ @@ -61,14 +87,34 @@ #define LWIP_DBG_FRESH 0x10U /** flag for LWIP_DEBUGF to halt after printing this debug message */ #define LWIP_DBG_HALT 0x08U +/** + * @} + */ /** - * LWIP_NOASSERT: Disable LWIP_ASSERT checks. - * -- To disable assertions define LWIP_NOASSERT in arch/cc.h. + * @} */ + +/** + * @defgroup lwip_assertions Assertion handling + * @ingroup lwip_opts_debug + * @{ + */ +/** + * LWIP_NOASSERT: Disable LWIP_ASSERT checks: + * To disable assertions define LWIP_NOASSERT in arch/cc.h. + */ +#ifdef __DOXYGEN__ +#define LWIP_NOASSERT +#undef LWIP_NOASSERT +#endif +/** + * @} + */ + #ifndef LWIP_NOASSERT -#define LWIP_ASSERT(message, assertion) do { if(!(assertion)) \ - LWIP_PLATFORM_ASSERT(message); } while(0) +#define LWIP_ASSERT(message, assertion) do { if (!(assertion)) { \ + LWIP_PLATFORM_ASSERT(message); }} while(0) #ifndef LWIP_PLATFORM_ASSERT #error "If you want to use LWIP_ASSERT, LWIP_PLATFORM_ASSERT(message) needs to be defined in your arch/cc.h" #endif @@ -76,7 +122,6 @@ #define LWIP_ASSERT(message, assertion) #endif /* LWIP_NOASSERT */ -/** if "expression" isn't true, then print "message" and execute "handler" expression */ #ifndef LWIP_ERROR #ifndef LWIP_NOASSERT #define LWIP_PLATFORM_ERROR(message) LWIP_PLATFORM_ASSERT(message) @@ -86,17 +131,23 @@ #define LWIP_PLATFORM_ERROR(message) #endif +/* if "expression" isn't true, then print "message" and execute "handler" expression */ #define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \ LWIP_PLATFORM_ERROR(message); handler;}} while(0) #endif /* LWIP_ERROR */ +/** Enable debug message printing, but only if debug message type is enabled + * AND is of correct type AND is at least LWIP_DBG_LEVEL. + */ +#ifdef __DOXYGEN__ +#define LWIP_DEBUG +#undef LWIP_DEBUG +#endif + #ifdef LWIP_DEBUG #ifndef LWIP_PLATFORM_DIAG #error "If you want to use LWIP_DEBUG, LWIP_PLATFORM_DIAG(message) needs to be defined in your arch/cc.h" #endif -/** print debug message only if debug message type is enabled... - * AND is of correct type AND is at least LWIP_DBG_LEVEL - */ #define LWIP_DEBUGF(debug, message) do { \ if ( \ ((debug) & LWIP_DBG_ON) && \ @@ -114,4 +165,3 @@ #endif /* LWIP_DEBUG */ #endif /* LWIP_HDR_DEBUG_H */ - diff --git a/tools/sdk/include/lwip/lwip/def.h b/tools/sdk/include/lwip/lwip/def.h index 49571363..82a9d896 100644 --- a/tools/sdk/include/lwip/lwip/def.h +++ b/tools/sdk/include/lwip/lwip/def.h @@ -1,3 +1,8 @@ +/** + * @file + * various utility macros + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -52,43 +57,20 @@ extern "C" { /* Get the number of entries in an array ('x' must NOT be a pointer!) */ #define LWIP_ARRAYSIZE(x) (sizeof(x)/sizeof((x)[0])) +/** Create u32_t value from bytes */ +#define LWIP_MAKEU32(a,b,c,d) (((u32_t)((a) & 0xff) << 24) | \ + ((u32_t)((b) & 0xff) << 16) | \ + ((u32_t)((c) & 0xff) << 8) | \ + (u32_t)((d) & 0xff)) + #ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else #define NULL ((void *)0) #endif - -/* Endianess-optimized shifting of two u8_t to create one u16_t */ -#if BYTE_ORDER == LITTLE_ENDIAN -#define LWIP_MAKE_U16(a, b) ((a << 8) | b) -#else -#define LWIP_MAKE_U16(a, b) ((b << 8) | a) #endif -#ifndef LWIP_PLATFORM_BYTESWAP -#define LWIP_PLATFORM_BYTESWAP 0 -#endif - -#ifndef LWIP_PREFIX_BYTEORDER_FUNCS -/* workaround for naming collisions on some platforms */ - -#ifdef htons -#undef htons -#endif /* htons */ -#ifdef htonl -#undef htonl -#endif /* htonl */ -#ifdef ntohs -#undef ntohs -#endif /* ntohs */ -#ifdef ntohl -#undef ntohl -#endif /* ntohl */ - -#define htons(x) lwip_htons(x) -#define ntohs(x) lwip_ntohs(x) -#define htonl(x) lwip_htonl(x) -#define ntohl(x) lwip_ntohl(x) -#endif /* LWIP_PREFIX_BYTEORDER_FUNCS */ - #if BYTE_ORDER == BIG_ENDIAN #define lwip_htons(x) (x) #define lwip_ntohs(x) (x) @@ -99,34 +81,61 @@ extern "C" { #define PP_HTONL(x) (x) #define PP_NTOHL(x) (x) #else /* BYTE_ORDER != BIG_ENDIAN */ -#if LWIP_PLATFORM_BYTESWAP -#define lwip_htons(x) LWIP_PLATFORM_HTONS(x) -#define lwip_ntohs(x) LWIP_PLATFORM_HTONS(x) -#define lwip_htonl(x) LWIP_PLATFORM_HTONL(x) -#define lwip_ntohl(x) LWIP_PLATFORM_HTONL(x) -#else /* LWIP_PLATFORM_BYTESWAP */ +#ifndef lwip_htons u16_t lwip_htons(u16_t x); -u16_t lwip_ntohs(u16_t x); +#endif +#define lwip_ntohs(x) lwip_htons(x) + +#ifndef lwip_htonl u32_t lwip_htonl(u32_t x); -u32_t lwip_ntohl(u32_t x); -#endif /* LWIP_PLATFORM_BYTESWAP */ +#endif +#define lwip_ntohl(x) lwip_htonl(x) /* These macros should be calculated by the preprocessor and are used with compile-time constants only (so that there is no little-endian overhead at runtime). */ -#define PP_HTONS(x) ((((x) & 0xff) << 8) | (((x) & 0xff00) >> 8)) +#define PP_HTONS(x) ((((x) & 0x00ffUL) << 8) | (((x) & 0xff00UL) >> 8)) #define PP_NTOHS(x) PP_HTONS(x) -#define PP_HTONL(x) ((((x) & 0xff) << 24) | \ - (((x) & 0xff00) << 8) | \ - (((x) & 0xff0000UL) >> 8) | \ +#define PP_HTONL(x) ((((x) & 0x000000ffUL) << 24) | \ + (((x) & 0x0000ff00UL) << 8) | \ + (((x) & 0x00ff0000UL) >> 8) | \ (((x) & 0xff000000UL) >> 24)) #define PP_NTOHL(x) PP_HTONL(x) - #endif /* BYTE_ORDER == BIG_ENDIAN */ +/* Provide usual function names as macros for users, but this can be turned off */ +#ifndef LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS +#define htons(x) lwip_htons(x) +#define ntohs(x) lwip_ntohs(x) +#define htonl(x) lwip_htonl(x) +#define ntohl(x) lwip_ntohl(x) +#endif + +/* Functions that are not available as standard implementations. + * In cc.h, you can #define these to implementations available on + * your platform to save some code bytes if you use these functions + * in your application, too. + */ + +#ifndef lwip_itoa +/* This can be #defined to itoa() or snprintf(result, bufsize, "%d", number) depending on your platform */ +void lwip_itoa(char* result, size_t bufsize, int number); +#endif +#ifndef lwip_strnicmp +/* This can be #defined to strnicmp() or strncasecmp() depending on your platform */ +int lwip_strnicmp(const char* str1, const char* str2, size_t len); +#endif +#ifndef lwip_stricmp +/* This can be #defined to stricmp() or strcasecmp() depending on your platform */ +int lwip_stricmp(const char* str1, const char* str2); +#endif +#ifndef lwip_strnstr +/* This can be #defined to strnstr() depending on your platform */ +char* lwip_strnstr(const char* buffer, const char* token, size_t n); +#endif + #ifdef __cplusplus } #endif #endif /* LWIP_HDR_DEF_H */ - diff --git a/tools/sdk/include/lwip/lwip/dhcp.h b/tools/sdk/include/lwip/lwip/dhcp.h index f282c8ab..23a36bb0 100644 --- a/tools/sdk/include/lwip/lwip/dhcp.h +++ b/tools/sdk/include/lwip/lwip/dhcp.h @@ -1,3 +1,8 @@ +/** + * @file + * DHCP client API + */ + /* * Copyright (c) 2001-2004 Leon Woestenberg * Copyright (c) 2001-2004 Axon Digital Design B.V., The Netherlands. @@ -45,15 +50,23 @@ extern "C" { #endif /** period (in seconds) of the application calling dhcp_coarse_tmr() */ +#if ESP_DHCP #define DHCP_COARSE_TIMER_SECS 1 +#else +#define DHCP_COARSE_TIMER_SECS 60 +#endif /** period (in milliseconds) of the application calling dhcp_coarse_tmr() */ #define DHCP_COARSE_TIMER_MSECS (DHCP_COARSE_TIMER_SECS * 1000UL) /** period (in milliseconds) of the application calling dhcp_fine_tmr() */ -#define DHCP_FINE_TIMER_MSECS 500 +#define DHCP_FINE_TIMER_MSECS 500 -#define DHCP_CHADDR_LEN 16U -#define DHCP_SNAME_LEN 64U -#define DHCP_FILE_LEN 128U +#define DHCP_BOOT_FILE_LEN 128U + +/* AutoIP cooperation flags (struct dhcp.autoip_coop_state) */ +typedef enum { + DHCP_AUTOIP_COOP_STATE_OFF = 0, + DHCP_AUTOIP_COOP_STATE_ON = 1 +} dhcp_autoip_coop_state_enum_t; struct dhcp { @@ -76,12 +89,12 @@ struct dhcp struct dhcp_msg *msg_out; /* outgoing msg */ u16_t options_out_len; /* outgoing msg options length */ u16_t request_timeout; /* #ticks with period DHCP_FINE_TIMER_SECS for request timeout */ - u32_t t1_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for renewal time */ - u32_t t2_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for rebind time */ - u32_t t1_renew_time; /* #ticks with period DHCP_COARSE_TIMER_SECS until next renew try */ - u32_t t2_rebind_time; /* #ticks with period DHCP_COARSE_TIMER_SECS until next rebind try */ - u32_t lease_used; /* #ticks with period DHCP_COARSE_TIMER_SECS since last received DHCP ack */ - u32_t t0_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for lease time */ + u16_t t1_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for renewal time */ + u16_t t2_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for rebind time */ + u16_t t1_renew_time; /* #ticks with period DHCP_COARSE_TIMER_SECS until next renew try */ + u16_t t2_rebind_time; /* #ticks with period DHCP_COARSE_TIMER_SECS until next rebind try */ + u16_t lease_used; /* #ticks with period DHCP_COARSE_TIMER_SECS since last received DHCP ack */ + u16_t t0_timeout; /* #ticks with period DHCP_COARSE_TIMER_SECS for lease time */ ip_addr_t server_ip_addr; /* dhcp server address that offered this lease (ip_addr_t because passed to UDP) */ ip4_addr_t offered_ip_addr; ip4_addr_t offered_sn_mask; @@ -91,12 +104,12 @@ struct dhcp u32_t offered_t1_renew; /* recommended renew time (usually 50% of lease period) */ u32_t offered_t2_rebind; /* recommended rebind time (usually 87.5 of lease period) */ #if LWIP_DHCP_BOOTP_FILE - ip_addr_t offered_si_addr; - char boot_file_name[DHCP_FILE_LEN]; + ip4_addr_t offered_si_addr; + char boot_file_name[DHCP_BOOT_FILE_LEN]; #endif /* LWIP_DHCP_BOOTPFILE */ /* Espressif add start. */ -#ifdef ESP_LWIP +#ifdef ESP_DHCP void (*cb)(struct netif*); /* callback for dhcp, add a parameter to show dhcp status if needed */ #else void (*cb)(void); /* callback for dhcp, add a parameter to show dhcp status if needed */ @@ -104,200 +117,36 @@ struct dhcp /* Espressif add end. */ }; -/* MUST be compiled with "pack structs" or equivalent! */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -/** minimum set of fields of any DHCP message */ -struct dhcp_msg -{ - PACK_STRUCT_FLD_8(u8_t op); - PACK_STRUCT_FLD_8(u8_t htype); - PACK_STRUCT_FLD_8(u8_t hlen); - PACK_STRUCT_FLD_8(u8_t hops); - PACK_STRUCT_FIELD(u32_t xid); - PACK_STRUCT_FIELD(u16_t secs); - PACK_STRUCT_FIELD(u16_t flags); - PACK_STRUCT_FLD_S(ip4_addr_p_t ciaddr); - PACK_STRUCT_FLD_S(ip4_addr_p_t yiaddr); - PACK_STRUCT_FLD_S(ip4_addr_p_t siaddr); - PACK_STRUCT_FLD_S(ip4_addr_p_t giaddr); - PACK_STRUCT_FLD_8(u8_t chaddr[DHCP_CHADDR_LEN]); - PACK_STRUCT_FLD_8(u8_t sname[DHCP_SNAME_LEN]); - PACK_STRUCT_FLD_8(u8_t file[DHCP_FILE_LEN]); - PACK_STRUCT_FIELD(u32_t cookie); -#define DHCP_MIN_OPTIONS_LEN 68U -/** make sure user does not configure this too small */ -#if ((defined(DHCP_OPTIONS_LEN)) && (DHCP_OPTIONS_LEN < DHCP_MIN_OPTIONS_LEN)) -# undef DHCP_OPTIONS_LEN -#endif -/** allow this to be configured in lwipopts.h, but not too small */ -#if (!defined(DHCP_OPTIONS_LEN)) -/** set this to be sufficient for your options in outgoing DHCP msgs */ -# define DHCP_OPTIONS_LEN DHCP_MIN_OPTIONS_LEN -#endif - PACK_STRUCT_FLD_8(u8_t options[DHCP_OPTIONS_LEN]); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif void dhcp_set_struct(struct netif *netif, struct dhcp *dhcp); /** Remove a struct dhcp previously set to the netif using dhcp_set_struct() */ -#define dhcp_remove_struct(netif) do { (netif)->dhcp = NULL; } while(0) +#define dhcp_remove_struct(netif) netif_set_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_DHCP, NULL) void dhcp_cleanup(struct netif *netif); +err_t dhcp_start(struct netif *netif); +err_t dhcp_renew(struct netif *netif); +err_t dhcp_release(struct netif *netif); +void dhcp_stop(struct netif *netif); +void dhcp_inform(struct netif *netif); +void dhcp_network_changed(struct netif *netif); + /* Espressif add start. */ /** set callback for DHCP */ -#ifdef ESP_LWIP +#ifdef ESP_DHCP void dhcp_set_cb(struct netif *netif, void (*cb)(struct netif*)); #else void dhcp_set_cb(struct netif *netif, void (*cb)(void)); #endif /* Espressif add end. */ -/** start DHCP configuration */ -err_t dhcp_start(struct netif *netif); -/** enforce early lease renewal (not needed normally)*/ -err_t dhcp_renew(struct netif *netif); -/** release the DHCP lease, usually called before dhcp_stop()*/ -err_t dhcp_release(struct netif *netif); -/** stop DHCP configuration */ -void dhcp_stop(struct netif *netif); -/** inform server of our manual IP address */ -void dhcp_inform(struct netif *netif); -/** Handle a possible change in the network configuration */ -void dhcp_network_changed(struct netif *netif); -/** if enabled, check whether the offered IP address is not in use, using ARP */ #if DHCP_DOES_ARP_CHECK void dhcp_arp_reply(struct netif *netif, const ip4_addr_t *addr); #endif - -/** check if DHCP supplied netif->ip_addr */ -u8_t dhcp_supplied_address(struct netif *netif); - -/** to be called every minute */ +u8_t dhcp_supplied_address(const struct netif *netif); +/* to be called every minute */ void dhcp_coarse_tmr(void); -/** to be called every half second */ +/* to be called every half second */ void dhcp_fine_tmr(void); -/** DHCP message item offsets and length */ -#define DHCP_OP_OFS 0 -#define DHCP_HTYPE_OFS 1 -#define DHCP_HLEN_OFS 2 -#define DHCP_HOPS_OFS 3 -#define DHCP_XID_OFS 4 -#define DHCP_SECS_OFS 8 -#define DHCP_FLAGS_OFS 10 -#define DHCP_CIADDR_OFS 12 -#define DHCP_YIADDR_OFS 16 -#define DHCP_SIADDR_OFS 20 -#define DHCP_GIADDR_OFS 24 -#define DHCP_CHADDR_OFS 28 -#define DHCP_SNAME_OFS 44 -#define DHCP_FILE_OFS 108 -#define DHCP_MSG_LEN 236 - -#define DHCP_COOKIE_OFS DHCP_MSG_LEN -#define DHCP_OPTIONS_OFS (DHCP_MSG_LEN + 4) - -#define DHCP_CLIENT_PORT 68 -#define DHCP_SERVER_PORT 67 - -/** DHCP client states */ -#define DHCP_STATE_OFF 0 -#define DHCP_STATE_REQUESTING 1 -#define DHCP_STATE_INIT 2 -#define DHCP_STATE_REBOOTING 3 -#define DHCP_STATE_REBINDING 4 -#define DHCP_STATE_RENEWING 5 -#define DHCP_STATE_SELECTING 6 -#define DHCP_STATE_INFORMING 7 -#define DHCP_STATE_CHECKING 8 -/** not yet implemented #define DHCP_STATE_PERMANENT 9 */ -#define DHCP_STATE_BOUND 10 -/** not yet implemented #define DHCP_STATE_RELEASING 11 */ -#define DHCP_STATE_BACKING_OFF 12 - -/** AUTOIP cooperation flags */ -#define DHCP_AUTOIP_COOP_STATE_OFF 0 -#define DHCP_AUTOIP_COOP_STATE_ON 1 - -#define DHCP_BOOTREQUEST 1 -#define DHCP_BOOTREPLY 2 - -/** DHCP message types */ -#define DHCP_DISCOVER 1 -#define DHCP_OFFER 2 -#define DHCP_REQUEST 3 -#define DHCP_DECLINE 4 -#define DHCP_ACK 5 -#define DHCP_NAK 6 -#define DHCP_RELEASE 7 -#define DHCP_INFORM 8 - -/** DHCP hardware type, currently only ethernet is supported */ -#define DHCP_HTYPE_ETH 1 - -#define DHCP_MAGIC_COOKIE 0x63825363UL - -/* This is a list of options for BOOTP and DHCP, see RFC 2132 for descriptions */ - -/** BootP options */ -#define DHCP_OPTION_PAD 0 -#define DHCP_OPTION_SUBNET_MASK 1 /* RFC 2132 3.3 */ -#define DHCP_OPTION_ROUTER 3 -#define DHCP_OPTION_DNS_SERVER 6 -#define DHCP_OPTION_HOSTNAME 12 -#define DHCP_OPTION_IP_TTL 23 -#define DHCP_OPTION_MTU 26 -#define DHCP_OPTION_BROADCAST 28 -#define DHCP_OPTION_TCP_TTL 37 -#define DHCP_OPTION_NTP 42 -#define DHCP_OPTION_END 255 - -#if ESP_LWIP -/**add options for support more router by liuHan**/ -#define DHCP_OPTION_DOMAIN_NAME 15 -#define DHCP_OPTION_PRD 31 -#define DHCP_OPTION_STATIC_ROUTER 33 -#define DHCP_OPTION_VSN 43 -#define DHCP_OPTION_NB_TINS 44 -#define DHCP_OPTION_NB_TINT 46 -#define DHCP_OPTION_NB_TIS 47 -#define DHCP_OPTION_CLASSLESS_STATIC_ROUTER 121 -#endif - - - -/** DHCP options */ -#define DHCP_OPTION_REQUESTED_IP 50 /* RFC 2132 9.1, requested IP address */ -#define DHCP_OPTION_LEASE_TIME 51 /* RFC 2132 9.2, time in seconds, in 4 bytes */ -#define DHCP_OPTION_OVERLOAD 52 /* RFC2132 9.3, use file and/or sname field for options */ - -#define DHCP_OPTION_MESSAGE_TYPE 53 /* RFC 2132 9.6, important for DHCP */ -#define DHCP_OPTION_MESSAGE_TYPE_LEN 1 - -#define DHCP_OPTION_SERVER_ID 54 /* RFC 2132 9.7, server IP address */ -#define DHCP_OPTION_PARAMETER_REQUEST_LIST 55 /* RFC 2132 9.8, requested option types */ - -#define DHCP_OPTION_MAX_MSG_SIZE 57 /* RFC 2132 9.10, message size accepted >= 576 */ -#define DHCP_OPTION_MAX_MSG_SIZE_LEN 2 - -#define DHCP_OPTION_T1 58 /* T1 renewal time */ -#define DHCP_OPTION_T2 59 /* T2 rebinding time */ -#define DHCP_OPTION_US 60 -#define DHCP_OPTION_CLIENT_ID 61 -#define DHCP_OPTION_TFTP_SERVERNAME 66 -#define DHCP_OPTION_BOOTFILE 67 - -/** possible combinations of overloading the file and sname fields with options */ -#define DHCP_OVERLOAD_NONE 0 -#define DHCP_OVERLOAD_FILE 1 -#define DHCP_OVERLOAD_SNAME 2 -#define DHCP_OVERLOAD_SNAME_FILE 3 - #if LWIP_DHCP_GET_NTP_SRV /** This function must exist, in other to add offered NTP servers to * the NTP (or SNTP) engine. @@ -305,6 +154,8 @@ void dhcp_fine_tmr(void); extern void dhcp_set_ntp_servers(u8_t num_ntp_servers, const ip4_addr_t* ntp_server_addrs); #endif /* LWIP_DHCP_GET_NTP_SRV */ +#define netif_dhcp_data(netif) ((struct dhcp*)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_DHCP)) + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/lwip/lwip/dhcp6.h b/tools/sdk/include/lwip/lwip/dhcp6.h index 345bcf00..455336d3 100644 --- a/tools/sdk/include/lwip/lwip/dhcp6.h +++ b/tools/sdk/include/lwip/lwip/dhcp6.h @@ -50,7 +50,7 @@ struct dhcp6 { - /*TODO: implement DHCP6*/ + /*@todo: implement DHCP6*/ }; #endif /* LWIP_IPV6_DHCP6 */ diff --git a/tools/sdk/include/lwip/lwip/dns.h b/tools/sdk/include/lwip/lwip/dns.h index e0802803..38ea6367 100644 --- a/tools/sdk/include/lwip/lwip/dns.h +++ b/tools/sdk/include/lwip/lwip/dns.h @@ -1,3 +1,8 @@ +/** + * @file + * DNS API + */ + /** * lwip DNS resolver header file. @@ -36,14 +41,10 @@ #include "lwip/opt.h" -#if ESP_DNS -#include "lwip/err.h" -#endif - - #if LWIP_DNS #include "lwip/ip_addr.h" +#include "lwip/err.h" #ifdef __cplusplus extern "C" { @@ -61,7 +62,7 @@ extern "C" { #ifndef LWIP_DNS_ADDRTYPE_DEFAULT #define LWIP_DNS_ADDRTYPE_DEFAULT LWIP_DNS_ADDRTYPE_IPV4_IPV6 #endif -#elif defined(LWIP_IPV4) +#elif LWIP_IPV4 #define LWIP_DNS_ADDRTYPE_DEFAULT LWIP_DNS_ADDRTYPE_IPV4 #else #define LWIP_DNS_ADDRTYPE_DEFAULT LWIP_DNS_ADDRTYPE_IPV6 @@ -76,6 +77,7 @@ struct local_hostlist_entry { ip_addr_t addr; struct local_hostlist_entry *next; }; +#define DNS_LOCAL_HOSTLIST_ELEM(name, addr_init) {name, addr_init, NULL} #if DNS_LOCAL_HOSTLIST_IS_DYNAMIC #ifndef DNS_LOCAL_HOSTLIST_MAX_NAMELEN #define DNS_LOCAL_HOSTLIST_MAX_NAMELEN DNS_MAX_NAME_LENGTH @@ -84,6 +86,13 @@ struct local_hostlist_entry { #endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ #endif /* DNS_LOCAL_HOSTLIST */ +#if LWIP_IPV4 +extern const ip_addr_t dns_mquery_v4group; +#endif /* LWIP_IPV4 */ +#if LWIP_IPV6 +extern const ip_addr_t dns_mquery_v6group; +#endif /* LWIP_IPV6 */ + /** Callback which is invoked when a hostname is found. * A function of this type must be implemented by the application using the DNS resolver. * @param name pointer to the name that was looked up. @@ -93,22 +102,32 @@ struct local_hostlist_entry { */ typedef void (*dns_found_callback)(const char *name, const ip_addr_t *ipaddr, void *callback_arg); -void dns_init(void); -void dns_tmr(void); -void dns_setserver(u8_t numdns, const ip_addr_t *dnsserver); -void dns_clear_servers(bool keep_fallback); -ip_addr_t dns_getserver(u8_t numdns); -err_t dns_gethostbyname(const char *hostname, ip_addr_t *addr, - dns_found_callback found, void *callback_arg); -err_t dns_gethostbyname_addrtype(const char *hostname, ip_addr_t *addr, - dns_found_callback found, void *callback_arg, - u8_t dns_addrtype); +void dns_init(void); +void dns_tmr(void); +void dns_setserver(u8_t numdns, const ip_addr_t *dnsserver); +#if ESP_DNS +ip_addr_t dns_getserver(u8_t numdns); +#else +const ip_addr_t* dns_getserver(u8_t numdns); +#endif +err_t dns_gethostbyname(const char *hostname, ip_addr_t *addr, + dns_found_callback found, void *callback_arg); +err_t dns_gethostbyname_addrtype(const char *hostname, ip_addr_t *addr, + dns_found_callback found, void *callback_arg, + u8_t dns_addrtype); +#if ESP_DNS +void dns_clear_servers(bool keep_fallback); +#endif -#if DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC +#if DNS_LOCAL_HOSTLIST +size_t dns_local_iterate(dns_found_callback iterator_fn, void *iterator_arg); +err_t dns_local_lookup(const char *hostname, ip_addr_t *addr, u8_t dns_addrtype); +#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC int dns_local_removehost(const char *hostname, const ip_addr_t *addr); err_t dns_local_addhost(const char *hostname, const ip_addr_t *addr); -#endif /* DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ +#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ +#endif /* DNS_LOCAL_HOSTLIST */ #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/err.h b/tools/sdk/include/lwip/lwip/err.h index a766ee18..84e528d1 100644 --- a/tools/sdk/include/lwip/lwip/err.h +++ b/tools/sdk/include/lwip/lwip/err.h @@ -1,3 +1,7 @@ +/** + * @file + * lwIP Error codes + */ /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -39,6 +43,12 @@ extern "C" { #endif +/** + * @defgroup infrastructure_errors Error codes + * @ingroup infrastructure + * @{ + */ + /** Define LWIP_ERR_T in cc.h if you want to use * a different type for your platform (must be signed). */ #ifdef LWIP_ERR_T @@ -47,40 +57,50 @@ typedef LWIP_ERR_T err_t; typedef s8_t err_t; #endif /* LWIP_ERR_T*/ -/* Definitions for error constants. */ +/** Definitions for error constants. */ +typedef enum { +/** No error, everything OK. */ + ERR_OK = 0, +/** Out of memory error. */ + ERR_MEM = -1, +/** Buffer error. */ + ERR_BUF = -2, +/** Timeout. */ + ERR_TIMEOUT = -3, +/** Routing problem. */ + ERR_RTE = -4, +/** Operation in progress */ + ERR_INPROGRESS = -5, +/** Illegal value. */ + ERR_VAL = -6, +/** Operation would block. */ + ERR_WOULDBLOCK = -7, +/** Address in use. */ + ERR_USE = -8, +/** Already connecting. */ + ERR_ALREADY = -9, +/** Conn already established.*/ + ERR_ISCONN = -10, +/** Not connected. */ + ERR_CONN = -11, +/** Low-level netif error */ + ERR_IF = -12, -#define ERR_OK 0 /* No error, everything OK. */ -#define ERR_MEM -1 /* Out of memory error. */ -#define ERR_BUF -2 /* Buffer error. */ -#define ERR_TIMEOUT -3 /* Timeout. */ -#define ERR_RTE -4 /* Routing problem. */ -#define ERR_INPROGRESS -5 /* Operation in progress */ -#define ERR_VAL -6 /* Illegal value. */ -#define ERR_WOULDBLOCK -7 /* Operation would block. */ -#define ERR_USE -8 /* Address in use. */ +/** Connection aborted. */ + ERR_ABRT = -13, +/** Connection reset. */ + ERR_RST = -14, +/** Connection closed. */ + ERR_CLSD = -15, +/** Illegal argument. */ + ERR_ARG = -16 +} err_enum_t; - -#if ESP_LWIP -#define ERR_ALREADY -9 /* Already connected. */ -#define ERR_ISCONN -10 /* Conn already established.*/ -#define ERR_IS_FATAL(e) ((e) < ERR_ISCONN) -#define ERR_ABRT -11 /* Connection aborted. */ -#define ERR_RST -12 /* Connection reset. */ -#define ERR_CLSD -13 /* Connection closed. */ -#define ERR_CONN -14 /* Not connected. */ -#define ERR_ARG -15 /* Illegal argument. */ -#define ERR_IF -16 /* Low-level netif error */ -#else -#define ERR_ALREADY -9 /* Already connecting. */ -#define ERR_ISCONN -10 /* Conn already established.*/ -#define ERR_CONN -11 /* Not connected. */ -#define ERR_IF -12 /* Low-level netif error */ #define ERR_IS_FATAL(e) ((e) <= ERR_ABRT) -#define ERR_ABRT -13 /* Connection aborted. */ -#define ERR_RST -14 /* Connection reset. */ -#define ERR_CLSD -15 /* Connection closed. */ -#define ERR_ARG -16 /* Illegal argument. */ -#endif + +/** + * @} + */ #ifdef LWIP_DEBUG extern const char *lwip_strerr(err_t err); @@ -88,6 +108,10 @@ extern const char *lwip_strerr(err_t err); #define lwip_strerr(x) "" #endif /* LWIP_DEBUG */ +#if !NO_SYS +int err_to_errno(err_t err); +#endif /* !NO_SYS */ + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/lwip/lwip/errno.h b/tools/sdk/include/lwip/lwip/errno.h new file mode 100644 index 00000000..641cffb0 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/errno.h @@ -0,0 +1,193 @@ +/** + * @file + * Posix Errno defines + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_ERRNO_H +#define LWIP_HDR_ERRNO_H + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef LWIP_PROVIDE_ERRNO + +#define EPERM 1 /* Operation not permitted */ +#define ENOENT 2 /* No such file or directory */ +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Arg list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file number */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Try again */ +#define ENOMEM 12 /* Out of memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define ENOTBLK 15 /* Block device required */ +#define EBUSY 16 /* Device or resource busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* File table overflow */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Not a typewriter */ +#define ETXTBSY 26 /* Text file busy */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Math argument out of domain of func */ +#define ERANGE 34 /* Math result not representable */ +#define EDEADLK 35 /* Resource deadlock would occur */ +#define ENAMETOOLONG 36 /* File name too long */ +#define ENOLCK 37 /* No record locks available */ +#define ENOSYS 38 /* Function not implemented */ +#define ENOTEMPTY 39 /* Directory not empty */ +#define ELOOP 40 /* Too many symbolic links encountered */ +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define ENOMSG 42 /* No message of desired type */ +#define EIDRM 43 /* Identifier removed */ +#define ECHRNG 44 /* Channel number out of range */ +#define EL2NSYNC 45 /* Level 2 not synchronized */ +#define EL3HLT 46 /* Level 3 halted */ +#define EL3RST 47 /* Level 3 reset */ +#define ELNRNG 48 /* Link number out of range */ +#define EUNATCH 49 /* Protocol driver not attached */ +#define ENOCSI 50 /* No CSI structure available */ +#define EL2HLT 51 /* Level 2 halted */ +#define EBADE 52 /* Invalid exchange */ +#define EBADR 53 /* Invalid request descriptor */ +#define EXFULL 54 /* Exchange full */ +#define ENOANO 55 /* No anode */ +#define EBADRQC 56 /* Invalid request code */ +#define EBADSLT 57 /* Invalid slot */ + +#define EDEADLOCK EDEADLK + +#define EBFONT 59 /* Bad font file format */ +#define ENOSTR 60 /* Device not a stream */ +#define ENODATA 61 /* No data available */ +#define ETIME 62 /* Timer expired */ +#define ENOSR 63 /* Out of streams resources */ +#define ENONET 64 /* Machine is not on the network */ +#define ENOPKG 65 /* Package not installed */ +#define EREMOTE 66 /* Object is remote */ +#define ENOLINK 67 /* Link has been severed */ +#define EADV 68 /* Advertise error */ +#define ESRMNT 69 /* Srmount error */ +#define ECOMM 70 /* Communication error on send */ +#define EPROTO 71 /* Protocol error */ +#define EMULTIHOP 72 /* Multihop attempted */ +#define EDOTDOT 73 /* RFS specific error */ +#define EBADMSG 74 /* Not a data message */ +#define EOVERFLOW 75 /* Value too large for defined data type */ +#define ENOTUNIQ 76 /* Name not unique on network */ +#define EBADFD 77 /* File descriptor in bad state */ +#define EREMCHG 78 /* Remote address changed */ +#define ELIBACC 79 /* Can not access a needed shared library */ +#define ELIBBAD 80 /* Accessing a corrupted shared library */ +#define ELIBSCN 81 /* .lib section in a.out corrupted */ +#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ +#define ELIBEXEC 83 /* Cannot exec a shared library directly */ +#define EILSEQ 84 /* Illegal byte sequence */ +#define ERESTART 85 /* Interrupted system call should be restarted */ +#define ESTRPIPE 86 /* Streams pipe error */ +#define EUSERS 87 /* Too many users */ +#define ENOTSOCK 88 /* Socket operation on non-socket */ +#define EDESTADDRREQ 89 /* Destination address required */ +#define EMSGSIZE 90 /* Message too long */ +#define EPROTOTYPE 91 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 92 /* Protocol not available */ +#define EPROTONOSUPPORT 93 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ +#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define EPFNOSUPPORT 96 /* Protocol family not supported */ +#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ +#define EADDRINUSE 98 /* Address already in use */ +#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ +#define ENETDOWN 100 /* Network is down */ +#define ENETUNREACH 101 /* Network is unreachable */ +#define ENETRESET 102 /* Network dropped connection because of reset */ +#define ECONNABORTED 103 /* Software caused connection abort */ +#define ECONNRESET 104 /* Connection reset by peer */ +#define ENOBUFS 105 /* No buffer space available */ +#define EISCONN 106 /* Transport endpoint is already connected */ +#define ENOTCONN 107 /* Transport endpoint is not connected */ +#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ +#define ETOOMANYREFS 109 /* Too many references: cannot splice */ +#define ETIMEDOUT 110 /* Connection timed out */ +#define ECONNREFUSED 111 /* Connection refused */ +#define EHOSTDOWN 112 /* Host is down */ +#define EHOSTUNREACH 113 /* No route to host */ +#define EALREADY 114 /* Operation already in progress */ +#define EINPROGRESS 115 /* Operation now in progress */ +#define ESTALE 116 /* Stale NFS file handle */ +#define EUCLEAN 117 /* Structure needs cleaning */ +#define ENOTNAM 118 /* Not a XENIX named type file */ +#define ENAVAIL 119 /* No XENIX semaphores available */ +#define EISNAM 120 /* Is a named type file */ +#define EREMOTEIO 121 /* Remote I/O error */ +#define EDQUOT 122 /* Quota exceeded */ + +#define ENOMEDIUM 123 /* No medium found */ +#define EMEDIUMTYPE 124 /* Wrong medium type */ + +#ifndef errno +extern int errno; +#endif + +#else /* LWIP_PROVIDE_ERRNO */ + +/* Define LWIP_ERRNO_INCLUDE to to include the error defines here */ +#ifdef LWIP_ERRNO_INCLUDE +#include LWIP_ERRNO_INCLUDE +#endif /* LWIP_ERRNO_INCLUDE */ + +#endif /* LWIP_PROVIDE_ERRNO */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_ERRNO_H */ diff --git a/tools/sdk/include/lwip/lwip/etharp.h b/tools/sdk/include/lwip/lwip/etharp.h new file mode 100644 index 00000000..0662f072 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/etharp.h @@ -0,0 +1,116 @@ +/** + * @file + * Ethernet output function - handles OUTGOING ethernet level traffic, implements + * ARP resolving. + * To be used in most low-level netif implementations + */ + +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * Copyright (c) 2003-2004 Leon Woestenberg + * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ + +#ifndef LWIP_HDR_NETIF_ETHARP_H +#define LWIP_HDR_NETIF_ETHARP_H + +#include "lwip/opt.h" + +#if LWIP_ARP || LWIP_ETHERNET /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/pbuf.h" +#include "lwip/ip4_addr.h" +#include "lwip/netif.h" +#include "lwip/ip4.h" +#include "lwip/prot/ethernet.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_IPV4 && LWIP_ARP /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/prot/etharp.h" + +/** 1 seconds period */ +#define ARP_TMR_INTERVAL 1000 + +#if ARP_QUEUEING +/** struct for queueing outgoing packets for unknown address + * defined here to be accessed by memp.h + */ +struct etharp_q_entry { + struct etharp_q_entry *next; + struct pbuf *p; +}; +#endif /* ARP_QUEUEING */ + +#if ESP_GRATUITOUS_ARP +#ifdef CONFIG_GARP_TMR_INTERVAL +#define GARP_TMR_INTERVAL (CONFIG_GARP_TMR_INTERVAL*1000UL) +#else +#define GARP_TMR_INTERVAL 60000 +#endif + +void garp_tmr(void); +#endif + +#define etharp_init() /* Compatibility define, no init needed. */ +void etharp_tmr(void); +s8_t etharp_find_addr(struct netif *netif, const ip4_addr_t *ipaddr, + struct eth_addr **eth_ret, const ip4_addr_t **ip_ret); +u8_t etharp_get_entry(u8_t i, ip4_addr_t **ipaddr, struct netif **netif, struct eth_addr **eth_ret); +err_t etharp_output(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr); +err_t etharp_query(struct netif *netif, const ip4_addr_t *ipaddr, struct pbuf *q); +err_t etharp_request(struct netif *netif, const ip4_addr_t *ipaddr); +/** For Ethernet network interfaces, we might want to send "gratuitous ARP"; + * this is an ARP packet sent by a node in order to spontaneously cause other + * nodes to update an entry in their ARP cache. + * From RFC 3220 "IP Mobility Support for IPv4" section 4.6. */ +#define etharp_gratuitous(netif) etharp_request((netif), netif_ip4_addr(netif)) +void etharp_cleanup_netif(struct netif *netif); + +#if ETHARP_SUPPORT_STATIC_ENTRIES +err_t etharp_add_static_entry(const ip4_addr_t *ipaddr, struct eth_addr *ethaddr); +err_t etharp_remove_static_entry(const ip4_addr_t *ipaddr); +#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */ + +#endif /* LWIP_IPV4 && LWIP_ARP */ + +void etharp_input(struct pbuf *p, struct netif *netif); + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_ARP || LWIP_ETHERNET */ + +#endif /* LWIP_HDR_NETIF_ETHARP_H */ diff --git a/tools/sdk/include/lwip/lwip/icmp.h b/tools/sdk/include/lwip/lwip/icmp.h index af3a4550..f5a31fd4 100644 --- a/tools/sdk/include/lwip/lwip/icmp.h +++ b/tools/sdk/include/lwip/lwip/icmp.h @@ -1,3 +1,8 @@ +/** + * @file + * ICMP API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -36,6 +41,7 @@ #include "lwip/pbuf.h" #include "lwip/ip_addr.h" #include "lwip/netif.h" +#include "lwip/prot/icmp.h" #if LWIP_IPV6 && LWIP_ICMP6 #include "lwip/icmp6.h" @@ -45,63 +51,30 @@ extern "C" { #endif -#define ICMP_ER 0 /* echo reply */ -#define ICMP_DUR 3 /* destination unreachable */ -#define ICMP_SQ 4 /* source quench */ -#define ICMP_RD 5 /* redirect */ -#define ICMP_ECHO 8 /* echo */ -#define ICMP_TE 11 /* time exceeded */ -#define ICMP_PP 12 /* parameter problem */ -#define ICMP_TS 13 /* timestamp */ -#define ICMP_TSR 14 /* timestamp reply */ -#define ICMP_IRQ 15 /* information request */ -#define ICMP_IR 16 /* information reply */ -#define ICMP_AM 17 /* address mask request */ -#define ICMP_AMR 18 /* address mask reply */ - +/** ICMP destination unreachable codes */ enum icmp_dur_type { - ICMP_DUR_NET = 0, /* net unreachable */ - ICMP_DUR_HOST = 1, /* host unreachable */ - ICMP_DUR_PROTO = 2, /* protocol unreachable */ - ICMP_DUR_PORT = 3, /* port unreachable */ - ICMP_DUR_FRAG = 4, /* fragmentation needed and DF set */ - ICMP_DUR_SR = 5 /* source route failed */ + /** net unreachable */ + ICMP_DUR_NET = 0, + /** host unreachable */ + ICMP_DUR_HOST = 1, + /** protocol unreachable */ + ICMP_DUR_PROTO = 2, + /** port unreachable */ + ICMP_DUR_PORT = 3, + /** fragmentation needed and DF set */ + ICMP_DUR_FRAG = 4, + /** source route failed */ + ICMP_DUR_SR = 5 }; +/** ICMP time exceeded codes */ enum icmp_te_type { - ICMP_TE_TTL = 0, /* time to live exceeded in transit */ - ICMP_TE_FRAG = 1 /* fragment reassembly time exceeded */ + /** time to live exceeded in transit */ + ICMP_TE_TTL = 0, + /** fragment reassembly time exceeded */ + ICMP_TE_FRAG = 1 }; -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -/** This is the standard ICMP header only that the u32_t data - * is split to two u16_t like ICMP echo needs it. - * This header is also used for other ICMP types that do not - * use the data part. - */ -PACK_STRUCT_BEGIN -struct icmp_echo_hdr { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u16_t id); - PACK_STRUCT_FIELD(u16_t seqno); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define ICMPH_TYPE(hdr) ((hdr)->type) -#define ICMPH_CODE(hdr) ((hdr)->code) - -/** Combines type and code to an u16_t */ -#define ICMPH_TYPE_SET(hdr, t) ((hdr)->type = (t)) -#define ICMPH_CODE_SET(hdr, c) ((hdr)->code = (c)) - - #if LWIP_IPV4 && LWIP_ICMP /* don't build if not configured for use in lwipopts.h */ void icmp_input(struct pbuf *p, struct netif *inp); diff --git a/tools/sdk/include/lwip/lwip/icmp6.h b/tools/sdk/include/lwip/lwip/icmp6.h index 9d57103f..a29dc8c1 100644 --- a/tools/sdk/include/lwip/lwip/icmp6.h +++ b/tools/sdk/include/lwip/lwip/icmp6.h @@ -45,94 +45,12 @@ #include "lwip/pbuf.h" #include "lwip/ip6_addr.h" #include "lwip/netif.h" - +#include "lwip/prot/icmp6.h" #ifdef __cplusplus extern "C" { #endif -enum icmp6_type { - ICMP6_TYPE_DUR = 1, /* Destination unreachable */ - ICMP6_TYPE_PTB = 2, /* Packet too big */ - ICMP6_TYPE_TE = 3, /* Time exceeded */ - ICMP6_TYPE_PP = 4, /* Parameter problem */ - ICMP6_TYPE_PE1 = 100, /* Private experimentation */ - ICMP6_TYPE_PE2 = 101, /* Private experimentation */ - ICMP6_TYPE_RSV_ERR = 127, /* Reserved for expansion of error messages */ - - ICMP6_TYPE_EREQ = 128, /* Echo request */ - ICMP6_TYPE_EREP = 129, /* Echo reply */ - ICMP6_TYPE_MLQ = 130, /* Multicast listener query */ - ICMP6_TYPE_MLR = 131, /* Multicast listener report */ - ICMP6_TYPE_MLD = 132, /* Multicast listener done */ - ICMP6_TYPE_RS = 133, /* Router solicitation */ - ICMP6_TYPE_RA = 134, /* Router advertisement */ - ICMP6_TYPE_NS = 135, /* Neighbor solicitation */ - ICMP6_TYPE_NA = 136, /* Neighbor advertisement */ - ICMP6_TYPE_RD = 137, /* Redirect */ - ICMP6_TYPE_MRA = 151, /* Multicast router advertisement */ - ICMP6_TYPE_MRS = 152, /* Multicast router solicitation */ - ICMP6_TYPE_MRT = 153, /* Multicast router termination */ - ICMP6_TYPE_PE3 = 200, /* Private experimentation */ - ICMP6_TYPE_PE4 = 201, /* Private experimentation */ - ICMP6_TYPE_RSV_INF = 255 /* Reserved for expansion of informational messages */ -}; - -enum icmp6_dur_code { - ICMP6_DUR_NO_ROUTE = 0, /* No route to destination */ - ICMP6_DUR_PROHIBITED = 1, /* Communication with destination administratively prohibited */ - ICMP6_DUR_SCOPE = 2, /* Beyond scope of source address */ - ICMP6_DUR_ADDRESS = 3, /* Address unreachable */ - ICMP6_DUR_PORT = 4, /* Port unreachable */ - ICMP6_DUR_POLICY = 5, /* Source address failed ingress/egress policy */ - ICMP6_DUR_REJECT_ROUTE = 6 /* Reject route to destination */ -}; - -enum icmp6_te_code { - ICMP6_TE_HL = 0, /* Hop limit exceeded in transit */ - ICMP6_TE_FRAG = 1 /* Fragment reassembly time exceeded */ -}; - -enum icmp6_pp_code { - ICMP6_PP_FIELD = 0, /* Erroneous header field encountered */ - ICMP6_PP_HEADER = 1, /* Unrecognized next header type encountered */ - ICMP6_PP_OPTION = 2 /* Unrecognized IPv6 option encountered */ -}; - -/** This is the standard ICMP6 header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct icmp6_hdr { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u32_t data); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** This is the ICMP6 header adapted for echo req/resp. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct icmp6_echo_hdr { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u16_t id); - PACK_STRUCT_FIELD(u16_t seqno); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - - #if LWIP_ICMP6 && LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */ void icmp6_input(struct pbuf *p, struct netif *inp); diff --git a/tools/sdk/include/lwip/lwip/igmp.h b/tools/sdk/include/lwip/lwip/igmp.h index bff1a613..ffd80e68 100644 --- a/tools/sdk/include/lwip/lwip/igmp.h +++ b/tools/sdk/include/lwip/lwip/igmp.h @@ -1,3 +1,8 @@ +/** + * @file + * IGMP API + */ + /* * Copyright (c) 2002 CITEL Technologies Ltd. * All rights reserved. @@ -46,17 +51,14 @@ extern "C" { #endif - /* IGMP timer */ #define IGMP_TMR_INTERVAL 100 /* Milliseconds */ #define IGMP_V1_DELAYING_MEMBER_TMR (1000/IGMP_TMR_INTERVAL) #define IGMP_JOIN_DELAYING_MEMBER_TMR (500 /IGMP_TMR_INTERVAL) -/* MAC Filter Actions, these are passed to a netif's - * igmp_mac_filter callback function. */ -#define IGMP_DEL_MAC_FILTER 0 -#define IGMP_ADD_MAC_FILTER 1 - +/* Compatibility defines (don't use for new code) */ +#define IGMP_DEL_MAC_FILTER NETIF_DEL_MAC_FILTER +#define IGMP_ADD_MAC_FILTER NETIF_ADD_MAC_FILTER /** * igmp group structure - there is @@ -70,10 +72,8 @@ extern "C" { * from all the other groups */ struct igmp_group { - /** next link */ + /** next link */ struct igmp_group *next; - /** interface on which the group is active */ - struct netif *netif; /** multicast address */ ip4_addr_t group_address; /** signifies we were the last person to report */ @@ -83,7 +83,7 @@ struct igmp_group { /** timer for reporting, negative is OFF */ u16_t timer; /** counter of simultaneous uses */ - u8_t use; + u8_t use; }; /* Prototypes */ @@ -99,6 +99,13 @@ err_t igmp_leavegroup(const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr); err_t igmp_leavegroup_netif(struct netif *netif, const ip4_addr_t *groupaddr); void igmp_tmr(void); +/** @ingroup igmp + * Get list head of IGMP groups for netif. + * Note: The allsystems group IP is contained in the list as first entry. + * @see @ref netif_set_igmp_mac_filter() + */ +#define netif_igmp_data(netif) ((struct igmp_group *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_IGMP)) + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/lwip/lwip/inet.h b/tools/sdk/include/lwip/lwip/inet.h index 036cd988..4a34f026 100644 --- a/tools/sdk/include/lwip/lwip/inet.h +++ b/tools/sdk/include/lwip/lwip/inet.h @@ -132,10 +132,10 @@ extern const struct in6_addr in6addr_any; #if LWIP_IPV4 -#define inet_addr_from_ipaddr(target_inaddr, source_ipaddr) ((target_inaddr)->s_addr = ip4_addr_get_u32(source_ipaddr)) -#define inet_addr_to_ipaddr(target_ipaddr, source_inaddr) (ip4_addr_set_u32(target_ipaddr, (source_inaddr)->s_addr)) -/* ATTENTION: the next define only works because both s_addr and ip_addr_t are an u32_t effectively! */ -#define inet_addr_to_ipaddr_p(target_ipaddr_p, source_inaddr) ((target_ipaddr_p) = (ip_addr_t*)&((source_inaddr)->s_addr)) +#define inet_addr_from_ip4addr(target_inaddr, source_ipaddr) ((target_inaddr)->s_addr = ip4_addr_get_u32(source_ipaddr)) +#define inet_addr_to_ip4addr(target_ipaddr, source_inaddr) (ip4_addr_set_u32(target_ipaddr, (source_inaddr)->s_addr)) +/* ATTENTION: the next define only works because both s_addr and ip4_addr_t are an u32_t effectively! */ +#define inet_addr_to_ip4addr_p(target_ip4addr_p, source_inaddr) ((target_ip4addr_p) = (ip4_addr_t*)&((source_inaddr)->s_addr)) /* directly map this to the lwip internal functions */ #define inet_addr(cp) ipaddr_addr(cp) diff --git a/tools/sdk/include/lwip/lwip/inet_chksum.h b/tools/sdk/include/lwip/lwip/inet_chksum.h index 1766f4b5..4e23d7f1 100644 --- a/tools/sdk/include/lwip/lwip/inet_chksum.h +++ b/tools/sdk/include/lwip/lwip/inet_chksum.h @@ -1,3 +1,8 @@ +/** + * @file + * IP checksum calculation functions + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -37,15 +42,9 @@ #include "lwip/pbuf.h" #include "lwip/ip_addr.h" -/** Swap the bytes in an u16_t: much like htons() for little-endian */ +/** Swap the bytes in an u16_t: much like lwip_htons() for little-endian */ #ifndef SWAP_BYTES_IN_WORD -#if LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN) -/* little endian and PLATFORM_BYTESWAP defined */ -#define SWAP_BYTES_IN_WORD(w) LWIP_PLATFORM_HTONS(w) -#else /* LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN) */ -/* can't use htons on big endian (or PLATFORM_BYTESWAP not defined)... */ #define SWAP_BYTES_IN_WORD(w) (((w) & 0xff) << 8) | (((w) & 0xff00) >> 8) -#endif /* LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN)*/ #endif /* SWAP_BYTES_IN_WORD */ /** Split an u32_t in two u16_ts and add them up */ diff --git a/tools/sdk/include/lwip/lwip/init.h b/tools/sdk/include/lwip/lwip/init.h index 70351b86..3c234cb5 100644 --- a/tools/sdk/include/lwip/lwip/init.h +++ b/tools/sdk/include/lwip/lwip/init.h @@ -1,3 +1,8 @@ +/** + * @file + * lwIP initialization API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -38,29 +43,52 @@ extern "C" { #endif +/** + * @defgroup lwip_version Version + * @ingroup lwip + * @{ + */ + /** X.x.x: Major version of the stack */ -#define LWIP_VERSION_MAJOR 1U +#define LWIP_VERSION_MAJOR 2 /** x.X.x: Minor version of the stack */ -#define LWIP_VERSION_MINOR 5U +#define LWIP_VERSION_MINOR 0 /** x.x.X: Revision of the stack */ -#define LWIP_VERSION_REVISION 0U +#define LWIP_VERSION_REVISION 3 /** For release candidates, this is set to 1..254 * For official releases, this is set to 255 (LWIP_RC_RELEASE) * For development versions (Git), this is set to 0 (LWIP_RC_DEVELOPMENT) */ -#define LWIP_VERSION_RC 0U +#define LWIP_VERSION_RC LWIP_RC_RELEASE /** LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */ -#define LWIP_RC_RELEASE 255U +#define LWIP_RC_RELEASE 255 /** LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for Git versions */ -#define LWIP_RC_DEVELOPMENT 0U +#define LWIP_RC_DEVELOPMENT 0 #define LWIP_VERSION_IS_RELEASE (LWIP_VERSION_RC == LWIP_RC_RELEASE) #define LWIP_VERSION_IS_DEVELOPMENT (LWIP_VERSION_RC == LWIP_RC_DEVELOPMENT) #define LWIP_VERSION_IS_RC ((LWIP_VERSION_RC != LWIP_RC_RELEASE) && (LWIP_VERSION_RC != LWIP_RC_DEVELOPMENT)) +/* Some helper defines to get a version string */ +#define LWIP_VERSTR2(x) #x +#define LWIP_VERSTR(x) LWIP_VERSTR2(x) +#if LWIP_VERSION_IS_RELEASE +#define LWIP_VERSION_STRING_SUFFIX "" +#elif LWIP_VERSION_IS_DEVELOPMENT +#define LWIP_VERSION_STRING_SUFFIX "d" +#else +#define LWIP_VERSION_STRING_SUFFIX "rc" LWIP_VERSTR(LWIP_VERSION_RC) +#endif + /** Provides the version of the stack */ -#define LWIP_VERSION (LWIP_VERSION_MAJOR << 24 | LWIP_VERSION_MINOR << 16 | \ - LWIP_VERSION_REVISION << 8 | LWIP_VERSION_RC) +#define LWIP_VERSION (((u32_t)LWIP_VERSION_MAJOR) << 24 | ((u32_t)LWIP_VERSION_MINOR) << 16 | \ + ((u32_t)LWIP_VERSION_REVISION) << 8 | ((u32_t)LWIP_VERSION_RC)) +/** Provides the version of the stack as string */ +#define LWIP_VERSION_STRING LWIP_VERSTR(LWIP_VERSION_MAJOR) "." LWIP_VERSTR(LWIP_VERSION_MINOR) "." LWIP_VERSTR(LWIP_VERSION_REVISION) LWIP_VERSION_STRING_SUFFIX + +/** + * @} + */ /* Modules initialization */ void lwip_init(void); diff --git a/tools/sdk/include/lwip/lwip/ip.h b/tools/sdk/include/lwip/lwip/ip.h index d42fe681..0673be9b 100644 --- a/tools/sdk/include/lwip/lwip/ip.h +++ b/tools/sdk/include/lwip/lwip/ip.h @@ -1,3 +1,8 @@ +/** + * @file + * IP API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -29,8 +34,8 @@ * Author: Adam Dunkels * */ -#ifndef LWIP_HDR_IP_H__ -#define LWIP_HDR_IP_H__ +#ifndef LWIP_HDR_IP_H +#define LWIP_HDR_IP_H #include "lwip/opt.h" @@ -41,27 +46,16 @@ #include "lwip/netif.h" #include "lwip/ip4.h" #include "lwip/ip6.h" +#include "lwip/prot/ip.h" #ifdef __cplusplus extern "C" { #endif -#define IP_PROTO_ICMP 1 -#define IP_PROTO_IGMP 2 -#define IP_PROTO_UDP 17 -#define IP_PROTO_UDPLITE 136 -#define IP_PROTO_TCP 6 - -/** This operates on a void* by loading the first byte */ -#define IP_HDR_GET_VERSION(ptr) ((*(u8_t*)(ptr)) >> 4) - /* This is passed as the destination address to ip_output_if (not to ip_output), meaning that an IP header already is constructed in the pbuf. This is used when TCP retransmits. */ -#ifdef IP_HDRINCL -#undef IP_HDRINCL -#endif /* IP_HDRINCL */ -#define IP_HDRINCL NULL +#define LWIP_IP_HDRINCL NULL /** pbufs passed to IP must have a ref-count of 1 as their payload pointer gets altered as the packet is passed down the stack */ @@ -75,7 +69,7 @@ extern "C" { #define IP_PCB_ADDRHINT #endif /* LWIP_NETIF_HWADDRHINT */ -/* This is the common part of all PCB types. It needs to be at the +/** This is the common part of all PCB types. It needs to be at the beginning of a PCB type definition. It is located here so that changes to this common part are made in one location instead of having to change all PCB structs. */ @@ -107,7 +101,7 @@ struct ip_pcb { /* These flags are inherited (e.g. from a listen-pcb to a connection-pcb): */ #define SOF_INHERITED (SOF_REUSEADDR|SOF_KEEPALIVE) -/* Global variables of this module, kept in a struct for efficient access using base+index. */ +/** Global variables of this module, kept in a struct for efficient access using base+index. */ struct ip_globals { /** The interface that accepted the packet for the current callback invocation. */ @@ -225,26 +219,47 @@ extern struct ip_globals ip_data; #define ip_reset_option(pcb, opt) ((pcb)->so_options &= ~(opt)) #if LWIP_IPV4 && LWIP_IPV6 +/** + * @ingroup ip + * Output IP packet, netif is selected by source address + */ #define ip_output(p, src, dest, ttl, tos, proto) \ (IP_IS_V6(dest) ? \ ip6_output(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto) : \ ip4_output(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto)) +/** + * @ingroup ip + * Output IP packet to specified interface + */ #define ip_output_if(p, src, dest, ttl, tos, proto, netif) \ (IP_IS_V6(dest) ? \ ip6_output_if(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto, netif) : \ ip4_output_if(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto, netif)) +/** + * @ingroup ip + * Output IP packet to interface specifying source address + */ #define ip_output_if_src(p, src, dest, ttl, tos, proto, netif) \ (IP_IS_V6(dest) ? \ ip6_output_if_src(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto, netif) : \ ip4_output_if_src(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto, netif)) +/** Output IP packet with addr_hint */ #define ip_output_hinted(p, src, dest, ttl, tos, proto, addr_hint) \ (IP_IS_V6(dest) ? \ ip6_output_hinted(p, ip_2_ip6(src), ip_2_ip6(dest), ttl, tos, proto, addr_hint) : \ ip4_output_hinted(p, ip_2_ip4(src), ip_2_ip4(dest), ttl, tos, proto, addr_hint)) +/** + * @ingroup ip + * Get netif for address combination. See \ref ip6_route and \ref ip4_route + */ #define ip_route(src, dest) \ (IP_IS_V6(dest) ? \ ip6_route(ip_2_ip6(src), ip_2_ip6(dest)) : \ ip4_route_src(ip_2_ip4(dest), ip_2_ip4(src))) +/** + * @ingroup ip + * Get netif for IP. + */ #define ip_netif_get_local_ip(netif, dest) (IP_IS_V6(dest) ? \ ip6_netif_get_local_ip(netif, ip_2_ip6(dest)) : \ ip4_netif_get_local_ip(netif)) @@ -299,6 +314,6 @@ err_t ip_input(struct pbuf *p, struct netif *inp); } #endif -#endif /* LWIP_HDR_IP_H__ */ +#endif /* LWIP_HDR_IP_H */ diff --git a/tools/sdk/include/lwip/lwip/ip4.h b/tools/sdk/include/lwip/lwip/ip4.h index e69e55c7..48246ecc 100644 --- a/tools/sdk/include/lwip/lwip/ip4.h +++ b/tools/sdk/include/lwip/lwip/ip4.h @@ -1,3 +1,8 @@ +/** + * @file + * IPv4 API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -41,6 +46,7 @@ #include "lwip/ip4_addr.h" #include "lwip/err.h" #include "lwip/netif.h" +#include "lwip/prot/ip4.h" #ifdef __cplusplus extern "C" { @@ -55,62 +61,6 @@ extern "C" { /** Currently, the function ip_output_if_opt() is only used with IGMP */ #define IP_OPTIONS_SEND (LWIP_IPV4 && LWIP_IGMP) -#define IP_HLEN 20 - - -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ip_hdr { - /* version / header length */ - PACK_STRUCT_FLD_8(u8_t _v_hl); - /* type of service */ - PACK_STRUCT_FLD_8(u8_t _tos); - /* total length */ - PACK_STRUCT_FIELD(u16_t _len); - /* identification */ - PACK_STRUCT_FIELD(u16_t _id); - /* fragment offset field */ - PACK_STRUCT_FIELD(u16_t _offset); -#define IP_RF 0x8000U /* reserved fragment flag */ -#define IP_DF 0x4000U /* don't fragment flag */ -#define IP_MF 0x2000U /* more fragments flag */ -#define IP_OFFMASK 0x1fffU /* mask for fragmenting bits */ - /* time to live */ - PACK_STRUCT_FLD_8(u8_t _ttl); - /* protocol*/ - PACK_STRUCT_FLD_8(u8_t _proto); - /* checksum */ - PACK_STRUCT_FIELD(u16_t _chksum); - /* source and destination IP addresses */ - PACK_STRUCT_FLD_S(ip4_addr_p_t src); - PACK_STRUCT_FLD_S(ip4_addr_p_t dest); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define IPH_V(hdr) ((hdr)->_v_hl >> 4) -#define IPH_HL(hdr) ((hdr)->_v_hl & 0x0f) -#define IPH_TOS(hdr) ((hdr)->_tos) -#define IPH_LEN(hdr) ((hdr)->_len) -#define IPH_ID(hdr) ((hdr)->_id) -#define IPH_OFFSET(hdr) ((hdr)->_offset) -#define IPH_TTL(hdr) ((hdr)->_ttl) -#define IPH_PROTO(hdr) ((hdr)->_proto) -#define IPH_CHKSUM(hdr) ((hdr)->_chksum) - -#define IPH_VHL_SET(hdr, v, hl) (hdr)->_v_hl = (u8_t)((((v) << 4) | (hl))) -#define IPH_TOS_SET(hdr, tos) (hdr)->_tos = (tos) -#define IPH_LEN_SET(hdr, len) (hdr)->_len = (len) -#define IPH_ID_SET(hdr, id) (hdr)->_id = (id) -#define IPH_OFFSET_SET(hdr, off) (hdr)->_offset = (off) -#define IPH_TTL_SET(hdr, ttl) (hdr)->_ttl = (u8_t)(ttl) -#define IPH_PROTO_SET(hdr, proto) (hdr)->_proto = (u8_t)(proto) -#define IPH_CHKSUM_SET(hdr, chksum) (hdr)->_chksum = (chksum) - #define ip_init() /* Compatibility define, no init needed. */ struct netif *ip4_route(const ip4_addr_t *dest); #if LWIP_IPV4_SRC_ROUTING diff --git a/tools/sdk/include/lwip/lwip/ip4_addr.h b/tools/sdk/include/lwip/lwip/ip4_addr.h index 9483a2f7..51b46b8d 100644 --- a/tools/sdk/include/lwip/lwip/ip4_addr.h +++ b/tools/sdk/include/lwip/lwip/ip4_addr.h @@ -1,3 +1,8 @@ +/** + * @file + * IPv4 address API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -41,32 +46,17 @@ extern "C" { #endif -/* This is the aligned version of ip4_addr_t, +/** This is the aligned version of ip4_addr_t, used as local variable, on the stack, etc. */ struct ip4_addr { u32_t addr; }; -/* This is the packed version of ip4_addr_t, - used in network headers that are itself packed */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ip4_addr_packed { - PACK_STRUCT_FIELD(u32_t addr); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - /** ip4_addr_t uses a struct for convenience only, so that the same defines can * operate both on ip4_addr_t as well as on ip4_addr_p_t. */ typedef struct ip4_addr ip4_addr_t; -typedef struct ip4_addr_packed ip4_addr_p_t; -/* +/** * struct ipaddr2 is used in the definition of the ARP packet format in * order to support compilers that don't have structure packing. */ @@ -126,23 +116,8 @@ struct netif; #define IP_LOOPBACKNET 127 /* official! */ - -#if BYTE_ORDER == BIG_ENDIAN /** Set an IP address given by the four byte-parts */ -#define IP4_ADDR(ipaddr, a,b,c,d) \ - (ipaddr)->addr = ((u32_t)((a) & 0xff) << 24) | \ - ((u32_t)((b) & 0xff) << 16) | \ - ((u32_t)((c) & 0xff) << 8) | \ - (u32_t)((d) & 0xff) -#else -/** Set an IP address given by the four byte-parts. - Little-endian version that prevents the use of htonl. */ -#define IP4_ADDR(ipaddr, a,b,c,d) \ - (ipaddr)->addr = ((u32_t)((d) & 0xff) << 24) | \ - ((u32_t)((c) & 0xff) << 16) | \ - ((u32_t)((b) & 0xff) << 8) | \ - (u32_t)((a) & 0xff) -#endif +#define IP4_ADDR(ipaddr, a,b,c,d) (ipaddr)->addr = PP_HTONL(LWIP_MAKEU32(a,b,c,d)) /** MEMCPY-like copying of IP addresses where addresses are known to be * 16-bit-aligned if the port is correctly configured (so a port could define @@ -159,7 +134,7 @@ struct netif; (src)->addr)) /** Set complete address to zero */ #define ip4_addr_set_zero(ipaddr) ((ipaddr)->addr = 0) -/** Set address to IPADDR_ANY (no need for htonl()) */ +/** Set address to IPADDR_ANY (no need for lwip_htonl()) */ #define ip4_addr_set_any(ipaddr) ((ipaddr)->addr = IPADDR_ANY) /** Set address to loopback address */ #define ip4_addr_set_loopback(ipaddr) ((ipaddr)->addr = PP_HTONL(IPADDR_LOOPBACK)) @@ -169,7 +144,7 @@ struct netif; * from host- to network-order. */ #define ip4_addr_set_hton(dest, src) ((dest)->addr = \ ((src) == NULL ? 0:\ - htonl((src)->addr))) + lwip_htonl((src)->addr))) /** IPv4 only: set the IP address given as an u32_t */ #define ip4_addr_set_u32(dest_ipaddr, src_u32) ((dest_ipaddr)->addr = (src_u32)) /** IPv4 only: get the IP address as an u32_t */ @@ -209,10 +184,10 @@ u8_t ip4_addr_netmask_valid(u32_t netmask); LWIP_DEBUGF(debug, ("%" U16_F ".%" U16_F ".%" U16_F ".%" U16_F, a, b, c, d)) #define ip4_addr_debug_print(debug, ipaddr) \ ip4_addr_debug_print_parts(debug, \ - (ipaddr) != NULL ? ip4_addr1_16(ipaddr) : 0, \ - (ipaddr) != NULL ? ip4_addr2_16(ipaddr) : 0, \ - (ipaddr) != NULL ? ip4_addr3_16(ipaddr) : 0, \ - (ipaddr) != NULL ? ip4_addr4_16(ipaddr) : 0) + (u16_t)((ipaddr) != NULL ? ip4_addr1_16(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? ip4_addr2_16(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? ip4_addr3_16(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? ip4_addr4_16(ipaddr) : 0)) #define ip4_addr_debug_print_val(debug, ipaddr) \ ip4_addr_debug_print_parts(debug, \ ip4_addr1_16(&(ipaddr)), \ @@ -233,7 +208,6 @@ u8_t ip4_addr_netmask_valid(u32_t netmask); #define ip4_addr4_16(ipaddr) ((u16_t)ip4_addr4(ipaddr)) #define IP4ADDR_STRLEN_MAX 16 -#define IPADDR_STRLEN_MAX IP4ADDR_STRLEN_MAX /** For backwards compatibility */ #define ip_ntoa(ipaddr) ipaddr_ntoa(ipaddr) diff --git a/tools/sdk/include/lwip/lwip/ip_frag.h b/tools/sdk/include/lwip/lwip/ip4_frag.h similarity index 92% rename from tools/sdk/include/lwip/lwip/ip_frag.h rename to tools/sdk/include/lwip/lwip/ip4_frag.h index deeb2f4e..ed5bf14a 100644 --- a/tools/sdk/include/lwip/lwip/ip_frag.h +++ b/tools/sdk/include/lwip/lwip/ip4_frag.h @@ -1,3 +1,8 @@ +/** + * @file + * IP fragmentation/reassembly + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -30,8 +35,8 @@ * */ -#ifndef LWIP_HDR_IP_FRAG_H -#define LWIP_HDR_IP_FRAG_H +#ifndef LWIP_HDR_IP4_FRAG_H +#define LWIP_HDR_IP4_FRAG_H #include "lwip/opt.h" #include "lwip/err.h" @@ -50,7 +55,7 @@ extern "C" { /* The IP reassembly timer interval in milliseconds. */ #define IP_TMR_INTERVAL 1000 -/* IP reassembly helper struct. +/** IP reassembly helper struct. * This is exported because memp needs to know the size. */ struct ip_reassdata { @@ -68,12 +73,12 @@ struct pbuf * ip4_reass(struct pbuf *p); #endif /* IP_REASSEMBLY */ #if IP_FRAG -#if !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF +#if !LWIP_NETIF_TX_SINGLE_PBUF +#ifndef LWIP_PBUF_CUSTOM_REF_DEFINED +#define LWIP_PBUF_CUSTOM_REF_DEFINED /** A custom pbuf that holds a reference to another pbuf, which is freed * when this custom pbuf is freed. This is used to create a custom PBUF_REF * that points into the original pbuf. */ -#ifndef LWIP_PBUF_CUSTOM_REF_DEFINED -#define LWIP_PBUF_CUSTOM_REF_DEFINED struct pbuf_custom_ref { /** 'base class' */ struct pbuf_custom pc; @@ -81,7 +86,7 @@ struct pbuf_custom_ref { struct pbuf *original; }; #endif /* LWIP_PBUF_CUSTOM_REF_DEFINED */ -#endif /* !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF */ +#endif /* !LWIP_NETIF_TX_SINGLE_PBUF */ err_t ip4_frag(struct pbuf *p, struct netif *netif, const ip4_addr_t *dest); #endif /* IP_FRAG */ @@ -92,4 +97,4 @@ err_t ip4_frag(struct pbuf *p, struct netif *netif, const ip4_addr_t *dest); #endif /* LWIP_IPV4 */ -#endif /* LWIP_HDR_IP_FRAG_H */ +#endif /* LWIP_HDR_IP4_FRAG_H */ diff --git a/tools/sdk/include/lwip/lwip/ip6.h b/tools/sdk/include/lwip/lwip/ip6.h index f1ffb6b7..099b94fb 100644 --- a/tools/sdk/include/lwip/lwip/ip6.h +++ b/tools/sdk/include/lwip/lwip/ip6.h @@ -46,6 +46,7 @@ #if LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */ #include "lwip/ip6_addr.h" +#include "lwip/prot/ip6.h" #include "lwip/def.h" #include "lwip/pbuf.h" #include "lwip/netif.h" @@ -56,111 +57,6 @@ extern "C" { #endif -#define IP6_HLEN 40 - -#define IP6_NEXTH_HOPBYHOP 0 -#define IP6_NEXTH_TCP 6 -#define IP6_NEXTH_UDP 17 -#define IP6_NEXTH_ENCAPS 41 -#define IP6_NEXTH_ROUTING 43 -#define IP6_NEXTH_FRAGMENT 44 -#define IP6_NEXTH_ICMP6 58 -#define IP6_NEXTH_NONE 59 -#define IP6_NEXTH_DESTOPTS 60 -#define IP6_NEXTH_UDPLITE 136 - - -/* The IPv6 header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ip6_hdr { - /* version / traffic class / flow label */ - PACK_STRUCT_FIELD(u32_t _v_tc_fl); - /* payload length */ - PACK_STRUCT_FIELD(u16_t _plen); - /* next header */ - PACK_STRUCT_FLD_8(u8_t _nexth); - /* hop limit */ - PACK_STRUCT_FLD_8(u8_t _hoplim); - /* source and destination IP addresses */ - PACK_STRUCT_FLD_S(ip6_addr_p_t src); - PACK_STRUCT_FLD_S(ip6_addr_p_t dest); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/* Hop-by-hop router alert option. */ -#define IP6_HBH_HLEN 8 -#define IP6_PAD1_OPTION 0 -#define IP6_PADN_ALERT_OPTION 1 -#define IP6_ROUTER_ALERT_OPTION 5 -#define IP6_ROUTER_ALERT_VALUE_MLD 0 -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ip6_hbh_hdr { - /* next header */ - PACK_STRUCT_FLD_8(u8_t _nexth); - /* header length */ - PACK_STRUCT_FLD_8(u8_t _hlen); - /* router alert option type */ - PACK_STRUCT_FLD_8(u8_t _ra_opt_type); - /* router alert option data len */ - PACK_STRUCT_FLD_8(u8_t _ra_opt_dlen); - /* router alert option data */ - PACK_STRUCT_FIELD(u16_t _ra_opt_data); - /* PadN option type */ - PACK_STRUCT_FLD_8(u8_t _padn_opt_type); - /* PadN option data len */ - PACK_STRUCT_FLD_8(u8_t _padn_opt_dlen); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/* Fragment header. */ -#define IP6_FRAG_HLEN 8 -#define IP6_FRAG_OFFSET_MASK 0xfff8 -#define IP6_FRAG_MORE_FLAG 0x0001 -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ip6_frag_hdr { - /* next header */ - PACK_STRUCT_FLD_8(u8_t _nexth); - /* reserved */ - PACK_STRUCT_FLD_8(u8_t reserved); - /* fragment offset */ - PACK_STRUCT_FIELD(u16_t _fragment_offset); - /* fragmented packet identification */ - PACK_STRUCT_FIELD(u32_t _identification); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define IP6H_V(hdr) ((ntohl((hdr)->_v_tc_fl) >> 28) & 0x0f) -#define IP6H_TC(hdr) ((ntohl((hdr)->_v_tc_fl) >> 20) & 0xff) -#define IP6H_FL(hdr) (ntohl((hdr)->_v_tc_fl) & 0x000fffff) -#define IP6H_PLEN(hdr) (ntohs((hdr)->_plen)) -#define IP6H_NEXTH(hdr) ((hdr)->_nexth) -#define IP6H_NEXTH_P(hdr) ((u8_t *)(hdr) + 6) -#define IP6H_HOPLIM(hdr) ((hdr)->_hoplim) - -#define IP6H_VTCFL_SET(hdr, v, tc, fl) (hdr)->_v_tc_fl = (htonl((((u32_t)(v)) << 28) | (((u32_t)(tc)) << 20) | (fl))) -#define IP6H_PLEN_SET(hdr, plen) (hdr)->_plen = htons(plen) -#define IP6H_NEXTH_SET(hdr, nexth) (hdr)->_nexth = (nexth) -#define IP6H_HOPLIM_SET(hdr, hl) (hdr)->_hoplim = (u8_t)(hl) - - struct netif *ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest); const ip_addr_t *ip6_select_source_address(struct netif *netif, const ip6_addr_t * dest); err_t ip6_input(struct pbuf *p, struct netif *inp); diff --git a/tools/sdk/include/lwip/lwip/ip6_addr.h b/tools/sdk/include/lwip/lwip/ip6_addr.h index a75d8948..ee381aeb 100644 --- a/tools/sdk/include/lwip/lwip/ip6_addr.h +++ b/tools/sdk/include/lwip/lwip/ip6_addr.h @@ -43,6 +43,7 @@ #define LWIP_HDR_IP6_ADDR_H #include "lwip/opt.h" +#include "def.h" #if LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */ @@ -52,46 +53,18 @@ extern "C" { #endif -/* This is the aligned version of ip6_addr_t, - used as local variable, on the stack, etc. */ +/** This is the aligned version of ip6_addr_t, + used as local variable, on the stack, etc. */ struct ip6_addr { u32_t addr[4]; }; -/* This is the packed version of ip6_addr_t, - used in network headers that are itself packed */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ip6_addr_packed { - PACK_STRUCT_FIELD(u32_t addr[4]); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - +/** IPv6 address */ typedef struct ip6_addr ip6_addr_t; -typedef struct ip6_addr_packed ip6_addr_p_t; - -#if BYTE_ORDER == BIG_ENDIAN -/** Set an IPv6 partial address given by byte-parts. */ +/** Set an IPv6 partial address given by byte-parts */ #define IP6_ADDR_PART(ip6addr, index, a,b,c,d) \ - (ip6addr)->addr[index] = ((u32_t)((a) & 0xff) << 24) | \ - ((u32_t)((b) & 0xff) << 16) | \ - ((u32_t)((c) & 0xff) << 8) | \ - (u32_t)((d) & 0xff) -#else -/** Set an IPv6 partial address given by byte-parts. -Little-endian version, stored in network order (no htonl). */ -#define IP6_ADDR_PART(ip6addr, index, a,b,c,d) \ - (ip6addr)->addr[index] = ((u32_t)((d) & 0xff) << 24) | \ - ((u32_t)((c) & 0xff) << 16) | \ - ((u32_t)((b) & 0xff) << 8) | \ - (u32_t)((a) & 0xff) -#endif + (ip6addr)->addr[index] = PP_HTONL(LWIP_MAKEU32(a,b,c,d)) /** Set a full IPv6 address by passing the 4 u32_t indices in network byte order (use PP_HTONL() for constants) */ @@ -102,14 +75,21 @@ Little-endian version, stored in network order (no htonl). */ (ip6addr)->addr[3] = idx3; } while(0) /** Access address in 16-bit block */ -#define IP6_ADDR_BLOCK1(ip6addr) ((u16_t)(htonl((ip6addr)->addr[0]) >> 16) & 0xffff) -#define IP6_ADDR_BLOCK2(ip6addr) ((u16_t)(htonl((ip6addr)->addr[0])) & 0xffff) -#define IP6_ADDR_BLOCK3(ip6addr) ((u16_t)(htonl((ip6addr)->addr[1]) >> 16) & 0xffff) -#define IP6_ADDR_BLOCK4(ip6addr) ((u16_t)(htonl((ip6addr)->addr[1])) & 0xffff) -#define IP6_ADDR_BLOCK5(ip6addr) ((u16_t)(htonl((ip6addr)->addr[2]) >> 16) & 0xffff) -#define IP6_ADDR_BLOCK6(ip6addr) ((u16_t)(htonl((ip6addr)->addr[2])) & 0xffff) -#define IP6_ADDR_BLOCK7(ip6addr) ((u16_t)(htonl((ip6addr)->addr[3]) >> 16) & 0xffff) -#define IP6_ADDR_BLOCK8(ip6addr) ((u16_t)(htonl((ip6addr)->addr[3])) & 0xffff) +#define IP6_ADDR_BLOCK1(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[0]) >> 16) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK2(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[0])) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK3(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[1]) >> 16) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK4(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[1])) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK5(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[2]) >> 16) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK6(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[2])) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK7(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[3]) >> 16) & 0xffff)) +/** Access address in 16-bit block */ +#define IP6_ADDR_BLOCK8(ip6addr) ((u16_t)((lwip_htonl((ip6addr)->addr[3])) & 0xffff)) /** Copy IPv6 address - faster than ip6_addr_set: no NULL check */ #define ip6_addr_copy(dest, src) do{(dest).addr[0] = (src).addr[0]; \ @@ -128,7 +108,7 @@ Little-endian version, stored in network order (no htonl). */ (ip6addr)->addr[2] = 0; \ (ip6addr)->addr[3] = 0;}while(0) -/** Set address to ipv6 'any' (no need for htonl()) */ +/** Set address to ipv6 'any' (no need for lwip_htonl()) */ #define ip6_addr_set_any(ip6addr) ip6_addr_set_zero(ip6addr) /** Set address to ipv6 loopback address */ #define ip6_addr_set_loopback(ip6addr) do{(ip6addr)->addr[0] = 0; \ @@ -137,10 +117,10 @@ Little-endian version, stored in network order (no htonl). */ (ip6addr)->addr[3] = PP_HTONL(0x00000001UL);}while(0) /** Safely copy one IPv6 address to another and change byte order * from host- to network-order. */ -#define ip6_addr_set_hton(dest, src) do{(dest)->addr[0] = (src) == NULL ? 0 : htonl((src)->addr[0]); \ - (dest)->addr[1] = (src) == NULL ? 0 : htonl((src)->addr[1]); \ - (dest)->addr[2] = (src) == NULL ? 0 : htonl((src)->addr[2]); \ - (dest)->addr[3] = (src) == NULL ? 0 : htonl((src)->addr[3]);}while(0) +#define ip6_addr_set_hton(dest, src) do{(dest)->addr[0] = (src) == NULL ? 0 : lwip_htonl((src)->addr[0]); \ + (dest)->addr[1] = (src) == NULL ? 0 : lwip_htonl((src)->addr[1]); \ + (dest)->addr[2] = (src) == NULL ? 0 : lwip_htonl((src)->addr[2]); \ + (dest)->addr[3] = (src) == NULL ? 0 : lwip_htonl((src)->addr[3]);}while(0) /** @@ -158,7 +138,7 @@ Little-endian version, stored in network order (no htonl). */ ((addr1)->addr[2] == (addr2)->addr[2]) && \ ((addr1)->addr[3] == (addr2)->addr[3])) -#define ip6_get_subnet_id(ip6addr) (htonl((ip6addr)->addr[2]) & 0x0000ffffUL) +#define ip6_get_subnet_id(ip6addr) (lwip_htonl((ip6addr)->addr[2]) & 0x0000ffffUL) #define ip6_addr_isany_val(ip6addr) (((ip6addr).addr[0] == 0) && \ ((ip6addr).addr[1] == 0) && \ @@ -179,11 +159,13 @@ Little-endian version, stored in network order (no htonl). */ #define ip6_addr_isuniquelocal(ip6addr) (((ip6addr)->addr[0] & PP_HTONL(0xfe000000UL)) == PP_HTONL(0xfc000000UL)) +#define ip6_addr_isipv4mappedipv6(ip6addr) (((ip6addr)->addr[0] == 0) && ((ip6addr)->addr[1] == 0) && (((ip6addr)->addr[2]) == PP_HTONL(0x0000FFFFUL))) + #define ip6_addr_ismulticast(ip6addr) (((ip6addr)->addr[0] & PP_HTONL(0xff000000UL)) == PP_HTONL(0xff000000UL)) #define ip6_addr_multicast_transient_flag(ip6addr) ((ip6addr)->addr[0] & PP_HTONL(0x00100000UL)) #define ip6_addr_multicast_prefix_flag(ip6addr) ((ip6addr)->addr[0] & PP_HTONL(0x00200000UL)) #define ip6_addr_multicast_rendezvous_flag(ip6addr) ((ip6addr)->addr[0] & PP_HTONL(0x00400000UL)) -#define ip6_addr_multicast_scope(ip6addr) ((htonl((ip6addr)->addr[0]) >> 16) & 0xf) +#define ip6_addr_multicast_scope(ip6addr) ((lwip_htonl((ip6addr)->addr[0]) >> 16) & 0xf) #define IP6_MULTICAST_SCOPE_RESERVED 0x0 #define IP6_MULTICAST_SCOPE_RESERVED0 0x0 #define IP6_MULTICAST_SCOPE_INTERFACE_LOCAL 0x1 @@ -201,7 +183,7 @@ Little-endian version, stored in network order (no htonl). */ #define ip6_addr_ismulticast_orglocal(ip6addr) (((ip6addr)->addr[0] & PP_HTONL(0xff8f0000UL)) == PP_HTONL(0xff080000UL)) #define ip6_addr_ismulticast_global(ip6addr) (((ip6addr)->addr[0] & PP_HTONL(0xff8f0000UL)) == PP_HTONL(0xff0e0000UL)) -/* TODO define get/set for well-know multicast addresses, e.g. ff02::1 */ +/* @todo define get/set for well-know multicast addresses, e.g. ff02::1 */ #define ip6_addr_isallnodes_iflocal(ip6addr) (((ip6addr)->addr[0] == PP_HTONL(0xff010000UL)) && \ ((ip6addr)->addr[1] == 0UL) && \ ((ip6addr)->addr[2] == 0UL) && \ @@ -249,9 +231,11 @@ Little-endian version, stored in network order (no htonl). */ #define IP6_ADDR_TENTATIVE_5 0x0d /* 5 probes sent */ #define IP6_ADDR_TENTATIVE_6 0x0e /* 6 probes sent */ #define IP6_ADDR_TENTATIVE_7 0x0f /* 7 probes sent */ -#define IP6_ADDR_VALID 0x10 +#define IP6_ADDR_VALID 0x10 /* This bit marks an address as valid (preferred or deprecated) */ #define IP6_ADDR_PREFERRED 0x30 -#define IP6_ADDR_DEPRECATED 0x50 +#define IP6_ADDR_DEPRECATED 0x10 /* Same as VALID (valid but not preferred) */ + +#define IP6_ADDR_TENTATIVE_COUNT_MASK 0x07 /* 1-7 probes sent */ #define ip6_addr_isinvalid(addr_state) (addr_state == IP6_ADDR_INVALID) #define ip6_addr_istentative(addr_state) (addr_state & IP6_ADDR_TENTATIVE) @@ -264,14 +248,14 @@ Little-endian version, stored in network order (no htonl). */ a, b, c, d, e, f, g, h)) #define ip6_addr_debug_print(debug, ipaddr) \ ip6_addr_debug_print_parts(debug, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK1(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK2(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK3(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK4(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK5(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK6(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK7(ipaddr) : 0, \ - (ipaddr) != NULL ? IP6_ADDR_BLOCK8(ipaddr) : 0) + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK1(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK2(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK3(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK4(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK5(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK6(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK7(ipaddr) : 0), \ + (u16_t)((ipaddr) != NULL ? IP6_ADDR_BLOCK8(ipaddr) : 0)) #define ip6_addr_debug_print_val(debug, ipaddr) \ ip6_addr_debug_print_parts(debug, \ IP6_ADDR_BLOCK1(&(ipaddr)), \ diff --git a/tools/sdk/include/lwip/lwip/ip6_frag.h b/tools/sdk/include/lwip/lwip/ip6_frag.h index 16336e58..6be27473 100644 --- a/tools/sdk/include/lwip/lwip/ip6_frag.h +++ b/tools/sdk/include/lwip/lwip/ip6_frag.h @@ -61,7 +61,7 @@ extern "C" { #define IPV6_FRAG_COPYHEADER 0 #endif -/* The IPv6 reassembly timer interval in milliseconds. */ +/** The IPv6 reassembly timer interval in milliseconds. */ #define IP6_REASS_TMR_INTERVAL 1000 /* Copy the complete header of the first fragment to struct ip6_reassdata @@ -74,7 +74,7 @@ extern "C" { #define IPV6_FRAG_HDRREF(hdr) (hdr) #endif /* IPV6_FRAG_COPYHEADER */ -/* IPv6 reassembly helper struct. +/** IPv6 reassembly helper struct. * This is exported because memp needs to know the size. */ struct ip6_reassdata { @@ -89,17 +89,17 @@ struct ip6_reassdata { #define ip6_reass_init() /* Compatibility define */ void ip6_reass_tmr(void); -struct pbuf * ip6_reass(struct pbuf *p); +struct pbuf *ip6_reass(struct pbuf *p); #endif /* LWIP_IPV6 && LWIP_IPV6_REASS */ #if LWIP_IPV6 && LWIP_IPV6_FRAG /* don't build if not configured for use in lwipopts.h */ +#ifndef LWIP_PBUF_CUSTOM_REF_DEFINED +#define LWIP_PBUF_CUSTOM_REF_DEFINED /** A custom pbuf that holds a reference to another pbuf, which is freed * when this custom pbuf is freed. This is used to create a custom PBUF_REF * that points into the original pbuf. */ -#ifndef LWIP_PBUF_CUSTOM_REF_DEFINED -#define LWIP_PBUF_CUSTOM_REF_DEFINED struct pbuf_custom_ref { /** 'base class' */ struct pbuf_custom pc; diff --git a/tools/sdk/include/lwip/lwip/ip_addr.h b/tools/sdk/include/lwip/lwip/ip_addr.h index 74897a9e..ca09ed39 100644 --- a/tools/sdk/include/lwip/lwip/ip_addr.h +++ b/tools/sdk/include/lwip/lwip/ip_addr.h @@ -1,3 +1,8 @@ +/** + * @file + * IP address API (common IPv4 and IPv6) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -29,8 +34,8 @@ * Author: Adam Dunkels * */ -#ifndef LWIP_HDR_IP_ADDR_H__ -#define LWIP_HDR_IP_ADDR_H__ +#ifndef LWIP_HDR_IP_ADDR_H +#define LWIP_HDR_IP_ADDR_H #include "lwip/opt.h" #include "lwip/def.h" @@ -42,36 +47,63 @@ extern "C" { #endif -/** These are the values for ip_addr_t.type */ -#define IPADDR_TYPE_V4 0U -#define IPADDR_TYPE_V6 6U -#define IPADDR_TYPE_ANY 46U +/** @ingroup ipaddr + * IP address types for use in ip_addr_t.type member. + * @see tcp_new_ip_type(), udp_new_ip_type(), raw_new_ip_type(). + */ +enum lwip_ip_addr_type { + /** IPv4 */ + IPADDR_TYPE_V4 = 0U, + /** IPv6 */ + IPADDR_TYPE_V6 = 6U, + /** IPv4+IPv6 ("dual-stack") */ + IPADDR_TYPE_ANY = 46U +}; #if LWIP_IPV4 && LWIP_IPV6 -/** A union struct for both IP version's addresses. +/** + * @ingroup ipaddr + * A union struct for both IP version's addresses. * ATTENTION: watch out for its size when adding IPv6 address scope! */ -typedef struct _ip_addr { +typedef struct ip_addr { union { ip6_addr_t ip6; ip4_addr_t ip4; } u_addr; + /** @ref lwip_ip_addr_type */ u8_t type; } ip_addr_t; extern const ip_addr_t ip_addr_any_type; +/** @ingroup ip4addr */ #define IPADDR4_INIT(u32val) { { { { u32val, 0ul, 0ul, 0ul } } }, IPADDR_TYPE_V4 } +/** @ingroup ip4addr */ +#define IPADDR4_INIT_BYTES(a,b,c,d) IPADDR4_INIT(PP_HTONL(LWIP_MAKEU32(a,b,c,d))) +/** @ingroup ip6addr */ #define IPADDR6_INIT(a, b, c, d) { { { { a, b, c, d } } }, IPADDR_TYPE_V6 } +/** @ingroup ip6addr */ +#define IPADDR6_INIT_HOST(a, b, c, d) { { { { PP_HTONL(a), PP_HTONL(b), PP_HTONL(c), PP_HTONL(d) } } }, IPADDR_TYPE_V6 } +/** @ingroup ipaddr */ #define IP_IS_ANY_TYPE_VAL(ipaddr) (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_ANY) +/** @ingroup ipaddr */ #define IPADDR_ANY_TYPE_INIT { { { { 0ul, 0ul, 0ul, 0ul } } }, IPADDR_TYPE_ANY } +/** @ingroup ip4addr */ +#define IP_IS_V4_VAL(ipaddr) (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_V4) +/** @ingroup ip6addr */ #define IP_IS_V6_VAL(ipaddr) (IP_GET_TYPE(&ipaddr) == IPADDR_TYPE_V6) +/** @ingroup ip4addr */ +#define IP_IS_V4(ipaddr) (((ipaddr) == NULL) || IP_IS_V4_VAL(*(ipaddr))) +/** @ingroup ip6addr */ #define IP_IS_V6(ipaddr) (((ipaddr) != NULL) && IP_IS_V6_VAL(*(ipaddr))) +#if ESP_LWIP #define IP_V6_EQ_PART(ipaddr, WORD, VAL) (ip_2_ip6(ipaddr)->addr[WORD] == htonl(VAL)) #define IP_IS_V4MAPPEDV6(ipaddr) (IP_IS_V6(ipaddr) && IP_V6_EQ_PART(ipaddr, 0, 0) && IP_V6_EQ_PART(ipaddr, 1, 0) && IP_V6_EQ_PART(ipaddr, 2, 0x0000FFFF)) +#endif #define IP_SET_TYPE_VAL(ipaddr, iptype) do { (ipaddr).type = (iptype); }while(0) #define IP_SET_TYPE(ipaddr, iptype) do { if((ipaddr) != NULL) { IP_SET_TYPE_VAL(*(ipaddr), iptype); }}while(0) @@ -80,71 +112,100 @@ extern const ip_addr_t ip_addr_any_type; #define IP_ADDR_PCB_VERSION_MATCH_EXACT(pcb, ipaddr) (IP_GET_TYPE(&pcb->local_ip) == IP_GET_TYPE(ipaddr)) #define IP_ADDR_PCB_VERSION_MATCH(pcb, ipaddr) (IP_IS_ANY_TYPE_VAL(pcb->local_ip) || IP_ADDR_PCB_VERSION_MATCH_EXACT(pcb, ipaddr)) -/* Convert generic ip address to specific protocol version */ +/** @ingroup ip6addr + * Convert generic ip address to specific protocol version + */ #define ip_2_ip6(ipaddr) (&((ipaddr)->u_addr.ip6)) +/** @ingroup ip4addr + * Convert generic ip address to specific protocol version + */ #define ip_2_ip4(ipaddr) (&((ipaddr)->u_addr.ip4)) +/** @ingroup ip4addr */ #define IP_ADDR4(ipaddr,a,b,c,d) do { IP4_ADDR(ip_2_ip4(ipaddr),a,b,c,d); \ IP_SET_TYPE_VAL(*(ipaddr), IPADDR_TYPE_V4); } while(0) +/** @ingroup ip6addr */ #define IP_ADDR6(ipaddr,i0,i1,i2,i3) do { IP6_ADDR(ip_2_ip6(ipaddr),i0,i1,i2,i3); \ IP_SET_TYPE_VAL(*(ipaddr), IPADDR_TYPE_V6); } while(0) +/** @ingroup ip6addr */ +#define IP_ADDR6_HOST(ipaddr,i0,i1,i2,i3) IP_ADDR6(ipaddr,PP_HTONL(i0),PP_HTONL(i1),PP_HTONL(i2),PP_HTONL(i3)) +/** @ingroup ipaddr */ #define ip_addr_copy(dest, src) do{ IP_SET_TYPE_VAL(dest, IP_GET_TYPE(&src)); if(IP_IS_V6_VAL(src)){ \ ip6_addr_copy(*ip_2_ip6(&(dest)), *ip_2_ip6(&(src))); }else{ \ ip4_addr_copy(*ip_2_ip4(&(dest)), *ip_2_ip4(&(src))); }}while(0) +/** @ingroup ip6addr */ #define ip_addr_copy_from_ip6(dest, src) do{ \ ip6_addr_copy(*ip_2_ip6(&(dest)), src); IP_SET_TYPE_VAL(dest, IPADDR_TYPE_V6); }while(0) +/** @ingroup ip4addr */ #define ip_addr_copy_from_ip4(dest, src) do{ \ ip4_addr_copy(*ip_2_ip4(&(dest)), src); IP_SET_TYPE_VAL(dest, IPADDR_TYPE_V4); }while(0) +/** @ingroup ip4addr */ #define ip_addr_set_ip4_u32(ipaddr, val) do{if(ipaddr){ip4_addr_set_u32(ip_2_ip4(ipaddr), val); \ IP_SET_TYPE(ipaddr, IPADDR_TYPE_V4); }}while(0) -#define ip_addr_get_ip4_u32(ipaddr) (((ipaddr) && !IP_IS_V6(ipaddr)) ? \ +/** @ingroup ip4addr */ +#define ip_addr_get_ip4_u32(ipaddr) (((ipaddr) && IP_IS_V4(ipaddr)) ? \ ip4_addr_get_u32(ip_2_ip4(ipaddr)) : 0) - +/** @ingroup ipaddr */ #define ip_addr_set(dest, src) do{ IP_SET_TYPE(dest, IP_GET_TYPE(src)); if(IP_IS_V6(src)){ \ ip6_addr_set(ip_2_ip6(dest), ip_2_ip6(src)); }else{ \ ip4_addr_set(ip_2_ip4(dest), ip_2_ip4(src)); }}while(0) - +/** @ingroup ipaddr */ #define ip_addr_set_ipaddr(dest, src) ip_addr_set(dest, src) +/** @ingroup ipaddr */ #define ip_addr_set_zero(ipaddr) do{ \ ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, 0); }while(0) +/** @ingroup ip5addr */ #define ip_addr_set_zero_ip4(ipaddr) do{ \ ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V4); }while(0) +/** @ingroup ip6addr */ #define ip_addr_set_zero_ip6(ipaddr) do{ \ ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V6); }while(0) +/** @ingroup ipaddr */ #define ip_addr_set_any(is_ipv6, ipaddr) do{if(is_ipv6){ \ ip6_addr_set_any(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V6); }else{ \ ip4_addr_set_any(ip_2_ip4(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V4); }}while(0) +/** @ingroup ipaddr */ #define ip_addr_set_loopback(is_ipv6, ipaddr) do{if(is_ipv6){ \ ip6_addr_set_loopback(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V6); }else{ \ ip4_addr_set_loopback(ip_2_ip4(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V4); }}while(0) +/** @ingroup ipaddr */ #define ip_addr_set_hton(dest, src) do{if(IP_IS_V6(src)){ \ ip6_addr_set_hton(ip_2_ip6(ipaddr), (src)); IP_SET_TYPE(dest, IPADDR_TYPE_V6); }else{ \ ip4_addr_set_hton(ip_2_ip4(ipaddr), (src)); IP_SET_TYPE(dest, IPADDR_TYPE_V4); }}while(0) +/** @ingroup ipaddr */ #define ip_addr_get_network(target, host, netmask) do{if(IP_IS_V6(host)){ \ ip4_addr_set_zero(ip_2_ip4(target)); IP_SET_TYPE(target, IPADDR_TYPE_V6); } else { \ ip4_addr_get_network(ip_2_ip4(target), ip_2_ip4(host), ip_2_ip4(netmask)); IP_SET_TYPE(target, IPADDR_TYPE_V4); }}while(0) +/** @ingroup ipaddr */ #define ip_addr_netcmp(addr1, addr2, mask) ((IP_IS_V6(addr1) && IP_IS_V6(addr2)) ? \ 0 : \ ip4_addr_netcmp(ip_2_ip4(addr1), ip_2_ip4(addr2), mask)) +/** @ingroup ipaddr */ #define ip_addr_cmp(addr1, addr2) ((IP_GET_TYPE(addr1) != IP_GET_TYPE(addr2)) ? 0 : (IP_IS_V6_VAL(*(addr1)) ? \ ip6_addr_cmp(ip_2_ip6(addr1), ip_2_ip6(addr2)) : \ ip4_addr_cmp(ip_2_ip4(addr1), ip_2_ip4(addr2)))) +/** @ingroup ipaddr */ #define ip_addr_isany(ipaddr) ((IP_IS_V6(ipaddr)) ? \ ip6_addr_isany(ip_2_ip6(ipaddr)) : \ ip4_addr_isany(ip_2_ip4(ipaddr))) +/** @ingroup ipaddr */ #define ip_addr_isany_val(ipaddr) ((IP_IS_V6_VAL(ipaddr)) ? \ ip6_addr_isany_val(*ip_2_ip6(&(ipaddr))) : \ ip4_addr_isany_val(*ip_2_ip4(&(ipaddr)))) +/** @ingroup ipaddr */ #define ip_addr_isbroadcast(ipaddr, netif) ((IP_IS_V6(ipaddr)) ? \ 0 : \ ip4_addr_isbroadcast(ip_2_ip4(ipaddr), netif)) +/** @ingroup ipaddr */ #define ip_addr_ismulticast(ipaddr) ((IP_IS_V6(ipaddr)) ? \ ip6_addr_ismulticast(ip_2_ip6(ipaddr)) : \ ip4_addr_ismulticast(ip_2_ip4(ipaddr))) +/** @ingroup ipaddr */ #define ip_addr_isloopback(ipaddr) ((IP_IS_V6(ipaddr)) ? \ ip6_addr_isloopback(ip_2_ip6(ipaddr)) : \ ip4_addr_isloopback(ip_2_ip4(ipaddr))) +/** @ingroup ipaddr */ #define ip_addr_islinklocal(ipaddr) ((IP_IS_V6(ipaddr)) ? \ ip6_addr_islinklocal(ip_2_ip6(ipaddr)) : \ ip4_addr_islinklocal(ip_2_ip4(ipaddr))) @@ -154,32 +215,29 @@ extern const ip_addr_t ip_addr_any_type; #define ip_addr_debug_print_val(debug, ipaddr) do { if(IP_IS_V6_VAL(ipaddr)) { \ ip6_addr_debug_print_val(debug, *ip_2_ip6(&(ipaddr))); } else { \ ip4_addr_debug_print_val(debug, *ip_2_ip4(&(ipaddr))); }}while(0) +/** @ingroup ipaddr */ #define ipaddr_ntoa(addr) (((addr) == NULL) ? "NULL" : \ ((IP_IS_V6(addr)) ? ip6addr_ntoa(ip_2_ip6(addr)) : ip4addr_ntoa(ip_2_ip4(addr)))) +/** @ingroup ipaddr */ #define ipaddr_ntoa_r(addr, buf, buflen) (((addr) == NULL) ? "NULL" : \ ((IP_IS_V6(addr)) ? ip6addr_ntoa_r(ip_2_ip6(addr), buf, buflen) : ip4addr_ntoa_r(ip_2_ip4(addr), buf, buflen))) int ipaddr_aton(const char *cp, ip_addr_t *addr); -/* Map an IPv4 ip_addr into an IPV6 ip_addr, using format - defined in RFC4291 2.5.5.2. +/** @ingroup ipaddr */ +#define IPADDR_STRLEN_MAX IP6ADDR_STRLEN_MAX - Safe to call when dest==src. -*/ -#define ip_addr_make_ip4_mapped_ip6(dest, src) do { \ - u32_t tmp = ip_2_ip4(src)->addr; \ - IP_ADDR6((dest), 0x0, 0x0, htonl(0x0000FFFF), tmp); \ - } while(0) +/** @ingroup ipaddr */ +#define ip4_2_ipv4_mapped_ipv6(ip6addr, ip4addr) do { \ + (ip6addr)->addr[3] = (ip4addr)->addr; \ + (ip6addr)->addr[2] = PP_HTONL(0x0000FFFFUL); \ + (ip6addr)->addr[1] = 0; \ + (ip6addr)->addr[0] = 0; } while(0); -/* Convert an IPv4 mapped V6 address to an IPV4 address. +/** @ingroup ipaddr */ +#define unmap_ipv4_mapped_ipv6(ip4addr, ip6addr) \ + (ip4addr)->addr = (ip6addr)->addr[3]; - Check IP_IS_V4MAPPEDV6(src) before using this. - - Safe to call when dest == src. -*/ -#define ip_addr_ip4_from_mapped_ip6(dest, src) do { \ - ip_2_ip4(dest)->addr = ip_2_ip6(src)->addr[3]; \ - IP_SET_TYPE(dest, IPADDR_TYPE_V4); \ - } while(0) +#define IP46_ADDR_ANY(type) (((type) == IPADDR_TYPE_V6)? IP6_ADDR_ANY : IP4_ADDR_ANY) #else /* LWIP_IPV4 && LWIP_IPV6 */ @@ -190,7 +248,10 @@ int ipaddr_aton(const char *cp, ip_addr_t *addr); typedef ip4_addr_t ip_addr_t; #define IPADDR4_INIT(u32val) { u32val } +#define IPADDR4_INIT_BYTES(a,b,c,d) IPADDR4_INIT(PP_HTONL(LWIP_MAKEU32(a,b,c,d))) +#define IP_IS_V4_VAL(ipaddr) 1 #define IP_IS_V6_VAL(ipaddr) 0 +#define IP_IS_V4(ipaddr) 1 #define IP_IS_V6(ipaddr) 0 #define IP_IS_ANY_TYPE_VAL(ipaddr) 0 #define IP_SET_TYPE_VAL(ipaddr, iptype) @@ -225,11 +286,18 @@ typedef ip4_addr_t ip_addr_t; #define ipaddr_ntoa_r(ipaddr, buf, buflen) ip4addr_ntoa_r(ipaddr, buf, buflen) #define ipaddr_aton(cp, addr) ip4addr_aton(cp, addr) +#define IPADDR_STRLEN_MAX IP4ADDR_STRLEN_MAX + +#define IP46_ADDR_ANY(type) (IP4_ADDR_ANY) + #else /* LWIP_IPV4 */ typedef ip6_addr_t ip_addr_t; #define IPADDR6_INIT(a, b, c, d) { { a, b, c, d } } +#define IPADDR6_INIT_HOST(a, b, c, d) { { PP_HTONL(a), PP_HTONL(b), PP_HTONL(c), PP_HTONL(d) } } +#define IP_IS_V4_VAL(ipaddr) 0 #define IP_IS_V6_VAL(ipaddr) 1 +#define IP_IS_V4(ipaddr) 0 #define IP_IS_V6(ipaddr) 1 #define IP_IS_ANY_TYPE_VAL(ipaddr) 0 #define IP_SET_TYPE_VAL(ipaddr, iptype) @@ -237,6 +305,7 @@ typedef ip6_addr_t ip_addr_t; #define IP_GET_TYPE(ipaddr) IPADDR_TYPE_V6 #define ip_2_ip6(ipaddr) (ipaddr) #define IP_ADDR6(ipaddr,i0,i1,i2,i3) IP6_ADDR(ipaddr,i0,i1,i2,i3) +#define IP_ADDR6_HOST(ipaddr,i0,i1,i2,i3) IP_ADDR6(ipaddr,PP_HTONL(i0),PP_HTONL(i1),PP_HTONL(i2),PP_HTONL(i3)) #define ip_addr_copy(dest, src) ip6_addr_copy(dest, src) #define ip_addr_copy_from_ip6(dest, src) ip6_addr_copy(dest, src) @@ -262,6 +331,10 @@ typedef ip6_addr_t ip_addr_t; #define ipaddr_ntoa_r(ipaddr, buf, buflen) ip6addr_ntoa_r(ipaddr, buf, buflen) #define ipaddr_aton(cp, addr) ip6addr_aton(cp, addr) +#define IPADDR_STRLEN_MAX IP6ADDR_STRLEN_MAX + +#define IP46_ADDR_ANY(type) (IP6_ADDR_ANY) + #endif /* LWIP_IPV4 */ #endif /* LWIP_IPV4 && LWIP_IPV6 */ @@ -270,15 +343,33 @@ typedef ip6_addr_t ip_addr_t; extern const ip_addr_t ip_addr_any; extern const ip_addr_t ip_addr_broadcast; -/** IP_ADDR_ can be used as a fixed/const ip_addr_t - * for the IPv4 wildcard and the broadcast address +/** + * @ingroup ip4addr + * Can be used as a fixed/const ip_addr_t + * for the IP wildcard. + * Defined to @ref IP4_ADDR_ANY when IPv4 is enabled. + * Defined to @ref IP6_ADDR_ANY in IPv6 only systems. + * Use this if you can handle IPv4 _AND_ IPv6 addresses. + * Use @ref IP4_ADDR_ANY or @ref IP6_ADDR_ANY when the IP + * type matters. */ -#define IP_ADDR_ANY (&ip_addr_any) +#define IP_ADDR_ANY IP4_ADDR_ANY +/** + * @ingroup ip4addr + * Can be used as a fixed/const ip_addr_t + * for the IPv4 wildcard and the broadcast address + */ +#define IP4_ADDR_ANY (&ip_addr_any) +/** + * @ingroup ip4addr + * Can be used as a fixed/const ip4_addr_t + * for the wildcard and the broadcast address + */ +#define IP4_ADDR_ANY4 (ip_2_ip4(&ip_addr_any)) + +/** @ingroup ip4addr */ #define IP_ADDR_BROADCAST (&ip_addr_broadcast) -/** IP4_ADDR_ can be used as a fixed/const ip4_addr_t - * for the wildcard and the broadcast address - */ -#define IP4_ADDR_ANY (ip_2_ip4(&ip_addr_any)) +/** @ingroup ip4addr */ #define IP4_ADDR_BROADCAST (ip_2_ip4(&ip_addr_broadcast)) #endif /* LWIP_IPV4*/ @@ -287,23 +378,28 @@ extern const ip_addr_t ip_addr_broadcast; extern const ip_addr_t ip6_addr_any; -/** IP6_ADDR_ANY can be used as a fixed ip_addr_t - * for the IPv6 wildcard address +/** + * @ingroup ip6addr + * IP6_ADDR_ANY can be used as a fixed ip_addr_t + * for the IPv6 wildcard address */ #define IP6_ADDR_ANY (&ip6_addr_any) -/** IP6_ADDR_ANY6 can be used as a fixed ip6_addr_t - * for the IPv6 wildcard address +/** + * @ingroup ip6addr + * IP6_ADDR_ANY6 can be used as a fixed ip6_addr_t + * for the IPv6 wildcard address */ #define IP6_ADDR_ANY6 (ip_2_ip6(&ip6_addr_any)) #if !LWIP_IPV4 -/** Just a little upgrade-helper for IPv6-only configurations: */ +/** IPv6-only configurations */ #define IP_ADDR_ANY IP6_ADDR_ANY #endif /* !LWIP_IPV4 */ #endif #if LWIP_IPV4 && LWIP_IPV6 +/** @ingroup ipaddr */ #define IP_ANY_TYPE (&ip_addr_any_type) #else #define IP_ANY_TYPE IP_ADDR_ANY @@ -313,4 +409,4 @@ extern const ip_addr_t ip6_addr_any; } #endif -#endif /* LWIP_HDR_IP_ADDR_H__ */ +#endif /* LWIP_HDR_IP_ADDR_H */ diff --git a/tools/sdk/include/lwip/lwip/mem.h b/tools/sdk/include/lwip/lwip/mem.h index 966d6bbb..73540f7e 100644 --- a/tools/sdk/include/lwip/lwip/mem.h +++ b/tools/sdk/include/lwip/lwip/mem.h @@ -1,3 +1,8 @@ +/** + * @file + * Heap API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -40,20 +45,17 @@ extern "C" { #if MEM_LIBC_MALLOC -#include /* for size_t */ +#include "lwip/arch.h" typedef size_t mem_size_t; #define MEM_SIZE_F SZT_F -/* aliases for C library malloc() */ -#define mem_init() -/* in case C library malloc() needs extra protection, - * allow these defines to be overridden. - */ +#elif MEM_USE_POOLS -#ifndef mem_free -#define mem_free free -#endif +typedef u16_t mem_size_t; +#define MEM_SIZE_F U16_F + +#if ESP_LWIP /** * lwip_malloc: if CONFIG_ALLOC_MEMORY_IN_SPIRAM_FIRST is enabled, Try to * allocate memory for lwip in SPIRAM firstly. If failed, try to allocate @@ -66,21 +68,10 @@ typedef size_t mem_size_t; #ifndef mem_calloc #define mem_calloc(n, size) heap_caps_calloc_prefer(n, size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL) #endif -#else -#ifndef mem_malloc -#define mem_malloc malloc -#endif -#ifndef mem_calloc -#define mem_calloc calloc #endif #endif -/* Since there is no C library allocation function to shrink memory without - moving it, define this to nothing. */ -#ifndef mem_trim -#define mem_trim(mem, size) (mem) -#endif -#else /* MEM_LIBC_MALLOC */ +#else /* MEM_SIZE would have to be aligned, but using 64000 here instead of * 65535 leaves some room for alignment... @@ -92,45 +83,13 @@ typedef u32_t mem_size_t; typedef u16_t mem_size_t; #define MEM_SIZE_F U16_F #endif /* MEM_SIZE > 64000 */ +#endif -#if MEM_USE_POOLS -/** mem_init is not used when using pools instead of a heap */ -#define mem_init() -/** mem_trim is not used when using pools instead of a heap: - we can't free part of a pool element and don't want to copy the rest */ -#define mem_trim(mem, size) (mem) -#else /* MEM_USE_POOLS */ -/* lwIP alternative malloc */ void mem_init(void); void *mem_trim(void *mem, mem_size_t size); -#endif /* MEM_USE_POOLS */ void *mem_malloc(mem_size_t size); void *mem_calloc(mem_size_t count, mem_size_t size); void mem_free(void *mem); -#endif /* MEM_LIBC_MALLOC */ - -/** Calculate memory size for an aligned buffer - returns the next highest - * multiple of MEM_ALIGNMENT (e.g. LWIP_MEM_ALIGN_SIZE(3) and - * LWIP_MEM_ALIGN_SIZE(4) will both yield 4 for MEM_ALIGNMENT == 4). - */ -#ifndef LWIP_MEM_ALIGN_SIZE -#define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1U) & ~(MEM_ALIGNMENT-1U)) -#endif - -/** Calculate safe memory size for an aligned buffer when using an unaligned - * type as storage. This includes a safety-margin on (MEM_ALIGNMENT - 1) at the - * start (e.g. if buffer is u8_t[] and actual data will be u32_t*) - */ -#ifndef LWIP_MEM_ALIGN_BUFFER -#define LWIP_MEM_ALIGN_BUFFER(size) (((size) + MEM_ALIGNMENT - 1U)) -#endif - -/** Align a memory pointer to the alignment defined by MEM_ALIGNMENT - * so that ADDR % MEM_ALIGNMENT == 0 - */ -#ifndef LWIP_MEM_ALIGN -#define LWIP_MEM_ALIGN(addr) ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1))) -#endif #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/memp.h b/tools/sdk/include/lwip/lwip/memp.h index abb8e57f..562cd05b 100644 --- a/tools/sdk/include/lwip/lwip/memp.h +++ b/tools/sdk/include/lwip/lwip/memp.h @@ -1,3 +1,8 @@ +/** + * @file + * Memory pool API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -33,6 +38,8 @@ #ifndef LWIP_HDR_MEMP_H #define LWIP_HDR_MEMP_H +#include "lwip/opt.h" + #ifdef __cplusplus extern "C" { #endif @@ -41,7 +48,7 @@ extern "C" { #define LWIP_MEMPOOL(name,num,size,desc) #include "lwip/priv/memp_std.h" -/* Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end */ +/** Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end */ typedef enum { #define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name, #include "lwip/priv/memp_std.h" @@ -49,8 +56,32 @@ typedef enum { } memp_t; #include "lwip/priv/memp_priv.h" +#include "lwip/stats.h" -/* Private mempools example: +extern const struct memp_desc* const memp_pools[MEMP_MAX]; + +/** + * @ingroup mempool + * Declare prototype for private memory pool if it is used in multiple files + */ +#define LWIP_MEMPOOL_PROTOTYPE(name) extern const struct memp_desc memp_ ## name + +#if MEMP_MEM_MALLOC + +#define LWIP_MEMPOOL_DECLARE(name,num,size,desc) \ + LWIP_MEMPOOL_DECLARE_STATS_INSTANCE(memp_stats_ ## name) \ + const struct memp_desc memp_ ## name = { \ + DECLARE_LWIP_MEMPOOL_DESC(desc) \ + LWIP_MEMPOOL_DECLARE_STATS_REFERENCE(memp_stats_ ## name) \ + LWIP_MEM_ALIGN_SIZE(size) \ + }; + +#else /* MEMP_MEM_MALLOC */ + +/** + * @ingroup mempool + * Declare a private memory pool + * Private mempools example: * .h: only when pool is used in multiple .c files: LWIP_MEMPOOL_PROTOTYPE(my_private_pool); * .c: * - in global variables section: LWIP_MEMPOOL_DECLARE(my_private_pool, 10, sizeof(foo), "Some description") @@ -61,74 +92,50 @@ typedef enum { * To relocate a pool, declare it as extern in cc.h. Example for GCC: * extern u8_t __attribute__((section(".onchip_mem"))) memp_memory_my_private_pool[]; */ - -extern const struct memp_desc* const memp_pools[MEMP_MAX]; - -#define LWIP_MEMPOOL_PROTOTYPE(name) extern const struct memp_desc memp_ ## name - -#if MEMP_MEM_MALLOC - -#include "lwip/mem.h" - -#define memp_init() -#if ESP_STATS_MEM -static inline void* memp_malloc(int type) -{ - ESP_CNT_MEM_MALLOC_INC(type); - return mem_malloc(memp_pools[type]->size); -} - -static inline void memp_free(int type, void *mem) -{ - ESP_CNT_MEM_FREE_INC(type); - mem_free(mem); -} - -//#define memp_malloc(type) mem_malloc(memp_pools[type]->size); ESP_CNT_MEM_MALLOC_INC(type) -//#define memp_free(type, mem) mem_free(mem); ESP_CNT_MEM_FREE_INC(type) -#else -#define memp_malloc(type) mem_malloc(memp_pools[type]->size) -#define memp_free(type, mem) mem_free(mem) -#endif - #define LWIP_MEMPOOL_DECLARE(name,num,size,desc) \ - const struct memp_desc memp_ ## name = { \ - LWIP_MEM_ALIGN_SIZE(size) \ - }; - -#define LWIP_MEMPOOL_INIT(name) -#define LWIP_MEMPOOL_ALLOC(name) mem_malloc(memp_ ## name.size) -#define LWIP_MEMPOOL_FREE(name, x) mem_free(x) - -#else /* MEMP_MEM_MALLOC */ - -#define LWIP_MEMPOOL_DECLARE(name,num,size,desc) u8_t memp_memory_ ## name ## _base \ - [((num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size)))]; \ + LWIP_DECLARE_MEMORY_ALIGNED(memp_memory_ ## name ## _base, ((num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size)))); \ + \ + LWIP_MEMPOOL_DECLARE_STATS_INSTANCE(memp_stats_ ## name) \ \ static struct memp *memp_tab_ ## name; \ \ const struct memp_desc memp_ ## name = { \ + DECLARE_LWIP_MEMPOOL_DESC(desc) \ + LWIP_MEMPOOL_DECLARE_STATS_REFERENCE(memp_stats_ ## name) \ LWIP_MEM_ALIGN_SIZE(size), \ (num), \ - DECLARE_LWIP_MEMPOOL_DESC(desc) \ memp_memory_ ## name ## _base, \ &memp_tab_ ## name \ }; +#endif /* MEMP_MEM_MALLOC */ + +/** + * @ingroup mempool + * Initialize a private memory pool + */ #define LWIP_MEMPOOL_INIT(name) memp_init_pool(&memp_ ## name) +/** + * @ingroup mempool + * Allocate from a private memory pool + */ #define LWIP_MEMPOOL_ALLOC(name) memp_malloc_pool(&memp_ ## name) +/** + * @ingroup mempool + * Free element from a private memory pool + */ #define LWIP_MEMPOOL_FREE(name, x) memp_free_pool(&memp_ ## name, (x)) #if MEM_USE_POOLS -/** This structure is used to save the pool one element came from. */ +/** This structure is used to save the pool one element came from. + * This has to be defined here as it is required for pool size calculation. */ struct memp_malloc_helper { memp_t poolnr; -#if MEMP_OVERFLOW_CHECK +#if MEMP_OVERFLOW_CHECK || (LWIP_STATS && MEM_STATS) u16_t size; -#endif /* MEMP_OVERFLOW_CHECK */ +#endif /* MEMP_OVERFLOW_CHECK || (LWIP_STATS && MEM_STATS) */ }; - #endif /* MEM_USE_POOLS */ void memp_init(void); @@ -141,8 +148,6 @@ void *memp_malloc(memp_t type); #endif void memp_free(memp_t type, void *mem); -#endif /* MEMP_MEM_MALLOC */ - #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/lwip/lwip/mld6.h b/tools/sdk/include/lwip/lwip/mld6.h index a54dd49e..7fa0797f 100644 --- a/tools/sdk/include/lwip/lwip/mld6.h +++ b/tools/sdk/include/lwip/lwip/mld6.h @@ -50,16 +50,14 @@ #include "lwip/pbuf.h" #include "lwip/netif.h" - #ifdef __cplusplus extern "C" { #endif +/** MLD group */ struct mld_group { /** next link */ struct mld_group *next; - /** interface on which the group is active */ - struct netif *netif; /** multicast address */ ip6_addr_t group_address; /** signifies we were the last person to report */ @@ -72,33 +70,8 @@ struct mld_group { u8_t use; }; -/** Multicast listener report/query/done message header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct mld_header { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u16_t max_resp_delay); - PACK_STRUCT_FIELD(u16_t reserved); - PACK_STRUCT_FLD_S(ip6_addr_p_t multicast_address); - /* Options follow. */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - #define MLD6_TMR_INTERVAL 100 /* Milliseconds */ -/* MAC Filter Actions, these are passed to a netif's - * mld_mac_filter callback function. */ -#define MLD6_DEL_MAC_FILTER 0 -#define MLD6_ADD_MAC_FILTER 1 - - err_t mld6_stop(struct netif *netif); void mld6_report_groups(struct netif *netif); void mld6_tmr(void); @@ -109,6 +82,13 @@ err_t mld6_joingroup_netif(struct netif *netif, const ip6_addr_t *groupaddr); err_t mld6_leavegroup(const ip6_addr_t *srcaddr, const ip6_addr_t *groupaddr); err_t mld6_leavegroup_netif(struct netif *netif, const ip6_addr_t *groupaddr); +/** @ingroup mld6 + * Get list head of MLD6 groups for netif. + * Note: The allnodes group IP is NOT in the list, since it must always + * be received for correct IPv6 operation. + * @see @ref netif_set_mld_mac_filter() + */ +#define netif_mld6_data(netif) ((struct mld_group *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_MLD6)) #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/nd6.h b/tools/sdk/include/lwip/lwip/nd6.h index 27a4c813..d9fba970 100644 --- a/tools/sdk/include/lwip/lwip/nd6.h +++ b/tools/sdk/include/lwip/lwip/nd6.h @@ -48,314 +48,38 @@ #if LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */ -#include "lwip/pbuf.h" -#include "lwip/ip6.h" #include "lwip/ip6_addr.h" -#include "lwip/netif.h" - +#include "lwip/err.h" #ifdef __cplusplus extern "C" { #endif -/* Struct for tables. */ -struct nd6_neighbor_cache_entry { - ip6_addr_t next_hop_address; - struct netif * netif; - u8_t lladdr[NETIF_MAX_HWADDR_LEN]; - /*u32_t pmtu;*/ -#if LWIP_ND6_QUEUEING - /** Pointer to queue of pending outgoing packets on this entry. */ - struct nd6_q_entry *q; -#else /* LWIP_ND6_QUEUEING */ - /** Pointer to a single pending outgoing packet on this entry. */ - struct pbuf *q; -#endif /* LWIP_ND6_QUEUEING */ - u8_t state; - u8_t isrouter; - union { - u32_t reachable_time; - u32_t delay_time; - u32_t probes_sent; - u32_t stale_time; - } counter; -}; - -struct nd6_destination_cache_entry { - ip6_addr_t destination_addr; - ip6_addr_t next_hop_addr; - u16_t pmtu; - u32_t age; -}; - -struct nd6_prefix_list_entry { - ip6_addr_t prefix; - struct netif * netif; - u32_t invalidation_timer; -#if LWIP_IPV6_AUTOCONFIG - u8_t flags; -#define ND6_PREFIX_AUTOCONFIG_AUTONOMOUS 0x01 -#define ND6_PREFIX_AUTOCONFIG_ADDRESS_GENERATED 0x02 -#define ND6_PREFIX_AUTOCONFIG_ADDRESS_DUPLICATE 0x04 -#endif /* LWIP_IPV6_AUTOCONFIG */ -}; - -struct nd6_router_list_entry { - struct nd6_neighbor_cache_entry * neighbor_entry; - u32_t invalidation_timer; - u8_t flags; -}; - - -enum nd6_neighbor_cache_entry_state { - ND6_NO_ENTRY = 0, - ND6_INCOMPLETE, - ND6_REACHABLE, - ND6_STALE, - ND6_DELAY, - ND6_PROBE -}; - -#if LWIP_ND6_QUEUEING -/** struct for queueing outgoing packets for unknown address - * defined here to be accessed by memp.h - */ -struct nd6_q_entry { - struct nd6_q_entry *next; - struct pbuf *p; -}; -#endif /* LWIP_ND6_QUEUEING */ - -/** Neighbor solicitation message header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ns_header { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u32_t reserved); - PACK_STRUCT_FLD_S(ip6_addr_p_t target_address); - /* Options follow. */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Neighbor advertisement message header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct na_header { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FLD_8(u8_t flags); - PACK_STRUCT_FLD_8(u8_t reserved[3]); - PACK_STRUCT_FLD_S(ip6_addr_p_t target_address); - /* Options follow. */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif -#define ND6_FLAG_ROUTER (0x80) -#define ND6_FLAG_SOLICITED (0x40) -#define ND6_FLAG_OVERRIDE (0x20) - -/** Router solicitation message header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct rs_header { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u32_t reserved); - /* Options follow. */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Router advertisement message header. */ -#define ND6_RA_FLAG_MANAGED_ADDR_CONFIG (0x80) -#define ND6_RA_FLAG_OTHER_CONFIG (0x40) -#define ND6_RA_FLAG_HOME_AGENT (0x20) -#define ND6_RA_PREFERENCE_MASK (0x18) -#define ND6_RA_PREFERENCE_HIGH (0x08) -#define ND6_RA_PREFERENCE_MEDIUM (0x00) -#define ND6_RA_PREFERENCE_LOW (0x18) -#define ND6_RA_PREFERENCE_DISABLED (0x10) -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct ra_header { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FLD_8(u8_t current_hop_limit); - PACK_STRUCT_FLD_8(u8_t flags); - PACK_STRUCT_FIELD(u16_t router_lifetime); - PACK_STRUCT_FIELD(u32_t reachable_time); - PACK_STRUCT_FIELD(u32_t retrans_timer); - /* Options follow. */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Redirect message header. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct redirect_header { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t code); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u32_t reserved); - PACK_STRUCT_FLD_S(ip6_addr_p_t target_address); - PACK_STRUCT_FLD_S(ip6_addr_p_t destination_address); - /* Options follow. */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Link-layer address option. */ -#define ND6_OPTION_TYPE_SOURCE_LLADDR (0x01) -#define ND6_OPTION_TYPE_TARGET_LLADDR (0x02) -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct lladdr_option { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t length); - PACK_STRUCT_FLD_8(u8_t addr[NETIF_MAX_HWADDR_LEN]); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Prefix information option. */ -#define ND6_OPTION_TYPE_PREFIX_INFO (0x03) -#define ND6_PREFIX_FLAG_ON_LINK (0x80) -#define ND6_PREFIX_FLAG_AUTONOMOUS (0x40) -#define ND6_PREFIX_FLAG_ROUTER_ADDRESS (0x20) -#define ND6_PREFIX_FLAG_SITE_PREFIX (0x10) -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct prefix_option { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t length); - PACK_STRUCT_FLD_8(u8_t prefix_length); - PACK_STRUCT_FLD_8(u8_t flags); - PACK_STRUCT_FIELD(u32_t valid_lifetime); - PACK_STRUCT_FIELD(u32_t preferred_lifetime); - PACK_STRUCT_FLD_8(u8_t reserved2[3]); - PACK_STRUCT_FLD_8(u8_t site_prefix_length); - PACK_STRUCT_FLD_S(ip6_addr_p_t prefix); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Redirected header option. */ -#define ND6_OPTION_TYPE_REDIR_HDR (0x04) -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct redirected_header_option { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t length); - PACK_STRUCT_FLD_8(u8_t reserved[6]); - /* Portion of redirected packet follows. */ - /* PACK_STRUCT_FLD_8(u8_t redirected[8]); */ -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** MTU option. */ -#define ND6_OPTION_TYPE_MTU (0x05) -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct mtu_option { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t length); - PACK_STRUCT_FIELD(u16_t reserved); - PACK_STRUCT_FIELD(u32_t mtu); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -/** Route information option. */ -#define ND6_OPTION_TYPE_ROUTE_INFO (24) -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct route_option { - PACK_STRUCT_FLD_8(u8_t type); - PACK_STRUCT_FLD_8(u8_t length); - PACK_STRUCT_FLD_8(u8_t prefix_length); - PACK_STRUCT_FLD_8(u8_t preference); - PACK_STRUCT_FIELD(u32_t route_lifetime); - PACK_STRUCT_FLD_S(ip6_addr_p_t prefix); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - /** 1 second period */ #define ND6_TMR_INTERVAL 1000 -/* Router tables. */ -/* TODO make these static? and entries accessible through API? */ -extern struct nd6_neighbor_cache_entry neighbor_cache[]; -extern struct nd6_destination_cache_entry destination_cache[]; -extern struct nd6_prefix_list_entry prefix_list[]; -extern struct nd6_router_list_entry default_router_list[]; - -/* Default values, can be updated by a RA message. */ -extern u32_t reachable_time; -extern u32_t retrans_timer; +struct pbuf; +struct netif; void nd6_tmr(void); void nd6_input(struct pbuf *p, struct netif *inp); -s8_t nd6_get_next_hop_entry(const ip6_addr_t * ip6addr, struct netif * netif); -s8_t nd6_select_router(const ip6_addr_t * ip6addr, struct netif * netif); -u16_t nd6_get_destination_mtu(const ip6_addr_t * ip6addr, struct netif * netif); -err_t nd6_queue_packet(s8_t neighbor_index, struct pbuf * p); +void nd6_clear_destination_cache(void); +struct netif *nd6_find_route(const ip6_addr_t *ip6addr); +err_t nd6_get_next_hop_addr_or_queue(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr, const u8_t **hwaddrp); +u16_t nd6_get_destination_mtu(const ip6_addr_t *ip6addr, struct netif *netif); #if LWIP_ND6_TCP_REACHABILITY_HINTS -void nd6_reachability_hint(const ip6_addr_t * ip6addr); +void nd6_reachability_hint(const ip6_addr_t *ip6addr); #endif /* LWIP_ND6_TCP_REACHABILITY_HINTS */ +void nd6_cleanup_netif(struct netif *netif); +#if LWIP_IPV6_MLD +void nd6_adjust_mld_membership(struct netif *netif, s8_t addr_idx, u8_t new_state); +#endif /* LWIP_IPV6_MLD */ #if ESP_LWIP /** set nd6 callback when ipv6 addr state pref*/ void nd6_set_cb(struct netif *netif, void (*cb)(struct netif *netif, u8_t ip_index)); #endif + #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/lwip/lwip/netbuf.h b/tools/sdk/include/lwip/lwip/netbuf.h index 8875e12d..e6865f80 100644 --- a/tools/sdk/include/lwip/lwip/netbuf.h +++ b/tools/sdk/include/lwip/lwip/netbuf.h @@ -1,3 +1,8 @@ +/** + * @file + * netbuf API (for netconn API) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -51,6 +56,7 @@ extern "C" { /** This netbuf includes a checksum */ #define NETBUF_FLAG_CHKSUM 0x02 +/** "Network buffer" - contains data and addressing info */ struct netbuf { struct pbuf *p, *ptr; ip_addr_t addr; diff --git a/tools/sdk/include/lwip/lwip/netdb.h b/tools/sdk/include/lwip/lwip/netdb.h index 144a6e0b..e0b07acc 100644 --- a/tools/sdk/include/lwip/lwip/netdb.h +++ b/tools/sdk/include/lwip/lwip/netdb.h @@ -1,3 +1,8 @@ +/** + * @file + * NETDB API (sockets) + */ + /* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: @@ -33,8 +38,7 @@ #if LWIP_DNS && LWIP_SOCKET -#include /* for size_t */ - +#include "lwip/arch.h" #include "lwip/inet.h" #include "lwip/sockets.h" @@ -125,12 +129,47 @@ int lwip_getaddrinfo(const char *nodename, struct addrinfo **res); #if LWIP_COMPAT_SOCKETS +#if ESP_LWIP +#if LWIP_COMPAT_SOCKET_ADDR == 1 +/* Some libraries have problems with inet_... being macros, so please use this define + to declare normal functions */ +static inline int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop) +{ return lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop); } +static inline struct hostent *gethostbyname(const char *name) +{ return lwip_gethostbyname(name); } +static inline void freeaddrinfo(struct addrinfo *ai) +{ lwip_freeaddrinfo(ai); } +static inline int getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res) +{ return lwip_getaddrinfo(nodename, servname, hints, res); } +#else +/* By default fall back to original inet_... macros */ + +/** @ingroup netdbapi */ #define gethostbyname(name) lwip_gethostbyname(name) +/** @ingroup netdbapi */ #define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \ lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop) +/** @ingroup netdbapi */ #define freeaddrinfo(addrinfo) lwip_freeaddrinfo(addrinfo) +/** @ingroup netdbapi */ #define getaddrinfo(nodname, servname, hints, res) \ lwip_getaddrinfo(nodname, servname, hints, res) +#endif /* LWIP_COMPAT_SOCKET_ADDR == 1 */ + +#else /* ESP_LWIP */ + +/** @ingroup netdbapi */ +#define gethostbyname(name) lwip_gethostbyname(name) +/** @ingroup netdbapi */ +#define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \ + lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop) +/** @ingroup netdbapi */ +#define freeaddrinfo(addrinfo) lwip_freeaddrinfo(addrinfo) +/** @ingroup netdbapi */ +#define getaddrinfo(nodname, servname, hints, res) \ + lwip_getaddrinfo(nodname, servname, hints, res) + +#endif /* ESP_LWIP */ #endif /* LWIP_COMPAT_SOCKETS */ #ifdef __cplusplus diff --git a/tools/sdk/include/lwip/lwip/netif.h b/tools/sdk/include/lwip/lwip/netif.h index bd25b821..bcc9c5b1 100644 --- a/tools/sdk/include/lwip/lwip/netif.h +++ b/tools/sdk/include/lwip/lwip/netif.h @@ -1,3 +1,8 @@ +/** + * @file + * netif API (to be used from TCPIP thread) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -44,16 +49,6 @@ #include "lwip/pbuf.h" #include "lwip/stats.h" -#if LWIP_DHCP -struct dhcp; -#endif -#if LWIP_AUTOIP -struct autoip; -#endif -#if LWIP_IPV6_DHCP6 -struct dhcp6; -#endif /* LWIP_IPV6_DHCP6 */ - #ifdef __cplusplus extern "C" { #endif @@ -68,6 +63,12 @@ extern "C" { #define NETIF_MAX_HWADDR_LEN 6U #endif +/** + * @defgroup netif_flags Flags + * @ingroup netif + * @{ + */ + /** Whether the network interface is 'up'. This is * a software flag used to control whether this network * interface is enabled and processes traffic. @@ -99,6 +100,32 @@ extern "C" { * Set by the netif driver in its init function. */ #define NETIF_FLAG_MLD6 0x40U +#if ESP_GRATUITOUS_ARP +/** If set, the netif will send gratuitous ARP periodically */ +#define NETIF_FLAG_GARP 0x80U +#endif + +/** + * @} + */ + +enum lwip_internal_netif_client_data_index +{ +#if LWIP_DHCP + LWIP_NETIF_CLIENT_DATA_INDEX_DHCP, +#endif +#if LWIP_AUTOIP + LWIP_NETIF_CLIENT_DATA_INDEX_AUTOIP, +#endif +#if LWIP_IGMP + LWIP_NETIF_CLIENT_DATA_INDEX_IGMP, +#endif +#if LWIP_IPV6_MLD + LWIP_NETIF_CLIENT_DATA_INDEX_MLD6, +#endif + LWIP_NETIF_CLIENT_DATA_INDEX_MAX +}; + #if LWIP_CHECKSUM_CTRL_PER_NETIF #define NETIF_CHECKSUM_GEN_IP 0x0001 #define NETIF_CHECKSUM_GEN_UDP 0x0002 @@ -116,6 +143,15 @@ extern "C" { struct netif; +/** MAC Filter Actions, these are passed to a netif's igmp_mac_filter or + * mld_mac_filter callback function. */ +enum netif_mac_filter_action { + /** Delete a filter entry */ + NETIF_DEL_MAC_FILTER = 0, + /** Add a filter entry */ + NETIF_ADD_MAC_FILTER = 1 +}; + /** Function prototype for netif init functions. Set up flags and output/linkoutput * callback functions in this function. * @@ -168,21 +204,31 @@ typedef void (*netif_status_callback_fn)(struct netif *netif); #if LWIP_IPV4 && LWIP_IGMP /** Function prototype for netif igmp_mac_filter functions */ typedef err_t (*netif_igmp_mac_filter_fn)(struct netif *netif, - const ip4_addr_t *group, u8_t action); + const ip4_addr_t *group, enum netif_mac_filter_action action); #endif /* LWIP_IPV4 && LWIP_IGMP */ #if LWIP_IPV6 && LWIP_IPV6_MLD /** Function prototype for netif mld_mac_filter functions */ typedef err_t (*netif_mld_mac_filter_fn)(struct netif *netif, - const ip6_addr_t *group, u8_t action); + const ip6_addr_t *group, enum netif_mac_filter_action action); #endif /* LWIP_IPV6 && LWIP_IPV6_MLD */ +#if LWIP_DHCP || LWIP_AUTOIP || LWIP_IGMP || LWIP_IPV6_MLD || (LWIP_NUM_NETIF_CLIENT_DATA > 0) +u8_t netif_alloc_client_data_id(void); +/** @ingroup netif_cd + * Set client data. Obtain ID from netif_alloc_client_data_id(). + */ +#define netif_set_client_data(netif, id, data) netif_get_client_data(netif, id) = (data) +/** @ingroup netif_cd + * Get client data. Obtain ID from netif_alloc_client_data_id(). + */ +#define netif_get_client_data(netif, id) (netif)->client_data[(id)] +#endif /* LWIP_DHCP || LWIP_AUTOIP || (LWIP_NUM_NETIF_CLIENT_DATA > 0) */ #if ESP_DHCP /*add DHCP event processing by LiuHan*/ typedef void (*dhcp_event_fn)(void); #endif - /** Generic data structure used for all lwIP network interfaces. * The following fields should be filled in by the initialization * function for the device driver: hwaddr_len, hwaddr[], mtu, flags */ @@ -213,17 +259,19 @@ struct netif { #if LWIP_IPV4 /** This function is called by the IP module when it wants * to send a packet on the interface. This function typically - * first resolves the hardware address, then sends the packet. */ + * first resolves the hardware address, then sends the packet. + * For ethernet physical layer, this is usually etharp_output() */ netif_output_fn output; #endif /* LWIP_IPV4 */ - /** This function is called by the ARP module when it wants + /** This function is called by ethernet_output() when it wants * to send a packet on the interface. This function outputs * the pbuf as-is on the link medium. */ netif_linkoutput_fn linkoutput; #if LWIP_IPV6 /** This function is called by the IPv6 module when it wants * to send a packet on the interface. This function typically - * first resolves the hardware address, then sends the packet. */ + * first resolves the hardware address, then sends the packet. + * For ethernet physical layer, this is usually ethip6_output() */ netif_output_ip6_fn output_ip6; #endif /* LWIP_IPV6 */ #if LWIP_NETIF_STATUS_CALLBACK @@ -243,59 +291,42 @@ struct netif { /** This field can be set by the device driver and could point * to state information for the device. */ void *state; -#if LWIP_DHCP - /** the DHCP client state information for this netif */ - struct dhcp *dhcp; +#ifdef netif_get_client_data + void* client_data[LWIP_NETIF_CLIENT_DATA_INDEX_MAX + LWIP_NUM_NETIF_CLIENT_DATA]; +#endif -#if ESP_LWIP +#if ESP_DHCP struct udp_pcb *dhcps_pcb; dhcp_event_fn dhcp_event; -#endif - -#endif /* LWIP_DHCP */ - -#if LWIP_AUTOIP - /** the AutoIP client state information for this netif */ - struct autoip *autoip; #endif #if LWIP_IPV6_AUTOCONFIG /** is this netif enabled for IPv6 autoconfiguration */ u8_t ip6_autoconfig_enabled; #endif /* LWIP_IPV6_AUTOCONFIG */ - #if LWIP_IPV6_SEND_ROUTER_SOLICIT /** Number of Router Solicitation messages that remain to be sent. */ u8_t rs_count; #endif /* LWIP_IPV6_SEND_ROUTER_SOLICIT */ - -#if LWIP_IPV6_DHCP6 - /** the DHCPv6 client state information for this netif */ - struct dhcp6 *dhcp6; -#endif /* LWIP_IPV6_DHCP6 */ - #if LWIP_NETIF_HOSTNAME /* the hostname for this netif, NULL is a valid value */ const char* hostname; #endif /* LWIP_NETIF_HOSTNAME */ - #if LWIP_CHECKSUM_CTRL_PER_NETIF u16_t chksum_flags; #endif /* LWIP_CHECKSUM_CTRL_PER_NETIF*/ - /** maximum transfer unit (in bytes) */ u16_t mtu; /** number of bytes used in hwaddr */ u8_t hwaddr_len; /** link level hardware address of this interface */ u8_t hwaddr[NETIF_MAX_HWADDR_LEN]; - /** flags (see NETIF_FLAG_ above) */ + /** flags (@see @ref netif_flags) */ u8_t flags; /** descriptive abbreviation */ char name[2]; /** number of this interface */ u8_t num; - #if MIB2_STATS /** link type (from "snmp_ifType" enum from snmp_mib2.h) */ u8_t link_type; @@ -306,19 +337,16 @@ struct netif { /** counters */ struct stats_mib2_netif_ctrs mib2_counters; #endif /* MIB2_STATS */ - #if LWIP_IPV4 && LWIP_IGMP /** This function could be called to add or delete an entry in the multicast filter table of the ethernet MAC.*/ netif_igmp_mac_filter_fn igmp_mac_filter; #endif /* LWIP_IPV4 && LWIP_IGMP */ - #if LWIP_IPV6 && LWIP_IPV6_MLD /** This function could be called to add or delete an entry in the IPv6 multicast filter table of the ethernet MAC. */ netif_mld_mac_filter_fn mld_mac_filter; #endif /* LWIP_IPV6 && LWIP_IPV6_MLD */ - #if LWIP_NETIF_HWADDRHINT u8_t *addr_hint; #endif /* LWIP_NETIF_HWADDRHINT */ @@ -362,6 +390,11 @@ struct netif *netif_add(struct netif *netif, void netif_set_addr(struct netif *netif, const ip4_addr_t *ipaddr, const ip4_addr_t *netmask, const ip4_addr_t *gw); #endif /* LWIP_IPV4 */ + +#if ESP_GRATUITOUS_ARP +void netif_set_garp_flag(struct netif *netif); +#endif + void netif_remove(struct netif * netif); /* Returns a network interface given its name. The name is of the form @@ -376,17 +409,30 @@ void netif_set_default(struct netif *netif); void netif_set_ipaddr(struct netif *netif, const ip4_addr_t *ipaddr); void netif_set_netmask(struct netif *netif, const ip4_addr_t *netmask); void netif_set_gw(struct netif *netif, const ip4_addr_t *gw); +/** @ingroup netif_ip4 */ #define netif_ip4_addr(netif) ((const ip4_addr_t*)ip_2_ip4(&((netif)->ip_addr))) +/** @ingroup netif_ip4 */ #define netif_ip4_netmask(netif) ((const ip4_addr_t*)ip_2_ip4(&((netif)->netmask))) +/** @ingroup netif_ip4 */ #define netif_ip4_gw(netif) ((const ip4_addr_t*)ip_2_ip4(&((netif)->gw))) +/** @ingroup netif_ip4 */ #define netif_ip_addr4(netif) ((const ip_addr_t*)&((netif)->ip_addr)) +/** @ingroup netif_ip4 */ +#define netif_ip_netmask4(netif) ((const ip_addr_t*)&((netif)->netmask)) +/** @ingroup netif_ip4 */ #define netif_ip_gw4(netif) ((const ip_addr_t*)&((netif)->gw)) #endif /* LWIP_IPV4 */ void netif_set_up(struct netif *netif); void netif_set_down(struct netif *netif); -/** Ask if an interface is up */ +/** @ingroup netif + * Ask if an interface is up + */ +#if ESP_LWIP #define netif_is_up(netif) ( ((netif) && ((netif)->flags & NETIF_FLAG_UP)) ? (u8_t)1 : (u8_t)0) +#else +#define netif_is_up(netif) (((netif)->flags & NETIF_FLAG_UP) ? (u8_t)1 : (u8_t)0) +#endif #if LWIP_NETIF_STATUS_CALLBACK void netif_set_status_callback(struct netif *netif, netif_status_callback_fn status_callback); @@ -405,18 +451,23 @@ void netif_set_link_callback(struct netif *netif, netif_status_callback_fn link_ #endif /* LWIP_NETIF_LINK_CALLBACK */ #if LWIP_NETIF_HOSTNAME +/** @ingroup netif */ #define netif_set_hostname(netif, name) do { if((netif) != NULL) { (netif)->hostname = name; }}while(0) +/** @ingroup netif */ #define netif_get_hostname(netif) (((netif) != NULL) ? ((netif)->hostname) : NULL) #endif /* LWIP_NETIF_HOSTNAME */ #if LWIP_IGMP +/** @ingroup netif */ #define netif_set_igmp_mac_filter(netif, function) do { if((netif) != NULL) { (netif)->igmp_mac_filter = function; }}while(0) #define netif_get_igmp_mac_filter(netif) (((netif) != NULL) ? ((netif)->igmp_mac_filter) : NULL) #endif /* LWIP_IGMP */ #if LWIP_IPV6 && LWIP_IPV6_MLD +/** @ingroup netif */ #define netif_set_mld_mac_filter(netif, function) do { if((netif) != NULL) { (netif)->mld_mac_filter = function; }}while(0) #define netif_get_mld_mac_filter(netif) (((netif) != NULL) ? ((netif)->mld_mac_filter) : NULL) +#define netif_mld_mac_filter(netif, addr, action) do { if((netif) && (netif)->mld_mac_filter) { (netif)->mld_mac_filter((netif), (addr), (action)); }}while(0) #endif /* LWIP_IPV6 && LWIP_IPV6_MLD */ #if ENABLE_LOOPBACK @@ -427,15 +478,21 @@ void netif_poll_all(void); #endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */ #endif /* ENABLE_LOOPBACK */ +err_t netif_input(struct pbuf *p, struct netif *inp); + #if LWIP_IPV6 +/** @ingroup netif_ip6 */ #define netif_ip_addr6(netif, i) ((const ip_addr_t*)(&((netif)->ip6_addr[i]))) +/** @ingroup netif_ip6 */ #define netif_ip6_addr(netif, i) ((const ip6_addr_t*)ip_2_ip6(&((netif)->ip6_addr[i]))) -#define netif_ip6_addr_set(netif, i, addr6) do { ip6_addr_set(ip_2_ip6(&((netif)->ip6_addr[i])), addr6); IP_SET_TYPE_VAL((netif)->ip6_addr[i], IPADDR_TYPE_V6); } while(0) +void netif_ip6_addr_set(struct netif *netif, s8_t addr_idx, const ip6_addr_t *addr6); +void netif_ip6_addr_set_parts(struct netif *netif, s8_t addr_idx, u32_t i0, u32_t i1, u32_t i2, u32_t i3); #define netif_ip6_addr_state(netif, i) ((netif)->ip6_addr_state[i]) -#define netif_ip6_addr_set_state(netif, i, state) ((netif)->ip6_addr_state[i] = (state)) +void netif_ip6_addr_set_state(struct netif* netif, s8_t addr_idx, u8_t state); s8_t netif_get_ip6_addr_match(struct netif *netif, const ip6_addr_t *ip6addr); void netif_create_ip6_linklocal_address(struct netif *netif, u8_t from_mac_48bit); err_t netif_add_ip6_address(struct netif *netif, const ip6_addr_t *ip6addr, s8_t *chosen_idx); +#define netif_set_ip6_autoconfig_enabled(netif, action) do { if(netif) { (netif)->ip6_autoconfig_enabled = (action); }}while(0) #endif /* LWIP_IPV6 */ #if LWIP_NETIF_HWADDRHINT diff --git a/tools/sdk/include/lwip/lwip/netifapi.h b/tools/sdk/include/lwip/lwip/netifapi.h index b09316be..8bd2b4f7 100644 --- a/tools/sdk/include/lwip/lwip/netifapi.h +++ b/tools/sdk/include/lwip/lwip/netifapi.h @@ -1,3 +1,8 @@ +/** + * @file + * netif API (to be used from non-TCPIP threads) + */ + /* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: @@ -51,7 +56,7 @@ typedef void (*netifapi_void_fn)(struct netif *netif); typedef err_t (*netifapi_errt_fn)(struct netif *netif); struct netifapi_msg { - struct tcpip_api_call call; + struct tcpip_api_call_data call; struct netif *netif; union { struct { @@ -87,16 +92,43 @@ err_t netifapi_netif_set_addr(struct netif *netif, const ip4_addr_t *ipaddr, err_t netifapi_netif_common(struct netif *netif, netifapi_void_fn voidfunc, netifapi_errt_fn errtfunc); -#define netifapi_netif_remove(n) netifapi_netif_common(n, netif_remove, NULL) -#define netifapi_netif_set_up(n) netifapi_netif_common(n, netif_set_up, NULL) -#define netifapi_netif_set_down(n) netifapi_netif_common(n, netif_set_down, NULL) -#define netifapi_netif_set_default(n) netifapi_netif_common(n, netif_set_default, NULL) +/** @ingroup netifapi_netif */ +#define netifapi_netif_remove(n) netifapi_netif_common(n, netif_remove, NULL) +/** @ingroup netifapi_netif */ +#define netifapi_netif_set_up(n) netifapi_netif_common(n, netif_set_up, NULL) +/** @ingroup netifapi_netif */ +#define netifapi_netif_set_down(n) netifapi_netif_common(n, netif_set_down, NULL) +/** @ingroup netifapi_netif */ +#define netifapi_netif_set_default(n) netifapi_netif_common(n, netif_set_default, NULL) +/** @ingroup netifapi_netif */ +#define netifapi_netif_set_link_up(n) netifapi_netif_common(n, netif_set_link_up, NULL) +/** @ingroup netifapi_netif */ +#define netifapi_netif_set_link_down(n) netifapi_netif_common(n, netif_set_link_down, NULL) + +/** + * @defgroup netifapi_dhcp4 DHCPv4 + * @ingroup netifapi + * To be called from non-TCPIP threads + */ +/** @ingroup netifapi_dhcp4 */ #define netifapi_dhcp_start(n) netifapi_netif_common(n, NULL, dhcp_start) +/** @ingroup netifapi_dhcp4 */ #define netifapi_dhcp_stop(n) netifapi_netif_common(n, dhcp_stop, NULL) +/** @ingroup netifapi_dhcp4 */ #define netifapi_dhcp_inform(n) netifapi_netif_common(n, dhcp_inform, NULL) +/** @ingroup netifapi_dhcp4 */ #define netifapi_dhcp_renew(n) netifapi_netif_common(n, NULL, dhcp_renew) +/** @ingroup netifapi_dhcp4 */ #define netifapi_dhcp_release(n) netifapi_netif_common(n, NULL, dhcp_release) + +/** + * @defgroup netifapi_autoip AUTOIP + * @ingroup netifapi + * To be called from non-TCPIP threads + */ +/** @ingroup netifapi_autoip */ #define netifapi_autoip_start(n) netifapi_netif_common(n, NULL, autoip_start) +/** @ingroup netifapi_autoip */ #define netifapi_autoip_stop(n) netifapi_netif_common(n, NULL, autoip_stop) #ifdef __cplusplus diff --git a/tools/sdk/include/lwip/lwip/opt.h b/tools/sdk/include/lwip/lwip/opt.h index 6ea556ac..f15aa7b6 100644 --- a/tools/sdk/include/lwip/lwip/opt.h +++ b/tools/sdk/include/lwip/lwip/opt.h @@ -35,7 +35,13 @@ * Author: Adam Dunkels * */ -#ifndef LWIP_HDR_OPT_H + +/* + * NOTE: || defined __DOXYGEN__ is a workaround for doxygen bug - + * without this, doxygen does not see the actual #define + */ + +#if !defined LWIP_HDR_OPT_H #define LWIP_HDR_OPT_H /* @@ -45,42 +51,89 @@ #include "lwipopts.h" #include "lwip/debug.h" -/* - ----------------------------------------------- - ---------- Platform specific locking ---------- - ----------------------------------------------- +/** + * @defgroup lwip_opts Options (lwipopts.h) + * @ingroup lwip + * + * @defgroup lwip_opts_debug Debugging + * @ingroup lwip_opts + * + * @defgroup lwip_opts_infrastructure Infrastructure + * @ingroup lwip_opts + * + * @defgroup lwip_opts_callback Callback-style APIs + * @ingroup lwip_opts + * + * @defgroup lwip_opts_threadsafe_apis Thread-safe APIs + * @ingroup lwip_opts + */ + + /* + ------------------------------------ + -------------- NO SYS -------------- + ------------------------------------ */ - /** - * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain - * critical regions during buffer allocation, deallocation and memory - * allocation and deallocation. + * @defgroup lwip_opts_nosys NO_SYS + * @ingroup lwip_opts_infrastructure + * @{ */ -#ifndef SYS_LIGHTWEIGHT_PROT -#define SYS_LIGHTWEIGHT_PROT 0 -#endif - /** - * NO_SYS==1: Provides VERY minimal functionality. Otherwise, - * use lwIP facilities. + * NO_SYS==1: Use lwIP without OS-awareness (no thread, semaphores, mutexes or + * mboxes). This means threaded APIs cannot be used (socket, netconn, + * i.e. everything in the 'api' folder), only the callback-style raw API is + * available (and you have to watch out for yourself that you don't access + * lwIP functions/structures from more than one context at a time!) */ -#ifndef NO_SYS +#if !defined NO_SYS || defined __DOXYGEN__ #define NO_SYS 0 #endif +/** + * @} + */ /** - * NO_SYS_NO_TIMERS==1: Drop support for sys_timeout when NO_SYS==1 - * Mainly for compatibility to old versions. + * @defgroup lwip_opts_timers Timers + * @ingroup lwip_opts_infrastructure + * @{ */ -#ifndef NO_SYS_NO_TIMERS -#define NO_SYS_NO_TIMERS 0 +/** + * LWIP_TIMERS==0: Drop support for sys_timeout and lwip-internal cyclic timers. + * (the array of lwip-internal cyclic timers is still provided) + * (check NO_SYS_NO_TIMERS for compatibility to old versions) + */ +#if !defined LWIP_TIMERS || defined __DOXYGEN__ +#ifdef NO_SYS_NO_TIMERS +#define LWIP_TIMERS (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS)) +#else +#define LWIP_TIMERS 1 +#endif #endif +/** + * LWIP_TIMERS_CUSTOM==1: Provide your own timer implementation. + * Function prototypes in timeouts.h and the array of lwip-internal cyclic timers + * are still included, but the implementation is not. The following functions + * will be required: sys_timeouts_init(), sys_timeout(), sys_untimeout(), + * sys_timeouts_mbox_fetch() + */ +#if !defined LWIP_TIMERS_CUSTOM || defined __DOXYGEN__ +#define LWIP_TIMERS_CUSTOM 0 +#endif +/** + * @} + */ + +/** + * @defgroup lwip_opts_memcpy memcpy + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * MEMCPY: override this if you have a faster implementation at hand than the * one included in your C library */ -#ifndef MEMCPY +#if !defined MEMCPY || defined __DOXYGEN__ #define MEMCPY(dst,src,len) memcpy(dst,src,len) #endif @@ -88,49 +141,110 @@ * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a * call to memcpy() if the length is known at compile time and is small. */ -#ifndef SMEMCPY +#if !defined SMEMCPY || defined __DOXYGEN__ #define SMEMCPY(dst,src,len) memcpy(dst,src,len) #endif +/** + * @} + */ +/* + ------------------------------------ + ----------- Core locking ----------- + ------------------------------------ +*/ +/** + * @defgroup lwip_opts_lock Core locking and MPU + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * LWIP_MPU_COMPATIBLE: enables special memory management mechanism * which makes lwip able to work on MPU (Memory Protection Unit) system * by not passing stack-pointers to other threads - * (this decreases performance) + * (this decreases performance as memory is allocated from pools instead + * of keeping it on the stack) */ -#ifndef LWIP_MPU_COMPATIBLE +#if !defined LWIP_MPU_COMPATIBLE || defined __DOXYGEN__ #define LWIP_MPU_COMPATIBLE 0 #endif +/** + * LWIP_TCPIP_CORE_LOCKING + * Creates a global mutex that is held during TCPIP thread operations. + * Can be locked by client code to perform lwIP operations without changing + * into TCPIP thread using callbacks. See LOCK_TCPIP_CORE() and + * UNLOCK_TCPIP_CORE(). + * Your system should provide mutexes supporting priority inversion to use this. + */ +#if !defined LWIP_TCPIP_CORE_LOCKING || defined __DOXYGEN__ +#define LWIP_TCPIP_CORE_LOCKING 1 +#endif + +/** + * LWIP_TCPIP_CORE_LOCKING_INPUT: when LWIP_TCPIP_CORE_LOCKING is enabled, + * this lets tcpip_input() grab the mutex for input packets as well, + * instead of allocating a message and passing it to tcpip_thread. + * + * ATTENTION: this does not work when tcpip_input() is called from + * interrupt context! + */ +#if !defined LWIP_TCPIP_CORE_LOCKING_INPUT || defined __DOXYGEN__ +#define LWIP_TCPIP_CORE_LOCKING_INPUT 0 +#endif + +/** + * SYS_LIGHTWEIGHT_PROT==1: enable inter-task protection (and task-vs-interrupt + * protection) for certain critical regions during buffer allocation, deallocation + * and memory allocation and deallocation. + * ATTENTION: This is required when using lwIP from more than one context! If + * you disable this, you must be sure what you are doing! + */ +#if !defined SYS_LIGHTWEIGHT_PROT || defined __DOXYGEN__ +#define SYS_LIGHTWEIGHT_PROT 1 +#endif +/** + * @} + */ + /* ------------------------------------ ---------- Memory options ---------- ------------------------------------ */ +/** + * @defgroup lwip_opts_mem Heap and memory pools + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library * instead of the lwip internal allocator. Can save code size if you * already use it. */ -#ifndef MEM_LIBC_MALLOC +#if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__ #define MEM_LIBC_MALLOC 0 #endif /** -* MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator. -* Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution -* speed and usage from interrupts! -*/ -#ifndef MEMP_MEM_MALLOC + * MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator. + * Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution + * speed (heap alloc can be much slower than pool alloc) and usage from interrupts + * (especially if your netif driver allocates PBUF_POOL pbufs for received frames + * from interrupt)! + * ATTENTION: Currently, this uses the heap for ALL pools (also for private pools, + * not only for internal pools defined in memp_std.h)! + */ +#if !defined MEMP_MEM_MALLOC || defined __DOXYGEN__ #define MEMP_MEM_MALLOC 0 #endif /** * MEM_ALIGNMENT: should be set to the alignment of the CPU - * 4 byte alignment -> #define MEM_ALIGNMENT 4 - * 2 byte alignment -> #define MEM_ALIGNMENT 2 + * 4 byte alignment -> \#define MEM_ALIGNMENT 4 + * 2 byte alignment -> \#define MEM_ALIGNMENT 2 */ -#ifndef MEM_ALIGNMENT +#if !defined MEM_ALIGNMENT || defined __DOXYGEN__ #define MEM_ALIGNMENT 1 #endif @@ -138,7 +252,7 @@ * MEM_SIZE: the size of the heap memory. If the application will send * a lot of data that needs to be copied, this should be set high. */ -#ifndef MEM_SIZE +#if !defined MEM_SIZE || defined __DOXYGEN__ #define MEM_SIZE 1600 #endif @@ -151,7 +265,7 @@ * MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time * memp_malloc() or memp_free() is called (useful but slow!) */ -#ifndef MEMP_OVERFLOW_CHECK +#if !defined MEMP_OVERFLOW_CHECK || defined __DOXYGEN__ #define MEMP_OVERFLOW_CHECK 0 #endif @@ -159,7 +273,7 @@ * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make * sure that there are no cycles in the linked lists. */ -#ifndef MEMP_SANITY_CHECK +#if !defined MEMP_SANITY_CHECK || defined __DOXYGEN__ #define MEMP_SANITY_CHECK 0 #endif @@ -169,7 +283,7 @@ * the smallest pool that can provide the length needed is returned. * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled. */ -#ifndef MEM_USE_POOLS +#if !defined MEM_USE_POOLS || defined __DOXYGEN__ #define MEM_USE_POOLS 0 #endif @@ -177,7 +291,7 @@ * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more * reliable. */ -#ifndef MEM_USE_POOLS_TRY_BIGGER_POOL +#if !defined MEM_USE_POOLS_TRY_BIGGER_POOL || defined __DOXYGEN__ #define MEM_USE_POOLS_TRY_BIGGER_POOL 0 #endif @@ -187,7 +301,7 @@ * by lwIP. If you set this to 1, you must have lwippools.h in your * include path somewhere. */ -#ifndef MEMP_USE_CUSTOM_POOLS +#if !defined MEMP_USE_CUSTOM_POOLS || defined __DOXYGEN__ #define MEMP_USE_CUSTOM_POOLS 0 #endif @@ -209,21 +323,29 @@ * - pbuf_free_callback(p); * - mem_free_callback(m); */ -#ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT +#if !defined LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT || defined __DOXYGEN__ #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 #endif +/** + * @} + */ /* ------------------------------------------------ ---------- Internal Memory Pool Sizes ---------- ------------------------------------------------ */ +/** + * @defgroup lwip_opts_memp Internal memory pools + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF). * If the application sends a lot of data out of ROM (or other static memory), * this should be set high. */ -#ifndef MEMP_NUM_PBUF +#if !defined MEMP_NUM_PBUF || defined __DOXYGEN__ #define MEMP_NUM_PBUF 16 #endif @@ -231,7 +353,7 @@ * MEMP_NUM_RAW_PCB: Number of raw connection PCBs * (requires the LWIP_RAW option) */ -#ifndef MEMP_NUM_RAW_PCB +#if !defined MEMP_NUM_RAW_PCB || defined __DOXYGEN__ #define MEMP_NUM_RAW_PCB 4 #endif @@ -240,7 +362,7 @@ * per active UDP "connection". * (requires the LWIP_UDP option) */ -#ifndef MEMP_NUM_UDP_PCB +#if !defined MEMP_NUM_UDP_PCB || defined __DOXYGEN__ #define MEMP_NUM_UDP_PCB 4 #endif @@ -248,7 +370,7 @@ * MEMP_NUM_TCP_PCB: the number of simultaneously active TCP connections. * (requires the LWIP_TCP option) */ -#ifndef MEMP_NUM_TCP_PCB +#if !defined MEMP_NUM_TCP_PCB || defined __DOXYGEN__ #define MEMP_NUM_TCP_PCB 5 #endif @@ -256,7 +378,7 @@ * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. * (requires the LWIP_TCP option) */ -#ifndef MEMP_NUM_TCP_PCB_LISTEN +#if !defined MEMP_NUM_TCP_PCB_LISTEN || defined __DOXYGEN__ #define MEMP_NUM_TCP_PCB_LISTEN 8 #endif @@ -264,7 +386,7 @@ * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. * (requires the LWIP_TCP option) */ -#ifndef MEMP_NUM_TCP_SEG +#if !defined MEMP_NUM_TCP_SEG || defined __DOXYGEN__ #define MEMP_NUM_TCP_SEG 16 #endif @@ -272,18 +394,18 @@ * MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for * reassembly (whole packets, not fragments!) */ -#ifndef MEMP_NUM_REASSDATA +#if !defined MEMP_NUM_REASSDATA || defined __DOXYGEN__ #define MEMP_NUM_REASSDATA 5 #endif /** * MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent * (fragments, not whole packets!). - * This is only used with IP_FRAG_USES_STATIC_BUF==0 and - * LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 with DMA-enabled MACs - * where the packet is not yet sent when netif->output returns. + * This is only used with LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 + * with DMA-enabled MACs where the packet is not yet sent when netif->output + * returns. */ -#ifndef MEMP_NUM_FRAG_PBUF +#if !defined MEMP_NUM_FRAG_PBUF || defined __DOXYGEN__ #define MEMP_NUM_FRAG_PBUF 15 #endif @@ -293,7 +415,7 @@ * their destination address) to finish. * (requires the ARP_QUEUEING option) */ -#ifndef MEMP_NUM_ARP_QUEUE +#if !defined MEMP_NUM_ARP_QUEUE || defined __DOXYGEN__ #define MEMP_NUM_ARP_QUEUE 30 #endif @@ -303,7 +425,7 @@ * per netif membership). * (requires the LWIP_IGMP option) */ -#ifndef MEMP_NUM_IGMP_GROUP +#if !defined MEMP_NUM_IGMP_GROUP || defined __DOXYGEN__ #define MEMP_NUM_IGMP_GROUP 8 #endif @@ -312,15 +434,19 @@ * The default number of timeouts is calculated here for all enabled modules. * The formula expects settings to be either '0' or '1'. */ -#ifndef MEMP_NUM_SYS_TIMEOUT +#if !defined MEMP_NUM_SYS_TIMEOUT || defined __DOXYGEN__ +#if ESP_LWIP +#define MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + (LWIP_ARP + (ESP_GRATUITOUS_ARP ? 1 : 0)) + (2*LWIP_DHCP + (ESP_DHCPS_TIMER ? 1 : 0)) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + (PPP_SUPPORT*6*MEMP_NUM_PPP_PCB) + (LWIP_IPV6 ? (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD) : 0)) +#else #define MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + (PPP_SUPPORT*6*MEMP_NUM_PPP_PCB) + (LWIP_IPV6 ? (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD) : 0)) #endif +#endif /** * MEMP_NUM_NETBUF: the number of struct netbufs. * (only needed if you use the sequential API, like api_lib.c) */ -#ifndef MEMP_NUM_NETBUF +#if !defined MEMP_NUM_NETBUF || defined __DOXYGEN__ #define MEMP_NUM_NETBUF 2 #endif @@ -328,7 +454,7 @@ * MEMP_NUM_NETCONN: the number of struct netconns. * (only needed if you use the sequential API, like api_lib.c) */ -#ifndef MEMP_NUM_NETCONN +#if !defined MEMP_NUM_NETCONN || defined __DOXYGEN__ #define MEMP_NUM_NETCONN 4 #endif @@ -337,7 +463,7 @@ * for callback/timeout API communication. * (only needed if you use tcpip.c) */ -#ifndef MEMP_NUM_TCPIP_MSG_API +#if !defined MEMP_NUM_TCPIP_MSG_API || defined __DOXYGEN__ #define MEMP_NUM_TCPIP_MSG_API 8 #endif @@ -346,7 +472,7 @@ * for incoming packets. * (only needed if you use tcpip.c) */ -#ifndef MEMP_NUM_TCPIP_MSG_INPKT +#if !defined MEMP_NUM_TCPIP_MSG_INPKT || defined __DOXYGEN__ #define MEMP_NUM_TCPIP_MSG_INPKT 8 #endif @@ -354,7 +480,7 @@ * MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls * (before freeing the corresponding memory using lwip_freeaddrinfo()). */ -#ifndef MEMP_NUM_NETDB +#if !defined MEMP_NUM_NETDB || defined __DOXYGEN__ #define MEMP_NUM_NETDB 1 #endif @@ -362,92 +488,68 @@ * MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list * if DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1. */ -#ifndef MEMP_NUM_LOCALHOSTLIST +#if !defined MEMP_NUM_LOCALHOSTLIST || defined __DOXYGEN__ #define MEMP_NUM_LOCALHOSTLIST 1 #endif -/** - * MEMP_NUM_PPP_PCB: the number of simultaneously active PPP - * connections (requires the PPP_SUPPORT option) - */ -#ifndef MEMP_NUM_PPP_PCB -#define MEMP_NUM_PPP_PCB 1 -#endif - -/** - * MEMP_NUM_PPPOS_INTERFACES: the number of concurrently active PPPoS - * interfaces (only used with PPPOS_SUPPORT==1) - */ -#ifndef MEMP_NUM_PPPOS_INTERFACES -#define MEMP_NUM_PPPOS_INTERFACES MEMP_NUM_PPP_PCB -#endif - -/** - * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE - * interfaces (only used with PPPOE_SUPPORT==1) - */ -#ifndef MEMP_NUM_PPPOE_INTERFACES -#define MEMP_NUM_PPPOE_INTERFACES 1 -#endif - -/** - * MEMP_NUM_PPPOL2TP_INTERFACES: the number of concurrently active PPPoL2TP - * interfaces (only used with PPPOL2TP_SUPPORT==1) - */ -#ifndef MEMP_NUM_PPPOL2TP_INTERFACES -#define MEMP_NUM_PPPOL2TP_INTERFACES 1 -#endif - /** * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */ -#ifndef PBUF_POOL_SIZE +#if !defined PBUF_POOL_SIZE || defined __DOXYGEN__ #define PBUF_POOL_SIZE 16 #endif /** MEMP_NUM_API_MSG: the number of concurrently active calls to various * socket, netconn, and tcpip functions */ -#ifndef MEMP_NUM_API_MSG +#if !defined MEMP_NUM_API_MSG || defined __DOXYGEN__ #define MEMP_NUM_API_MSG MEMP_NUM_TCPIP_MSG_API #endif /** MEMP_NUM_DNS_API_MSG: the number of concurrently active calls to netconn_gethostbyname */ -#ifndef MEMP_NUM_DNS_API_MSG +#if !defined MEMP_NUM_DNS_API_MSG || defined __DOXYGEN__ #define MEMP_NUM_DNS_API_MSG MEMP_NUM_TCPIP_MSG_API #endif /** MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA: the number of concurrently active calls * to getsockopt/setsockopt */ -#ifndef MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA +#if !defined MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA || defined __DOXYGEN__ #define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API #endif /** MEMP_NUM_NETIFAPI_MSG: the number of concurrently active calls to the * netifapi functions */ -#ifndef MEMP_NUM_NETIFAPI_MSG +#if !defined MEMP_NUM_NETIFAPI_MSG || defined __DOXYGEN__ #define MEMP_NUM_NETIFAPI_MSG MEMP_NUM_TCPIP_MSG_API #endif +/** + * @} + */ /* --------------------------------- ---------- ARP options ---------- --------------------------------- */ +/** + * @defgroup lwip_opts_arp ARP + * @ingroup lwip_opts_ipv4 + * @{ + */ /** * LWIP_ARP==1: Enable ARP functionality. */ -#ifndef LWIP_ARP +#if !defined LWIP_ARP || defined __DOXYGEN__ #define LWIP_ARP 1 #endif /** * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached. */ -#ifndef ARP_TABLE_SIZE +#if !defined ARP_TABLE_SIZE || defined __DOXYGEN__ #define ARP_TABLE_SIZE 10 #endif @@ -455,7 +557,7 @@ * for ARP_TMR_INTERVAL = 1000, this is * (60 * 5) seconds = 5 minutes. */ -#ifndef ARP_MAXAGE +#if !defined ARP_MAXAGE || defined __DOXYGEN__ #define ARP_MAXAGE 300 #endif @@ -466,7 +568,7 @@ * startup time. Set this to 1 if you know your application sends more than one * packet in a row to an IP address that is not in the ARP cache. */ -#ifndef ARP_QUEUEING +#if !defined ARP_QUEUEING || defined __DOXYGEN__ #define ARP_QUEUEING 0 #endif @@ -474,24 +576,10 @@ * unresolved address by other network layers. Defaults to 3, 0 means disabled. * Old packets are dropped, new packets are queued. */ -#ifndef ARP_QUEUE_LEN +#if !defined ARP_QUEUE_LEN || defined __DOXYGEN__ #define ARP_QUEUE_LEN 3 #endif -/** - * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be - * updated with the source MAC and IP addresses supplied in the packet. - * You may want to disable this if you do not trust LAN peers to have the - * correct addresses, or as a limited approach to attempt to handle - * spoofing. If disabled, lwIP will need to make a new ARP request if - * the peer is not already in the ARP table, adding a little latency. - * The peer *is* in the ARP table if it requested our address before. - * Also notice that this slows down input processing of every IP packet! - */ -#ifndef ETHARP_TRUST_IP_MAC -#define ETHARP_TRUST_IP_MAC 0 -#endif - /** * ETHARP_SUPPORT_VLAN==1: support receiving and sending ethernet packets with * VLAN header. See the description of LWIP_HOOK_VLAN_CHECK and @@ -502,15 +590,14 @@ * Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) * that returns 1 to accept a packet or 0 to drop a packet. */ -#ifndef ETHARP_SUPPORT_VLAN +#if !defined ETHARP_SUPPORT_VLAN || defined __DOXYGEN__ #define ETHARP_SUPPORT_VLAN 0 #endif -/** LWIP_ETHERNET==1: enable ethernet support for PPPoE even though ARP - * might be disabled +/** LWIP_ETHERNET==1: enable ethernet support even though ARP might be disabled */ -#ifndef LWIP_ETHERNET -#define LWIP_ETHERNET (LWIP_ARP || PPPOE_SUPPORT) +#if !defined LWIP_ETHERNET || defined __DOXYGEN__ +#define LWIP_ETHERNET LWIP_ARP #endif /** ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure @@ -518,14 +605,14 @@ * without this padding e.g. addresses in the IP header will not be aligned * on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms. */ -#ifndef ETH_PAD_SIZE +#if !defined ETH_PAD_SIZE || defined __DOXYGEN__ #define ETH_PAD_SIZE 0 #endif /** ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table * entries (using etharp_add_static_entry/etharp_remove_static_entry). */ -#ifndef ETHARP_SUPPORT_STATIC_ENTRIES +#if !defined ETHARP_SUPPORT_STATIC_ENTRIES || defined __DOXYGEN__ #define ETHARP_SUPPORT_STATIC_ENTRIES 0 #endif @@ -533,19 +620,27 @@ * If disabled, duplicate IP address on multiple netifs are not supported * (but this should only occur for AutoIP). */ -#ifndef ETHARP_TABLE_MATCH_NETIF +#if !defined ETHARP_TABLE_MATCH_NETIF || defined __DOXYGEN__ #define ETHARP_TABLE_MATCH_NETIF 0 #endif +/** + * @} + */ /* -------------------------------- ---------- IP options ---------- -------------------------------- */ +/** + * @defgroup lwip_opts_ipv4 IPv4 + * @ingroup lwip_opts + * @{ + */ /** * LWIP_IPV4==1: Enable IPv4 */ -#ifndef LWIP_IPV4 +#if !defined LWIP_IPV4 || defined __DOXYGEN__ #define LWIP_IPV4 1 #endif @@ -554,7 +649,7 @@ * interfaces. If you are going to run lwIP on a device with only one network * interface, define this to 0. */ -#ifndef IP_FORWARD +#if !defined IP_FORWARD || defined __DOXYGEN__ #define IP_FORWARD 0 #endif @@ -563,7 +658,7 @@ * this option does not affect outgoing packet sizes, which can be controlled * via IP_FRAG. */ -#ifndef IP_REASSEMBLY +#if !defined IP_REASSEMBLY || defined __DOXYGEN__ #define IP_REASSEMBLY 1 #endif @@ -572,7 +667,7 @@ * that this option does not affect incoming packet sizes, which can be * controlled via IP_REASSEMBLY. */ -#ifndef IP_FRAG +#if !defined IP_FRAG || defined __DOXYGEN__ #define IP_FRAG 1 #endif @@ -591,7 +686,7 @@ * IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped. * IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed). */ -#ifndef IP_OPTIONS_ALLOWED +#if !defined IP_OPTIONS_ALLOWED || defined __DOXYGEN__ #define IP_OPTIONS_ALLOWED 1 #endif @@ -600,7 +695,7 @@ * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived * in this time, the whole packet is discarded. */ -#ifndef IP_REASS_MAXAGE +#if !defined IP_REASS_MAXAGE || defined __DOXYGEN__ #define IP_REASS_MAXAGE 3 #endif @@ -610,33 +705,14 @@ * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive * packets even if the maximum amount of fragments is enqueued for reassembly! */ -#ifndef IP_REASS_MAX_PBUFS +#if !defined IP_REASS_MAX_PBUFS || defined __DOXYGEN__ #define IP_REASS_MAX_PBUFS 10 #endif -/** - * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP - * fragmentation. Otherwise pbufs are allocated and reference the original - * packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1, - * new PBUF_RAM pbufs are used for fragments). - * ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs! - */ -#ifndef IP_FRAG_USES_STATIC_BUF -#define IP_FRAG_USES_STATIC_BUF 0 -#endif - -/** - * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer - * (requires IP_FRAG_USES_STATIC_BUF==1) - */ -#if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU) -#define IP_FRAG_MAX_MTU 1500 -#endif - /** * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. */ -#ifndef IP_DEFAULT_TTL +#if !defined IP_DEFAULT_TTL || defined __DOXYGEN__ #define IP_DEFAULT_TTL 255 #endif @@ -645,7 +721,7 @@ * filter per pcb on udp and raw send operations. To enable broadcast filter * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1. */ -#ifndef IP_SOF_BROADCAST +#if !defined IP_SOF_BROADCAST || defined __DOXYGEN__ #define IP_SOF_BROADCAST 0 #endif @@ -653,7 +729,7 @@ * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast * filter on recv operations. */ -#ifndef IP_SOF_BROADCAST_RECV +#if !defined IP_SOF_BROADCAST_RECV || defined __DOXYGEN__ #define IP_SOF_BROADCAST_RECV 0 #endif @@ -664,7 +740,7 @@ * ATTENTION: When this is 1, make sure your netif driver correctly marks incoming * link-layer-broadcast/multicast packets as such using the corresponding pbuf flags! */ -#ifndef IP_FORWARD_ALLOW_TX_ON_RX_NETIF +#if !defined IP_FORWARD_ALLOW_TX_ON_RX_NETIF || defined __DOXYGEN__ #define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0 #endif @@ -673,72 +749,96 @@ * local TCP/UDP pcb (default==0). This can prevent creating predictable port * numbers after booting a device. */ -#ifndef LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS +#if !defined LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS || defined __DOXYGEN__ #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0 #endif +/** + * @} + */ /* ---------------------------------- ---------- ICMP options ---------- ---------------------------------- */ +/** + * @defgroup lwip_opts_icmp ICMP + * @ingroup lwip_opts_ipv4 + * @{ + */ /** * LWIP_ICMP==1: Enable ICMP module inside the IP stack. * Be careful, disable that make your product non-compliant to RFC1122 */ -#ifndef LWIP_ICMP +#if !defined LWIP_ICMP || defined __DOXYGEN__ #define LWIP_ICMP 1 #endif /** * ICMP_TTL: Default value for Time-To-Live used by ICMP packets. */ -#ifndef ICMP_TTL +#if !defined ICMP_TTL || defined __DOXYGEN__ #define ICMP_TTL (IP_DEFAULT_TTL) #endif /** * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only) */ -#ifndef LWIP_BROADCAST_PING +#if !defined LWIP_BROADCAST_PING || defined __DOXYGEN__ #define LWIP_BROADCAST_PING 0 #endif /** * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only) */ -#ifndef LWIP_MULTICAST_PING +#if !defined LWIP_MULTICAST_PING || defined __DOXYGEN__ #define LWIP_MULTICAST_PING 0 #endif +/** + * @} + */ /* --------------------------------- ---------- RAW options ---------- --------------------------------- */ +/** + * @defgroup lwip_opts_raw RAW + * @ingroup lwip_opts_callback + * @{ + */ /** * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. */ -#ifndef LWIP_RAW +#if !defined LWIP_RAW || defined __DOXYGEN__ #define LWIP_RAW 0 #endif /** * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. */ -#ifndef RAW_TTL +#if !defined RAW_TTL || defined __DOXYGEN__ #define RAW_TTL (IP_DEFAULT_TTL) #endif +/** + * @} + */ /* ---------------------------------- ---------- DHCP options ---------- ---------------------------------- */ +/** + * @defgroup lwip_opts_dhcp DHCP + * @ingroup lwip_opts_ipv4 + * @{ + */ /** * LWIP_DHCP==1: Enable DHCP module. */ -#ifndef LWIP_DHCP +#if !defined LWIP_DHCP || defined __DOXYGEN__ #define LWIP_DHCP 0 #endif #if !LWIP_IPV4 @@ -750,7 +850,7 @@ /** * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address. */ -#ifndef DHCP_DOES_ARP_CHECK +#if !defined DHCP_DOES_ARP_CHECK || defined __DOXYGEN__ #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP)) #endif @@ -760,14 +860,14 @@ * netif drivers might not set this flag, the default is off. If enabled, * netif_set_link_up() must be called to continue dhcp starting. */ -#ifndef LWIP_DHCP_CHECK_LINK_UP +#if !defined LWIP_DHCP_CHECK_LINK_UP #define LWIP_DHCP_CHECK_LINK_UP 0 #endif /** * LWIP_DHCP_BOOTP_FILE==1: Store offered_si_addr and boot_file_name. */ -#ifndef LWIP_DHCP_BOOTP_FILE +#if !defined LWIP_DHCP_BOOTP_FILE || defined __DOXYGEN__ #define LWIP_DHCP_BOOTP_FILE 0 #endif @@ -776,26 +876,55 @@ * response packet, an callback is called, which has to be provided by the port: * void dhcp_set_ntp_servers(u8_t num_ntp_servers, ip_addr_t* ntp_server_addrs); */ -#ifndef LWIP_DHCP_GET_NTP_SRV +#if !defined LWIP_DHCP_GET_NTP_SRV || defined __DOXYGEN__ #define LWIP_DHCP_GET_NTP_SRV 0 #endif /** * The maximum of NTP servers requested */ -#ifndef LWIP_DHCP_MAX_NTP_SERVERS +#if !defined LWIP_DHCP_MAX_NTP_SERVERS || defined __DOXYGEN__ #define LWIP_DHCP_MAX_NTP_SERVERS 1 #endif +/** + * LWIP_DHCP_MAX_DNS_SERVERS > 0: Request DNS servers with discover/select. + * DHCP servers received in the response are passed to DNS via @ref dns_setserver() + * (up to the maximum limit defined here). + */ +#if !defined LWIP_DHCP_MAX_DNS_SERVERS || defined __DOXYGEN__ +#define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS +#endif +/** + * @} + */ + +#ifndef LWIP_DHCP_IP_ADDR_RESTORE +#define LWIP_DHCP_IP_ADDR_RESTORE() 0 +#endif + +#ifndef LWIP_DHCP_IP_ADDR_STORE +#define LWIP_DHCP_IP_ADDR_STORE() +#endif + +#ifndef LWIP_DHCP_IP_ADDR_ERASE +#define LWIP_DHCP_IP_ADDR_ERASE() +#endif + /* ------------------------------------ ---------- AUTOIP options ---------- ------------------------------------ */ +/** + * @defgroup lwip_opts_autoip AUTOIP + * @ingroup lwip_opts_ipv4 + * @{ + */ /** * LWIP_AUTOIP==1: Enable AUTOIP module. */ -#ifndef LWIP_AUTOIP +#if !defined LWIP_AUTOIP || defined __DOXYGEN__ #define LWIP_AUTOIP 0 #endif #if !LWIP_IPV4 @@ -808,61 +937,61 @@ * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on * the same interface at the same time. */ -#ifndef LWIP_DHCP_AUTOIP_COOP +#if !defined LWIP_DHCP_AUTOIP_COOP || defined __DOXYGEN__ #define LWIP_DHCP_AUTOIP_COOP 0 #endif /** * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes - * that should be sent before falling back on AUTOIP. This can be set - * as low as 1 to get an AutoIP address very quickly, but you should - * be prepared to handle a changing IP address when DHCP overrides - * AutoIP. + * that should be sent before falling back on AUTOIP (the DHCP client keeps + * running in this case). This can be set as low as 1 to get an AutoIP address + * very quickly, but you should be prepared to handle a changing IP address + * when DHCP overrides AutoIP. */ -#ifndef LWIP_DHCP_AUTOIP_COOP_TRIES +#if !defined LWIP_DHCP_AUTOIP_COOP_TRIES || defined __DOXYGEN__ #define LWIP_DHCP_AUTOIP_COOP_TRIES 9 #endif - /** - * LWIP_AUTOIP_MAX_CONFLICTS: - * Maximum number of AutoIP IP conflicts before rate limiting is enabled. + * @} */ -#ifndef LWIP_AUTOIP_MAX_CONFLICTS -#define LWIP_AUTOIP_MAX_CONFLICTS 10 -#endif - -/** - * LWIP_AUTOIP_RATE_LIMIT_INTERVAL: - * Rate limited request interval, in seconds. - */ -#ifndef LWIP_AUTOIP_RATE_LIMIT_INTERVAL -#define LWIP_AUTOIP_RATE_LIMIT_INTERVAL 60 -#endif /* ---------------------------------- ----- SNMP MIB2 support ----- ---------------------------------- */ +/** + * @defgroup lwip_opts_mib2 SNMP MIB2 callbacks + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * LWIP_MIB2_CALLBACKS==1: Turn on SNMP MIB2 callbacks. * Turn this on to get callbacks needed to implement MIB2. * Usually MIB2_STATS should be enabled, too. */ -#ifndef LWIP_MIB2_CALLBACKS +#if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__ #define LWIP_MIB2_CALLBACKS 0 #endif +/** + * @} + */ /* ---------------------------------- ----- Multicast/IGMP options ----- ---------------------------------- */ +/** + * @defgroup lwip_opts_igmp IGMP + * @ingroup lwip_opts_ipv4 + * @{ + */ /** * LWIP_IGMP==1: Turn on IGMP module. */ -#ifndef LWIP_IGMP -#define LWIP_IGMP 1 +#if !defined LWIP_IGMP || defined __DOXYGEN__ +#define LWIP_IGMP 0 #endif #if !LWIP_IPV4 #undef LWIP_IGMP @@ -873,30 +1002,38 @@ * LWIP_MULTICAST_TX_OPTIONS==1: Enable multicast TX support like the socket options * IP_MULTICAST_TTL/IP_MULTICAST_IF/IP_MULTICAST_LOOP */ -#ifndef LWIP_MULTICAST_TX_OPTIONS -#define LWIP_MULTICAST_TX_OPTIONS LWIP_IGMP +#if !defined LWIP_MULTICAST_TX_OPTIONS || defined __DOXYGEN__ +#define LWIP_MULTICAST_TX_OPTIONS (LWIP_IGMP && LWIP_UDP) #endif +/** + * @} + */ /* ---------------------------------- ---------- DNS options ----------- ---------------------------------- */ +/** + * @defgroup lwip_opts_dns DNS + * @ingroup lwip_opts_callback + * @{ + */ /** * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS * transport. */ -#ifndef LWIP_DNS +#if !defined LWIP_DNS || defined __DOXYGEN__ #define LWIP_DNS 0 #endif /** DNS maximum number of entries to maintain locally. */ -#ifndef DNS_TABLE_SIZE +#if !defined DNS_TABLE_SIZE || defined __DOXYGEN__ #define DNS_TABLE_SIZE 4 #endif /** DNS maximum host name length supported in the name table. */ -#ifndef DNS_MAX_NAME_LENGTH +#if !defined DNS_MAX_NAME_LENGTH || defined __DOXYGEN__ #define DNS_MAX_NAME_LENGTH 256 #endif @@ -904,12 +1041,12 @@ * The first server can be initialized automatically by defining * DNS_SERVER_ADDRESS(ipaddr), where 'ipaddr' is an 'ip_addr_t*' */ -#ifndef DNS_MAX_SERVERS +#if !defined DNS_MAX_SERVERS || defined __DOXYGEN__ #define DNS_MAX_SERVERS 2 #endif /** DNS do a name checking between the query and the response. */ -#ifndef DNS_DOES_NAME_CHECK +#if !defined DNS_DOES_NAME_CHECK || defined __DOXYGEN__ #define DNS_DOES_NAME_CHECK 1 #endif @@ -917,105 +1054,129 @@ * Use all DNS security features by default. * This is overridable but should only be needed by very small targets * or when using against non standard DNS servers. */ -#ifndef LWIP_DNS_SECURE +#if !defined LWIP_DNS_SECURE || defined __DOXYGEN__ #define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT) #endif + /* A list of DNS security features follows */ #define LWIP_DNS_SECURE_RAND_XID 1 #define LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING 2 #define LWIP_DNS_SECURE_RAND_SRC_PORT 4 -/** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, - * you have to define - * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}} - * (an array of structs name/address, where address is an u32_t in network - * byte order). +/** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, you have to define an initializer: + * \#define DNS_LOCAL_HOSTLIST_INIT {DNS_LOCAL_HOSTLIST_ELEM("host_ip4", IPADDR4_INIT_BYTES(1,2,3,4)), \ + * DNS_LOCAL_HOSTLIST_ELEM("host_ip6", IPADDR6_INIT_HOST(123, 234, 345, 456)} * * Instead, you can also use an external function: - * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name) - * that returns the IP address or INADDR_NONE if not found. + * \#define DNS_LOOKUP_LOCAL_EXTERN(x) extern err_t my_lookup_function(const char *name, ip_addr_t *addr, u8_t dns_addrtype) + * that looks up the IP address and returns ERR_OK if found (LWIP_DNS_ADDRTYPE_xxx is passed in dns_addrtype). */ -#ifndef DNS_LOCAL_HOSTLIST +#if !defined DNS_LOCAL_HOSTLIST || defined __DOXYGEN__ #define DNS_LOCAL_HOSTLIST 0 #endif /* DNS_LOCAL_HOSTLIST */ /** If this is turned on, the local host-list can be dynamically changed * at runtime. */ -#ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC +#if !defined DNS_LOCAL_HOSTLIST_IS_DYNAMIC || defined __DOXYGEN__ #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 #endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ +/** Set this to 1 to enable querying ".local" names via mDNS + * using a One-Shot Multicast DNS Query */ +#if !defined LWIP_DNS_SUPPORT_MDNS_QUERIES || defined __DOXYGEN__ +#define LWIP_DNS_SUPPORT_MDNS_QUERIES 0 +#endif +/** + * @} + */ + /* --------------------------------- ---------- UDP options ---------- --------------------------------- */ +/** + * @defgroup lwip_opts_udp UDP + * @ingroup lwip_opts_callback + * @{ + */ /** * LWIP_UDP==1: Turn on UDP. */ -#ifndef LWIP_UDP +#if !defined LWIP_UDP || defined __DOXYGEN__ #define LWIP_UDP 1 #endif /** * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP) */ -#ifndef LWIP_UDPLITE +#if !defined LWIP_UDPLITE || defined __DOXYGEN__ #define LWIP_UDPLITE 0 #endif /** * UDP_TTL: Default Time-To-Live value. */ -#ifndef UDP_TTL +#if !defined UDP_TTL || defined __DOXYGEN__ #define UDP_TTL (IP_DEFAULT_TTL) #endif /** * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf. */ -#ifndef LWIP_NETBUF_RECVINFO +#if !defined LWIP_NETBUF_RECVINFO || defined __DOXYGEN__ #define LWIP_NETBUF_RECVINFO 0 #endif +/** + * @} + */ /* --------------------------------- ---------- TCP options ---------- --------------------------------- */ +/** + * @defgroup lwip_opts_tcp TCP + * @ingroup lwip_opts_callback + * @{ + */ /** * LWIP_TCP==1: Turn on TCP. */ -#ifndef LWIP_TCP +#if !defined LWIP_TCP || defined __DOXYGEN__ #define LWIP_TCP 1 #endif /** * TCP_TTL: Default Time-To-Live value. */ -#ifndef TCP_TTL +#if !defined TCP_TTL || defined __DOXYGEN__ #define TCP_TTL (IP_DEFAULT_TTL) #endif /** * TCP_WND: The size of a TCP window. This must be at least - * (2 * TCP_MSS) for things to work well + * (2 * TCP_MSS) for things to work well. + * ATTENTION: when using TCP_RCV_SCALE, TCP_WND is the total size + * with scaling applied. Maximum window value in the TCP header + * will be TCP_WND >> TCP_RCV_SCALE */ -#ifndef TCP_WND -#define TCP_WND(pcb) (4 * TCP_MSS) +#if !defined TCP_WND || defined __DOXYGEN__ +#define TCP_WND (4 * TCP_MSS) #endif /** * TCP_MAXRTX: Maximum number of retransmissions of data segments. */ -#ifndef TCP_MAXRTX +#if !defined TCP_MAXRTX || defined __DOXYGEN__ #define TCP_MAXRTX 12 #endif /** * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments. */ -#ifndef TCP_SYNMAXRTX +#if !defined TCP_SYNMAXRTX || defined __DOXYGEN__ #define TCP_SYNMAXRTX 6 #endif @@ -1023,7 +1184,7 @@ * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order. * Define to 0 if your device is low on memory. */ -#ifndef TCP_QUEUE_OOSEQ +#if !defined TCP_QUEUE_OOSEQ || defined __DOXYGEN__ #define TCP_QUEUE_OOSEQ (LWIP_TCP) #endif @@ -1034,7 +1195,7 @@ * when opening a connection. For the transmit size, this MSS sets * an upper limit on the MSS advertised by the remote host. */ -#ifndef TCP_MSS +#if !defined TCP_MSS || defined __DOXYGEN__ #define TCP_MSS 536 #endif @@ -1046,7 +1207,7 @@ * Setting this to 1 enables code that checks TCP_MSS against the MTU of the * netif used for a connection and limits the MSS if it would be too big otherwise. */ -#ifndef TCP_CALCULATE_EFF_SEND_MSS +#if !defined TCP_CALCULATE_EFF_SEND_MSS || defined __DOXYGEN__ #define TCP_CALCULATE_EFF_SEND_MSS 1 #endif @@ -1055,16 +1216,16 @@ * TCP_SND_BUF: TCP sender buffer space (bytes). * To achieve good performance, this should be at least 2 * TCP_MSS. */ -#ifndef TCP_SND_BUF -#define TCP_SND_BUF(pcb) (2 * TCP_MSS) +#if !defined TCP_SND_BUF || defined __DOXYGEN__ +#define TCP_SND_BUF (2 * TCP_MSS) #endif /** * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. */ -#ifndef TCP_SND_QUEUELEN -#define TCP_SND_QUEUELEN(pcb) ((4 * (TCP_SND_BUF((pcb))) + (TCP_MSS - 1))/(TCP_MSS)) +#if !defined TCP_SND_QUEUELEN || defined __DOXYGEN__ +#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) #endif /** @@ -1072,8 +1233,8 @@ * TCP_SND_BUF. It is the amount of space which must be available in the * TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT). */ -#ifndef TCP_SNDLOWAT -#define TCP_SNDLOWAT(pcb) LWIP_MIN(LWIP_MAX(((TCP_SND_BUF((pcb)))/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF((pcb))) - 1) +#if !defined TCP_SNDLOWAT || defined __DOXYGEN__ +#define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) #endif /** @@ -1081,30 +1242,30 @@ * than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below * this number, select returns writable (combined with TCP_SNDLOWAT). */ -#ifndef TCP_SNDQUEUELOWAT -#define TCP_SNDQUEUELOWAT(pcb) LWIP_MAX(((TCP_SND_QUEUELEN((pcb)))/2), 5) +#if !defined TCP_SNDQUEUELOWAT || defined __DOXYGEN__ +#define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) #endif /** * TCP_OOSEQ_MAX_BYTES: The maximum number of bytes queued on ooseq per pcb. - * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0. + * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==1. */ -#ifndef TCP_OOSEQ_MAX_BYTES +#if !defined TCP_OOSEQ_MAX_BYTES || defined __DOXYGEN__ #define TCP_OOSEQ_MAX_BYTES 0 #endif /** * TCP_OOSEQ_MAX_PBUFS: The maximum number of pbufs queued on ooseq per pcb. - * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0. + * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==1. */ -#ifndef TCP_OOSEQ_MAX_PBUFS +#if !defined TCP_OOSEQ_MAX_PBUFS || defined __DOXYGEN__ #define TCP_OOSEQ_MAX_PBUFS 0 #endif /** * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb. */ -#ifndef TCP_LISTEN_BACKLOG +#if !defined TCP_LISTEN_BACKLOG || defined __DOXYGEN__ #define TCP_LISTEN_BACKLOG 0 #endif @@ -1113,7 +1274,7 @@ * This backlog is used unless another is explicitly specified. * 0xff is the maximum (u8_t). */ -#ifndef TCP_DEFAULT_LISTEN_BACKLOG +#if !defined TCP_DEFAULT_LISTEN_BACKLOG || defined __DOXYGEN__ #define TCP_DEFAULT_LISTEN_BACKLOG 0xff #endif @@ -1131,7 +1292,7 @@ * TCP_MSS: Try to create unfragmented TCP packets. * TCP_MSS/4: Try to create 4 fragments or less per TCP packet. */ -#ifndef TCP_OVERSIZE +#if !defined TCP_OVERSIZE || defined __DOXYGEN__ #define TCP_OVERSIZE TCP_MSS #endif @@ -1141,7 +1302,7 @@ * really used locally. Therefore, it is only enabled when a TS option is * received in the initial SYN packet from a remote host. */ -#ifndef LWIP_TCP_TIMESTAMPS +#if !defined LWIP_TCP_TIMESTAMPS || defined __DOXYGEN__ #define LWIP_TCP_TIMESTAMPS 0 #endif @@ -1149,8 +1310,8 @@ * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an * explicit window update */ -#ifndef TCP_WND_UPDATE_THRESHOLD -#define TCP_WND_UPDATE_THRESHOLD(pcb) LWIP_MIN((TCP_WND((pcb)) / 4), (TCP_MSS * 4)) +#if !defined TCP_WND_UPDATE_THRESHOLD || defined __DOXYGEN__ +#define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4)) #endif /** @@ -1160,9 +1321,16 @@ * LWIP_CALLBACK_API==1: The PCB callback function is called directly * for the event. This is the default. */ -#if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) +#if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) || defined __DOXYGEN__ #define LWIP_EVENT_API 0 #define LWIP_CALLBACK_API 1 +#else +#ifndef LWIP_EVENT_API +#define LWIP_EVENT_API 0 +#endif +#ifndef LWIP_CALLBACK_API +#define LWIP_CALLBACK_API 0 +#endif #endif /** @@ -1173,24 +1341,31 @@ * When LWIP_WND_SCALE is enabled but TCP_RCV_SCALE is 0, we can use a large * send window while having a small receive window only. */ -#ifndef LWIP_WND_SCALE +#if !defined LWIP_WND_SCALE || defined __DOXYGEN__ #define LWIP_WND_SCALE 0 #define TCP_RCV_SCALE 0 #endif - +/** + * @} + */ /* ---------------------------------- ---------- Pbuf options ---------- ---------------------------------- */ +/** + * @defgroup lwip_opts_pbuf PBUF + * @ingroup lwip_opts + * @{ + */ /** * PBUF_LINK_HLEN: the number of bytes that should be allocated for a * link level header. The default is 14, the standard value for * Ethernet. */ -#ifndef PBUF_LINK_HLEN -#ifdef LWIP_HOOK_VLAN_SET +#if !defined PBUF_LINK_HLEN || defined __DOXYGEN__ +#if defined LWIP_HOOK_VLAN_SET && !defined __DOXYGEN__ #define PBUF_LINK_HLEN (18 + ETH_PAD_SIZE) #else /* LWIP_HOOK_VLAN_SET */ #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) @@ -1201,8 +1376,8 @@ * PBUF_LINK_ENCAPSULATION_HLEN: the number of bytes that should be allocated * for an additional encapsulation header before ethernet headers (e.g. 802.11) */ -#ifndef PBUF_LINK_ENCAPSULATION_HLEN -#define PBUF_LINK_ENCAPSULATION_HLEN 0 +#if !defined PBUF_LINK_ENCAPSULATION_HLEN || defined __DOXYGEN__ +#define PBUF_LINK_ENCAPSULATION_HLEN 0u #endif /** @@ -1210,27 +1385,35 @@ * designed to accommodate single full size TCP frame in one pbuf, including * TCP_MSS, IP header, and link header. */ -#ifndef PBUF_POOL_BUFSIZE +#if !defined PBUF_POOL_BUFSIZE || defined __DOXYGEN__ #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN) #endif +/** + * @} + */ /* ------------------------------------------------ ---------- Network Interfaces options ---------- ------------------------------------------------ */ +/** + * @defgroup lwip_opts_netif NETIF + * @ingroup lwip_opts + * @{ + */ /** * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname * field. */ -#ifndef LWIP_NETIF_HOSTNAME +#if !defined LWIP_NETIF_HOSTNAME || defined __DOXYGEN__ #define LWIP_NETIF_HOSTNAME 0 #endif /** * LWIP_NETIF_API==1: Support netif api (in netifapi.c) */ -#ifndef LWIP_NETIF_API +#if !defined LWIP_NETIF_API || defined __DOXYGEN__ #define LWIP_NETIF_API 0 #endif @@ -1238,7 +1421,7 @@ * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface * changes its up/down status (i.e., due to DHCP IP acquisition) */ -#ifndef LWIP_NETIF_STATUS_CALLBACK +#if !defined LWIP_NETIF_STATUS_CALLBACK || defined __DOXYGEN__ #define LWIP_NETIF_STATUS_CALLBACK 0 #endif @@ -1246,7 +1429,7 @@ * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface * whenever the link changes (i.e., link down) */ -#ifndef LWIP_NETIF_LINK_CALLBACK +#if !defined LWIP_NETIF_LINK_CALLBACK || defined __DOXYGEN__ #define LWIP_NETIF_LINK_CALLBACK 0 #endif @@ -1254,7 +1437,7 @@ * LWIP_NETIF_REMOVE_CALLBACK==1: Support a callback function that is called * when a netif has been removed */ -#ifndef LWIP_NETIF_REMOVE_CALLBACK +#if !defined LWIP_NETIF_REMOVE_CALLBACK || defined __DOXYGEN__ #define LWIP_NETIF_REMOVE_CALLBACK 0 #endif @@ -1265,15 +1448,65 @@ * ARP tables or many concurrent connections, it might be counterproductive * if you have a tiny ARP table or if there never are concurrent connections. */ -#ifndef LWIP_NETIF_HWADDRHINT +#if !defined LWIP_NETIF_HWADDRHINT || defined __DOXYGEN__ #define LWIP_NETIF_HWADDRHINT 0 #endif +/** + * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data + * to be sent into one single pbuf. This is for compatibility with DMA-enabled + * MACs that do not support scatter-gather. + * Beware that this might involve CPU-memcpy before transmitting that would not + * be needed without this flag! Use this only if you need to! + * + * @todo: TCP and IP-frag do not work with this, yet: + */ +#if !defined LWIP_NETIF_TX_SINGLE_PBUF || defined __DOXYGEN__ +#define LWIP_NETIF_TX_SINGLE_PBUF 0 +#endif /* LWIP_NETIF_TX_SINGLE_PBUF */ + +/** + * LWIP_NUM_NETIF_CLIENT_DATA: Number of clients that may store + * data in client_data member array of struct netif. + */ +#if !defined LWIP_NUM_NETIF_CLIENT_DATA || defined __DOXYGEN__ +#define LWIP_NUM_NETIF_CLIENT_DATA 0 +#endif +/** + * @} + */ + +/* + ------------------------------------ + ---------- LOOPIF options ---------- + ------------------------------------ +*/ +/** + * @defgroup lwip_opts_loop Loopback interface + * @ingroup lwip_opts_netif + * @{ + */ +/** + * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1). + * This is only needed when no real netifs are available. If at least one other + * netif is available, loopback traffic uses this netif. + */ +#if !defined LWIP_HAVE_LOOPIF || defined __DOXYGEN__ +#define LWIP_HAVE_LOOPIF LWIP_NETIF_LOOPBACK +#endif + +/** + * LWIP_LOOPIF_MULTICAST==1: Support multicast/IGMP on loop interface (127.0.0.1). + */ +#if !defined LWIP_LOOPIF_MULTICAST || defined __DOXYGEN__ +#define LWIP_LOOPIF_MULTICAST 0 +#endif + /** * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP * address equal to the netif IP address, looping them back up the stack. */ -#ifndef LWIP_NETIF_LOOPBACK +#if !defined LWIP_NETIF_LOOPBACK || defined __DOXYGEN__ #define LWIP_NETIF_LOOPBACK 0 #endif @@ -1281,7 +1514,7 @@ * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback * sending for each netif (0 = disabled) */ -#ifndef LWIP_LOOPBACK_MAX_PBUFS +#if !defined LWIP_LOOPBACK_MAX_PBUFS || defined __DOXYGEN__ #define LWIP_LOOPBACK_MAX_PBUFS 0 #endif @@ -1298,65 +1531,27 @@ * The packets are put on a list and netif_poll() must be called in * the main application loop. */ -#ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING +#if !defined LWIP_NETIF_LOOPBACK_MULTITHREADING || defined __DOXYGEN__ #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) #endif - /** - * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data - * to be sent into one single pbuf. This is for compatibility with DMA-enabled - * MACs that do not support scatter-gather. - * Beware that this might involve CPU-memcpy before transmitting that would not - * be needed without this flag! Use this only if you need to! - * - * @todo: TCP and IP-frag do not work with this, yet: + * @} */ -#ifndef LWIP_NETIF_TX_SINGLE_PBUF -#define LWIP_NETIF_TX_SINGLE_PBUF 0 -#endif /* LWIP_NETIF_TX_SINGLE_PBUF */ - -/* - ------------------------------------ - ---------- LOOPIF options ---------- - ------------------------------------ -*/ -/** - * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1). - * This is only needed when no real netifs are available. If at least one other - * netif is available, loopback traffic uses this netif. - */ -#ifndef LWIP_HAVE_LOOPIF -#define LWIP_HAVE_LOOPIF LWIP_NETIF_LOOPBACK -#endif - -/** - * LWIP_LOOPIF_MULTICAST==1: Support multicast/IGMP on loop interface (127.0.0.1). - */ -#ifndef LWIP_LOOPIF_MULTICAST -#define LWIP_LOOPIF_MULTICAST 0 -#endif - -/* - ------------------------------------ - ---------- SLIPIF options ---------- - ------------------------------------ -*/ -/** - * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c - */ -#ifndef LWIP_HAVE_SLIPIF -#define LWIP_HAVE_SLIPIF 0 -#endif /* ------------------------------------ ---------- Thread options ---------- ------------------------------------ */ +/** + * @defgroup lwip_opts_thread Threading + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread. */ -#ifndef TCPIP_THREAD_NAME +#if !defined TCPIP_THREAD_NAME || defined __DOXYGEN__ #define TCPIP_THREAD_NAME "tcpip_thread" #endif @@ -1365,7 +1560,7 @@ * The stack size value itself is platform-dependent, but is passed to * sys_thread_new() when the thread is created. */ -#ifndef TCPIP_THREAD_STACKSIZE +#if !defined TCPIP_THREAD_STACKSIZE || defined __DOXYGEN__ #define TCPIP_THREAD_STACKSIZE 0 #endif @@ -1374,7 +1569,7 @@ * The priority value itself is platform-dependent, but is passed to * sys_thread_new() when the thread is created. */ -#ifndef TCPIP_THREAD_PRIO +#if !defined TCPIP_THREAD_PRIO || defined __DOXYGEN__ #define TCPIP_THREAD_PRIO 1 #endif @@ -1383,14 +1578,22 @@ * The queue size value itself is platform-dependent, but is passed to * sys_mbox_new() when tcpip_init is called. */ -#ifndef TCPIP_MBOX_SIZE +#if !defined TCPIP_MBOX_SIZE || defined __DOXYGEN__ #define TCPIP_MBOX_SIZE 0 #endif +/** + * Define this to something that triggers a watchdog. This is called from + * tcpip_thread after processing a message. + */ +#if !defined LWIP_TCPIP_THREAD_ALIVE || defined __DOXYGEN__ +#define LWIP_TCPIP_THREAD_ALIVE() +#endif + /** * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread. */ -#ifndef SLIPIF_THREAD_NAME +#if !defined SLIPIF_THREAD_NAME || defined __DOXYGEN__ #define SLIPIF_THREAD_NAME "slipif_loop" #endif @@ -1399,7 +1602,7 @@ * The stack size value itself is platform-dependent, but is passed to * sys_thread_new() when the thread is created. */ -#ifndef SLIPIF_THREAD_STACKSIZE +#if !defined SLIPIF_THREAD_STACKSIZE || defined __DOXYGEN__ #define SLIPIF_THREAD_STACKSIZE 0 #endif @@ -1408,14 +1611,14 @@ * The priority value itself is platform-dependent, but is passed to * sys_thread_new() when the thread is created. */ -#ifndef SLIPIF_THREAD_PRIO +#if !defined SLIPIF_THREAD_PRIO || defined __DOXYGEN__ #define SLIPIF_THREAD_PRIO 1 #endif /** * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread. */ -#ifndef DEFAULT_THREAD_NAME +#if !defined DEFAULT_THREAD_NAME || defined __DOXYGEN__ #define DEFAULT_THREAD_NAME "lwIP" #endif @@ -1424,7 +1627,7 @@ * The stack size value itself is platform-dependent, but is passed to * sys_thread_new() when the thread is created. */ -#ifndef DEFAULT_THREAD_STACKSIZE +#if !defined DEFAULT_THREAD_STACKSIZE || defined __DOXYGEN__ #define DEFAULT_THREAD_STACKSIZE 0 #endif @@ -1433,7 +1636,7 @@ * The priority value itself is platform-dependent, but is passed to * sys_thread_new() when the thread is created. */ -#ifndef DEFAULT_THREAD_PRIO +#if !defined DEFAULT_THREAD_PRIO || defined __DOXYGEN__ #define DEFAULT_THREAD_PRIO 1 #endif @@ -1442,7 +1645,7 @@ * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed * to sys_mbox_new() when the recvmbox is created. */ -#ifndef DEFAULT_RAW_RECVMBOX_SIZE +#if !defined DEFAULT_RAW_RECVMBOX_SIZE || defined __DOXYGEN__ #define DEFAULT_RAW_RECVMBOX_SIZE 0 #endif @@ -1451,7 +1654,7 @@ * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed * to sys_mbox_new() when the recvmbox is created. */ -#ifndef DEFAULT_UDP_RECVMBOX_SIZE +#if !defined DEFAULT_UDP_RECVMBOX_SIZE || defined __DOXYGEN__ #define DEFAULT_UDP_RECVMBOX_SIZE 0 #endif @@ -1460,7 +1663,7 @@ * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed * to sys_mbox_new() when the recvmbox is created. */ -#ifndef DEFAULT_TCP_RECVMBOX_SIZE +#if !defined DEFAULT_TCP_RECVMBOX_SIZE || defined __DOXYGEN__ #define DEFAULT_TCP_RECVMBOX_SIZE 0 #endif @@ -1469,9 +1672,12 @@ * The queue size value itself is platform-dependent, but is passed to * sys_mbox_new() when the acceptmbox is created. */ -#ifndef DEFAULT_ACCEPTMBOX_SIZE +#if !defined DEFAULT_ACCEPTMBOX_SIZE || defined __DOXYGEN__ #define DEFAULT_ACCEPTMBOX_SIZE 0 #endif +/** + * @} + */ /* ---------------------------------------------- @@ -1479,32 +1685,21 @@ ---------------------------------------------- */ /** - * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!) - * Don't use it if you're not an active lwIP project member + * @defgroup lwip_opts_netconn Netconn + * @ingroup lwip_opts_threadsafe_apis + * @{ */ -#ifndef LWIP_TCPIP_CORE_LOCKING -#define LWIP_TCPIP_CORE_LOCKING 0 -#endif - -/** - * LWIP_TCPIP_CORE_LOCKING_INPUT: (EXPERIMENTAL!) - * Don't use it if you're not an active lwIP project member - */ -#ifndef LWIP_TCPIP_CORE_LOCKING_INPUT -#define LWIP_TCPIP_CORE_LOCKING_INPUT 0 -#endif - /** * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) */ -#ifndef LWIP_NETCONN +#if !defined LWIP_NETCONN || defined __DOXYGEN__ #define LWIP_NETCONN 1 #endif /** LWIP_TCPIP_TIMEOUT==1: Enable tcpip_timeout/tcpip_untimeout to create * timers running in tcpip_thread from another thread. */ -#ifndef LWIP_TCPIP_TIMEOUT +#if !defined LWIP_TCPIP_TIMEOUT || defined __DOXYGEN__ #define LWIP_TCPIP_TIMEOUT 0 #endif @@ -1518,7 +1713,7 @@ * The latter 2 can be invoked up by calling netconn_thread_init()/netconn_thread_cleanup(). * Ports may call these for threads created with sys_thread_new(). */ -#ifndef LWIP_NETCONN_SEM_PER_THREAD +#if !defined LWIP_NETCONN_SEM_PER_THREAD || defined __DOXYGEN__ #define LWIP_NETCONN_SEM_PER_THREAD 0 #endif @@ -1530,26 +1725,34 @@ * - sys_mbox_free() has to unblock receive tasks waiting on recvmbox/acceptmbox * and prevent a task pending on this during/after deletion */ -#ifndef LWIP_NETCONN_FULLDUPLEX +#if !defined LWIP_NETCONN_FULLDUPLEX || defined __DOXYGEN__ #define LWIP_NETCONN_FULLDUPLEX 0 #endif +/** + * @} + */ /* ------------------------------------ ---------- Socket options ---------- ------------------------------------ */ +/** + * @defgroup lwip_opts_socket Sockets + * @ingroup lwip_opts_threadsafe_apis + * @{ + */ /** * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) */ -#ifndef LWIP_SOCKET +#if !defined LWIP_SOCKET || defined __DOXYGEN__ #define LWIP_SOCKET 1 #endif /* LWIP_SOCKET_SET_ERRNO==1: Set errno when socket functions cannot complete * successfully, as required by POSIX. Default is POSIX-compliant. */ -#ifndef LWIP_SOCKET_SET_ERRNO +#if !defined LWIP_SOCKET_SET_ERRNO || defined __DOXYGEN__ #define LWIP_SOCKET_SET_ERRNO 1 #endif @@ -1559,7 +1762,7 @@ * While this helps code completion, it might conflict with existing libraries. * (only used if you use sockets.c) */ -#ifndef LWIP_COMPAT_SOCKETS +#if !defined LWIP_COMPAT_SOCKETS || defined __DOXYGEN__ #define LWIP_COMPAT_SOCKETS 1 #endif @@ -1568,7 +1771,7 @@ * Disable this option if you use a POSIX operating system that uses the same * names (read, write & close). (only used if you use sockets.c) */ -#ifndef LWIP_POSIX_SOCKETS_IO_NAMES +#if !defined LWIP_POSIX_SOCKETS_IO_NAMES || defined __DOXYGEN__ #define LWIP_POSIX_SOCKETS_IO_NAMES 1 #endif @@ -1579,7 +1782,7 @@ * re implement read/write/close/ioctl/fnctl to send the requested action to the right * library (sharing select will need more work though). */ -#ifndef LWIP_SOCKET_OFFSET +#if !defined LWIP_SOCKET_OFFSET || defined __DOXYGEN__ #define LWIP_SOCKET_OFFSET 0 #endif @@ -1588,7 +1791,7 @@ * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set * in seconds. (does not require sockets.c, and will affect tcp.c) */ -#ifndef LWIP_TCP_KEEPALIVE +#if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__ #define LWIP_TCP_KEEPALIVE 0 #endif @@ -1596,7 +1799,7 @@ * LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and * SO_SNDTIMEO processing. */ -#ifndef LWIP_SO_SNDTIMEO +#if !defined LWIP_SO_SNDTIMEO || defined __DOXYGEN__ #define LWIP_SO_SNDTIMEO 0 #endif @@ -1604,7 +1807,7 @@ * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and * SO_RCVTIMEO processing. */ -#ifndef LWIP_SO_RCVTIMEO +#if !defined LWIP_SO_RCVTIMEO || defined __DOXYGEN__ #define LWIP_SO_RCVTIMEO 0 #endif @@ -1612,42 +1815,42 @@ * LWIP_SO_SNDRCVTIMEO_NONSTANDARD==1: SO_RCVTIMEO/SO_SNDTIMEO take an int * (milliseconds, much like winsock does) instead of a struct timeval (default). */ -#ifndef LWIP_SO_SNDRCVTIMEO_NONSTANDARD +#if !defined LWIP_SO_SNDRCVTIMEO_NONSTANDARD || defined __DOXYGEN__ #define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0 #endif /** * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing. */ -#ifndef LWIP_SO_RCVBUF +#if !defined LWIP_SO_RCVBUF || defined __DOXYGEN__ #define LWIP_SO_RCVBUF 0 #endif /** * LWIP_SO_LINGER==1: Enable SO_LINGER processing. */ -#ifndef LWIP_SO_LINGER +#if !defined LWIP_SO_LINGER || defined __DOXYGEN__ #define LWIP_SO_LINGER 0 #endif /** * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize. */ -#ifndef RECV_BUFSIZE_DEFAULT +#if !defined RECV_BUFSIZE_DEFAULT || defined __DOXYGEN__ #define RECV_BUFSIZE_DEFAULT INT_MAX #endif /** * By default, TCP socket/netconn close waits 20 seconds max to send the FIN */ -#ifndef LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT +#if !defined LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT || defined __DOXYGEN__ #define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000 #endif /** * SO_REUSE==1: Enable SO_REUSEADDR option. */ -#ifndef SO_REUSE +#if !defined SO_REUSE || defined __DOXYGEN__ #define SO_REUSE 0 #endif @@ -1656,7 +1859,7 @@ * to all local matches if SO_REUSEADDR is turned on. * WARNING: Adds a memcpy for every packet if passing to more than one pcb! */ -#ifndef SO_REUSE_RXTOALL +#if !defined SO_REUSE_RXTOALL || defined __DOXYGEN__ #define SO_REUSE_RXTOALL 0 #endif @@ -1668,20 +1871,28 @@ * pending datagram in bytes. This is the way linux does it. This code is only * here for compatibility. */ -#ifndef LWIP_FIONREAD_LINUXMODE +#if !defined LWIP_FIONREAD_LINUXMODE || defined __DOXYGEN__ #define LWIP_FIONREAD_LINUXMODE 0 #endif +/** + * @} + */ /* ---------------------------------------- ---------- Statistics options ---------- ---------------------------------------- */ +/** + * @defgroup lwip_opts_stats Statistics + * @ingroup lwip_opts_debug + * @{ + */ /** * LWIP_STATS==1: Enable statistics collection in lwip_stats. */ -#ifndef LWIP_STATS -#define LWIP_STATS 0 +#if !defined LWIP_STATS || defined __DOXYGEN__ +#define LWIP_STATS 1 #endif #if LWIP_STATS @@ -1689,28 +1900,28 @@ /** * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions. */ -#ifndef LWIP_STATS_DISPLAY +#if !defined LWIP_STATS_DISPLAY || defined __DOXYGEN__ #define LWIP_STATS_DISPLAY 0 #endif /** * LINK_STATS==1: Enable link stats. */ -#ifndef LINK_STATS +#if !defined LINK_STATS || defined __DOXYGEN__ #define LINK_STATS 1 #endif /** * ETHARP_STATS==1: Enable etharp stats. */ -#ifndef ETHARP_STATS +#if !defined ETHARP_STATS || defined __DOXYGEN__ #define ETHARP_STATS (LWIP_ARP) #endif /** * IP_STATS==1: Enable IP stats. */ -#ifndef IP_STATS +#if !defined IP_STATS || defined __DOXYGEN__ #define IP_STATS 1 #endif @@ -1718,21 +1929,21 @@ * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is * on if using either frag or reass. */ -#ifndef IPFRAG_STATS +#if !defined IPFRAG_STATS || defined __DOXYGEN__ #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG) #endif /** * ICMP_STATS==1: Enable ICMP stats. */ -#ifndef ICMP_STATS +#if !defined ICMP_STATS || defined __DOXYGEN__ #define ICMP_STATS 1 #endif /** * IGMP_STATS==1: Enable IGMP stats. */ -#ifndef IGMP_STATS +#if !defined IGMP_STATS || defined __DOXYGEN__ #define IGMP_STATS (LWIP_IGMP) #endif @@ -1740,7 +1951,7 @@ * UDP_STATS==1: Enable UDP stats. Default is on if * UDP enabled, otherwise off. */ -#ifndef UDP_STATS +#if !defined UDP_STATS || defined __DOXYGEN__ #define UDP_STATS (LWIP_UDP) #endif @@ -1748,70 +1959,70 @@ * TCP_STATS==1: Enable TCP stats. Default is on if TCP * enabled, otherwise off. */ -#ifndef TCP_STATS +#if !defined TCP_STATS || defined __DOXYGEN__ #define TCP_STATS (LWIP_TCP) #endif /** * MEM_STATS==1: Enable mem.c stats. */ -#ifndef MEM_STATS +#if !defined MEM_STATS || defined __DOXYGEN__ #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0)) #endif /** * MEMP_STATS==1: Enable memp.c pool stats. */ -#ifndef MEMP_STATS +#if !defined MEMP_STATS || defined __DOXYGEN__ #define MEMP_STATS (MEMP_MEM_MALLOC == 0) #endif /** * SYS_STATS==1: Enable system stats (sem and mbox counts, etc). */ -#ifndef SYS_STATS +#if !defined SYS_STATS || defined __DOXYGEN__ #define SYS_STATS (NO_SYS == 0) #endif /** * IP6_STATS==1: Enable IPv6 stats. */ -#ifndef IP6_STATS +#if !defined IP6_STATS || defined __DOXYGEN__ #define IP6_STATS (LWIP_IPV6) #endif /** * ICMP6_STATS==1: Enable ICMP for IPv6 stats. */ -#ifndef ICMP6_STATS +#if !defined ICMP6_STATS || defined __DOXYGEN__ #define ICMP6_STATS (LWIP_IPV6 && LWIP_ICMP6) #endif /** * IP6_FRAG_STATS==1: Enable IPv6 fragmentation stats. */ -#ifndef IP6_FRAG_STATS +#if !defined IP6_FRAG_STATS || defined __DOXYGEN__ #define IP6_FRAG_STATS (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS)) #endif /** * MLD6_STATS==1: Enable MLD for IPv6 stats. */ -#ifndef MLD6_STATS +#if !defined MLD6_STATS || defined __DOXYGEN__ #define MLD6_STATS (LWIP_IPV6 && LWIP_IPV6_MLD) #endif /** * ND6_STATS==1: Enable Neighbor discovery for IPv6 stats. */ -#ifndef ND6_STATS +#if !defined ND6_STATS || defined __DOXYGEN__ #define ND6_STATS (LWIP_IPV6) #endif /** * MIB2_STATS==1: Stats for SNMP MIB2. */ -#ifndef MIB2_STATS +#if !defined MIB2_STATS || defined __DOXYGEN__ #define MIB2_STATS 0 #endif @@ -1837,602 +2048,96 @@ #define MIB2_STATS 0 #endif /* LWIP_STATS */ - -/* - --------------------------------- - ---------- PPP options ---------- - --------------------------------- -*/ - /** - * PPP_SUPPORT==1: Enable PPP. + * @} */ -#ifndef PPP_SUPPORT -#define PPP_SUPPORT 0 -#endif - -/** - * PPPOE_SUPPORT==1: Enable PPP Over Ethernet - */ -#ifndef PPPOE_SUPPORT -#define PPPOE_SUPPORT 0 -#endif - -/** - * PPPOL2TP_SUPPORT==1: Enable PPP Over L2TP - */ -#ifndef PPPOL2TP_SUPPORT -#define PPPOL2TP_SUPPORT 0 -#endif - -/** - * PPPOL2TP_AUTH_SUPPORT==1: Enable PPP Over L2TP Auth (enable MD5 support) - */ -#ifndef PPPOL2TP_AUTH_SUPPORT -#define PPPOL2TP_AUTH_SUPPORT PPPOL2TP_SUPPORT -#endif - -/** - * PPPOS_SUPPORT==1: Enable PPP Over Serial - */ -#ifndef PPPOS_SUPPORT -#define PPPOS_SUPPORT PPP_SUPPORT -#endif - -/** - * LWIP_PPP_API==1: Enable PPP API (in pppapi.c) - */ -#ifndef LWIP_PPP_API -#define LWIP_PPP_API (PPP_SUPPORT && (NO_SYS == 0)) -#endif - -#if PPP_SUPPORT - -/** - * PPP_INPROC_IRQ_SAFE==1 call pppos_input() using tcpip_callback(). - * - * Please read the "PPPoS input path" chapter in the PPP documentation about this option. - */ -#ifndef PPP_INPROC_IRQ_SAFE -#define PPP_INPROC_IRQ_SAFE 0 -#endif - -/** - * PRINTPKT_SUPPORT==1: Enable PPP print packet support - * - * Mandatory for debugging, it displays exchanged packet content in debug trace. - */ -#ifndef PRINTPKT_SUPPORT -#define PRINTPKT_SUPPORT 0 -#endif - -/** - * PPP_IPV4_SUPPORT==1: Enable PPP IPv4 support - */ -#ifndef PPP_IPV4_SUPPORT -#define PPP_IPV4_SUPPORT (LWIP_IPV4) -#endif - -/** - * PPP_IPV6_SUPPORT==1: Enable PPP IPv6 support - */ -#ifndef PPP_IPV6_SUPPORT -#define PPP_IPV6_SUPPORT (LWIP_IPV6) -#endif - -/** - * PPP_NOTIFY_PHASE==1: Support PPP notify phase support - * - * PPP notify phase support allows you to set a callback which is - * called on change of the internal PPP state machine. - * - * This can be used for example to set a LED pattern depending on the - * current phase of the PPP session. - */ -#ifndef PPP_NOTIFY_PHASE -#define PPP_NOTIFY_PHASE 0 -#endif - -/** - * pbuf_type PPP is using for LCP, PAP, CHAP, EAP, CCP, IPCP and IP6CP packets. - * - * Memory allocated must be single buffered for PPP to works, it requires pbuf - * that are not going to be chained when allocated. This requires setting - * PBUF_POOL_BUFSIZE to at least 512 bytes, which is quite huge for small systems. - * - * Setting PPP_USE_PBUF_RAM to 1 makes PPP use memory from heap where continuous - * buffers are required, allowing you to use a smaller PBUF_POOL_BUFSIZE. - */ -#ifndef PPP_USE_PBUF_RAM -#define PPP_USE_PBUF_RAM 0 -#endif - -/** - * PPP_FCS_TABLE: Keep a 256*2 byte table to speed up FCS calculation for PPPoS - */ -#ifndef PPP_FCS_TABLE -#define PPP_FCS_TABLE 1 -#endif - -/** - * PAP_SUPPORT==1: Support PAP. - */ -#ifndef PAP_SUPPORT -#define PAP_SUPPORT 0 -#endif - -/** - * CHAP_SUPPORT==1: Support CHAP. - */ -#ifndef CHAP_SUPPORT -#define CHAP_SUPPORT 0 -#endif - -/** - * MSCHAP_SUPPORT==1: Support MSCHAP. - */ -#ifndef MSCHAP_SUPPORT -#define MSCHAP_SUPPORT 0 -#endif -#if MSCHAP_SUPPORT -/* MSCHAP requires CHAP support */ -#undef CHAP_SUPPORT -#define CHAP_SUPPORT 1 -#endif /* MSCHAP_SUPPORT */ - -/** - * EAP_SUPPORT==1: Support EAP. - */ -#ifndef EAP_SUPPORT -#define EAP_SUPPORT 0 -#endif - -/** - * CCP_SUPPORT==1: Support CCP. - */ -#ifndef CCP_SUPPORT -#define CCP_SUPPORT 0 -#endif - -/** - * MPPE_SUPPORT==1: Support MPPE. - */ -#ifndef MPPE_SUPPORT -#define MPPE_SUPPORT 0 -#endif -#if MPPE_SUPPORT -/* MPPE requires CCP support */ -#undef CCP_SUPPORT -#define CCP_SUPPORT 1 -/* MPPE requires MSCHAP support */ -#undef MSCHAP_SUPPORT -#define MSCHAP_SUPPORT 1 -/* MSCHAP requires CHAP support */ -#undef CHAP_SUPPORT -#define CHAP_SUPPORT 1 -#endif /* MPPE_SUPPORT */ - -/** - * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET! - */ -#ifndef CBCP_SUPPORT -#define CBCP_SUPPORT 0 -#endif - -/** - * ECP_SUPPORT==1: Support ECP. CURRENTLY NOT SUPPORTED! DO NOT SET! - */ -#ifndef ECP_SUPPORT -#define ECP_SUPPORT 0 -#endif - -/** - * DEMAND_SUPPORT==1: Support dial on demand. CURRENTLY NOT SUPPORTED! DO NOT SET! - */ -#ifndef DEMAND_SUPPORT -#define DEMAND_SUPPORT 0 -#endif - -/** - * LQR_SUPPORT==1: Support Link Quality Report. Do nothing except exchanging some LCP packets. - */ -#ifndef LQR_SUPPORT -#define LQR_SUPPORT 0 -#endif - -/** - * PPP_SERVER==1: Enable PPP server support (waiting for incoming PPP session). - * - * Currently only supported for PPPoS. - */ -#ifndef PPP_SERVER -#define PPP_SERVER 0 -#endif - -#if PPP_SERVER -/* - * PPP_OUR_NAME: Our name for authentication purposes - */ -#ifndef PPP_OUR_NAME -#define PPP_OUR_NAME "lwIP" -#endif -#endif /* PPP_SERVER */ - -/** - * VJ_SUPPORT==1: Support VJ header compression. - */ -#ifndef VJ_SUPPORT -#define VJ_SUPPORT 1 -#endif -/* VJ compression is only supported for IPv4 over PPPoS. */ -#if !PPPOS_SUPPORT || !PPP_IPV4_SUPPORT -#undef VJ_SUPPORT -#define VJ_SUPPORT 0 -#endif /* !PPPOS_SUPPORT */ - -/** - * PPP_MD5_RANDM==1: Use MD5 for better randomness. - * Enabled by default if CHAP, EAP, or L2TP AUTH support is enabled. - */ -#ifndef PPP_MD5_RANDM -#define PPP_MD5_RANDM (CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT) -#endif - -/** - * PolarSSL library, used if necessary and not previously disabled - * - * - * lwIP contains some files fetched from the latest BSD release of - * the PolarSSL project for ciphers and encryption methods we need for lwIP - * PPP support. - * - * The PolarSSL files were cleaned to contain only the necessary struct - * fields and functions needed for lwIP. - * - * The PolarSSL API was not changed at all, so if you are already using - * PolarSSL you can choose to skip the compilation of the included PolarSSL - * library into lwIP: - * - * The following defines are available for flexibility: - * - * LWIP_INCLUDED_POLARSSL_MD4 ; Use lwIP internal PolarSSL for MD4 - * LWIP_INCLUDED_POLARSSL_MD5 ; Use lwIP internal PolarSSL for MD5 - * LWIP_INCLUDED_POLARSSL_SHA1 ; Use lwIP internal PolarSSL for SHA1 - * LWIP_INCLUDED_POLARSSL_DES ; Use lwIP internal PolarSSL for DES - * - * If set (=1), the default if required by another enabled PPP feature unless - * explicitly set to 0, using included lwIP PolarSSL. - * - * If clear (=0), not needed or using external PolarSSL. - * - * Beware of the stack requirements which can be a lot larger if you are not - * using our cleaned PolarSSL library. - */ - -/* CHAP, EAP, L2TP AUTH and MD5 Random require MD5 support */ -#if CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM -#ifndef LWIP_INCLUDED_POLARSSL_MD5 -#define LWIP_INCLUDED_POLARSSL_MD5 1 -#endif /* LWIP_INCLUDED_POLARSSL_MD5 */ -#endif /* CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM */ - -#if MSCHAP_SUPPORT -/* MSCHAP require MD4 support */ -#ifndef LWIP_INCLUDED_POLARSSL_MD4 -#define LWIP_INCLUDED_POLARSSL_MD4 1 -#endif /* LWIP_INCLUDED_POLARSSL_MD4 */ -/* MSCHAP require SHA1 support */ -#ifndef LWIP_INCLUDED_POLARSSL_SHA1 -#define LWIP_INCLUDED_POLARSSL_SHA1 1 -#endif /* LWIP_INCLUDED_POLARSSL_SHA1 */ -/* MSCHAP require DES support */ -#ifndef LWIP_INCLUDED_POLARSSL_DES -#define LWIP_INCLUDED_POLARSSL_DES 1 -#endif /* LWIP_INCLUDED_POLARSSL_DES */ -/* MS-CHAP support is required for MPPE */ -#if MPPE_SUPPORT -/* MPPE require ARC4 support */ -#ifndef LWIP_INCLUDED_POLARSSL_ARC4 -#define LWIP_INCLUDED_POLARSSL_ARC4 1 -#endif /* LWIP_INCLUDED_POLARSSL_ARC4*/ -#endif /* MPPE_SUPPORT */ -#endif /* MSCHAP_SUPPORT */ - -/* Default value if unset */ -#ifndef LWIP_INCLUDED_POLARSSL_MD4 -#define LWIP_INCLUDED_POLARSSL_MD4 0 -#endif /* LWIP_INCLUDED_POLARSSL_MD4 */ -#ifndef LWIP_INCLUDED_POLARSSL_MD5 -#define LWIP_INCLUDED_POLARSSL_MD5 0 -#endif /* LWIP_INCLUDED_POLARSSL_MD5 */ -#ifndef LWIP_INCLUDED_POLARSSL_SHA1 -#define LWIP_INCLUDED_POLARSSL_SHA1 0 -#endif /* LWIP_INCLUDED_POLARSSL_SHA1 */ -#ifndef LWIP_INCLUDED_POLARSSL_DES -#define LWIP_INCLUDED_POLARSSL_DES 0 -#endif /* LWIP_INCLUDED_POLARSSL_DES */ -#ifndef LWIP_INCLUDED_POLARSSL_ARC4 -#define LWIP_INCLUDED_POLARSSL_ARC4 0 -#endif /* LWIP_INCLUDED_POLARSSL_ARC4 */ - -/* - * PPP Timeouts - */ - -/** - * FSM_DEFTIMEOUT: Timeout time in seconds - */ -#ifndef FSM_DEFTIMEOUT -#define FSM_DEFTIMEOUT 6 -#endif - -/** - * FSM_DEFMAXTERMREQS: Maximum Terminate-Request transmissions - */ -#ifndef FSM_DEFMAXTERMREQS -#define FSM_DEFMAXTERMREQS 2 -#endif - -/** - * FSM_DEFMAXCONFREQS: Maximum Configure-Request transmissions - */ -#ifndef FSM_DEFMAXCONFREQS -#define FSM_DEFMAXCONFREQS 10 -#endif - -/** - * FSM_DEFMAXNAKLOOPS: Maximum number of nak loops - */ -#ifndef FSM_DEFMAXNAKLOOPS -#define FSM_DEFMAXNAKLOOPS 5 -#endif - -/** - * UPAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req - */ -#ifndef UPAP_DEFTIMEOUT -#define UPAP_DEFTIMEOUT 6 -#endif - -/** - * UPAP_DEFTRANSMITS: Maximum number of auth-reqs to send - */ -#ifndef UPAP_DEFTRANSMITS -#define UPAP_DEFTRANSMITS 10 -#endif - -#if PPP_SERVER -/** - * UPAP_DEFREQTIME: Time to wait for auth-req from peer - */ -#ifndef UPAP_DEFREQTIME -#define UPAP_DEFREQTIME 30 -#endif -#endif /* PPP_SERVER */ - -/** - * CHAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req - */ -#ifndef CHAP_DEFTIMEOUT -#define CHAP_DEFTIMEOUT 6 -#endif - -/** - * CHAP_DEFTRANSMITS: max # times to send challenge - */ -#ifndef CHAP_DEFTRANSMITS -#define CHAP_DEFTRANSMITS 10 -#endif - -#if PPP_SERVER -/** - * CHAP_DEFRECHALLENGETIME: If this option is > 0, rechallenge the peer every n seconds - */ -#ifndef CHAP_DEFRECHALLENGETIME -#define CHAP_DEFRECHALLENGETIME 0 -#endif -#endif /* PPP_SERVER */ - -/** - * EAP_DEFREQTIME: Time to wait for peer request - */ -#ifndef EAP_DEFREQTIME -#define EAP_DEFREQTIME 6 -#endif - -/** - * EAP_DEFALLOWREQ: max # times to accept requests - */ -#ifndef EAP_DEFALLOWREQ -#define EAP_DEFALLOWREQ 10 -#endif - -#if PPP_SERVER -/** - * EAP_DEFTIMEOUT: Timeout (seconds) for rexmit - */ -#ifndef EAP_DEFTIMEOUT -#define EAP_DEFTIMEOUT 6 -#endif - -/** - * EAP_DEFTRANSMITS: max # times to transmit - */ -#ifndef EAP_DEFTRANSMITS -#define EAP_DEFTRANSMITS 10 -#endif -#endif /* PPP_SERVER */ - -/** - * LCP_DEFLOOPBACKFAIL: Default number of times we receive our magic number from the peer - * before deciding the link is looped-back. - */ -#ifndef LCP_DEFLOOPBACKFAIL -#define LCP_DEFLOOPBACKFAIL 10 -#endif - -/** - * LCP_ECHOINTERVAL: Interval in seconds between keepalive echo requests, 0 to disable. - */ -#ifndef LCP_ECHOINTERVAL -#define LCP_ECHOINTERVAL 0 -#endif - -/** - * LCP_MAXECHOFAILS: Number of unanswered echo requests before failure. - */ -#ifndef LCP_MAXECHOFAILS -#define LCP_MAXECHOFAILS 3 -#endif - -/** - * PPP_MAXIDLEFLAG: Max Xmit idle time (in ms) before resend flag char. - */ -#ifndef PPP_MAXIDLEFLAG -#define PPP_MAXIDLEFLAG 100 -#endif - -/** - * PPP Packet sizes - */ - -/** - * PPP_MRU: Default MRU - */ -#ifndef PPP_MRU -#define PPP_MRU 1500 -#endif - -/** - * PPP_DEFMRU: Default MRU to try - */ -#ifndef PPP_DEFMRU -#define PPP_DEFMRU 1500 -#endif - -/** - * PPP_MAXMRU: Normally limit MRU to this (pppd default = 16384) - */ -#ifndef PPP_MAXMRU -#define PPP_MAXMRU 1500 -#endif - -/** - * PPP_MINMRU: No MRUs below this - */ -#ifndef PPP_MINMRU -#define PPP_MINMRU 128 -#endif - -/** - * PPPOL2TP_DEFMRU: Default MTU and MRU for L2TP - * Default = 1500 - PPPoE(6) - PPP Protocol(2) - IPv4 header(20) - UDP Header(8) - * - L2TP Header(6) - HDLC Header(2) - PPP Protocol(2) - MPPE Header(2) - PPP Protocol(2) - */ -#if PPPOL2TP_SUPPORT -#ifndef PPPOL2TP_DEFMRU -#define PPPOL2TP_DEFMRU 1450 -#endif -#endif /* PPPOL2TP_SUPPORT */ - -/** - * MAXNAMELEN: max length of hostname or name for auth - */ -#ifndef MAXNAMELEN -#define MAXNAMELEN 256 -#endif - -/** - * MAXSECRETLEN: max length of password or secret - */ -#ifndef MAXSECRETLEN -#define MAXSECRETLEN 256 -#endif - -#endif /* PPP_SUPPORT */ /* -------------------------------------- ---------- Checksum options ---------- -------------------------------------- */ - +/** + * @defgroup lwip_opts_checksum Checksum + * @ingroup lwip_opts_infrastructure + * @{ + */ /** * LWIP_CHECKSUM_CTRL_PER_NETIF==1: Checksum generation/check can be enabled/disabled * per netif. * ATTENTION: if enabled, the CHECKSUM_GEN_* and CHECKSUM_CHECK_* defines must be enabled! */ -#ifndef LWIP_CHECKSUM_CTRL_PER_NETIF +#if !defined LWIP_CHECKSUM_CTRL_PER_NETIF || defined __DOXYGEN__ #define LWIP_CHECKSUM_CTRL_PER_NETIF 0 #endif /** * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets. */ -#ifndef CHECKSUM_GEN_IP +#if !defined CHECKSUM_GEN_IP || defined __DOXYGEN__ #define CHECKSUM_GEN_IP 1 #endif /** * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets. */ -#ifndef CHECKSUM_GEN_UDP +#if !defined CHECKSUM_GEN_UDP || defined __DOXYGEN__ #define CHECKSUM_GEN_UDP 1 #endif /** * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets. */ -#ifndef CHECKSUM_GEN_TCP +#if !defined CHECKSUM_GEN_TCP || defined __DOXYGEN__ #define CHECKSUM_GEN_TCP 1 #endif /** * CHECKSUM_GEN_ICMP==1: Generate checksums in software for outgoing ICMP packets. */ -#ifndef CHECKSUM_GEN_ICMP +#if !defined CHECKSUM_GEN_ICMP || defined __DOXYGEN__ #define CHECKSUM_GEN_ICMP 1 #endif /** * CHECKSUM_GEN_ICMP6==1: Generate checksums in software for outgoing ICMP6 packets. */ -#ifndef CHECKSUM_GEN_ICMP6 +#if !defined CHECKSUM_GEN_ICMP6 || defined __DOXYGEN__ #define CHECKSUM_GEN_ICMP6 1 #endif /** * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets. */ -#ifndef CHECKSUM_CHECK_IP +#if !defined CHECKSUM_CHECK_IP || defined __DOXYGEN__ #define CHECKSUM_CHECK_IP 1 #endif /** * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets. */ -#ifndef CHECKSUM_CHECK_UDP +#if !defined CHECKSUM_CHECK_UDP || defined __DOXYGEN__ #define CHECKSUM_CHECK_UDP 1 #endif /** * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets. */ -#ifndef CHECKSUM_CHECK_TCP +#if !defined CHECKSUM_CHECK_TCP || defined __DOXYGEN__ #define CHECKSUM_CHECK_TCP 1 #endif /** * CHECKSUM_CHECK_ICMP==1: Check checksums in software for incoming ICMP packets. */ -#ifndef CHECKSUM_CHECK_ICMP +#if !defined CHECKSUM_CHECK_ICMP || defined __DOXYGEN__ #define CHECKSUM_CHECK_ICMP 1 #endif /** * CHECKSUM_CHECK_ICMP6==1: Check checksums in software for incoming ICMPv6 packets */ -#ifndef CHECKSUM_CHECK_ICMP6 +#if !defined CHECKSUM_CHECK_ICMP6 || defined __DOXYGEN__ #define CHECKSUM_CHECK_ICMP6 1 #endif @@ -2440,40 +2145,92 @@ * LWIP_CHECKSUM_ON_COPY==1: Calculate checksum when copying data from * application buffers to pbufs. */ -#ifndef LWIP_CHECKSUM_ON_COPY +#if !defined LWIP_CHECKSUM_ON_COPY || defined __DOXYGEN__ #define LWIP_CHECKSUM_ON_COPY 0 #endif +/** + * @} + */ /* --------------------------------------- ---------- IPv6 options --------------- --------------------------------------- */ +/** + * @defgroup lwip_opts_ipv6 IPv6 + * @ingroup lwip_opts + * @{ + */ /** * LWIP_IPV6==1: Enable IPv6 */ -#ifndef LWIP_IPV6 +#if !defined LWIP_IPV6 || defined __DOXYGEN__ #define LWIP_IPV6 0 #endif /** * LWIP_IPV6_NUM_ADDRESSES: Number of IPv6 addresses per netif. */ -#ifndef LWIP_IPV6_NUM_ADDRESSES +#if !defined LWIP_IPV6_NUM_ADDRESSES || defined __DOXYGEN__ #define LWIP_IPV6_NUM_ADDRESSES 3 #endif /** * LWIP_IPV6_FORWARD==1: Forward IPv6 packets across netifs */ -#ifndef LWIP_IPV6_FORWARD +#if !defined LWIP_IPV6_FORWARD || defined __DOXYGEN__ #define LWIP_IPV6_FORWARD 0 #endif +/** + * LWIP_IPV6_FRAG==1: Fragment outgoing IPv6 packets that are too big. + */ +#if !defined LWIP_IPV6_FRAG || defined __DOXYGEN__ +#define LWIP_IPV6_FRAG 0 +#endif + +/** + * LWIP_IPV6_REASS==1: reassemble incoming IPv6 packets that fragmented + */ +#if !defined LWIP_IPV6_REASS || defined __DOXYGEN__ +#define LWIP_IPV6_REASS (LWIP_IPV6) +#endif + +/** + * LWIP_IPV6_SEND_ROUTER_SOLICIT==1: Send router solicitation messages during + * network startup. + */ +#if !defined LWIP_IPV6_SEND_ROUTER_SOLICIT || defined __DOXYGEN__ +#define LWIP_IPV6_SEND_ROUTER_SOLICIT 1 +#endif + +/** + * LWIP_IPV6_AUTOCONFIG==1: Enable stateless address autoconfiguration as per RFC 4862. + */ +#if !defined LWIP_IPV6_AUTOCONFIG || defined __DOXYGEN__ +#define LWIP_IPV6_AUTOCONFIG (LWIP_IPV6) +#endif + +/** + * LWIP_IPV6_DUP_DETECT_ATTEMPTS=[0..7]: Number of duplicate address detection attempts. + */ +#if !defined LWIP_IPV6_DUP_DETECT_ATTEMPTS || defined __DOXYGEN__ +#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1 +#endif +/** + * @} + */ + +/** + * @defgroup lwip_opts_icmp6 ICMP6 + * @ingroup lwip_opts_ipv6 + * @{ + */ /** * LWIP_ICMP6==1: Enable ICMPv6 (mandatory per RFC) */ -#ifndef LWIP_ICMP6 +#if !defined LWIP_ICMP6 || defined __DOXYGEN__ #define LWIP_ICMP6 (LWIP_IPV6) #endif @@ -2481,85 +2238,92 @@ * LWIP_ICMP6_DATASIZE: bytes from original packet to send back in * ICMPv6 error messages. */ -#ifndef LWIP_ICMP6_DATASIZE +#if !defined LWIP_ICMP6_DATASIZE || defined __DOXYGEN__ #define LWIP_ICMP6_DATASIZE 8 #endif /** * LWIP_ICMP6_HL: default hop limit for ICMPv6 messages */ -#ifndef LWIP_ICMP6_HL +#if !defined LWIP_ICMP6_HL || defined __DOXYGEN__ #define LWIP_ICMP6_HL 255 #endif +/** + * @} + */ /** - * LWIP_IPV6_MLD==1: Enable multicast listener discovery protocol. + * @defgroup lwip_opts_mld6 Multicast listener discovery + * @ingroup lwip_opts_ipv6 + * @{ */ -#ifndef LWIP_IPV6_MLD +/** + * LWIP_IPV6_MLD==1: Enable multicast listener discovery protocol. + * If LWIP_IPV6 is enabled but this setting is disabled, the MAC layer must + * indiscriminately pass all inbound IPv6 multicast traffic to lwIP. + */ +#if !defined LWIP_IPV6_MLD || defined __DOXYGEN__ #define LWIP_IPV6_MLD (LWIP_IPV6) #endif /** - * MEMP_NUM_MLD6_GROUP: Max number of IPv6 multicast that can be joined. + * MEMP_NUM_MLD6_GROUP: Max number of IPv6 multicast groups that can be joined. + * There must be enough groups so that each netif can join the solicited-node + * multicast group for each of its local addresses, plus one for MDNS if + * applicable, plus any number of groups to be joined on UDP sockets. */ -#ifndef MEMP_NUM_MLD6_GROUP +#if !defined MEMP_NUM_MLD6_GROUP || defined __DOXYGEN__ #define MEMP_NUM_MLD6_GROUP 4 #endif +/** + * @} + */ /** - * LWIP_IPV6_FRAG==1: Fragment outgoing IPv6 packets that are too big. + * @defgroup lwip_opts_nd6 Neighbor discovery + * @ingroup lwip_opts_ipv6 + * @{ */ -#ifndef LWIP_IPV6_FRAG -#define LWIP_IPV6_FRAG 0 -#endif - -/** - * LWIP_IPV6_REASS==1: reassemble incoming IPv6 packets that fragmented - */ -#ifndef LWIP_IPV6_REASS -#define LWIP_IPV6_REASS (LWIP_IPV6) -#endif - /** * LWIP_ND6_QUEUEING==1: queue outgoing IPv6 packets while MAC address * is being resolved. */ -#ifndef LWIP_ND6_QUEUEING +#if !defined LWIP_ND6_QUEUEING || defined __DOXYGEN__ #define LWIP_ND6_QUEUEING (LWIP_IPV6) #endif /** * MEMP_NUM_ND6_QUEUE: Max number of IPv6 packets to queue during MAC resolution. */ -#ifndef MEMP_NUM_ND6_QUEUE +#if !defined MEMP_NUM_ND6_QUEUE || defined __DOXYGEN__ #define MEMP_NUM_ND6_QUEUE 20 #endif /** * LWIP_ND6_NUM_NEIGHBORS: Number of entries in IPv6 neighbor cache */ -#ifndef LWIP_ND6_NUM_NEIGHBORS +#if !defined LWIP_ND6_NUM_NEIGHBORS || defined __DOXYGEN__ #define LWIP_ND6_NUM_NEIGHBORS 10 #endif /** * LWIP_ND6_NUM_DESTINATIONS: number of entries in IPv6 destination cache */ -#ifndef LWIP_ND6_NUM_DESTINATIONS +#if !defined LWIP_ND6_NUM_DESTINATIONS || defined __DOXYGEN__ #define LWIP_ND6_NUM_DESTINATIONS 10 #endif /** * LWIP_ND6_NUM_PREFIXES: number of entries in IPv6 on-link prefixes cache */ -#ifndef LWIP_ND6_NUM_PREFIXES +#if !defined LWIP_ND6_NUM_PREFIXES || defined __DOXYGEN__ #define LWIP_ND6_NUM_PREFIXES 5 #endif /** * LWIP_ND6_NUM_ROUTERS: number of entries in IPv6 default router cache */ -#ifndef LWIP_ND6_NUM_ROUTERS +#if !defined LWIP_ND6_NUM_ROUTERS || defined __DOXYGEN__ #define LWIP_ND6_NUM_ROUTERS 3 #endif @@ -2567,7 +2331,7 @@ * LWIP_ND6_MAX_MULTICAST_SOLICIT: max number of multicast solicit messages to send * (neighbor solicit and router solicit) */ -#ifndef LWIP_ND6_MAX_MULTICAST_SOLICIT +#if !defined LWIP_ND6_MAX_MULTICAST_SOLICIT || defined __DOXYGEN__ #define LWIP_ND6_MAX_MULTICAST_SOLICIT 3 #endif @@ -2575,21 +2339,21 @@ * LWIP_ND6_MAX_UNICAST_SOLICIT: max number of unicast neighbor solicitation messages * to send during neighbor reachability detection. */ -#ifndef LWIP_ND6_MAX_UNICAST_SOLICIT +#if !defined LWIP_ND6_MAX_UNICAST_SOLICIT || defined __DOXYGEN__ #define LWIP_ND6_MAX_UNICAST_SOLICIT 3 #endif /** * Unused: See ND RFC (time in milliseconds). */ -#ifndef LWIP_ND6_MAX_ANYCAST_DELAY_TIME +#if !defined LWIP_ND6_MAX_ANYCAST_DELAY_TIME || defined __DOXYGEN__ #define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000 #endif /** * Unused: See ND RFC */ -#ifndef LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT +#if !defined LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT || defined __DOXYGEN__ #define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT 3 #endif @@ -2597,14 +2361,14 @@ * LWIP_ND6_REACHABLE_TIME: default neighbor reachable time (in milliseconds). * May be updated by router advertisement messages. */ -#ifndef LWIP_ND6_REACHABLE_TIME +#if !defined LWIP_ND6_REACHABLE_TIME || defined __DOXYGEN__ #define LWIP_ND6_REACHABLE_TIME 30000 #endif /** * LWIP_ND6_RETRANS_TIMER: default retransmission timer for solicitation messages */ -#ifndef LWIP_ND6_RETRANS_TIMER +#if !defined LWIP_ND6_RETRANS_TIMER || defined __DOXYGEN__ #define LWIP_ND6_RETRANS_TIMER 1000 #endif @@ -2612,7 +2376,7 @@ * LWIP_ND6_DELAY_FIRST_PROBE_TIME: Delay before first unicast neighbor solicitation * message is sent, during neighbor reachability detection. */ -#ifndef LWIP_ND6_DELAY_FIRST_PROBE_TIME +#if !defined LWIP_ND6_DELAY_FIRST_PROBE_TIME || defined __DOXYGEN__ #define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000 #endif @@ -2620,45 +2384,35 @@ * LWIP_ND6_ALLOW_RA_UPDATES==1: Allow Router Advertisement messages to update * Reachable time and retransmission timers, and netif MTU. */ -#ifndef LWIP_ND6_ALLOW_RA_UPDATES +#if !defined LWIP_ND6_ALLOW_RA_UPDATES || defined __DOXYGEN__ #define LWIP_ND6_ALLOW_RA_UPDATES 1 #endif -/** - * LWIP_IPV6_SEND_ROUTER_SOLICIT==1: Send router solicitation messages during - * network startup. - */ -#ifndef LWIP_IPV6_SEND_ROUTER_SOLICIT -#define LWIP_IPV6_SEND_ROUTER_SOLICIT 1 -#endif - /** * LWIP_ND6_TCP_REACHABILITY_HINTS==1: Allow TCP to provide Neighbor Discovery * with reachability hints for connected destinations. This helps avoid sending * unicast neighbor solicitation messages. */ -#ifndef LWIP_ND6_TCP_REACHABILITY_HINTS +#if !defined LWIP_ND6_TCP_REACHABILITY_HINTS || defined __DOXYGEN__ #define LWIP_ND6_TCP_REACHABILITY_HINTS 1 #endif /** - * LWIP_IPV6_AUTOCONFIG==1: Enable stateless address autoconfiguration as per RFC 4862. + * LWIP_ND6_RDNSS_MAX_DNS_SERVERS > 0: Use IPv6 Router Advertisement Recursive + * DNS Server Option (as per RFC 6106) to copy a defined maximum number of DNS + * servers to the DNS module. */ -#ifndef LWIP_IPV6_AUTOCONFIG -#define LWIP_IPV6_AUTOCONFIG (LWIP_IPV6) +#if !defined LWIP_ND6_RDNSS_MAX_DNS_SERVERS || defined __DOXYGEN__ +#define LWIP_ND6_RDNSS_MAX_DNS_SERVERS 0 #endif - /** - * LWIP_IPV6_DUP_DETECT_ATTEMPTS: Number of duplicate address detection attempts. + * @} */ -#ifndef LWIP_IPV6_DUP_DETECT_ATTEMPTS -#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1 -#endif /** * LWIP_IPV6_DHCP6==1: enable DHCPv6 stateful address autoconfiguration. */ -#ifndef LWIP_IPV6_DHCP6 +#if !defined LWIP_IPV6_DHCP6 || defined __DOXYGEN__ #define LWIP_IPV6_DHCP6 0 #endif @@ -2668,7 +2422,44 @@ --------------------------------------- */ -/* Hooks are undefined by default, define them to a function if you need them. */ +/** + * @defgroup lwip_opts_hooks Hooks + * @ingroup lwip_opts_infrastructure + * Hooks are undefined by default, define them to a function if you need them. + * @{ + */ + +/** + * LWIP_HOOK_FILENAME: Custom filename to #include in files that provide hooks. + * Declare your hook function prototypes in there, you may also #include all headers + * providing data types that are need in this file. + */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h" +#endif + +/** + * LWIP_HOOK_TCP_ISN: + * Hook for generation of the Initial Sequence Number (ISN) for a new TCP + * connection. The default lwIP ISN generation algorithm is very basic and may + * allow for TCP spoofing attacks. This hook provides the means to implement + * the standardized ISN generation algorithm from RFC 6528 (see contrib/adons/tcp_isn), + * or any other desired algorithm as a replacement. + * Called from tcp_connect() and tcp_listen_input() when an ISN is needed for + * a new TCP connection, if TCP support (@ref LWIP_TCP) is enabled.\n + * Signature: u32_t my_hook_tcp_isn(const ip_addr_t* local_ip, u16_t local_port, const ip_addr_t* remote_ip, u16_t remote_port); + * - it may be necessary to use "struct ip_addr" (ip4_addr, ip6_addr) instead of "ip_addr_t" in function declarations\n + * Arguments: + * - local_ip: pointer to the local IP address of the connection + * - local_port: local port number of the connection (host-byte order) + * - remote_ip: pointer to the remote IP address of the connection + * - remote_port: remote port number of the connection (host-byte order)\n + * Return value: + * - the 32-bit Initial Sequence Number to use for the new TCP connection. + */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_TCP_ISN(local_ip, local_port, remote_ip, remote_port) +#endif /** * LWIP_HOOK_IP4_INPUT(pbuf, input_netif): @@ -2681,6 +2472,9 @@ * If the hook consumed the packet, 'pbuf' is in the responsibility of the hook * (i.e. free it when done). */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_IP4_INPUT(pbuf, input_netif) +#endif /** * LWIP_HOOK_IP4_ROUTE(dest): @@ -2689,11 +2483,17 @@ * Returns the destination netif or NULL if no destination netif is found. In * that case, ip_route() continues as normal. */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_IP4_ROUTE() +#endif /** * LWIP_HOOK_IP4_ROUTE_SRC(dest, src): * - source-based routing for IPv4 (see LWIP_HOOK_IP4_ROUTE(), src may be NULL) */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_IP4_ROUTE_SRC(dest, src) +#endif /** * LWIP_HOOK_ETHARP_GET_GW(netif, dest): @@ -2702,11 +2502,14 @@ * - dest: the destination IPv4 address * Returns the IPv4 address of the gateway to handle the specified destination * IPv4 address. If NULL is returned, the netif's default gateway is used. - * The returned address MUST be reachable on the specified netif! + * The returned address MUST be directly reachable on the specified netif! * This function is meant to implement advanced IPv4 routing together with * LWIP_HOOK_IP4_ROUTE(). The actual routing/gateway table implementation is * not part of lwIP but can e.g. be hidden in the netif's state argument. */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_ETHARP_GET_GW(netif, dest) +#endif /** * LWIP_HOOK_IP6_INPUT(pbuf, input_netif): @@ -2719,6 +2522,9 @@ * If the hook consumed the packet, 'pbuf' is in the responsibility of the hook * (i.e. free it when done). */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_IP6_INPUT(pbuf, input_netif) +#endif /** * LWIP_HOOK_IP6_ROUTE(src, dest): @@ -2728,6 +2534,25 @@ * Returns the destination netif or NULL if no destination netif is found. In * that case, ip6_route() continues as normal. */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_IP6_ROUTE(src, dest) +#endif + +/** + * LWIP_HOOK_ND6_GET_GW(netif, dest): + * - called from nd6_get_next_hop_entry() (IPv6) + * - netif: the netif used for sending + * - dest: the destination IPv6 address + * Returns the IPv6 address of the next hop to handle the specified destination + * IPv6 address. If NULL is returned, a NDP-discovered router is used instead. + * The returned address MUST be directly reachable on the specified netif! + * This function is meant to implement advanced IPv6 routing together with + * LWIP_HOOK_IP6_ROUTE(). The actual routing/gateway table implementation is + * not part of lwIP but can e.g. be hidden in the netif's state argument. +*/ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_ND6_GET_GW(netif, dest) +#endif /** * LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr): @@ -2739,176 +2564,212 @@ * - 0: Packet must be dropped. * - != 0: Packet must be accepted. */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr) +#endif /** - * LWIP_HOOK_VLAN_SET(netif, eth_hdr, vlan_hdr): - * - called from etharp_raw() and etharp_send_ip() if VLAN support is enabled + * LWIP_HOOK_VLAN_SET: + * Hook can be used to set prio_vid field of vlan_hdr. If you need to store data + * on per-netif basis to implement this callback, see @ref netif_cd. + * Called from ethernet_output() if VLAN support (@ref ETHARP_SUPPORT_VLAN) is enabled.\n + * Signature: s32_t my_hook_vlan_set(struct netif* netif, struct pbuf* pbuf, const struct eth_addr* src, const struct eth_addr* dst, u16_t eth_type);\n + * Arguments: * - netif: struct netif that the packet will be sent through - * - eth_hdr: struct eth_hdr of the packet - * - vlan_hdr: struct eth_vlan_hdr of the packet + * - p: struct pbuf packet to be sent + * - src: source eth address + * - dst: destination eth address + * - eth_type: ethernet type to packet to be sent\n + * + * * Return values: - * - 0: Packet shall not contain VLAN header. - * - != 0: Packet shall contain VLAN header. - * Hook can be used to set prio_vid field of vlan_hdr. + * - <0: Packet shall not contain VLAN header. + * - 0 <= return value <= 0xFFFF: Packet shall contain VLAN header. Return value is prio_vid in host byte order. */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_VLAN_SET(netif, p, src, dst, eth_type) +#endif /** * LWIP_HOOK_MEMP_AVAILABLE(memp_t_type): * - called from memp_free() when a memp pool was empty and an item is now available */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_MEMP_AVAILABLE(memp_t_type) +#endif + +/** + * LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif): + * Called from ethernet_input() when an unknown eth type is encountered. + * Return ERR_OK if packet is accepted, any error code otherwise. + * Payload points to ethernet header! + */ +#ifdef __DOXYGEN__ +#define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif) +#endif +/** + * @} + */ /* --------------------------------------- ---------- Debugging options ---------- --------------------------------------- */ +/** + * @defgroup lwip_opts_debugmsg Debug messages + * @ingroup lwip_opts_debug + * @{ + */ /** * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is * compared against this value. If it is smaller, then debugging * messages are written. + * @see debugging_levels */ -#ifndef LWIP_DBG_MIN_LEVEL +#if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__ #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL #endif /** * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable * debug messages of certain types. + * @see debugging_levels */ -#ifndef LWIP_DBG_TYPES_ON +#if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__ #define LWIP_DBG_TYPES_ON LWIP_DBG_ON #endif /** * ETHARP_DEBUG: Enable debugging in etharp.c. */ -#ifndef ETHARP_DEBUG +#if !defined ETHARP_DEBUG || defined __DOXYGEN__ #define ETHARP_DEBUG LWIP_DBG_OFF #endif /** * NETIF_DEBUG: Enable debugging in netif.c. */ -#ifndef NETIF_DEBUG +#if !defined NETIF_DEBUG || defined __DOXYGEN__ #define NETIF_DEBUG LWIP_DBG_OFF #endif /** * PBUF_DEBUG: Enable debugging in pbuf.c. */ -#ifndef PBUF_DEBUG +#if !defined PBUF_DEBUG || defined __DOXYGEN__ #define PBUF_DEBUG LWIP_DBG_OFF #endif /** * API_LIB_DEBUG: Enable debugging in api_lib.c. */ -#ifndef API_LIB_DEBUG +#if !defined API_LIB_DEBUG || defined __DOXYGEN__ #define API_LIB_DEBUG LWIP_DBG_OFF #endif /** * API_MSG_DEBUG: Enable debugging in api_msg.c. */ -#ifndef API_MSG_DEBUG +#if !defined API_MSG_DEBUG || defined __DOXYGEN__ #define API_MSG_DEBUG LWIP_DBG_OFF #endif /** * SOCKETS_DEBUG: Enable debugging in sockets.c. */ -#ifndef SOCKETS_DEBUG +#if !defined SOCKETS_DEBUG || defined __DOXYGEN__ #define SOCKETS_DEBUG LWIP_DBG_OFF #endif /** * ICMP_DEBUG: Enable debugging in icmp.c. */ -#ifndef ICMP_DEBUG +#if !defined ICMP_DEBUG || defined __DOXYGEN__ #define ICMP_DEBUG LWIP_DBG_OFF #endif /** * IGMP_DEBUG: Enable debugging in igmp.c. */ -#ifndef IGMP_DEBUG +#if !defined IGMP_DEBUG || defined __DOXYGEN__ #define IGMP_DEBUG LWIP_DBG_OFF #endif /** * INET_DEBUG: Enable debugging in inet.c. */ -#ifndef INET_DEBUG +#if !defined INET_DEBUG || defined __DOXYGEN__ #define INET_DEBUG LWIP_DBG_OFF #endif /** * IP_DEBUG: Enable debugging for IP. */ -#ifndef IP_DEBUG +#if !defined IP_DEBUG || defined __DOXYGEN__ #define IP_DEBUG LWIP_DBG_OFF #endif /** * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass. */ -#ifndef IP_REASS_DEBUG +#if !defined IP_REASS_DEBUG || defined __DOXYGEN__ #define IP_REASS_DEBUG LWIP_DBG_OFF #endif /** * RAW_DEBUG: Enable debugging in raw.c. */ -#ifndef RAW_DEBUG +#if !defined RAW_DEBUG || defined __DOXYGEN__ #define RAW_DEBUG LWIP_DBG_OFF #endif /** * MEM_DEBUG: Enable debugging in mem.c. */ -#ifndef MEM_DEBUG +#if !defined MEM_DEBUG || defined __DOXYGEN__ #define MEM_DEBUG LWIP_DBG_OFF #endif /** * MEMP_DEBUG: Enable debugging in memp.c. */ -#ifndef MEMP_DEBUG +#if !defined MEMP_DEBUG || defined __DOXYGEN__ #define MEMP_DEBUG LWIP_DBG_OFF #endif /** * SYS_DEBUG: Enable debugging in sys.c. */ -#ifndef SYS_DEBUG +#if !defined SYS_DEBUG || defined __DOXYGEN__ #define SYS_DEBUG LWIP_DBG_OFF #endif /** * TIMERS_DEBUG: Enable debugging in timers.c. */ -#ifndef TIMERS_DEBUG +#if !defined TIMERS_DEBUG || defined __DOXYGEN__ #define TIMERS_DEBUG LWIP_DBG_OFF #endif /** * TCP_DEBUG: Enable debugging for TCP. */ -#ifndef TCP_DEBUG +#if !defined TCP_DEBUG || defined __DOXYGEN__ #define TCP_DEBUG LWIP_DBG_OFF #endif /** * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug. */ -#ifndef TCP_INPUT_DEBUG +#if !defined TCP_INPUT_DEBUG || defined __DOXYGEN__ #define TCP_INPUT_DEBUG LWIP_DBG_OFF #endif /** * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit. */ -#ifndef TCP_FR_DEBUG +#if !defined TCP_FR_DEBUG || defined __DOXYGEN__ #define TCP_FR_DEBUG LWIP_DBG_OFF #endif @@ -2916,123 +2777,116 @@ * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit * timeout. */ -#ifndef TCP_RTO_DEBUG +#if !defined TCP_RTO_DEBUG || defined __DOXYGEN__ #define TCP_RTO_DEBUG LWIP_DBG_OFF #endif /** * TCP_CWND_DEBUG: Enable debugging for TCP congestion window. */ -#ifndef TCP_CWND_DEBUG +#if !defined TCP_CWND_DEBUG || defined __DOXYGEN__ #define TCP_CWND_DEBUG LWIP_DBG_OFF #endif /** * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating. */ -#ifndef TCP_WND_DEBUG +#if !defined TCP_WND_DEBUG || defined __DOXYGEN__ #define TCP_WND_DEBUG LWIP_DBG_OFF #endif /** * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions. */ -#ifndef TCP_OUTPUT_DEBUG +#if !defined TCP_OUTPUT_DEBUG || defined __DOXYGEN__ #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF #endif /** * TCP_RST_DEBUG: Enable debugging for TCP with the RST message. */ -#ifndef TCP_RST_DEBUG +#if !defined TCP_RST_DEBUG || defined __DOXYGEN__ #define TCP_RST_DEBUG LWIP_DBG_OFF #endif /** * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths. */ -#ifndef TCP_QLEN_DEBUG +#if !defined TCP_QLEN_DEBUG || defined __DOXYGEN__ #define TCP_QLEN_DEBUG LWIP_DBG_OFF #endif /** * UDP_DEBUG: Enable debugging in UDP. */ -#ifndef UDP_DEBUG +#if !defined UDP_DEBUG || defined __DOXYGEN__ #define UDP_DEBUG LWIP_DBG_OFF #endif /** * TCPIP_DEBUG: Enable debugging in tcpip.c. */ -#ifndef TCPIP_DEBUG +#if !defined TCPIP_DEBUG || defined __DOXYGEN__ #define TCPIP_DEBUG LWIP_DBG_OFF #endif -/** - * PPP_DEBUG: Enable debugging for PPP. - */ -#ifndef PPP_DEBUG -#define PPP_DEBUG LWIP_DBG_OFF -#endif - /** * SLIP_DEBUG: Enable debugging in slipif.c. */ -#ifndef SLIP_DEBUG +#if !defined SLIP_DEBUG || defined __DOXYGEN__ #define SLIP_DEBUG LWIP_DBG_OFF #endif /** * DHCP_DEBUG: Enable debugging in dhcp.c. */ -#ifndef DHCP_DEBUG +#if !defined DHCP_DEBUG || defined __DOXYGEN__ #define DHCP_DEBUG LWIP_DBG_OFF #endif /** * AUTOIP_DEBUG: Enable debugging in autoip.c. */ -#ifndef AUTOIP_DEBUG +#if !defined AUTOIP_DEBUG || defined __DOXYGEN__ #define AUTOIP_DEBUG LWIP_DBG_OFF #endif /** * DNS_DEBUG: Enable debugging for DNS. */ -#ifndef DNS_DEBUG +#if !defined DNS_DEBUG || defined __DOXYGEN__ #define DNS_DEBUG LWIP_DBG_OFF #endif /** * IP6_DEBUG: Enable debugging for IPv6. */ -#ifndef IP6_DEBUG +#if !defined IP6_DEBUG || defined __DOXYGEN__ #define IP6_DEBUG LWIP_DBG_OFF #endif +/** + * @} + */ /* -------------------------------------------------- ---------- Performance tracking options ---------- -------------------------------------------------- */ +/** + * @defgroup lwip_opts_perf Performance + * @ingroup lwip_opts_debug + * @{ + */ /** * LWIP_PERF: Enable performance testing for lwIP * (if enabled, arch/perf.h is included) */ -#ifndef LWIP_PERF +#if !defined LWIP_PERF || defined __DOXYGEN__ #define LWIP_PERF 0 #endif - /** - * ESP_L2_TO_L3_COPY: enable memcpy when receiving packet from L2 + * @} */ -#ifndef ESP_L2_TO_L3_COPY -#define ESP_L2_TO_L3_COPY 0 -#endif - -#ifndef ESP_THREAD_SAFE_DEBUG -#define ESP_THREAD_SAFE_DEBUG 0 -#endif #endif /* LWIP_HDR_OPT_H */ diff --git a/tools/sdk/include/lwip/lwip/pbuf.h b/tools/sdk/include/lwip/lwip/pbuf.h index 42146f6f..a8f1d951 100644 --- a/tools/sdk/include/lwip/lwip/pbuf.h +++ b/tools/sdk/include/lwip/lwip/pbuf.h @@ -1,3 +1,8 @@ +/** + * @file + * pbuf API + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -47,7 +52,7 @@ extern "C" { * Currently, the pbuf_custom code is only needed for one specific configuration * of IP_FRAG, unless required by external driver/application code. */ #ifndef LWIP_SUPPORT_CUSTOM_PBUF -#define LWIP_SUPPORT_CUSTOM_PBUF ((IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF) || (LWIP_IPV6 && LWIP_IPV6_FRAG)) +#define LWIP_SUPPORT_CUSTOM_PBUF ((IP_FRAG && !LWIP_NETIF_TX_SINGLE_PBUF) || (LWIP_IPV6 && LWIP_IPV6_FRAG)) #endif /* @todo: We need a mechanism to prevent wasting memory in every pbuf @@ -60,20 +65,46 @@ extern "C" { #define PBUF_IP_HLEN 20 #endif +/** + * @ingroup pbuf + * Enumeration of pbuf layers + */ typedef enum { + /** Includes spare room for transport layer header, e.g. UDP header. + * Use this if you intend to pass the pbuf to functions like udp_send(). + */ PBUF_TRANSPORT, + /** Includes spare room for IP header. + * Use this if you intend to pass the pbuf to functions like raw_send(). + */ PBUF_IP, + /** Includes spare room for link layer header (ethernet header). + * Use this if you intend to pass the pbuf to functions like ethernet_output(). + * @see PBUF_LINK_HLEN + */ PBUF_LINK, + /** Includes spare room for additional encapsulation header before ethernet + * headers (e.g. 802.11). + * Use this if you intend to pass the pbuf to functions like netif->linkoutput(). + * @see PBUF_LINK_ENCAPSULATION_HLEN + */ PBUF_RAW_TX, + /** Use this for input packets in a netif driver when calling netif->input() + * in the most common case - ethernet-layer netif driver. */ PBUF_RAW } pbuf_layer; +/** + * @ingroup pbuf + * Enumeration of pbuf types + */ typedef enum { /** pbuf data is stored in RAM, used for TX mostly, struct pbuf and its payload are allocated in one piece of contiguous memory (so the first payload byte - can be calculated from struct pbuf) + can be calculated from struct pbuf). pbuf_alloc() allocates PBUF_RAM pbufs as unchained pbufs (although that might - change in future versions) */ + change in future versions). + This should be used for all OUTGOING packets (TX).*/ PBUF_RAM, /** pbuf data is stored in ROM, i.e. struct pbuf and its payload are located in totally different memory areas. Since it points to ROM, payload does not @@ -86,7 +117,9 @@ typedef enum { /** pbuf payload refers to RAM. This one comes from a pool and should be used for RX. Payload can be chained (scatter-gather RX) but like PBUF_RAM, struct pbuf and its payload are allocated in one piece of contiguous memory (so - the first payload byte can be calculated from struct pbuf) */ + the first payload byte can be calculated from struct pbuf). + Don't use this for TX, if the pool becomes empty e.g. because of TCP queuing, + you are unable to receive TCP acks! */ PBUF_POOL } pbuf_type; @@ -105,6 +138,7 @@ typedef enum { /** indicates this pbuf includes a TCP FIN flag */ #define PBUF_FLAG_TCP_FIN 0x20U +/** Main packet buffer struct */ struct pbuf { /** next pbuf in singly linked pbuf chain */ struct pbuf *next; @@ -169,12 +203,11 @@ struct pbuf_custom { }; #endif /* LWIP_SUPPORT_CUSTOM_PBUF */ -#if LWIP_TCP && TCP_QUEUE_OOSEQ /** Define this to 0 to prevent freeing ooseq pbufs when the PBUF_POOL is empty */ #ifndef PBUF_POOL_FREE_OOSEQ #define PBUF_POOL_FREE_OOSEQ 1 #endif /* PBUF_POOL_FREE_OOSEQ */ -#if NO_SYS && PBUF_POOL_FREE_OOSEQ +#if LWIP_TCP && TCP_QUEUE_OOSEQ && NO_SYS && PBUF_POOL_FREE_OOSEQ extern volatile u8_t pbuf_free_ooseq_pending; void pbuf_free_ooseq(void); /** When not using sys_check_timeouts(), call PBUF_CHECK_FREE_OOSEQ() @@ -184,8 +217,10 @@ void pbuf_free_ooseq(void); /* pbuf_alloc() reported PBUF_POOL to be empty -> try to free some \ ooseq queued pbufs now */ \ pbuf_free_ooseq(); }}while(0) -#endif /* NO_SYS && PBUF_POOL_FREE_OOSEQ*/ -#endif /* LWIP_TCP && TCP_QUEUE_OOSEQ */ +#else /* LWIP_TCP && TCP_QUEUE_OOSEQ && NO_SYS && PBUF_POOL_FREE_OOSEQ */ + /* Otherwise declare an empty PBUF_CHECK_FREE_OOSEQ */ + #define PBUF_CHECK_FREE_OOSEQ() +#endif /* LWIP_TCP && TCP_QUEUE_OOSEQ && NO_SYS && PBUF_POOL_FREE_OOSEQ*/ /* Initializes the pbuf module. This call is empty for now, but may not be in future. */ #define pbuf_init() @@ -201,12 +236,12 @@ u8_t pbuf_header(struct pbuf *p, s16_t header_size); u8_t pbuf_header_force(struct pbuf *p, s16_t header_size); void pbuf_ref(struct pbuf *p); u8_t pbuf_free(struct pbuf *p); -u8_t pbuf_clen(struct pbuf *p); +u16_t pbuf_clen(const struct pbuf *p); void pbuf_cat(struct pbuf *head, struct pbuf *tail); void pbuf_chain(struct pbuf *head, struct pbuf *tail); struct pbuf *pbuf_dechain(struct pbuf *p); -err_t pbuf_copy(struct pbuf *p_to, struct pbuf *p_from); -u16_t pbuf_copy_partial(struct pbuf *p, void *dataptr, u16_t len, u16_t offset); +err_t pbuf_copy(struct pbuf *p_to, const struct pbuf *p_from); +u16_t pbuf_copy_partial(const struct pbuf *p, void *dataptr, u16_t len, u16_t offset); err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len); err_t pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset); struct pbuf *pbuf_skip(struct pbuf* in, u16_t in_offset, u16_t* out_offset); @@ -219,11 +254,12 @@ err_t pbuf_fill_chksum(struct pbuf *p, u16_t start_offset, const void *dataptr, void pbuf_split_64k(struct pbuf *p, struct pbuf **rest); #endif /* LWIP_TCP && TCP_QUEUE_OOSEQ && LWIP_WND_SCALE */ -u8_t pbuf_get_at(struct pbuf* p, u16_t offset); +u8_t pbuf_get_at(const struct pbuf* p, u16_t offset); +int pbuf_try_get_at(const struct pbuf* p, u16_t offset); void pbuf_put_at(struct pbuf* p, u16_t offset, u8_t data); -u16_t pbuf_memcmp(struct pbuf* p, u16_t offset, const void* s2, u16_t n); -u16_t pbuf_memfind(struct pbuf* p, const void* mem, u16_t mem_len, u16_t start_offset); -u16_t pbuf_strstr(struct pbuf* p, const char* substr); +u16_t pbuf_memcmp(const struct pbuf* p, u16_t offset, const void* s2, u16_t n); +u16_t pbuf_memfind(const struct pbuf* p, const void* mem, u16_t mem_len, u16_t start_offset); +u16_t pbuf_strstr(const struct pbuf* p, const char* substr); #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/priv/api_msg.h b/tools/sdk/include/lwip/lwip/priv/api_msg.h index 02d191a5..bcc0b501 100644 --- a/tools/sdk/include/lwip/lwip/priv/api_msg.h +++ b/tools/sdk/include/lwip/lwip/priv/api_msg.h @@ -1,3 +1,8 @@ +/** + * @file + * netconn API lwIP internal implementations (do not use in application code) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -38,29 +43,25 @@ /* Note: Netconn API is always available when sockets are enabled - * sockets are implemented on top of them */ -#include /* for size_t */ - +#include "lwip/arch.h" #include "lwip/ip_addr.h" #include "lwip/err.h" #include "lwip/sys.h" #include "lwip/igmp.h" #include "lwip/api.h" +#include "lwip/priv/tcpip_priv.h" #ifdef __cplusplus extern "C" { #endif #if LWIP_MPU_COMPATIBLE -#define API_MSG_M_DEF(m) m -#define API_MSG_M_DEF_C(t, m) t m #if LWIP_NETCONN_SEM_PER_THREAD #define API_MSG_M_DEF_SEM(m) *m #else #define API_MSG_M_DEF_SEM(m) API_MSG_M_DEF(m) #endif #else /* LWIP_MPU_COMPATIBLE */ -#define API_MSG_M_DEF(m) *m -#define API_MSG_M_DEF_C(t, m) const t * m #define API_MSG_M_DEF_SEM(m) API_MSG_M_DEF(m) #endif /* LWIP_MPU_COMPATIBLE */ @@ -75,7 +76,7 @@ extern "C" { /** This struct includes everything that is necessary to execute a function for a netconn in another thread context (mainly used to process netconns in the tcpip_thread context to be thread safe). */ -struct api_msg_msg { +struct api_msg { /** The netconn which to process - always needed: it includes the semaphore which is used to block the application thread until the function finished. */ struct netconn *conn; @@ -150,16 +151,6 @@ struct api_msg_msg { #endif /* LWIP_NETCONN_SEM_PER_THREAD */ -/** This struct contains a function to execute in another thread context and - a struct api_msg_msg that serves as an argument for this function. - This is passed to tcpip_apimsg to execute functions in tcpip_thread context. */ -struct api_msg { - /** function to execute in tcpip_thread context */ - void (* function)(void *msg); - /** arguments for this function */ - struct api_msg_msg msg; -}; - #if LWIP_DNS /** As lwip_netconn_do_gethostbyname requires more arguments but doesn't require a netconn, it has its own struct (to avoid struct api_msg getting bigger than necessary). @@ -194,35 +185,9 @@ struct dns_api_msg { #endif #endif -#if LWIP_TCPIP_CORE_LOCKING -#ifdef LWIP_DEBUG -#define TCIP_APIMSG_SET_ERR(m, e) (m)->msg.err = e /* catch functions that don't set err */ -#else -#define TCIP_APIMSG_SET_ERR(m, e) -#endif -#if LWIP_NETCONN_SEM_PER_THREAD -#define TCPIP_APIMSG_SET_SEM(m) ((m)->msg.op_completed_sem = LWIP_NETCONN_THREAD_SEM_GET()) -#else -#define TCPIP_APIMSG_SET_SEM(m) -#endif -#define TCPIP_APIMSG_NOERR(m,f) do { \ - TCIP_APIMSG_SET_ERR(m, ERR_VAL); \ - TCPIP_APIMSG_SET_SEM(m); \ - LOCK_TCPIP_CORE(); \ - f(&((m)->msg)); \ - UNLOCK_TCPIP_CORE(); \ -} while(0) -#define TCPIP_APIMSG(m,f,e) do { \ - TCPIP_APIMSG_NOERR(m,f); \ - (e) = (m)->msg.err; \ -} while(0) -#define TCPIP_APIMSG_ACK(m) NETCONN_SET_SAFE_ERR((m)->conn, (m)->err) -#else /* LWIP_TCPIP_CORE_LOCKING */ -#define TCPIP_APIMSG_NOERR(m,f) do { (m)->function = f; tcpip_apimsg(m); } while(0) -#define TCPIP_APIMSG(m,f,e) do { (m)->function = f; (e) = tcpip_apimsg(m); } while(0) -#define TCPIP_APIMSG_ACK(m) do { NETCONN_SET_SAFE_ERR((m)->conn, (m)->err); sys_sem_signal(LWIP_API_MSG_SEM(m)); } while(0) - -#endif /* LWIP_TCPIP_CORE_LOCKING */ +#if LWIP_TCP +extern u8_t netconn_aborted; +#endif /* LWIP_TCP */ void lwip_netconn_do_newconn (void *m); void lwip_netconn_do_delconn (void *m); @@ -232,6 +197,9 @@ void lwip_netconn_do_disconnect (void *m); void lwip_netconn_do_listen (void *m); void lwip_netconn_do_send (void *m); void lwip_netconn_do_recv (void *m); +#if TCP_LISTEN_BACKLOG +void lwip_netconn_do_accepted (void *m); +#endif /* TCP_LISTEN_BACKLOG */ void lwip_netconn_do_write (void *m); void lwip_netconn_do_getaddr (void *m); void lwip_netconn_do_close (void *m); diff --git a/tools/sdk/include/lwip/lwip/priv/memp_priv.h b/tools/sdk/include/lwip/lwip/priv/memp_priv.h index abb5ebcf..f246061d 100644 --- a/tools/sdk/include/lwip/lwip/priv/memp_priv.h +++ b/tools/sdk/include/lwip/lwip/priv/memp_priv.h @@ -1,3 +1,8 @@ +/** + * @file + * memory pools lwIP internal implementations (do not use in application code) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -38,7 +43,7 @@ #ifdef __cplusplus extern "C" { #endif - + #include "lwip/mem.h" #if MEMP_OVERFLOW_CHECK @@ -82,6 +87,7 @@ extern "C" { #endif /* MEMP_OVERFLOW_CHECK */ +#if !MEMP_MEM_MALLOC || MEMP_OVERFLOW_CHECK struct memp { struct memp *next; #if MEMP_OVERFLOW_CHECK @@ -89,8 +95,9 @@ struct memp { int line; #endif /* MEMP_OVERFLOW_CHECK */ }; +#endif /* !MEMP_MEM_MALLOC || MEMP_OVERFLOW_CHECK */ -#if MEM_USE_POOLS +#if MEM_USE_POOLS && MEMP_USE_CUSTOM_POOLS /* Use a helper type to get the start and end of the user "memory pools" for mem_malloc */ typedef enum { /* Get the first (via: @@ -117,9 +124,19 @@ typedef enum { We use this helper type and these defines so we can avoid using const memp_t values */ #define MEMP_POOL_FIRST ((memp_t) MEMP_POOL_HELPER_FIRST) #define MEMP_POOL_LAST ((memp_t) MEMP_POOL_HELPER_LAST) -#endif /* MEM_USE_POOLS */ +#endif /* MEM_USE_POOLS && MEMP_USE_CUSTOM_POOLS */ +/** Memory pool descriptor */ struct memp_desc { +#if defined(LWIP_DEBUG) || MEMP_OVERFLOW_CHECK || LWIP_STATS_DISPLAY + /** Textual description */ + const char *desc; +#endif /* LWIP_DEBUG || MEMP_OVERFLOW_CHECK || LWIP_STATS_DISPLAY */ +#if MEMP_STATS + /** Statistics */ + struct stats_mem *stats; +#endif + /** Element size */ u16_t size; @@ -127,35 +144,28 @@ struct memp_desc { /** Number of elements */ u16_t num; -#if defined(LWIP_DEBUG) || MEMP_OVERFLOW_CHECK - /** Textual description */ - const char *desc; -#endif /* LWIP_DEBUG || MEMP_OVERFLOW_CHECK */ - - /** Base */ - u8_t *base; + /** Base address */ + u8_t *base; /** First free element of each pool. Elements form a linked list. */ struct memp **tab; #endif /* MEMP_MEM_MALLOC */ }; -#if (ESP_STATS_MEM == 1) -extern uint32_t g_lwip_mem_cnt[MEMP_MAX][2]; -#define ESP_CNT_MEM_MALLOC_INC(type) g_lwip_mem_cnt[type][0]++ -#define ESP_CNT_MEM_FREE_INC(type) g_lwip_mem_cnt[type][1]++ -#else -#define ESP_CNT_MEM_MALLOC_INC(type) -#define ESP_CNT_MEM_FREE_INC(type) -#endif - - -#ifdef LWIP_DEBUG +#if defined(LWIP_DEBUG) || MEMP_OVERFLOW_CHECK || LWIP_STATS_DISPLAY #define DECLARE_LWIP_MEMPOOL_DESC(desc) (desc), #else #define DECLARE_LWIP_MEMPOOL_DESC(desc) #endif +#if MEMP_STATS +#define LWIP_MEMPOOL_DECLARE_STATS_INSTANCE(name) static struct stats_mem name; +#define LWIP_MEMPOOL_DECLARE_STATS_REFERENCE(name) &name, +#else +#define LWIP_MEMPOOL_DECLARE_STATS_INSTANCE(name) +#define LWIP_MEMPOOL_DECLARE_STATS_REFERENCE(name) +#endif + void memp_init_pool(const struct memp_desc *desc); #if MEMP_OVERFLOW_CHECK diff --git a/tools/sdk/include/lwip/lwip/priv/memp_std.h b/tools/sdk/include/lwip/lwip/priv/memp_std.h index 4def116d..ce9fd500 100644 --- a/tools/sdk/include/lwip/lwip/priv/memp_std.h +++ b/tools/sdk/include/lwip/lwip/priv/memp_std.h @@ -1,3 +1,11 @@ +/** + * @file + * lwIP internal memory pools (do not use in application code) + * This file is deliberately included multiple times: once with empty + * definition of LWIP_MEMPOOL() to handle all includes and multiple times + * to build up various lists of mem pools. + */ + /* * SETUP: Make sure we define everything we will need. * @@ -47,9 +55,9 @@ LWIP_MEMPOOL(TCP_SEG, MEMP_NUM_TCP_SEG, sizeof(struct tcp_seg), #if LWIP_IPV4 && IP_REASSEMBLY LWIP_MEMPOOL(REASSDATA, MEMP_NUM_REASSDATA, sizeof(struct ip_reassdata), "REASSDATA") #endif /* LWIP_IPV4 && IP_REASSEMBLY */ -#if (IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF) || (LWIP_IPV6 && LWIP_IPV6_FRAG) +#if (IP_FRAG && !LWIP_NETIF_TX_SINGLE_PBUF) || (LWIP_IPV6 && LWIP_IPV6_FRAG) LWIP_MEMPOOL(FRAG_PBUF, MEMP_NUM_FRAG_PBUF, sizeof(struct pbuf_custom_ref),"FRAG_PBUF") -#endif /* IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF */ +#endif /* IP_FRAG && !LWIP_NETIF_TX_SINGLE_PBUF || (LWIP_IPV6 && LWIP_IPV6_FRAG) */ #if LWIP_NETCONN || LWIP_SOCKET LWIP_MEMPOOL(NETBUF, MEMP_NUM_NETBUF, sizeof(struct netbuf), "NETBUF") @@ -83,9 +91,9 @@ LWIP_MEMPOOL(ARP_QUEUE, MEMP_NUM_ARP_QUEUE, sizeof(struct etharp_q_en LWIP_MEMPOOL(IGMP_GROUP, MEMP_NUM_IGMP_GROUP, sizeof(struct igmp_group), "IGMP_GROUP") #endif /* LWIP_IGMP */ -#if (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS)) /* LWIP_TIMERS */ +#if LWIP_TIMERS && !LWIP_TIMERS_CUSTOM LWIP_MEMPOOL(SYS_TIMEOUT, MEMP_NUM_SYS_TIMEOUT, sizeof(struct sys_timeo), "SYS_TIMEOUT") -#endif /* LWIP_TIMERS */ +#endif /* LWIP_TIMERS && !LWIP_TIMERS_CUSTOM */ #if LWIP_DNS && LWIP_SOCKET LWIP_MEMPOOL(NETDB, MEMP_NUM_NETDB, NETDB_ELEM_SIZE, "NETDB") @@ -94,19 +102,6 @@ LWIP_MEMPOOL(NETDB, MEMP_NUM_NETDB, NETDB_ELEM_SIZE, LWIP_MEMPOOL(LOCALHOSTLIST, MEMP_NUM_LOCALHOSTLIST, LOCALHOSTLIST_ELEM_SIZE, "LOCALHOSTLIST") #endif /* LWIP_DNS && DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ -#if PPP_SUPPORT -LWIP_MEMPOOL(PPP_PCB, MEMP_NUM_PPP_PCB, sizeof(ppp_pcb), "PPP_PCB") -#if PPPOS_SUPPORT -LWIP_MEMPOOL(PPPOS_PCB, MEMP_NUM_PPPOS_INTERFACES, sizeof(pppos_pcb), "PPPOS_PCB") -#endif /* PPPOS_SUPPORT */ -#if PPPOE_SUPPORT -LWIP_MEMPOOL(PPPOE_IF, MEMP_NUM_PPPOE_INTERFACES, sizeof(struct pppoe_softc), "PPPOE_IF") -#endif /* PPPOE_SUPPORT */ -#if PPPOL2TP_SUPPORT -LWIP_MEMPOOL(PPPOL2TP_PCB, MEMP_NUM_PPPOL2TP_INTERFACES, sizeof(pppol2tp_pcb), "PPPOL2TP_PCB") -#endif /* PPPOL2TP_SUPPORT */ -#endif /* PPP_SUPPORT */ - #if LWIP_IPV6 && LWIP_ND6_QUEUEING LWIP_MEMPOOL(ND6_QUEUE, MEMP_NUM_ND6_QUEUE, sizeof(struct nd6_q_entry), "ND6_QUEUE") #endif /* LWIP_IPV6 && LWIP_ND6_QUEUEING */ diff --git a/tools/sdk/include/lwip/lwip/priv/nd6_priv.h b/tools/sdk/include/lwip/lwip/priv/nd6_priv.h new file mode 100644 index 00000000..4bda0b79 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/priv/nd6_priv.h @@ -0,0 +1,144 @@ +/** + * @file + * + * Neighbor discovery and stateless address autoconfiguration for IPv6. + * Aims to be compliant with RFC 4861 (Neighbor discovery) and RFC 4862 + * (Address autoconfiguration). + */ + +/* + * Copyright (c) 2010 Inico Technologies Ltd. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Ivan Delamer + * + * + * Please coordinate changes and requests with Ivan Delamer + * + */ + +#ifndef LWIP_HDR_ND6_PRIV_H +#define LWIP_HDR_ND6_PRIV_H + +#include "lwip/opt.h" + +#if LWIP_IPV6 /* don't build if not configured for use in lwipopts.h */ + +#include "lwip/pbuf.h" +#include "lwip/ip6_addr.h" +#include "lwip/netif.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +#if LWIP_ND6_QUEUEING +/** struct for queueing outgoing packets for unknown address + * defined here to be accessed by memp.h + */ +struct nd6_q_entry { + struct nd6_q_entry *next; + struct pbuf *p; +}; +#endif /* LWIP_ND6_QUEUEING */ + +/** Struct for tables. */ +struct nd6_neighbor_cache_entry { + ip6_addr_t next_hop_address; + struct netif *netif; + u8_t lladdr[NETIF_MAX_HWADDR_LEN]; + /*u32_t pmtu;*/ +#if LWIP_ND6_QUEUEING + /** Pointer to queue of pending outgoing packets on this entry. */ + struct nd6_q_entry *q; +#else /* LWIP_ND6_QUEUEING */ + /** Pointer to a single pending outgoing packet on this entry. */ + struct pbuf *q; +#endif /* LWIP_ND6_QUEUEING */ + u8_t state; + u8_t isrouter; + union { + u32_t reachable_time; /* in ms since value may originate from network packet */ + u32_t delay_time; /* ticks (ND6_TMR_INTERVAL) */ + u32_t probes_sent; + u32_t stale_time; /* ticks (ND6_TMR_INTERVAL) */ + } counter; +}; + +struct nd6_destination_cache_entry { + ip6_addr_t destination_addr; + ip6_addr_t next_hop_addr; + u16_t pmtu; + u32_t age; +}; + +struct nd6_prefix_list_entry { + ip6_addr_t prefix; + struct netif *netif; + u32_t invalidation_timer; /* in ms since value may originate from network packet */ +#if LWIP_IPV6_AUTOCONFIG + u8_t flags; +#define ND6_PREFIX_AUTOCONFIG_AUTONOMOUS 0x01 +#define ND6_PREFIX_AUTOCONFIG_ADDRESS_GENERATED 0x02 +#define ND6_PREFIX_AUTOCONFIG_ADDRESS_DUPLICATE 0x04 +#endif /* LWIP_IPV6_AUTOCONFIG */ +}; + +struct nd6_router_list_entry { + struct nd6_neighbor_cache_entry *neighbor_entry; + u32_t invalidation_timer; /* in ms since value may originate from network packet */ + u8_t flags; +}; + +enum nd6_neighbor_cache_entry_state { + ND6_NO_ENTRY = 0, + ND6_INCOMPLETE, + ND6_REACHABLE, + ND6_STALE, + ND6_DELAY, + ND6_PROBE +}; + +/* Router tables. */ +/* @todo make these static? and entries accessible through API? */ +extern struct nd6_neighbor_cache_entry neighbor_cache[]; +extern struct nd6_destination_cache_entry destination_cache[]; +extern struct nd6_prefix_list_entry prefix_list[]; +extern struct nd6_router_list_entry default_router_list[]; + +/* Default values, can be updated by a RA message. */ +extern u32_t reachable_time; +extern u32_t retrans_timer; + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_IPV6 */ + +#endif /* LWIP_HDR_ND6_PRIV_H */ diff --git a/tools/sdk/include/lwip/lwip/priv/tcp_priv.h b/tools/sdk/include/lwip/lwip/priv/tcp_priv.h index 0c498944..73e8967e 100644 --- a/tools/sdk/include/lwip/lwip/priv/tcp_priv.h +++ b/tools/sdk/include/lwip/lwip/priv/tcp_priv.h @@ -1,3 +1,8 @@ +/** + * @file + * TCP internal implementations (do not use in application code) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -29,8 +34,8 @@ * Author: Adam Dunkels * */ -#ifndef LWIP_HDR_TCP_IMPL_H -#define LWIP_HDR_TCP_IMPL_H +#ifndef LWIP_HDR_TCP_PRIV_H +#define LWIP_HDR_TCP_PRIV_H #include "lwip/opt.h" @@ -44,6 +49,7 @@ #include "lwip/err.h" #include "lwip/ip6.h" #include "lwip/ip6_addr.h" +#include "lwip/prot/tcp.h" #ifdef __cplusplus extern "C" { @@ -92,7 +98,7 @@ err_t tcp_process_refused_data(struct tcp_pcb *pcb); ((tpcb)->flags & (TF_NODELAY | TF_INFR)) || \ (((tpcb)->unsent != NULL) && (((tpcb)->unsent->next != NULL) || \ ((tpcb)->unsent->len >= (tpcb)->mss))) || \ - ((tcp_sndbuf(tpcb) == 0) || (tcp_sndqueuelen(tpcb) >= TCP_SND_QUEUELEN(tpcb))) \ + ((tcp_sndbuf(tpcb) == 0) || (tcp_sndqueuelen(tpcb) >= TCP_SND_QUEUELEN)) \ ) ? 1 : 0) #define tcp_output_nagle(tpcb) (tcp_do_output_nagle(tpcb) ? tcp_output(tpcb) : ERR_OK) @@ -106,19 +112,6 @@ err_t tcp_process_refused_data(struct tcp_pcb *pcb); #define TCP_SEQ_BETWEEN(a,b,c) ((c)-(b) >= (a)-(b)) #endif #define TCP_SEQ_BETWEEN(a,b,c) (TCP_SEQ_GEQ(a,b) && TCP_SEQ_LEQ(a,c)) -#define TCP_FIN 0x01U -#define TCP_SYN 0x02U -#define TCP_RST 0x04U -#define TCP_PSH 0x08U -#define TCP_ACK 0x10U -#define TCP_URG 0x20U -#define TCP_ECE 0x40U -#define TCP_CWR 0x80U - -#define TCP_FLAGS 0x3fU - -/* Length of the TCP header, excluding options. */ -#define TCP_HLEN 20 #ifndef TCP_TMR_INTERVAL #define TCP_TMR_INTERVAL 250 /* The TCP timer interval in milliseconds. */ @@ -156,38 +149,6 @@ err_t tcp_process_refused_data(struct tcp_pcb *pcb); #define TCP_MAXIDLE TCP_KEEPCNT_DEFAULT * TCP_KEEPINTVL_DEFAULT /* Maximum KEEPALIVE probe time */ -/* Fields are (of course) in network byte order. - * Some fields are converted to host byte order in tcp_input(). - */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct tcp_hdr { - PACK_STRUCT_FIELD(u16_t src); - PACK_STRUCT_FIELD(u16_t dest); - PACK_STRUCT_FIELD(u32_t seqno); - PACK_STRUCT_FIELD(u32_t ackno); - PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags); - PACK_STRUCT_FIELD(u16_t wnd); - PACK_STRUCT_FIELD(u16_t chksum); - PACK_STRUCT_FIELD(u16_t urgp); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define TCPH_HDRLEN(phdr) (ntohs((phdr)->_hdrlen_rsvd_flags) >> 12) -#define TCPH_FLAGS(phdr) (ntohs((phdr)->_hdrlen_rsvd_flags) & TCP_FLAGS) - -#define TCPH_HDRLEN_SET(phdr, len) (phdr)->_hdrlen_rsvd_flags = htons(((len) << 12) | TCPH_FLAGS(phdr)) -#define TCPH_FLAGS_SET(phdr, flags) (phdr)->_hdrlen_rsvd_flags = (((phdr)->_hdrlen_rsvd_flags & PP_HTONS(~TCP_FLAGS)) | htons(flags)) -#define TCPH_HDRLEN_FLAGS_SET(phdr, len, flags) (phdr)->_hdrlen_rsvd_flags = htons(((len) << 12) | (flags)) - -#define TCPH_SET_FLAG(phdr, flags ) (phdr)->_hdrlen_rsvd_flags = ((phdr)->_hdrlen_rsvd_flags | htons(flags)) -#define TCPH_UNSET_FLAG(phdr, flags) (phdr)->_hdrlen_rsvd_flags = ((phdr)->_hdrlen_rsvd_flags & ~htons(flags)) - #define TCP_TCPLEN(seg) ((seg)->len + (((TCPH_FLAGS((seg)->tcphdr) & (TCP_FIN | TCP_SYN)) != 0) ? 1U : 0U)) /** Flags used on input processing, not on pcb->flags @@ -199,7 +160,7 @@ PACK_STRUCT_END #if LWIP_EVENT_API -#define TCP_EVENT_ACCEPT(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ +#define TCP_EVENT_ACCEPT(lpcb,pcb,arg,err,ret) ret = lwip_tcp_event(arg, (pcb),\ LWIP_EVENT_ACCEPT, NULL, 0, err) #define TCP_EVENT_SENT(pcb,space,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ LWIP_EVENT_SENT, NULL, space, ERR_OK) @@ -209,17 +170,19 @@ PACK_STRUCT_END LWIP_EVENT_RECV, NULL, 0, ERR_OK) #define TCP_EVENT_CONNECTED(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ LWIP_EVENT_CONNECTED, NULL, 0, (err)) -#define TCP_EVENT_POLL(pcb,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\ - LWIP_EVENT_POLL, NULL, 0, ERR_OK) -#define TCP_EVENT_ERR(errf,arg,err) lwip_tcp_event((arg), NULL, \ - LWIP_EVENT_ERR, NULL, 0, (err)) +#define TCP_EVENT_POLL(pcb,ret) do { if ((pcb)->state != SYN_RCVD) { \ + ret = lwip_tcp_event((pcb)->callback_arg, (pcb), LWIP_EVENT_POLL, NULL, 0, ERR_OK); \ + } else { \ + ret = ERR_ARG; } } while(0) +#define TCP_EVENT_ERR(last_state,errf,arg,err) do { if (last_state != SYN_RCVD) { \ + lwip_tcp_event((arg), NULL, LWIP_EVENT_ERR, NULL, 0, (err)); } } while(0) #else /* LWIP_EVENT_API */ -#define TCP_EVENT_ACCEPT(pcb,err,ret) \ +#define TCP_EVENT_ACCEPT(lpcb,pcb,arg,err,ret) \ do { \ - if((pcb)->accept != NULL) \ - (ret) = (pcb)->accept((pcb)->callback_arg,(pcb),(err)); \ + if((lpcb)->accept != NULL) \ + (ret) = (lpcb)->accept((arg),(pcb),(err)); \ else (ret) = ERR_ARG; \ } while (0) @@ -262,8 +225,9 @@ PACK_STRUCT_END else (ret) = ERR_OK; \ } while (0) -#define TCP_EVENT_ERR(errf,arg,err) \ +#define TCP_EVENT_ERR(last_state,errf,arg,err) \ do { \ + LWIP_UNUSED_ARG(last_state); \ if((errf) != NULL) \ (errf)((arg),(err)); \ } while (0) @@ -288,7 +252,7 @@ struct tcp_seg { #if TCP_OVERSIZE_DBGCHECK u16_t oversize_left; /* Extra bytes available at the end of the last pbuf in unsent (used for asserting vs. - tcp_pcb.unsent_oversized only) */ + tcp_pcb.unsent_oversize only) */ #endif /* TCP_OVERSIZE_DBGCHECK */ #if TCP_CHECKSUM_ON_COPY u16_t chksum; @@ -329,7 +293,7 @@ struct tcp_seg { (flags & TF_SEG_OPTS_WND_SCALE ? LWIP_TCP_OPT_LEN_WS_OUT : 0) /** This returns a TCP header option for MSS in an u32_t */ -#define TCP_BUILD_MSS_OPTION(mss) htonl(0x02040000 | ((mss) & 0xFFFF)) +#define TCP_BUILD_MSS_OPTION(mss) lwip_htonl(0x02040000 | ((mss) & 0xFFFF)) #if LWIP_WND_SCALE #define TCPWNDSIZE_F U32_F @@ -491,7 +455,7 @@ void tcp_rst(u32_t seqno, u32_t ackno, const ip_addr_t *local_ip, const ip_addr_t *remote_ip, u16_t local_port, u16_t remote_port); -u32_t tcp_next_iss(void); +u32_t tcp_next_iss(struct tcp_pcb *pcb); err_t tcp_keepalive(struct tcp_pcb *pcb); err_t tcp_zero_window_probe(struct tcp_pcb *pcb); @@ -532,9 +496,7 @@ s16_t tcp_pcbs_sane(void); * that a timer is needed (i.e. active- or time-wait-pcb found). */ void tcp_timer_needed(void); -#if LWIP_IPV4 -void tcp_netif_ipv4_addr_changed(const ip4_addr_t* old_addr, const ip4_addr_t* new_addr); -#endif /* LWIP_IPV4 */ +void tcp_netif_ip_addr_changed(const ip_addr_t* old_addr, const ip_addr_t* new_addr); #ifdef __cplusplus } @@ -542,4 +504,4 @@ void tcp_netif_ipv4_addr_changed(const ip4_addr_t* old_addr, const ip4_addr_t* n #endif /* LWIP_TCP */ -#endif /* LWIP_HDR_TCP_H */ +#endif /* LWIP_HDR_TCP_PRIV_H */ diff --git a/tools/sdk/include/lwip/lwip/priv/tcpip_priv.h b/tools/sdk/include/lwip/lwip/priv/tcpip_priv.h index cc1c54eb..630efb14 100644 --- a/tools/sdk/include/lwip/lwip/priv/tcpip_priv.h +++ b/tools/sdk/include/lwip/lwip/priv/tcpip_priv.h @@ -1,3 +1,8 @@ +/** + * @file + * TCPIP API internal implementations (do not use in application code) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -38,91 +43,79 @@ #include "lwip/tcpip.h" #include "lwip/sys.h" -#include "lwip/timers.h" +#include "lwip/timeouts.h" #ifdef __cplusplus extern "C" { #endif - + struct pbuf; struct netif; -/** Define this to something that triggers a watchdog. This is called from - * tcpip_thread after processing a message. */ -#ifndef LWIP_TCPIP_THREAD_ALIVE -#define LWIP_TCPIP_THREAD_ALIVE() -#endif - -#if LWIP_TCPIP_CORE_LOCKING -/** The global semaphore to lock the stack. */ -extern sys_mutex_t lock_tcpip_core; -#define LOCK_TCPIP_CORE() sys_mutex_lock(&lock_tcpip_core) -#define UNLOCK_TCPIP_CORE() sys_mutex_unlock(&lock_tcpip_core) -#else /* LWIP_TCPIP_CORE_LOCKING */ -#define LOCK_TCPIP_CORE() -#define UNLOCK_TCPIP_CORE() -#endif /* LWIP_TCPIP_CORE_LOCKING */ - #if LWIP_MPU_COMPATIBLE #define API_VAR_REF(name) (*(name)) #define API_VAR_DECLARE(type, name) type * name -#define API_VAR_ALLOC(type, pool, name) do { \ +#define API_VAR_ALLOC(type, pool, name, errorval) do { \ name = (type *)memp_malloc(pool); \ if (name == NULL) { \ - return ERR_MEM; \ + return errorval; \ } \ } while(0) -#define API_VAR_ALLOC_DONTFAIL(type, pool, name) do { \ - name = (type *)memp_malloc(pool); \ - LWIP_ASSERT("pool empty", name != NULL); \ +#define API_VAR_ALLOC_POOL(type, pool, name, errorval) do { \ + name = (type *)LWIP_MEMPOOL_ALLOC(pool); \ + if (name == NULL) { \ + return errorval; \ + } \ } while(0) #define API_VAR_FREE(pool, name) memp_free(pool, name) -#define API_EXPR_REF(expr) &(expr) +#define API_VAR_FREE_POOL(pool, name) LWIP_MEMPOOL_FREE(pool, name) +#define API_EXPR_REF(expr) (&(expr)) #if LWIP_NETCONN_SEM_PER_THREAD #define API_EXPR_REF_SEM(expr) (expr) #else #define API_EXPR_REF_SEM(expr) API_EXPR_REF(expr) #endif #define API_EXPR_DEREF(expr) expr +#define API_MSG_M_DEF(m) m +#define API_MSG_M_DEF_C(t, m) t m #else /* LWIP_MPU_COMPATIBLE */ #define API_VAR_REF(name) name #define API_VAR_DECLARE(type, name) type name -#define API_VAR_ALLOC(type, pool, name) -#define API_VAR_ALLOC_DONTFAIL(type, pool, name) +#define API_VAR_ALLOC(type, pool, name, errorval) +#define API_VAR_ALLOC_POOL(type, pool, name, errorval) #define API_VAR_FREE(pool, name) +#define API_VAR_FREE_POOL(pool, name) #define API_EXPR_REF(expr) expr #define API_EXPR_REF_SEM(expr) API_EXPR_REF(expr) -#define API_EXPR_DEREF(expr) *(expr) +#define API_EXPR_DEREF(expr) (*(expr)) +#define API_MSG_M_DEF(m) *m +#define API_MSG_M_DEF_C(t, m) const t * m #endif /* LWIP_MPU_COMPATIBLE */ -#if !LWIP_TCPIP_CORE_LOCKING -err_t tcpip_send_api_msg(tcpip_callback_fn fn, void *apimsg, sys_sem_t* sem); -#endif /* !LWIP_TCPIP_CORE_LOCKING */ +err_t tcpip_send_msg_wait_sem(tcpip_callback_fn fn, void *apimsg, sys_sem_t* sem); -struct tcpip_api_call; -typedef err_t (*tcpip_api_call_fn)(struct tcpip_api_call* call); -struct tcpip_api_call +struct tcpip_api_call_data { - tcpip_api_call_fn function; #if !LWIP_TCPIP_CORE_LOCKING -#if LWIP_NETCONN_SEM_PER_THREAD - sys_sem_t *sem; -#else /* LWIP_NETCONN_SEM_PER_THREAD */ + err_t err; +#if !LWIP_NETCONN_SEM_PER_THREAD sys_sem_t sem; #endif /* LWIP_NETCONN_SEM_PER_THREAD */ - err_t err; +#else /* !LWIP_TCPIP_CORE_LOCKING */ + u8_t dummy; /* avoid empty struct :-( */ #endif /* !LWIP_TCPIP_CORE_LOCKING */ }; -err_t tcpip_api_call(tcpip_api_call_fn fn, struct tcpip_api_call *call); +typedef err_t (*tcpip_api_call_fn)(struct tcpip_api_call_data* call); +err_t tcpip_api_call(tcpip_api_call_fn fn, struct tcpip_api_call_data *call); enum tcpip_msg_type { TCPIP_MSG_API, TCPIP_MSG_API_CALL, TCPIP_MSG_INPKT, -#if LWIP_TCPIP_TIMEOUT +#if LWIP_TCPIP_TIMEOUT && LWIP_TIMERS TCPIP_MSG_TIMEOUT, TCPIP_MSG_UNTIMEOUT, -#endif /* LWIP_TCPIP_TIMEOUT */ +#endif /* LWIP_TCPIP_TIMEOUT && LWIP_TIMERS */ TCPIP_MSG_CALLBACK, TCPIP_MSG_CALLBACK_STATIC }; @@ -133,8 +126,12 @@ struct tcpip_msg { struct { tcpip_callback_fn function; void* msg; - } api; - struct tcpip_api_call *api_call; + } api_msg; + struct { + tcpip_api_call_fn function; + struct tcpip_api_call_data *arg; + sys_sem_t *sem; + } api_call; struct { struct pbuf *p; struct netif *netif; @@ -144,13 +141,13 @@ struct tcpip_msg { tcpip_callback_fn function; void *ctx; } cb; -#if LWIP_TCPIP_TIMEOUT +#if LWIP_TCPIP_TIMEOUT && LWIP_TIMERS struct { u32_t msecs; sys_timeout_handler h; void *arg; } tmo; -#endif /* LWIP_TCPIP_TIMEOUT */ +#endif /* LWIP_TCPIP_TIMEOUT && LWIP_TIMERS */ } msg; }; diff --git a/tools/sdk/include/lwip/lwip/prot/autoip.h b/tools/sdk/include/lwip/lwip/prot/autoip.h new file mode 100644 index 00000000..96f93f57 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/autoip.h @@ -0,0 +1,83 @@ +/** + * @file + * AutoIP protocol definitions + */ + +/* + * + * Copyright (c) 2007 Dominik Spies + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * Author: Dominik Spies + * + * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform + * with RFC 3927. + * + */ + +#ifndef LWIP_HDR_PROT_AUTOIP_H +#define LWIP_HDR_PROT_AUTOIP_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* 169.254.0.0 */ +#define AUTOIP_NET 0xA9FE0000 +/* 169.254.1.0 */ +#define AUTOIP_RANGE_START (AUTOIP_NET | 0x0100) +/* 169.254.254.255 */ +#define AUTOIP_RANGE_END (AUTOIP_NET | 0xFEFF) + +/* RFC 3927 Constants */ +#define PROBE_WAIT 1 /* second (initial random delay) */ +#define PROBE_MIN 1 /* second (minimum delay till repeated probe) */ +#define PROBE_MAX 2 /* seconds (maximum delay till repeated probe) */ +#define PROBE_NUM 3 /* (number of probe packets) */ +#define ANNOUNCE_NUM 2 /* (number of announcement packets) */ +#define ANNOUNCE_INTERVAL 2 /* seconds (time between announcement packets) */ +#define ANNOUNCE_WAIT 2 /* seconds (delay before announcing) */ +#if ESP_LWIP +#define MAX_CONFLICTS LWIP_AUTOIP_MAX_CONFLICTS /* (max conflicts before rate limiting) */ +#define RATE_LIMIT_INTERVAL LWIP_AUTOIP_RATE_LIMIT_INTERVAL /* seconds (delay between successive attempts) */ +#else +#define MAX_CONFLICTS 10 /* (max conflicts before rate limiting) */ +#define RATE_LIMIT_INTERVAL 60 /* seconds (delay between successive attempts) */ +#endif +#define DEFEND_INTERVAL 10 /* seconds (min. wait between defensive ARPs) */ + +/* AutoIP client states */ +typedef enum { + AUTOIP_STATE_OFF = 0, + AUTOIP_STATE_PROBING = 1, + AUTOIP_STATE_ANNOUNCING = 2, + AUTOIP_STATE_BOUND = 3 +} autoip_state_enum_t; + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_AUTOIP_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/dhcp.h b/tools/sdk/include/lwip/lwip/prot/dhcp.h new file mode 100644 index 00000000..036a33a8 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/dhcp.h @@ -0,0 +1,195 @@ +/** + * @file + * DHCP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Leon Woestenberg + * Copyright (c) 2001-2004 Axon Digital Design B.V., The Netherlands. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Leon Woestenberg + * + */ +#ifndef LWIP_HDR_PROT_DHCP_H +#define LWIP_HDR_PROT_DHCP_H + +#include "lwip/opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define DHCP_CLIENT_PORT 68 +#define DHCP_SERVER_PORT 67 + + + /* DHCP message item offsets and length */ +#define DHCP_CHADDR_LEN 16U +#define DHCP_SNAME_OFS 44U +#define DHCP_SNAME_LEN 64U +#define DHCP_FILE_OFS 108U +#define DHCP_FILE_LEN 128U +#define DHCP_MSG_LEN 236U +#define DHCP_OPTIONS_OFS (DHCP_MSG_LEN + 4U) /* 4 byte: cookie */ + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** minimum set of fields of any DHCP message */ +struct dhcp_msg +{ + PACK_STRUCT_FLD_8(u8_t op); + PACK_STRUCT_FLD_8(u8_t htype); + PACK_STRUCT_FLD_8(u8_t hlen); + PACK_STRUCT_FLD_8(u8_t hops); + PACK_STRUCT_FIELD(u32_t xid); + PACK_STRUCT_FIELD(u16_t secs); + PACK_STRUCT_FIELD(u16_t flags); + PACK_STRUCT_FLD_S(ip4_addr_p_t ciaddr); + PACK_STRUCT_FLD_S(ip4_addr_p_t yiaddr); + PACK_STRUCT_FLD_S(ip4_addr_p_t siaddr); + PACK_STRUCT_FLD_S(ip4_addr_p_t giaddr); + PACK_STRUCT_FLD_8(u8_t chaddr[DHCP_CHADDR_LEN]); + PACK_STRUCT_FLD_8(u8_t sname[DHCP_SNAME_LEN]); + PACK_STRUCT_FLD_8(u8_t file[DHCP_FILE_LEN]); + PACK_STRUCT_FIELD(u32_t cookie); +#define DHCP_MIN_OPTIONS_LEN 68U +/** make sure user does not configure this too small */ +#if ((defined(DHCP_OPTIONS_LEN)) && (DHCP_OPTIONS_LEN < DHCP_MIN_OPTIONS_LEN)) +# undef DHCP_OPTIONS_LEN +#endif +/** allow this to be configured in lwipopts.h, but not too small */ +#if (!defined(DHCP_OPTIONS_LEN)) +/** set this to be sufficient for your options in outgoing DHCP msgs */ +# define DHCP_OPTIONS_LEN DHCP_MIN_OPTIONS_LEN +#endif + PACK_STRUCT_FLD_8(u8_t options[DHCP_OPTIONS_LEN]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + + +/* DHCP client states */ +typedef enum { + DHCP_STATE_OFF = 0, + DHCP_STATE_REQUESTING = 1, + DHCP_STATE_INIT = 2, + DHCP_STATE_REBOOTING = 3, + DHCP_STATE_REBINDING = 4, + DHCP_STATE_RENEWING = 5, + DHCP_STATE_SELECTING = 6, + DHCP_STATE_INFORMING = 7, + DHCP_STATE_CHECKING = 8, + DHCP_STATE_PERMANENT = 9, /* not yet implemented */ + DHCP_STATE_BOUND = 10, + DHCP_STATE_RELEASING = 11, /* not yet implemented */ + DHCP_STATE_BACKING_OFF = 12 +} dhcp_state_enum_t; + +/* DHCP op codes */ +#define DHCP_BOOTREQUEST 1 +#define DHCP_BOOTREPLY 2 + +/* DHCP message types */ +#define DHCP_DISCOVER 1 +#define DHCP_OFFER 2 +#define DHCP_REQUEST 3 +#define DHCP_DECLINE 4 +#define DHCP_ACK 5 +#define DHCP_NAK 6 +#define DHCP_RELEASE 7 +#define DHCP_INFORM 8 + +/** DHCP hardware type, currently only ethernet is supported */ +#define DHCP_HTYPE_ETH 1 + +#define DHCP_MAGIC_COOKIE 0x63825363UL + +/* This is a list of options for BOOTP and DHCP, see RFC 2132 for descriptions */ + +/* BootP options */ +#define DHCP_OPTION_PAD 0 +#define DHCP_OPTION_SUBNET_MASK 1 /* RFC 2132 3.3 */ +#define DHCP_OPTION_ROUTER 3 +#define DHCP_OPTION_DNS_SERVER 6 +#define DHCP_OPTION_HOSTNAME 12 +#define DHCP_OPTION_IP_TTL 23 +#define DHCP_OPTION_MTU 26 +#define DHCP_OPTION_BROADCAST 28 +#define DHCP_OPTION_TCP_TTL 37 +#define DHCP_OPTION_NTP 42 +#define DHCP_OPTION_END 255 + +#if ESP_LWIP +/**add options for support more router by liuHan**/ +#define DHCP_OPTION_DOMAIN_NAME 15 +#define DHCP_OPTION_PRD 31 +#define DHCP_OPTION_STATIC_ROUTER 33 +#define DHCP_OPTION_VSN 43 +#define DHCP_OPTION_NB_TINS 44 +#define DHCP_OPTION_NB_TINT 46 +#define DHCP_OPTION_NB_TIS 47 +#define DHCP_OPTION_CLASSLESS_STATIC_ROUTER 121 +#endif + +/* DHCP options */ +#define DHCP_OPTION_REQUESTED_IP 50 /* RFC 2132 9.1, requested IP address */ +#define DHCP_OPTION_LEASE_TIME 51 /* RFC 2132 9.2, time in seconds, in 4 bytes */ +#define DHCP_OPTION_OVERLOAD 52 /* RFC2132 9.3, use file and/or sname field for options */ + +#define DHCP_OPTION_MESSAGE_TYPE 53 /* RFC 2132 9.6, important for DHCP */ +#define DHCP_OPTION_MESSAGE_TYPE_LEN 1 + +#define DHCP_OPTION_SERVER_ID 54 /* RFC 2132 9.7, server IP address */ +#define DHCP_OPTION_PARAMETER_REQUEST_LIST 55 /* RFC 2132 9.8, requested option types */ + +#define DHCP_OPTION_MAX_MSG_SIZE 57 /* RFC 2132 9.10, message size accepted >= 576 */ +#define DHCP_OPTION_MAX_MSG_SIZE_LEN 2 + +#define DHCP_OPTION_T1 58 /* T1 renewal time */ +#define DHCP_OPTION_T2 59 /* T2 rebinding time */ +#define DHCP_OPTION_US 60 +#define DHCP_OPTION_CLIENT_ID 61 +#define DHCP_OPTION_TFTP_SERVERNAME 66 +#define DHCP_OPTION_BOOTFILE 67 + +/* possible combinations of overloading the file and sname fields with options */ +#define DHCP_OVERLOAD_NONE 0 +#define DHCP_OVERLOAD_FILE 1 +#define DHCP_OVERLOAD_SNAME 2 +#define DHCP_OVERLOAD_SNAME_FILE 3 + + +#ifdef __cplusplus +} +#endif + +#endif /*LWIP_HDR_PROT_DHCP_H*/ diff --git a/tools/sdk/include/lwip/lwip/prot/dns.h b/tools/sdk/include/lwip/lwip/prot/dns.h new file mode 100644 index 00000000..94782d6e --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/dns.h @@ -0,0 +1,140 @@ +/** + * @file + * DNS - host name to IP address resolver. + */ + +/* + * Port to lwIP from uIP + * by Jim Pettinato April 2007 + * + * security fixes and more by Simon Goldschmidt + * + * uIP version Copyright (c) 2002-2003, Adam Dunkels. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef LWIP_HDR_PROT_DNS_H +#define LWIP_HDR_PROT_DNS_H + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** DNS server port address */ +#ifndef DNS_SERVER_PORT +#define DNS_SERVER_PORT 53 +#endif + +/* DNS field TYPE used for "Resource Records" */ +#define DNS_RRTYPE_A 1 /* a host address */ +#define DNS_RRTYPE_NS 2 /* an authoritative name server */ +#define DNS_RRTYPE_MD 3 /* a mail destination (Obsolete - use MX) */ +#define DNS_RRTYPE_MF 4 /* a mail forwarder (Obsolete - use MX) */ +#define DNS_RRTYPE_CNAME 5 /* the canonical name for an alias */ +#define DNS_RRTYPE_SOA 6 /* marks the start of a zone of authority */ +#define DNS_RRTYPE_MB 7 /* a mailbox domain name (EXPERIMENTAL) */ +#define DNS_RRTYPE_MG 8 /* a mail group member (EXPERIMENTAL) */ +#define DNS_RRTYPE_MR 9 /* a mail rename domain name (EXPERIMENTAL) */ +#define DNS_RRTYPE_NULL 10 /* a null RR (EXPERIMENTAL) */ +#define DNS_RRTYPE_WKS 11 /* a well known service description */ +#define DNS_RRTYPE_PTR 12 /* a domain name pointer */ +#define DNS_RRTYPE_HINFO 13 /* host information */ +#define DNS_RRTYPE_MINFO 14 /* mailbox or mail list information */ +#define DNS_RRTYPE_MX 15 /* mail exchange */ +#define DNS_RRTYPE_TXT 16 /* text strings */ +#define DNS_RRTYPE_AAAA 28 /* IPv6 address */ +#define DNS_RRTYPE_SRV 33 /* service location */ +#define DNS_RRTYPE_ANY 255 /* any type */ + +/* DNS field CLASS used for "Resource Records" */ +#define DNS_RRCLASS_IN 1 /* the Internet */ +#define DNS_RRCLASS_CS 2 /* the CSNET class (Obsolete - used only for examples in some obsolete RFCs) */ +#define DNS_RRCLASS_CH 3 /* the CHAOS class */ +#define DNS_RRCLASS_HS 4 /* Hesiod [Dyer 87] */ +#define DNS_RRCLASS_ANY 255 /* any class */ +#define DNS_RRCLASS_FLUSH 0x800 /* Flush bit */ + +/* DNS protocol flags */ +#define DNS_FLAG1_RESPONSE 0x80 +#define DNS_FLAG1_OPCODE_STATUS 0x10 +#define DNS_FLAG1_OPCODE_INVERSE 0x08 +#define DNS_FLAG1_OPCODE_STANDARD 0x00 +#define DNS_FLAG1_AUTHORATIVE 0x04 +#define DNS_FLAG1_TRUNC 0x02 +#define DNS_FLAG1_RD 0x01 +#define DNS_FLAG2_RA 0x80 +#define DNS_FLAG2_ERR_MASK 0x0f +#define DNS_FLAG2_ERR_NONE 0x00 +#define DNS_FLAG2_ERR_NAME 0x03 + +#define DNS_HDR_GET_OPCODE(hdr) ((((hdr)->flags1) >> 3) & 0xF) + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** DNS message header */ +struct dns_hdr { + PACK_STRUCT_FIELD(u16_t id); + PACK_STRUCT_FLD_8(u8_t flags1); + PACK_STRUCT_FLD_8(u8_t flags2); + PACK_STRUCT_FIELD(u16_t numquestions); + PACK_STRUCT_FIELD(u16_t numanswers); + PACK_STRUCT_FIELD(u16_t numauthrr); + PACK_STRUCT_FIELD(u16_t numextrarr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif +#define SIZEOF_DNS_HDR 12 + + +/* Multicast DNS definitions */ + +/** UDP port for multicast DNS queries */ +#ifndef DNS_MQUERY_PORT +#define DNS_MQUERY_PORT 5353 +#endif + +/* IPv4 group for multicast DNS queries: 224.0.0.251 */ +#ifndef DNS_MQUERY_IPV4_GROUP_INIT +#define DNS_MQUERY_IPV4_GROUP_INIT IPADDR4_INIT_BYTES(224,0,0,251) +#endif + +/* IPv6 group for multicast DNS queries: FF02::FB */ +#ifndef DNS_MQUERY_IPV6_GROUP_INIT +#define DNS_MQUERY_IPV6_GROUP_INIT IPADDR6_INIT_HOST(0xFF020000,0,0,0xFB) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_DNS_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/etharp.h b/tools/sdk/include/lwip/lwip/prot/etharp.h new file mode 100644 index 00000000..ec78305b --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/etharp.h @@ -0,0 +1,91 @@ +/** + * @file + * ARP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_ETHARP_H +#define LWIP_HDR_PROT_ETHARP_H + +#include "lwip/arch.h" +#include "lwip/prot/ethernet.h" +#include "lwip/ip4_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ETHARP_HWADDR_LEN +#define ETHARP_HWADDR_LEN ETH_HWADDR_LEN +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** the ARP message, see RFC 826 ("Packet format") */ +struct etharp_hdr { + PACK_STRUCT_FIELD(u16_t hwtype); + PACK_STRUCT_FIELD(u16_t proto); + PACK_STRUCT_FLD_8(u8_t hwlen); + PACK_STRUCT_FLD_8(u8_t protolen); + PACK_STRUCT_FIELD(u16_t opcode); + PACK_STRUCT_FLD_S(struct eth_addr shwaddr); + PACK_STRUCT_FLD_S(struct ip4_addr2 sipaddr); + PACK_STRUCT_FLD_S(struct eth_addr dhwaddr); + PACK_STRUCT_FLD_S(struct ip4_addr2 dipaddr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define SIZEOF_ETHARP_HDR 28 + +/* ARP hwtype values */ +enum etharp_hwtype { + HWTYPE_ETHERNET = 1 + /* others not used */ +}; + +/* ARP message types (opcodes) */ +enum etharp_opcode { + ARP_REQUEST = 1, + ARP_REPLY = 2 +}; + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_ETHARP_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/ethernet.h b/tools/sdk/include/lwip/lwip/prot/ethernet.h new file mode 100644 index 00000000..e4baa29d --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/ethernet.h @@ -0,0 +1,170 @@ +/** + * @file + * Ethernet protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_ETHERNET_H +#define LWIP_HDR_PROT_ETHERNET_H + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ETH_HWADDR_LEN +#ifdef ETHARP_HWADDR_LEN +#define ETH_HWADDR_LEN ETHARP_HWADDR_LEN /* compatibility mode */ +#else +#define ETH_HWADDR_LEN 6 +#endif +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct eth_addr { + PACK_STRUCT_FLD_8(u8_t addr[ETH_HWADDR_LEN]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** Ethernet header */ +struct eth_hdr { +#if ETH_PAD_SIZE + PACK_STRUCT_FLD_8(u8_t padding[ETH_PAD_SIZE]); +#endif + PACK_STRUCT_FLD_S(struct eth_addr dest); + PACK_STRUCT_FLD_S(struct eth_addr src); + PACK_STRUCT_FIELD(u16_t type); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define SIZEOF_ETH_HDR (14 + ETH_PAD_SIZE) + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/** VLAN header inserted between ethernet header and payload + * if 'type' in ethernet header is ETHTYPE_VLAN. + * See IEEE802.Q */ +struct eth_vlan_hdr { + PACK_STRUCT_FIELD(u16_t prio_vid); + PACK_STRUCT_FIELD(u16_t tpid); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define SIZEOF_VLAN_HDR 4 +#define VLAN_ID(vlan_hdr) (lwip_htons((vlan_hdr)->prio_vid) & 0xFFF) + +/** + * @ingroup ethernet + * A list of often ethtypes (although lwIP does not use all of them): */ +enum eth_type { + /** Internet protocol v4 */ + ETHTYPE_IP = 0x0800U, + /** Address resolution protocol */ + ETHTYPE_ARP = 0x0806U, + /** Wake on lan */ + ETHTYPE_WOL = 0x0842U, + /** RARP */ + ETHTYPE_RARP = 0x8035U, + /** Virtual local area network */ + ETHTYPE_VLAN = 0x8100U, + /** Internet protocol v6 */ + ETHTYPE_IPV6 = 0x86DDU, + /** PPP Over Ethernet Discovery Stage */ + ETHTYPE_PPPOEDISC = 0x8863U, + /** PPP Over Ethernet Session Stage */ + ETHTYPE_PPPOE = 0x8864U, + /** Jumbo Frames */ + ETHTYPE_JUMBO = 0x8870U, + /** Process field network */ + ETHTYPE_PROFINET = 0x8892U, + /** Ethernet for control automation technology */ + ETHTYPE_ETHERCAT = 0x88A4U, + /** Link layer discovery protocol */ + ETHTYPE_LLDP = 0x88CCU, + /** Serial real-time communication system */ + ETHTYPE_SERCOS = 0x88CDU, + /** Media redundancy protocol */ + ETHTYPE_MRP = 0x88E3U, + /** Precision time protocol */ + ETHTYPE_PTP = 0x88F7U, + /** Q-in-Q, 802.1ad */ + ETHTYPE_QINQ = 0x9100U +}; + +/** The 24-bit IANA IPv4-multicast OUI is 01-00-5e: */ +#define LL_IP4_MULTICAST_ADDR_0 0x01 +#define LL_IP4_MULTICAST_ADDR_1 0x00 +#define LL_IP4_MULTICAST_ADDR_2 0x5e + +/** IPv6 multicast uses this prefix */ +#define LL_IP6_MULTICAST_ADDR_0 0x33 +#define LL_IP6_MULTICAST_ADDR_1 0x33 + +/** MEMCPY-like macro to copy to/from struct eth_addr's that are local variables + * or known to be 32-bit aligned within the protocol header. */ +#ifndef ETHADDR32_COPY +#define ETHADDR32_COPY(dst, src) SMEMCPY(dst, src, ETH_HWADDR_LEN) +#endif + +/** MEMCPY-like macro to copy to/from struct eth_addr's that are no local + * variables and known to be 16-bit aligned within the protocol header. */ +#ifndef ETHADDR16_COPY +#define ETHADDR16_COPY(dst, src) SMEMCPY(dst, src, ETH_HWADDR_LEN) +#endif + +#define eth_addr_cmp(addr1, addr2) (memcmp((addr1)->addr, (addr2)->addr, ETH_HWADDR_LEN) == 0) + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_ETHERNET_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/icmp.h b/tools/sdk/include/lwip/lwip/prot/icmp.h new file mode 100644 index 00000000..7d19385c --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/icmp.h @@ -0,0 +1,91 @@ +/** + * @file + * ICMP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_ICMP_H +#define LWIP_HDR_PROT_ICMP_H + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ICMP_ER 0 /* echo reply */ +#define ICMP_DUR 3 /* destination unreachable */ +#define ICMP_SQ 4 /* source quench */ +#define ICMP_RD 5 /* redirect */ +#define ICMP_ECHO 8 /* echo */ +#define ICMP_TE 11 /* time exceeded */ +#define ICMP_PP 12 /* parameter problem */ +#define ICMP_TS 13 /* timestamp */ +#define ICMP_TSR 14 /* timestamp reply */ +#define ICMP_IRQ 15 /* information request */ +#define ICMP_IR 16 /* information reply */ +#define ICMP_AM 17 /* address mask request */ +#define ICMP_AMR 18 /* address mask reply */ + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +/** This is the standard ICMP header only that the u32_t data + * is split to two u16_t like ICMP echo needs it. + * This header is also used for other ICMP types that do not + * use the data part. + */ +PACK_STRUCT_BEGIN +struct icmp_echo_hdr { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u16_t id); + PACK_STRUCT_FIELD(u16_t seqno); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* Compatibility defines, old versions used to combine type and code to an u16_t */ +#define ICMPH_TYPE(hdr) ((hdr)->type) +#define ICMPH_CODE(hdr) ((hdr)->code) +#define ICMPH_TYPE_SET(hdr, t) ((hdr)->type = (t)) +#define ICMPH_CODE_SET(hdr, c) ((hdr)->code = (c)) + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_ICMP_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/icmp6.h b/tools/sdk/include/lwip/lwip/prot/icmp6.h new file mode 100644 index 00000000..34611204 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/icmp6.h @@ -0,0 +1,170 @@ +/** + * @file + * ICMP6 protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_ICMP6_H +#define LWIP_HDR_PROT_ICMP6_H + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** ICMP type */ +enum icmp6_type { + /** Destination unreachable */ + ICMP6_TYPE_DUR = 1, + /** Packet too big */ + ICMP6_TYPE_PTB = 2, + /** Time exceeded */ + ICMP6_TYPE_TE = 3, + /** Parameter problem */ + ICMP6_TYPE_PP = 4, + /** Private experimentation */ + ICMP6_TYPE_PE1 = 100, + /** Private experimentation */ + ICMP6_TYPE_PE2 = 101, + /** Reserved for expansion of error messages */ + ICMP6_TYPE_RSV_ERR = 127, + + /** Echo request */ + ICMP6_TYPE_EREQ = 128, + /** Echo reply */ + ICMP6_TYPE_EREP = 129, + /** Multicast listener query */ + ICMP6_TYPE_MLQ = 130, + /** Multicast listener report */ + ICMP6_TYPE_MLR = 131, + /** Multicast listener done */ + ICMP6_TYPE_MLD = 132, + /** Router solicitation */ + ICMP6_TYPE_RS = 133, + /** Router advertisement */ + ICMP6_TYPE_RA = 134, + /** Neighbor solicitation */ + ICMP6_TYPE_NS = 135, + /** Neighbor advertisement */ + ICMP6_TYPE_NA = 136, + /** Redirect */ + ICMP6_TYPE_RD = 137, + /** Multicast router advertisement */ + ICMP6_TYPE_MRA = 151, + /** Multicast router solicitation */ + ICMP6_TYPE_MRS = 152, + /** Multicast router termination */ + ICMP6_TYPE_MRT = 153, + /** Private experimentation */ + ICMP6_TYPE_PE3 = 200, + /** Private experimentation */ + ICMP6_TYPE_PE4 = 201, + /** Reserved for expansion of informational messages */ + ICMP6_TYPE_RSV_INF = 255 +}; + +/** ICMP destination unreachable codes */ +enum icmp6_dur_code { + /** No route to destination */ + ICMP6_DUR_NO_ROUTE = 0, + /** Communication with destination administratively prohibited */ + ICMP6_DUR_PROHIBITED = 1, + /** Beyond scope of source address */ + ICMP6_DUR_SCOPE = 2, + /** Address unreachable */ + ICMP6_DUR_ADDRESS = 3, + /** Port unreachable */ + ICMP6_DUR_PORT = 4, + /** Source address failed ingress/egress policy */ + ICMP6_DUR_POLICY = 5, + /** Reject route to destination */ + ICMP6_DUR_REJECT_ROUTE = 6 +}; + +/** ICMP time exceeded codes */ +enum icmp6_te_code { + /** Hop limit exceeded in transit */ + ICMP6_TE_HL = 0, + /** Fragment reassembly time exceeded */ + ICMP6_TE_FRAG = 1 +}; + +/** ICMP parameter code */ +enum icmp6_pp_code { + /** Erroneous header field encountered */ + ICMP6_PP_FIELD = 0, + /** Unrecognized next header type encountered */ + ICMP6_PP_HEADER = 1, + /** Unrecognized IPv6 option encountered */ + ICMP6_PP_OPTION = 2 +}; + +/** This is the standard ICMP6 header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct icmp6_hdr { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u32_t data); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** This is the ICMP6 header adapted for echo req/resp. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct icmp6_echo_hdr { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u16_t id); + PACK_STRUCT_FIELD(u16_t seqno); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_ICMP6_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/igmp.h b/tools/sdk/include/lwip/lwip/prot/igmp.h new file mode 100644 index 00000000..d60cb31e --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/igmp.h @@ -0,0 +1,90 @@ +/** + * @file + * IGMP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_IGMP_H +#define LWIP_HDR_PROT_IGMP_H + +#include "lwip/arch.h" +#include "lwip/ip4_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * IGMP constants + */ +#define IGMP_TTL 1 +#define IGMP_MINLEN 8 +#define ROUTER_ALERT 0x9404U +#define ROUTER_ALERTLEN 4 + +/* + * IGMP message types, including version number. + */ +#define IGMP_MEMB_QUERY 0x11 /* Membership query */ +#define IGMP_V1_MEMB_REPORT 0x12 /* Ver. 1 membership report */ +#define IGMP_V2_MEMB_REPORT 0x16 /* Ver. 2 membership report */ +#define IGMP_LEAVE_GROUP 0x17 /* Leave-group message */ + +/* Group membership states */ +#define IGMP_GROUP_NON_MEMBER 0 +#define IGMP_GROUP_DELAYING_MEMBER 1 +#define IGMP_GROUP_IDLE_MEMBER 2 + +/** + * IGMP packet format. + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct igmp_msg { + PACK_STRUCT_FLD_8(u8_t igmp_msgtype); + PACK_STRUCT_FLD_8(u8_t igmp_maxresp); + PACK_STRUCT_FIELD(u16_t igmp_checksum); + PACK_STRUCT_FLD_S(ip4_addr_p_t igmp_group_address); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_IGMP_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/ip.h b/tools/sdk/include/lwip/lwip/prot/ip.h new file mode 100644 index 00000000..bbfae367 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/ip.h @@ -0,0 +1,51 @@ +/** + * @file + * IP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_IP_H +#define LWIP_HDR_PROT_IP_H + +#include "lwip/arch.h" + +#define IP_PROTO_ICMP 1 +#define IP_PROTO_IGMP 2 +#define IP_PROTO_UDP 17 +#define IP_PROTO_UDPLITE 136 +#define IP_PROTO_TCP 6 + +/** This operates on a void* by loading the first byte */ +#define IP_HDR_GET_VERSION(ptr) ((*(u8_t*)(ptr)) >> 4) + +#endif /* LWIP_HDR_PROT_IP_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/ip4.h b/tools/sdk/include/lwip/lwip/prot/ip4.h new file mode 100644 index 00000000..bd442c68 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/ip4.h @@ -0,0 +1,127 @@ +/** + * @file + * IPv4 protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_IP4_H +#define LWIP_HDR_PROT_IP4_H + +#include "lwip/arch.h" +#include "lwip/ip4_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** This is the packed version of ip4_addr_t, + used in network headers that are itself packed */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip4_addr_packed { + PACK_STRUCT_FIELD(u32_t addr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +typedef struct ip4_addr_packed ip4_addr_p_t; + +/* Size of the IPv4 header. Same as 'sizeof(struct ip_hdr)'. */ +#define IP_HLEN 20 + +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +/* The IPv4 header */ +struct ip_hdr { + /* version / header length */ + PACK_STRUCT_FLD_8(u8_t _v_hl); + /* type of service */ + PACK_STRUCT_FLD_8(u8_t _tos); + /* total length */ + PACK_STRUCT_FIELD(u16_t _len); + /* identification */ + PACK_STRUCT_FIELD(u16_t _id); + /* fragment offset field */ + PACK_STRUCT_FIELD(u16_t _offset); +#define IP_RF 0x8000U /* reserved fragment flag */ +#define IP_DF 0x4000U /* don't fragment flag */ +#define IP_MF 0x2000U /* more fragments flag */ +#define IP_OFFMASK 0x1fffU /* mask for fragmenting bits */ + /* time to live */ + PACK_STRUCT_FLD_8(u8_t _ttl); + /* protocol*/ + PACK_STRUCT_FLD_8(u8_t _proto); + /* checksum */ + PACK_STRUCT_FIELD(u16_t _chksum); + /* source and destination IP addresses */ + PACK_STRUCT_FLD_S(ip4_addr_p_t src); + PACK_STRUCT_FLD_S(ip4_addr_p_t dest); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* Macros to get struct ip_hdr fields: */ +#define IPH_V(hdr) ((hdr)->_v_hl >> 4) +#define IPH_HL(hdr) ((hdr)->_v_hl & 0x0f) +#define IPH_TOS(hdr) ((hdr)->_tos) +#define IPH_LEN(hdr) ((hdr)->_len) +#define IPH_ID(hdr) ((hdr)->_id) +#define IPH_OFFSET(hdr) ((hdr)->_offset) +#define IPH_TTL(hdr) ((hdr)->_ttl) +#define IPH_PROTO(hdr) ((hdr)->_proto) +#define IPH_CHKSUM(hdr) ((hdr)->_chksum) + +/* Macros to set struct ip_hdr fields: */ +#define IPH_VHL_SET(hdr, v, hl) (hdr)->_v_hl = (u8_t)((((v) << 4) | (hl))) +#define IPH_TOS_SET(hdr, tos) (hdr)->_tos = (tos) +#define IPH_LEN_SET(hdr, len) (hdr)->_len = (len) +#define IPH_ID_SET(hdr, id) (hdr)->_id = (id) +#define IPH_OFFSET_SET(hdr, off) (hdr)->_offset = (off) +#define IPH_TTL_SET(hdr, ttl) (hdr)->_ttl = (u8_t)(ttl) +#define IPH_PROTO_SET(hdr, proto) (hdr)->_proto = (u8_t)(proto) +#define IPH_CHKSUM_SET(hdr, chksum) (hdr)->_chksum = (chksum) + + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_IP4_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/ip6.h b/tools/sdk/include/lwip/lwip/prot/ip6.h new file mode 100644 index 00000000..6e1e2632 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/ip6.h @@ -0,0 +1,169 @@ +/** + * @file + * IPv6 protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_IP6_H +#define LWIP_HDR_PROT_IP6_H + +#include "lwip/arch.h" +#include "lwip/ip6_addr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** This is the packed version of ip6_addr_t, + used in network headers that are itself packed */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip6_addr_packed { + PACK_STRUCT_FIELD(u32_t addr[4]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif +typedef struct ip6_addr_packed ip6_addr_p_t; + +#define IP6_HLEN 40 + +#define IP6_NEXTH_HOPBYHOP 0 +#define IP6_NEXTH_TCP 6 +#define IP6_NEXTH_UDP 17 +#define IP6_NEXTH_ENCAPS 41 +#define IP6_NEXTH_ROUTING 43 +#define IP6_NEXTH_FRAGMENT 44 +#define IP6_NEXTH_ICMP6 58 +#define IP6_NEXTH_NONE 59 +#define IP6_NEXTH_DESTOPTS 60 +#define IP6_NEXTH_UDPLITE 136 + +/** The IPv6 header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip6_hdr { + /** version / traffic class / flow label */ + PACK_STRUCT_FIELD(u32_t _v_tc_fl); + /** payload length */ + PACK_STRUCT_FIELD(u16_t _plen); + /** next header */ + PACK_STRUCT_FLD_8(u8_t _nexth); + /** hop limit */ + PACK_STRUCT_FLD_8(u8_t _hoplim); + /** source and destination IP addresses */ + PACK_STRUCT_FLD_S(ip6_addr_p_t src); + PACK_STRUCT_FLD_S(ip6_addr_p_t dest); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* Hop-by-hop router alert option. */ +#define IP6_HBH_HLEN 8 +#define IP6_PAD1_OPTION 0 +#define IP6_PADN_ALERT_OPTION 1 +#define IP6_ROUTER_ALERT_OPTION 5 +#define IP6_ROUTER_ALERT_VALUE_MLD 0 +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip6_hbh_hdr { + /* next header */ + PACK_STRUCT_FLD_8(u8_t _nexth); + /* header length */ + PACK_STRUCT_FLD_8(u8_t _hlen); + /* router alert option type */ + PACK_STRUCT_FLD_8(u8_t _ra_opt_type); + /* router alert option data len */ + PACK_STRUCT_FLD_8(u8_t _ra_opt_dlen); + /* router alert option data */ + PACK_STRUCT_FIELD(u16_t _ra_opt_data); + /* PadN option type */ + PACK_STRUCT_FLD_8(u8_t _padn_opt_type); + /* PadN option data len */ + PACK_STRUCT_FLD_8(u8_t _padn_opt_dlen); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* Fragment header. */ +#define IP6_FRAG_HLEN 8 +#define IP6_FRAG_OFFSET_MASK 0xfff8 +#define IP6_FRAG_MORE_FLAG 0x0001 +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip6_frag_hdr { + /* next header */ + PACK_STRUCT_FLD_8(u8_t _nexth); + /* reserved */ + PACK_STRUCT_FLD_8(u8_t reserved); + /* fragment offset */ + PACK_STRUCT_FIELD(u16_t _fragment_offset); + /* fragmented packet identification */ + PACK_STRUCT_FIELD(u32_t _identification); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#define IP6H_V(hdr) ((lwip_ntohl((hdr)->_v_tc_fl) >> 28) & 0x0f) +#define IP6H_TC(hdr) ((lwip_ntohl((hdr)->_v_tc_fl) >> 20) & 0xff) +#define IP6H_FL(hdr) (lwip_ntohl((hdr)->_v_tc_fl) & 0x000fffff) +#define IP6H_PLEN(hdr) (lwip_ntohs((hdr)->_plen)) +#define IP6H_NEXTH(hdr) ((hdr)->_nexth) +#define IP6H_NEXTH_P(hdr) ((u8_t *)(hdr) + 6) +#define IP6H_HOPLIM(hdr) ((hdr)->_hoplim) + +#define IP6H_VTCFL_SET(hdr, v, tc, fl) (hdr)->_v_tc_fl = (lwip_htonl((((u32_t)(v)) << 28) | (((u32_t)(tc)) << 20) | (fl))) +#define IP6H_PLEN_SET(hdr, plen) (hdr)->_plen = lwip_htons(plen) +#define IP6H_NEXTH_SET(hdr, nexth) (hdr)->_nexth = (nexth) +#define IP6H_HOPLIM_SET(hdr, hl) (hdr)->_hoplim = (u8_t)(hl) + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_IP6_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/mld6.h b/tools/sdk/include/lwip/lwip/prot/mld6.h new file mode 100644 index 00000000..be3a006a --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/mld6.h @@ -0,0 +1,70 @@ +/** + * @file + * MLD6 protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_MLD6_H +#define LWIP_HDR_PROT_MLD6_H + +#include "lwip/arch.h" +#include "lwip/prot/ip6.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Multicast listener report/query/done message header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct mld_header { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u16_t max_resp_delay); + PACK_STRUCT_FIELD(u16_t reserved); + PACK_STRUCT_FLD_S(ip6_addr_p_t multicast_address); + /* Options follow. */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_MLD6_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/nd6.h b/tools/sdk/include/lwip/lwip/prot/nd6.h new file mode 100644 index 00000000..2d4903d1 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/nd6.h @@ -0,0 +1,277 @@ +/** + * @file + * ND6 protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_ND6_H +#define LWIP_HDR_PROT_ND6_H + +#include "lwip/arch.h" +#include "lwip/ip6_addr.h" +#include "lwip/prot/ip6.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Neighbor solicitation message header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ns_header { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u32_t reserved); + PACK_STRUCT_FLD_S(ip6_addr_p_t target_address); + /* Options follow. */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Neighbor advertisement message header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct na_header { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FLD_8(u8_t flags); + PACK_STRUCT_FLD_8(u8_t reserved[3]); + PACK_STRUCT_FLD_S(ip6_addr_p_t target_address); + /* Options follow. */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif +#define ND6_FLAG_ROUTER (0x80) +#define ND6_FLAG_SOLICITED (0x40) +#define ND6_FLAG_OVERRIDE (0x20) + +/** Router solicitation message header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct rs_header { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u32_t reserved); + /* Options follow. */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Router advertisement message header. */ +#define ND6_RA_FLAG_MANAGED_ADDR_CONFIG (0x80) +#define ND6_RA_FLAG_OTHER_CONFIG (0x40) +#define ND6_RA_FLAG_HOME_AGENT (0x20) +#define ND6_RA_PREFERENCE_MASK (0x18) +#define ND6_RA_PREFERENCE_HIGH (0x08) +#define ND6_RA_PREFERENCE_MEDIUM (0x00) +#define ND6_RA_PREFERENCE_LOW (0x18) +#define ND6_RA_PREFERENCE_DISABLED (0x10) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ra_header { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FLD_8(u8_t current_hop_limit); + PACK_STRUCT_FLD_8(u8_t flags); + PACK_STRUCT_FIELD(u16_t router_lifetime); + PACK_STRUCT_FIELD(u32_t reachable_time); + PACK_STRUCT_FIELD(u32_t retrans_timer); + /* Options follow. */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Redirect message header. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct redirect_header { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t code); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u32_t reserved); + PACK_STRUCT_FLD_S(ip6_addr_p_t target_address); + PACK_STRUCT_FLD_S(ip6_addr_p_t destination_address); + /* Options follow. */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Link-layer address option. */ +#define ND6_OPTION_TYPE_SOURCE_LLADDR (0x01) +#define ND6_OPTION_TYPE_TARGET_LLADDR (0x02) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct lladdr_option { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t length); + PACK_STRUCT_FLD_8(u8_t addr[NETIF_MAX_HWADDR_LEN]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Prefix information option. */ +#define ND6_OPTION_TYPE_PREFIX_INFO (0x03) +#define ND6_PREFIX_FLAG_ON_LINK (0x80) +#define ND6_PREFIX_FLAG_AUTONOMOUS (0x40) +#define ND6_PREFIX_FLAG_ROUTER_ADDRESS (0x20) +#define ND6_PREFIX_FLAG_SITE_PREFIX (0x10) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct prefix_option { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t length); + PACK_STRUCT_FLD_8(u8_t prefix_length); + PACK_STRUCT_FLD_8(u8_t flags); + PACK_STRUCT_FIELD(u32_t valid_lifetime); + PACK_STRUCT_FIELD(u32_t preferred_lifetime); + PACK_STRUCT_FLD_8(u8_t reserved2[3]); + PACK_STRUCT_FLD_8(u8_t site_prefix_length); + PACK_STRUCT_FLD_S(ip6_addr_p_t prefix); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Redirected header option. */ +#define ND6_OPTION_TYPE_REDIR_HDR (0x04) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct redirected_header_option { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t length); + PACK_STRUCT_FLD_8(u8_t reserved[6]); + /* Portion of redirected packet follows. */ + /* PACK_STRUCT_FLD_8(u8_t redirected[8]); */ +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** MTU option. */ +#define ND6_OPTION_TYPE_MTU (0x05) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct mtu_option { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t length); + PACK_STRUCT_FIELD(u16_t reserved); + PACK_STRUCT_FIELD(u32_t mtu); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Route information option. */ +#define ND6_OPTION_TYPE_ROUTE_INFO (24) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct route_option { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t length); + PACK_STRUCT_FLD_8(u8_t prefix_length); + PACK_STRUCT_FLD_8(u8_t preference); + PACK_STRUCT_FIELD(u32_t route_lifetime); + PACK_STRUCT_FLD_S(ip6_addr_p_t prefix); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** Recursive DNS Server Option. */ +#if LWIP_ND6_RDNSS_MAX_DNS_SERVERS +#define LWIP_RDNSS_OPTION_MAX_SERVERS LWIP_ND6_RDNSS_MAX_DNS_SERVERS +#else +#define LWIP_RDNSS_OPTION_MAX_SERVERS 1 +#endif +#define ND6_OPTION_TYPE_RDNSS (25) +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct rdnss_option { + PACK_STRUCT_FLD_8(u8_t type); + PACK_STRUCT_FLD_8(u8_t length); + PACK_STRUCT_FIELD(u16_t reserved); + PACK_STRUCT_FIELD(u32_t lifetime); + PACK_STRUCT_FLD_S(ip6_addr_p_t rdnss_address[LWIP_RDNSS_OPTION_MAX_SERVERS]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_ND6_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/tcp.h b/tools/sdk/include/lwip/lwip/prot/tcp.h new file mode 100644 index 00000000..67fe7b9e --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/tcp.h @@ -0,0 +1,97 @@ +/** + * @file + * TCP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_TCP_H +#define LWIP_HDR_PROT_TCP_H + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Length of the TCP header, excluding options. */ +#define TCP_HLEN 20 + +/* Fields are (of course) in network byte order. + * Some fields are converted to host byte order in tcp_input(). + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct tcp_hdr { + PACK_STRUCT_FIELD(u16_t src); + PACK_STRUCT_FIELD(u16_t dest); + PACK_STRUCT_FIELD(u32_t seqno); + PACK_STRUCT_FIELD(u32_t ackno); + PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags); + PACK_STRUCT_FIELD(u16_t wnd); + PACK_STRUCT_FIELD(u16_t chksum); + PACK_STRUCT_FIELD(u16_t urgp); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* TCP header flags bits */ +#define TCP_FIN 0x01U +#define TCP_SYN 0x02U +#define TCP_RST 0x04U +#define TCP_PSH 0x08U +#define TCP_ACK 0x10U +#define TCP_URG 0x20U +#define TCP_ECE 0x40U +#define TCP_CWR 0x80U +/* Valid TCP header flags */ +#define TCP_FLAGS 0x3fU + +#define TCPH_HDRLEN(phdr) ((u16_t)(lwip_ntohs((phdr)->_hdrlen_rsvd_flags) >> 12)) +#define TCPH_FLAGS(phdr) ((u16_t)(lwip_ntohs((phdr)->_hdrlen_rsvd_flags) & TCP_FLAGS)) + +#define TCPH_HDRLEN_SET(phdr, len) (phdr)->_hdrlen_rsvd_flags = lwip_htons(((len) << 12) | TCPH_FLAGS(phdr)) +#define TCPH_FLAGS_SET(phdr, flags) (phdr)->_hdrlen_rsvd_flags = (((phdr)->_hdrlen_rsvd_flags & PP_HTONS(~TCP_FLAGS)) | lwip_htons(flags)) +#define TCPH_HDRLEN_FLAGS_SET(phdr, len, flags) (phdr)->_hdrlen_rsvd_flags = (u16_t)(lwip_htons((u16_t)((len) << 12) | (flags))) + +#define TCPH_SET_FLAG(phdr, flags ) (phdr)->_hdrlen_rsvd_flags = ((phdr)->_hdrlen_rsvd_flags | lwip_htons(flags)) +#define TCPH_UNSET_FLAG(phdr, flags) (phdr)->_hdrlen_rsvd_flags = ((phdr)->_hdrlen_rsvd_flags & ~lwip_htons(flags)) + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_TCP_H */ diff --git a/tools/sdk/include/lwip/lwip/prot/udp.h b/tools/sdk/include/lwip/lwip/prot/udp.h new file mode 100644 index 00000000..664f19a3 --- /dev/null +++ b/tools/sdk/include/lwip/lwip/prot/udp.h @@ -0,0 +1,68 @@ +/** + * @file + * UDP protocol definitions + */ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef LWIP_HDR_PROT_UDP_H +#define LWIP_HDR_PROT_UDP_H + +#include "lwip/arch.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define UDP_HLEN 8 + +/* Fields are (of course) in network byte order. */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct udp_hdr { + PACK_STRUCT_FIELD(u16_t src); + PACK_STRUCT_FIELD(u16_t dest); /* src/dest UDP ports */ + PACK_STRUCT_FIELD(u16_t len); + PACK_STRUCT_FIELD(u16_t chksum); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_HDR_PROT_UDP_H */ diff --git a/tools/sdk/include/lwip/lwip/raw.h b/tools/sdk/include/lwip/lwip/raw.h index 474fdc15..30aa1471 100644 --- a/tools/sdk/include/lwip/lwip/raw.h +++ b/tools/sdk/include/lwip/lwip/raw.h @@ -1,3 +1,9 @@ +/** + * @file + * raw API (to be used from TCPIP thread)\n + * See also @ref raw_raw + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -61,6 +67,7 @@ struct raw_pcb; typedef u8_t (*raw_recv_fn)(void *arg, struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *addr); +/** the RAW protocol control block */ struct raw_pcb { /* Common members of all PCB types */ IP_PCB; @@ -97,6 +104,8 @@ void raw_recv (struct raw_pcb *pcb, raw_recv_fn recv, void *re u8_t raw_input (struct pbuf *p, struct netif *inp); #define raw_init() /* Compatibility define, no init needed. */ +void raw_netif_ip_addr_changed(const ip_addr_t* old_addr, const ip_addr_t* new_addr); + /* for compatibility with older implementation */ #define raw_new_ip6(proto) raw_new_ip_type(IPADDR_TYPE_V6, proto) diff --git a/tools/sdk/include/lwip/lwip/sio.h b/tools/sdk/include/lwip/lwip/sio.h index 09cf799a..7643e195 100644 --- a/tools/sdk/include/lwip/lwip/sio.h +++ b/tools/sdk/include/lwip/lwip/sio.h @@ -36,6 +36,7 @@ #define SIO_H #include "lwip/arch.h" +#include "lwip/opt.h" #ifdef __cplusplus extern "C" { diff --git a/tools/sdk/include/lwip/lwip/snmp.h b/tools/sdk/include/lwip/lwip/snmp.h index 07368cc6..8704d0b4 100644 --- a/tools/sdk/include/lwip/lwip/snmp.h +++ b/tools/sdk/include/lwip/lwip/snmp.h @@ -1,7 +1,6 @@ /** * @file - * MIB2 callback functions called from throughout the stack to integrate a MIB2 - * into lwIP (together with MIB2_STATS). + * SNMP support API for implementing netifs and statitics for MIB2 */ /* @@ -48,9 +47,15 @@ extern "C" { struct udp_pcb; struct netif; +/** + * @defgroup netif_mib2 MIB2 statistics + * @ingroup netif + */ + /* MIB2 statistics functions */ #if MIB2_STATS /* don't build if not configured for use in lwipopts.h */ /** + * @ingroup netif_mib2 * @see RFC1213, "MIB-II, 6. Definitions" */ enum snmp_ifType { @@ -88,18 +93,31 @@ enum snmp_ifType { snmp_ifType_frame_relay }; -/* This macro has a precision of ~49 days because sys_now returns u32_t. #define your own if you want ~490 days. */ +/** This macro has a precision of ~49 days because sys_now returns u32_t. \#define your own if you want ~490 days. */ #ifndef MIB2_COPY_SYSUPTIME_TO #define MIB2_COPY_SYSUPTIME_TO(ptrToVal) (*(ptrToVal) = (sys_now() / 10)) #endif +/** + * @ingroup netif_mib2 + * Increment stats member for SNMP MIB2 stats (struct stats_mib2_netif_ctrs) + */ #define MIB2_STATS_NETIF_INC(n, x) do { ++(n)->mib2_counters.x; } while(0) +/** + * @ingroup netif_mib2 + * Add value to stats member for SNMP MIB2 stats (struct stats_mib2_netif_ctrs) + */ #define MIB2_STATS_NETIF_ADD(n, x, val) do { (n)->mib2_counters.x += (val); } while(0) +/** + * @ingroup netif_mib2 + * Init MIB2 statistic counters in netif + * @param netif Netif to init + * @param type one of enum @ref snmp_ifType + * @param speed your link speed here (units: bits per second) + */ #define MIB2_INIT_NETIF(netif, type, speed) do { \ - /* use "snmp_ifType" enum from snmp_mib2.h for "type", snmp_ifType_ethernet_csmacd by example */ \ (netif)->link_type = (type); \ - /* your link speed here (units: bits per second) */ \ (netif)->link_speed = (speed);\ (netif)->ts = 0; \ (netif)->mib2_counters.ifinoctets = 0; \ diff --git a/tools/sdk/include/lwip/lwip/sockets.h b/tools/sdk/include/lwip/lwip/sockets.h index e9ebff65..eff3b42e 100644 --- a/tools/sdk/include/lwip/lwip/sockets.h +++ b/tools/sdk/include/lwip/lwip/sockets.h @@ -1,3 +1,8 @@ +/** + * @file + * Socket API (to be used from non-TCPIP threads) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -38,12 +43,10 @@ #if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */ -#include /* for size_t */ -#include /* for FD_ZERO */ - #include "lwip/ip_addr.h" #include "lwip/err.h" #include "lwip/inet.h" +#include "lwip/errno.h" #ifdef __cplusplus extern "C" { @@ -191,6 +194,7 @@ struct msghdr { #define SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */ #define SO_NO_CHECK 0x100a /* don't create UDP checksum */ + /* * Structure used for manipulating linger option. */ @@ -250,11 +254,6 @@ struct linger { #define TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */ #define TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */ #define TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */ -#if ESP_PER_SOC_TCP_WND -#define TCP_WINDOW 0x06 /* set pcb->per_soc_tcp_wnd */ -#define TCP_SNDBUF 0x07 /* set pcb->per_soc_tcp_snd_buf */ -#endif - #endif /* LWIP_TCP */ #if LWIP_IPV6 @@ -264,6 +263,7 @@ struct linger { #define IPV6_CHECKSUM 7 /* RFC3542: calculate and insert the ICMPv6 checksum for raw sockets. */ #define IPV6_V6ONLY 27 /* RFC3493: boolean control to restrict AF_INET6 sockets to IPv6 communications only. */ +#if ESP_LWIP #if LWIP_IPV6_MLD /* Socket options for IPV6 multicast, uses the MLD interface to manage group memberships. RFC2133. */ #define IPV6_MULTICAST_IF 0x300 @@ -283,6 +283,7 @@ typedef struct ip6_mreq { #define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP #endif /* LWIP_IPV6_MLD */ +#endif #endif /* LWIP_IPV6 */ @@ -466,8 +467,6 @@ void lwip_socket_thread_init(void); /* LWIP_NETCONN_SEM_PER_THREAD==1: initializ void lwip_socket_thread_cleanup(void); /* LWIP_NETCONN_SEM_PER_THREAD==1: destroy thread-local semaphore */ #if LWIP_COMPAT_SOCKETS == 2 - - /* This helps code parsers/code completion by not having the COMPAT functions as defines */ #define lwip_accept accept #define lwip_bind bind @@ -541,6 +540,7 @@ int lwip_setsockopt_r (int s, int level, int optname, const void *optval, sockle int lwip_close_r(int s); int lwip_connect_r(int s, const struct sockaddr *name, socklen_t namelen); int lwip_listen_r(int s, int backlog); +int lwip_recvmsg_r(int s, struct msghdr *message, int flags); int lwip_recv_r(int s, void *mem, size_t len, int flags); int lwip_read_r(int s, void *mem, size_t len); int lwip_recvfrom_r(int s, void *mem, size_t len, int flags, @@ -577,6 +577,8 @@ static inline int connect(int s,const struct sockaddr *name,socklen_t namelen) { return lwip_connect_r(s,name,namelen); } static inline int listen(int s,int backlog) { return lwip_listen_r(s,backlog); } +static inline int recvmsg(int sockfd, struct msghdr *msg, int flags) +{ return lwip_recvmsg_r(sockfd, msg, flags); } static inline int recv(int s,void *mem,size_t len,int flags) { return lwip_recv_r(s,mem,len,flags); } static inline int recvfrom(int s,void *mem,size_t len,int flags,struct sockaddr *from,socklen_t *fromlen) @@ -609,71 +611,106 @@ static inline int fcntl(int s,int cmd,int val) { return lwip_fcntl_r(s,cmd,val); } static inline int ioctl(int s,long cmd,void *argp) { return lwip_ioctl_r(s,cmd,argp); } -#endif /* { RETURN LWIP_POSIX_SOCKETS_IO_NAMES */ +#endif /* LWIP_POSIX_SOCKETS_IO_NAMES */ #else -static inline int accept(int s,struct sockaddr *addr,socklen_t *addrlen) -{ return lwip_accept(s,addr,addrlen); } -static inline int bind(int s,const struct sockaddr *name,socklen_t namelen) -{ return lwip_bind(s,name,namelen); } -static inline int shutdown(int s,int how) -{ return lwip_shutdown(s,how); } -static inline int getpeername(int s,struct sockaddr *name,socklen_t *namelen) -{ return lwip_getpeername(s,name,namelen); } -static inline int getsockname(int s,struct sockaddr *name,socklen_t *namelen) -{ return lwip_getsockname(s,name,namelen); } -static inline int setsockopt(int s,int level,int optname,const void *opval,socklen_t optlen) -{ return lwip_setsockopt(s,level,optname,opval,optlen); } -static inline int getsockopt(int s,int level,int optname,void *opval,socklen_t *optlen) -{ return lwip_getsockopt(s,level,optname,opval,optlen); } -static inline int closesocket(int s) -{ return lwip_close(s); } -static inline int connect(int s,const struct sockaddr *name,socklen_t namelen) -{ return lwip_connect(s,name,namelen); } -static inline int listen(int s,int backlog) -{ return lwip_listen(s,backlog); } -static inline int recv(int s,void *mem,size_t len,int flags) -{ return lwip_recv(s,mem,len,flags); } -static inline int recvfrom(int s,void *mem,size_t len,int flags,struct sockaddr *from,socklen_t *fromlen) -{ return lwip_recvfrom(s,mem,len,flags,from,fromlen); } -static inline int send(int s,const void *dataptr,size_t size,int flags) -{ return lwip_send(s,dataptr,size,flags); } -static inline int sendmsg(int s,const struct msghdr *message,int flags) -{ return lwip_sendmsg(s,message,flags); } -static inline int sendto(int s,const void *dataptr,size_t size,int flags,const struct sockaddr *to,socklen_t tolen) -{ return lwip_sendto(s,dataptr,size,flags,to,tolen); } -static inline int socket(int domain,int type,int protocol) -{ return lwip_socket(domain,type,protocol); } -#ifndef ESP_HAS_SELECT -static inline int select(int maxfdp1,fd_set t*readset,fd_set *writeset,fd_set *exceptset,struct timeval *timeout) -{ return lwip_select(maxfdp1,readset,writeset,exceptset,timeout); } -#endif /* ESP_HAS_SELECT */ -static inline int ioctlsocket(int s,long cmd,void *argp) -{ return lwip_ioctl(s,cmd,argp); } +/** @ingroup socket */ +#define accept(s,addr,addrlen) lwip_accept(s,addr,addrlen) +/** @ingroup socket */ +#define bind(s,name,namelen) lwip_bind(s,name,namelen) +/** @ingroup socket */ +#define shutdown(s,how) lwip_shutdown(s,how) +/** @ingroup socket */ +#define getpeername(s,name,namelen) lwip_getpeername(s,name,namelen) +/** @ingroup socket */ +#define getsockname(s,name,namelen) lwip_getsockname(s,name,namelen) +/** @ingroup socket */ +#define setsockopt(s,level,optname,opval,optlen) lwip_setsockopt(s,level,optname,opval,optlen) +/** @ingroup socket */ +#define getsockopt(s,level,optname,opval,optlen) lwip_getsockopt(s,level,optname,opval,optlen) +/** @ingroup socket */ +#define closesocket(s) lwip_close(s) +/** @ingroup socket */ +#define connect(s,name,namelen) lwip_connect(s,name,namelen) +/** @ingroup socket */ +#define listen(s,backlog) lwip_listen(s,backlog) +/** @ingroup socket */ +#define recv(s,mem,len,flags) lwip_recv(s,mem,len,flags) +/** @ingroup socket */ +#define recvfrom(s,mem,len,flags,from,fromlen) lwip_recvfrom(s,mem,len,flags,from,fromlen) +/** @ingroup socket */ +#define send(s,dataptr,size,flags) lwip_send(s,dataptr,size,flags) +/** @ingroup socket */ +#define sendmsg(s,message,flags) lwip_sendmsg(s,message,flags) +/** @ingroup socket */ +#define sendto(s,dataptr,size,flags,to,tolen) lwip_sendto(s,dataptr,size,flags,to,tolen) +/** @ingroup socket */ +#define socket(domain,type,protocol) lwip_socket(domain,type,protocol) +/** @ingroup socket */ +#define select(maxfdp1,readset,writeset,exceptset,timeout) lwip_select(maxfdp1,readset,writeset,exceptset,timeout) +/** @ingroup socket */ +#define ioctlsocket(s,cmd,argp) lwip_ioctl(s,cmd,argp) #if LWIP_POSIX_SOCKETS_IO_NAMES -static inline int read(int s,void *mem,size_t len) -{ return lwip_read(s,mem,len); } -static inline int write(int s,const void *dataptr,size_t len) -{ return lwip_write(s,dataptr,len); } -static inline int writev(int s,const struct iovec *iov,int iovcnt) -{ return lwip_writev(s,iov,iovcnt); } -static inline int close(int s) -{ return lwip_close(s); } -static inline int fcntl(int s,long cmd,void *val) -{ return lwip_fcntl(s,cmd,val); } -static inline int ioctl(int s,int cmd,int argp) -{ return lwip_ioctl(s,cmd,argp); } +/** @ingroup socket */ +#define read(s,mem,len) lwip_read(s,mem,len) +/** @ingroup socket */ +#define write(s,dataptr,len) lwip_write(s,dataptr,len) +/** @ingroup socket */ +#define writev(s,iov,iovcnt) lwip_writev(s,iov,iovcnt) +/** @ingroup socket */ +#define close(s) lwip_close(s) +/** @ingroup socket */ +#define fcntl(s,cmd,val) lwip_fcntl(s,cmd,val) +/** @ingroup socket */ +#define ioctl(s,cmd,argp) lwip_ioctl(s,cmd,argp) #endif /* LWIP_POSIX_SOCKETS_IO_NAMES */ -#endif /* ESP_THREAD_SAFE */ +#endif /* ESP_THREAD_SAFE */ #endif /* LWIP_COMPAT_SOCKETS != 2 */ +#if ESP_LWIP #if LWIP_IPV4 && LWIP_IPV6 +#define lwip_inet_ntop(af,src,dst,size) \ + (((af) == AF_INET6) ? ip6addr_ntoa_r((const ip6_addr_t*)(src),(dst),(size)) \ + : (((af) == AF_INET) ? ip4addr_ntoa_r((const ip4_addr_t*)(src),(dst),(size)) : NULL)) +#define lwip_inet_pton(af,src,dst) \ + (((af) == AF_INET6) ? ip6addr_aton((src),(ip6_addr_t*)(dst)) \ + : (((af) == AF_INET) ? ip4addr_aton((src),(ip4_addr_t*)(dst)) : 0)) +#elif LWIP_IPV4 /* LWIP_IPV4 && LWIP_IPV6 */ +#define lwip_inet_ntop(af,src,dst,size) \ + (((af) == AF_INET) ? ip4addr_ntoa_r((const ip4_addr_t*)(src),(dst),(size)) : NULL) +#define lwip_inet_pton(af,src,dst) \ + (((af) == AF_INET) ? ip4addr_aton((src),(ip4_addr_t*)(dst)) : 0) +#else /* LWIP_IPV4 && LWIP_IPV6 */ +#define lwip_inet_ntop(af,src,dst,size) \ + (((af) == AF_INET6) ? ip6addr_ntoa_r((const ip6_addr_t*)(src),(dst),(size)) : NULL) +#define lwip_inet_pton(af,src,dst) \ + (((af) == AF_INET6) ? ip6addr_aton((src),(ip6_addr_t*)(dst)) : 0) +#endif /* LWIP_IPV4 && LWIP_IPV6 */ + +#if LWIP_COMPAT_SOCKET_INET == 1 +/* Some libraries have problems with inet_... being macros, so please use this define + to declare normal functions */ +static inline const char *inet_ntop(int af, const void *src, char *dst, socklen_t size) +{ lwip_inet_ntop(af, src, dst, size); return dst; } +static inline int inet_pton(int af, const char *src, void *dst) +{ lwip_inet_pton(af, src, dst); return 1; } +#else +/* By default fall back to original inet_... macros */ +# define inet_ntop(a,b,c,d) lwip_inet_ntop(a,b,c,d) +# define inet_pton(a,b,c) lwip_inet_pton(a,b,c) +#endif /* LWIP_COMPAT_SOCKET_INET */ + +#else /* ESP_LWIP*/ + +#if LWIP_IPV4 && LWIP_IPV6 +/** @ingroup socket */ #define inet_ntop(af,src,dst,size) \ (((af) == AF_INET6) ? ip6addr_ntoa_r((const ip6_addr_t*)(src),(dst),(size)) \ : (((af) == AF_INET) ? ip4addr_ntoa_r((const ip4_addr_t*)(src),(dst),(size)) : NULL)) +/** @ingroup socket */ #define inet_pton(af,src,dst) \ (((af) == AF_INET6) ? ip6addr_aton((src),(ip6_addr_t*)(dst)) \ : (((af) == AF_INET) ? ip4addr_aton((src),(ip4_addr_t*)(dst)) : 0)) @@ -689,6 +726,7 @@ static inline int ioctl(int s,int cmd,int argp) (((af) == AF_INET6) ? ip6addr_aton((src),(ip6_addr_t*)(dst)) : 0) #endif /* LWIP_IPV4 && LWIP_IPV6 */ +#endif /* ESP_LWIP */ #endif /* LWIP_COMPAT_SOCKETS */ #ifdef __cplusplus diff --git a/tools/sdk/include/lwip/lwip/stats.h b/tools/sdk/include/lwip/lwip/stats.h index a4c700b2..e883383f 100644 --- a/tools/sdk/include/lwip/lwip/stats.h +++ b/tools/sdk/include/lwip/lwip/stats.h @@ -1,3 +1,8 @@ +/** + * @file + * Statistics API (to be used from TCPIP thread) + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -55,6 +60,7 @@ extern "C" { #define STAT_COUNTER_F U16_F #endif +/** Protocol related stats */ struct stats_proto { STAT_COUNTER xmit; /* Transmitted packets. */ STAT_COUNTER recv; /* Received packets. */ @@ -70,6 +76,7 @@ struct stats_proto { STAT_COUNTER cachehit; }; +/** IGMP stats */ struct stats_igmp { STAT_COUNTER xmit; /* Transmitted packets. */ STAT_COUNTER recv; /* Received packets. */ @@ -87,10 +94,11 @@ struct stats_igmp { STAT_COUNTER tx_report; /* Sent reports. */ }; +/** Memory stats */ struct stats_mem { -#ifdef LWIP_DEBUG +#if defined(LWIP_DEBUG) || LWIP_STATS_DISPLAY const char *name; -#endif /* LWIP_DEBUG */ +#endif /* defined(LWIP_DEBUG) || LWIP_STATS_DISPLAY */ STAT_COUNTER err; mem_size_t avail; mem_size_t used; @@ -98,18 +106,21 @@ struct stats_mem { STAT_COUNTER illegal; }; +/** System element stats */ struct stats_syselem { STAT_COUNTER used; STAT_COUNTER max; STAT_COUNTER err; }; +/** System stats */ struct stats_sys { struct stats_syselem sem; struct stats_syselem mutex; struct stats_syselem mbox; }; +/** SNMP MIB2 stats */ struct stats_mib2 { /* IP */ u32_t ipinhdrerrors; @@ -168,51 +179,56 @@ struct stats_mib2 { u32_t icmpoutechoreps; }; +/** + * @ingroup netif_mib2 + * SNMP MIB2 interface stats + */ struct stats_mib2_netif_ctrs { - /* The total number of octets received on the interface, including framing characters */ + /** The total number of octets received on the interface, including framing characters */ u32_t ifinoctets; - /* The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were + /** The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were * not addressed to a multicast or broadcast address at this sub-layer */ u32_t ifinucastpkts; - /* The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were + /** The number of packets, delivered by this sub-layer to a higher (sub-)layer, which were * addressed to a multicast or broadcast address at this sub-layer */ u32_t ifinnucastpkts; - /* The number of inbound packets which were chosen to be discarded even though no errors had - * been detected to prevent their being deliverable to a higher-layer protocol. One possible + /** The number of inbound packets which were chosen to be discarded even though no errors had + * been detected to prevent their being deliverable to a higher-layer protocol. One possible * reason for discarding such a packet could be to free up buffer space */ u32_t ifindiscards; - /* For packet-oriented interfaces, the number of inbound packets that contained errors + /** For packet-oriented interfaces, the number of inbound packets that contained errors * preventing them from being deliverable to a higher-layer protocol. For character- - * oriented or fixed-length interfaces, the number of inbound transmission units that + * oriented or fixed-length interfaces, the number of inbound transmission units that * contained errors preventing them from being deliverable to a higher-layer protocol. */ u32_t ifinerrors; - /* For packet-oriented interfaces, the number of packets received via the interface which + /** For packet-oriented interfaces, the number of packets received via the interface which * were discarded because of an unknown or unsupported protocol. For character-oriented * or fixed-length interfaces that support protocol multiplexing the number of transmission * units received via the interface which were discarded because of an unknown or unsupported * protocol. For any interface that does not support protocol multiplexing, this counter will * always be 0 */ u32_t ifinunknownprotos; - /* The total number of octets transmitted out of the interface, including framing characters. */ + /** The total number of octets transmitted out of the interface, including framing characters. */ u32_t ifoutoctets; - /* The total number of packets that higher-level protocols requested be transmitted, and + /** The total number of packets that higher-level protocols requested be transmitted, and * which were not addressed to a multicast or broadcast address at this sub-layer, including * those that were discarded or not sent. */ u32_t ifoutucastpkts; - /* The total number of packets that higher-level protocols requested be transmitted, and which + /** The total number of packets that higher-level protocols requested be transmitted, and which * were addressed to a multicast or broadcast address at this sub-layer, including * those that were discarded or not sent. */ u32_t ifoutnucastpkts; - /* The number of outbound packets which were chosen to be discarded even though no errors had + /** The number of outbound packets which were chosen to be discarded even though no errors had * been detected to prevent their being transmitted. One possible reason for discarding * such a packet could be to free up buffer space. */ u32_t ifoutdiscards; - /* For packet-oriented interfaces, the number of outbound packets that could not be transmitted + /** For packet-oriented interfaces, the number of outbound packets that could not be transmitted * because of errors. For character-oriented or fixed-length interfaces, the number of outbound * transmission units that could not be transmitted because of errors. */ u32_t ifouterrors; }; +#if ESP_STATS_DROP struct stats_esp { /* mbox post fail stats */ u32_t rx_rawmbox_post_fail; @@ -229,66 +245,88 @@ struct stats_esp { u32_t wlanif_input_pbuf_fail; u32_t wlanif_outut_pbuf_fail; }; +#endif +/** lwIP stats container */ struct stats_ { #if LINK_STATS + /** Link level */ struct stats_proto link; #endif #if ETHARP_STATS + /** ARP */ struct stats_proto etharp; #endif #if IPFRAG_STATS + /** Fragmentation */ struct stats_proto ip_frag; #endif #if IP_STATS + /** IP */ struct stats_proto ip; #endif #if ICMP_STATS + /** ICMP */ struct stats_proto icmp; #endif #if IGMP_STATS + /** IGMP */ struct stats_igmp igmp; #endif #if UDP_STATS + /** UDP */ struct stats_proto udp; #endif #if TCP_STATS + /** TCP */ struct stats_proto tcp; #endif #if MEM_STATS + /** Heap */ struct stats_mem mem; #endif #if MEMP_STATS - struct stats_mem memp[MEMP_MAX]; + /** Internal memory pools */ + struct stats_mem *memp[MEMP_MAX]; #endif #if SYS_STATS + /** System */ struct stats_sys sys; #endif #if IP6_STATS + /** IPv6 */ struct stats_proto ip6; #endif #if ICMP6_STATS + /** ICMP6 */ struct stats_proto icmp6; #endif #if IP6_FRAG_STATS + /** IPv6 fragmentation */ struct stats_proto ip6_frag; #endif #if MLD6_STATS + /** Multicast listener discovery */ struct stats_igmp mld6; #endif #if ND6_STATS + /** Neighbor discovery */ struct stats_proto nd6; #endif #if MIB2_STATS + /** SNMP MIB2 */ struct stats_mib2 mib2; #endif + #if ESP_STATS_DROP struct stats_esp esp; #endif }; +/** Global variable containing lwIP internal statistics. Add this to your debugger's watchlist. */ extern struct stats_ lwip_stats; +/** Init statistics */ void stats_init(void); #define STATS_INC(x) ++lwip_stats.x @@ -372,9 +410,9 @@ void stats_init(void); #if MEM_STATS #define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y -#define MEM_STATS_INC(x) STATS_INC(mem.x) -#define MEM_STATS_INC_USED(x, y) STATS_INC_USED(mem, y) -#define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y +#define MEM_STATS_INC(x) SYS_ARCH_INC(lwip_stats.mem.x, 1) +#define MEM_STATS_INC_USED(x, y) SYS_ARCH_INC(lwip_stats.mem.x, y) +#define MEM_STATS_DEC_USED(x, y) SYS_ARCH_DEC(lwip_stats.mem.x, y) #define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, "HEAP") #else #define MEM_STATS_AVAIL(x, y) @@ -384,18 +422,12 @@ void stats_init(void); #define MEM_STATS_DISPLAY() #endif -#if MEMP_STATS -#define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y -#define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x) -#define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x) -#define MEMP_STATS_INC_USED(x, i) STATS_INC_USED(memp[i], 1) -#define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i) -#define MEMP_STATS_GET(x, i) STATS_GET(memp[i].x) -#else -#define MEMP_STATS_AVAIL(x, i, y) -#define MEMP_STATS_INC(x, i) + #if MEMP_STATS +#define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i]->x) +#define MEMP_STATS_DISPLAY(i) stats_display_memp(lwip_stats.memp[i], i) +#define MEMP_STATS_GET(x, i) STATS_GET(memp[i]->x) + #else #define MEMP_STATS_DEC(x, i) -#define MEMP_STATS_INC_USED(x, i) #define MEMP_STATS_DISPLAY(i) #define MEMP_STATS_GET(x, i) 0 #endif @@ -474,7 +506,10 @@ void stats_display_igmp(struct stats_igmp *igmp, const char *name); void stats_display_mem(struct stats_mem *mem, const char *name); void stats_display_memp(struct stats_mem *mem, int index); void stats_display_sys(struct stats_sys *sys); +#if ESP_STATS_DROP void stats_display_esp(struct stats_esp *esp); +#endif + #else /* LWIP_STATS_DISPLAY */ #define stats_display() #define stats_display_proto(proto, name) @@ -482,7 +517,10 @@ void stats_display_esp(struct stats_esp *esp); #define stats_display_mem(mem, name) #define stats_display_memp(mem, index) #define stats_display_sys(sys) +#if ESP_STATS_DROP #define stats_display_esp(esp) +#endif + #endif /* LWIP_STATS_DISPLAY */ #ifdef __cplusplus diff --git a/tools/sdk/include/lwip/lwip/sys.h b/tools/sdk/include/lwip/lwip/sys.h index 67729e3b..f229e407 100644 --- a/tools/sdk/include/lwip/lwip/sys.h +++ b/tools/sdk/include/lwip/lwip/sys.h @@ -1,3 +1,8 @@ +/** + * @file + * OS abstraction layer + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -27,8 +32,8 @@ * This file is part of the lwIP TCP/IP stack. * * Author: Adam Dunkels - * */ + #ifndef LWIP_HDR_SYS_H #define LWIP_HDR_SYS_H @@ -115,134 +120,215 @@ typedef void (*lwip_thread_fn)(void *arg); #else /* LWIP_COMPAT_MUTEX */ -/** Create a new mutex +/** + * @ingroup sys_mutex + * Create a new mutex. + * Note that mutexes are expected to not be taken recursively by the lwIP code, + * so both implementation types (recursive or non-recursive) should work. * @param mutex pointer to the mutex to create - * @return a new mutex */ + * @return ERR_OK if successful, another err_t otherwise + */ err_t sys_mutex_new(sys_mutex_t *mutex); -/** Lock a mutex - * @param mutex the mutex to lock */ +/** + * @ingroup sys_mutex + * Lock a mutex + * @param mutex the mutex to lock + */ void sys_mutex_lock(sys_mutex_t *mutex); -/** Unlock a mutex - * @param mutex the mutex to unlock */ +/** + * @ingroup sys_mutex + * Unlock a mutex + * @param mutex the mutex to unlock + */ void sys_mutex_unlock(sys_mutex_t *mutex); -/** Delete a semaphore - * @param mutex the mutex to delete */ +/** + * @ingroup sys_mutex + * Delete a semaphore + * @param mutex the mutex to delete + */ void sys_mutex_free(sys_mutex_t *mutex); #ifndef sys_mutex_valid -/** Check if a mutex is valid/allocated: return 1 for valid, 0 for invalid */ +/** + * @ingroup sys_mutex + * Check if a mutex is valid/allocated: return 1 for valid, 0 for invalid + */ int sys_mutex_valid(sys_mutex_t *mutex); #endif #ifndef sys_mutex_set_invalid -/** Set a mutex invalid so that sys_mutex_valid returns 0 */ +/** + * @ingroup sys_mutex + * Set a mutex invalid so that sys_mutex_valid returns 0 + */ void sys_mutex_set_invalid(sys_mutex_t *mutex); #endif #endif /* LWIP_COMPAT_MUTEX */ /* Semaphore functions: */ -/** Create a new semaphore +/** + * @ingroup sys_sem + * Create a new semaphore * @param sem pointer to the semaphore to create * @param count initial count of the semaphore - * @return ERR_OK if successful, another err_t otherwise */ + * @return ERR_OK if successful, another err_t otherwise + */ err_t sys_sem_new(sys_sem_t *sem, u8_t count); -/** Signals a semaphore - * @param sem the semaphore to signal */ +/** + * @ingroup sys_sem + * Signals a semaphore + * @param sem the semaphore to signal + */ void sys_sem_signal(sys_sem_t *sem); + +#if ESP_LWIP /** Signals a semaphore (ISR version) * @param sem the semaphore to signal * @return non-zero if a higher priority task has been woken */ int sys_sem_signal_isr(sys_sem_t *sem); -/** Wait for a semaphore for the specified timeout +#endif + +/** + * @ingroup sys_sem + * Wait for a semaphore for the specified timeout * @param sem the semaphore to wait for * @param timeout timeout in milliseconds to wait (0 = wait forever) * @return time (in milliseconds) waited for the semaphore - * or SYS_ARCH_TIMEOUT on timeout */ + * or SYS_ARCH_TIMEOUT on timeout + */ u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout); -/** Delete a semaphore - * @param sem semaphore to delete */ +/** + * @ingroup sys_sem + * Delete a semaphore + * @param sem semaphore to delete + */ void sys_sem_free(sys_sem_t *sem); /** Wait for a semaphore - forever/no timeout */ #define sys_sem_wait(sem) sys_arch_sem_wait(sem, 0) #ifndef sys_sem_valid -/** Check if a semaphore is valid/allocated: return 1 for valid, 0 for invalid */ +/** + * @ingroup sys_sem + * Check if a semaphore is valid/allocated: return 1 for valid, 0 for invalid + */ int sys_sem_valid(sys_sem_t *sem); #endif #ifndef sys_sem_set_invalid -/** Set a semaphore invalid so that sys_sem_valid returns 0 */ +/** + * @ingroup sys_sem + * Set a semaphore invalid so that sys_sem_valid returns 0 + */ void sys_sem_set_invalid(sys_sem_t *sem); #endif #ifndef sys_sem_valid_val -/** Same as sys_sem_valid() but taking a value, not a pointer */ +/** + * Same as sys_sem_valid() but taking a value, not a pointer + */ #define sys_sem_valid_val(sem) sys_sem_valid(&(sem)) #endif #ifndef sys_sem_set_invalid_val -/** Same as sys_sem_set_invalid() but taking a value, not a pointer */ +/** + * Same as sys_sem_set_invalid() but taking a value, not a pointer + */ #define sys_sem_set_invalid_val(sem) sys_sem_set_invalid(&(sem)) #endif -/* Time functions. */ #ifndef sys_msleep +/** + * @ingroup sys_misc + * Sleep for specified number of ms + */ void sys_msleep(u32_t ms); /* only has a (close to) 1 ms resolution. */ #endif /* Mailbox functions. */ -/** Create a new mbox of specified size +/** + * @ingroup sys_mbox + * Create a new mbox of specified size * @param mbox pointer to the mbox to create * @param size (minimum) number of messages in this mbox - * @return ERR_OK if successful, another err_t otherwise */ + * @return ERR_OK if successful, another err_t otherwise + */ err_t sys_mbox_new(sys_mbox_t *mbox, int size); -/** Post a message to an mbox - may not fail +/** + * @ingroup sys_mbox + * Post a message to an mbox - may not fail * -> blocks if full, only used from tasks not from ISR * @param mbox mbox to posts the message - * @param msg message to post (ATTENTION: can be NULL) */ + * @param msg message to post (ATTENTION: can be NULL) + */ void sys_mbox_post(sys_mbox_t *mbox, void *msg); -/** Try to post a message to an mbox - may fail if full or ISR +/** + * @ingroup sys_mbox + * Try to post a message to an mbox - may fail if full or ISR * @param mbox mbox to posts the message - * @param msg message to post (ATTENTION: can be NULL) */ + * @param msg message to post (ATTENTION: can be NULL) + */ err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg); -/** Wait for a new message to arrive in the mbox +/** + * @ingroup sys_mbox + * Wait for a new message to arrive in the mbox * @param mbox mbox to get a message from * @param msg pointer where the message is stored * @param timeout maximum time (in milliseconds) to wait for a message (0 = wait forever) * @return time (in milliseconds) waited for a message, may be 0 if not waited or SYS_ARCH_TIMEOUT on timeout - * The returned time has to be accurate to prevent timer jitter! */ + * The returned time has to be accurate to prevent timer jitter! + */ u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout); /* Allow port to override with a macro, e.g. special timeout for sys_arch_mbox_fetch() */ #ifndef sys_arch_mbox_tryfetch -/** Wait for a new message to arrive in the mbox +/** + * @ingroup sys_mbox + * Wait for a new message to arrive in the mbox * @param mbox mbox to get a message from * @param msg pointer where the message is stored * @return 0 (milliseconds) if a message has been received - * or SYS_MBOX_EMPTY if the mailbox is empty */ + * or SYS_MBOX_EMPTY if the mailbox is empty + */ u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg); #endif -/** For now, we map straight to sys_arch implementation. */ +/** + * For now, we map straight to sys_arch implementation. + */ #define sys_mbox_tryfetch(mbox, msg) sys_arch_mbox_tryfetch(mbox, msg) -/** Delete an mbox - * @param mbox mbox to delete */ +/** + * @ingroup sys_mbox + * Delete an mbox + * @param mbox mbox to delete + */ void sys_mbox_free(sys_mbox_t *mbox); #define sys_mbox_fetch(mbox, msg) sys_arch_mbox_fetch(mbox, msg, 0) #ifndef sys_mbox_valid -/** Check if an mbox is valid/allocated: return 1 for valid, 0 for invalid */ +/** + * @ingroup sys_mbox + * Check if an mbox is valid/allocated: return 1 for valid, 0 for invalid + */ int sys_mbox_valid(sys_mbox_t *mbox); #endif #ifndef sys_mbox_set_invalid -/** Set an mbox invalid so that sys_mbox_valid returns 0 */ +/** + * @ingroup sys_mbox + * Set an mbox invalid so that sys_mbox_valid returns 0 + */ void sys_mbox_set_invalid(sys_mbox_t *mbox); #endif #ifndef sys_mbox_valid_val -/** Same as sys_mbox_valid() but taking a value, not a pointer */ +/** + * Same as sys_mbox_valid() but taking a value, not a pointer + */ #define sys_mbox_valid_val(mbox) sys_mbox_valid(&(mbox)) #endif #ifndef sys_mbox_set_invalid_val -/** Same as sys_mbox_set_invalid() but taking a value, not a pointer */ +/** + * Same as sys_mbox_set_invalid() but taking a value, not a pointer + */ #define sys_mbox_set_invalid_val(mbox) sys_mbox_set_invalid(&(mbox)) #endif -/** The only thread function: +/** + * @ingroup sys_misc + * The only thread function: * Creates a new thread * ATTENTION: although this function returns a value, it MUST NOT FAIL (ports have to assert this!) * @param name human-readable name for the thread (used for debugging purposes) @@ -258,12 +344,17 @@ sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg, void sys_init(void); #ifndef sys_jiffies -/** Ticks/jiffies since power up. */ +/** + * Ticks/jiffies since power up. + */ u32_t sys_jiffies(void); #endif -/** Returns the current time in milliseconds, - * may be the same as sys_jiffies or at least based on it. */ +/** + * @ingroup sys_time + * Returns the current time in milliseconds, + * may be the same as sys_jiffies or at least based on it. + */ u32_t sys_now(void); /* Critical Region Protection */ @@ -279,13 +370,17 @@ u32_t sys_now(void); */ #if SYS_LIGHTWEIGHT_PROT -/** SYS_ARCH_DECL_PROTECT +/** + * @ingroup sys_prot + * SYS_ARCH_DECL_PROTECT * declare a protection variable. This macro will default to defining a variable of * type sys_prot_t. If a particular port needs a different implementation, then * this macro may be defined in sys_arch.h. */ #define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t lev -/** SYS_ARCH_PROTECT +/** + * @ingroup sys_prot + * SYS_ARCH_PROTECT * Perform a "fast" protect. This could be implemented by * disabling interrupts for an embedded system or by using a semaphore or * mutex. The implementation should allow calling SYS_ARCH_PROTECT when @@ -295,7 +390,9 @@ u32_t sys_now(void); * different implementation, then this macro may be defined in sys_arch.h */ #define SYS_ARCH_PROTECT(lev) lev = sys_arch_protect() -/** SYS_ARCH_UNPROTECT +/** + * @ingroup sys_prot + * SYS_ARCH_UNPROTECT * Perform a "fast" set of the protection level to "lev". This could be * implemented by setting the interrupt level to "lev" within the MACRO or by * using a semaphore or mutex. This macro will default to calling the diff --git a/tools/sdk/include/lwip/lwip/tcp.h b/tools/sdk/include/lwip/lwip/tcp.h index f7a46b2e..30dbf147 100644 --- a/tools/sdk/include/lwip/lwip/tcp.h +++ b/tools/sdk/include/lwip/lwip/tcp.h @@ -1,3 +1,9 @@ +/** + * @file + * TCP API (to be used from TCPIP thread)\n + * See also @ref tcp_raw + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -117,7 +123,7 @@ typedef void (*tcp_err_fn)(void *arg, err_t err); * * @param arg Additional argument to pass to the callback function (@see tcp_arg()) * @param tpcb The connection pcb which is connected - * @param err An unused error code, always ERR_OK currently ;-) TODO! + * @param err An unused error code, always ERR_OK currently ;-) @todo! * Only return ERR_ABRT if you have called tcp_abort from within the * callback function! * @@ -129,15 +135,19 @@ typedef err_t (*tcp_connected_fn)(void *arg, struct tcp_pcb *tpcb, err_t err); #define RCV_WND_SCALE(pcb, wnd) (((wnd) >> (pcb)->rcv_scale)) #define SND_WND_SCALE(pcb, wnd) (((wnd) << (pcb)->snd_scale)) #define TCPWND16(x) ((u16_t)LWIP_MIN((x), 0xFFFF)) -#define TCP_WND_MAX(pcb) ((tcpwnd_size_t)(((pcb)->flags & TF_WND_SCALE) ? TCP_WND(pcb) : TCPWND16(TCP_WND(pcb)))) +#define TCP_WND_MAX(pcb) ((tcpwnd_size_t)(((pcb)->flags & TF_WND_SCALE) ? TCP_WND : TCPWND16(TCP_WND))) typedef u32_t tcpwnd_size_t; -typedef u16_t tcpflags_t; #else #define RCV_WND_SCALE(pcb, wnd) (wnd) #define SND_WND_SCALE(pcb, wnd) (wnd) #define TCPWND16(x) (x) -#define TCP_WND_MAX(pcb) TCP_WND(pcb) +#define TCP_WND_MAX(pcb) TCP_WND typedef u16_t tcpwnd_size_t; +#endif + +#if LWIP_WND_SCALE || TCP_LISTEN_BACKLOG || LWIP_TCP_TIMESTAMPS +typedef u16_t tcpflags_t; +#else typedef u8_t tcpflags_t; #endif @@ -155,34 +165,38 @@ enum tcp_state { TIME_WAIT = 10 }; -#if LWIP_CALLBACK_API - /* Function to call when a listener has been connected. - * @param arg user-supplied argument (tcp_pcb.callback_arg) - * @param pcb a new tcp_pcb that now is connected - * @param err an error argument (TODO: that is current always ERR_OK?) - * @return ERR_OK: accept the new connection, - * any other err_t aborts the new connection - */ -#define DEF_ACCEPT_CALLBACK tcp_accept_fn accept; -#else /* LWIP_CALLBACK_API */ -#define DEF_ACCEPT_CALLBACK -#endif /* LWIP_CALLBACK_API */ - /** * members common to struct tcp_pcb and struct tcp_listen_pcb */ #define TCP_PCB_COMMON(type) \ type *next; /* for the linked list */ \ void *callback_arg; \ - /* the accept callback for listen- and normal pcbs, if LWIP_CALLBACK_API */ \ - DEF_ACCEPT_CALLBACK \ enum tcp_state state; /* TCP state */ \ u8_t prio; \ /* ports are in host byte order */ \ u16_t local_port -/* the TCP protocol control block */ +/** the TCP protocol control block for listening pcbs */ +struct tcp_pcb_listen { +/** Common members of all PCB types */ + IP_PCB; +/** Protocol specific PCB members */ + TCP_PCB_COMMON(struct tcp_pcb_listen); + +#if LWIP_CALLBACK_API + /* Function to call when a listener has been connected. */ + tcp_accept_fn accept; +#endif /* LWIP_CALLBACK_API */ + +#if TCP_LISTEN_BACKLOG + u8_t backlog; + u8_t accepts_pending; +#endif /* TCP_LISTEN_BACKLOG */ +}; + + +/** the TCP protocol control block */ struct tcp_pcb { /** common PCB members */ IP_PCB; @@ -196,13 +210,19 @@ struct tcp_pcb { #define TF_ACK_DELAY 0x01U /* Delayed ACK. */ #define TF_ACK_NOW 0x02U /* Immediate ACK. */ #define TF_INFR 0x04U /* In fast recovery. */ -#define TF_TIMESTAMP 0x08U /* Timestamp option enabled */ +#define TF_CLOSEPEND 0x08U /* If this is set, tcp_close failed to enqueue the FIN (retried in tcp_tmr) */ #define TF_RXCLOSED 0x10U /* rx closed by tcp_shutdown */ #define TF_FIN 0x20U /* Connection was closed locally (FIN segment enqueued). */ #define TF_NODELAY 0x40U /* Disable Nagle algorithm */ #define TF_NAGLEMEMERR 0x80U /* nagle enabled, memerr, try to output to prevent delayed ACK to happen */ #if LWIP_WND_SCALE #define TF_WND_SCALE 0x0100U /* Window Scale option enabled */ +#endif +#if TCP_LISTEN_BACKLOG +#define TF_BACKLOGPEND 0x0200U /* If this is set, a connection pcb has increased the backlog on its listener */ +#endif +#if LWIP_TCP_TIMESTAMPS +#define TF_TIMESTAMP 0x0400U /* Timestamp option enabled */ #endif /* the rest of the fields are in host byte order @@ -236,11 +256,6 @@ struct tcp_pcb { u8_t dupacks; u32_t lastack; /* Highest acknowledged seqno. */ -#if ESP_PER_SOC_TCP_WND - tcpwnd_size_t per_soc_tcp_wnd; /* per tcp socket tcp window size */ - tcpwnd_size_t per_soc_tcp_snd_buf; /* per tcp socket tcp send buffer size */ -#endif - /* congestion avoidance/control variables */ tcpwnd_size_t cwnd; tcpwnd_size_t ssthresh; @@ -253,8 +268,6 @@ struct tcp_pcb { tcpwnd_size_t snd_wnd; /* sender window */ tcpwnd_size_t snd_wnd_max; /* the maximum sender window announced by the remote host */ - tcpwnd_size_t acked; - tcpwnd_size_t snd_buf; /* Available buffer space for sending (in bytes). */ #define TCP_SNDQUEUELEN_OVERFLOW (0xffffU-3) u16_t snd_queuelen; /* Number of pbufs currently in the send buffer. */ @@ -273,6 +286,10 @@ struct tcp_pcb { struct pbuf *refused_data; /* Data previously received but not yet taken by upper layer */ +#if LWIP_CALLBACK_API || TCP_LISTEN_BACKLOG + struct tcp_pcb_listen* listener; +#endif /* LWIP_CALLBACK_API || TCP_LISTEN_BACKLOG */ + #if LWIP_CALLBACK_API /* Function to be called when more send buffer space is available. */ tcp_sent_fn sent; @@ -333,18 +350,6 @@ struct tcp_pcb { #define ESP_STATS_TCP_PCB(pcb) #endif -struct tcp_pcb_listen { -/* Common members of all PCB types */ - IP_PCB; -/* Protocol specific PCB members */ - TCP_PCB_COMMON(struct tcp_pcb_listen); - -#if TCP_LISTEN_BACKLOG - u8_t backlog; - u8_t accepts_pending; -#endif /* TCP_LISTEN_BACKLOG */ -}; - #if LWIP_EVENT_API enum lwip_event { @@ -369,30 +374,40 @@ struct tcp_pcb * tcp_new (void); struct tcp_pcb * tcp_new_ip_type (u8_t type); void tcp_arg (struct tcp_pcb *pcb, void *arg); -void tcp_accept (struct tcp_pcb *pcb, tcp_accept_fn accept); +#if LWIP_CALLBACK_API void tcp_recv (struct tcp_pcb *pcb, tcp_recv_fn recv); void tcp_sent (struct tcp_pcb *pcb, tcp_sent_fn sent); -void tcp_poll (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval); void tcp_err (struct tcp_pcb *pcb, tcp_err_fn err); +void tcp_accept (struct tcp_pcb *pcb, tcp_accept_fn accept); +#endif /* LWIP_CALLBACK_API */ +void tcp_poll (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval); +#if LWIP_TCP_TIMESTAMPS #define tcp_mss(pcb) (((pcb)->flags & TF_TIMESTAMP) ? ((pcb)->mss - 12) : (pcb)->mss) +#else /* LWIP_TCP_TIMESTAMPS */ +#define tcp_mss(pcb) ((pcb)->mss) +#endif /* LWIP_TCP_TIMESTAMPS */ #define tcp_sndbuf(pcb) (TCPWND16((pcb)->snd_buf)) #define tcp_sndqueuelen(pcb) ((pcb)->snd_queuelen) +/** @ingroup tcp_raw */ #define tcp_nagle_disable(pcb) ((pcb)->flags |= TF_NODELAY) +/** @ingroup tcp_raw */ #define tcp_nagle_enable(pcb) ((pcb)->flags = (tcpflags_t)((pcb)->flags & ~TF_NODELAY)) +/** @ingroup tcp_raw */ #define tcp_nagle_disabled(pcb) (((pcb)->flags & TF_NODELAY) != 0) #if TCP_LISTEN_BACKLOG -#define tcp_accepted(pcb) do { \ - LWIP_ASSERT("pcb->state == LISTEN (called for wrong pcb?)", pcb->state == LISTEN); \ - (((struct tcp_pcb_listen *)(pcb))->accepts_pending--); } while(0) #define tcp_backlog_set(pcb, new_backlog) do { \ LWIP_ASSERT("pcb->state == LISTEN (called for wrong pcb?)", (pcb)->state == LISTEN); \ ((struct tcp_pcb_listen *)(pcb))->backlog = ((new_backlog) ? (new_backlog) : 1); } while(0) +void tcp_backlog_delayed(struct tcp_pcb* pcb); +void tcp_backlog_accepted(struct tcp_pcb* pcb); #else /* TCP_LISTEN_BACKLOG */ -#define tcp_accepted(pcb) LWIP_ASSERT("pcb->state == LISTEN (called for wrong pcb?)", \ - (pcb)->state == LISTEN) +#define tcp_backlog_set(pcb, new_backlog) +#define tcp_backlog_delayed(pcb) +#define tcp_backlog_accepted(pcb) #endif /* TCP_LISTEN_BACKLOG */ +#define tcp_accepted(pcb) /* compatibility define, not needed any more */ void tcp_recved (struct tcp_pcb *pcb, u16_t len); err_t tcp_bind (struct tcp_pcb *pcb, const ip_addr_t *ipaddr, @@ -400,7 +415,9 @@ err_t tcp_bind (struct tcp_pcb *pcb, const ip_addr_t *ipaddr, err_t tcp_connect (struct tcp_pcb *pcb, const ip_addr_t *ipaddr, u16_t port, tcp_connected_fn connected); +struct tcp_pcb * tcp_listen_with_backlog_and_err(struct tcp_pcb *pcb, u8_t backlog, err_t *err); struct tcp_pcb * tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog); +/** @ingroup tcp_raw */ #define tcp_listen(pcb) tcp_listen_with_backlog(pcb, TCP_DEFAULT_LISTEN_BACKLOG) void tcp_abort (struct tcp_pcb *pcb); @@ -428,10 +445,6 @@ const char* tcp_debug_state_str(enum tcp_state s); /* for compatibility with older implementation */ #define tcp_new_ip6() tcp_new_ip_type(IPADDR_TYPE_V6) -#if ESP_PER_SOC_TCP_WND -#define PER_SOC_WND(pcb) (pcb->per_soc_wnd) -#endif - #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/lwip/lwip/tcpip.h b/tools/sdk/include/lwip/lwip/tcpip.h index c1235865..f2f6b469 100644 --- a/tools/sdk/include/lwip/lwip/tcpip.h +++ b/tools/sdk/include/lwip/lwip/tcpip.h @@ -1,3 +1,8 @@ +/** + * @file + * Functions to sync with TCPIP thread + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -37,13 +42,25 @@ #if !NO_SYS /* don't build if not configured for use in lwipopts.h */ #include "lwip/err.h" -#include "lwip/timers.h" +#include "lwip/timeouts.h" #include "lwip/netif.h" #ifdef __cplusplus extern "C" { #endif +#if LWIP_TCPIP_CORE_LOCKING +/** The global semaphore to lock the stack. */ +extern sys_mutex_t lock_tcpip_core; +/** Lock lwIP core mutex (needs @ref LWIP_TCPIP_CORE_LOCKING 1) */ +#define LOCK_TCPIP_CORE() sys_mutex_lock(&lock_tcpip_core) +/** Unlock lwIP core mutex (needs @ref LWIP_TCPIP_CORE_LOCKING 1) */ +#define UNLOCK_TCPIP_CORE() sys_mutex_unlock(&lock_tcpip_core) +#else /* LWIP_TCPIP_CORE_LOCKING */ +#define LOCK_TCPIP_CORE() +#define UNLOCK_TCPIP_CORE() +#endif /* LWIP_TCPIP_CORE_LOCKING */ + struct pbuf; struct netif; @@ -61,6 +78,10 @@ err_t tcpip_inpkt(struct pbuf *p, struct netif *inp, netif_input_fn input_fn); err_t tcpip_input(struct pbuf *p, struct netif *inp); err_t tcpip_callback_with_block(tcpip_callback_fn function, void *ctx, u8_t block); +/** + * @ingroup lwip_os + * @see tcpip_callback_with_block + */ #define tcpip_callback(f, ctx) tcpip_callback_with_block(f, ctx, 1) struct tcpip_callback_msg* tcpip_callbackmsg_new(tcpip_callback_fn function, void *ctx); @@ -71,10 +92,10 @@ err_t tcpip_trycallback(struct tcpip_callback_msg* msg); err_t pbuf_free_callback(struct pbuf *p); err_t mem_free_callback(void *m); -#if LWIP_TCPIP_TIMEOUT +#if LWIP_TCPIP_TIMEOUT && LWIP_TIMERS err_t tcpip_timeout(u32_t msecs, sys_timeout_handler h, void *arg); err_t tcpip_untimeout(sys_timeout_handler h, void *arg); -#endif /* LWIP_TCPIP_TIMEOUT */ +#endif /* LWIP_TCPIP_TIMEOUT && LWIP_TIMERS */ #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwip/timers.h b/tools/sdk/include/lwip/lwip/timeouts.h similarity index 80% rename from tools/sdk/include/lwip/lwip/timers.h rename to tools/sdk/include/lwip/lwip/timeouts.h index d735392d..c9b93aa0 100644 --- a/tools/sdk/include/lwip/lwip/timers.h +++ b/tools/sdk/include/lwip/lwip/timeouts.h @@ -1,3 +1,8 @@ +/** + * @file + * Timer implementations + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -30,16 +35,10 @@ * Simon Goldschmidt * */ -#ifndef LWIP_HDR_TIMERS_H -#define LWIP_HDR_TIMERS_H +#ifndef LWIP_HDR_TIMEOUTS_H +#define LWIP_HDR_TIMEOUTS_H #include "lwip/opt.h" - -/* Timers are not supported when NO_SYS==1 and NO_SYS_NO_TIMERS==1 */ -#define LWIP_TIMERS (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS)) - -#if LWIP_TIMERS - #include "lwip/err.h" #if !NO_SYS #include "lwip/sys.h" @@ -57,6 +56,26 @@ extern "C" { #endif /* LWIP_DEBUG*/ #endif +/** Function prototype for a stack-internal timer function that has to be + * called at a defined interval */ +typedef void (* lwip_cyclic_timer_handler)(void); + +/** This struct contains information about a stack-internal timer function + that has to be called at a defined interval */ +struct lwip_cyclic_timer { + u32_t interval_ms; + lwip_cyclic_timer_handler handler; +#if LWIP_DEBUG_TIMERNAMES + const char* handler_name; +#endif /* LWIP_DEBUG_TIMERNAMES */ +}; + +/** This array contains all stack-internal cyclic timers. To get the number of + * timers, use LWIP_ARRAYSIZE() */ +extern const struct lwip_cyclic_timer lwip_cyclic_timers[]; + +#if LWIP_TIMERS + /** Function prototype for a timeout callback function. Register such a function * using sys_timeout(). * @@ -84,18 +103,19 @@ void sys_timeout(u32_t msecs, sys_timeout_handler handler, void *arg); #endif /* LWIP_DEBUG_TIMERNAMES */ void sys_untimeout(sys_timeout_handler handler, void *arg); +void sys_restart_timeouts(void); #if NO_SYS void sys_check_timeouts(void); -void sys_restart_timeouts(void); u32_t sys_timeouts_sleeptime(void); #else /* NO_SYS */ void sys_timeouts_mbox_fetch(sys_mbox_t *mbox, void **msg); #endif /* NO_SYS */ +#endif /* LWIP_TIMERS */ + #ifdef __cplusplus } #endif -#endif /* LWIP_TIMERS */ -#endif /* LWIP_HDR_TIMERS_H */ +#endif /* LWIP_HDR_TIMEOUTS_H */ diff --git a/tools/sdk/include/lwip/lwip/udp.h b/tools/sdk/include/lwip/lwip/udp.h index c2f6ed9d..b679a82d 100644 --- a/tools/sdk/include/lwip/lwip/udp.h +++ b/tools/sdk/include/lwip/lwip/udp.h @@ -1,3 +1,9 @@ +/** + * @file + * UDP API (to be used from TCPIP thread)\n + * See also @ref udp_raw + */ + /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. @@ -41,29 +47,12 @@ #include "lwip/ip_addr.h" #include "lwip/ip.h" #include "lwip/ip6_addr.h" +#include "lwip/prot/udp.h" #ifdef __cplusplus extern "C" { #endif -#define UDP_HLEN 8 - -/* Fields are (of course) in network byte order. */ -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct udp_hdr { - PACK_STRUCT_FIELD(u16_t src); - PACK_STRUCT_FIELD(u16_t dest); /* src/dest UDP ports */ - PACK_STRUCT_FIELD(u16_t len); - PACK_STRUCT_FIELD(u16_t chksum); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - #define UDP_FLAGS_NOCHKSUM 0x01U #define UDP_FLAGS_UDPLITE 0x02U #define UDP_FLAGS_CONNECTED 0x04U @@ -88,8 +77,9 @@ struct udp_pcb; typedef void (*udp_recv_fn)(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port); +/** the UDP protocol control block */ struct udp_pcb { -/* Common members of all PCB types */ +/** Common members of all PCB types */ IP_PCB; /* Protocol specific PCB members */ @@ -174,10 +164,12 @@ void udp_init (void); #define udp_set_multicast_ttl(pcb, value) do { (pcb)->mcast_ttl = value; } while(0) #define udp_get_multicast_ttl(pcb) ((pcb)->mcast_ttl) +#if ESP_LWIP #if LWIP_IPV6_MLD #define udp_set_multicast_netif_ip6addr(pcb, ip6addr) ip_addr_copy_from_ip6((pcb)->multicast_ip, *(ip6addr)) #define udp_get_multicast_netif_ip6addr(pcb) ip_2_ip6(&(pcb)->multicast_ip) #endif +#endif #endif /* LWIP_MULTICAST_TX_OPTIONS */ @@ -187,9 +179,7 @@ void udp_debug_print(struct udp_hdr *udphdr); #define udp_debug_print(udphdr) #endif -#if LWIP_IPV4 -void udp_netif_ipv4_addr_changed(const ip4_addr_t* old_addr, const ip4_addr_t* new_addr); -#endif /* LWIP_IPV4 */ +void udp_netif_ip_addr_changed(const ip_addr_t* old_addr, const ip_addr_t* new_addr); #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/lwipopts.h b/tools/sdk/include/lwip/lwipopts.h index 8f1dd44f..53b59860 100644 --- a/tools/sdk/include/lwip/lwipopts.h +++ b/tools/sdk/include/lwip/lwipopts.h @@ -44,6 +44,8 @@ #include "esp_system.h" #include "sdkconfig.h" +#include "netif/dhcp_state.h" + /* Enable all Espressif-only options */ /* @@ -220,6 +222,19 @@ */ #define DHCP_DOES_ARP_CHECK CONFIG_LWIP_DHCP_DOES_ARP_CHECK + +/** + * CONFIG_LWIP_DHCP_RESTORE_LAST_IP==1: Last valid IP address obtained from DHCP server + * is restored after reset/power-up. + */ +#if CONFIG_LWIP_DHCP_RESTORE_LAST_IP + +#define LWIP_DHCP_IP_ADDR_RESTORE() dhcp_ip_addr_restore(netif) +#define LWIP_DHCP_IP_ADDR_STORE() dhcp_ip_addr_store(netif) +#define LWIP_DHCP_IP_ADDR_ERASE() dhcp_ip_addr_erase(esp_netif[tcpip_if]) + +#endif + /* ------------------------------------ ---------- AUTOIP options ---------- @@ -626,7 +641,6 @@ --------------------------------------- */ #define LWIP_HOOK_IP4_ROUTE_SRC ip4_route_src_hook - /* --------------------------------------- ---------- Debugging options ---------- @@ -720,7 +734,7 @@ #define ESP_LWIP 1 #define ESP_LWIP_ARP 1 -#define ESP_PER_SOC_TCP_WND 1 +#define ESP_PER_SOC_TCP_WND 0 #define ESP_THREAD_SAFE 1 #define ESP_THREAD_SAFE_DEBUG LWIP_DBG_OFF #define ESP_DHCP 1 @@ -735,9 +749,12 @@ #define ESP_STATS_DROP CONFIG_LWIP_STATS #define ESP_STATS_TCP 0 #define ESP_DHCP_TIMER 1 +#define ESP_DHCPS_TIMER 1 #define ESP_LWIP_LOGI(...) ESP_LOGI("lwip", __VA_ARGS__) #define ESP_PING 1 #define ESP_HAS_SELECT 1 +#define ESP_AUTO_RECV 1 +#define ESP_GRATUITOUS_ARP CONFIG_ESP_GRATUITOUS_ARP #if CONFIG_LWIP_IRAM_OPTIMIZATION #define ESP_IRAM_ATTR IRAM_ATTR @@ -745,9 +762,6 @@ #define ESP_IRAM_ATTR #endif -#define TCP_WND_DEFAULT CONFIG_TCP_WND_DEFAULT -#define TCP_SND_BUF_DEFAULT CONFIG_TCP_SND_BUF_DEFAULT - #if ESP_PERF #define DBG_PERF_PATH_SET(dir, point) #define DBG_PERF_FILTER_LEN 1000 @@ -772,9 +786,18 @@ enum { #define DBG_PERF_FILTER_LEN 1000 #endif +#define TCP_SND_BUF CONFIG_TCP_SND_BUF_DEFAULT +#define TCP_WND CONFIG_TCP_WND_DEFAULT + #if ESP_PER_SOC_TCP_WND +#define TCP_WND_DEFAULT CONFIG_TCP_WND_DEFAULT +#define TCP_SND_BUF_DEFAULT CONFIG_TCP_SND_BUF_DEFAULT #define TCP_WND(pcb) (pcb->per_soc_tcp_wnd) #define TCP_SND_BUF(pcb) (pcb->per_soc_tcp_snd_buf) +#define TCP_SND_QUEUELEN(pcb) ((4 * (TCP_SND_BUF((pcb))) + (TCP_MSS - 1))/(TCP_MSS)) +#define TCP_SNDLOWAT(pcb) LWIP_MIN(LWIP_MAX(((TCP_SND_BUF((pcb)))/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF((pcb))) - 1) +#define TCP_SNDQUEUELOWAT(pcb) LWIP_MAX(((TCP_SND_QUEUELEN((pcb)))/2), 5) +#define TCP_WND_UPDATE_THRESHOLD(pcb) LWIP_MIN((TCP_WND((pcb)) / 4), (TCP_MSS * 4)) #endif /** diff --git a/tools/sdk/include/lwip/netdb.h b/tools/sdk/include/lwip/netdb.h index 12d4c7f5..363154f6 100644 --- a/tools/sdk/include/lwip/netdb.h +++ b/tools/sdk/include/lwip/netdb.h @@ -31,3 +31,10 @@ */ #include "lwip/netdb.h" + +#ifdef ESP_PLATFORM +int getnameinfo(const struct sockaddr *addr, socklen_t addrlen, + char *host, socklen_t hostlen, + char *serv, socklen_t servlen, int flags); + +#endif diff --git a/tools/sdk/include/lwip/netif/dhcp_state.h b/tools/sdk/include/lwip/netif/dhcp_state.h new file mode 100644 index 00000000..ffea1164 --- /dev/null +++ b/tools/sdk/include/lwip/netif/dhcp_state.h @@ -0,0 +1,33 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +#ifndef _DHCP_STATE_H_ +#define _DHCP_STATE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +bool dhcp_ip_addr_restore(void *netif); + +void dhcp_ip_addr_store(void *netif); + +void dhcp_ip_addr_erase(void *netif); + +#ifdef __cplusplus +} +#endif + +#endif /* _DHCP_STATE_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/lwip/netif/etharp.h b/tools/sdk/include/lwip/netif/etharp.h index 3e25c389..b536fd28 100644 --- a/tools/sdk/include/lwip/netif/etharp.h +++ b/tools/sdk/include/lwip/netif/etharp.h @@ -1,147 +1,3 @@ -/* - * Copyright (c) 2001-2003 Swedish Institute of Computer Science. - * Copyright (c) 2003-2004 Leon Woestenberg - * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY - * OF SUCH DAMAGE. - * - * This file is part of the lwIP TCP/IP stack. - * - * Author: Adam Dunkels - * - */ - -#ifndef LWIP_HDR_NETIF_ETHARP_H -#define LWIP_HDR_NETIF_ETHARP_H - -#include "lwip/opt.h" - -#if LWIP_ARP || LWIP_ETHERNET /* don't build if not configured for use in lwipopts.h */ - -#include "lwip/pbuf.h" -#include "lwip/ip4_addr.h" -#include "lwip/netif.h" -#include "lwip/ip4.h" +/* ARP has been moved to core/ipv4, provide this #include for compatibility only */ +#include "lwip/etharp.h" #include "netif/ethernet.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#if LWIP_IPV4 && LWIP_ARP /* don't build if not configured for use in lwipopts.h */ - -#ifndef ETHARP_HWADDR_LEN -#define ETHARP_HWADDR_LEN ETH_HWADDR_LEN -#endif - -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -/** the ARP message, see RFC 826 ("Packet format") */ -struct etharp_hdr { - PACK_STRUCT_FIELD(u16_t hwtype); - PACK_STRUCT_FIELD(u16_t proto); - PACK_STRUCT_FLD_8(u8_t hwlen); - PACK_STRUCT_FLD_8(u8_t protolen); - PACK_STRUCT_FIELD(u16_t opcode); - PACK_STRUCT_FLD_S(struct eth_addr shwaddr); - PACK_STRUCT_FLD_S(struct ip4_addr2 sipaddr); - PACK_STRUCT_FLD_S(struct eth_addr dhwaddr); - PACK_STRUCT_FLD_S(struct ip4_addr2 dipaddr); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define SIZEOF_ETHARP_HDR 28 - -#define SIZEOF_ETHARP_PACKET (SIZEOF_ETH_HDR + SIZEOF_ETHARP_HDR) -#if ETHARP_SUPPORT_VLAN && defined(LWIP_HOOK_VLAN_SET) -#define SIZEOF_ETHARP_PACKET_TX (SIZEOF_ETHARP_PACKET + SIZEOF_VLAN_HDR) -#else /* ETHARP_SUPPORT_VLAN && defined(LWIP_HOOK_VLAN_SET) */ -#define SIZEOF_ETHARP_PACKET_TX SIZEOF_ETHARP_PACKET -#endif /* ETHARP_SUPPORT_VLAN && defined(LWIP_HOOK_VLAN_SET) */ - -/** 1 seconds period */ -#define ARP_TMR_INTERVAL 1000 - -/** ARP message types (opcodes) */ -#define ARP_REQUEST 1 -#define ARP_REPLY 2 - -#if ARP_QUEUEING -/** struct for queueing outgoing packets for unknown address - * defined here to be accessed by memp.h - */ -struct etharp_q_entry { - struct etharp_q_entry *next; - struct pbuf *p; -}; -#endif /* ARP_QUEUEING */ - -#define etharp_init() /* Compatibility define, no init needed. */ -void etharp_tmr(void); -s8_t etharp_find_addr(struct netif *netif, const ip4_addr_t *ipaddr, - struct eth_addr **eth_ret, const ip4_addr_t **ip_ret); -u8_t etharp_get_entry(u8_t i, ip4_addr_t **ipaddr, struct netif **netif, struct eth_addr **eth_ret); -err_t etharp_output(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr); -err_t etharp_query(struct netif *netif, const ip4_addr_t *ipaddr, struct pbuf *q); -err_t etharp_request(struct netif *netif, const ip4_addr_t *ipaddr); -/** For Ethernet network interfaces, we might want to send "gratuitous ARP"; - * this is an ARP packet sent by a node in order to spontaneously cause other - * nodes to update an entry in their ARP cache. - * From RFC 3220 "IP Mobility Support for IPv4" section 4.6. */ -#define etharp_gratuitous(netif) etharp_request((netif), netif_ip4_addr(netif)) -void etharp_cleanup_netif(struct netif *netif); - -#if ETHARP_SUPPORT_STATIC_ENTRIES -err_t etharp_add_static_entry(const ip4_addr_t *ipaddr, struct eth_addr *ethaddr); -err_t etharp_remove_static_entry(const ip4_addr_t *ipaddr); -#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */ - -#if LWIP_AUTOIP -err_t etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr, - const struct eth_addr *ethdst_addr, - const struct eth_addr *hwsrc_addr, const ip4_addr_t *ipsrc_addr, - const struct eth_addr *hwdst_addr, const ip4_addr_t *ipdst_addr, - const u16_t opcode); -#endif /* LWIP_AUTOIP */ - -#endif /* LWIP_IPV4 && LWIP_ARP */ - -void etharp_arp_input(struct netif *netif, struct eth_addr *ethaddr, struct pbuf *p); - -#if ETHARP_TRUST_IP_MAC -void etharp_ip_input(struct netif *netif, struct pbuf *p); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* LWIP_ARP || LWIP_ETHERNET */ - -#endif /* LWIP_HDR_NETIF_ETHARP_H */ diff --git a/tools/sdk/include/lwip/netif/ethernet.h b/tools/sdk/include/lwip/netif/ethernet.h index 17623e4a..49649cbf 100644 --- a/tools/sdk/include/lwip/netif/ethernet.h +++ b/tools/sdk/include/lwip/netif/ethernet.h @@ -1,3 +1,9 @@ +/** + * @file + * Ethernet input function - handles INCOMING ethernet level traffic + * To be used in most low-level netif implementations + */ + /* * Copyright (c) 2001-2003 Swedish Institute of Computer Science. * Copyright (c) 2003-2004 Leon Woestenberg @@ -39,111 +45,12 @@ #include "lwip/pbuf.h" #include "lwip/netif.h" +#include "lwip/prot/ethernet.h" #ifdef __cplusplus extern "C" { #endif -#ifndef ETH_HWADDR_LEN -#ifdef ETHARP_HWADDR_LEN -#define ETH_HWADDR_LEN ETHARP_HWADDR_LEN /* compatibility mode */ -#else -#define ETH_HWADDR_LEN 6 -#endif -#endif - -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -struct eth_addr { - PACK_STRUCT_FLD_8(u8_t addr[ETH_HWADDR_LEN]); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -/** Ethernet header */ -struct eth_hdr { -#if ETH_PAD_SIZE - PACK_STRUCT_FLD_8(u8_t padding[ETH_PAD_SIZE]); -#endif - PACK_STRUCT_FLD_S(struct eth_addr dest); - PACK_STRUCT_FLD_S(struct eth_addr src); - PACK_STRUCT_FIELD(u16_t type); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define SIZEOF_ETH_HDR (14 + ETH_PAD_SIZE) - -#if ETHARP_SUPPORT_VLAN - -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/bpstruct.h" -#endif -PACK_STRUCT_BEGIN -/** VLAN header inserted between ethernet header and payload - * if 'type' in ethernet header is ETHTYPE_VLAN. - * See IEEE802.Q */ -struct eth_vlan_hdr { - PACK_STRUCT_FIELD(u16_t prio_vid); - PACK_STRUCT_FIELD(u16_t tpid); -} PACK_STRUCT_STRUCT; -PACK_STRUCT_END -#ifdef PACK_STRUCT_USE_INCLUDES -# include "arch/epstruct.h" -#endif - -#define SIZEOF_VLAN_HDR 4 -#define VLAN_ID(vlan_hdr) (htons((vlan_hdr)->prio_vid) & 0xFFF) - -#endif /* ETHARP_SUPPORT_VLAN */ - -/* A list of often ethtypes (although lwIP does not use all of them): */ -#define ETHTYPE_IP 0x0800U /* Internet protocol v4 */ -#define ETHTYPE_ARP 0x0806U /* Address resolution protocol */ -#define ETHTYPE_WOL 0x0842U /* Wake on lan */ -#define ETHTYPE_VLAN 0x8100U /* Virtual local area network */ -#define ETHTYPE_IPV6 0x86DDU /* Internet protocol v6 */ -#define ETHTYPE_PPPOEDISC 0x8863U /* PPP Over Ethernet Discovery Stage */ -#define ETHTYPE_PPPOE 0x8864U /* PPP Over Ethernet Session Stage */ -#define ETHTYPE_JUMBO 0x8870U /* Jumbo Frames */ -#define ETHTYPE_PROFINET 0x8892U /* Process field network */ -#define ETHTYPE_ETHERCAT 0x88A4U /* Ethernet for control automation technology */ -#define ETHTYPE_LLDP 0x88CCU /* Link layer discovery protocol */ -#define ETHTYPE_SERCOS 0x88CDU /* Serial real-time communication system */ -#define ETHTYPE_PTP 0x88F7U /* Precision time protocol */ -#define ETHTYPE_QINQ 0x9100U /* Q-in-Q, 802.1ad */ - -/** The 24-bit IANA IPv4-multicast OUI is 01-00-5e: */ -#define LL_IP4_MULTICAST_ADDR_0 0x01 -#define LL_IP4_MULTICAST_ADDR_1 0x00 -#define LL_IP4_MULTICAST_ADDR_2 0x5e - -/** IPv6 multicast uses this prefix */ -#define LL_IP6_MULTICAST_ADDR_0 0x33 -#define LL_IP6_MULTICAST_ADDR_1 0x33 - -/** MEMCPY-like macro to copy to/from struct eth_addr's that are local variables - * or known to be 32-bit aligned within the protocol header. */ -#ifndef ETHADDR32_COPY -#define ETHADDR32_COPY(dst, src) SMEMCPY(dst, src, ETH_HWADDR_LEN) -#endif - -/** MEMCPY-like macro to copy to/from struct eth_addr's that are no local - * variables and known to be 16-bit aligned within the protocol header. */ -#ifndef ETHADDR16_COPY -#define ETHADDR16_COPY(dst, src) SMEMCPY(dst, src, ETH_HWADDR_LEN) -#endif - #if LWIP_ARP || LWIP_ETHERNET /** Define this to 1 and define LWIP_ARP_FILTER_NETIF_FN(pbuf, netif, type) @@ -157,8 +64,7 @@ PACK_STRUCT_END #endif err_t ethernet_input(struct pbuf *p, struct netif *netif); - -#define eth_addr_cmp(addr1, addr2) (memcmp((addr1)->addr, (addr2)->addr, ETH_HWADDR_LEN) == 0) +err_t ethernet_output(struct netif* netif, struct pbuf* p, const struct eth_addr* src, const struct eth_addr* dst, u16_t eth_type); extern const struct eth_addr ethbroadcast, ethzero; diff --git a/tools/sdk/include/lwip/netif/lowpan6.h b/tools/sdk/include/lwip/netif/lowpan6.h index 21552938..4174644b 100644 --- a/tools/sdk/include/lwip/netif/lowpan6.h +++ b/tools/sdk/include/lwip/netif/lowpan6.h @@ -73,7 +73,9 @@ err_t lowpan6_if_init(struct netif *netif); /* pan_id in network byte order. */ err_t lowpan6_set_pan_id(u16_t pan_id); +#if !NO_SYS err_t tcpip_6lowpan_input(struct pbuf *p, struct netif *inp); +#endif /* !NO_SYS */ #ifdef __cplusplus } diff --git a/tools/sdk/include/lwip/netif/lowpan6_opts.h b/tools/sdk/include/lwip/netif/lowpan6_opts.h index 6a769575..fb93ea05 100644 --- a/tools/sdk/include/lwip/netif/lowpan6_opts.h +++ b/tools/sdk/include/lwip/netif/lowpan6_opts.h @@ -1,3 +1,8 @@ +/** + * @file + * 6LowPAN options list + */ + /* * Copyright (c) 2015 Inico Technologies Ltd. * All rights reserved. diff --git a/tools/sdk/include/lwip/netif/ppp/ccp.h b/tools/sdk/include/lwip/netif/ppp/ccp.h index a8eab9c0..14dd6596 100644 --- a/tools/sdk/include/lwip/netif/ppp/ccp.h +++ b/tools/sdk/include/lwip/netif/ppp/ccp.h @@ -30,7 +30,7 @@ * $Id: ccp.h,v 1.12 2004/11/04 10:02:26 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && CCP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef CCP_H diff --git a/tools/sdk/include/lwip/netif/ppp/chap-md5.h b/tools/sdk/include/lwip/netif/ppp/chap-md5.h index a05a157d..eb0269fe 100644 --- a/tools/sdk/include/lwip/netif/ppp/chap-md5.h +++ b/tools/sdk/include/lwip/netif/ppp/chap-md5.h @@ -28,7 +28,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && CHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */ extern const struct chap_digest_type md5_digest; diff --git a/tools/sdk/include/lwip/netif/ppp/chap-new.h b/tools/sdk/include/lwip/netif/ppp/chap-new.h index 9b7c0487..64eae322 100644 --- a/tools/sdk/include/lwip/netif/ppp/chap-new.h +++ b/tools/sdk/include/lwip/netif/ppp/chap-new.h @@ -28,7 +28,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && CHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef CHAP_H diff --git a/tools/sdk/include/lwip/netif/ppp/chap_ms.h b/tools/sdk/include/lwip/netif/ppp/chap_ms.h index 709bb899..07952911 100644 --- a/tools/sdk/include/lwip/netif/ppp/chap_ms.h +++ b/tools/sdk/include/lwip/netif/ppp/chap_ms.h @@ -30,15 +30,15 @@ * $Id: chap_ms.h,v 1.13 2004/11/15 22:13:26 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && MSCHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */ -#ifndef __CHAPMS_INCLUDE__ +#ifndef CHAPMS_INCLUDE +#define CHAPMS_INCLUDE extern const struct chap_digest_type chapms_digest; extern const struct chap_digest_type chapms2_digest; -#define __CHAPMS_INCLUDE__ -#endif /* __CHAPMS_INCLUDE__ */ +#endif /* CHAPMS_INCLUDE */ #endif /* PPP_SUPPORT && MSCHAP_SUPPORT */ diff --git a/tools/sdk/include/lwip/netif/ppp/eap.h b/tools/sdk/include/lwip/netif/ppp/eap.h index 7dfd6763..3ee9aaf8 100644 --- a/tools/sdk/include/lwip/netif/ppp/eap.h +++ b/tools/sdk/include/lwip/netif/ppp/eap.h @@ -20,7 +20,7 @@ * $Id: eap.h,v 1.2 2003/06/11 23:56:26 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && EAP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef PPP_EAP_H @@ -148,12 +148,12 @@ typedef struct eap_state { /* * Timeouts. */ -#if 0 /* moved to opt.h */ +#if 0 /* moved to ppp_opts.h */ #define EAP_DEFTIMEOUT 3 /* Timeout (seconds) for rexmit */ #define EAP_DEFTRANSMITS 10 /* max # times to transmit */ #define EAP_DEFREQTIME 20 /* Time to wait for peer request */ #define EAP_DEFALLOWREQ 20 /* max # times to accept requests */ -#endif /* moved to opt.h */ +#endif /* moved to ppp_opts.h */ void eap_authwithpeer(ppp_pcb *pcb, const char *localname); void eap_authpeer(ppp_pcb *pcb, const char *localname); diff --git a/tools/sdk/include/lwip/netif/ppp/ecp.h b/tools/sdk/include/lwip/netif/ppp/ecp.h index cba6678e..5cdce29d 100644 --- a/tools/sdk/include/lwip/netif/ppp/ecp.h +++ b/tools/sdk/include/lwip/netif/ppp/ecp.h @@ -31,7 +31,7 @@ * $Id: ecp.h,v 1.2 2003/01/10 07:12:36 fcusack Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && ECP_SUPPORT /* don't build if not configured for use in lwipopts.h */ typedef struct ecp_options { diff --git a/tools/sdk/include/lwip/netif/ppp/eui64.h b/tools/sdk/include/lwip/netif/ppp/eui64.h index dffb5e41..20ac22ee 100644 --- a/tools/sdk/include/lwip/netif/ppp/eui64.h +++ b/tools/sdk/include/lwip/netif/ppp/eui64.h @@ -35,14 +35,14 @@ * $Id: eui64.h,v 1.6 2002/12/04 23:03:32 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PPP_IPV6_SUPPORT /* don't build if not configured for use in lwipopts.h */ -#ifndef __EUI64_H__ -#define __EUI64_H__ +#ifndef EUI64_H +#define EUI64_H /* - * TODO: + * @todo: * * Maybe this should be done by processing struct in6_addr directly... */ @@ -84,11 +84,11 @@ typedef union #define eui64_set32(e, l) do { \ (e).e32[0] = 0; \ - (e).e32[1] = htonl(l); \ + (e).e32[1] = lwip_htonl(l); \ } while (0) #define eui64_setlo32(e, l) eui64_set32(e, l) char *eui64_ntoa(eui64_t); /* Returns ascii representation of id */ -#endif /* __EUI64_H__ */ +#endif /* EUI64_H */ #endif /* PPP_SUPPORT && PPP_IPV6_SUPPORT */ diff --git a/tools/sdk/include/lwip/netif/ppp/fsm.h b/tools/sdk/include/lwip/netif/ppp/fsm.h index fc0a4b10..b6915d3b 100644 --- a/tools/sdk/include/lwip/netif/ppp/fsm.h +++ b/tools/sdk/include/lwip/netif/ppp/fsm.h @@ -42,7 +42,7 @@ * $Id: fsm.h,v 1.10 2004/11/13 02:28:15 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef FSM_H @@ -150,12 +150,12 @@ typedef struct fsm_callbacks { /* * Timeouts. */ -#if 0 /* moved to opt.h */ +#if 0 /* moved to ppp_opts.h */ #define DEFTIMEOUT 3 /* Timeout time in seconds */ #define DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */ #define DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */ #define DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */ -#endif /* moved to opt.h */ +#endif /* moved to ppp_opts.h */ /* diff --git a/tools/sdk/include/lwip/netif/ppp/ipcp.h b/tools/sdk/include/lwip/netif/ppp/ipcp.h index 298f8dc6..45f46b31 100644 --- a/tools/sdk/include/lwip/netif/ppp/ipcp.h +++ b/tools/sdk/include/lwip/netif/ppp/ipcp.h @@ -42,7 +42,7 @@ * $Id: ipcp.h,v 1.14 2002/12/04 23:03:32 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PPP_IPV4_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef IPCP_H diff --git a/tools/sdk/include/lwip/netif/ppp/ipv6cp.h b/tools/sdk/include/lwip/netif/ppp/ipv6cp.h index 540a7d18..07d1ae31 100644 --- a/tools/sdk/include/lwip/netif/ppp/ipv6cp.h +++ b/tools/sdk/include/lwip/netif/ppp/ipv6cp.h @@ -138,7 +138,7 @@ * $Id: ipv6cp.h,v 1.7 2002/12/04 23:03:32 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PPP_IPV6_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef IPV6CP_H diff --git a/tools/sdk/include/lwip/netif/ppp/lcp.h b/tools/sdk/include/lwip/netif/ppp/lcp.h index 04970699..12e2a05f 100644 --- a/tools/sdk/include/lwip/netif/ppp/lcp.h +++ b/tools/sdk/include/lwip/netif/ppp/lcp.h @@ -42,7 +42,7 @@ * $Id: lcp.h,v 1.20 2004/11/14 22:53:42 carlsonj Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef LCP_H @@ -90,11 +90,11 @@ /* Value used as data for CI_CALLBACK option */ #define CBCP_OPT 6 /* Use callback control protocol */ -#if 0 /* moved to opt.h */ +#if 0 /* moved to ppp_opts.h */ #define DEFMRU 1500 /* Try for this */ #define MINMRU 128 /* No MRUs below this */ #define MAXMRU 16384 /* Normally limit MRU to this */ -#endif /* moved to opt.h */ +#endif /* moved to ppp_opts.h */ /* An endpoint discriminator, used with multilink. */ #define MAX_ENDP_LEN 20 /* maximum length of discriminator value */ @@ -110,7 +110,9 @@ struct epdisc { typedef struct lcp_options { unsigned int passive :1; /* Don't die if we don't get a response */ unsigned int silent :1; /* Wait for the other end to start first */ +#if 0 /* UNUSED */ unsigned int restart :1; /* Restart vs. exit after close */ +#endif /* UNUSED */ unsigned int neg_mru :1; /* Negotiate the MRU? */ unsigned int neg_asyncmap :1; /* Negotiate the async map? */ #if PAP_SUPPORT @@ -159,11 +161,11 @@ void lcp_sprotrej(ppp_pcb *pcb, u_char *p, int len); /* send protocol reject extern const struct protent lcp_protent; -#if 0 /* moved to opt.h */ +#if 0 /* moved to ppp_opts.h */ /* Default number of times we receive our magic number from the peer before deciding the link is looped-back. */ #define DEFLOOPBACKFAIL 10 -#endif /* moved to opt.h */ +#endif /* moved to ppp_opts.h */ #endif /* LCP_H */ #endif /* PPP_SUPPORT */ diff --git a/tools/sdk/include/lwip/netif/ppp/magic.h b/tools/sdk/include/lwip/netif/ppp/magic.h index 678ff724..a2a9b530 100644 --- a/tools/sdk/include/lwip/netif/ppp/magic.h +++ b/tools/sdk/include/lwip/netif/ppp/magic.h @@ -74,7 +74,7 @@ * Extracted from avos. *****************************************************************************/ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef MAGIC_H diff --git a/tools/sdk/include/lwip/netif/ppp/mppe.h b/tools/sdk/include/lwip/netif/ppp/mppe.h index 93086955..1ae8a5d9 100644 --- a/tools/sdk/include/lwip/netif/ppp/mppe.h +++ b/tools/sdk/include/lwip/netif/ppp/mppe.h @@ -33,17 +33,13 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && MPPE_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef MPPE_H #define MPPE_H -#if LWIP_INCLUDED_POLARSSL_ARC4 -#include "netif/ppp/polarssl/arc4.h" -#else -#include "polarssl/arc4.h" -#endif +#include "netif/ppp/pppcrypt.h" #define MPPE_PAD 4 /* MPPE growth per frame */ #define MPPE_MAX_KEY_LEN 16 /* largest key length (128-bit) */ @@ -63,7 +59,7 @@ * This is not nice ... the alternative is a bitfield struct though. * And unfortunately, we cannot share the same bits for the option * names above since C and H are the same bit. We could do a u_int32 - * but then we have to do a htonl() all the time and/or we still need + * but then we have to do a lwip_htonl() all the time and/or we still need * to know which octet is which. */ #define MPPE_C_BIT 0x01 /* MPPC */ @@ -152,7 +148,7 @@ static const u8_t mppe_sha1_pad2[SHA1_PAD_SIZE] = { * State for an MPPE (de)compressor. */ typedef struct ppp_mppe_state { - arc4_context arc4; + lwip_arc4_context arc4; u8_t master_key[MPPE_MAX_KEY_LEN]; u8_t session_key[MPPE_MAX_KEY_LEN]; u8_t keylen; /* key length in bytes */ diff --git a/tools/sdk/include/lwip/netif/ppp/polarssl/arc4.h b/tools/sdk/include/lwip/netif/ppp/polarssl/arc4.h index 95d9b34a..4af724cd 100644 --- a/tools/sdk/include/lwip/netif/ppp/polarssl/arc4.h +++ b/tools/sdk/include/lwip/netif/ppp/polarssl/arc4.h @@ -33,7 +33,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if LWIP_INCLUDED_POLARSSL_ARC4 #ifndef LWIP_INCLUDED_POLARSSL_ARC4_H diff --git a/tools/sdk/include/lwip/netif/ppp/polarssl/des.h b/tools/sdk/include/lwip/netif/ppp/polarssl/des.h index d0858bd8..e893890e 100644 --- a/tools/sdk/include/lwip/netif/ppp/polarssl/des.h +++ b/tools/sdk/include/lwip/netif/ppp/polarssl/des.h @@ -33,7 +33,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if LWIP_INCLUDED_POLARSSL_DES #ifndef LWIP_INCLUDED_POLARSSL_DES_H diff --git a/tools/sdk/include/lwip/netif/ppp/polarssl/md4.h b/tools/sdk/include/lwip/netif/ppp/polarssl/md4.h index a382f85a..57044568 100644 --- a/tools/sdk/include/lwip/netif/ppp/polarssl/md4.h +++ b/tools/sdk/include/lwip/netif/ppp/polarssl/md4.h @@ -33,7 +33,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if LWIP_INCLUDED_POLARSSL_MD4 #ifndef LWIP_INCLUDED_POLARSSL_MD4_H diff --git a/tools/sdk/include/lwip/netif/ppp/polarssl/md5.h b/tools/sdk/include/lwip/netif/ppp/polarssl/md5.h index a299d98c..12440118 100644 --- a/tools/sdk/include/lwip/netif/ppp/polarssl/md5.h +++ b/tools/sdk/include/lwip/netif/ppp/polarssl/md5.h @@ -33,7 +33,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if LWIP_INCLUDED_POLARSSL_MD5 #ifndef LWIP_INCLUDED_POLARSSL_MD5_H diff --git a/tools/sdk/include/lwip/netif/ppp/polarssl/sha1.h b/tools/sdk/include/lwip/netif/ppp/polarssl/sha1.h index 56d947c2..a4c53e07 100644 --- a/tools/sdk/include/lwip/netif/ppp/polarssl/sha1.h +++ b/tools/sdk/include/lwip/netif/ppp/polarssl/sha1.h @@ -33,7 +33,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if LWIP_INCLUDED_POLARSSL_SHA1 #ifndef LWIP_INCLUDED_POLARSSL_SHA1_H diff --git a/tools/sdk/include/lwip/netif/ppp/ppp.h b/tools/sdk/include/lwip/netif/ppp/ppp.h index 4a502054..d9ea097e 100644 --- a/tools/sdk/include/lwip/netif/ppp/ppp.h +++ b/tools/sdk/include/lwip/netif/ppp/ppp.h @@ -31,7 +31,7 @@ * Original derived from BSD codes. *****************************************************************************/ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef PPP_H @@ -42,13 +42,12 @@ #include "lwip/mem.h" #include "lwip/netif.h" #include "lwip/sys.h" -#include "lwip/sio.h" -#include "lwip/timers.h" +#include "lwip/timeouts.h" #if PPP_IPV6_SUPPORT #include "lwip/ip6_addr.h" #endif /* PPP_IPV6_SUPPORT */ -/* Disable non-working or rarely used PPP feature, so rarely that we don't want to bloat opt.h with them */ +/* Disable non-working or rarely used PPP feature, so rarely that we don't want to bloat ppp_opts.h with them */ #ifndef PPP_OPTIONS #define PPP_OPTIONS 0 #endif @@ -111,18 +110,18 @@ * Values for phase. */ #define PPP_PHASE_DEAD 0 -#define PPP_PHASE_INITIALIZE 1 -#define PPP_PHASE_SERIALCONN 2 -#define PPP_PHASE_DORMANT 3 -#define PPP_PHASE_ESTABLISH 4 -#define PPP_PHASE_AUTHENTICATE 5 -#define PPP_PHASE_CALLBACK 6 -#define PPP_PHASE_NETWORK 7 -#define PPP_PHASE_RUNNING 8 -#define PPP_PHASE_TERMINATE 9 -#define PPP_PHASE_DISCONNECT 10 -#define PPP_PHASE_HOLDOFF 11 -#define PPP_PHASE_MASTER 12 +#define PPP_PHASE_MASTER 1 +#define PPP_PHASE_HOLDOFF 2 +#define PPP_PHASE_INITIALIZE 3 +#define PPP_PHASE_SERIALCONN 4 +#define PPP_PHASE_DORMANT 5 +#define PPP_PHASE_ESTABLISH 6 +#define PPP_PHASE_AUTHENTICATE 7 +#define PPP_PHASE_CALLBACK 8 +#define PPP_PHASE_NETWORK 9 +#define PPP_PHASE_RUNNING 10 +#define PPP_PHASE_TERMINATE 11 +#define PPP_PHASE_DISCONNECT 12 /* Error codes. */ #define PPPERR_NONE 0 /* No error. */ @@ -311,7 +310,6 @@ struct ppp_addrs { * PPP interface control block. */ struct ppp_pcb_s { - /* -- below are data that will NOT be cleared between two sessions */ ppp_settings settings; const struct link_callbacks *link_cb; void *link_ctx_cb; @@ -321,18 +319,12 @@ struct ppp_pcb_s { #endif /* PPP_NOTIFY_PHASE */ void *ctx_cb; /* Callbacks optional pointer */ struct netif *netif; /* PPP interface */ - - /* -- below are data that will be cleared between two sessions */ - - /* - * phase must be the first member of cleared members, because it is used to know - * which part must not be cleared. - */ u8_t phase; /* where the link is at */ u8_t err_code; /* Code indicating why interface is down. */ /* flags */ #if PPP_IPV4_SUPPORT + unsigned int ask_for_local :1; /* request our address from peer */ unsigned int ipcp_is_open :1; /* haven't called np_finished() */ unsigned int ipcp_is_up :1; /* have called ipcp_up() */ unsigned int if4_up :1; /* True when the IPv4 interface is up. */ @@ -432,7 +424,13 @@ struct ppp_pcb_s { ************************/ /* - * Set auth helper, optional, you can either fill ppp_pcb->settings. + * WARNING: For multi-threads environment, all ppp_set_* functions most + * only be called while the PPP is in the dead phase (i.e. disconnected). + */ + +#if PPP_AUTH_SUPPORT +/* + * Set PPP authentication. * * Warning: Using PPPAUTHTYPE_ANY might have security consequences. * RFC 1994 says: @@ -452,6 +450,7 @@ struct ppp_pcb_s { * circumstances, then distinct user names SHOULD be employed, each of * which identifies exactly one authentication method. * + * Default is none auth type, unset (NULL) user and passwd. */ #define PPPAUTHTYPE_NONE 0x00 #define PPPAUTHTYPE_PAP 0x01 @@ -462,6 +461,127 @@ struct ppp_pcb_s { #define PPPAUTHTYPE_ANY 0xff void ppp_set_auth(ppp_pcb *pcb, u8_t authtype, const char *user, const char *passwd); +/* + * If set, peer is required to authenticate. This is mostly necessary for PPP server support. + * + * Default is false. + */ +#define ppp_set_auth_required(ppp, boolval) (ppp->settings.auth_required = boolval) +#endif /* PPP_AUTH_SUPPORT */ + +#if PPP_IPV4_SUPPORT +/* + * Set PPP interface "our" and "his" IPv4 addresses. This is mostly necessary for PPP server + * support but it can also be used on a PPP link where each side choose its own IP address. + * + * Default is unset (0.0.0.0). + */ +#define ppp_set_ipcp_ouraddr(ppp, addr) do { ppp->ipcp_wantoptions.ouraddr = ip4_addr_get_u32(addr); \ + ppp->ask_for_local = ppp->ipcp_wantoptions.ouraddr != 0; } while(0) +#define ppp_set_ipcp_hisaddr(ppp, addr) (ppp->ipcp_wantoptions.hisaddr = ip4_addr_get_u32(addr)) +#if LWIP_DNS +/* + * Set DNS server addresses that are sent if the peer asks for them. This is mostly necessary + * for PPP server support. + * + * Default is unset (0.0.0.0). + */ +#define ppp_set_ipcp_dnsaddr(ppp, index, addr) (ppp->ipcp_allowoptions.dnsaddr[index] = ip4_addr_get_u32(addr)) + +/* + * If set, we ask the peer for up to 2 DNS server addresses. Received DNS server addresses are + * registered using the dns_setserver() function. + * + * Default is false. + */ +#define ppp_set_usepeerdns(ppp, boolval) (ppp->settings.usepeerdns = boolval) +#endif /* LWIP_DNS */ +#endif /* PPP_IPV4_SUPPORT */ + +#if MPPE_SUPPORT +/* Disable MPPE (Microsoft Point to Point Encryption). This parameter is exclusive. */ +#define PPP_MPPE_DISABLE 0x00 +/* Require the use of MPPE (Microsoft Point to Point Encryption). */ +#define PPP_MPPE_ENABLE 0x01 +/* Allow MPPE to use stateful mode. Stateless mode is still attempted first. */ +#define PPP_MPPE_ALLOW_STATEFUL 0x02 +/* Refuse the use of MPPE with 40-bit encryption. Conflict with PPP_MPPE_REFUSE_128. */ +#define PPP_MPPE_REFUSE_40 0x04 +/* Refuse the use of MPPE with 128-bit encryption. Conflict with PPP_MPPE_REFUSE_40. */ +#define PPP_MPPE_REFUSE_128 0x08 +/* + * Set MPPE configuration + * + * Default is disabled. + */ +void ppp_set_mppe(ppp_pcb *pcb, u8_t flags); +#endif /* MPPE_SUPPORT */ + +/* + * Wait for up to intval milliseconds for a valid PPP packet from the peer. + * At the end of this time, or when a valid PPP packet is received from the + * peer, we commence negotiation by sending our first LCP packet. + * + * Default is 0. + */ +#define ppp_set_listen_time(ppp, intval) (ppp->settings.listen_time = intval) + +/* + * If set, we will attempt to initiate a connection but if no reply is received from + * the peer, we will then just wait passively for a valid LCP packet from the peer. + * + * Default is false. + */ +#define ppp_set_passive(ppp, boolval) (ppp->lcp_wantoptions.passive = boolval) + +/* + * If set, we will not transmit LCP packets to initiate a connection until a valid + * LCP packet is received from the peer. This is what we usually call the server mode. + * + * Default is false. + */ +#define ppp_set_silent(ppp, boolval) (ppp->lcp_wantoptions.silent = boolval) + +/* + * If set, enable protocol field compression negotiation in both the receive and + * the transmit direction. + * + * Default is true. + */ +#define ppp_set_neg_pcomp(ppp, boolval) (ppp->lcp_wantoptions.neg_pcompression = \ + ppp->lcp_allowoptions.neg_pcompression = boolval) + +/* + * If set, enable Address/Control compression in both the receive and the transmit + * direction. + * + * Default is true. + */ +#define ppp_set_neg_accomp(ppp, boolval) (ppp->lcp_wantoptions.neg_accompression = \ + ppp->lcp_allowoptions.neg_accompression = boolval) + +/* + * If set, enable asyncmap negotiation. Otherwise forcing all control characters to + * be escaped for both the transmit and the receive direction. + * + * Default is true. + */ +#define ppp_set_neg_asyncmap(ppp, boolval) (ppp->lcp_wantoptions.neg_asyncmap = \ + ppp->lcp_allowoptions.neg_asyncmap = boolval) + +/* + * This option sets the Async-Control-Character-Map (ACCM) for this end of the link. + * The ACCM is a set of 32 bits, one for each of the ASCII control characters with + * values from 0 to 31, where a 1 bit indicates that the corresponding control + * character should not be used in PPP packets sent to this system. The map is + * an unsigned 32 bits integer where the least significant bit (00000001) represents + * character 0 and the most significant bit (80000000) represents character 31. + * We will then ask the peer to send these characters as a 2-byte escape sequence. + * + * Default is 0. + */ +#define ppp_set_asyncmap(ppp, intval) (ppp->lcp_wantoptions.asyncmap = intval) + /* * Set a PPP interface as the default network interface * (used to output all packets for which no specific route is found). @@ -498,13 +618,10 @@ err_t ppp_connect(ppp_pcb *pcb, u16_t holdoff); * * This can only be called if PPP is in the dead phase. * - * Local and remote interface IP addresses, as well as DNS are - * provided through a previously filled struct ppp_addrs. - * * If this port connects to a modem, the modem connection must be * established before calling this. */ -err_t ppp_listen(ppp_pcb *pcb, struct ppp_addrs *addrs); +err_t ppp_listen(ppp_pcb *pcb); #endif /* PPP_SERVER */ /* diff --git a/tools/sdk/include/lwip/netif/ppp/ppp_impl.h b/tools/sdk/include/lwip/netif/ppp/ppp_impl.h index 324f4b05..1d4c7742 100644 --- a/tools/sdk/include/lwip/netif/ppp/ppp_impl.h +++ b/tools/sdk/include/lwip/netif/ppp/ppp_impl.h @@ -33,7 +33,7 @@ #ifndef LWIP_HDR_PPP_IMPL_H #define LWIP_HDR_PPP_IMPL_H -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ @@ -48,7 +48,7 @@ #include "lwip/netif.h" #include "lwip/def.h" -#include "lwip/timers.h" +#include "lwip/timeouts.h" #include "ppp.h" #include "pppdebug.h" @@ -138,10 +138,10 @@ */ struct link_callbacks { /* Start a connection (e.g. Initiate discovery phase) */ - err_t (*connect) (ppp_pcb *pcb, void *ctx); + void (*connect) (ppp_pcb *pcb, void *ctx); #if PPP_SERVER /* Listen for an incoming connection (Passive mode) */ - err_t (*listen) (ppp_pcb *pcb, void *ctx, struct ppp_addrs *addrs); + void (*listen) (ppp_pcb *pcb, void *ctx); #endif /* PPP_SERVER */ /* End a connection (i.e. initiate disconnect phase) */ void (*disconnect) (ppp_pcb *pcb, void *ctx); @@ -378,6 +378,7 @@ struct pppd_stats { * PPP private functions */ + /* * Functions called from lwIP core. */ @@ -385,7 +386,6 @@ struct pppd_stats { /* initialize the PPP subsystem */ int ppp_init(void); - /* * Functions called from PPP link protocols. */ @@ -394,9 +394,6 @@ int ppp_init(void); ppp_pcb *ppp_new(struct netif *pppif, const struct link_callbacks *callbacks, void *link_ctx_cb, ppp_link_status_cb_fn link_status_cb, void *ctx_cb); -/* Set a PPP PCB to its initial state */ -void ppp_clear(ppp_pcb *pcb); - /* Initiate LCP open request */ void ppp_start(ppp_pcb *pcb); @@ -623,7 +620,7 @@ void ppp_warn(const char *fmt, ...); /* log a warning message */ void ppp_error(const char *fmt, ...); /* log an error message */ void ppp_fatal(const char *fmt, ...); /* log an error message and die(1) */ #if PRINTPKT_SUPPORT -void ppp_dump_packet(const char *tag, unsigned char *p, int len); +void ppp_dump_packet(ppp_pcb *pcb, const char *tag, unsigned char *p, int len); /* dump packet to debug log if interesting */ #endif /* PRINTPKT_SUPPORT */ diff --git a/tools/sdk/include/lwip/netif/ppp/ppp_opts.h b/tools/sdk/include/lwip/netif/ppp/ppp_opts.h new file mode 100644 index 00000000..fa79c090 --- /dev/null +++ b/tools/sdk/include/lwip/netif/ppp/ppp_opts.h @@ -0,0 +1,593 @@ +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#ifndef LWIP_PPP_OPTS_H +#define LWIP_PPP_OPTS_H + +#include "lwip/opt.h" + +/** + * PPP_SUPPORT==1: Enable PPP. + */ +#ifndef PPP_SUPPORT +#define PPP_SUPPORT 0 +#endif + +/** + * PPPOE_SUPPORT==1: Enable PPP Over Ethernet + */ +#ifndef PPPOE_SUPPORT +#define PPPOE_SUPPORT 0 +#endif + +/** + * PPPOL2TP_SUPPORT==1: Enable PPP Over L2TP + */ +#ifndef PPPOL2TP_SUPPORT +#define PPPOL2TP_SUPPORT 0 +#endif + +/** + * PPPOL2TP_AUTH_SUPPORT==1: Enable PPP Over L2TP Auth (enable MD5 support) + */ +#ifndef PPPOL2TP_AUTH_SUPPORT +#define PPPOL2TP_AUTH_SUPPORT PPPOL2TP_SUPPORT +#endif + +/** + * PPPOS_SUPPORT==1: Enable PPP Over Serial + */ +#ifndef PPPOS_SUPPORT +#define PPPOS_SUPPORT PPP_SUPPORT +#endif + +/** + * LWIP_PPP_API==1: Enable PPP API (in pppapi.c) + */ +#ifndef LWIP_PPP_API +#define LWIP_PPP_API (PPP_SUPPORT && (NO_SYS == 0)) +#endif + +/** + * MEMP_NUM_PPP_PCB: the number of simultaneously active PPP + * connections (requires the PPP_SUPPORT option) + */ +#ifndef MEMP_NUM_PPP_PCB +#define MEMP_NUM_PPP_PCB 1 +#endif + +#if PPP_SUPPORT + +/** + * MEMP_NUM_PPPOS_INTERFACES: the number of concurrently active PPPoS + * interfaces (only used with PPPOS_SUPPORT==1) + */ +#ifndef MEMP_NUM_PPPOS_INTERFACES +#define MEMP_NUM_PPPOS_INTERFACES MEMP_NUM_PPP_PCB +#endif + +/** + * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE + * interfaces (only used with PPPOE_SUPPORT==1) + */ +#ifndef MEMP_NUM_PPPOE_INTERFACES +#define MEMP_NUM_PPPOE_INTERFACES 1 +#endif + +/** + * MEMP_NUM_PPPOL2TP_INTERFACES: the number of concurrently active PPPoL2TP + * interfaces (only used with PPPOL2TP_SUPPORT==1) + */ +#ifndef MEMP_NUM_PPPOL2TP_INTERFACES +#define MEMP_NUM_PPPOL2TP_INTERFACES 1 +#endif + +/** + * MEMP_NUM_PPP_API_MSG: Number of concurrent PPP API messages (in pppapi.c) + */ +#ifndef MEMP_NUM_PPP_API_MSG +#define MEMP_NUM_PPP_API_MSG 5 +#endif + +/** + * PPP_DEBUG: Enable debugging for PPP. + */ +#ifndef PPP_DEBUG +#define PPP_DEBUG LWIP_DBG_OFF +#endif + +/** + * PPP_INPROC_IRQ_SAFE==1 call pppos_input() using tcpip_callback(). + * + * Please read the "PPPoS input path" chapter in the PPP documentation about this option. + */ +#ifndef PPP_INPROC_IRQ_SAFE +#define PPP_INPROC_IRQ_SAFE 0 +#endif + +/** + * PRINTPKT_SUPPORT==1: Enable PPP print packet support + * + * Mandatory for debugging, it displays exchanged packet content in debug trace. + */ +#ifndef PRINTPKT_SUPPORT +#define PRINTPKT_SUPPORT 0 +#endif + +/** + * PPP_IPV4_SUPPORT==1: Enable PPP IPv4 support + */ +#ifndef PPP_IPV4_SUPPORT +#define PPP_IPV4_SUPPORT (LWIP_IPV4) +#endif + +/** + * PPP_IPV6_SUPPORT==1: Enable PPP IPv6 support + */ +#ifndef PPP_IPV6_SUPPORT +#define PPP_IPV6_SUPPORT (LWIP_IPV6) +#endif + +/** + * PPP_NOTIFY_PHASE==1: Support PPP notify phase support + * + * PPP notify phase support allows you to set a callback which is + * called on change of the internal PPP state machine. + * + * This can be used for example to set a LED pattern depending on the + * current phase of the PPP session. + */ +#ifndef PPP_NOTIFY_PHASE +#define PPP_NOTIFY_PHASE 0 +#endif + +/** + * pbuf_type PPP is using for LCP, PAP, CHAP, EAP, CCP, IPCP and IP6CP packets. + * + * Memory allocated must be single buffered for PPP to works, it requires pbuf + * that are not going to be chained when allocated. This requires setting + * PBUF_POOL_BUFSIZE to at least 512 bytes, which is quite huge for small systems. + * + * Setting PPP_USE_PBUF_RAM to 1 makes PPP use memory from heap where continuous + * buffers are required, allowing you to use a smaller PBUF_POOL_BUFSIZE. + */ +#ifndef PPP_USE_PBUF_RAM +#define PPP_USE_PBUF_RAM 0 +#endif + +/** + * PPP_FCS_TABLE: Keep a 256*2 byte table to speed up FCS calculation for PPPoS + */ +#ifndef PPP_FCS_TABLE +#define PPP_FCS_TABLE 1 +#endif + +/** + * PAP_SUPPORT==1: Support PAP. + */ +#ifndef PAP_SUPPORT +#define PAP_SUPPORT 0 +#endif + +/** + * CHAP_SUPPORT==1: Support CHAP. + */ +#ifndef CHAP_SUPPORT +#define CHAP_SUPPORT 0 +#endif + +/** + * MSCHAP_SUPPORT==1: Support MSCHAP. + */ +#ifndef MSCHAP_SUPPORT +#define MSCHAP_SUPPORT 0 +#endif +#if MSCHAP_SUPPORT +/* MSCHAP requires CHAP support */ +#undef CHAP_SUPPORT +#define CHAP_SUPPORT 1 +#endif /* MSCHAP_SUPPORT */ + +/** + * EAP_SUPPORT==1: Support EAP. + */ +#ifndef EAP_SUPPORT +#define EAP_SUPPORT 0 +#endif + +/** + * CCP_SUPPORT==1: Support CCP. + */ +#ifndef CCP_SUPPORT +#define CCP_SUPPORT 0 +#endif + +/** + * MPPE_SUPPORT==1: Support MPPE. + */ +#ifndef MPPE_SUPPORT +#define MPPE_SUPPORT 0 +#endif +#if MPPE_SUPPORT +/* MPPE requires CCP support */ +#undef CCP_SUPPORT +#define CCP_SUPPORT 1 +/* MPPE requires MSCHAP support */ +#undef MSCHAP_SUPPORT +#define MSCHAP_SUPPORT 1 +/* MSCHAP requires CHAP support */ +#undef CHAP_SUPPORT +#define CHAP_SUPPORT 1 +#endif /* MPPE_SUPPORT */ + +/** + * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET! + */ +#ifndef CBCP_SUPPORT +#define CBCP_SUPPORT 0 +#endif + +/** + * ECP_SUPPORT==1: Support ECP. CURRENTLY NOT SUPPORTED! DO NOT SET! + */ +#ifndef ECP_SUPPORT +#define ECP_SUPPORT 0 +#endif + +/** + * DEMAND_SUPPORT==1: Support dial on demand. CURRENTLY NOT SUPPORTED! DO NOT SET! + */ +#ifndef DEMAND_SUPPORT +#define DEMAND_SUPPORT 0 +#endif + +/** + * LQR_SUPPORT==1: Support Link Quality Report. Do nothing except exchanging some LCP packets. + */ +#ifndef LQR_SUPPORT +#define LQR_SUPPORT 0 +#endif + +/** + * PPP_SERVER==1: Enable PPP server support (waiting for incoming PPP session). + * + * Currently only supported for PPPoS. + */ +#ifndef PPP_SERVER +#define PPP_SERVER 0 +#endif + +#if PPP_SERVER +/* + * PPP_OUR_NAME: Our name for authentication purposes + */ +#ifndef PPP_OUR_NAME +#define PPP_OUR_NAME "lwIP" +#endif +#endif /* PPP_SERVER */ + +/** + * VJ_SUPPORT==1: Support VJ header compression. + */ +#ifndef VJ_SUPPORT +#define VJ_SUPPORT 1 +#endif +/* VJ compression is only supported for TCP over IPv4 over PPPoS. */ +#if !PPPOS_SUPPORT || !PPP_IPV4_SUPPORT || !LWIP_TCP +#undef VJ_SUPPORT +#define VJ_SUPPORT 0 +#endif /* !PPPOS_SUPPORT */ + +/** + * PPP_MD5_RANDM==1: Use MD5 for better randomness. + * Enabled by default if CHAP, EAP, or L2TP AUTH support is enabled. + */ +#ifndef PPP_MD5_RANDM +#define PPP_MD5_RANDM (CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT) +#endif + +/** + * PolarSSL embedded library + * + * + * lwIP contains some files fetched from the latest BSD release of + * the PolarSSL project (PolarSSL 0.10.1-bsd) for ciphers and encryption + * methods we need for lwIP PPP support. + * + * The PolarSSL files were cleaned to contain only the necessary struct + * fields and functions needed for lwIP. + * + * The PolarSSL API was not changed at all, so if you are already using + * PolarSSL you can choose to skip the compilation of the included PolarSSL + * library into lwIP. + * + * If you are not using the embedded copy you must include external + * libraries into your arch/cc.h port file. + * + * Beware of the stack requirements which can be a lot larger if you are not + * using our cleaned PolarSSL library. + */ + +/** + * LWIP_USE_EXTERNAL_POLARSSL: Use external PolarSSL library + */ +#ifndef LWIP_USE_EXTERNAL_POLARSSL +#define LWIP_USE_EXTERNAL_POLARSSL 0 +#endif + +/** + * LWIP_USE_EXTERNAL_MBEDTLS: Use external mbed TLS library + */ +#ifndef LWIP_USE_EXTERNAL_MBEDTLS +#define LWIP_USE_EXTERNAL_MBEDTLS 0 +#endif + +/* + * PPP Timeouts + */ + +/** + * FSM_DEFTIMEOUT: Timeout time in seconds + */ +#ifndef FSM_DEFTIMEOUT +#define FSM_DEFTIMEOUT 6 +#endif + +/** + * FSM_DEFMAXTERMREQS: Maximum Terminate-Request transmissions + */ +#ifndef FSM_DEFMAXTERMREQS +#define FSM_DEFMAXTERMREQS 2 +#endif + +/** + * FSM_DEFMAXCONFREQS: Maximum Configure-Request transmissions + */ +#ifndef FSM_DEFMAXCONFREQS +#define FSM_DEFMAXCONFREQS 10 +#endif + +/** + * FSM_DEFMAXNAKLOOPS: Maximum number of nak loops + */ +#ifndef FSM_DEFMAXNAKLOOPS +#define FSM_DEFMAXNAKLOOPS 5 +#endif + +/** + * UPAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req + */ +#ifndef UPAP_DEFTIMEOUT +#define UPAP_DEFTIMEOUT 6 +#endif + +/** + * UPAP_DEFTRANSMITS: Maximum number of auth-reqs to send + */ +#ifndef UPAP_DEFTRANSMITS +#define UPAP_DEFTRANSMITS 10 +#endif + +#if PPP_SERVER +/** + * UPAP_DEFREQTIME: Time to wait for auth-req from peer + */ +#ifndef UPAP_DEFREQTIME +#define UPAP_DEFREQTIME 30 +#endif +#endif /* PPP_SERVER */ + +/** + * CHAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req + */ +#ifndef CHAP_DEFTIMEOUT +#define CHAP_DEFTIMEOUT 6 +#endif + +/** + * CHAP_DEFTRANSMITS: max # times to send challenge + */ +#ifndef CHAP_DEFTRANSMITS +#define CHAP_DEFTRANSMITS 10 +#endif + +#if PPP_SERVER +/** + * CHAP_DEFRECHALLENGETIME: If this option is > 0, rechallenge the peer every n seconds + */ +#ifndef CHAP_DEFRECHALLENGETIME +#define CHAP_DEFRECHALLENGETIME 0 +#endif +#endif /* PPP_SERVER */ + +/** + * EAP_DEFREQTIME: Time to wait for peer request + */ +#ifndef EAP_DEFREQTIME +#define EAP_DEFREQTIME 6 +#endif + +/** + * EAP_DEFALLOWREQ: max # times to accept requests + */ +#ifndef EAP_DEFALLOWREQ +#define EAP_DEFALLOWREQ 10 +#endif + +#if PPP_SERVER +/** + * EAP_DEFTIMEOUT: Timeout (seconds) for rexmit + */ +#ifndef EAP_DEFTIMEOUT +#define EAP_DEFTIMEOUT 6 +#endif + +/** + * EAP_DEFTRANSMITS: max # times to transmit + */ +#ifndef EAP_DEFTRANSMITS +#define EAP_DEFTRANSMITS 10 +#endif +#endif /* PPP_SERVER */ + +/** + * LCP_DEFLOOPBACKFAIL: Default number of times we receive our magic number from the peer + * before deciding the link is looped-back. + */ +#ifndef LCP_DEFLOOPBACKFAIL +#define LCP_DEFLOOPBACKFAIL 10 +#endif + +/** + * LCP_ECHOINTERVAL: Interval in seconds between keepalive echo requests, 0 to disable. + */ +#ifndef LCP_ECHOINTERVAL +#define LCP_ECHOINTERVAL 0 +#endif + +/** + * LCP_MAXECHOFAILS: Number of unanswered echo requests before failure. + */ +#ifndef LCP_MAXECHOFAILS +#define LCP_MAXECHOFAILS 3 +#endif + +/** + * PPP_MAXIDLEFLAG: Max Xmit idle time (in ms) before resend flag char. + */ +#ifndef PPP_MAXIDLEFLAG +#define PPP_MAXIDLEFLAG 100 +#endif + +/** + * PPP Packet sizes + */ + +/** + * PPP_MRU: Default MRU + */ +#ifndef PPP_MRU +#define PPP_MRU 1500 +#endif + +/** + * PPP_DEFMRU: Default MRU to try + */ +#ifndef PPP_DEFMRU +#define PPP_DEFMRU 1500 +#endif + +/** + * PPP_MAXMRU: Normally limit MRU to this (pppd default = 16384) + */ +#ifndef PPP_MAXMRU +#define PPP_MAXMRU 1500 +#endif + +/** + * PPP_MINMRU: No MRUs below this + */ +#ifndef PPP_MINMRU +#define PPP_MINMRU 128 +#endif + +/** + * PPPOL2TP_DEFMRU: Default MTU and MRU for L2TP + * Default = 1500 - PPPoE(6) - PPP Protocol(2) - IPv4 header(20) - UDP Header(8) + * - L2TP Header(6) - HDLC Header(2) - PPP Protocol(2) - MPPE Header(2) - PPP Protocol(2) + */ +#if PPPOL2TP_SUPPORT +#ifndef PPPOL2TP_DEFMRU +#define PPPOL2TP_DEFMRU 1450 +#endif +#endif /* PPPOL2TP_SUPPORT */ + +/** + * MAXNAMELEN: max length of hostname or name for auth + */ +#ifndef MAXNAMELEN +#define MAXNAMELEN 256 +#endif + +/** + * MAXSECRETLEN: max length of password or secret + */ +#ifndef MAXSECRETLEN +#define MAXSECRETLEN 256 +#endif + +/* ------------------------------------------------------------------------- */ + +/* + * Build triggers for embedded PolarSSL + */ +#if !LWIP_USE_EXTERNAL_POLARSSL && !LWIP_USE_EXTERNAL_MBEDTLS + +/* CHAP, EAP, L2TP AUTH and MD5 Random require MD5 support */ +#if CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM +#define LWIP_INCLUDED_POLARSSL_MD5 1 +#endif /* CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM */ + +#if MSCHAP_SUPPORT + +/* MSCHAP require MD4 support */ +#define LWIP_INCLUDED_POLARSSL_MD4 1 +/* MSCHAP require SHA1 support */ +#define LWIP_INCLUDED_POLARSSL_SHA1 1 +/* MSCHAP require DES support */ +#define LWIP_INCLUDED_POLARSSL_DES 1 + +/* MS-CHAP support is required for MPPE */ +#if MPPE_SUPPORT +/* MPPE require ARC4 support */ +#define LWIP_INCLUDED_POLARSSL_ARC4 1 +#endif /* MPPE_SUPPORT */ + +#endif /* MSCHAP_SUPPORT */ + +#endif /* !LWIP_USE_EXTERNAL_POLARSSL && !LWIP_USE_EXTERNAL_MBEDTLS */ + +/* Default value if unset */ +#ifndef LWIP_INCLUDED_POLARSSL_MD4 +#define LWIP_INCLUDED_POLARSSL_MD4 0 +#endif /* LWIP_INCLUDED_POLARSSL_MD4 */ +#ifndef LWIP_INCLUDED_POLARSSL_MD5 +#define LWIP_INCLUDED_POLARSSL_MD5 0 +#endif /* LWIP_INCLUDED_POLARSSL_MD5 */ +#ifndef LWIP_INCLUDED_POLARSSL_SHA1 +#define LWIP_INCLUDED_POLARSSL_SHA1 0 +#endif /* LWIP_INCLUDED_POLARSSL_SHA1 */ +#ifndef LWIP_INCLUDED_POLARSSL_DES +#define LWIP_INCLUDED_POLARSSL_DES 0 +#endif /* LWIP_INCLUDED_POLARSSL_DES */ +#ifndef LWIP_INCLUDED_POLARSSL_ARC4 +#define LWIP_INCLUDED_POLARSSL_ARC4 0 +#endif /* LWIP_INCLUDED_POLARSSL_ARC4 */ + +#endif /* PPP_SUPPORT */ + +#endif /* LWIP_PPP_OPTS_H */ diff --git a/tools/sdk/include/lwip/lwip/pppapi.h b/tools/sdk/include/lwip/netif/ppp/pppapi.h similarity index 90% rename from tools/sdk/include/lwip/lwip/pppapi.h rename to tools/sdk/include/lwip/netif/ppp/pppapi.h index 3ddf3daf..9bda2a8c 100644 --- a/tools/sdk/include/lwip/lwip/pppapi.h +++ b/tools/sdk/include/lwip/netif/ppp/pppapi.h @@ -25,10 +25,10 @@ * */ -#ifndef __LWIP_PPPAPI_H__ -#define __LWIP_PPPAPI_H__ +#ifndef LWIP_PPPAPI_H +#define LWIP_PPPAPI_H -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if LWIP_PPP_API /* don't build if not configured for use in lwipopts.h */ @@ -47,11 +47,13 @@ extern "C" { struct pppapi_msg_msg { ppp_pcb *ppp; union { +#if ESP_LWIP struct { u8_t authtype; const char *user; const char *passwd; } setauth; +#endif #if PPP_NOTIFY_PHASE struct { ppp_notify_phase_cb_fn notify_phase_cb; @@ -79,7 +81,7 @@ struct pppapi_msg_msg { struct { struct netif *pppif; struct netif *netif; - ip_addr_t *ipaddr; + API_MSG_M_DEF_C(ip_addr_t, ipaddr); u16_t port; #if PPPOL2TP_AUTH_SUPPORT const u8_t *secret; @@ -92,11 +94,6 @@ struct pppapi_msg_msg { struct { u16_t holdoff; } connect; -#if PPP_SERVER - struct { - struct ppp_addrs *addrs; - } listen; -#endif /* PPP_SERVER */ struct { u8_t nocarrier; } close; @@ -108,15 +105,17 @@ struct pppapi_msg_msg { }; struct pppapi_msg { - struct tcpip_api_call call; + struct tcpip_api_call_data call; struct pppapi_msg_msg msg; }; /* API for application */ -void pppapi_set_default(ppp_pcb *pcb); +err_t pppapi_set_default(ppp_pcb *pcb); +#if ESP_LWIP void pppapi_set_auth(ppp_pcb *pcb, u8_t authtype, const char *user, const char *passwd); +#endif #if PPP_NOTIFY_PHASE -void pppapi_set_notify_phase_callback(ppp_pcb *pcb, ppp_notify_phase_cb_fn notify_phase_cb); +err_t pppapi_set_notify_phase_callback(ppp_pcb *pcb, ppp_notify_phase_cb_fn notify_phase_cb); #endif /* PPP_NOTIFY_PHASE */ #if PPPOS_SUPPORT ppp_pcb *pppapi_pppos_create(struct netif *pppif, pppos_output_cb_fn output_cb, ppp_link_status_cb_fn link_status_cb, void *ctx_cb); @@ -133,7 +132,7 @@ ppp_pcb *pppapi_pppol2tp_create(struct netif *pppif, struct netif *netif, ip_add #endif /* PPPOL2TP_SUPPORT */ err_t pppapi_connect(ppp_pcb *pcb, u16_t holdoff); #if PPP_SERVER -err_t pppapi_listen(ppp_pcb *pcb, struct ppp_addrs *addrs); +err_t pppapi_listen(ppp_pcb *pcb); #endif /* PPP_SERVER */ err_t pppapi_close(ppp_pcb *pcb, u8_t nocarrier); err_t pppapi_free(ppp_pcb *pcb); @@ -145,4 +144,4 @@ err_t pppapi_ioctl(ppp_pcb *pcb, u8_t cmd, void *arg); #endif /* LWIP_PPP_API */ -#endif /* __LWIP_PPPAPI_H__ */ +#endif /* LWIP_PPPAPI_H */ diff --git a/tools/sdk/include/lwip/netif/ppp/pppcrypt.h b/tools/sdk/include/lwip/netif/ppp/pppcrypt.h index ef2e87de..a7b2099f 100644 --- a/tools/sdk/include/lwip/netif/ppp/pppcrypt.h +++ b/tools/sdk/include/lwip/netif/ppp/pppcrypt.h @@ -30,14 +30,107 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "lwip/opt.h" -#if PPP_SUPPORT && MSCHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */ +#include "netif/ppp/ppp_opts.h" +#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ + +/* This header file is included in all PPP modules needing hashes and/or ciphers */ #ifndef PPPCRYPT_H #define PPPCRYPT_H +/* + * If included PolarSSL copy is not used, user is expected to include + * external libraries in arch/cc.h (which is included by lwip/arch.h). + */ +#include "lwip/arch.h" + +/* + * Map hashes and ciphers functions to PolarSSL + */ +#if !LWIP_USE_EXTERNAL_MBEDTLS + +#include "netif/ppp/polarssl/md4.h" +#define lwip_md4_context md4_context +#define lwip_md4_init(context) +#define lwip_md4_starts md4_starts +#define lwip_md4_update md4_update +#define lwip_md4_finish md4_finish +#define lwip_md4_free(context) + +#include "netif/ppp/polarssl/md5.h" +#define lwip_md5_context md5_context +#define lwip_md5_init(context) +#define lwip_md5_starts md5_starts +#define lwip_md5_update md5_update +#define lwip_md5_finish md5_finish +#define lwip_md5_free(context) + +#include "netif/ppp/polarssl/sha1.h" +#define lwip_sha1_context sha1_context +#define lwip_sha1_init(context) +#define lwip_sha1_starts sha1_starts +#define lwip_sha1_update sha1_update +#define lwip_sha1_finish sha1_finish +#define lwip_sha1_free(context) + +#include "netif/ppp/polarssl/des.h" +#define lwip_des_context des_context +#define lwip_des_init(context) +#define lwip_des_setkey_enc des_setkey_enc +#define lwip_des_crypt_ecb des_crypt_ecb +#define lwip_des_free(context) + +#include "netif/ppp/polarssl/arc4.h" +#define lwip_arc4_context arc4_context +#define lwip_arc4_init(context) +#define lwip_arc4_setup arc4_setup +#define lwip_arc4_crypt arc4_crypt +#define lwip_arc4_free(context) + +#endif /* !LWIP_USE_EXTERNAL_MBEDTLS */ + +/* + * Map hashes and ciphers functions to mbed TLS + */ +#if LWIP_USE_EXTERNAL_MBEDTLS + +#define lwip_md4_context mbedtls_md4_context +#define lwip_md4_init mbedtls_md4_init +#define lwip_md4_starts mbedtls_md4_starts +#define lwip_md4_update mbedtls_md4_update +#define lwip_md4_finish mbedtls_md4_finish +#define lwip_md4_free mbedtls_md4_free + +#define lwip_md5_context mbedtls_md5_context +#define lwip_md5_init mbedtls_md5_init +#define lwip_md5_starts mbedtls_md5_starts +#define lwip_md5_update mbedtls_md5_update +#define lwip_md5_finish mbedtls_md5_finish +#define lwip_md5_free mbedtls_md5_free + +#define lwip_sha1_context mbedtls_sha1_context +#define lwip_sha1_init mbedtls_sha1_init +#define lwip_sha1_starts mbedtls_sha1_starts +#define lwip_sha1_update mbedtls_sha1_update +#define lwip_sha1_finish mbedtls_sha1_finish +#define lwip_sha1_free mbedtls_sha1_free + +#define lwip_des_context mbedtls_des_context +#define lwip_des_init mbedtls_des_init +#define lwip_des_setkey_enc mbedtls_des_setkey_enc +#define lwip_des_crypt_ecb mbedtls_des_crypt_ecb +#define lwip_des_free mbedtls_des_free + +#define lwip_arc4_context mbedtls_arc4_context +#define lwip_arc4_init mbedtls_arc4_init +#define lwip_arc4_setup mbedtls_arc4_setup +#define lwip_arc4_crypt(context, buffer, length) mbedtls_arc4_crypt(context, length, buffer, buffer) +#define lwip_arc4_free mbedtls_arc4_free + +#endif /* LWIP_USE_EXTERNAL_MBEDTLS */ + void pppcrypt_56_to_64_bit_key(u_char *key, u_char *des_key); #endif /* PPPCRYPT_H */ -#endif /* PPP_SUPPORT && MSCHAP_SUPPORT */ +#endif /* PPP_SUPPORT */ diff --git a/tools/sdk/include/lwip/netif/ppp/pppdebug.h b/tools/sdk/include/lwip/netif/ppp/pppdebug.h index e35c8e09..7ead0459 100644 --- a/tools/sdk/include/lwip/netif/ppp/pppdebug.h +++ b/tools/sdk/include/lwip/netif/ppp/pppdebug.h @@ -34,7 +34,7 @@ ***************************************************************************** */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef PPPDEBUG_H diff --git a/tools/sdk/include/lwip/netif/ppp/pppoe.h b/tools/sdk/include/lwip/netif/ppp/pppoe.h index b1dd2fd9..9f8f2892 100644 --- a/tools/sdk/include/lwip/netif/ppp/pppoe.h +++ b/tools/sdk/include/lwip/netif/ppp/pppoe.h @@ -67,14 +67,14 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PPPOE_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef PPP_OE_H #define PPP_OE_H #include "ppp.h" -#include "netif/etharp.h" +#include "lwip/etharp.h" #ifdef PACK_STRUCT_USE_INCLUDES # include "arch/bpstruct.h" diff --git a/tools/sdk/include/lwip/netif/ppp/pppol2tp.h b/tools/sdk/include/lwip/netif/ppp/pppol2tp.h index 097b4d18..f03950e6 100644 --- a/tools/sdk/include/lwip/netif/ppp/pppol2tp.h +++ b/tools/sdk/include/lwip/netif/ppp/pppol2tp.h @@ -31,11 +31,11 @@ * */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PPPOL2TP_SUPPORT /* don't build if not configured for use in lwipopts.h */ -#ifndef PPPOL2TP_H_ -#define PPPOL2TP_H_ +#ifndef PPPOL2TP_H +#define PPPOL2TP_H #include "ppp.h" @@ -193,9 +193,9 @@ struct pppol2tp_pcb_s { /* Create a new L2TP session. */ ppp_pcb *pppol2tp_create(struct netif *pppif, - struct netif *netif, ip_addr_t *ipaddr, u16_t port, + struct netif *netif, const ip_addr_t *ipaddr, u16_t port, const u8_t *secret, u8_t secret_len, ppp_link_status_cb_fn link_status_cb, void *ctx_cb); -#endif /* PPPOL2TP_H_ */ +#endif /* PPPOL2TP_H */ #endif /* PPP_SUPPORT && PPPOL2TP_SUPPORT */ diff --git a/tools/sdk/include/lwip/netif/ppp/pppos.h b/tools/sdk/include/lwip/netif/ppp/pppos.h index 39b2b7d0..d924a9fc 100644 --- a/tools/sdk/include/lwip/netif/ppp/pppos.h +++ b/tools/sdk/include/lwip/netif/ppp/pppos.h @@ -31,14 +31,13 @@ * */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PPPOS_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef PPPOS_H #define PPPOS_H #include "lwip/sys.h" -#include "lwip/sio.h" #include "ppp.h" #include "vj.h" diff --git a/tools/sdk/include/lwip/netif/ppp/upap.h b/tools/sdk/include/lwip/netif/ppp/upap.h index bb9309bd..7da792ec 100644 --- a/tools/sdk/include/lwip/netif/ppp/upap.h +++ b/tools/sdk/include/lwip/netif/ppp/upap.h @@ -42,7 +42,7 @@ * $Id: upap.h,v 1.8 2002/12/04 23:03:33 paulus Exp $ */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && PAP_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef UPAP_H @@ -88,10 +88,10 @@ /* * Timeouts. */ -#if 0 /* moved to opt.h */ +#if 0 /* moved to ppp_opts.h */ #define UPAP_DEFTIMEOUT 3 /* Timeout (seconds) for retransmitting req */ #define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */ -#endif /* moved to opt.h */ +#endif /* moved to ppp_opts.h */ /* * Each interface is described by upap structure. diff --git a/tools/sdk/include/lwip/netif/ppp/vj.h b/tools/sdk/include/lwip/netif/ppp/vj.h index f2e1f8b4..7f389c84 100644 --- a/tools/sdk/include/lwip/netif/ppp/vj.h +++ b/tools/sdk/include/lwip/netif/ppp/vj.h @@ -22,7 +22,7 @@ * - Initial distribution. */ -#include "lwip/opt.h" +#include "netif/ppp/ppp_opts.h" #if PPP_SUPPORT && VJ_SUPPORT /* don't build if not configured for use in lwipopts.h */ #ifndef VJ_H diff --git a/tools/sdk/include/lwip/netif/slipif.h b/tools/sdk/include/lwip/netif/slipif.h index d164d448..65ba31f8 100644 --- a/tools/sdk/include/lwip/netif/slipif.h +++ b/tools/sdk/include/lwip/netif/slipif.h @@ -1,3 +1,9 @@ +/** + * @file + * + * SLIP netif API + */ + /* * Copyright (c) 2001, Swedish Institute of Computer Science. * All rights reserved. diff --git a/tools/sdk/include/lwip/perf.h b/tools/sdk/include/lwip/perf.h new file mode 100644 index 00000000..089facac --- /dev/null +++ b/tools/sdk/include/lwip/perf.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2001, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ +#ifndef __PERF_H__ +#define __PERF_H__ + +#define PERF_START /* null definition */ +#define PERF_STOP(x) /* null definition */ + +#endif /* __PERF_H__ */ diff --git a/tools/sdk/include/lwip/ping/esp_ping.h b/tools/sdk/include/lwip/ping/esp_ping.h new file mode 100644 index 00000000..d83c5b36 --- /dev/null +++ b/tools/sdk/include/lwip/ping/esp_ping.h @@ -0,0 +1,106 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ESP_PING_H_ +#define ESP_PING_H_ + +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ESP_ERR_PING_BASE 0x6000 + +#define ESP_ERR_PING_INVALID_PARAMS ESP_ERR_PING_BASE + 0x01 +#define ESP_ERR_PING_NO_MEM ESP_ERR_PING_BASE + 0x02 + +#define ESP_PING_CHECK_OPTLEN(optlen, opttype) do { if ((optlen) < sizeof(opttype)) { return ESP_ERR_PING_INVALID_PARAMS; }}while(0) + +typedef struct _ping_found { + uint32_t resp_time; + uint32_t timeout_count; + uint32_t send_count; + uint32_t recv_count; + uint32_t err_count; + uint32_t bytes; + uint32_t total_bytes; + uint32_t total_time; + uint32_t min_time; + uint32_t max_time; + int8_t ping_err; +} esp_ping_found; + +typedef enum { + PING_TARGET_IP_ADDRESS = 50, /**< target IP address */ + PING_TARGET_IP_ADDRESS_COUNT = 51, /**< target IP address total counter */ + PING_TARGET_RCV_TIMEO = 52, /**< receive timeout in milliseconds */ + PING_TARGET_DELAY_TIME = 53, /**< delay time in milliseconds */ + PING_TARGET_ID = 54, /**< identifier */ + PING_TARGET_RES_FN = 55, /**< ping result callback function */ + PING_TARGET_RES_RESET = 56 /**< ping result statistic reset */ +} ping_target_id_t; + +typedef enum { + PING_RES_TIMEOUT = 0, + PING_RES_OK = 1, + PING_RES_FINISH = 2, +} ping_res_t; + +typedef void (* esp_ping_found_fn)(ping_target_id_t found_id, esp_ping_found *found_val); + +/** + * @brief Set PING function option + * + * @param[in] opt_id: option index, 50 for IP, 51 for COUNT, 52 for RCV TIMEOUT, 53 for DELAY TIME, 54 for ID + * @param[in] opt_val: option parameter + * @param[in] opt_len: option length + * + * @return + * - ESP_OK + * - ESP_ERR_PING_INVALID_PARAMS + */ +esp_err_t esp_ping_set_target(ping_target_id_t opt_id, void *opt_val, uint32_t opt_len); + +/** + * @brief Get PING function option + * + * @param[in] opt_id: option index, 50 for IP, 51 for COUNT, 52 for RCV TIMEOUT, 53 for DELAY TIME, 54 for ID + * @param[in] opt_val: option parameter + * @param[in] opt_len: option length + * + * @return + * - ESP_OK + * - ESP_ERR_PING_INVALID_PARAMS + */ +esp_err_t esp_ping_get_target(ping_target_id_t opt_id, void *opt_val, uint32_t opt_len); + +/** + * @brief Get PING function result action + * + * @param[in] res_val: ping function action, 1 for successful, 0 for fail. + * res_len: response bytes + * res_time: response time + * + * @return + * - ESP_OK + * - ESP_ERR_PING_INVALID_PARAMS + */ +esp_err_t esp_ping_result(uint8_t res_val, uint16_t res_len, uint32_t res_time); + +#ifdef __cplusplus +} +#endif + +#endif /* ESP_PING_H_ */ diff --git a/tools/sdk/include/lwip/ping/ping.h b/tools/sdk/include/lwip/ping/ping.h new file mode 100644 index 00000000..6e8eb24b --- /dev/null +++ b/tools/sdk/include/lwip/ping/ping.h @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#ifndef LWIP_PING_H +#define LWIP_PING_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * PING_USE_SOCKETS: Set to 1 to use sockets, otherwise the raw api is used + */ +#ifndef PING_USE_SOCKETS +#define PING_USE_SOCKETS LWIP_SOCKET +#endif + + +int ping_init(void); + +#ifdef ESP_PING +void ping_deinit(void); +#endif + +#if !PING_USE_SOCKETS +void ping_send_now(void); +#endif /* !PING_USE_SOCKETS */ + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_PING_H */ diff --git a/tools/sdk/include/lwip/posix/errno.h b/tools/sdk/include/lwip/posix/errno.h new file mode 100644 index 00000000..5917c75e --- /dev/null +++ b/tools/sdk/include/lwip/posix/errno.h @@ -0,0 +1,33 @@ +/** + * @file + * This file is a posix wrapper for lwip/errno.h. + */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#include "lwip/errno.h" diff --git a/tools/sdk/include/lwip/posix/netdb.h b/tools/sdk/include/lwip/posix/netdb.h new file mode 100644 index 00000000..363154f6 --- /dev/null +++ b/tools/sdk/include/lwip/posix/netdb.h @@ -0,0 +1,40 @@ +/** + * @file + * This file is a posix wrapper for lwip/netdb.h. + */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#include "lwip/netdb.h" + +#ifdef ESP_PLATFORM +int getnameinfo(const struct sockaddr *addr, socklen_t addrlen, + char *host, socklen_t hostlen, + char *serv, socklen_t servlen, int flags); + +#endif diff --git a/tools/sdk/include/lwip/posix/sys/socket.h b/tools/sdk/include/lwip/posix/sys/socket.h new file mode 100644 index 00000000..0ed9baf3 --- /dev/null +++ b/tools/sdk/include/lwip/posix/sys/socket.h @@ -0,0 +1,33 @@ +/** + * @file + * This file is a posix wrapper for lwip/sockets.h. + */ + +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + */ + +#include "lwip/sockets.h" diff --git a/tools/sdk/include/lwip/sys_arch.h b/tools/sdk/include/lwip/sys_arch.h new file mode 100644 index 00000000..b13d7d1f --- /dev/null +++ b/tools/sdk/include/lwip/sys_arch.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2001-2003 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels + * + */ + +#ifndef __SYS_ARCH_H__ +#define __SYS_ARCH_H__ + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "freertos/semphr.h" +#include "arch/vfs_lwip.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef xSemaphoreHandle sys_sem_t; +typedef xSemaphoreHandle sys_mutex_t; +typedef xTaskHandle sys_thread_t; + +typedef struct sys_mbox_s { + xQueueHandle os_mbox; + sys_mutex_t lock; + uint8_t alive; +}* sys_mbox_t; + + +#define LWIP_COMPAT_MUTEX 0 + +#if !LWIP_COMPAT_MUTEX +#define sys_mutex_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) +#define sys_mutex_set_invalid( x ) ( ( *x ) = NULL ) +#endif + +#define sys_mbox_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) +#define sys_mbox_set_invalid( x ) ( ( *x ) = NULL ) + +#define sys_sem_valid( x ) ( ( ( *x ) == NULL) ? pdFALSE : pdTRUE ) +#define sys_sem_set_invalid( x ) ( ( *x ) = NULL ) + +void sys_delay_ms(uint32_t ms); +sys_sem_t* sys_thread_sem_init(void); +void sys_thread_sem_deinit(void); +sys_sem_t* sys_thread_sem_get(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __SYS_ARCH_H__ */ + diff --git a/tools/sdk/include/lwip/vfs_lwip.h b/tools/sdk/include/lwip/vfs_lwip.h new file mode 100644 index 00000000..1957304b --- /dev/null +++ b/tools/sdk/include/lwip/vfs_lwip.h @@ -0,0 +1,23 @@ +// Copyright 2017 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifdef __cplusplus +extern "C" { +#endif + +void esp_vfs_lwip_sockets_register(); + +#ifdef __cplusplus +} +#endif diff --git a/tools/sdk/include/mbedtls/CMakeLists.txt b/tools/sdk/include/mbedtls/CMakeLists.txt index 985a3530..1b581a54 100644 --- a/tools/sdk/include/mbedtls/CMakeLists.txt +++ b/tools/sdk/include/mbedtls/CMakeLists.txt @@ -9,3 +9,8 @@ if(INSTALL_MBEDTLS_HEADERS) PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) endif(INSTALL_MBEDTLS_HEADERS) + +# Make config.h available in an out-of-source build. ssl-opt.sh requires it. +if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + link_to_source(mbedtls) +endif() diff --git a/tools/sdk/include/mbedtls/mbedtls/aes.h b/tools/sdk/include/mbedtls/mbedtls/aes.h index e0fc238d..f6603d59 100644 --- a/tools/sdk/include/mbedtls/mbedtls/aes.h +++ b/tools/sdk/include/mbedtls/mbedtls/aes.h @@ -13,6 +13,11 @@ * ISO/IEC 18033-2:2006: Information technology -- Security * techniques -- Encryption algorithms -- Part 2: Asymmetric * ciphers. + * + * The AES-XTS block mode is standardized by NIST SP 800-38E + * + * and described in detail by IEEE P1619 + * . */ /* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved. @@ -53,7 +58,8 @@ #define MBEDTLS_ERR_AES_INVALID_KEY_LENGTH -0x0020 /**< Invalid key length. */ #define MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH -0x0022 /**< Invalid data input length. */ -/* Error codes in range 0x0023-0x0025 */ +/* Error codes in range 0x0021-0x0025 */ +#define MBEDTLS_ERR_AES_BAD_INPUT_DATA -0x0021 /**< Invalid input data. */ #define MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE -0x0023 /**< Feature not available. For example, an unsupported AES key size. */ #define MBEDTLS_ERR_AES_HW_ACCEL_FAILED -0x0025 /**< AES hardware accelerator failed. */ @@ -88,6 +94,19 @@ typedef struct } mbedtls_aes_context; +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** + * \brief The AES XTS context-type definition. + */ +typedef struct +{ + mbedtls_aes_context crypt; /*!< The AES context to use for AES block + encryption or decryption. */ + mbedtls_aes_context tweak; /*!< The AES context used for tweak + computation. */ +} mbedtls_aes_xts_context; +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + #else /* MBEDTLS_AES_ALT */ #include "aes_alt.h" #endif /* MBEDTLS_AES_ALT */ @@ -109,6 +128,25 @@ void mbedtls_aes_init( mbedtls_aes_context *ctx ); */ void mbedtls_aes_free( mbedtls_aes_context *ctx ); +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** + * \brief This function initializes the specified AES XTS context. + * + * It must be the first API called before using + * the context. + * + * \param ctx The AES XTS context to initialize. + */ +void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx ); + +/** + * \brief This function releases and clears the specified AES XTS context. + * + * \param ctx The AES XTS context to clear. + */ +void mbedtls_aes_xts_free( mbedtls_aes_xts_context *ctx ); +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + /** * \brief This function sets the encryption key. * @@ -141,6 +179,44 @@ int mbedtls_aes_setkey_enc( mbedtls_aes_context *ctx, const unsigned char *key, int mbedtls_aes_setkey_dec( mbedtls_aes_context *ctx, const unsigned char *key, unsigned int keybits ); +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** + * \brief This function prepares an XTS context for encryption and + * sets the encryption key. + * + * \param ctx The AES XTS context to which the key should be bound. + * \param key The encryption key. This is comprised of the XTS key1 + * concatenated with the XTS key2. + * \param keybits The size of \p key passed in bits. Valid options are: + *

    • 256 bits (each of key1 and key2 is a 128-bit key)
    • + *
    • 512 bits (each of key1 and key2 is a 256-bit key)
    + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_AES_INVALID_KEY_LENGTH on failure. + */ +int mbedtls_aes_xts_setkey_enc( mbedtls_aes_xts_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief This function prepares an XTS context for decryption and + * sets the decryption key. + * + * \param ctx The AES XTS context to which the key should be bound. + * \param key The decryption key. This is comprised of the XTS key1 + * concatenated with the XTS key2. + * \param keybits The size of \p key passed in bits. Valid options are: + *
    • 256 bits (each of key1 and key2 is a 128-bit key)
    • + *
    • 512 bits (each of key1 and key2 is a 256-bit key)
    + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_AES_INVALID_KEY_LENGTH on failure. + */ +int mbedtls_aes_xts_setkey_dec( mbedtls_aes_xts_context *ctx, + const unsigned char *key, + unsigned int keybits ); +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + /** * \brief This function performs an AES single-block encryption or * decryption operation. @@ -212,6 +288,49 @@ int mbedtls_aes_crypt_cbc( mbedtls_aes_context *ctx, unsigned char *output ); #endif /* MBEDTLS_CIPHER_MODE_CBC */ +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** + * \brief This function performs an AES-XTS encryption or decryption + * operation for an entire XTS data unit. + * + * AES-XTS encrypts or decrypts blocks based on their location as + * defined by a data unit number. The data unit number must be + * provided by \p data_unit. + * + * NIST SP 800-38E limits the maximum size of a data unit to 2^20 + * AES blocks. If the data unit is larger than this, this function + * returns #MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH. + * + * \param ctx The AES XTS context to use for AES XTS operations. + * \param mode The AES operation: #MBEDTLS_AES_ENCRYPT or + * #MBEDTLS_AES_DECRYPT. + * \param length The length of a data unit in bytes. This can be any + * length between 16 bytes and 2^24 bytes inclusive + * (between 1 and 2^20 block cipher blocks). + * \param data_unit The address of the data unit encoded as an array of 16 + * bytes in little-endian format. For disk encryption, this + * is typically the index of the block device sector that + * contains the data. + * \param input The buffer holding the input data (which is an entire + * data unit). This function reads \p length bytes from \p + * input. + * \param output The buffer holding the output data (which is an entire + * data unit). This function writes \p length bytes to \p + * output. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH if \p length is + * smaller than an AES block in size (16 bytes) or if \p + * length is larger than 2^20 blocks (16 MiB). + */ +int mbedtls_aes_crypt_xts( mbedtls_aes_xts_context *ctx, + int mode, + size_t length, + const unsigned char data_unit[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + #if defined(MBEDTLS_CIPHER_MODE_CFB) /** * \brief This function performs an AES-CFB128 encryption or decryption @@ -295,6 +414,56 @@ int mbedtls_aes_crypt_cfb8( mbedtls_aes_context *ctx, unsigned char *output ); #endif /*MBEDTLS_CIPHER_MODE_CFB */ +#if defined(MBEDTLS_CIPHER_MODE_OFB) +/** + * \brief This function performs an AES-OFB (Output Feedback Mode) + * encryption or decryption operation. + * + * For OFB, you must set up the context with + * mbedtls_aes_setkey_enc(), regardless of whether you are + * performing an encryption or decryption operation. This is + * because OFB mode uses the same key schedule for encryption and + * decryption. + * + * The OFB operation is identical for encryption or decryption, + * therefore no operation mode needs to be specified. + * + * \note Upon exit, the content of iv, the Initialisation Vector, is + * updated so that you can call the same function again on the next + * block(s) of data and get the same result as if it was encrypted + * in one call. This allows a "streaming" usage, by initialising + * iv_off to 0 before the first call, and preserving its value + * between calls. + * + * For non-streaming use, the iv should be initialised on each call + * to a unique value, and iv_off set to 0 on each call. + * + * If you need to retain the contents of the initialisation vector, + * you must either save it manually or use the cipher module + * instead. + * + * \warning For the OFB mode, the initialisation vector must be unique + * every encryption operation. Reuse of an initialisation vector + * will compromise security. + * + * \param ctx The AES context to use for encryption or decryption. + * \param length The length of the input data. + * \param iv_off The offset in IV (updated after use). + * \param iv The initialization vector (updated after use). + * \param input The buffer holding the input data. + * \param output The buffer holding the output data. + * + * \return \c 0 on success. + */ +int mbedtls_aes_crypt_ofb( mbedtls_aes_context *ctx, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); + +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + #if defined(MBEDTLS_CIPHER_MODE_CTR) /** * \brief This function performs an AES-CTR encryption or decryption @@ -309,7 +478,49 @@ int mbedtls_aes_crypt_cfb8( mbedtls_aes_context *ctx, * must use the context initialized with mbedtls_aes_setkey_enc() * for both #MBEDTLS_AES_ENCRYPT and #MBEDTLS_AES_DECRYPT. * - * \warning You must keep the maximum use of your counter in mind. + * \warning You must never reuse a nonce value with the same key. Doing so + * would void the encryption for the two messages encrypted with + * the same nonce and key. + * + * There are two common strategies for managing nonces with CTR: + * + * 1. You can handle everything as a single message processed over + * successive calls to this function. In that case, you want to + * set \p nonce_counter and \p nc_off to 0 for the first call, and + * then preserve the values of \p nonce_counter, \p nc_off and \p + * stream_block across calls to this function as they will be + * updated by this function. + * + * With this strategy, you must not encrypt more than 2**128 + * blocks of data with the same key. + * + * 2. You can encrypt separate messages by dividing the \p + * nonce_counter buffer in two areas: the first one used for a + * per-message nonce, handled by yourself, and the second one + * updated by this function internally. + * + * For example, you might reserve the first 12 bytes for the + * per-message nonce, and the last 4 bytes for internal use. In that + * case, before calling this function on a new message you need to + * set the first 12 bytes of \p nonce_counter to your chosen nonce + * value, the last 4 to 0, and \p nc_off to 0 (which will cause \p + * stream_block to be ignored). That way, you can encrypt at most + * 2**96 messages of up to 2**32 blocks each with the same key. + * + * The per-message nonce (or information sufficient to reconstruct + * it) needs to be communicated with the ciphertext and must be unique. + * The recommended way to ensure uniqueness is to use a message + * counter. An alternative is to generate random nonces, but this + * limits the number of messages that can be securely encrypted: + * for example, with 96-bit random nonces, you should not encrypt + * more than 2**32 messages with the same key. + * + * Note that for both stategies, sizes are measured in blocks and + * that an AES block is 16 bytes. + * + * \warning Upon return, \p stream_block contains sensitive data. Its + * content must not be written to insecure storage and should be + * securely discarded as soon as it's no longer needed. * * \param ctx The AES context to use for encryption or decryption. * \param length The length of the input data. diff --git a/tools/sdk/include/mbedtls/mbedtls/aria.h b/tools/sdk/include/mbedtls/mbedtls/aria.h new file mode 100644 index 00000000..bae0621b --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/aria.h @@ -0,0 +1,331 @@ +/** + * \file aria.h + * + * \brief ARIA block cipher + * + * The ARIA algorithm is a symmetric block cipher that can encrypt and + * decrypt information. It is defined by the Korean Agency for + * Technology and Standards (KATS) in KS X 1213:2004 (in + * Korean, but see http://210.104.33.10/ARIA/index-e.html in English) + * and also described by the IETF in RFC 5794. + */ +/* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of mbed TLS (https://tls.mbed.org) + */ + +#ifndef MBEDTLS_ARIA_H +#define MBEDTLS_ARIA_H + +#if !defined(MBEDTLS_CONFIG_FILE) +#include "config.h" +#else +#include MBEDTLS_CONFIG_FILE +#endif + +#include +#include + +#define MBEDTLS_ARIA_ENCRYPT 1 /**< ARIA encryption. */ +#define MBEDTLS_ARIA_DECRYPT 0 /**< ARIA decryption. */ + +#define MBEDTLS_ARIA_BLOCKSIZE 16 /**< ARIA block size in bytes. */ +#define MBEDTLS_ARIA_MAX_ROUNDS 16 /**< Maxiumum number of rounds in ARIA. */ +#define MBEDTLS_ARIA_MAX_KEYSIZE 32 /**< Maximum size of an ARIA key in bytes. */ + +#define MBEDTLS_ERR_ARIA_INVALID_KEY_LENGTH -0x005C /**< Invalid key length. */ +#define MBEDTLS_ERR_ARIA_INVALID_INPUT_LENGTH -0x005E /**< Invalid data input length. */ +#define MBEDTLS_ERR_ARIA_FEATURE_UNAVAILABLE -0x005A /**< Feature not available. For example, an unsupported ARIA key size. */ +#define MBEDTLS_ERR_ARIA_HW_ACCEL_FAILED -0x0058 /**< ARIA hardware accelerator failed. */ + +#if !defined(MBEDTLS_ARIA_ALT) +// Regular implementation +// + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief The ARIA context-type definition. + */ +typedef struct +{ + unsigned char nr; /*!< The number of rounds (12, 14 or 16) */ + /*! The ARIA round keys. */ + uint32_t rk[MBEDTLS_ARIA_MAX_ROUNDS + 1][MBEDTLS_ARIA_BLOCKSIZE / 4]; +} +mbedtls_aria_context; + +#else /* MBEDTLS_ARIA_ALT */ +#include "aria_alt.h" +#endif /* MBEDTLS_ARIA_ALT */ + +/** + * \brief This function initializes the specified ARIA context. + * + * It must be the first API called before using + * the context. + * + * \param ctx The ARIA context to initialize. + */ +void mbedtls_aria_init( mbedtls_aria_context *ctx ); + +/** + * \brief This function releases and clears the specified ARIA context. + * + * \param ctx The ARIA context to clear. + */ +void mbedtls_aria_free( mbedtls_aria_context *ctx ); + +/** + * \brief This function sets the encryption key. + * + * \param ctx The ARIA context to which the key should be bound. + * \param key The encryption key. + * \param keybits The size of data passed in bits. Valid options are: + *
    • 128 bits
    • + *
    • 192 bits
    • + *
    • 256 bits
    + * + * \return \c 0 on success or #MBEDTLS_ERR_ARIA_INVALID_KEY_LENGTH + * on failure. + */ +int mbedtls_aria_setkey_enc( mbedtls_aria_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief This function sets the decryption key. + * + * \param ctx The ARIA context to which the key should be bound. + * \param key The decryption key. + * \param keybits The size of data passed. Valid options are: + *
    • 128 bits
    • + *
    • 192 bits
    • + *
    • 256 bits
    + * + * \return \c 0 on success, or #MBEDTLS_ERR_ARIA_INVALID_KEY_LENGTH on failure. + */ +int mbedtls_aria_setkey_dec( mbedtls_aria_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief This function performs an ARIA single-block encryption or + * decryption operation. + * + * It performs encryption or decryption (depending on whether + * the key was set for encryption on decryption) on the input + * data buffer defined in the \p input parameter. + * + * mbedtls_aria_init(), and either mbedtls_aria_setkey_enc() or + * mbedtls_aria_setkey_dec() must be called before the first + * call to this API with the same context. + * + * \param ctx The ARIA context to use for encryption or decryption. + * \param input The 16-Byte buffer holding the input data. + * \param output The 16-Byte buffer holding the output data. + + * \return \c 0 on success. + */ +int mbedtls_aria_crypt_ecb( mbedtls_aria_context *ctx, + const unsigned char input[MBEDTLS_ARIA_BLOCKSIZE], + unsigned char output[MBEDTLS_ARIA_BLOCKSIZE] ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/** + * \brief This function performs an ARIA-CBC encryption or decryption operation + * on full blocks. + * + * It performs the operation defined in the \p mode + * parameter (encrypt/decrypt), on the input data buffer defined in + * the \p input parameter. + * + * It can be called as many times as needed, until all the input + * data is processed. mbedtls_aria_init(), and either + * mbedtls_aria_setkey_enc() or mbedtls_aria_setkey_dec() must be called + * before the first call to this API with the same context. + * + * \note This function operates on aligned blocks, that is, the input size + * must be a multiple of the ARIA block size of 16 Bytes. + * + * \note Upon exit, the content of the IV is updated so that you can + * call the same function again on the next + * block(s) of data and get the same result as if it was + * encrypted in one call. This allows a "streaming" usage. + * If you need to retain the contents of the IV, you should + * either save it manually or use the cipher module instead. + * + * + * \param ctx The ARIA context to use for encryption or decryption. + * \param mode The ARIA operation: #MBEDTLS_ARIA_ENCRYPT or + * #MBEDTLS_ARIA_DECRYPT. + * \param length The length of the input data in Bytes. This must be a + * multiple of the block size (16 Bytes). + * \param iv Initialization vector (updated after use). + * \param input The buffer holding the input data. + * \param output The buffer holding the output data. + * + * \return \c 0 on success, or #MBEDTLS_ERR_ARIA_INVALID_INPUT_LENGTH + * on failure. + */ +int mbedtls_aria_crypt_cbc( mbedtls_aria_context *ctx, + int mode, + size_t length, + unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/** + * \brief This function performs an ARIA-CFB128 encryption or decryption + * operation. + * + * It performs the operation defined in the \p mode + * parameter (encrypt or decrypt), on the input data buffer + * defined in the \p input parameter. + * + * For CFB, you must set up the context with mbedtls_aria_setkey_enc(), + * regardless of whether you are performing an encryption or decryption + * operation, that is, regardless of the \p mode parameter. This is + * because CFB mode uses the same key schedule for encryption and + * decryption. + * + * \note Upon exit, the content of the IV is updated so that you can + * call the same function again on the next + * block(s) of data and get the same result as if it was + * encrypted in one call. This allows a "streaming" usage. + * If you need to retain the contents of the + * IV, you must either save it manually or use the cipher + * module instead. + * + * + * \param ctx The ARIA context to use for encryption or decryption. + * \param mode The ARIA operation: #MBEDTLS_ARIA_ENCRYPT or + * #MBEDTLS_ARIA_DECRYPT. + * \param length The length of the input data. + * \param iv_off The offset in IV (updated after use). + * \param iv The initialization vector (updated after use). + * \param input The buffer holding the input data. + * \param output The buffer holding the output data. + * + * \return \c 0 on success. + */ +int mbedtls_aria_crypt_cfb128( mbedtls_aria_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/** + * \brief This function performs an ARIA-CTR encryption or decryption + * operation. + * + * This function performs the operation defined in the \p mode + * parameter (encrypt/decrypt), on the input data buffer + * defined in the \p input parameter. + * + * Due to the nature of CTR, you must use the same key schedule + * for both encryption and decryption operations. Therefore, you + * must use the context initialized with mbedtls_aria_setkey_enc() + * for both #MBEDTLS_ARIA_ENCRYPT and #MBEDTLS_ARIA_DECRYPT. + * + * \warning You must never reuse a nonce value with the same key. Doing so + * would void the encryption for the two messages encrypted with + * the same nonce and key. + * + * There are two common strategies for managing nonces with CTR: + * + * 1. You can handle everything as a single message processed over + * successive calls to this function. In that case, you want to + * set \p nonce_counter and \p nc_off to 0 for the first call, and + * then preserve the values of \p nonce_counter, \p nc_off and \p + * stream_block across calls to this function as they will be + * updated by this function. + * + * With this strategy, you must not encrypt more than 2**128 + * blocks of data with the same key. + * + * 2. You can encrypt separate messages by dividing the \p + * nonce_counter buffer in two areas: the first one used for a + * per-message nonce, handled by yourself, and the second one + * updated by this function internally. + * + * For example, you might reserve the first 12 bytes for the + * per-message nonce, and the last 4 bytes for internal use. In that + * case, before calling this function on a new message you need to + * set the first 12 bytes of \p nonce_counter to your chosen nonce + * value, the last 4 to 0, and \p nc_off to 0 (which will cause \p + * stream_block to be ignored). That way, you can encrypt at most + * 2**96 messages of up to 2**32 blocks each with the same key. + * + * The per-message nonce (or information sufficient to reconstruct + * it) needs to be communicated with the ciphertext and must be unique. + * The recommended way to ensure uniqueness is to use a message + * counter. An alternative is to generate random nonces, but this + * limits the number of messages that can be securely encrypted: + * for example, with 96-bit random nonces, you should not encrypt + * more than 2**32 messages with the same key. + * + * Note that for both stategies, sizes are measured in blocks and + * that an ARIA block is 16 bytes. + * + * \warning Upon return, \p stream_block contains sensitive data. Its + * content must not be written to insecure storage and should be + * securely discarded as soon as it's no longer needed. + * + * \param ctx The ARIA context to use for encryption or decryption. + * \param length The length of the input data. + * \param nc_off The offset in the current \p stream_block, for + * resuming within the current cipher stream. The + * offset pointer should be 0 at the start of a stream. + * \param nonce_counter The 128-bit nonce and counter. + * \param stream_block The saved stream block for resuming. This is + * overwritten by the function. + * \param input The buffer holding the input data. + * \param output The buffer holding the output data. + * + * \return \c 0 on success. + */ +int mbedtls_aria_crypt_ctr( mbedtls_aria_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[MBEDTLS_ARIA_BLOCKSIZE], + unsigned char stream_block[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_SELF_TEST) +/** + * \brief Checkup routine. + * + * \return \c 0 on success, or \c 1 on failure. + */ +int mbedtls_aria_self_test( int verbose ); +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* aria.h */ diff --git a/tools/sdk/include/mbedtls/mbedtls/blowfish.h b/tools/sdk/include/mbedtls/mbedtls/blowfish.h index 22479be5..985faa43 100644 --- a/tools/sdk/include/mbedtls/mbedtls/blowfish.h +++ b/tools/sdk/include/mbedtls/mbedtls/blowfish.h @@ -174,7 +174,46 @@ int mbedtls_blowfish_crypt_cfb64( mbedtls_blowfish_context *ctx, /** * \brief Blowfish-CTR buffer encryption/decryption * - * Warning: You have to keep the maximum use of your counter in mind! + * \warning You must never reuse a nonce value with the same key. Doing so + * would void the encryption for the two messages encrypted with + * the same nonce and key. + * + * There are two common strategies for managing nonces with CTR: + * + * 1. You can handle everything as a single message processed over + * successive calls to this function. In that case, you want to + * set \p nonce_counter and \p nc_off to 0 for the first call, and + * then preserve the values of \p nonce_counter, \p nc_off and \p + * stream_block across calls to this function as they will be + * updated by this function. + * + * With this strategy, you must not encrypt more than 2**64 + * blocks of data with the same key. + * + * 2. You can encrypt separate messages by dividing the \p + * nonce_counter buffer in two areas: the first one used for a + * per-message nonce, handled by yourself, and the second one + * updated by this function internally. + * + * For example, you might reserve the first 4 bytes for the + * per-message nonce, and the last 4 bytes for internal use. In that + * case, before calling this function on a new message you need to + * set the first 4 bytes of \p nonce_counter to your chosen nonce + * value, the last 4 to 0, and \p nc_off to 0 (which will cause \p + * stream_block to be ignored). That way, you can encrypt at most + * 2**32 messages of up to 2**32 blocks each with the same key. + * + * The per-message nonce (or information sufficient to reconstruct + * it) needs to be communicated with the ciphertext and must be unique. + * The recommended way to ensure uniqueness is to use a message + * counter. + * + * Note that for both stategies, sizes are measured in blocks and + * that a Blowfish block is 8 bytes. + * + * \warning Upon return, \p stream_block contains sensitive data. Its + * content must not be written to insecure storage and should be + * securely discarded as soon as it's no longer needed. * * \param ctx Blowfish context * \param length The length of the data diff --git a/tools/sdk/include/mbedtls/mbedtls/bn_mul.h b/tools/sdk/include/mbedtls/mbedtls/bn_mul.h index 354c1cc1..b587317d 100644 --- a/tools/sdk/include/mbedtls/mbedtls/bn_mul.h +++ b/tools/sdk/include/mbedtls/mbedtls/bn_mul.h @@ -49,7 +49,14 @@ /* armcc5 --gnu defines __GNUC__ but doesn't support GNU's extended asm */ #if defined(__GNUC__) && \ ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) -#if defined(__i386__) + +/* + * Disable use of the i386 assembly code below if option -O0, to disable all + * compiler optimisations, is passed, detected with __OPTIMIZE__ + * This is done as the number of registers used in the assembly code doesn't + * work with the -O0 option. + */ +#if defined(__i386__) && defined(__OPTIMIZE__) #define MULADDC_INIT \ asm( \ @@ -142,7 +149,7 @@ "movl %%esi, %3 \n\t" \ : "=m" (t), "=m" (c), "=m" (d), "=m" (s) \ : "m" (t), "m" (s), "m" (d), "m" (c), "m" (b) \ - : "eax", "ecx", "edx", "esi", "edi" \ + : "eax", "ebx", "ecx", "edx", "esi", "edi" \ ); #else @@ -154,7 +161,7 @@ "movl %%esi, %3 \n\t" \ : "=m" (t), "=m" (c), "=m" (d), "=m" (s) \ : "m" (t), "m" (s), "m" (d), "m" (c), "m" (b) \ - : "eax", "ecx", "edx", "esi", "edi" \ + : "eax", "ebx", "ecx", "edx", "esi", "edi" \ ); #endif /* SSE2 */ #endif /* i386 */ @@ -521,7 +528,7 @@ "swi r3, %2 \n\t" \ : "=m" (c), "=m" (d), "=m" (s) \ : "m" (s), "m" (d), "m" (c), "m" (b) \ - : "r3", "r4" "r5", "r6", "r7", "r8", \ + : "r3", "r4", "r5", "r6", "r7", "r8", \ "r9", "r10", "r11", "r12", "r13" \ ); diff --git a/tools/sdk/include/mbedtls/mbedtls/camellia.h b/tools/sdk/include/mbedtls/mbedtls/camellia.h index f0466bfd..7e4721af 100644 --- a/tools/sdk/include/mbedtls/mbedtls/camellia.h +++ b/tools/sdk/include/mbedtls/mbedtls/camellia.h @@ -187,12 +187,54 @@ int mbedtls_camellia_crypt_cfb128( mbedtls_camellia_context *ctx, /** * \brief CAMELLIA-CTR buffer encryption/decryption * - * Warning: You have to keep the maximum use of your counter in mind! - * * Note: Due to the nature of CTR you should use the same key schedule for * both encryption and decryption. So a context initialized with * mbedtls_camellia_setkey_enc() for both MBEDTLS_CAMELLIA_ENCRYPT and MBEDTLS_CAMELLIA_DECRYPT. * + * \warning You must never reuse a nonce value with the same key. Doing so + * would void the encryption for the two messages encrypted with + * the same nonce and key. + * + * There are two common strategies for managing nonces with CTR: + * + * 1. You can handle everything as a single message processed over + * successive calls to this function. In that case, you want to + * set \p nonce_counter and \p nc_off to 0 for the first call, and + * then preserve the values of \p nonce_counter, \p nc_off and \p + * stream_block across calls to this function as they will be + * updated by this function. + * + * With this strategy, you must not encrypt more than 2**128 + * blocks of data with the same key. + * + * 2. You can encrypt separate messages by dividing the \p + * nonce_counter buffer in two areas: the first one used for a + * per-message nonce, handled by yourself, and the second one + * updated by this function internally. + * + * For example, you might reserve the first 12 bytes for the + * per-message nonce, and the last 4 bytes for internal use. In that + * case, before calling this function on a new message you need to + * set the first 12 bytes of \p nonce_counter to your chosen nonce + * value, the last 4 to 0, and \p nc_off to 0 (which will cause \p + * stream_block to be ignored). That way, you can encrypt at most + * 2**96 messages of up to 2**32 blocks each with the same key. + * + * The per-message nonce (or information sufficient to reconstruct + * it) needs to be communicated with the ciphertext and must be unique. + * The recommended way to ensure uniqueness is to use a message + * counter. An alternative is to generate random nonces, but this + * limits the number of messages that can be securely encrypted: + * for example, with 96-bit random nonces, you should not encrypt + * more than 2**32 messages with the same key. + * + * Note that for both stategies, sizes are measured in blocks and + * that a CAMELLIA block is 16 bytes. + * + * \warning Upon return, \p stream_block contains sensitive data. Its + * content must not be written to insecure storage and should be + * securely discarded as soon as it's no longer needed. + * * \param ctx CAMELLIA context * \param length The length of the data * \param nc_off The offset in the current stream_block (for resuming diff --git a/tools/sdk/include/mbedtls/mbedtls/ccm.h b/tools/sdk/include/mbedtls/mbedtls/ccm.h index 8585ce5e..5d727e7c 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ccm.h +++ b/tools/sdk/include/mbedtls/mbedtls/ccm.h @@ -14,6 +14,18 @@ *
  • Nonce - A unique value that is assigned to the payload and the * associated data.
  • * + * Definition of CCM: + * http://csrc.nist.gov/publications/nistpubs/800-38C/SP800-38C_updated-July20_2007.pdf + * RFC 3610 "Counter with CBC-MAC (CCM)" + * + * Related: + * RFC 5116 "An Interface and Algorithms for Authenticated Encryption" + * + * Definition of CCM*: + * IEEE 802.15.4 - IEEE Standard for Local and metropolitan area networks + * Integer representation is fixed most-significant-octet-first order and + * the representation of octets is most-significant-bit-first order. This is + * consistent with RFC 3610. */ /* * Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved @@ -102,7 +114,6 @@ void mbedtls_ccm_free( mbedtls_ccm_context *ctx ); /** * \brief This function encrypts a buffer using CCM. * - * * \note The tag is written to a separate buffer. To concatenate * the \p tag with the \p output, as done in RFC-3610: * Counter with CBC-MAC (CCM), use @@ -112,15 +123,17 @@ void mbedtls_ccm_free( mbedtls_ccm_context *ctx ); * \param ctx The CCM context to use for encryption. * \param length The length of the input data in Bytes. * \param iv Initialization vector (nonce). - * \param iv_len The length of the IV in Bytes: 7, 8, 9, 10, 11, 12, or 13. + * \param iv_len The length of the nonce in Bytes: 7, 8, 9, 10, 11, 12, + * or 13. The length L of the message length field is + * 15 - \p iv_len. * \param add The additional data field. * \param add_len The length of additional data in Bytes. * Must be less than 2^16 - 2^8. * \param input The buffer holding the input data. * \param output The buffer holding the output data. * Must be at least \p length Bytes wide. - * \param tag The buffer holding the tag. - * \param tag_len The length of the tag to generate in Bytes: + * \param tag The buffer holding the authentication field. + * \param tag_len The length of the authentication field to generate in Bytes: * 4, 6, 8, 10, 12, 14 or 16. * * \return \c 0 on success. @@ -133,21 +146,64 @@ int mbedtls_ccm_encrypt_and_tag( mbedtls_ccm_context *ctx, size_t length, unsigned char *tag, size_t tag_len ); /** - * \brief This function performs a CCM authenticated decryption of a - * buffer. + * \brief This function encrypts a buffer using CCM*. * - * \param ctx The CCM context to use for decryption. + * \note The tag is written to a separate buffer. To concatenate + * the \p tag with the \p output, as done in RFC-3610: + * Counter with CBC-MAC (CCM), use + * \p tag = \p output + \p length, and make sure that the + * output buffer is at least \p length + \p tag_len wide. + * + * \note When using this function in a variable tag length context, + * the tag length has to be encoded into the \p iv passed to + * this function. + * + * \param ctx The CCM context to use for encryption. * \param length The length of the input data in Bytes. - * \param iv Initialization vector. - * \param iv_len The length of the IV in Bytes: 7, 8, 9, 10, 11, 12, or 13. + * \param iv Initialization vector (nonce). + * \param iv_len The length of the nonce in Bytes: 7, 8, 9, 10, 11, 12, + * or 13. The length L of the message length field is + * 15 - \p iv_len. * \param add The additional data field. * \param add_len The length of additional data in Bytes. * Must be less than 2^16 - 2^8. * \param input The buffer holding the input data. * \param output The buffer holding the output data. * Must be at least \p length Bytes wide. - * \param tag The buffer holding the tag. - * \param tag_len The length of the tag in Bytes. + * \param tag The buffer holding the authentication field. + * \param tag_len The length of the authentication field to generate in Bytes: + * 0, 4, 6, 8, 10, 12, 14 or 16. + * + * \warning Passing 0 as \p tag_len means that the message is no + * longer authenticated. + * + * \return \c 0 on success. + * \return A CCM or cipher-specific error code on failure. + */ +int mbedtls_ccm_star_encrypt_and_tag( mbedtls_ccm_context *ctx, size_t length, + const unsigned char *iv, size_t iv_len, + const unsigned char *add, size_t add_len, + const unsigned char *input, unsigned char *output, + unsigned char *tag, size_t tag_len ); + +/** + * \brief This function performs a CCM authenticated decryption of a + * buffer. + * + * \param ctx The CCM context to use for decryption. + * \param length The length of the input data in Bytes. + * \param iv Initialization vector (nonce). + * \param iv_len The length of the nonce in Bytes: 7, 8, 9, 10, 11, 12, + * or 13. The length L of the message length field is + * 15 - \p iv_len. + * \param add The additional data field. + * \param add_len The length of additional data in Bytes. + * Must be less than 2^16 - 2^8. + * \param input The buffer holding the input data. + * \param output The buffer holding the output data. + * Must be at least \p length Bytes wide. + * \param tag The buffer holding the authentication field. + * \param tag_len The length of the authentication field in Bytes. * 4, 6, 8, 10, 12, 14 or 16. * * \return \c 0 on success. This indicates that the message is authentic. @@ -160,6 +216,43 @@ int mbedtls_ccm_auth_decrypt( mbedtls_ccm_context *ctx, size_t length, const unsigned char *input, unsigned char *output, const unsigned char *tag, size_t tag_len ); +/** + * \brief This function performs a CCM* authenticated decryption of a + * buffer. + * + * \note When using this function in a variable tag length context, + * the tag length has to be decoded from \p iv and passed to + * this function as \p tag_len. (\p tag needs to be adjusted + * accordingly.) + * + * \param ctx The CCM context to use for decryption. + * \param length The length of the input data in Bytes. + * \param iv Initialization vector (nonce). + * \param iv_len The length of the nonce in Bytes: 7, 8, 9, 10, 11, 12, + * or 13. The length L of the message length field is + * 15 - \p iv_len. + * \param add The additional data field. + * \param add_len The length of additional data in Bytes. + * Must be less than 2^16 - 2^8. + * \param input The buffer holding the input data. + * \param output The buffer holding the output data. + * Must be at least \p length Bytes wide. + * \param tag The buffer holding the authentication field. + * \param tag_len The length of the authentication field in Bytes. + * 0, 4, 6, 8, 10, 12, 14 or 16. + * + * \warning Passing 0 as \p tag_len means that the message is no + * longer authenticated. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_CCM_AUTH_FAILED if the tag does not match. + * \return A cipher-specific error code on calculation failure. + */ +int mbedtls_ccm_star_auth_decrypt( mbedtls_ccm_context *ctx, size_t length, + const unsigned char *iv, size_t iv_len, + const unsigned char *add, size_t add_len, + const unsigned char *input, unsigned char *output, + const unsigned char *tag, size_t tag_len ); #if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C) /** diff --git a/tools/sdk/include/mbedtls/mbedtls/chacha20.h b/tools/sdk/include/mbedtls/mbedtls/chacha20.h new file mode 100644 index 00000000..47bd7d38 --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/chacha20.h @@ -0,0 +1,212 @@ +/** + * \file chacha20.h + * + * \brief This file contains ChaCha20 definitions and functions. + * + * ChaCha20 is a stream cipher that can encrypt and decrypt + * information. ChaCha was created by Daniel Bernstein as a variant of + * its Salsa cipher https://cr.yp.to/chacha/chacha-20080128.pdf + * ChaCha20 is the variant with 20 rounds, that was also standardized + * in RFC 7539. + * + * \author Daniel King + */ + +/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of Mbed TLS (https://tls.mbed.org) + */ + +#ifndef MBEDTLS_CHACHA20_H +#define MBEDTLS_CHACHA20_H + +#if !defined(MBEDTLS_CONFIG_FILE) +#include "config.h" +#else +#include MBEDTLS_CONFIG_FILE +#endif + +#include +#include + +#define MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA -0x0051 /**< Invalid input parameter(s). */ +#define MBEDTLS_ERR_CHACHA20_FEATURE_UNAVAILABLE -0x0053 /**< Feature not available. For example, s part of the API is not implemented. */ +#define MBEDTLS_ERR_CHACHA20_HW_ACCEL_FAILED -0x0055 /**< Chacha20 hardware accelerator failed. */ + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(MBEDTLS_CHACHA20_ALT) + +typedef struct +{ + uint32_t state[16]; /*! The state (before round operations). */ + uint8_t keystream8[64]; /*! Leftover keystream bytes. */ + size_t keystream_bytes_used; /*! Number of keystream bytes already used. */ +} +mbedtls_chacha20_context; + +#else /* MBEDTLS_CHACHA20_ALT */ +#include "chacha20_alt.h" +#endif /* MBEDTLS_CHACHA20_ALT */ + +/** + * \brief This function initializes the specified ChaCha20 context. + * + * It must be the first API called before using + * the context. + * + * It is usually followed by calls to + * \c mbedtls_chacha20_setkey() and + * \c mbedtls_chacha20_starts(), then one or more calls to + * to \c mbedtls_chacha20_update(), and finally to + * \c mbedtls_chacha20_free(). + * + * \param ctx The ChaCha20 context to initialize. + */ +void mbedtls_chacha20_init( mbedtls_chacha20_context *ctx ); + +/** + * \brief This function releases and clears the specified ChaCha20 context. + * + * \param ctx The ChaCha20 context to clear. + */ +void mbedtls_chacha20_free( mbedtls_chacha20_context *ctx ); + +/** + * \brief This function sets the encryption/decryption key. + * + * \note After using this function, you must also call + * \c mbedtls_chacha20_starts() to set a nonce before you + * start encrypting/decrypting data with + * \c mbedtls_chacha_update(). + * + * \param ctx The ChaCha20 context to which the key should be bound. + * \param key The encryption/decryption key. Must be 32 bytes in length. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA if ctx or key is NULL. + */ +int mbedtls_chacha20_setkey( mbedtls_chacha20_context *ctx, + const unsigned char key[32] ); + +/** + * \brief This function sets the nonce and initial counter value. + * + * \note A ChaCha20 context can be re-used with the same key by + * calling this function to change the nonce. + * + * \warning You must never use the same nonce twice with the same key. + * This would void any confidentiality guarantees for the + * messages encrypted with the same nonce and key. + * + * \param ctx The ChaCha20 context to which the nonce should be bound. + * \param nonce The nonce. Must be 12 bytes in size. + * \param counter The initial counter value. This is usually 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA if ctx or nonce is + * NULL. + */ +int mbedtls_chacha20_starts( mbedtls_chacha20_context* ctx, + const unsigned char nonce[12], + uint32_t counter ); + +/** + * \brief This function encrypts or decrypts data. + * + * Since ChaCha20 is a stream cipher, the same operation is + * used for encrypting and decrypting data. + * + * \note The \p input and \p output pointers must either be equal or + * point to non-overlapping buffers. + * + * \note \c mbedtls_chacha20_setkey() and + * \c mbedtls_chacha20_starts() must be called at least once + * to setup the context before this function can be called. + * + * \note This function can be called multiple times in a row in + * order to encrypt of decrypt data piecewise with the same + * key and nonce. + * + * \param ctx The ChaCha20 context to use for encryption or decryption. + * \param size The length of the input data in bytes. + * \param input The buffer holding the input data. + * This pointer can be NULL if size == 0. + * \param output The buffer holding the output data. + * Must be able to hold \p size bytes. + * This pointer can be NULL if size == 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA if the ctx, input, or + * output pointers are NULL. + */ +int mbedtls_chacha20_update( mbedtls_chacha20_context *ctx, + size_t size, + const unsigned char *input, + unsigned char *output ); + +/** + * \brief This function encrypts or decrypts data with ChaCha20 and + * the given key and nonce. + * + * Since ChaCha20 is a stream cipher, the same operation is + * used for encrypting and decrypting data. + * + * \warning You must never use the same (key, nonce) pair more than + * once. This would void any confidentiality guarantees for + * the messages encrypted with the same nonce and key. + * + * \note The \p input and \p output pointers must either be equal or + * point to non-overlapping buffers. + * + * \param key The encryption/decryption key. Must be 32 bytes in length. + * \param nonce The nonce. Must be 12 bytes in size. + * \param counter The initial counter value. This is usually 0. + * \param size The length of the input data in bytes. + * \param input The buffer holding the input data. + * This pointer can be NULL if size == 0. + * \param output The buffer holding the output data. + * Must be able to hold \p size bytes. + * This pointer can be NULL if size == 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA if key, nonce, input, + * or output is NULL. + */ +int mbedtls_chacha20_crypt( const unsigned char key[32], + const unsigned char nonce[12], + uint32_t counter, + size_t size, + const unsigned char* input, + unsigned char* output ); + +#if defined(MBEDTLS_SELF_TEST) +/** + * \brief The ChaCha20 checkup routine. + * + * \return \c 0 on success. + * \return \c 1 on failure. + */ +int mbedtls_chacha20_self_test( int verbose ); +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* MBEDTLS_CHACHA20_H */ diff --git a/tools/sdk/include/mbedtls/mbedtls/chachapoly.h b/tools/sdk/include/mbedtls/mbedtls/chachapoly.h new file mode 100644 index 00000000..42b2b230 --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/chachapoly.h @@ -0,0 +1,355 @@ +/** + * \file chachapoly.h + * + * \brief This file contains the AEAD-ChaCha20-Poly1305 definitions and + * functions. + * + * ChaCha20-Poly1305 is an algorithm for Authenticated Encryption + * with Associated Data (AEAD) that can be used to encrypt and + * authenticate data. It is based on ChaCha20 and Poly1305 by Daniel + * Bernstein and was standardized in RFC 7539. + * + * \author Daniel King + */ + +/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of Mbed TLS (https://tls.mbed.org) + */ + +#ifndef MBEDTLS_CHACHAPOLY_H +#define MBEDTLS_CHACHAPOLY_H + +#if !defined(MBEDTLS_CONFIG_FILE) +#include "config.h" +#else +#include MBEDTLS_CONFIG_FILE +#endif + +/* for shared error codes */ +#include "poly1305.h" + +#define MBEDTLS_ERR_CHACHAPOLY_BAD_STATE -0x0054 /**< The requested operation is not permitted in the current state. */ +#define MBEDTLS_ERR_CHACHAPOLY_AUTH_FAILED -0x0056 /**< Authenticated decryption failed: data was not authentic. */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum +{ + MBEDTLS_CHACHAPOLY_ENCRYPT, /**< The mode value for performing encryption. */ + MBEDTLS_CHACHAPOLY_DECRYPT /**< The mode value for performing decryption. */ +} +mbedtls_chachapoly_mode_t; + +#if !defined(MBEDTLS_CHACHAPOLY_ALT) + +#include "chacha20.h" + +typedef struct +{ + mbedtls_chacha20_context chacha20_ctx; /**< The ChaCha20 context. */ + mbedtls_poly1305_context poly1305_ctx; /**< The Poly1305 context. */ + uint64_t aad_len; /**< The length (bytes) of the Additional Authenticated Data. */ + uint64_t ciphertext_len; /**< The length (bytes) of the ciphertext. */ + int state; /**< The current state of the context. */ + mbedtls_chachapoly_mode_t mode; /**< Cipher mode (encrypt or decrypt). */ +} +mbedtls_chachapoly_context; + +#else /* !MBEDTLS_CHACHAPOLY_ALT */ +#include "chachapoly_alt.h" +#endif /* !MBEDTLS_CHACHAPOLY_ALT */ + +/** + * \brief This function initializes the specified ChaCha20-Poly1305 context. + * + * It must be the first API called before using + * the context. It must be followed by a call to + * \c mbedtls_chachapoly_setkey() before any operation can be + * done, and to \c mbedtls_chachapoly_free() once all + * operations with that context have been finished. + * + * In order to encrypt or decrypt full messages at once, for + * each message you should make a single call to + * \c mbedtls_chachapoly_crypt_and_tag() or + * \c mbedtls_chachapoly_auth_decrypt(). + * + * In order to encrypt messages piecewise, for each + * message you should make a call to + * \c mbedtls_chachapoly_starts(), then 0 or more calls to + * \c mbedtls_chachapoly_update_aad(), then 0 or more calls to + * \c mbedtls_chachapoly_update(), then one call to + * \c mbedtls_chachapoly_finish(). + * + * \warning Decryption with the piecewise API is discouraged! Always + * use \c mbedtls_chachapoly_auth_decrypt() when possible! + * + * If however this is not possible because the data is too + * large to fit in memory, you need to: + * + * - call \c mbedtls_chachapoly_starts() and (if needed) + * \c mbedtls_chachapoly_update_aad() as above, + * - call \c mbedtls_chachapoly_update() multiple times and + * ensure its output (the plaintext) is NOT used in any other + * way than placing it in temporary storage at this point, + * - call \c mbedtls_chachapoly_finish() to compute the + * authentication tag and compared it in constant time to the + * tag received with the ciphertext. + * + * If the tags are not equal, you must immediately discard + * all previous outputs of \c mbedtls_chachapoly_update(), + * otherwise you can now safely use the plaintext. + * + * \param ctx The ChachaPoly context to initialize. + */ +void mbedtls_chachapoly_init( mbedtls_chachapoly_context *ctx ); + +/** + * \brief This function releases and clears the specified ChaCha20-Poly1305 context. + * + * \param ctx The ChachaPoly context to clear. + */ +void mbedtls_chachapoly_free( mbedtls_chachapoly_context *ctx ); + +/** + * \brief This function sets the ChaCha20-Poly1305 symmetric encryption key. + * + * \param ctx The ChaCha20-Poly1305 context to which the key should be + * bound. + * \param key The 256-bit (32 bytes) key. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if \p ctx or \p key are NULL. + */ +int mbedtls_chachapoly_setkey( mbedtls_chachapoly_context *ctx, + const unsigned char key[32] ); + +/** + * \brief This function starts a ChaCha20-Poly1305 encryption or + * decryption operation. + * + * \warning You must never use the same nonce twice with the same key. + * This would void any confidentiality and authenticity + * guarantees for the messages encrypted with the same nonce + * and key. + * + * \note If the context is being used for AAD only (no data to + * encrypt or decrypt) then \p mode can be set to any value. + * + * \warning Decryption with the piecewise API is discouraged, see the + * warning on \c mbedtls_chachapoly_init(). + * + * \param ctx The ChaCha20-Poly1305 context. + * \param nonce The nonce/IV to use for the message. Must be 12 bytes. + * \param mode The operation to perform: #MBEDTLS_CHACHAPOLY_ENCRYPT or + * #MBEDTLS_CHACHAPOLY_DECRYPT (discouraged, see warning). + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if \p ctx or \p mac are NULL. + */ +int mbedtls_chachapoly_starts( mbedtls_chachapoly_context *ctx, + const unsigned char nonce[12], + mbedtls_chachapoly_mode_t mode ); + +/** + * \brief This function feeds additional data to be authenticated + * into an ongoing ChaCha20-Poly1305 operation. + * + * The Additional Authenticated Data (AAD), also called + * Associated Data (AD) is only authenticated but not + * encrypted nor included in the encrypted output. It is + * usually transmitted separately from the ciphertext or + * computed locally by each party. + * + * \note This function is called before data is encrypted/decrypted. + * I.e. call this function to process the AAD before calling + * \c mbedtls_chachapoly_update(). + * + * You may call this function multiple times to process + * an arbitrary amount of AAD. It is permitted to call + * this function 0 times, if no AAD is used. + * + * This function cannot be called any more if data has + * been processed by \c mbedtls_chachapoly_update(), + * or if the context has been finished. + * + * \warning Decryption with the piecewise API is discouraged, see the + * warning on \c mbedtls_chachapoly_init(). + * + * \param ctx The ChaCha20-Poly1305 context to use. + * \param aad_len The length (in bytes) of the AAD. The length has no + * restrictions. + * \param aad Buffer containing the AAD. + * This pointer can be NULL if aad_len == 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if \p ctx or \p aad are NULL. + * \return #MBEDTLS_ERR_CHACHAPOLY_BAD_STATE + * if the operations has not been started or has been + * finished, or if the AAD has been finished. + */ +int mbedtls_chachapoly_update_aad( mbedtls_chachapoly_context *ctx, + const unsigned char *aad, + size_t aad_len ); + +/** + * \brief Thus function feeds data to be encrypted or decrypted + * into an on-going ChaCha20-Poly1305 + * operation. + * + * The direction (encryption or decryption) depends on the + * mode that was given when calling + * \c mbedtls_chachapoly_starts(). + * + * You may call this function multiple times to process + * an arbitrary amount of data. It is permitted to call + * this function 0 times, if no data is to be encrypted + * or decrypted. + * + * \warning Decryption with the piecewise API is discouraged, see the + * warning on \c mbedtls_chachapoly_init(). + * + * \param ctx The ChaCha20-Poly1305 context to use. + * \param len The length (in bytes) of the data to encrypt or decrypt. + * \param input The buffer containing the data to encrypt or decrypt. + * This pointer can be NULL if len == 0. + * \param output The buffer to where the encrypted or decrypted data is written. + * Must be able to hold \p len bytes. + * This pointer can be NULL if len == 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if \p ctx, \p input, or \p output are NULL. + * \return #MBEDTLS_ERR_CHACHAPOLY_BAD_STATE + * if the operation has not been started or has been + * finished. + */ +int mbedtls_chachapoly_update( mbedtls_chachapoly_context *ctx, + size_t len, + const unsigned char *input, + unsigned char *output ); + +/** + * \brief This function finished the ChaCha20-Poly1305 operation and + * generates the MAC (authentication tag). + * + * \param ctx The ChaCha20-Poly1305 context to use. + * \param mac The buffer to where the 128-bit (16 bytes) MAC is written. + * + * \warning Decryption with the piecewise API is discouraged, see the + * warning on \c mbedtls_chachapoly_init(). + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if \p ctx or \p mac are NULL. + * \return #MBEDTLS_ERR_CHACHAPOLY_BAD_STATE + * if the operation has not been started or has been + * finished. + */ +int mbedtls_chachapoly_finish( mbedtls_chachapoly_context *ctx, + unsigned char mac[16] ); + +/** + * \brief This function performs a complete ChaCha20-Poly1305 + * authenticated encryption with the previously-set key. + * + * \note Before using this function, you must set the key with + * \c mbedtls_chachapoly_setkey(). + * + * \warning You must never use the same nonce twice with the same key. + * This would void any confidentiality and authenticity + * guarantees for the messages encrypted with the same nonce + * and key. + * + * \param ctx The ChaCha20-Poly1305 context to use (holds the key). + * \param length The length (in bytes) of the data to encrypt or decrypt. + * \param nonce The 96-bit (12 bytes) nonce/IV to use. + * \param aad The buffer containing the additional authenticated data (AAD). + * This pointer can be NULL if aad_len == 0. + * \param aad_len The length (in bytes) of the AAD data to process. + * \param input The buffer containing the data to encrypt or decrypt. + * This pointer can be NULL if ilen == 0. + * \param output The buffer to where the encrypted or decrypted data is written. + * This pointer can be NULL if ilen == 0. + * \param tag The buffer to where the computed 128-bit (16 bytes) MAC is written. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if one or more of the required parameters are NULL. + */ +int mbedtls_chachapoly_encrypt_and_tag( mbedtls_chachapoly_context *ctx, + size_t length, + const unsigned char nonce[12], + const unsigned char *aad, + size_t aad_len, + const unsigned char *input, + unsigned char *output, + unsigned char tag[16] ); + +/** + * \brief This function performs a complete ChaCha20-Poly1305 + * authenticated decryption with the previously-set key. + * + * \note Before using this function, you must set the key with + * \c mbedtls_chachapoly_setkey(). + * + * \param ctx The ChaCha20-Poly1305 context to use (holds the key). + * \param length The length (in bytes) of the data to decrypt. + * \param nonce The 96-bit (12 bytes) nonce/IV to use. + * \param aad The buffer containing the additional authenticated data (AAD). + * This pointer can be NULL if aad_len == 0. + * \param aad_len The length (in bytes) of the AAD data to process. + * \param tag The buffer holding the authentication tag. + * \param input The buffer containing the data to decrypt. + * This pointer can be NULL if ilen == 0. + * \param output The buffer to where the decrypted data is written. + * This pointer can be NULL if ilen == 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if one or more of the required parameters are NULL. + * \return #MBEDTLS_ERR_CHACHAPOLY_AUTH_FAILED + * if the data was not authentic. + */ +int mbedtls_chachapoly_auth_decrypt( mbedtls_chachapoly_context *ctx, + size_t length, + const unsigned char nonce[12], + const unsigned char *aad, + size_t aad_len, + const unsigned char tag[16], + const unsigned char *input, + unsigned char *output ); + +#if defined(MBEDTLS_SELF_TEST) +/** + * \brief The ChaCha20-Poly1305 checkup routine. + * + * \return \c 0 on success. + * \return \c 1 on failure. + */ +int mbedtls_chachapoly_self_test( int verbose ); +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* MBEDTLS_CHACHAPOLY_H */ diff --git a/tools/sdk/include/mbedtls/mbedtls/check_config.h b/tools/sdk/include/mbedtls/mbedtls/check_config.h index be803329..9e6bb8a4 100644 --- a/tools/sdk/include/mbedtls/mbedtls/check_config.h +++ b/tools/sdk/include/mbedtls/mbedtls/check_config.h @@ -4,7 +4,7 @@ * \brief Consistency checks for configuration options */ /* - * Copyright (C) 2006-2016, ARM Limited, All Rights Reserved + * Copyright (C) 2006-2018, ARM Limited, All Rights Reserved * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -87,6 +87,11 @@ #error "MBEDTLS_CMAC_C defined, but not all prerequisites" #endif +#if defined(MBEDTLS_NIST_KW_C) && \ + ( !defined(MBEDTLS_AES_C) || !defined(MBEDTLS_CIPHER_C) ) +#error "MBEDTLS_NIST_KW_C defined, but not all prerequisites" +#endif + #if defined(MBEDTLS_ECDH_C) && !defined(MBEDTLS_ECP_C) #error "MBEDTLS_ECDH_C defined, but not all prerequisites" #endif @@ -191,6 +196,10 @@ #error "MBEDTLS_HAVEGE_C defined, but not all prerequisites" #endif +#if defined(MBEDTLS_HKDF_C) && !defined(MBEDTLS_MD_C) +#error "MBEDTLS_HKDF_C defined, but not all prerequisites" +#endif + #if defined(MBEDTLS_HMAC_DRBG_C) && !defined(MBEDTLS_MD_C) #error "MBEDTLS_HMAC_DRBG_C defined, but not all prerequisites" #endif diff --git a/tools/sdk/include/mbedtls/mbedtls/cipher.h b/tools/sdk/include/mbedtls/mbedtls/cipher.h index 3ee2ab7d..ea0ce983 100644 --- a/tools/sdk/include/mbedtls/mbedtls/cipher.h +++ b/tools/sdk/include/mbedtls/mbedtls/cipher.h @@ -37,7 +37,7 @@ #include -#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CCM_C) +#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CCM_C) || defined(MBEDTLS_CHACHAPOLY_C) #define MBEDTLS_CIPHER_MODE_AEAD #endif @@ -45,7 +45,7 @@ #define MBEDTLS_CIPHER_MODE_WITH_PADDING #endif -#if defined(MBEDTLS_ARC4_C) +#if defined(MBEDTLS_ARC4_C) || defined(MBEDTLS_CIPHER_NULL_CIPHER) #define MBEDTLS_CIPHER_MODE_STREAM #endif @@ -86,6 +86,8 @@ typedef enum { MBEDTLS_CIPHER_ID_CAMELLIA, /**< The Camellia cipher. */ MBEDTLS_CIPHER_ID_BLOWFISH, /**< The Blowfish cipher. */ MBEDTLS_CIPHER_ID_ARC4, /**< The RC4 cipher. */ + MBEDTLS_CIPHER_ID_ARIA, /**< The Aria cipher. */ + MBEDTLS_CIPHER_ID_CHACHA20, /**< The ChaCha20 cipher. */ } mbedtls_cipher_id_t; /** @@ -145,6 +147,31 @@ typedef enum { MBEDTLS_CIPHER_CAMELLIA_128_CCM, /**< Camellia cipher with 128-bit CCM mode. */ MBEDTLS_CIPHER_CAMELLIA_192_CCM, /**< Camellia cipher with 192-bit CCM mode. */ MBEDTLS_CIPHER_CAMELLIA_256_CCM, /**< Camellia cipher with 256-bit CCM mode. */ + MBEDTLS_CIPHER_ARIA_128_ECB, /**< Aria cipher with 128-bit key and ECB mode. */ + MBEDTLS_CIPHER_ARIA_192_ECB, /**< Aria cipher with 192-bit key and ECB mode. */ + MBEDTLS_CIPHER_ARIA_256_ECB, /**< Aria cipher with 256-bit key and ECB mode. */ + MBEDTLS_CIPHER_ARIA_128_CBC, /**< Aria cipher with 128-bit key and CBC mode. */ + MBEDTLS_CIPHER_ARIA_192_CBC, /**< Aria cipher with 192-bit key and CBC mode. */ + MBEDTLS_CIPHER_ARIA_256_CBC, /**< Aria cipher with 256-bit key and CBC mode. */ + MBEDTLS_CIPHER_ARIA_128_CFB128, /**< Aria cipher with 128-bit key and CFB-128 mode. */ + MBEDTLS_CIPHER_ARIA_192_CFB128, /**< Aria cipher with 192-bit key and CFB-128 mode. */ + MBEDTLS_CIPHER_ARIA_256_CFB128, /**< Aria cipher with 256-bit key and CFB-128 mode. */ + MBEDTLS_CIPHER_ARIA_128_CTR, /**< Aria cipher with 128-bit key and CTR mode. */ + MBEDTLS_CIPHER_ARIA_192_CTR, /**< Aria cipher with 192-bit key and CTR mode. */ + MBEDTLS_CIPHER_ARIA_256_CTR, /**< Aria cipher with 256-bit key and CTR mode. */ + MBEDTLS_CIPHER_ARIA_128_GCM, /**< Aria cipher with 128-bit key and GCM mode. */ + MBEDTLS_CIPHER_ARIA_192_GCM, /**< Aria cipher with 192-bit key and GCM mode. */ + MBEDTLS_CIPHER_ARIA_256_GCM, /**< Aria cipher with 256-bit key and GCM mode. */ + MBEDTLS_CIPHER_ARIA_128_CCM, /**< Aria cipher with 128-bit key and CCM mode. */ + MBEDTLS_CIPHER_ARIA_192_CCM, /**< Aria cipher with 192-bit key and CCM mode. */ + MBEDTLS_CIPHER_ARIA_256_CCM, /**< Aria cipher with 256-bit key and CCM mode. */ + MBEDTLS_CIPHER_AES_128_OFB, /**< AES 128-bit cipher in OFB mode. */ + MBEDTLS_CIPHER_AES_192_OFB, /**< AES 192-bit cipher in OFB mode. */ + MBEDTLS_CIPHER_AES_256_OFB, /**< AES 256-bit cipher in OFB mode. */ + MBEDTLS_CIPHER_AES_128_XTS, /**< AES 128-bit cipher in XTS block mode. */ + MBEDTLS_CIPHER_AES_256_XTS, /**< AES 256-bit cipher in XTS block mode. */ + MBEDTLS_CIPHER_CHACHA20, /**< ChaCha20 stream cipher. */ + MBEDTLS_CIPHER_CHACHA20_POLY1305, /**< ChaCha20-Poly1305 AEAD cipher. */ } mbedtls_cipher_type_t; /** Supported cipher modes. */ @@ -153,11 +180,13 @@ typedef enum { MBEDTLS_MODE_ECB, /**< The ECB cipher mode. */ MBEDTLS_MODE_CBC, /**< The CBC cipher mode. */ MBEDTLS_MODE_CFB, /**< The CFB cipher mode. */ - MBEDTLS_MODE_OFB, /**< The OFB cipher mode - unsupported. */ + MBEDTLS_MODE_OFB, /**< The OFB cipher mode. */ MBEDTLS_MODE_CTR, /**< The CTR cipher mode. */ MBEDTLS_MODE_GCM, /**< The GCM cipher mode. */ MBEDTLS_MODE_STREAM, /**< The stream cipher mode. */ MBEDTLS_MODE_CCM, /**< The CCM cipher mode. */ + MBEDTLS_MODE_XTS, /**< The XTS cipher mode. */ + MBEDTLS_MODE_CHACHAPOLY, /**< The ChaCha-Poly cipher mode. */ } mbedtls_cipher_mode_t; /** Supported cipher padding types. */ @@ -273,7 +302,8 @@ typedef struct { /** Number of Bytes that have not been processed yet. */ size_t unprocessed_len; - /** Current IV or NONCE_COUNTER for CTR-mode. */ + /** Current IV or NONCE_COUNTER for CTR-mode, data unit (or sector) number + * for XTS-mode. */ unsigned char iv[MBEDTLS_MAX_IV_LENGTH]; /** IV size in Bytes, for ciphers with variable-length IVs. */ @@ -560,11 +590,11 @@ int mbedtls_cipher_set_iv( mbedtls_cipher_context_t *ctx, */ int mbedtls_cipher_reset( mbedtls_cipher_context_t *ctx ); -#if defined(MBEDTLS_GCM_C) +#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) /** * \brief This function adds additional data for AEAD ciphers. - * Only supported with GCM. Must be called - * exactly once, after mbedtls_cipher_reset(). + * Currently supported with GCM and ChaCha20+Poly1305. + * Must be called exactly once, after mbedtls_cipher_reset(). * * \param ctx The generic cipher context. * \param ad The additional data to use. @@ -575,7 +605,7 @@ int mbedtls_cipher_reset( mbedtls_cipher_context_t *ctx ); */ int mbedtls_cipher_update_ad( mbedtls_cipher_context_t *ctx, const unsigned char *ad, size_t ad_len ); -#endif /* MBEDTLS_GCM_C */ +#endif /* MBEDTLS_GCM_C || MBEDTLS_CHACHAPOLY_C */ /** * \brief The generic cipher update function. It encrypts or @@ -633,10 +663,10 @@ int mbedtls_cipher_update( mbedtls_cipher_context_t *ctx, const unsigned char *i int mbedtls_cipher_finish( mbedtls_cipher_context_t *ctx, unsigned char *output, size_t *olen ); -#if defined(MBEDTLS_GCM_C) +#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) /** * \brief This function writes a tag for AEAD ciphers. - * Only supported with GCM. + * Currently supported with GCM and ChaCha20+Poly1305. * Must be called after mbedtls_cipher_finish(). * * \param ctx The generic cipher context. @@ -651,7 +681,7 @@ int mbedtls_cipher_write_tag( mbedtls_cipher_context_t *ctx, /** * \brief This function checks the tag for AEAD ciphers. - * Only supported with GCM. + * Currently supported with GCM and ChaCha20+Poly1305. * Must be called after mbedtls_cipher_finish(). * * \param ctx The generic cipher context. @@ -663,7 +693,7 @@ int mbedtls_cipher_write_tag( mbedtls_cipher_context_t *ctx, */ int mbedtls_cipher_check_tag( mbedtls_cipher_context_t *ctx, const unsigned char *tag, size_t tag_len ); -#endif /* MBEDTLS_GCM_C */ +#endif /* MBEDTLS_GCM_C || MBEDTLS_CHACHAPOLY_C */ /** * \brief The generic all-in-one encryption/decryption function, diff --git a/tools/sdk/include/mbedtls/mbedtls/cipher_internal.h b/tools/sdk/include/mbedtls/mbedtls/cipher_internal.h index 969ff9cc..c6def0be 100644 --- a/tools/sdk/include/mbedtls/mbedtls/cipher_internal.h +++ b/tools/sdk/include/mbedtls/mbedtls/cipher_internal.h @@ -64,6 +64,14 @@ struct mbedtls_cipher_base_t unsigned char *output ); #endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + /** Encrypt using OFB (Full length) */ + int (*ofb_func)( void *ctx, size_t length, size_t *iv_off, + unsigned char *iv, + const unsigned char *input, + unsigned char *output ); +#endif + #if defined(MBEDTLS_CIPHER_MODE_CTR) /** Encrypt using CTR */ int (*ctr_func)( void *ctx, size_t length, size_t *nc_off, @@ -71,6 +79,13 @@ struct mbedtls_cipher_base_t const unsigned char *input, unsigned char *output ); #endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + /** Encrypt or decrypt using XTS. */ + int (*xts_func)( void *ctx, mbedtls_operation_t mode, size_t length, + const unsigned char data_unit[16], + const unsigned char *input, unsigned char *output ); +#endif + #if defined(MBEDTLS_CIPHER_MODE_STREAM) /** Encrypt using STREAM */ int (*stream_func)( void *ctx, size_t length, diff --git a/tools/sdk/include/mbedtls/mbedtls/cmac.h b/tools/sdk/include/mbedtls/mbedtls/cmac.h index 913c05f8..a4fd5525 100644 --- a/tools/sdk/include/mbedtls/mbedtls/cmac.h +++ b/tools/sdk/include/mbedtls/mbedtls/cmac.h @@ -28,7 +28,7 @@ #ifndef MBEDTLS_CMAC_H #define MBEDTLS_CMAC_H -#include "mbedtls/cipher.h" +#include "cipher.h" #ifdef __cplusplus extern "C" { diff --git a/tools/sdk/include/mbedtls/mbedtls/compat-1.3.h b/tools/sdk/include/mbedtls/mbedtls/compat-1.3.h index 600a0f15..213b6914 100644 --- a/tools/sdk/include/mbedtls/mbedtls/compat-1.3.h +++ b/tools/sdk/include/mbedtls/mbedtls/compat-1.3.h @@ -1378,7 +1378,8 @@ #define SSL_ANTI_REPLAY_ENABLED MBEDTLS_SSL_ANTI_REPLAY_ENABLED #define SSL_ARC4_DISABLED MBEDTLS_SSL_ARC4_DISABLED #define SSL_ARC4_ENABLED MBEDTLS_SSL_ARC4_ENABLED -#define SSL_BUFFER_LEN MBEDTLS_SSL_BUFFER_LEN +#define SSL_BUFFER_LEN ( ( ( MBEDTLS_SSL_IN_BUFFER_LEN ) < ( MBEDTLS_SSL_OUT_BUFFER_LEN ) ) \ + ? ( MBEDTLS_SSL_IN_BUFFER_LEN ) : ( MBEDTLS_SSL_OUT_BUFFER_LEN ) ) #define SSL_CACHE_DEFAULT_MAX_ENTRIES MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES #define SSL_CACHE_DEFAULT_TIMEOUT MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT #define SSL_CBC_RECORD_SPLITTING_DISABLED MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED diff --git a/tools/sdk/include/mbedtls/mbedtls/config.h b/tools/sdk/include/mbedtls/mbedtls/config.h index 9585e692..70820be5 100644 --- a/tools/sdk/include/mbedtls/mbedtls/config.h +++ b/tools/sdk/include/mbedtls/mbedtls/config.h @@ -8,7 +8,7 @@ * memory footprint. */ /* - * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved + * Copyright (C) 2006-2018, ARM Limited, All Rights Reserved * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -48,10 +48,14 @@ * Requires support for asm() in compiler. * * Used in: + * library/aria.c * library/timing.c - * library/padlock.c * include/mbedtls/bn_mul.h * + * Required by: + * MBEDTLS_AESNI_C + * MBEDTLS_PADLOCK_C + * * Comment to disable the use of assembly code. */ #define MBEDTLS_HAVE_ASM @@ -84,6 +88,28 @@ */ //#define MBEDTLS_NO_UDBL_DIVISION +/** + * \def MBEDTLS_NO_64BIT_MULTIPLICATION + * + * The platform lacks support for 32x32 -> 64-bit multiplication. + * + * Used in: + * library/poly1305.c + * + * Some parts of the library may use multiplication of two unsigned 32-bit + * operands with a 64-bit result in order to speed up computations. On some + * platforms, this is not available in hardware and has to be implemented in + * software, usually in a library provided by the toolchain. + * + * Sometimes it is not desirable to have to link to that library. This option + * removes the dependency of that library on platforms that lack a hardware + * 64-bit multiplier by embedding a software implementation in Mbed TLS. + * + * Note that depending on the compiler, this may decrease performance compared + * to using the library function provided by the toolchain. + */ +//#define MBEDTLS_NO_64BIT_MULTIPLICATION + /** * \def MBEDTLS_HAVE_SSE2 * @@ -271,23 +297,29 @@ */ //#define MBEDTLS_AES_ALT //#define MBEDTLS_ARC4_ALT +//#define MBEDTLS_ARIA_ALT //#define MBEDTLS_BLOWFISH_ALT //#define MBEDTLS_CAMELLIA_ALT //#define MBEDTLS_CCM_ALT +//#define MBEDTLS_CHACHA20_ALT +//#define MBEDTLS_CHACHAPOLY_ALT //#define MBEDTLS_CMAC_ALT //#define MBEDTLS_DES_ALT //#define MBEDTLS_DHM_ALT //#define MBEDTLS_ECJPAKE_ALT //#define MBEDTLS_GCM_ALT +//#define MBEDTLS_NIST_KW_ALT //#define MBEDTLS_MD2_ALT //#define MBEDTLS_MD4_ALT //#define MBEDTLS_MD5_ALT +//#define MBEDTLS_POLY1305_ALT //#define MBEDTLS_RIPEMD160_ALT //#define MBEDTLS_RSA_ALT //#define MBEDTLS_SHA1_ALT //#define MBEDTLS_SHA256_ALT //#define MBEDTLS_SHA512_ALT //#define MBEDTLS_XTEA_ALT + /* * When replacing the elliptic curve module, pleace consider, that it is * implemented with two .c files: @@ -509,6 +541,20 @@ */ #define MBEDTLS_CIPHER_MODE_CTR +/** + * \def MBEDTLS_CIPHER_MODE_OFB + * + * Enable Output Feedback mode (OFB) for symmetric ciphers. + */ +#define MBEDTLS_CIPHER_MODE_OFB + +/** + * \def MBEDTLS_CIPHER_MODE_XTS + * + * Enable Xor-encrypt-xor with ciphertext stealing mode (XTS) for AES. + */ +#define MBEDTLS_CIPHER_MODE_XTS + /** * \def MBEDTLS_CIPHER_NULL_CIPHER * @@ -1128,6 +1174,17 @@ */ #define MBEDTLS_SSL_ALL_ALERT_MESSAGES +/** + * \def MBEDTLS_SSL_ASYNC_PRIVATE + * + * Enable asynchronous external private key operations in SSL. This allows + * you to configure an SSL connection to call an external cryptographic + * module to perform private key operations instead of performing the + * operation inside the library. + * + */ +//#define MBEDTLS_SSL_ASYNC_PRIVATE + /** * \def MBEDTLS_SSL_DEBUG_ALL * @@ -1617,7 +1674,7 @@ * Enable the AES block cipher. * * Module: library/aes.c - * Caller: library/ssl_tls.c + * Caller: library/cipher.c * library/pem.c * library/ctr_drbg.c * @@ -1692,7 +1749,7 @@ * Enable the ARCFOUR stream cipher. * * Module: library/arc4.c - * Caller: library/ssl_tls.c + * Caller: library/cipher.c * * This module enables the following ciphersuites (if other requisites are * enabled as well): @@ -1786,7 +1843,7 @@ * Enable the Camellia block cipher. * * Module: library/camellia.c - * Caller: library/ssl_tls.c + * Caller: library/cipher.c * * This module enables the following ciphersuites (if other requisites are * enabled as well): @@ -1835,6 +1892,58 @@ */ #define MBEDTLS_CAMELLIA_C +/** + * \def MBEDTLS_ARIA_C + * + * Enable the ARIA block cipher. + * + * Module: library/aria.c + * Caller: library/cipher.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * + * MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 + * MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 + * MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 + * MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 + * MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 + */ +//#define MBEDTLS_ARIA_C + /** * \def MBEDTLS_CCM_C * @@ -1861,6 +1970,26 @@ */ #define MBEDTLS_CERTS_C +/** + * \def MBEDTLS_CHACHA20_C + * + * Enable the ChaCha20 stream cipher. + * + * Module: library/chacha20.c + */ +#define MBEDTLS_CHACHA20_C + +/** + * \def MBEDTLS_CHACHAPOLY_C + * + * Enable the ChaCha20-Poly1305 AEAD algorithm. + * + * Module: library/chachapoly.c + * + * This module requires: MBEDTLS_CHACHA20_C, MBEDTLS_POLY1305_C + */ +#define MBEDTLS_CHACHAPOLY_C + /** * \def MBEDTLS_CIPHER_C * @@ -1921,7 +2050,7 @@ * * Module: library/des.c * Caller: library/pem.c - * library/ssl_tls.c + * library/cipher.c * * This module enables the following ciphersuites (if other requisites are * enabled as well): @@ -2091,6 +2220,21 @@ */ //#define MBEDTLS_HAVEGE_C +/** + * \def MBEDTLS_HKDF_C + * + * Enable the HKDF algorithm (RFC 5869). + * + * Module: library/hkdf.c + * Caller: + * + * Requires: MBEDTLS_MD_C + * + * This module adds support for the Hashed Message Authentication Code + * (HMAC)-based key derivation function (HKDF). + */ +#define MBEDTLS_HKDF_C + /** * \def MBEDTLS_HMAC_DRBG_C * @@ -2105,6 +2249,19 @@ */ #define MBEDTLS_HMAC_DRBG_C +/** + * \def MBEDTLS_NIST_KW_C + * + * Enable the Key Wrapping mode for 128-bit block ciphers, + * as defined in NIST SP 800-38F. Only KW and KWP modes + * are supported. At the moment, only AES is approved by NIST. + * + * Module: library/nist_kw.c + * + * Requires: MBEDTLS_AES_C and MBEDTLS_CIPHER_C + */ +//#define MBEDTLS_NIST_KW_C + /** * \def MBEDTLS_MD_C * @@ -2388,6 +2545,16 @@ */ #define MBEDTLS_PLATFORM_C +/** + * \def MBEDTLS_POLY1305_C + * + * Enable the Poly1305 MAC algorithm. + * + * Module: library/poly1305.c + * Caller: library/chachapoly.c + */ +#define MBEDTLS_POLY1305_C + /** * \def MBEDTLS_RIPEMD160_C * @@ -2798,7 +2965,51 @@ //#define MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */ /* SSL options */ -//#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384 /**< Maxium fragment length in bytes, determines the size of each of the two internal I/O buffers */ + +/** \def MBEDTLS_SSL_MAX_CONTENT_LEN + * + * Maximum fragment length in bytes. + * + * Determines the size of both the incoming and outgoing TLS I/O buffers. + * + * Uncommenting MBEDTLS_SSL_IN_CONTENT_LEN and/or MBEDTLS_SSL_OUT_CONTENT_LEN + * will override this length by setting maximum incoming and/or outgoing + * fragment length, respectively. + */ +//#define MBEDTLS_SSL_MAX_CONTENT_LEN 16384 + +/** \def MBEDTLS_SSL_IN_CONTENT_LEN + * + * Maximum incoming fragment length in bytes. + * + * Uncomment to set the size of the inward TLS buffer independently of the + * outward buffer. + */ +//#define MBEDTLS_SSL_IN_CONTENT_LEN 16384 + +/** \def MBEDTLS_SSL_OUT_CONTENT_LEN + * + * Maximum outgoing fragment length in bytes. + * + * Uncomment to set the size of the outward TLS buffer independently of the + * inward buffer. + * + * It is possible to save RAM by setting a smaller outward buffer, while keeping + * the default inward 16384 byte buffer to conform to the TLS specification. + * + * The minimum required outward buffer size is determined by the handshake + * protocol's usage. Handshaking will fail if the outward buffer is too small. + * The specific size requirement depends on the configured ciphers and any + * certificate data which is sent during the handshake. + * + * For absolute minimum RAM usage, it's best to enable + * MBEDTLS_SSL_MAX_FRAGMENT_LENGTH and reduce MBEDTLS_SSL_MAX_CONTENT_LEN. This + * reduces both incoming and outgoing buffer sizes. However this is only + * guaranteed if the other end of the connection also supports the TLS + * max_fragment_len extension. Otherwise the connection may fail. + */ +//#define MBEDTLS_SSL_OUT_CONTENT_LEN 16384 + //#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */ //#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */ //#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */ @@ -2852,10 +3063,30 @@ */ #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE +/** + * Uncomment the macro to let mbed TLS use your alternate implementation of + * mbedtls_platform_zeroize(). This replaces the default implementation in + * platform_util.c. + * + * mbedtls_platform_zeroize() is a widely used function across the library to + * zero a block of memory. The implementation is expected to be secure in the + * sense that it has been written to prevent the compiler from removing calls + * to mbedtls_platform_zeroize() as part of redundant code elimination + * optimizations. However, it is difficult to guarantee that calls to + * mbedtls_platform_zeroize() will not be optimized by the compiler as older + * versions of the C language standards do not provide a secure implementation + * of memset(). Therefore, MBEDTLS_PLATFORM_ZEROIZE_ALT enables users to + * configure their own implementation of mbedtls_platform_zeroize(), for + * example by using directives specific to their compiler, features from newer + * C standards (e.g using memset_s() in C11) or calling a secure memset() from + * their system (e.g explicit_bzero() in BSD). + */ +//#define MBEDTLS_PLATFORM_ZEROIZE_ALT + /* \} name SECTION: Customisation configuration options */ /* Target and application specific configurations */ -//#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "mbedtls/target_config.h" +//#define YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE "target_config.h" #if defined(TARGET_LIKE_MBED) && defined(YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE) #include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE diff --git a/tools/sdk/include/mbedtls/mbedtls/ctr_drbg.h b/tools/sdk/include/mbedtls/mbedtls/ctr_drbg.h index dcbc0479..3835d729 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ctr_drbg.h +++ b/tools/sdk/include/mbedtls/mbedtls/ctr_drbg.h @@ -36,7 +36,7 @@ #include "aes.h" #if defined(MBEDTLS_THREADING_C) -#include "mbedtls/threading.h" +#include "threading.h" #endif #define MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED -0x0034 /**< The entropy source failed. */ diff --git a/tools/sdk/include/mbedtls/mbedtls/dhm.h b/tools/sdk/include/mbedtls/mbedtls/dhm.h index f848e221..75317a8e 100644 --- a/tools/sdk/include/mbedtls/mbedtls/dhm.h +++ b/tools/sdk/include/mbedtls/mbedtls/dhm.h @@ -1,12 +1,12 @@ /** * \file dhm.h * - * \brief This file contains Diffie-Hellman-Merkle (DHM) key exchange + * \brief This file contains Diffie-Hellman-Merkle (DHM) key exchange * definitions and functions. * * Diffie-Hellman-Merkle (DHM) key exchange is defined in - * RFC-2631: Diffie-Hellman Key Agreement Method and - * Public-Key Cryptography Standards (PKCS) #3: Diffie + * RFC-2631: Diffie-Hellman Key Agreement Method and + * Public-Key Cryptography Standards (PKCS) #3: Diffie * Hellman Key Agreement Standard. * * RFC-3526: More Modular Exponential (MODP) Diffie-Hellman groups for diff --git a/tools/sdk/include/mbedtls/mbedtls/ecdh.h b/tools/sdk/include/mbedtls/mbedtls/ecdh.h index 922f029d..5fdf55a8 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ecdh.h +++ b/tools/sdk/include/mbedtls/mbedtls/ecdh.h @@ -2,8 +2,8 @@ * \file ecdh.h * * \brief This file contains ECDH definitions and functions. - * - * The Elliptic Curve Diffie-Hellman (ECDH) protocol is an anonymous + * + * The Elliptic Curve Diffie-Hellman (ECDH) protocol is an anonymous * key agreement protocol allowing two parties to establish a shared * secret over an insecure channel. Each party must have an * elliptic-curve public–private key pair. diff --git a/tools/sdk/include/mbedtls/mbedtls/ecp_internal.h b/tools/sdk/include/mbedtls/mbedtls/ecp_internal.h index 8a6d517e..18040697 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ecp_internal.h +++ b/tools/sdk/include/mbedtls/mbedtls/ecp_internal.h @@ -48,7 +48,7 @@ * [6] Digital Signature Standard (DSS), FIPS 186-4. * * - * [7] Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer + * [7] Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer * Security (TLS), RFC 4492. * * diff --git a/tools/sdk/include/mbedtls/mbedtls/entropy.h b/tools/sdk/include/mbedtls/mbedtls/entropy.h index fcb4d025..a5cb05a5 100644 --- a/tools/sdk/include/mbedtls/mbedtls/entropy.h +++ b/tools/sdk/include/mbedtls/mbedtls/entropy.h @@ -166,7 +166,7 @@ void mbedtls_entropy_free( mbedtls_entropy_context *ctx ); * \param threshold Minimum required from source before entropy is released * ( with mbedtls_entropy_func() ) (in bytes) * \param strong MBEDTLS_ENTROPY_SOURCE_STRONG or - * MBEDTSL_ENTROPY_SOURCE_WEAK. + * MBEDTLS_ENTROPY_SOURCE_WEAK. * At least one strong source needs to be added. * Weaker sources (such as the cycle counter) can be used as * a complement. diff --git a/tools/sdk/include/mbedtls/mbedtls/error.h b/tools/sdk/include/mbedtls/mbedtls/error.h index 8b4d3a87..6b82d4fb 100644 --- a/tools/sdk/include/mbedtls/mbedtls/error.h +++ b/tools/sdk/include/mbedtls/mbedtls/error.h @@ -4,7 +4,7 @@ * \brief Error to string translation */ /* - * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved + * Copyright (C) 2006-2018, ARM Limited, All Rights Reserved * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -53,7 +53,7 @@ * GCM 3 0x0012-0x0014 0x0013-0x0013 * BLOWFISH 3 0x0016-0x0018 0x0017-0x0017 * THREADING 3 0x001A-0x001E - * AES 4 0x0020-0x0022 0x0023-0x0025 + * AES 5 0x0020-0x0022 0x0021-0x0025 * CAMELLIA 3 0x0024-0x0026 0x0027-0x0027 * XTEA 2 0x0028-0x0028 0x0029-0x0029 * BASE64 2 0x002A-0x002C @@ -62,7 +62,8 @@ * DES 2 0x0032-0x0032 0x0033-0x0033 * CTR_DBRG 4 0x0034-0x003A * ENTROPY 3 0x003C-0x0040 0x003D-0x003F - * NET 11 0x0042-0x0052 0x0043-0x0045 + * NET 13 0x0042-0x0052 0x0043-0x0049 + * ARIA 4 0x0058-0x005E * ASN1 7 0x0060-0x006C * CMAC 1 0x007A-0x007A * PBKDF2 1 0x007C-0x007C @@ -76,6 +77,9 @@ * SHA1 1 0x0035-0x0035 * SHA256 1 0x0037-0x0037 * SHA512 1 0x0039-0x0039 + * CHACHA20 3 0x0051-0x0055 + * POLY1305 3 0x0057-0x005B + * CHACHAPOLY 2 0x0054-0x0056 * * High-level module nr (3 bits - 0x0...-0x7...) * Name ID Nr of Errors @@ -88,8 +92,9 @@ * RSA 4 11 * ECP 4 9 (Started from top) * MD 5 5 + * HKDF 5 1 (Started from top) * CIPHER 6 8 - * SSL 6 17 (Started from top) + * SSL 6 22 (Started from top) * SSL 7 31 * * Module dependent error code (5 bits 0x.00.-0x.F8.) diff --git a/tools/sdk/include/mbedtls/mbedtls/gcm.h b/tools/sdk/include/mbedtls/mbedtls/gcm.h index 3c220331..87535ab9 100644 --- a/tools/sdk/include/mbedtls/mbedtls/gcm.h +++ b/tools/sdk/include/mbedtls/mbedtls/gcm.h @@ -113,21 +113,41 @@ int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx, * the same as input buffer. If the buffers overlap, the output * buffer must trail at least 8 Bytes behind the input buffer. * + * \warning When this function performs a decryption, it outputs the + * authentication tag and does not verify that the data is + * authentic. You should use this function to perform encryption + * only. For decryption, use mbedtls_gcm_auth_decrypt() instead. + * * \param ctx The GCM context to use for encryption or decryption. - * \param mode The operation to perform: #MBEDTLS_GCM_ENCRYPT or - * #MBEDTLS_GCM_DECRYPT. - * \param length The length of the input data. This must be a multiple of - * 16 except in the last call before mbedtls_gcm_finish(). + * \param mode The operation to perform: + * - #MBEDTLS_GCM_ENCRYPT to perform authenticated encryption. + * The ciphertext is written to \p output and the + * authentication tag is written to \p tag. + * - #MBEDTLS_GCM_DECRYPT to perform decryption. + * The plaintext is written to \p output and the + * authentication tag is written to \p tag. + * Note that this mode is not recommended, because it does + * not verify the authenticity of the data. For this reason, + * you should use mbedtls_gcm_auth_decrypt() instead of + * calling this function in decryption mode. + * \param length The length of the input data, which is equal to the length + * of the output data. * \param iv The initialization vector. * \param iv_len The length of the IV. * \param add The buffer holding the additional data. * \param add_len The length of the additional data. - * \param input The buffer holding the input data. - * \param output The buffer for holding the output data. + * \param input The buffer holding the input data. Its size is \b length. + * \param output The buffer for holding the output data. It must have room + * for \b length bytes. * \param tag_len The length of the tag to generate. * \param tag The buffer for holding the tag. * - * \return \c 0 on success. + * \return \c 0 if the encryption or decryption was performed + * successfully. Note that in #MBEDTLS_GCM_DECRYPT mode, + * this does not indicate that the data is authentic. + * \return #MBEDTLS_ERR_GCM_BAD_INPUT if the lengths are not valid. + * \return #MBEDTLS_ERR_GCM_HW_ACCEL_FAILED or a cipher-specific + * error code if the encryption or decryption failed. */ int mbedtls_gcm_crypt_and_tag( mbedtls_gcm_context *ctx, int mode, @@ -150,19 +170,23 @@ int mbedtls_gcm_crypt_and_tag( mbedtls_gcm_context *ctx, * must trail at least 8 Bytes behind the input buffer. * * \param ctx The GCM context. - * \param length The length of the input data. This must be a multiple - * of 16 except in the last call before mbedtls_gcm_finish(). + * \param length The length of the ciphertext to decrypt, which is also + * the length of the decrypted plaintext. * \param iv The initialization vector. * \param iv_len The length of the IV. * \param add The buffer holding the additional data. * \param add_len The length of the additional data. - * \param tag The buffer holding the tag. - * \param tag_len The length of the tag. - * \param input The buffer holding the input data. - * \param output The buffer for holding the output data. + * \param tag The buffer holding the tag to verify. + * \param tag_len The length of the tag to verify. + * \param input The buffer holding the ciphertext. Its size is \b length. + * \param output The buffer for holding the decrypted plaintext. It must + * have room for \b length bytes. * - * \return 0 if successful and authenticated. - * \return #MBEDTLS_ERR_GCM_AUTH_FAILED if the tag does not match. + * \return \c 0 if successful and authenticated. + * \return #MBEDTLS_ERR_GCM_AUTH_FAILED if the tag does not match. + * \return #MBEDTLS_ERR_GCM_BAD_INPUT if the lengths are not valid. + * \return #MBEDTLS_ERR_GCM_HW_ACCEL_FAILED or a cipher-specific + * error code if the decryption failed. */ int mbedtls_gcm_auth_decrypt( mbedtls_gcm_context *ctx, size_t length, diff --git a/tools/sdk/include/mbedtls/mbedtls/hkdf.h b/tools/sdk/include/mbedtls/mbedtls/hkdf.h new file mode 100644 index 00000000..6833e727 --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/hkdf.h @@ -0,0 +1,125 @@ +/** + * \file hkdf.h + * + * \brief This file contains the HKDF interface. + * + * The HMAC-based Extract-and-Expand Key Derivation Function (HKDF) is + * specified by RFC 5869. + */ +/* + * Copyright (C) 2016-2018, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of mbed TLS (https://tls.mbed.org) + */ +#ifndef MBEDTLS_HKDF_H +#define MBEDTLS_HKDF_H + +#include "md.h" + +/** + * \name HKDF Error codes + * \{ + */ +#define MBEDTLS_ERR_HKDF_BAD_INPUT_DATA -0x5F80 /**< Bad input parameters to function. */ +/* \} name */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief This is the HMAC-based Extract-and-Expand Key Derivation Function + * (HKDF). + * + * \param md A hash function; md.size denotes the length of the hash + * function output in bytes. + * \param salt An optional salt value (a non-secret random value); + * if the salt is not provided, a string of all zeros of + * md.size length is used as the salt. + * \param salt_len The length in bytes of the optional \p salt. + * \param ikm The input keying material. + * \param ikm_len The length in bytes of \p ikm. + * \param info An optional context and application specific information + * string. This can be a zero-length string. + * \param info_len The length of \p info in bytes. + * \param okm The output keying material of \p okm_len bytes. + * \param okm_len The length of the output keying material in bytes. This + * must be less than or equal to 255 * md.size bytes. + * + * \return 0 on success. + * \return #MBEDTLS_ERR_HKDF_BAD_INPUT_DATA when the parameters are invalid. + * \return An MBEDTLS_ERR_MD_* error for errors returned from the underlying + * MD layer. + */ +int mbedtls_hkdf( const mbedtls_md_info_t *md, const unsigned char *salt, + size_t salt_len, const unsigned char *ikm, size_t ikm_len, + const unsigned char *info, size_t info_len, + unsigned char *okm, size_t okm_len ); + +/** + * \brief Take the input keying material \p ikm and extract from it a + * fixed-length pseudorandom key \p prk. + * + * \param md A hash function; md.size denotes the length of the + * hash function output in bytes. + * \param salt An optional salt value (a non-secret random value); + * if the salt is not provided, a string of all zeros + * of md.size length is used as the salt. + * \param salt_len The length in bytes of the optional \p salt. + * \param ikm The input keying material. + * \param ikm_len The length in bytes of \p ikm. + * \param[out] prk A pseudorandom key of at least md.size bytes. + * + * \return 0 on success. + * \return #MBEDTLS_ERR_HKDF_BAD_INPUT_DATA when the parameters are invalid. + * \return An MBEDTLS_ERR_MD_* error for errors returned from the underlying + * MD layer. + */ +int mbedtls_hkdf_extract( const mbedtls_md_info_t *md, + const unsigned char *salt, size_t salt_len, + const unsigned char *ikm, size_t ikm_len, + unsigned char *prk ); + +/** + * \brief Expand the supplied \p prk into several additional pseudorandom + * keys, which is the output of the HKDF. + * + * \param md A hash function; md.size denotes the length of the hash + * function output in bytes. + * \param prk A pseudorandom key of at least md.size bytes. \p prk is usually, + * the output from the HKDF extract step. + * \param prk_len The length in bytes of \p prk. + * \param info An optional context and application specific information + * string. This can be a zero-length string. + * \param info_len The length of \p info in bytes. + * \param okm The output keying material of \p okm_len bytes. + * \param okm_len The length of the output keying material in bytes. This + * must be less than or equal to 255 * md.size bytes. + * + * \return 0 on success. + * \return #MBEDTLS_ERR_HKDF_BAD_INPUT_DATA when the parameters are invalid. + * \return An MBEDTLS_ERR_MD_* error for errors returned from the underlying + * MD layer. + */ +int mbedtls_hkdf_expand( const mbedtls_md_info_t *md, const unsigned char *prk, + size_t prk_len, const unsigned char *info, + size_t info_len, unsigned char *okm, size_t okm_len ); + +#ifdef __cplusplus +} +#endif + +#endif /* hkdf.h */ diff --git a/tools/sdk/include/mbedtls/mbedtls/hmac_drbg.h b/tools/sdk/include/mbedtls/mbedtls/hmac_drbg.h index e0821cf7..2608de85 100644 --- a/tools/sdk/include/mbedtls/mbedtls/hmac_drbg.h +++ b/tools/sdk/include/mbedtls/mbedtls/hmac_drbg.h @@ -27,7 +27,7 @@ #include "md.h" #if defined(MBEDTLS_THREADING_C) -#include "mbedtls/threading.h" +#include "threading.h" #endif /* diff --git a/tools/sdk/include/mbedtls/mbedtls/net.h b/tools/sdk/include/mbedtls/mbedtls/net.h index 28ae8217..6c13b53f 100644 --- a/tools/sdk/include/mbedtls/mbedtls/net.h +++ b/tools/sdk/include/mbedtls/mbedtls/net.h @@ -1,7 +1,7 @@ /** * \file net.h * - * \brief Deprecated header file that includes mbedtls/net_sockets.h + * \brief Deprecated header file that includes net_sockets.h * * \deprecated Superseded by mbedtls/net_sockets.h */ @@ -25,7 +25,7 @@ */ #if !defined(MBEDTLS_DEPRECATED_REMOVED) -#include "mbedtls/net_sockets.h" +#include "net_sockets.h" #if defined(MBEDTLS_DEPRECATED_WARNING) #warning "Deprecated header file: Superseded by mbedtls/net_sockets.h" #endif /* MBEDTLS_DEPRECATED_WARNING */ diff --git a/tools/sdk/include/mbedtls/mbedtls/net_sockets.h b/tools/sdk/include/mbedtls/mbedtls/net_sockets.h index 0f9b31eb..9f07eeb4 100644 --- a/tools/sdk/include/mbedtls/mbedtls/net_sockets.h +++ b/tools/sdk/include/mbedtls/mbedtls/net_sockets.h @@ -1,7 +1,23 @@ /** * \file net_sockets.h * - * \brief Network communication functions + * \brief Network sockets abstraction layer to integrate Mbed TLS into a + * BSD-style sockets API. + * + * The network sockets module provides an example integration of the + * Mbed TLS library into a BSD sockets implementation. The module is + * intended to be an example of how Mbed TLS can be integrated into a + * networking stack, as well as to be Mbed TLS's network integration + * for its supported platforms. + * + * The module is intended only to be used with the Mbed TLS library and + * is not intended to be used by third party application software + * directly. + * + * The supported platforms are as follows: + * * Microsoft Windows and Windows CE + * * POSIX/Unix platforms including Linux, OS X + * */ /* * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved diff --git a/tools/sdk/include/mbedtls/mbedtls/nist_kw.h b/tools/sdk/include/mbedtls/mbedtls/nist_kw.h new file mode 100644 index 00000000..5a0f656a --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/nist_kw.h @@ -0,0 +1,178 @@ +/** + * \file nist_kw.h + * + * \brief This file provides an API for key wrapping (KW) and key wrapping with + * padding (KWP) as defined in NIST SP 800-38F. + * https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf + * + * Key wrapping specifies a deterministic authenticated-encryption mode + * of operation, according to NIST SP 800-38F: Recommendation for + * Block Cipher Modes of Operation: Methods for Key Wrapping. Its + * purpose is to protect cryptographic keys. + * + * Its equivalent is RFC 3394 for KW, and RFC 5649 for KWP. + * https://tools.ietf.org/html/rfc3394 + * https://tools.ietf.org/html/rfc5649 + * + */ +/* + * Copyright (C) 2018, Arm Limited (or its affiliates), All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of Mbed TLS (https://tls.mbed.org) + */ + +#ifndef MBEDTLS_NIST_KW_H +#define MBEDTLS_NIST_KW_H + +#include "cipher.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum +{ + MBEDTLS_KW_MODE_KW = 0, + MBEDTLS_KW_MODE_KWP = 1 +} mbedtls_nist_kw_mode_t; + +#if !defined(MBEDTLS_NIST_KW_ALT) +// Regular implementation +// + +/** + * \brief The key wrapping context-type definition. The key wrapping context is passed + * to the APIs called. + * + * \note The definition of this type may change in future library versions. + * Don't make any assumptions on this context! + */ +typedef struct { + mbedtls_cipher_context_t cipher_ctx; /*!< The cipher context used. */ +} mbedtls_nist_kw_context; + +#else /* MBEDTLS_NIST_key wrapping_ALT */ +#include "nist_kw_alt.h" +#endif /* MBEDTLS_NIST_KW_ALT */ + +/** + * \brief This function initializes the specified key wrapping context + * to make references valid and prepare the context + * for mbedtls_nist_kw_setkey() or mbedtls_nist_kw_free(). + * + * \param ctx The key wrapping context to initialize. + * + */ +void mbedtls_nist_kw_init( mbedtls_nist_kw_context *ctx ); + +/** + * \brief This function initializes the key wrapping context set in the + * \p ctx parameter and sets the encryption key. + * + * \param ctx The key wrapping context. + * \param cipher The 128-bit block cipher to use. Only AES is supported. + * \param key The Key Encryption Key (KEK). + * \param keybits The KEK size in bits. This must be acceptable by the cipher. + * \param is_wrap Specify whether the operation within the context is wrapping or unwrapping + * + * \return \c 0 on success. + * \return \c MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA for any invalid input. + * \return \c MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE for 128-bit block ciphers + * which are not supported. + * \return cipher-specific error code on failure of the underlying cipher. + */ +int mbedtls_nist_kw_setkey( mbedtls_nist_kw_context *ctx, + mbedtls_cipher_id_t cipher, + const unsigned char *key, + unsigned int keybits, + const int is_wrap ); + +/** + * \brief This function releases and clears the specified key wrapping context + * and underlying cipher sub-context. + * + * \param ctx The key wrapping context to clear. + */ +void mbedtls_nist_kw_free( mbedtls_nist_kw_context *ctx ); + +/** + * \brief This function encrypts a buffer using key wrapping. + * + * \param ctx The key wrapping context to use for encryption. + * \param mode The key wrapping mode to use (MBEDTLS_KW_MODE_KW or MBEDTLS_KW_MODE_KWP) + * \param input The buffer holding the input data. + * \param in_len The length of the input data in Bytes. + * The input uses units of 8 Bytes called semiblocks. + *
    • For KW mode: a multiple of 8 bytes between 16 and 2^57-8 inclusive.
    • + *
    • For KWP mode: any length between 1 and 2^32-1 inclusive.
    + * \param[out] output The buffer holding the output data. + *
    • For KW mode: Must be at least 8 bytes larger than \p in_len.
    • + *
    • For KWP mode: Must be at least 8 bytes larger rounded up to a multiple of + * 8 bytes for KWP (15 bytes at most).
    + * \param[out] out_len The number of bytes written to the output buffer. \c 0 on failure. + * \param[in] out_size The capacity of the output buffer. + * + * \return \c 0 on success. + * \return \c MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA for invalid input length. + * \return cipher-specific error code on failure of the underlying cipher. + */ +int mbedtls_nist_kw_wrap( mbedtls_nist_kw_context *ctx, mbedtls_nist_kw_mode_t mode, + const unsigned char *input, size_t in_len, + unsigned char *output, size_t* out_len, size_t out_size ); + +/** + * \brief This function decrypts a buffer using key wrapping. + * + * \param ctx The key wrapping context to use for decryption. + * \param mode The key wrapping mode to use (MBEDTLS_KW_MODE_KW or MBEDTLS_KW_MODE_KWP) + * \param input The buffer holding the input data. + * \param in_len The length of the input data in Bytes. + * The input uses units of 8 Bytes called semiblocks. + * The input must be a multiple of semiblocks. + *
    • For KW mode: a multiple of 8 bytes between 24 and 2^57 inclusive.
    • + *
    • For KWP mode: a multiple of 8 bytes between 16 and 2^32 inclusive.
    + * \param[out] output The buffer holding the output data. + * The output buffer's minimal length is 8 bytes shorter than \p in_len. + * \param[out] out_len The number of bytes written to the output buffer. \c 0 on failure. + * For KWP mode, the length could be up to 15 bytes shorter than \p in_len, + * depending on how much padding was added to the data. + * \param[in] out_size The capacity of the output buffer. + * + * \return \c 0 on success. + * \return \c MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA for invalid input length. + * \return \c MBEDTLS_ERR_CIPHER_AUTH_FAILED for verification failure of the ciphertext. + * \return cipher-specific error code on failure of the underlying cipher. + */ +int mbedtls_nist_kw_unwrap( mbedtls_nist_kw_context *ctx, mbedtls_nist_kw_mode_t mode, + const unsigned char *input, size_t in_len, + unsigned char *output, size_t* out_len, size_t out_size); + + +#if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C) +/** + * \brief The key wrapping checkup routine. + * + * \return \c 0 on success. + * \return \c 1 on failure. + */ +int mbedtls_nist_kw_self_test( int verbose ); +#endif /* MBEDTLS_SELF_TEST && MBEDTLS_AES_C */ + +#ifdef __cplusplus +} +#endif + +#endif /* MBEDTLS_NIST_KW_H */ diff --git a/tools/sdk/include/mbedtls/mbedtls/oid.h b/tools/sdk/include/mbedtls/mbedtls/oid.h index 408645ec..f8255484 100644 --- a/tools/sdk/include/mbedtls/mbedtls/oid.h +++ b/tools/sdk/include/mbedtls/mbedtls/oid.h @@ -97,6 +97,8 @@ /* ISO arc for standard certificate and CRL extensions */ #define MBEDTLS_OID_ID_CE MBEDTLS_OID_ISO_CCITT_DS "\x1D" /**< id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29} */ +#define MBEDTLS_OID_NIST_ALG MBEDTLS_OID_GOV "\x03\x04" /** { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistAlgorithm(4) */ + /** * Private Internet Extensions * { iso(1) identified-organization(3) dod(6) internet(1) @@ -219,12 +221,12 @@ #define MBEDTLS_OID_DIGEST_ALG_MD4 MBEDTLS_OID_RSA_COMPANY "\x02\x04" /**< id-mbedtls_md4 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 4 } */ #define MBEDTLS_OID_DIGEST_ALG_MD5 MBEDTLS_OID_RSA_COMPANY "\x02\x05" /**< id-mbedtls_md5 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 5 } */ #define MBEDTLS_OID_DIGEST_ALG_SHA1 MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_OIW_SECSIG_SHA1 /**< id-mbedtls_sha1 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) 26 } */ -#define MBEDTLS_OID_DIGEST_ALG_SHA224 MBEDTLS_OID_GOV "\x03\x04\x02\x04" /**< id-sha224 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 4 } */ -#define MBEDTLS_OID_DIGEST_ALG_SHA256 MBEDTLS_OID_GOV "\x03\x04\x02\x01" /**< id-mbedtls_sha256 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 1 } */ +#define MBEDTLS_OID_DIGEST_ALG_SHA224 MBEDTLS_OID_NIST_ALG "\x02\x04" /**< id-sha224 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 4 } */ +#define MBEDTLS_OID_DIGEST_ALG_SHA256 MBEDTLS_OID_NIST_ALG "\x02\x01" /**< id-mbedtls_sha256 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 1 } */ -#define MBEDTLS_OID_DIGEST_ALG_SHA384 MBEDTLS_OID_GOV "\x03\x04\x02\x02" /**< id-sha384 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 2 } */ +#define MBEDTLS_OID_DIGEST_ALG_SHA384 MBEDTLS_OID_NIST_ALG "\x02\x02" /**< id-sha384 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 2 } */ -#define MBEDTLS_OID_DIGEST_ALG_SHA512 MBEDTLS_OID_GOV "\x03\x04\x02\x03" /**< id-mbedtls_sha512 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 3 } */ +#define MBEDTLS_OID_DIGEST_ALG_SHA512 MBEDTLS_OID_NIST_ALG "\x02\x03" /**< id-mbedtls_sha512 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 3 } */ #define MBEDTLS_OID_HMAC_SHA1 MBEDTLS_OID_RSA_COMPANY "\x02\x07" /**< id-hmacWithSHA1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 7 } */ @@ -241,7 +243,20 @@ */ #define MBEDTLS_OID_DES_CBC MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_OIW_SECSIG_ALG "\x07" /**< desCBC OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) 7 } */ #define MBEDTLS_OID_DES_EDE3_CBC MBEDTLS_OID_RSA_COMPANY "\x03\x07" /**< des-ede3-cbc OBJECT IDENTIFIER ::= { iso(1) member-body(2) -- us(840) rsadsi(113549) encryptionAlgorithm(3) 7 } */ +#define MBEDTLS_OID_AES MBEDTLS_OID_NIST_ALG "\x01" /** aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistAlgorithm(4) 1 } */ +/* + * Key Wrapping algorithms + */ +/* + * RFC 5649 + */ +#define MBEDTLS_OID_AES128_KW MBEDTLS_OID_AES "\x05" /** id-aes128-wrap OBJECT IDENTIFIER ::= { aes 5 } */ +#define MBEDTLS_OID_AES128_KWP MBEDTLS_OID_AES "\x08" /** id-aes128-wrap-pad OBJECT IDENTIFIER ::= { aes 8 } */ +#define MBEDTLS_OID_AES192_KW MBEDTLS_OID_AES "\x19" /** id-aes192-wrap OBJECT IDENTIFIER ::= { aes 25 } */ +#define MBEDTLS_OID_AES192_KWP MBEDTLS_OID_AES "\x1c" /** id-aes192-wrap-pad OBJECT IDENTIFIER ::= { aes 28 } */ +#define MBEDTLS_OID_AES256_KW MBEDTLS_OID_AES "\x2d" /** id-aes256-wrap OBJECT IDENTIFIER ::= { aes 45 } */ +#define MBEDTLS_OID_AES256_KWP MBEDTLS_OID_AES "\x30" /** id-aes256-wrap-pad OBJECT IDENTIFIER ::= { aes 48 } */ /* * PKCS#5 OIDs */ diff --git a/tools/sdk/include/mbedtls/mbedtls/platform.h b/tools/sdk/include/mbedtls/mbedtls/platform.h index d50b266b..624cc642 100644 --- a/tools/sdk/include/mbedtls/mbedtls/platform.h +++ b/tools/sdk/include/mbedtls/mbedtls/platform.h @@ -9,7 +9,7 @@ * system services, making the library easier to port and embed. * Application developers and users of the library can provide their own * implementations of these functions, or implementations specific to - * their platform, which can be statically linked to the library or + * their platform, which can be statically linked to the library or * dynamically configured at runtime. */ /* @@ -40,7 +40,7 @@ #endif #if defined(MBEDTLS_HAVE_TIME) -#include "mbedtls/platform_time.h" +#include "platform_time.h" #endif #ifdef __cplusplus @@ -121,8 +121,8 @@ extern "C" { #else /* For size_t */ #include -extern void * (*mbedtls_calloc)( size_t n, size_t size ); -extern void (*mbedtls_free)( void *ptr ); +extern void *mbedtls_calloc( size_t n, size_t size ); +extern void mbedtls_free( void *ptr ); /** * \brief This function dynamically sets the memory-management @@ -223,7 +223,7 @@ int mbedtls_platform_set_snprintf( int (*snprintf_func)( char * s, size_t n, #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) #define mbedtls_snprintf MBEDTLS_PLATFORM_SNPRINTF_MACRO #else -#define mbedtls_snprintf snprintf +#define mbedtls_snprintf MBEDTLS_PLATFORM_STD_SNPRINTF #endif /* MBEDTLS_PLATFORM_SNPRINTF_MACRO */ #endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */ @@ -331,7 +331,7 @@ mbedtls_platform_context; * \note This function should be called before any other library functions. * * Its implementation is platform-specific, and unless - * platform-specific code is provided, it does nothing. + * platform-specific code is provided, it does nothing. * * \note The usage and necessity of this function is dependent on the platform. * diff --git a/tools/sdk/include/mbedtls/mbedtls/platform_util.h b/tools/sdk/include/mbedtls/mbedtls/platform_util.h new file mode 100644 index 00000000..84f0732e --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/platform_util.h @@ -0,0 +1,62 @@ +/** + * \file platform_util.h + * + * \brief Common and shared functions used by multiple modules in the Mbed TLS + * library. + */ +/* + * Copyright (C) 2018, Arm Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of Mbed TLS (https://tls.mbed.org) + */ +#ifndef MBEDTLS_PLATFORM_UTIL_H +#define MBEDTLS_PLATFORM_UTIL_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Securely zeroize a buffer + * + * The function is meant to wipe the data contained in a buffer so + * that it can no longer be recovered even if the program memory + * is later compromised. Call this function on sensitive data + * stored on the stack before returning from a function, and on + * sensitive data stored on the heap before freeing the heap + * object. + * + * It is extremely difficult to guarantee that calls to + * mbedtls_platform_zeroize() are not removed by aggressive + * compiler optimizations in a portable way. For this reason, Mbed + * TLS provides the configuration option + * MBEDTLS_PLATFORM_ZEROIZE_ALT, which allows users to configure + * mbedtls_platform_zeroize() to use a suitable implementation for + * their platform and needs + * + * \param buf Buffer to be zeroized + * \param len Length of the buffer in bytes + * + */ +void mbedtls_platform_zeroize( void *buf, size_t len ); + +#ifdef __cplusplus +} +#endif + +#endif /* MBEDTLS_PLATFORM_UTIL_H */ diff --git a/tools/sdk/include/mbedtls/mbedtls/poly1305.h b/tools/sdk/include/mbedtls/mbedtls/poly1305.h new file mode 100644 index 00000000..54b50abc --- /dev/null +++ b/tools/sdk/include/mbedtls/mbedtls/poly1305.h @@ -0,0 +1,181 @@ +/** + * \file poly1305.h + * + * \brief This file contains Poly1305 definitions and functions. + * + * Poly1305 is a one-time message authenticator that can be used to + * authenticate messages. Poly1305-AES was created by Daniel + * Bernstein https://cr.yp.to/mac/poly1305-20050329.pdf The generic + * Poly1305 algorithm (not tied to AES) was also standardized in RFC + * 7539. + * + * \author Daniel King + */ + +/* Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This file is part of Mbed TLS (https://tls.mbed.org) + */ + +#ifndef MBEDTLS_POLY1305_H +#define MBEDTLS_POLY1305_H + +#if !defined(MBEDTLS_CONFIG_FILE) +#include "mbedtls/config.h" +#else +#include MBEDTLS_CONFIG_FILE +#endif + +#include +#include + +#define MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA -0x0057 /**< Invalid input parameter(s). */ +#define MBEDTLS_ERR_POLY1305_FEATURE_UNAVAILABLE -0x0059 /**< Feature not available. For example, s part of the API is not implemented. */ +#define MBEDTLS_ERR_POLY1305_HW_ACCEL_FAILED -0x005B /**< Poly1305 hardware accelerator failed. */ + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(MBEDTLS_POLY1305_ALT) + +typedef struct +{ + uint32_t r[4]; /** The value for 'r' (low 128 bits of the key). */ + uint32_t s[4]; /** The value for 's' (high 128 bits of the key). */ + uint32_t acc[5]; /** The accumulator number. */ + uint8_t queue[16]; /** The current partial block of data. */ + size_t queue_len; /** The number of bytes stored in 'queue'. */ +} +mbedtls_poly1305_context; + +#else /* MBEDTLS_POLY1305_ALT */ +#include "poly1305_alt.h" +#endif /* MBEDTLS_POLY1305_ALT */ + +/** + * \brief This function initializes the specified Poly1305 context. + * + * It must be the first API called before using + * the context. + * + * It is usually followed by a call to + * \c mbedtls_poly1305_starts(), then one or more calls to + * \c mbedtls_poly1305_update(), then one call to + * \c mbedtls_poly1305_finish(), then finally + * \c mbedtls_poly1305_free(). + * + * \param ctx The Poly1305 context to initialize. + */ +void mbedtls_poly1305_init( mbedtls_poly1305_context *ctx ); + +/** + * \brief This function releases and clears the specified Poly1305 context. + * + * \param ctx The Poly1305 context to clear. + */ +void mbedtls_poly1305_free( mbedtls_poly1305_context *ctx ); + +/** + * \brief This function sets the one-time authentication key. + * + * \warning The key must be unique and unpredictable for each + * invocation of Poly1305. + * + * \param ctx The Poly1305 context to which the key should be bound. + * \param key The buffer containing the 256-bit key. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if ctx or key are NULL. + */ +int mbedtls_poly1305_starts( mbedtls_poly1305_context *ctx, + const unsigned char key[32] ); + +/** + * \brief This functions feeds an input buffer into an ongoing + * Poly1305 computation. + * + * It is called between \c mbedtls_cipher_poly1305_starts() and + * \c mbedtls_cipher_poly1305_finish(). + * It can be called repeatedly to process a stream of data. + * + * \param ctx The Poly1305 context to use for the Poly1305 operation. + * \param ilen The length of the input data (in bytes). Any value is accepted. + * \param input The buffer holding the input data. + * This pointer can be NULL if ilen == 0. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if ctx or input are NULL. + */ +int mbedtls_poly1305_update( mbedtls_poly1305_context *ctx, + const unsigned char *input, + size_t ilen ); + +/** + * \brief This function generates the Poly1305 Message + * Authentication Code (MAC). + * + * \param ctx The Poly1305 context to use for the Poly1305 operation. + * \param mac The buffer to where the MAC is written. Must be big enough + * to hold the 16-byte MAC. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if ctx or mac are NULL. + */ +int mbedtls_poly1305_finish( mbedtls_poly1305_context *ctx, + unsigned char mac[16] ); + +/** + * \brief This function calculates the Poly1305 MAC of the input + * buffer with the provided key. + * + * \warning The key must be unique and unpredictable for each + * invocation of Poly1305. + * + * \param key The buffer containing the 256-bit key. + * \param ilen The length of the input data (in bytes). Any value is accepted. + * \param input The buffer holding the input data. + * This pointer can be NULL if ilen == 0. + * \param mac The buffer to where the MAC is written. Must be big enough + * to hold the 16-byte MAC. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA + * if key, input, or mac are NULL. + */ +int mbedtls_poly1305_mac( const unsigned char key[32], + const unsigned char *input, + size_t ilen, + unsigned char mac[16] ); + +#if defined(MBEDTLS_SELF_TEST) +/** + * \brief The Poly1305 checkup routine. + * + * \return \c 0 on success. + * \return \c 1 on failure. + */ +int mbedtls_poly1305_self_test( int verbose ); +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* MBEDTLS_POLY1305_H */ diff --git a/tools/sdk/include/mbedtls/mbedtls/rsa.h b/tools/sdk/include/mbedtls/mbedtls/rsa.h index df6e3e55..19eb2ee7 100644 --- a/tools/sdk/include/mbedtls/mbedtls/rsa.h +++ b/tools/sdk/include/mbedtls/mbedtls/rsa.h @@ -5,7 +5,7 @@ * * The RSA public-key cryptosystem is defined in Public-Key * Cryptography Standards (PKCS) #1 v1.5: RSA Encryption - * and Public-Key Cryptography Standards (PKCS) #1 v2.1: + * and Public-Key Cryptography Standards (PKCS) #1 v2.1: * RSA Cryptography Specifications. * */ @@ -781,7 +781,7 @@ int mbedtls_rsa_rsaes_pkcs1_v15_decrypt( mbedtls_rsa_context *ctx, * \param olen The length of the plaintext. * \param input The buffer holding the encrypted data. * \param output The buffer to hold the plaintext. - * \param output_max_len The maximum length of the output buffer. + * \param output_max_len The maximum length of the output buffer. * * \return \c 0 on success. * \return An \c MBEDTLS_ERR_RSA_XXX error code on failure. diff --git a/tools/sdk/include/mbedtls/mbedtls/sha1.h b/tools/sdk/include/mbedtls/mbedtls/sha1.h index 8f805fb4..65a124c9 100644 --- a/tools/sdk/include/mbedtls/mbedtls/sha1.h +++ b/tools/sdk/include/mbedtls/mbedtls/sha1.h @@ -3,7 +3,7 @@ * * \brief This file contains SHA-1 definitions and functions. * - * The Secure Hash Algorithm 1 (SHA-1) cryptographic hash function is defined in + * The Secure Hash Algorithm 1 (SHA-1) cryptographic hash function is defined in * FIPS 180-4: Secure Hash Standard (SHS). * * \warning SHA-1 is considered a weak message digest and its use constitutes diff --git a/tools/sdk/include/mbedtls/mbedtls/ssl.h b/tools/sdk/include/mbedtls/mbedtls/ssl.h index bb9c02db..2d511a8e 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ssl.h +++ b/tools/sdk/include/mbedtls/mbedtls/ssl.h @@ -62,7 +62,7 @@ #endif #if defined(MBEDTLS_HAVE_TIME) -#include "mbedtls/platform_time.h" +#include "platform_time.h" #endif /* @@ -120,6 +120,7 @@ #define MBEDTLS_ERR_SSL_NON_FATAL -0x6680 /**< The alert message received indicates a non-fatal error. */ #define MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH -0x6600 /**< Couldn't set the hash for verifying CertificateVerify */ #define MBEDTLS_ERR_SSL_CONTINUE_PROCESSING -0x6580 /**< Internal-only message signaling that further message-processing should be done */ +#define MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS -0x6500 /**< The asynchronous operation is not completed yet. */ /* * Various constants @@ -219,7 +220,7 @@ #endif /* - * Maxium fragment length in bytes, + * Maximum fragment length in bytes, * determines the size of each of the two internal I/O buffers. * * Note: the RFC defines the default size of SSL / TLS messages. If you @@ -233,6 +234,14 @@ #define MBEDTLS_SSL_MAX_CONTENT_LEN 16384 /**< Size of the input / output buffer */ #endif +#if !defined(MBEDTLS_SSL_IN_CONTENT_LEN) +#define MBEDTLS_SSL_IN_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN +#endif + +#if !defined(MBEDTLS_SSL_OUT_CONTENT_LEN) +#define MBEDTLS_SSL_OUT_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN +#endif + /* \} name SECTION: Module settings */ /* @@ -536,7 +545,6 @@ typedef void mbedtls_ssl_set_timer_t( void * ctx, */ typedef int mbedtls_ssl_get_timer_t( void * ctx ); - /* Defined below */ typedef struct mbedtls_ssl_session mbedtls_ssl_session; typedef struct mbedtls_ssl_context mbedtls_ssl_context; @@ -553,6 +561,218 @@ typedef struct mbedtls_ssl_key_cert mbedtls_ssl_key_cert; typedef struct mbedtls_ssl_flight_item mbedtls_ssl_flight_item; #endif +#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) +#if defined(MBEDTLS_X509_CRT_PARSE_C) +/** + * \brief Callback type: start external signature operation. + * + * This callback is called during an SSL handshake to start + * a signature decryption operation using an + * external processor. The parameter \p cert contains + * the public key; it is up to the callback function to + * determine how to access the associated private key. + * + * This function typically sends or enqueues a request, and + * does not wait for the operation to complete. This allows + * the handshake step to be non-blocking. + * + * The parameters \p ssl and \p cert are guaranteed to remain + * valid throughout the handshake. On the other hand, this + * function must save the contents of \p hash if the value + * is needed for later processing, because the \p hash buffer + * is no longer valid after this function returns. + * + * This function may call mbedtls_ssl_set_async_operation_data() + * to store an operation context for later retrieval + * by the resume or cancel callback. + * + * \note For RSA signatures, this function must produce output + * that is consistent with PKCS#1 v1.5 in the same way as + * mbedtls_rsa_pkcs1_sign(). Before the private key operation, + * apply the padding steps described in RFC 8017, section 9.2 + * "EMSA-PKCS1-v1_5" as follows. + * - If \p md_alg is #MBEDTLS_MD_NONE, apply the PKCS#1 v1.5 + * encoding, treating \p hash as the DigestInfo to be + * padded. In other words, apply EMSA-PKCS1-v1_5 starting + * from step 3, with `T = hash` and `tLen = hash_len`. + * - If `md_alg != MBEDTLS_MD_NONE`, apply the PKCS#1 v1.5 + * encoding, treating \p hash as the hash to be encoded and + * padded. In other words, apply EMSA-PKCS1-v1_5 starting + * from step 2, with `digestAlgorithm` obtained by calling + * mbedtls_oid_get_oid_by_md() on \p md_alg. + * + * \note For ECDSA signatures, the output format is the DER encoding + * `Ecdsa-Sig-Value` defined in + * [RFC 4492 section 5.4](https://tools.ietf.org/html/rfc4492#section-5.4). + * + * \param ssl The SSL connection instance. It should not be + * modified other than via + * mbedtls_ssl_set_async_operation_data(). + * \param cert Certificate containing the public key. + * In simple cases, this is one of the pointers passed to + * mbedtls_ssl_conf_own_cert() when configuring the SSL + * connection. However, if other callbacks are used, this + * property may not hold. For example, if an SNI callback + * is registered with mbedtls_ssl_conf_sni(), then + * this callback determines what certificate is used. + * \param md_alg Hash algorithm. + * \param hash Buffer containing the hash. This buffer is + * no longer valid when the function returns. + * \param hash_len Size of the \c hash buffer in bytes. + * + * \return 0 if the operation was started successfully and the SSL + * stack should call the resume callback immediately. + * \return #MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS if the operation + * was started successfully and the SSL stack should return + * immediately without calling the resume callback yet. + * \return #MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH if the external + * processor does not support this key. The SSL stack will + * use the private key object instead. + * \return Any other error indicates a fatal failure and is + * propagated up the call chain. The callback should + * use \c MBEDTLS_ERR_PK_xxx error codes, and must not + * use \c MBEDTLS_ERR_SSL_xxx error codes except as + * directed in the documentation of this callback. + */ +typedef int mbedtls_ssl_async_sign_t( mbedtls_ssl_context *ssl, + mbedtls_x509_crt *cert, + mbedtls_md_type_t md_alg, + const unsigned char *hash, + size_t hash_len ); + +/** + * \brief Callback type: start external decryption operation. + * + * This callback is called during an SSL handshake to start + * an RSA decryption operation using an + * external processor. The parameter \p cert contains + * the public key; it is up to the callback function to + * determine how to access the associated private key. + * + * This function typically sends or enqueues a request, and + * does not wait for the operation to complete. This allows + * the handshake step to be non-blocking. + * + * The parameters \p ssl and \p cert are guaranteed to remain + * valid throughout the handshake. On the other hand, this + * function must save the contents of \p input if the value + * is needed for later processing, because the \p input buffer + * is no longer valid after this function returns. + * + * This function may call mbedtls_ssl_set_async_operation_data() + * to store an operation context for later retrieval + * by the resume or cancel callback. + * + * \warning RSA decryption as used in TLS is subject to a potential + * timing side channel attack first discovered by Bleichenbacher + * in 1998. This attack can be remotely exploitable + * in practice. To avoid this attack, you must ensure that + * if the callback performs an RSA decryption, the time it + * takes to execute and return the result does not depend + * on whether the RSA decryption succeeded or reported + * invalid padding. + * + * \param ssl The SSL connection instance. It should not be + * modified other than via + * mbedtls_ssl_set_async_operation_data(). + * \param cert Certificate containing the public key. + * In simple cases, this is one of the pointers passed to + * mbedtls_ssl_conf_own_cert() when configuring the SSL + * connection. However, if other callbacks are used, this + * property may not hold. For example, if an SNI callback + * is registered with mbedtls_ssl_conf_sni(), then + * this callback determines what certificate is used. + * \param input Buffer containing the input ciphertext. This buffer + * is no longer valid when the function returns. + * \param input_len Size of the \p input buffer in bytes. + * + * \return 0 if the operation was started successfully and the SSL + * stack should call the resume callback immediately. + * \return #MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS if the operation + * was started successfully and the SSL stack should return + * immediately without calling the resume callback yet. + * \return #MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH if the external + * processor does not support this key. The SSL stack will + * use the private key object instead. + * \return Any other error indicates a fatal failure and is + * propagated up the call chain. The callback should + * use \c MBEDTLS_ERR_PK_xxx error codes, and must not + * use \c MBEDTLS_ERR_SSL_xxx error codes except as + * directed in the documentation of this callback. + */ +typedef int mbedtls_ssl_async_decrypt_t( mbedtls_ssl_context *ssl, + mbedtls_x509_crt *cert, + const unsigned char *input, + size_t input_len ); +#endif /* MBEDTLS_X509_CRT_PARSE_C */ + +/** + * \brief Callback type: resume external operation. + * + * This callback is called during an SSL handshake to resume + * an external operation started by the + * ::mbedtls_ssl_async_sign_t or + * ::mbedtls_ssl_async_decrypt_t callback. + * + * This function typically checks the status of a pending + * request or causes the request queue to make progress, and + * does not wait for the operation to complete. This allows + * the handshake step to be non-blocking. + * + * This function may call mbedtls_ssl_get_async_operation_data() + * to retrieve an operation context set by the start callback. + * It may call mbedtls_ssl_set_async_operation_data() to modify + * this context. + * + * Note that when this function returns a status other than + * #MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS, it must free any + * resources associated with the operation. + * + * \param ssl The SSL connection instance. It should not be + * modified other than via + * mbedtls_ssl_set_async_operation_data(). + * \param output Buffer containing the output (signature or decrypted + * data) on success. + * \param output_len On success, number of bytes written to \p output. + * \param output_size Size of the \p output buffer in bytes. + * + * \return 0 if output of the operation is available in the + * \p output buffer. + * \return #MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS if the operation + * is still in progress. Subsequent requests for progress + * on the SSL connection will call the resume callback + * again. + * \return Any other error means that the operation is aborted. + * The SSL handshake is aborted. The callback should + * use \c MBEDTLS_ERR_PK_xxx error codes, and must not + * use \c MBEDTLS_ERR_SSL_xxx error codes except as + * directed in the documentation of this callback. + */ +typedef int mbedtls_ssl_async_resume_t( mbedtls_ssl_context *ssl, + unsigned char *output, + size_t *output_len, + size_t output_size ); + +/** + * \brief Callback type: cancel external operation. + * + * This callback is called if an SSL connection is closed + * while an asynchronous operation is in progress. Note that + * this callback is not called if the + * ::mbedtls_ssl_async_resume_t callback has run and has + * returned a value other than + * #MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS, since in that case + * the asynchronous operation has already completed. + * + * This function may call mbedtls_ssl_get_async_operation_data() + * to retrieve an operation context set by the start callback. + * + * \param ssl The SSL connection instance. It should not be + * modified. + */ +typedef void mbedtls_ssl_async_cancel_t( mbedtls_ssl_context *ssl ); +#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ + /* * This structure is used for storing current session data. */ @@ -669,6 +889,16 @@ struct mbedtls_ssl_config mbedtls_x509_crl *ca_crl; /*!< trusted CAs CRLs */ #endif /* MBEDTLS_X509_CRT_PARSE_C */ +#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) +#if defined(MBEDTLS_X509_CRT_PARSE_C) + mbedtls_ssl_async_sign_t *f_async_sign_start; /*!< start asynchronous signature operation */ + mbedtls_ssl_async_decrypt_t *f_async_decrypt_start; /*!< start asynchronous decryption operation */ +#endif /* MBEDTLS_X509_CRT_PARSE_C */ + mbedtls_ssl_async_resume_t *f_async_resume; /*!< resume asynchronous operation */ + mbedtls_ssl_async_cancel_t *f_async_cancel; /*!< cancel asynchronous operation */ + void *p_async_config_data; /*!< Configuration data set by mbedtls_ssl_conf_async_private_cb(). */ +#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ + #if defined(MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED) const int *sig_hashes; /*!< allowed signature hashes */ #endif @@ -946,14 +1176,6 @@ extern int (*mbedtls_ssl_hw_record_read)(mbedtls_ssl_context *ssl); extern int (*mbedtls_ssl_hw_record_finish)(mbedtls_ssl_context *ssl); #endif /* MBEDTLS_SSL_HW_RECORD_ACCEL */ -/** - * \brief Returns the list of ciphersuites supported by the SSL/TLS module. - * - * \return a statically allocated array of ciphersuites, the last - * entry is 0. - */ -const int *mbedtls_ssl_list_ciphersuites( void ); - /** * \brief Return the name of the ciphersuite associated with the * given ID @@ -1315,6 +1537,85 @@ void mbedtls_ssl_conf_export_keys_cb( mbedtls_ssl_config *conf, void *p_export_keys ); #endif /* MBEDTLS_SSL_EXPORT_KEYS */ +#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) +/** + * \brief Configure asynchronous private key operation callbacks. + * + * \param conf SSL configuration context + * \param f_async_sign Callback to start a signature operation. See + * the description of ::mbedtls_ssl_async_sign_t + * for more information. This may be \c NULL if the + * external processor does not support any signature + * operation; in this case the private key object + * associated with the certificate will be used. + * \param f_async_decrypt Callback to start a decryption operation. See + * the description of ::mbedtls_ssl_async_decrypt_t + * for more information. This may be \c NULL if the + * external processor does not support any decryption + * operation; in this case the private key object + * associated with the certificate will be used. + * \param f_async_resume Callback to resume an asynchronous operation. See + * the description of ::mbedtls_ssl_async_resume_t + * for more information. This may not be \c NULL unless + * \p f_async_sign and \p f_async_decrypt are both + * \c NULL. + * \param f_async_cancel Callback to cancel an asynchronous operation. See + * the description of ::mbedtls_ssl_async_cancel_t + * for more information. This may be \c NULL if + * no cleanup is needed. + * \param config_data A pointer to configuration data which can be + * retrieved with + * mbedtls_ssl_conf_get_async_config_data(). The + * library stores this value without dereferencing it. + */ +void mbedtls_ssl_conf_async_private_cb( mbedtls_ssl_config *conf, + mbedtls_ssl_async_sign_t *f_async_sign, + mbedtls_ssl_async_decrypt_t *f_async_decrypt, + mbedtls_ssl_async_resume_t *f_async_resume, + mbedtls_ssl_async_cancel_t *f_async_cancel, + void *config_data ); + +/** + * \brief Retrieve the configuration data set by + * mbedtls_ssl_conf_async_private_cb(). + * + * \param conf SSL configuration context + * \return The configuration data set by + * mbedtls_ssl_conf_async_private_cb(). + */ +void *mbedtls_ssl_conf_get_async_config_data( const mbedtls_ssl_config *conf ); + +/** + * \brief Retrieve the asynchronous operation user context. + * + * \note This function may only be called while a handshake + * is in progress. + * + * \param ssl The SSL context to access. + * + * \return The asynchronous operation user context that was last + * set during the current handshake. If + * mbedtls_ssl_set_async_operation_data() has not yet been + * called during the current handshake, this function returns + * \c NULL. + */ +void *mbedtls_ssl_get_async_operation_data( const mbedtls_ssl_context *ssl ); + +/** + * \brief Retrieve the asynchronous operation user context. + * + * \note This function may only be called while a handshake + * is in progress. + * + * \param ssl The SSL context to access. + * \param ctx The new value of the asynchronous operation user context. + * Call mbedtls_ssl_get_async_operation_data() later during the + * same handshake to retrieve this value. + */ +void mbedtls_ssl_set_async_operation_data( mbedtls_ssl_context *ssl, + void *ctx ); +#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ + /** * \brief Callback type: generate a cookie * @@ -1854,21 +2155,21 @@ void mbedtls_ssl_conf_sig_hashes( mbedtls_ssl_config *conf, #if defined(MBEDTLS_X509_CRT_PARSE_C) /** - * \brief Set or reset the hostname to check against the received - * server certificate. It sets the ServerName TLS extension, + * \brief Set or reset the hostname to check against the received + * server certificate. It sets the ServerName TLS extension, * too, if that extension is enabled. (client-side only) * * \param ssl SSL context * \param hostname the server hostname, may be NULL to clear hostname - + * \note Maximum hostname length MBEDTLS_SSL_MAX_HOST_NAME_LEN. * - * \return 0 if successful, MBEDTLS_ERR_SSL_ALLOC_FAILED on - * allocation failure, MBEDTLS_ERR_SSL_BAD_INPUT_DATA on + * \return 0 if successful, MBEDTLS_ERR_SSL_ALLOC_FAILED on + * allocation failure, MBEDTLS_ERR_SSL_BAD_INPUT_DATA on * too long input hostname. * * Hostname set to the one provided on success (cleared - * when NULL). On allocation failure hostname is cleared. + * when NULL). On allocation failure hostname is cleared. * On too long input failure, old hostname is unchanged. */ int mbedtls_ssl_set_hostname( mbedtls_ssl_context *ssl, const char *hostname ); @@ -2125,7 +2426,8 @@ void mbedtls_ssl_conf_cert_req_ca_list( mbedtls_ssl_config *conf, #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) /** * \brief Set the maximum fragment length to emit and/or negotiate - * (Default: MBEDTLS_SSL_MAX_CONTENT_LEN, usually 2^14 bytes) + * (Default: the smaller of MBEDTLS_SSL_IN_CONTENT_LEN and + * MBEDTLS_SSL_OUT_CONTENT_LEN, usually 2^14 bytes) * (Server: set maximum fragment length to emit, * usually negotiated by the client during handshake * (Client: set maximum fragment length to emit *and* @@ -2444,7 +2746,6 @@ const mbedtls_x509_crt *mbedtls_ssl_get_peer_cert( const mbedtls_ssl_context *ss * \brief Save session in order to resume it later (client-side only) * Session data is copied to presented session structure. * - * \warning Currently, peer certificate is lost in the operation. * * \param ssl SSL context * \param session session context @@ -2452,7 +2753,18 @@ const mbedtls_x509_crt *mbedtls_ssl_get_peer_cert( const mbedtls_ssl_context *ss * \return 0 if successful, * MBEDTLS_ERR_SSL_ALLOC_FAILED if memory allocation failed, * MBEDTLS_ERR_SSL_BAD_INPUT_DATA if used server-side or - * arguments are otherwise invalid + * arguments are otherwise invalid. + * + * \note Only the server certificate is copied, and not the full chain, + * so you should not attempt to validate the certificate again + * by calling \c mbedtls_x509_crt_verify() on it. + * Instead, you should use the results from the verification + * in the original handshake by calling \c mbedtls_ssl_get_verify_result() + * after loading the session again into a new SSL context + * using \c mbedtls_ssl_set_session(). + * + * \note Once the session object is not needed anymore, you should + * free it by calling \c mbedtls_ssl_session_free(). * * \sa mbedtls_ssl_set_session() */ @@ -2614,17 +2926,19 @@ int mbedtls_ssl_read( mbedtls_ssl_context *ssl, unsigned char *buf, size_t len ) * or MBEDTLS_ERR_SSL_WANT_WRITE or MBEDTLS_ERR_SSL_WANT_READ, * or another negative error code. * - * \note If this function returns something other than a positive value - * or MBEDTLS_ERR_SSL_WANT_READ/WRITE, you must stop using - * the SSL context for reading or writing, and either free it or - * call \c mbedtls_ssl_session_reset() on it before re-using it - * for a new connection; the current connection must be closed. + * \note If this function returns something other than 0, a positive + * value or MBEDTLS_ERR_SSL_WANT_READ/WRITE, you must stop + * using the SSL context for reading or writing, and either + * free it or call \c mbedtls_ssl_session_reset() on it before + * re-using it for a new connection; the current connection + * must be closed. * * \note When this function returns MBEDTLS_ERR_SSL_WANT_WRITE/READ, * it must be called later with the *same* arguments, - * until it returns a positive value. When the function returns - * MBEDTLS_ERR_SSL_WANT_WRITE there may be some partial - * data in the output buffer, however this is not yet sent. + * until it returns a value greater that or equal to 0. When + * the function returns MBEDTLS_ERR_SSL_WANT_WRITE there may be + * some partial data in the output buffer, however this is not + * yet sent. * * \note If the requested length is greater than the maximum * fragment length (either the built-in limit or the one set @@ -2633,6 +2947,9 @@ int mbedtls_ssl_read( mbedtls_ssl_context *ssl, unsigned char *buf, size_t len ) * - with DTLS, MBEDTLS_ERR_SSL_BAD_INPUT_DATA is returned. * \c mbedtls_ssl_get_max_frag_len() may be used to query the * active maximum fragment length. + * + * \note Attempting to write 0 bytes will result in an empty TLS + * application record being sent. */ int mbedtls_ssl_write( mbedtls_ssl_context *ssl, const unsigned char *buf, size_t len ); @@ -2725,6 +3042,9 @@ void mbedtls_ssl_session_init( mbedtls_ssl_session *session ); * \brief Free referenced items in an SSL session including the * peer certificate and clear memory * + * \note A session object can be freed even if the SSL context + * that was used to retrieve the session is still in use. + * * \param session SSL session */ void mbedtls_ssl_session_free( mbedtls_ssl_session *session ); diff --git a/tools/sdk/include/mbedtls/mbedtls/ssl_ciphersuites.h b/tools/sdk/include/mbedtls/mbedtls/ssl_ciphersuites.h index 545468a5..cda8b483 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ssl_ciphersuites.h +++ b/tools/sdk/include/mbedtls/mbedtls/ssl_ciphersuites.h @@ -169,6 +169,45 @@ extern "C" { #define MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256 0xC03A /**< Weak! No SSL3! */ #define MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384 0xC03B /**< Weak! No SSL3! */ +#define MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256 0xC03C /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384 0xC03D /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC044 /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC045 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC048 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC049 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC04A /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC04B /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC04C /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC04D /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 0xC04E /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 0xC04F /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256 0xC050 /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384 0xC051 /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC052 /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC053 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05C /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05D /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05E /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05F /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC060 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC061 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 0xC062 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 0xC063 /**< TLS 1.2 */ +#define MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256 0xC064 /**< TLS 1.2 */ +#define MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384 0xC065 /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 0xC066 /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 0xC067 /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 0xC068 /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 0xC069 /**< TLS 1.2 */ +#define MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256 0xC06A /**< TLS 1.2 */ +#define MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384 0xC06B /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 0xC06C /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 0xC06D /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 0xC06E /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 0xC06F /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 0xC070 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 0xC071 /**< TLS 1.2 */ + #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC072 /**< Not in SSL3! */ #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC073 /**< Not in SSL3! */ #define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC074 /**< Not in SSL3! */ @@ -232,6 +271,15 @@ extern "C" { #define MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 0xC0FF /**< experimental */ +/* RFC 7905 */ +#define MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA8 /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA9 /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCAA /**< TLS 1.2 */ +#define MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAB /**< TLS 1.2 */ +#define MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAC /**< TLS 1.2 */ +#define MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAD /**< TLS 1.2 */ +#define MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAE /**< TLS 1.2 */ + /* Reminder: update mbedtls_ssl_premaster_secret when adding a new key exchange. * Reminder: update MBEDTLS_KEY_EXCHANGE__xxx below */ @@ -267,7 +315,7 @@ typedef enum { defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) || \ - defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) #define MBEDTLS_KEY_EXCHANGE__CERT_REQ_ALLOWED__ENABLED #endif diff --git a/tools/sdk/include/mbedtls/mbedtls/ssl_internal.h b/tools/sdk/include/mbedtls/mbedtls/ssl_internal.h index 60b431a0..d214703d 100644 --- a/tools/sdk/include/mbedtls/mbedtls/ssl_internal.h +++ b/tools/sdk/include/mbedtls/mbedtls/ssl_internal.h @@ -143,32 +143,73 @@ #define MBEDTLS_SSL_PADDING_ADD 0 #endif -#define MBEDTLS_SSL_PAYLOAD_LEN ( MBEDTLS_SSL_MAX_CONTENT_LEN \ - + MBEDTLS_SSL_COMPRESSION_ADD \ - + MBEDTLS_MAX_IV_LENGTH \ - + MBEDTLS_SSL_MAC_ADD \ - + MBEDTLS_SSL_PADDING_ADD \ - ) +#define MBEDTLS_SSL_PAYLOAD_OVERHEAD ( MBEDTLS_SSL_COMPRESSION_ADD + \ + MBEDTLS_MAX_IV_LENGTH + \ + MBEDTLS_SSL_MAC_ADD + \ + MBEDTLS_SSL_PADDING_ADD \ + ) + +#define MBEDTLS_SSL_IN_PAYLOAD_LEN ( MBEDTLS_SSL_PAYLOAD_OVERHEAD + \ + ( MBEDTLS_SSL_IN_CONTENT_LEN ) ) + +#define MBEDTLS_SSL_OUT_PAYLOAD_LEN ( MBEDTLS_SSL_PAYLOAD_OVERHEAD + \ + ( MBEDTLS_SSL_OUT_CONTENT_LEN ) ) + +/* Maximum length we can advertise as our max content length for + RFC 6066 max_fragment_length extension negotiation purposes + (the lesser of both sizes, if they are unequal.) + */ +#define MBEDTLS_TLS_EXT_ADV_CONTENT_LEN ( \ + (MBEDTLS_SSL_IN_CONTENT_LEN > MBEDTLS_SSL_OUT_CONTENT_LEN) \ + ? ( MBEDTLS_SSL_OUT_CONTENT_LEN ) \ + : ( MBEDTLS_SSL_IN_CONTENT_LEN ) \ + ) /* * Check that we obey the standard's message size bounds */ #if MBEDTLS_SSL_MAX_CONTENT_LEN > 16384 -#error Bad configuration - record content too large. +#error "Bad configuration - record content too large." #endif -#if MBEDTLS_SSL_PAYLOAD_LEN > 16384 + 2048 -#error Bad configuration - protected record payload too large. +#if MBEDTLS_SSL_IN_CONTENT_LEN > MBEDTLS_SSL_MAX_CONTENT_LEN +#error "Bad configuration - incoming record content should not be larger than MBEDTLS_SSL_MAX_CONTENT_LEN." #endif +#if MBEDTLS_SSL_OUT_CONTENT_LEN > MBEDTLS_SSL_MAX_CONTENT_LEN +#error "Bad configuration - outgoing record content should not be larger than MBEDTLS_SSL_MAX_CONTENT_LEN." +#endif + +#if MBEDTLS_SSL_IN_PAYLOAD_LEN > MBEDTLS_SSL_MAX_CONTENT_LEN + 2048 +#error "Bad configuration - incoming protected record payload too large." +#endif + +#if MBEDTLS_SSL_OUT_PAYLOAD_LEN > MBEDTLS_SSL_MAX_CONTENT_LEN + 2048 +#error "Bad configuration - outgoing protected record payload too large." +#endif + +/* Calculate buffer sizes */ + /* Note: Even though the TLS record header is only 5 bytes long, we're internally using 8 bytes to store the implicit sequence number. */ #define MBEDTLS_SSL_HEADER_LEN 13 -#define MBEDTLS_SSL_BUFFER_LEN \ - ( ( MBEDTLS_SSL_HEADER_LEN ) + ( MBEDTLS_SSL_PAYLOAD_LEN ) ) +#define MBEDTLS_SSL_IN_BUFFER_LEN \ + ( ( MBEDTLS_SSL_HEADER_LEN ) + ( MBEDTLS_SSL_IN_PAYLOAD_LEN ) ) + +#define MBEDTLS_SSL_OUT_BUFFER_LEN \ + ( ( MBEDTLS_SSL_HEADER_LEN ) + ( MBEDTLS_SSL_OUT_PAYLOAD_LEN ) ) + +#ifdef MBEDTLS_ZLIB_SUPPORT +/* Compression buffer holds both IN and OUT buffers, so should be size of the larger */ +#define MBEDTLS_SSL_COMPRESS_BUFFER_LEN ( \ + ( MBEDTLS_SSL_IN_BUFFER_LEN > MBEDTLS_SSL_OUT_BUFFER_LEN ) \ + ? MBEDTLS_SSL_IN_BUFFER_LEN \ + : MBEDTLS_SSL_OUT_BUFFER_LEN \ + ) +#endif /* * TLS extension flags (for extensions with outgoing ServerHello content @@ -243,6 +284,7 @@ struct mbedtls_ssl_handshake_params mbedtls_x509_crl *sni_ca_crl; /*!< trusted CAs CRLs from SNI */ #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ #endif /* MBEDTLS_X509_CRT_PARSE_C */ + #if defined(MBEDTLS_SSL_PROTO_DTLS) unsigned int out_msg_seq; /*!< Outgoing handshake sequence number */ unsigned int in_msg_seq; /*!< Incoming handshake sequence number */ @@ -307,6 +349,19 @@ struct mbedtls_ssl_handshake_params #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) int extended_ms; /*!< use Extended Master Secret? */ #endif + +#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) + unsigned int async_in_progress : 1; /*!< an asynchronous operation is in progress */ +#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ + +#if defined(MBEDTLS_SSL_ASYNC_PRIVATE) + /** Asynchronous operation context. This field is meant for use by the + * asynchronous operation callbacks (mbedtls_ssl_config::f_async_sign_start, + * mbedtls_ssl_config::f_async_decrypt_start, + * mbedtls_ssl_config::f_async_resume, mbedtls_ssl_config::f_async_cancel). + * The library does not use it internally. */ + void *user_async_ctx; +#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ }; /* @@ -410,9 +465,9 @@ void mbedtls_ssl_transform_free( mbedtls_ssl_transform *transform ); * \brief Free referenced items in an SSL handshake context and clear * memory * - * \param handshake SSL handshake context + * \param ssl SSL context */ -void mbedtls_ssl_handshake_free( mbedtls_ssl_handshake_params *handshake ); +void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ); int mbedtls_ssl_handshake_client_step( mbedtls_ssl_context *ssl ); int mbedtls_ssl_handshake_server_step( mbedtls_ssl_context *ssl ); @@ -630,7 +685,13 @@ static inline int mbedtls_ssl_safer_memcmp( const void *a, const void *b, size_t volatile unsigned char diff = 0; for( i = 0; i < n; i++ ) - diff |= A[i] ^ B[i]; + { + /* Read volatile data in order before computing diff. + * This avoids IAR compiler warning: + * 'the order of volatile accesses is undefined ..' */ + unsigned char x = A[i], y = B[i]; + diff |= x ^ y; + } return( diff ); } @@ -646,9 +707,9 @@ int mbedtls_ssl_get_key_exchange_md_ssl_tls( mbedtls_ssl_context *ssl, #if defined(MBEDTLS_SSL_PROTO_TLS1) || defined(MBEDTLS_SSL_PROTO_TLS1_1) || \ defined(MBEDTLS_SSL_PROTO_TLS1_2) int mbedtls_ssl_get_key_exchange_md_tls1_2( mbedtls_ssl_context *ssl, - unsigned char *output, - unsigned char *data, size_t data_len, - mbedtls_md_type_t md_alg ); + unsigned char *hash, size_t *hashlen, + unsigned char *data, size_t data_len, + mbedtls_md_type_t md_alg ); #endif /* MBEDTLS_SSL_PROTO_TLS1 || MBEDTLS_SSL_PROTO_TLS1_1 || \ MBEDTLS_SSL_PROTO_TLS1_2 */ diff --git a/tools/sdk/include/mbedtls/mbedtls/threading.h b/tools/sdk/include/mbedtls/mbedtls/threading.h index aeea5d0e..c25daa5c 100644 --- a/tools/sdk/include/mbedtls/mbedtls/threading.h +++ b/tools/sdk/include/mbedtls/mbedtls/threading.h @@ -99,9 +99,6 @@ extern int (*mbedtls_mutex_unlock)( mbedtls_threading_mutex_t *mutex ); #if defined(MBEDTLS_FS_IO) extern mbedtls_threading_mutex_t mbedtls_threading_readdir_mutex; #endif -#if defined(MBEDTLS_HAVE_TIME_DATE) -extern mbedtls_threading_mutex_t mbedtls_threading_gmtime_mutex; -#endif #endif /* MBEDTLS_THREADING_C */ #ifdef __cplusplus diff --git a/tools/sdk/include/mbedtls/mbedtls/version.h b/tools/sdk/include/mbedtls/mbedtls/version.h index aa52ce21..eaf25d90 100644 --- a/tools/sdk/include/mbedtls/mbedtls/version.h +++ b/tools/sdk/include/mbedtls/mbedtls/version.h @@ -39,7 +39,7 @@ * Major, Minor, Patchlevel */ #define MBEDTLS_VERSION_MAJOR 2 -#define MBEDTLS_VERSION_MINOR 9 +#define MBEDTLS_VERSION_MINOR 12 #define MBEDTLS_VERSION_PATCH 0 /** @@ -47,9 +47,9 @@ * MMNNPP00 * Major version | Minor version | Patch version */ -#define MBEDTLS_VERSION_NUMBER 0x02090000 -#define MBEDTLS_VERSION_STRING "2.9.0" -#define MBEDTLS_VERSION_STRING_FULL "mbed TLS 2.9.0" +#define MBEDTLS_VERSION_NUMBER 0x020C0000 +#define MBEDTLS_VERSION_STRING "2.12.0" +#define MBEDTLS_VERSION_STRING_FULL "mbed TLS 2.12.0" #if defined(MBEDTLS_VERSION_C) diff --git a/tools/sdk/include/mbedtls_port/mbedtls/esp_config.h b/tools/sdk/include/mbedtls_port/mbedtls/esp_config.h index c81bf1a0..561ff723 100644 --- a/tools/sdk/include/mbedtls_port/mbedtls/esp_config.h +++ b/tools/sdk/include/mbedtls_port/mbedtls/esp_config.h @@ -114,7 +114,9 @@ * * Enable this layer to allow use of alternative memory allocators. */ -//#define MBEDTLS_PLATFORM_MEMORY +#ifdef CONFIG_MBEDTLS_PLATFORM_MEMORY +#define MBEDTLS_PLATFORM_MEMORY +#endif /** * \def MBEDTLS_PLATFORM_NO_STD_FUNCTIONS diff --git a/tools/sdk/include/newlib/errno.h b/tools/sdk/include/newlib/errno.h index 7cc2ca86..85fb2e15 100644 --- a/tools/sdk/include/newlib/errno.h +++ b/tools/sdk/include/newlib/errno.h @@ -1,11 +1,39 @@ -#ifndef __ERRNO_H__ -#define __ERRNO_H__ -#ifndef __error_t_defined -typedef int error_t; -#define __error_t_defined 1 +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _ESP_PLATFORM_ERRNO_H_ +#define _ESP_PLATFORM_ERRNO_H_ + +#include_next "errno.h" + +// +// Possibly define some missing errors +// +#ifndef ESHUTDOWN +#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ #endif -#include +#ifndef EAI_SOCKTYPE +#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ +#endif -#endif /* !__ERRNO_H__ */ +#ifndef EAI_AGAIN +#define EAI_AGAIN 2 /* temporary failure in name resolution */ +#endif + +#ifndef EAI_BADFLAGS +#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ +#endif + +#endif // _ESP_PLATFORM_ERRNO_H_ diff --git a/tools/sdk/include/newlib/net/if.h b/tools/sdk/include/newlib/net/if.h new file mode 100644 index 00000000..8760bb15 --- /dev/null +++ b/tools/sdk/include/newlib/net/if.h @@ -0,0 +1,45 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _ESP_PLATFORM_NET_IF_H_ +#define _ESP_PLATFORM_NET_IF_H_ + +#define MSG_DONTROUTE 0x4 /* send without using routing tables */ +#define SOCK_SEQPACKET 5 /* sequenced packet stream */ +#define MSG_EOR 0x8 /* data completes record */ +#define SOCK_SEQPACKET 5 /* sequenced packet stream */ +#define SOMAXCONN 128 + +#define IF_NAMESIZE 16 + +#define IPV6_UNICAST_HOPS 4 /* int; IP6 hops */ + +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 +#define NI_NUMERICSERV 0x00000008 +#define NI_DGRAM 0x00000010 + + +struct ipv6_mreq { + struct in6_addr ipv6mr_multiaddr; + unsigned int ipv6mr_interface; +}; + +typedef u32_t socklen_t; + + +unsigned int if_nametoindex(const char *ifname); + +char *if_indextoname(unsigned int ifindex, char *ifname); + +#endif // _ESP_PLATFORM_NET_IF_H_ diff --git a/tools/sdk/include/newlib/pthread.h b/tools/sdk/include/newlib/pthread.h index db1f9c1c..4515fb00 100644 --- a/tools/sdk/include/newlib/pthread.h +++ b/tools/sdk/include/newlib/pthread.h @@ -1,431 +1,33 @@ -/* pthread.h - * - * Written by Joel Sherrill . - * - * COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * Permission to use, copy, modify, and distribute this software for any - * purpose without fee is hereby granted, provided that this entire notice - * is included in all copies of any software which is or includes a copy - * or modification of this software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION - * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS - * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * $Id$ - */ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef __ESP_PLATFORM_PTHREAD_H__ +#define __ESP_PLATFORM_PTHREAD_H__ -#ifndef __PTHREAD_h -#define __PTHREAD_h +#include +#include +#include_next #ifdef __cplusplus extern "C" { #endif -#include - -#if defined(_POSIX_THREADS) - -#include -#include -#include -#include - -struct _pthread_cleanup_context { - void (*_routine)(void *); - void *_arg; - int _canceltype; - struct _pthread_cleanup_context *_previous; -}; - -/* Register Fork Handlers */ -int _EXFUN(pthread_atfork,(void (*prepare)(void), void (*parent)(void), - void (*child)(void))); - -/* Mutex Initialization Attributes, P1003.1c/Draft 10, p. 81 */ - -int _EXFUN(pthread_mutexattr_init, (pthread_mutexattr_t *__attr)); -int _EXFUN(pthread_mutexattr_destroy, (pthread_mutexattr_t *__attr)); -int _EXFUN(pthread_mutexattr_getpshared, - (_CONST pthread_mutexattr_t *__attr, int *__pshared)); -int _EXFUN(pthread_mutexattr_setpshared, - (pthread_mutexattr_t *__attr, int __pshared)); - -#if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES) - -/* Single UNIX Specification 2 Mutex Attributes types */ - -int _EXFUN(pthread_mutexattr_gettype, - (_CONST pthread_mutexattr_t *__attr, int *__kind)); -int _EXFUN(pthread_mutexattr_settype, - (pthread_mutexattr_t *__attr, int __kind)); - -#endif - -/* Initializing and Destroying a Mutex, P1003.1c/Draft 10, p. 87 */ - -int _EXFUN(pthread_mutex_init, - (pthread_mutex_t *__mutex, _CONST pthread_mutexattr_t *__attr)); -int _EXFUN(pthread_mutex_destroy, (pthread_mutex_t *__mutex)); - -/* This is used to statically initialize a pthread_mutex_t. Example: - - pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; - */ - -#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF) - -/* Locking and Unlocking a Mutex, P1003.1c/Draft 10, p. 93 - NOTE: P1003.4b/D8 adds pthread_mutex_timedlock(), p. 29 */ - -int _EXFUN(pthread_mutex_lock, (pthread_mutex_t *__mutex)); -int _EXFUN(pthread_mutex_trylock, (pthread_mutex_t *__mutex)); -int _EXFUN(pthread_mutex_unlock, (pthread_mutex_t *__mutex)); - -#if defined(_POSIX_TIMEOUTS) - -int _EXFUN(pthread_mutex_timedlock, - (pthread_mutex_t *__mutex, _CONST struct timespec *__timeout)); - -#endif /* _POSIX_TIMEOUTS */ - -/* Condition Variable Initialization Attributes, P1003.1c/Draft 10, p. 96 */ - -int _EXFUN(pthread_condattr_init, (pthread_condattr_t *__attr)); -int _EXFUN(pthread_condattr_destroy, (pthread_condattr_t *__attr)); -int _EXFUN(pthread_condattr_getpshared, - (_CONST pthread_condattr_t *__attr, int *__pshared)); -int _EXFUN(pthread_condattr_setpshared, - (pthread_condattr_t *__attr, int __pshared)); - -/* Initializing and Destroying a Condition Variable, P1003.1c/Draft 10, p. 87 */ - -int _EXFUN(pthread_cond_init, - (pthread_cond_t *__cond, _CONST pthread_condattr_t *__attr)); -int _EXFUN(pthread_cond_destroy, (pthread_cond_t *__mutex)); - -/* This is used to statically initialize a pthread_cond_t. Example: - - pthread_cond_t cond = PTHREAD_COND_INITIALIZER; - */ - -#define PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF) - -/* Broadcasting and Signaling a Condition, P1003.1c/Draft 10, p. 101 */ - -int _EXFUN(pthread_cond_signal, (pthread_cond_t *__cond)); -int _EXFUN(pthread_cond_broadcast, (pthread_cond_t *__cond)); - -/* Waiting on a Condition, P1003.1c/Draft 10, p. 105 */ - -int _EXFUN(pthread_cond_wait, - (pthread_cond_t *__cond, pthread_mutex_t *__mutex)); - -int _EXFUN(pthread_cond_timedwait, - (pthread_cond_t *__cond, pthread_mutex_t *__mutex, - _CONST struct timespec *__abstime)); - -#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) - -/* Thread Creation Scheduling Attributes, P1003.1c/Draft 10, p. 120 */ - -int _EXFUN(pthread_attr_setscope, - (pthread_attr_t *__attr, int __contentionscope)); -int _EXFUN(pthread_attr_getscope, - (_CONST pthread_attr_t *__attr, int *__contentionscope)); -int _EXFUN(pthread_attr_setinheritsched, - (pthread_attr_t *__attr, int __inheritsched)); -int _EXFUN(pthread_attr_getinheritsched, - (_CONST pthread_attr_t *__attr, int *__inheritsched)); -int _EXFUN(pthread_attr_setschedpolicy, - (pthread_attr_t *__attr, int __policy)); -int _EXFUN(pthread_attr_getschedpolicy, - (_CONST pthread_attr_t *__attr, int *__policy)); - -#endif /* defined(_POSIX_THREAD_PRIORITY_SCHEDULING) */ - -int _EXFUN(pthread_attr_setschedparam, - (pthread_attr_t *__attr, _CONST struct sched_param *__param)); -int _EXFUN(pthread_attr_getschedparam, - (_CONST pthread_attr_t *__attr, struct sched_param *__param)); - -#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) - -/* Dynamic Thread Scheduling Parameters Access, P1003.1c/Draft 10, p. 124 */ - -int _EXFUN(pthread_getschedparam, - (pthread_t __pthread, int *__policy, struct sched_param *__param)); -int _EXFUN(pthread_setschedparam, - (pthread_t __pthread, int __policy, struct sched_param *__param)); - -#endif /* defined(_POSIX_THREAD_PRIORITY_SCHEDULING) */ - -#if defined(_POSIX_THREAD_PRIO_INHERIT) || defined(_POSIX_THREAD_PRIO_PROTECT) - -/* Mutex Initialization Scheduling Attributes, P1003.1c/Draft 10, p. 128 */ - -int _EXFUN(pthread_mutexattr_setprotocol, - (pthread_mutexattr_t *__attr, int __protocol)); -int _EXFUN(pthread_mutexattr_getprotocol, - (_CONST pthread_mutexattr_t *__attr, int *__protocol)); -int _EXFUN(pthread_mutexattr_setprioceiling, - (pthread_mutexattr_t *__attr, int __prioceiling)); -int _EXFUN(pthread_mutexattr_getprioceiling, - (_CONST pthread_mutexattr_t *__attr, int *__prioceiling)); - -#endif /* _POSIX_THREAD_PRIO_INHERIT || _POSIX_THREAD_PRIO_PROTECT */ - -#if defined(_POSIX_THREAD_PRIO_PROTECT) - -/* Change the Priority Ceiling of a Mutex, P1003.1c/Draft 10, p. 131 */ - -int _EXFUN(pthread_mutex_setprioceiling, - (pthread_mutex_t *__mutex, int __prioceiling, int *__old_ceiling)); -int _EXFUN(pthread_mutex_getprioceiling, - (pthread_mutex_t *__mutex, int *__prioceiling)); - -#endif /* _POSIX_THREAD_PRIO_PROTECT */ - -/* Thread Creation Attributes, P1003.1c/Draft 10, p, 140 */ - -int _EXFUN(pthread_attr_init, (pthread_attr_t *__attr)); -int _EXFUN(pthread_attr_destroy, (pthread_attr_t *__attr)); -int _EXFUN(pthread_attr_setstack, (pthread_attr_t *attr, - void *__stackaddr, size_t __stacksize)); -int _EXFUN(pthread_attr_getstack, (_CONST pthread_attr_t *attr, - void **__stackaddr, size_t *__stacksize)); -int _EXFUN(pthread_attr_getstacksize, - (_CONST pthread_attr_t *__attr, size_t *__stacksize)); -int _EXFUN(pthread_attr_setstacksize, - (pthread_attr_t *__attr, size_t __stacksize)); -int _EXFUN(pthread_attr_getstackaddr, - (_CONST pthread_attr_t *__attr, void **__stackaddr)); -int _EXFUN(pthread_attr_setstackaddr, - (pthread_attr_t *__attr, void *__stackaddr)); -int _EXFUN(pthread_attr_getdetachstate, - (_CONST pthread_attr_t *__attr, int *__detachstate)); -int _EXFUN(pthread_attr_setdetachstate, - (pthread_attr_t *__attr, int __detachstate)); -int _EXFUN(pthread_attr_getguardsize, - (_CONST pthread_attr_t *__attr, size_t *__guardsize)); -int _EXFUN(pthread_attr_setguardsize, - (pthread_attr_t *__attr, size_t __guardsize)); - -/* POSIX thread APIs beyond the POSIX standard but provided - * in GNU/Linux. They may be provided by other OSes for - * compatibility. - */ -#if defined(__GNU_VISIBLE) -#if defined(__rtems__) -int _EXFUN(pthread_attr_setaffinity_np, - (pthread_attr_t *__attr, size_t __cpusetsize, - const cpu_set_t *__cpuset)); -int _EXFUN(pthread_attr_getaffinity_np, - (const pthread_attr_t *__attr, size_t __cpusetsize, - cpu_set_t *__cpuset)); - -int _EXFUN(pthread_setaffinity_np, - (pthread_t __id, size_t __cpusetsize, const cpu_set_t *__cpuset)); -int _EXFUN(pthread_getaffinity_np, - (const pthread_t __id, size_t __cpusetsize, cpu_set_t *__cpuset)); - -int _EXFUN(pthread_getattr_np, - (pthread_t __id, pthread_attr_t *__attr)); -#endif /* defined(__rtems__) */ -#endif /* defined(__GNU_VISIBLE) */ - -/* Thread Creation, P1003.1c/Draft 10, p. 144 */ - -int _EXFUN(pthread_create, - (pthread_t *__pthread, _CONST pthread_attr_t *__attr, - void *(*__start_routine)( void * ), void *__arg)); - -/* Wait for Thread Termination, P1003.1c/Draft 10, p. 147 */ - -int _EXFUN(pthread_join, (pthread_t __pthread, void **__value_ptr)); - -/* Detaching a Thread, P1003.1c/Draft 10, p. 149 */ - -int _EXFUN(pthread_detach, (pthread_t __pthread)); - -/* Thread Termination, p1003.1c/Draft 10, p. 150 */ - -void _EXFUN(pthread_exit, (void *__value_ptr)); - -/* Get Calling Thread's ID, p1003.1c/Draft 10, p. XXX */ - -pthread_t _EXFUN(pthread_self, (void)); - -/* Compare Thread IDs, p1003.1c/Draft 10, p. 153 */ - -int _EXFUN(pthread_equal, (pthread_t __t1, pthread_t __t2)); - -/* Dynamic Package Initialization */ - -/* This is used to statically initialize a pthread_once_t. Example: - - pthread_once_t once = PTHREAD_ONCE_INIT; - - NOTE: This is named inconsistently -- it should be INITIALIZER. */ - -#define PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */ - -int _EXFUN(pthread_once, - (pthread_once_t *__once_control, void (*__init_routine)(void))); - -/* Thread-Specific Data Key Create, P1003.1c/Draft 10, p. 163 */ - -int _EXFUN(pthread_key_create, - (pthread_key_t *__key, void (*__destructor)( void * ))); - -/* Thread-Specific Data Management, P1003.1c/Draft 10, p. 165 */ - -int _EXFUN(pthread_setspecific, - (pthread_key_t __key, _CONST void *__value)); -void * _EXFUN(pthread_getspecific, (pthread_key_t __key)); - -/* Thread-Specific Data Key Deletion, P1003.1c/Draft 10, p. 167 */ - -int _EXFUN(pthread_key_delete, (pthread_key_t __key)); - -/* Execution of a Thread, P1003.1c/Draft 10, p. 181 */ - -#define PTHREAD_CANCEL_ENABLE 0 -#define PTHREAD_CANCEL_DISABLE 1 - -#define PTHREAD_CANCEL_DEFERRED 0 -#define PTHREAD_CANCEL_ASYNCHRONOUS 1 - -#define PTHREAD_CANCELED ((void *) -1) - -int _EXFUN(pthread_cancel, (pthread_t __pthread)); - -/* Setting Cancelability State, P1003.1c/Draft 10, p. 183 */ - -int _EXFUN(pthread_setcancelstate, (int __state, int *__oldstate)); -int _EXFUN(pthread_setcanceltype, (int __type, int *__oldtype)); -void _EXFUN(pthread_testcancel, (void)); - -/* Establishing Cancellation Handlers, P1003.1c/Draft 10, p. 184 */ - -void _EXFUN(_pthread_cleanup_push, - (struct _pthread_cleanup_context *_context, - void (*_routine)(void *), void *_arg)); - -void _EXFUN(_pthread_cleanup_pop, - (struct _pthread_cleanup_context *_context, - int _execute)); - -/* It is intentional to open and close the scope in two different macros */ -#define pthread_cleanup_push(_routine, _arg) \ - do { \ - struct _pthread_cleanup_context _pthread_clup_ctx; \ - _pthread_cleanup_push(&_pthread_clup_ctx, (_routine), (_arg)) - -#define pthread_cleanup_pop(_execute) \ - _pthread_cleanup_pop(&_pthread_clup_ctx, (_execute)); \ - } while (0) - -#if defined(_GNU_SOURCE) -void _EXFUN(_pthread_cleanup_push_defer, - (struct _pthread_cleanup_context *_context, - void (*_routine)(void *), void *_arg)); - -void _EXFUN(_pthread_cleanup_pop_restore, - (struct _pthread_cleanup_context *_context, - int _execute)); - -/* It is intentional to open and close the scope in two different macros */ -#define pthread_cleanup_push_defer_np(_routine, _arg) \ - do { \ - struct _pthread_cleanup_context _pthread_clup_ctx; \ - _pthread_cleanup_push_defer(&_pthread_clup_ctx, (_routine), (_arg)) - -#define pthread_cleanup_pop_restore_np(_execute) \ - _pthread_cleanup_pop_restore(&_pthread_clup_ctx, (_execute)); \ - } while (0) -#endif /* defined(_GNU_SOURCE) */ - -#if defined(_POSIX_THREAD_CPUTIME) - -/* Accessing a Thread CPU-time Clock, P1003.4b/D8, p. 58 */ - -int _EXFUN(pthread_getcpuclockid, - (pthread_t __pthread_id, clockid_t *__clock_id)); - -#endif /* defined(_POSIX_THREAD_CPUTIME) */ - - -#endif /* defined(_POSIX_THREADS) */ - -#if defined(_POSIX_BARRIERS) - -int _EXFUN(pthread_barrierattr_init, (pthread_barrierattr_t *__attr)); -int _EXFUN(pthread_barrierattr_destroy, (pthread_barrierattr_t *__attr)); -int _EXFUN(pthread_barrierattr_getpshared, - (_CONST pthread_barrierattr_t *__attr, int *__pshared)); -int _EXFUN(pthread_barrierattr_setpshared, - (pthread_barrierattr_t *__attr, int __pshared)); - -#define PTHREAD_BARRIER_SERIAL_THREAD -1 - -int _EXFUN(pthread_barrier_init, - (pthread_barrier_t *__barrier, - _CONST pthread_barrierattr_t *__attr, unsigned __count)); -int _EXFUN(pthread_barrier_destroy, (pthread_barrier_t *__barrier)); -int _EXFUN(pthread_barrier_wait,(pthread_barrier_t *__barrier)); - -#endif /* defined(_POSIX_BARRIERS) */ - -#if defined(_POSIX_SPIN_LOCKS) - -int _EXFUN(pthread_spin_init, - (pthread_spinlock_t *__spinlock, int __pshared)); -int _EXFUN(pthread_spin_destroy, (pthread_spinlock_t *__spinlock)); -int _EXFUN(pthread_spin_lock, (pthread_spinlock_t *__spinlock)); -int _EXFUN(pthread_spin_trylock, (pthread_spinlock_t *__spinlock)); -int _EXFUN(pthread_spin_unlock, (pthread_spinlock_t *__spinlock)); - -#endif /* defined(_POSIX_SPIN_LOCKS) */ - -#if defined(_POSIX_READER_WRITER_LOCKS) - -/* This is used to statically initialize a pthread_rwlock_t. Example: - - pthread_mutex_t mutex = PTHREAD_RWLOCK_INITIALIZER; - */ - -#define PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF) - -int _EXFUN(pthread_rwlockattr_init, (pthread_rwlockattr_t *__attr)); -int _EXFUN(pthread_rwlockattr_destroy, (pthread_rwlockattr_t *__attr)); -int _EXFUN(pthread_rwlockattr_getpshared, - (_CONST pthread_rwlockattr_t *__attr, int *__pshared)); -int _EXFUN(pthread_rwlockattr_setpshared, - (pthread_rwlockattr_t *__attr, int __pshared)); - -int _EXFUN(pthread_rwlock_init, - (pthread_rwlock_t *__rwlock, _CONST pthread_rwlockattr_t *__attr)); -int _EXFUN(pthread_rwlock_destroy, (pthread_rwlock_t *__rwlock)); -int _EXFUN(pthread_rwlock_rdlock,(pthread_rwlock_t *__rwlock)); -int _EXFUN(pthread_rwlock_tryrdlock,(pthread_rwlock_t *__rwlock)); -int _EXFUN(pthread_rwlock_timedrdlock, - (pthread_rwlock_t *__rwlock, _CONST struct timespec *__abstime)); -int _EXFUN(pthread_rwlock_unlock,(pthread_rwlock_t *__rwlock)); -int _EXFUN(pthread_rwlock_wrlock,(pthread_rwlock_t *__rwlock)); -int _EXFUN(pthread_rwlock_trywrlock,(pthread_rwlock_t *__rwlock)); -int _EXFUN(pthread_rwlock_timedwrlock, - (pthread_rwlock_t *__rwlock, _CONST struct timespec *__abstime)); - -#endif /* defined(_POSIX_READER_WRITER_LOCKS) */ +int pthread_condattr_getclock(const pthread_condattr_t * attr, clockid_t * clock_id); +int pthread_condattr_setclock(pthread_condattr_t *attr, clockid_t clock_id); #ifdef __cplusplus } #endif -#endif -/* end of include file */ +#endif // __ESP_PLATFORM_PTHREAD_H__ diff --git a/tools/sdk/include/newlib/sys/poll.h b/tools/sdk/include/newlib/sys/poll.h new file mode 100644 index 00000000..6e006734 --- /dev/null +++ b/tools/sdk/include/newlib/sys/poll.h @@ -0,0 +1,32 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _ESP_PLATFORM_SYS_POLL_H_ +#define _ESP_PLATFORM_SYS_POLL_H_ + +#define POLLIN 0x0001 /* any readable data available */ +#define POLLOUT 0x0004 /* file descriptor is writeable */ +#define POLLPRI 0x0002 /* OOB/Urgent readable data */ +#define POLLERR 0x0008 /* some poll error occurred */ +#define POLLHUP 0x0010 /* file descriptor was "hung up" */ + +struct pollfd { + int fd; /* The descriptor. */ + short events; /* The event(s) is/are specified here. */ + short revents; /* Events found are returned here. */ +}; + +typedef unsigned int nfds_t; +int poll(struct pollfd *fds, nfds_t nfds, int timeout); + +#endif // _ESP_PLATFORM_SYS_POLL_H_ diff --git a/tools/sdk/include/newlib/sys/random.h b/tools/sdk/include/newlib/sys/random.h new file mode 100644 index 00000000..afbf4dfd --- /dev/null +++ b/tools/sdk/include/newlib/sys/random.h @@ -0,0 +1,30 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef __SYS_RANDOM__ +#define __SYS_RANDOM__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +ssize_t getrandom(void *buf, size_t buflen, unsigned int flags); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif //__SYS_RANDOM__ diff --git a/tools/sdk/include/newlib/sys/reent.h b/tools/sdk/include/newlib/sys/reent.h index ee409618..b35595a7 100644 --- a/tools/sdk/include/newlib/sys/reent.h +++ b/tools/sdk/include/newlib/sys/reent.h @@ -402,7 +402,7 @@ struct _reent char *_asctime_buf; /* signal info */ - void (**(_sig_func))(int); + void (**_sig_func)(int); # ifndef _REENT_GLOBAL_ATEXIT /* atexit stuff */ diff --git a/tools/sdk/include/newlib/sys/termios.h b/tools/sdk/include/newlib/sys/termios.h new file mode 100644 index 00000000..fd0eb5ca --- /dev/null +++ b/tools/sdk/include/newlib/sys/termios.h @@ -0,0 +1,296 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// This header file is based on the termios header of +// "The Single UNIX (r) Specification, Version 2, Copyright (c) 1997 The Open Group". + +#ifndef __ESP_SYS_TERMIOS_H__ +#define __ESP_SYS_TERMIOS_H__ + +// ESP-IDF NOTE: This header provides only a compatibility layer for macros and functions defined in sys/termios.h. +// Not everything has a defined meaning for ESP-IDF (e.g. process leader IDs) and therefore are likely to be stubbed +// in actual implementations. + + +#include +#include +#include "sdkconfig.h" + +#ifdef CONFIG_SUPPORT_TERMIOS + +// subscripts for the array c_cc: +#define VEOF 0 /** EOF character */ +#define VEOL 1 /** EOL character */ +#define VERASE 2 /** ERASE character */ +#define VINTR 3 /** INTR character */ +#define VKILL 4 /** KILL character */ +#define VMIN 5 /** MIN value */ +#define VQUIT 6 /** QUIT character */ +#define VSTART 7 /** START character */ +#define VSTOP 8 /** STOP character */ +#define VSUSP 9 /** SUSP character */ +#define VTIME 10 /** TIME value */ +#define NCCS (VTIME + 1) /** Size of the array c_cc for control characters */ + +// input modes for use as flags in the c_iflag field +#define BRKINT (1u << 0) /** Signal interrupt on break. */ +#define ICRNL (1u << 1) /** Map CR to NL on input. */ +#define IGNBRK (1u << 2) /** Ignore break condition. */ +#define IGNCR (1u << 3) /** Ignore CR. */ +#define IGNPAR (1u << 4) /** Ignore characters with parity errors. */ +#define INLCR (1u << 5) /** Map NL to CR on input. */ +#define INPCK (1u << 6) /** Enable input parity check. */ +#define ISTRIP (1u << 7) /** Strip character. */ +#define IUCLC (1u << 8) /** Map upper-case to lower-case on input (LEGACY). */ +#define IXANY (1u << 9) /** Enable any character to restart output. */ +#define IXOFF (1u << 10) /** Enable start/stop input control. */ +#define IXON (1u << 11) /** Enable start/stop output control. */ +#define PARMRK (1u << 12) /** Mark parity errors. */ + +// output Modes for use as flags in the c_oflag field +#define OPOST (1u << 0) /** Post-process output */ +#define OLCUC (1u << 1) /** Map lower-case to upper-case on output (LEGACY). */ +#define ONLCR (1u << 2) /** Map NL to CR-NL on output. */ +#define OCRNL (1u << 3) /** Map CR to NL on output. */ +#define ONOCR (1u << 4) /** No CR output at column 0. */ +#define ONLRET (1u << 5) /** NL performs CR function. */ +#define OFILL (1u << 6) /** Use fill characters for delay. */ +#define NLDLY (1u << 7) /** Select newline delays: */ +#define NL0 (0u << 7) /** Newline character type 0. */ +#define NL1 (1u << 7) /** Newline character type 1. */ +#define CRDLY (3u << 8) /** Select carriage-return delays: */ +#define CR0 (0u << 8) /** Carriage-return delay type 0. */ +#define CR1 (1u << 8) /** Carriage-return delay type 1. */ +#define CR2 (2u << 8) /** Carriage-return delay type 2. */ +#define CR3 (3u << 8) /** Carriage-return delay type 3. */ +#define TABDLY (3u << 10) /** Select horizontal-tab delays: */ +#define TAB0 (0u << 10) /** Horizontal-tab delay type 0. */ +#define TAB1 (1u << 10) /** Horizontal-tab delay type 1. */ +#define TAB2 (2u << 10) /** Horizontal-tab delay type 2. */ +#define TAB3 (3u << 10) /** Expand tabs to spaces. */ +#define BSDLY (1u << 12) /** Select backspace delays: */ +#define BS0 (0u << 12) /** Backspace-delay type 0. */ +#define BS1 (1u << 12) /** Backspace-delay type 1. */ +#define VTDLY (1u << 13) /** Select vertical-tab delays: */ +#define VT0 (0u << 13) /** Vertical-tab delay type 0. */ +#define VT1 (1u << 13) /** Vertical-tab delay type 1. */ +#define FFDLY (1u << 14) /** Select form-feed delays: */ +#define FF0 (0u << 14) /** Form-feed delay type 0. */ +#define FF1 (1u << 14) /** Form-feed delay type 1. */ + +// Baud Rate Selection. Valid values for objects of type speed_t: +// CBAUD range B0 - B38400 +#define B0 0 /** Hang up */ +#define B50 1 +#define B75 2 +#define B110 3 +#define B134 4 +#define B150 5 +#define B200 6 +#define B300 7 +#define B600 8 +#define B1200 9 +#define B1800 10 +#define B2400 11 +#define B4800 12 +#define B9600 13 +#define B19200 14 +#define B38400 15 +// CBAUDEX range B57600 - B4000000 +#define B57600 16 +#define B115200 17 +#define B230400 18 +#define B460800 19 +#define B500000 20 +#define B576000 21 +#define B921600 22 +#define B1000000 23 +#define B1152000 24 +#define B1500000 25 +#define B2000000 26 +#define B2500000 27 +#define B3000000 28 +#define B3500000 29 +#define B4000000 30 + +// Control Modes for the c_cflag field: +#define CSIZE (3u << 0) /* Character size: */ +#define CS5 (0u << 0) /** 5 bits. */ +#define CS6 (1u << 0) /** 6 bits. */ +#define CS7 (2u << 0) /** 7 bits. */ +#define CS8 (3u << 0) /** 8 bits. */ +#define CSTOPB (1u << 2) /** Send two stop bits, else one. */ +#define CREAD (1u << 3) /** Enable receiver. */ +#define PARENB (1u << 4) /** Parity enable. */ +#define PARODD (1u << 5) /** Odd parity, else even. */ +#define HUPCL (1u << 6) /** Hang up on last close. */ +#define CLOCAL (1u << 7) /** Ignore modem status lines. */ +#define CBAUD (1u << 8) /** Use baud rates defined by B0-B38400 macros. */ +#define CBAUDEX (1u << 9) /** Use baud rates defined by B57600-B4000000 macros. */ +#define BOTHER (1u << 10) /** Use custom baud rates */ + +// Local Modes for c_lflag field: +#define ECHO (1u << 0) /** Enable echo. */ +#define ECHOE (1u << 1) /** Echo erase character as error-correcting backspace. */ +#define ECHOK (1u << 2) /** Echo KILL. */ +#define ECHONL (1u << 3) /** Echo NL. */ +#define ICANON (1u << 4) /** Canonical input (erase and kill processing). */ +#define IEXTEN (1u << 5) /** Enable extended input character processing. */ +#define ISIG (1u << 6) /** Enable signals. */ +#define NOFLSH (1u << 7) /** Disable flush after interrupt or quit. */ +#define TOSTOP (1u << 8) /** Send SIGTTOU for background output. */ +#define XCASE (1u << 9) /** Canonical upper/lower presentation (LEGACY). */ + +// Attribute Selection constants for use with tcsetattr(): +#define TCSANOW 0 /** Change attributes immediately. */ +#define TCSADRAIN 1 /** Change attributes when output has drained. */ +#define TCSAFLUSH 2 /** Change attributes when output has drained; also flush pending input. */ + +// Line Control constants for use with tcflush(): +#define TCIFLUSH 0 /** Flush pending input. Flush untransmitted output. */ +#define TCIOFLUSH 1 /** Flush both pending input and untransmitted output. */ +#define TCOFLUSH 2 /** Flush untransmitted output. */ + +// constants for use with tcflow(): +#define TCIOFF 0 /** Transmit a STOP character, intended to suspend input data. */ +#define TCION 1 /** Transmit a START character, intended to restart input data. */ +#define TCOOFF 2 /** Suspend output. */ +#define TCOON 3 /** Restart output. */ + +typedef uint8_t cc_t; +typedef uint32_t speed_t; +typedef uint16_t tcflag_t; + +struct termios +{ + tcflag_t c_iflag; /** Input modes */ + tcflag_t c_oflag; /** Output modes */ + tcflag_t c_cflag; /** Control modes */ + tcflag_t c_lflag; /** Local modes */ + cc_t c_cc[NCCS]; /** Control characters */ + speed_t c_ispeed; /** input baud rate */ + speed_t c_ospeed; /** output baud rate */ +}; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Extracts the input baud rate from the input structure exactly (without interpretation). + * + * @param p input termios structure + * @return input baud rate + */ +speed_t cfgetispeed(const struct termios *p); + +/** + * @brief Extracts the output baud rate from the input structure exactly (without interpretation). + * + * @param p input termios structure + * @return output baud rate + */ +speed_t cfgetospeed(const struct termios *p); + +/** + * @brief Set input baud rate in the termios structure + * + * There is no effect in hardware until a subsequent call of tcsetattr(). + * + * @param p input termios structure + * @param sp input baud rate + * @return 0 when successful, -1 otherwise with errno set + */ +int cfsetispeed(struct termios *p, speed_t sp); + +/** + * @brief Set output baud rate in the termios structure + * + * There is no effect in hardware until a subsequent call of tcsetattr(). + * + * @param p input termios structure + * @param sp output baud rate + * @return 0 when successful, -1 otherwise with errno set + */ +int cfsetospeed(struct termios *p, speed_t sp); + +/** + * @brief Wait for transmission of output + * + * @param fd file descriptor of the terminal + * @return 0 when successful, -1 otherwise with errno set + */ +int tcdrain(int fd); + +/** + * @brief Suspend or restart the transmission or reception of data + * + * @param fd file descriptor of the terminal + * @param action selects actions to do + * @return 0 when successful, -1 otherwise with errno set + */ +int tcflow(int fd, int action); + +/** + * @brief Flush non-transmitted output data and non-read input data + * + * @param fd file descriptor of the terminal + * @param select selects what should be flushed + * @return 0 when successful, -1 otherwise with errno set + */ +int tcflush(int fd, int select); + +/** + * @brief Gets the parameters of the terminal + * + * @param fd file descriptor of the terminal + * @param p output termios structure + * @return 0 when successful, -1 otherwise with errno set + */ +int tcgetattr(int fd, struct termios *p); + +/** + * @brief Get process group ID for session leader for controlling terminal + * + * @param fd file descriptor of the terminal + * @return process group ID when successful, -1 otherwise with errno set + */ +pid_t tcgetsid(int fd); + +/** + * @brief Send a break for a specific duration + * + * @param fd file descriptor of the terminal + * @param duration duration of break + * @return 0 when successful, -1 otherwise with errno set + */ +int tcsendbreak(int fd, int duration); + +/** + * @brief Sets the parameters of the terminal + * + * @param fd file descriptor of the terminal + * @param optional_actions optional actions + * @param p input termios structure + * @return 0 when successful, -1 otherwise with errno set + */ +int tcsetattr(int fd, int optional_actions, const struct termios *p); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // CONFIG_SUPPORT_TERMIOS + +#endif //__ESP_SYS_TERMIOS_H__ diff --git a/tools/sdk/include/newlib/sys/uio.h b/tools/sdk/include/newlib/sys/uio.h new file mode 100644 index 00000000..ede27b23 --- /dev/null +++ b/tools/sdk/include/newlib/sys/uio.h @@ -0,0 +1,21 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _ESP_PLATFORM_SYS_UIO_H_ +#define _ESP_PLATFORM_SYS_UIO_H_ + +int writev(int s, const struct iovec *iov, int iovcnt); + +ssize_t readv(int fd, const struct iovec *iov, int iovcnt); + +#endif // _ESP_PLATFORM_SYS_UIO_H_ diff --git a/tools/sdk/include/newlib/sys/un.h b/tools/sdk/include/newlib/sys/un.h new file mode 100644 index 00000000..a99b1832 --- /dev/null +++ b/tools/sdk/include/newlib/sys/un.h @@ -0,0 +1,24 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _ESP_PLATFORM_SYS_UN_H_ +#define _ESP_PLATFORM_SYS_UN_H_ + +#define AF_UNIX 1 /* local to host (pipes) */ + +struct sockaddr_un { + short sun_family; /*AF_UNIX*/ + char sun_path[108]; /*path name */ +}; + +#endif // _ESP_PLATFORM_SYS_UN_H_ diff --git a/tools/sdk/include/newlib/sys/unistd.h b/tools/sdk/include/newlib/sys/unistd.h index e76c84b9..e09b68be 100644 --- a/tools/sdk/include/newlib/sys/unistd.h +++ b/tools/sdk/include/newlib/sys/unistd.h @@ -23,6 +23,7 @@ extern "C" { #include_next int _EXFUN(truncate, (const char *, off_t __length)); +int _EXFUN(gethostname, (char *__name, size_t __len)); #ifdef __cplusplus } diff --git a/tools/sdk/include/newlib/time.h b/tools/sdk/include/newlib/time.h index d7b6612d..954d824d 100644 --- a/tools/sdk/include/newlib/time.h +++ b/tools/sdk/include/newlib/time.h @@ -1,291 +1,35 @@ -/* - * time.h - * - * Struct and function declarations for dealing with time. - */ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. -#ifndef _TIME_H_ -#define _TIME_H_ -#include "_ansi.h" -#include - -#define __need_size_t -#define __need_NULL -#include - -/* Get _CLOCKS_PER_SEC_ */ -#include - -#ifndef _CLOCKS_PER_SEC_ -#define _CLOCKS_PER_SEC_ 1000 -#endif - -#define CLOCKS_PER_SEC _CLOCKS_PER_SEC_ -#define CLK_TCK CLOCKS_PER_SEC - -#include - -_BEGIN_STD_C - -struct tm -{ - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; -#ifdef __TM_GMTOFF - long __TM_GMTOFF; -#endif -#ifdef __TM_ZONE - const char *__TM_ZONE; -#endif -}; - -clock_t _EXFUN(clock, (void)); -double _EXFUN(difftime, (time_t _time2, time_t _time1)); -time_t _EXFUN(mktime, (struct tm *_timeptr)); -time_t _EXFUN(time, (time_t *_timer)); -#ifndef _REENT_ONLY -char *_EXFUN(asctime, (const struct tm *_tblock)); -char *_EXFUN(ctime, (const time_t *_time)); -struct tm *_EXFUN(gmtime, (const time_t *_timer)); -struct tm *_EXFUN(localtime,(const time_t *_timer)); -#endif -size_t _EXFUN(strftime, (char *__restrict _s, - size_t _maxsize, const char *__restrict _fmt, - const struct tm *__restrict _t)); - -char *_EXFUN(asctime_r, (const struct tm *__restrict, - char *__restrict)); -char *_EXFUN(ctime_r, (const time_t *, char *)); -struct tm *_EXFUN(gmtime_r, (const time_t *__restrict, - struct tm *__restrict)); -struct tm *_EXFUN(localtime_r, (const time_t *__restrict, - struct tm *__restrict)); - -_END_STD_C +#ifndef _ESP_TIME_H +#define _ESP_TIME_H #ifdef __cplusplus extern "C" { #endif +#include_next -#ifndef __STRICT_ANSI__ -char *_EXFUN(strptime, (const char *__restrict, - const char *__restrict, - struct tm *__restrict)); -_VOID _EXFUN(tzset, (_VOID)); -_VOID _EXFUN(_tzset_r, (struct _reent *)); - -typedef struct __tzrule_struct -{ - char ch; - int m; - int n; - int d; - int s; - time_t change; - long offset; /* Match type of _timezone. */ -} __tzrule_type; - -typedef struct __tzinfo_struct -{ - int __tznorth; - int __tzyear; - __tzrule_type __tzrule[2]; -} __tzinfo_type; - -__tzinfo_type *_EXFUN (__gettzinfo, (_VOID)); - -/* getdate functions */ - -#ifdef HAVE_GETDATE -#ifndef _REENT_ONLY -#define getdate_err (*__getdate_err()) -int *_EXFUN(__getdate_err,(_VOID)); - -struct tm * _EXFUN(getdate, (const char *)); -/* getdate_err is set to one of the following values to indicate the error. - 1 the DATEMSK environment variable is null or undefined, - 2 the template file cannot be opened for reading, - 3 failed to get file status information, - 4 the template file is not a regular file, - 5 an error is encountered while reading the template file, - 6 memory allication failed (not enough memory available), - 7 there is no line in the template that matches the input, - 8 invalid input specification */ -#endif /* !_REENT_ONLY */ - -/* getdate_r returns the error code as above */ -int _EXFUN(getdate_r, (const char *, struct tm *)); -#endif /* HAVE_GETDATE */ - -/* defines for the opengroup specifications Derived from Issue 1 of the SVID. */ -extern __IMPORT long _timezone; -extern __IMPORT int _daylight; -extern __IMPORT char *_tzname[2]; - -/* POSIX defines the external tzname being defined in time.h */ -#ifndef tzname -#define tzname _tzname -#endif -#endif /* !__STRICT_ANSI__ */ - -#ifdef __cplusplus -} -#endif - -#include - -#ifdef __CYGWIN__ -#include -#endif /*__CYGWIN__*/ - -#if defined(_POSIX_TIMERS) - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Clocks, P1003.1b-1993, p. 263 */ +#define _POSIX_TIMERS 1 +#define CLOCK_MONOTONIC (clockid_t)4 +#define CLOCK_BOOTTIME (clockid_t)4 int _EXFUN(clock_settime, (clockid_t clock_id, const struct timespec *tp)); int _EXFUN(clock_gettime, (clockid_t clock_id, struct timespec *tp)); int _EXFUN(clock_getres, (clockid_t clock_id, struct timespec *res)); -/* Create a Per-Process Timer, P1003.1b-1993, p. 264 */ - -int _EXFUN(timer_create, - (clockid_t clock_id, - struct sigevent *__restrict evp, - timer_t *__restrict timerid)); - -/* Delete a Per_process Timer, P1003.1b-1993, p. 266 */ - -int _EXFUN(timer_delete, (timer_t timerid)); - -/* Per-Process Timers, P1003.1b-1993, p. 267 */ - -int _EXFUN(timer_settime, - (timer_t timerid, int flags, - const struct itimerspec *__restrict value, - struct itimerspec *__restrict ovalue)); -int _EXFUN(timer_gettime, (timer_t timerid, struct itimerspec *value)); -int _EXFUN(timer_getoverrun, (timer_t timerid)); - -/* High Resolution Sleep, P1003.1b-1993, p. 269 */ - -int _EXFUN(nanosleep, (const struct timespec *rqtp, struct timespec *rmtp)); - #ifdef __cplusplus } #endif -#endif /* _POSIX_TIMERS */ - -#if defined(_POSIX_CLOCK_SELECTION) - -#ifdef __cplusplus -extern "C" { -#endif - -int _EXFUN(clock_nanosleep, - (clockid_t clock_id, int flags, const struct timespec *rqtp, - struct timespec *rmtp)); - -#ifdef __cplusplus -} -#endif - -#endif /* _POSIX_CLOCK_SELECTION */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* CPU-time Clock Attributes, P1003.4b/D8, p. 54 */ - -/* values for the clock enable attribute */ - -#define CLOCK_ENABLED 1 /* clock is enabled, i.e. counting execution time */ -#define CLOCK_DISABLED 0 /* clock is disabled */ - -/* values for the pthread cputime_clock_allowed attribute */ - -#define CLOCK_ALLOWED 1 /* If a thread is created with this value a */ - /* CPU-time clock attached to that thread */ - /* shall be accessible. */ -#define CLOCK_DISALLOWED 0 /* If a thread is created with this value, the */ - /* thread shall not have a CPU-time clock */ - /* accessible. */ - -/* Manifest Constants, P1003.1b-1993, p. 262 */ - -#define CLOCK_REALTIME (clockid_t)1 - -/* Flag indicating time is "absolute" with respect to the clock - associated with a time. */ - -#define TIMER_ABSTIME 4 - -/* Manifest Constants, P1003.4b/D8, p. 55 */ - -#if defined(_POSIX_CPUTIME) - -/* When used in a clock or timer function call, this is interpreted as - the identifier of the CPU_time clock associated with the PROCESS - making the function call. */ - -#define CLOCK_PROCESS_CPUTIME_ID (clockid_t)2 - -#endif - -#if defined(_POSIX_THREAD_CPUTIME) - -/* When used in a clock or timer function call, this is interpreted as - the identifier of the CPU_time clock associated with the THREAD - making the function call. */ - -#define CLOCK_THREAD_CPUTIME_ID (clockid_t)3 - -#endif - -#if defined(_POSIX_MONOTONIC_CLOCK) - -/* The identifier for the system-wide monotonic clock, which is defined - * as a clock whose value cannot be set via clock_settime() and which - * cannot have backward clock jumps. */ - -#define CLOCK_MONOTONIC (clockid_t)4 - -#endif - -#if defined(_POSIX_CPUTIME) - -/* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */ - -int _EXFUN(clock_getcpuclockid, (pid_t pid, clockid_t *clock_id)); - -#endif /* _POSIX_CPUTIME */ - -#if defined(_POSIX_CPUTIME) || defined(_POSIX_THREAD_CPUTIME) - -/* CPU-time Clock Attribute Access, P1003.4b/D8, p. 56 */ - -int _EXFUN(clock_setenable_attr, (clockid_t clock_id, int attr)); -int _EXFUN(clock_getenable_attr, (clockid_t clock_id, int *attr)); - -#endif /* _POSIX_CPUTIME or _POSIX_THREAD_CPUTIME */ - -#ifdef __cplusplus -} -#endif - -#endif /* _TIME_H_ */ - +#endif /* _ESP_TIME_H */ diff --git a/tools/sdk/include/nvs_flash/nvs.h b/tools/sdk/include/nvs_flash/nvs.h index b3ba37fb..bcc46563 100644 --- a/tools/sdk/include/nvs_flash/nvs.h +++ b/tools/sdk/include/nvs_flash/nvs.h @@ -44,6 +44,7 @@ typedef uint32_t nvs_handle; #define ESP_ERR_NVS_NO_FREE_PAGES (ESP_ERR_NVS_BASE + 0x0d) /*!< NVS partition doesn't contain any empty pages. This may happen if NVS partition was truncated. Erase the whole partition and call nvs_flash_init again. */ #define ESP_ERR_NVS_VALUE_TOO_LONG (ESP_ERR_NVS_BASE + 0x0e) /*!< String or blob length is longer than supported by the implementation */ #define ESP_ERR_NVS_PART_NOT_FOUND (ESP_ERR_NVS_BASE + 0x0f) /*!< Partition with specified name is not found in the partition table */ +#define ESP_ERR_NVS_NEW_VERSION_FOUND (ESP_ERR_NVS_BASE + 0x10) /*!< NVS partition contains data in new format and cannot be recognized by this version of code */ #define NVS_DEFAULT_PART_NAME "nvs" /*!< Default partition name of the NVS partition in the partition table */ /** @@ -126,7 +127,7 @@ esp_err_t nvs_open_from_partition(const char *part_name, const char* name, nvs_o * 15 characters. Shouldn't be empty. * @param[in] value The value to set. * For strings, the maximum length (including null character) is - * 1984 bytes. + * 4000 bytes. * * @return * - ESP_OK if value was set successfully @@ -163,7 +164,8 @@ esp_err_t nvs_set_str (nvs_handle handle, const char* key, const char* value); * @param[in] key Key name. Maximal length is 15 characters. Shouldn't be empty. * @param[in] value The value to set. * @param[in] length length of binary value to set, in bytes; Maximum length is - * 1984 bytes. + * 508000 bytes or (97.6% of the partition size - 4000) bytes + * whichever is lower. * * @return * - ESP_OK if value was set successfully diff --git a/tools/sdk/include/openssl/internal/x509_vfy.h b/tools/sdk/include/openssl/internal/x509_vfy.h index d5b0d1a2..fec367d5 100644 --- a/tools/sdk/include/openssl/internal/x509_vfy.h +++ b/tools/sdk/include/openssl/internal/x509_vfy.h @@ -1,111 +1,111 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _X509_VFY_H_ -#define _X509_VFY_H_ - -#ifdef __cplusplus - extern "C" { -#endif - -#define X509_V_OK 0 -#define X509_V_ERR_UNSPECIFIED 1 -#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 -#define X509_V_ERR_UNABLE_TO_GET_CRL 3 -#define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 -#define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 -#define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 -#define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 -#define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 -#define X509_V_ERR_CERT_NOT_YET_VALID 9 -#define X509_V_ERR_CERT_HAS_EXPIRED 10 -#define X509_V_ERR_CRL_NOT_YET_VALID 11 -#define X509_V_ERR_CRL_HAS_EXPIRED 12 -#define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 -#define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 -#define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 -#define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 -#define X509_V_ERR_OUT_OF_MEM 17 -#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 -#define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 -#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 -#define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 -#define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 -#define X509_V_ERR_CERT_REVOKED 23 -#define X509_V_ERR_INVALID_CA 24 -#define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 -#define X509_V_ERR_INVALID_PURPOSE 26 -#define X509_V_ERR_CERT_UNTRUSTED 27 -#define X509_V_ERR_CERT_REJECTED 28 -/* These are 'informational' when looking for issuer cert */ -#define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 -#define X509_V_ERR_AKID_SKID_MISMATCH 30 -#define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 -#define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 -#define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 -#define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 -#define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 -#define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 -#define X509_V_ERR_INVALID_NON_CA 37 -#define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 -#define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 -#define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 -#define X509_V_ERR_INVALID_EXTENSION 41 -#define X509_V_ERR_INVALID_POLICY_EXTENSION 42 -#define X509_V_ERR_NO_EXPLICIT_POLICY 43 -#define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 -#define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 -#define X509_V_ERR_UNNESTED_RESOURCE 46 -#define X509_V_ERR_PERMITTED_VIOLATION 47 -#define X509_V_ERR_EXCLUDED_VIOLATION 48 -#define X509_V_ERR_SUBTREE_MINMAX 49 -/* The application is not happy */ -#define X509_V_ERR_APPLICATION_VERIFICATION 50 -#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 -#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 -#define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 -#define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 -/* Another issuer check debug option */ -#define X509_V_ERR_PATH_LOOP 55 -/* Suite B mode algorithm violation */ -#define X509_V_ERR_SUITE_B_INVALID_VERSION 56 -#define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 -#define X509_V_ERR_SUITE_B_INVALID_CURVE 58 -#define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 -#define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 -#define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 -/* Host, email and IP check errors */ -#define X509_V_ERR_HOSTNAME_MISMATCH 62 -#define X509_V_ERR_EMAIL_MISMATCH 63 -#define X509_V_ERR_IP_ADDRESS_MISMATCH 64 -/* DANE TLSA errors */ -#define X509_V_ERR_DANE_NO_MATCH 65 -/* security level errors */ -#define X509_V_ERR_EE_KEY_TOO_SMALL 66 -#define X509_V_ERR_CA_KEY_TOO_SMALL 67 -#define X509_V_ERR_CA_MD_TOO_WEAK 68 -/* Caller error */ -#define X509_V_ERR_INVALID_CALL 69 -/* Issuer lookup error */ -#define X509_V_ERR_STORE_LOOKUP 70 -/* Certificate transparency */ -#define X509_V_ERR_NO_VALID_SCTS 71 - -#define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72 - -#ifdef __cplusplus -} -#endif - -#endif +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _X509_VFY_H_ +#define _X509_VFY_H_ + +#ifdef __cplusplus + extern "C" { +#endif + +#define X509_V_OK 0 +#define X509_V_ERR_UNSPECIFIED 1 +#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +#define X509_V_ERR_UNABLE_TO_GET_CRL 3 +#define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +#define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +#define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +#define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +#define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +#define X509_V_ERR_CERT_NOT_YET_VALID 9 +#define X509_V_ERR_CERT_HAS_EXPIRED 10 +#define X509_V_ERR_CRL_NOT_YET_VALID 11 +#define X509_V_ERR_CRL_HAS_EXPIRED 12 +#define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +#define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +#define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +#define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +#define X509_V_ERR_OUT_OF_MEM 17 +#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +#define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +#define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +#define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +#define X509_V_ERR_CERT_REVOKED 23 +#define X509_V_ERR_INVALID_CA 24 +#define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +#define X509_V_ERR_INVALID_PURPOSE 26 +#define X509_V_ERR_CERT_UNTRUSTED 27 +#define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +#define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +#define X509_V_ERR_AKID_SKID_MISMATCH 30 +#define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +#define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 +#define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +#define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +#define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +#define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +#define X509_V_ERR_INVALID_NON_CA 37 +#define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +#define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +#define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 +#define X509_V_ERR_INVALID_EXTENSION 41 +#define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +#define X509_V_ERR_NO_EXPLICIT_POLICY 43 +#define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +#define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 +#define X509_V_ERR_UNNESTED_RESOURCE 46 +#define X509_V_ERR_PERMITTED_VIOLATION 47 +#define X509_V_ERR_EXCLUDED_VIOLATION 48 +#define X509_V_ERR_SUBTREE_MINMAX 49 +/* The application is not happy */ +#define X509_V_ERR_APPLICATION_VERIFICATION 50 +#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +#define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +#define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 +/* Another issuer check debug option */ +#define X509_V_ERR_PATH_LOOP 55 +/* Suite B mode algorithm violation */ +#define X509_V_ERR_SUITE_B_INVALID_VERSION 56 +#define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 +#define X509_V_ERR_SUITE_B_INVALID_CURVE 58 +#define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 +#define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 +#define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 +/* Host, email and IP check errors */ +#define X509_V_ERR_HOSTNAME_MISMATCH 62 +#define X509_V_ERR_EMAIL_MISMATCH 63 +#define X509_V_ERR_IP_ADDRESS_MISMATCH 64 +/* DANE TLSA errors */ +#define X509_V_ERR_DANE_NO_MATCH 65 +/* security level errors */ +#define X509_V_ERR_EE_KEY_TOO_SMALL 66 +#define X509_V_ERR_CA_KEY_TOO_SMALL 67 +#define X509_V_ERR_CA_MD_TOO_WEAK 68 +/* Caller error */ +#define X509_V_ERR_INVALID_CALL 69 +/* Issuer lookup error */ +#define X509_V_ERR_STORE_LOOKUP 70 +/* Certificate transparency */ +#define X509_V_ERR_NO_VALID_SCTS 71 + +#define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72 + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/sdk/include/openssl/openssl/ssl.h b/tools/sdk/include/openssl/openssl/ssl.h index 95fd6e9e..88d7bca6 100644 --- a/tools/sdk/include/openssl/openssl/ssl.h +++ b/tools/sdk/include/openssl/openssl/ssl.h @@ -1,1822 +1,1822 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SSL_H_ -#define _SSL_H_ - -#ifdef __cplusplus - extern "C" { -#endif - -#include "internal/ssl_x509.h" -#include "internal/ssl_pkey.h" - -/* -{ -*/ - -#define SSL_CB_ALERT 0x4000 - -#define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT (1 << 0) -#define X509_CHECK_FLAG_NO_WILDCARDS (1 << 1) -#define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS (1 << 2) -#define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS (1 << 3) -#define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS (1 << 4) - -/** - * @brief create a SSL context - * - * @param method - the SSL context method point - * - * @return the context point - */ -SSL_CTX* SSL_CTX_new(const SSL_METHOD *method); - -/** - * @brief free a SSL context - * - * @param method - the SSL context point - * - * @return none - */ -void SSL_CTX_free(SSL_CTX *ctx); - -/** - * @brief create a SSL - * - * @param ctx - the SSL context point - * - * @return the SSL point - */ -SSL* SSL_new(SSL_CTX *ctx); - -/** - * @brief free the SSL - * - * @param ssl - the SSL point - * - * @return none - */ -void SSL_free(SSL *ssl); - -/** - * @brief connect to the remote SSL server - * - * @param ssl - the SSL point - * - * @return result - * 1 : OK - * -1 : failed - */ -int SSL_connect(SSL *ssl); - -/** - * @brief accept the remote connection - * - * @param ssl - the SSL point - * - * @return result - * 1 : OK - * -1 : failed - */ -int SSL_accept(SSL *ssl); - -/** - * @brief read data from to remote - * - * @param ssl - the SSL point which has been connected - * @param buffer - the received data buffer point - * @param len - the received data length - * - * @return result - * > 0 : OK, and return received data bytes - * = 0 : connection is closed - * < 0 : an error catch - */ -int SSL_read(SSL *ssl, void *buffer, int len); - -/** - * @brief send the data to remote - * - * @param ssl - the SSL point which has been connected - * @param buffer - the send data buffer point - * @param len - the send data length - * - * @return result - * > 0 : OK, and return sent data bytes - * = 0 : connection is closed - * < 0 : an error catch - */ -int SSL_write(SSL *ssl, const void *buffer, int len); - -/** - * @brief get the verifying result of the SSL certification - * - * @param ssl - the SSL point - * - * @return the result of verifying - */ -long SSL_get_verify_result(const SSL *ssl); - -/** - * @brief shutdown the connection - * - * @param ssl - the SSL point - * - * @return result - * 1 : OK - * 0 : shutdown is not finished - * -1 : an error catch - */ -int SSL_shutdown(SSL *ssl); - -/** - * @brief bind the socket file description into the SSL - * - * @param ssl - the SSL point - * @param fd - socket handle - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_set_fd(SSL *ssl, int fd); - -/** - * @brief Set the hostname for SNI - * - * @param ssl - the SSL context point - * @param hostname - pointer to the hostname - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_set_tlsext_host_name(SSL* ssl, const char *hostname); - -/** - * @brief These functions load the private key into the SSL_CTX or SSL object - * - * @param ctx - the SSL context point - * @param pkey - private key object point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); - -/** - * @brief These functions load the certification into the SSL_CTX or SSL object - * - * @param ctx - the SSL context point - * @param pkey - certification object point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); - -/** - * @brief create the target SSL context client method - * - * @param none - * - * @return the SSLV2.3 version SSL context client method - */ -const SSL_METHOD* SSLv23_client_method(void); - -/** - * @brief create the target SSL context client method - * - * @param none - * - * @return the TLSV1.0 version SSL context client method - */ -const SSL_METHOD* TLSv1_client_method(void); - -/** - * @brief create the target SSL context client method - * - * @param none - * - * @return the SSLV1.0 version SSL context client method - */ -const SSL_METHOD* SSLv3_client_method(void); - -/** - * @brief create the target SSL context client method - * - * @param none - * - * @return the TLSV1.1 version SSL context client method - */ -const SSL_METHOD* TLSv1_1_client_method(void); - -/** - * @brief create the target SSL context client method - * - * @param none - * - * @return the TLSV1.2 version SSL context client method - */ -const SSL_METHOD* TLSv1_2_client_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the TLS any version SSL context client method - */ -const SSL_METHOD* TLS_client_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the SSLV2.3 version SSL context server method - */ -const SSL_METHOD* SSLv23_server_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the TLSV1.1 version SSL context server method - */ -const SSL_METHOD* TLSv1_1_server_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the TLSV1.2 version SSL context server method - */ -const SSL_METHOD* TLSv1_2_server_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the TLSV1.0 version SSL context server method - */ -const SSL_METHOD* TLSv1_server_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the SSLV3.0 version SSL context server method - */ -const SSL_METHOD* SSLv3_server_method(void); - -/** - * @brief create the target SSL context server method - * - * @param none - * - * @return the TLS any version SSL context server method - */ -const SSL_METHOD* TLS_server_method(void); - - -/** - * @brief set the SSL context ALPN select callback function - * - * @param ctx - SSL context point - * @param cb - ALPN select callback function - * @param arg - ALPN select callback function entry private data point - * - * @return none - */ -void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, - int (*cb) (SSL *ssl, - const unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg), - void *arg); - - -/** - * @brief set the SSL context ALPN select protocol - * - * @param ctx - SSL context point - * @param protos - ALPN protocol name - * @param protos_len - ALPN protocol name bytes - * - * @return result - * 0 : OK - * 1 : failed - */ -int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, unsigned int protos_len); - -/** - * @brief set the SSL context next ALPN select callback function - * - * @param ctx - SSL context point - * @param cb - ALPN select callback function - * @param arg - ALPN select callback function entry private data point - * - * @return none - */ -void SSL_CTX_set_next_proto_select_cb(SSL_CTX *ctx, - int (*cb) (SSL *ssl, - unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg), - void *arg); - -/** - * @brief get SSL error code - * - * @param ssl - SSL point - * @param ret_code - SSL return code - * - * @return SSL error number - */ -int SSL_get_error(const SSL *ssl, int ret_code); - -/** - * @brief clear the SSL error code - * - * @param none - * - * @return none - */ -void ERR_clear_error(void); - -/** - * @brief get the current SSL error code - * - * @param none - * - * @return current SSL error number - */ -int ERR_get_error(void); - -/** - * @brief register the SSL error strings - * - * @param none - * - * @return none - */ -void ERR_load_SSL_strings(void); - -/** - * @brief initialize the SSL library - * - * @param none - * - * @return none - */ -void SSL_library_init(void); - -/** - * @brief generates a human-readable string representing the error code e - * and store it into the "ret" point memory - * - * @param e - error code - * @param ret - memory point to store the string - * - * @return the result string point - */ -char *ERR_error_string(unsigned long e, char *ret); - -/** - * @brief add the SSL context option - * - * @param ctx - SSL context point - * @param opt - new SSL context option - * - * @return the SSL context option - */ -unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long opt); - -/** - * @brief add the SSL context mode - * - * @param ctx - SSL context point - * @param mod - new SSL context mod - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_mode(SSL_CTX *ctx, int mod); - -/* -} -*/ - -/** - * @brief perform the SSL handshake - * - * @param ssl - SSL point - * - * @return result - * 1 : OK - * 0 : failed - * -1 : a error catch - */ -int SSL_do_handshake(SSL *ssl); - -/** - * @brief get the SSL current version - * - * @param ssl - SSL point - * - * @return the version string - */ -const char *SSL_get_version(const SSL *ssl); - -/** - * @brief set the SSL context version - * - * @param ctx - SSL context point - * @param meth - SSL method point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); - -/** - * @brief get the bytes numbers which are to be read - * - * @param ssl - SSL point - * - * @return bytes number - */ -int SSL_pending(const SSL *ssl); - -/** - * @brief check if SSL want nothing - * - * @param ssl - SSL point - * - * @return result - * 0 : false - * 1 : true - */ -int SSL_want_nothing(const SSL *ssl); - -/** - * @brief check if SSL want to read - * - * @param ssl - SSL point - * - * @return result - * 0 : false - * 1 : true - */ -int SSL_want_read(const SSL *ssl); - -/** - * @brief check if SSL want to write - * - * @param ssl - SSL point - * - * @return result - * 0 : false - * 1 : true - */ -int SSL_want_write(const SSL *ssl); - -/** - * @brief get the SSL context current method - * - * @param ctx - SSL context point - * - * @return the SSL context current method - */ -const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); - -/** - * @brief get the SSL current method - * - * @param ssl - SSL point - * - * @return the SSL current method - */ -const SSL_METHOD *SSL_get_ssl_method(SSL *ssl); - -/** - * @brief set the SSL method - * - * @param ssl - SSL point - * @param meth - SSL method point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_set_ssl_method(SSL *ssl, const SSL_METHOD *method); - -/** - * @brief add CA client certification into the SSL - * - * @param ssl - SSL point - * @param x - CA certification point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_add_client_CA(SSL *ssl, X509 *x); - -/** - * @brief add CA client certification into the SSL context - * - * @param ctx - SSL context point - * @param x - CA certification point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); - -/** - * @brief set the SSL CA certification list - * - * @param ssl - SSL point - * @param name_list - CA certification list - * - * @return none - */ -void SSL_set_client_CA_list(SSL *ssl, STACK_OF(X509_NAME) *name_list); - -/** - * @brief set the SSL context CA certification list - * - * @param ctx - SSL context point - * @param name_list - CA certification list - * - * @return none - */ -void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); - -/** - * @briefget the SSL CA certification list - * - * @param ssl - SSL point - * - * @return CA certification list - */ -STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *ssl); - -/** - * @brief get the SSL context CA certification list - * - * @param ctx - SSL context point - * - * @return CA certification list - */ -STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx); - -/** - * @brief get the SSL certification point - * - * @param ssl - SSL point - * - * @return SSL certification point - */ -X509 *SSL_get_certificate(const SSL *ssl); - -/** - * @brief get the SSL private key point - * - * @param ssl - SSL point - * - * @return SSL private key point - */ -EVP_PKEY *SSL_get_privatekey(const SSL *ssl); - -/** - * @brief set the SSL information callback function - * - * @param ssl - SSL point - * @param cb - information callback function - * - * @return none - */ -void SSL_set_info_callback(SSL *ssl, void (*cb) (const SSL *ssl, int type, int val)); - -/** - * @brief get the SSL state - * - * @param ssl - SSL point - * - * @return SSL state - */ -OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); - -/** - * @brief set the SSL context read buffer length - * - * @param ctx - SSL context point - * @param len - read buffer length - * - * @return none - */ -void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len); - -/** - * @brief set the SSL read buffer length - * - * @param ssl - SSL point - * @param len - read buffer length - * - * @return none - */ -void SSL_set_default_read_buffer_len(SSL *ssl, size_t len); - -/** - * @brief set the SSL security level - * - * @param ssl - SSL point - * @param level - security level - * - * @return none - */ -void SSL_set_security_level(SSL *ssl, int level); - -/** - * @brief get the SSL security level - * - * @param ssl - SSL point - * - * @return security level - */ -int SSL_get_security_level(const SSL *ssl); - -/** - * @brief get the SSL verifying mode of the SSL context - * - * @param ctx - SSL context point - * - * @return verifying mode - */ -int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); - -/** - * @brief get the SSL verifying depth of the SSL context - * - * @param ctx - SSL context point - * - * @return verifying depth - */ -int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); - -/** - * @brief set the SSL context verifying of the SSL context - * - * @param ctx - SSL context point - * @param mode - verifying mode - * @param verify_callback - verifying callback function - * - * @return none - */ -void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int (*verify_callback)(int, X509_STORE_CTX *)); - -/** - * @brief set the SSL verifying of the SSL context - * - * @param ctx - SSL point - * @param mode - verifying mode - * @param verify_callback - verifying callback function - * - * @return none - */ -void SSL_set_verify(SSL *s, int mode, int (*verify_callback)(int, X509_STORE_CTX *)); - -/** - * @brief set the SSL verify depth of the SSL context - * - * @param ctx - SSL context point - * @param depth - verifying depth - * - * @return none - */ -void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); - -/** - * @brief certification verifying callback function - * - * @param preverify_ok - verifying result - * @param x509_ctx - X509 certification point - * - * @return verifying result - */ -int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx); - -/** - * @brief set the session timeout time - * - * @param ctx - SSL context point - * @param t - new session timeout time - * - * @return old session timeout time - */ -long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); - -/** - * @brief get the session timeout time - * - * @param ctx - SSL context point - * - * @return current session timeout time - */ -long SSL_CTX_get_timeout(const SSL_CTX *ctx); - -/** - * @brief set the SSL context cipher through the list string - * - * @param ctx - SSL context point - * @param str - cipher controller list string - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str); - -/** - * @brief set the SSL cipher through the list string - * - * @param ssl - SSL point - * @param str - cipher controller list string - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_set_cipher_list(SSL *ssl, const char *str); - -/** - * @brief get the SSL cipher list string - * - * @param ssl - SSL point - * - * @return cipher controller list string - */ -const char *SSL_get_cipher_list(const SSL *ssl, int n); - -/** - * @brief get the SSL cipher - * - * @param ssl - SSL point - * - * @return current cipher - */ -const SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl); - -/** - * @brief get the SSL cipher string - * - * @param ssl - SSL point - * - * @return cipher string - */ -const char *SSL_get_cipher(const SSL *ssl); - -/** - * @brief get the SSL context object X509 certification storage - * - * @param ctx - SSL context point - * - * @return x509 certification storage - */ -X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx); - -/** - * @brief set the SSL context object X509 certification store - * - * @param ctx - SSL context point - * @param store - X509 certification store - * - * @return none - */ -void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *store); - -/** - * @brief get the SSL specifical statement - * - * @param ssl - SSL point - * - * @return specifical statement - */ -int SSL_want(const SSL *ssl); - -/** - * @brief check if the SSL is SSL_X509_LOOKUP state - * - * @param ssl - SSL point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_want_x509_lookup(const SSL *ssl); - -/** - * @brief reset the SSL - * - * @param ssl - SSL point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_clear(SSL *ssl); - -/** - * @brief get the socket handle of the SSL - * - * @param ssl - SSL point - * - * @return result - * >= 0 : yes, and return socket handle - * < 0 : a error catch - */ -int SSL_get_fd(const SSL *ssl); - -/** - * @brief get the read only socket handle of the SSL - * - * @param ssl - SSL point - * - * @return result - * >= 0 : yes, and return socket handle - * < 0 : a error catch - */ -int SSL_get_rfd(const SSL *ssl); - -/** - * @brief get the write only socket handle of the SSL - * - * @param ssl - SSL point - * - * @return result - * >= 0 : yes, and return socket handle - * < 0 : a error catch - */ -int SSL_get_wfd(const SSL *ssl); - -/** - * @brief set the SSL if we can read as many as data - * - * @param ssl - SSL point - * @param yes - enable the function - * - * @return none - */ -void SSL_set_read_ahead(SSL *s, int yes); - -/** - * @brief set the SSL context if we can read as many as data - * - * @param ctx - SSL context point - * @param yes - enbale the function - * - * @return none - */ -void SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes); - -/** - * @brief get the SSL ahead signal if we can read as many as data - * - * @param ssl - SSL point - * - * @return SSL context ahead signal - */ -int SSL_get_read_ahead(const SSL *ssl); - -/** - * @brief get the SSL context ahead signal if we can read as many as data - * - * @param ctx - SSL context point - * - * @return SSL context ahead signal - */ -long SSL_CTX_get_read_ahead(SSL_CTX *ctx); - -/** - * @brief check if some data can be read - * - * @param ssl - SSL point - * - * @return - * 1 : there are bytes to be read - * 0 : no data - */ -int SSL_has_pending(const SSL *ssl); - -/** - * @brief load the X509 certification into SSL context - * - * @param ctx - SSL context point - * @param x - X509 certification point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);//loads the certificate x into ctx - -/** - * @brief load the ASN1 certification into SSL context - * - * @param ctx - SSL context point - * @param len - certification length - * @param d - data point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d); - -/** - * @brief load the certification file into SSL context - * - * @param ctx - SSL context point - * @param file - certification file name - * @param type - certification encoding type - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); - -/** - * @brief load the certification chain file into SSL context - * - * @param ctx - SSL context point - * @param file - certification chain file name - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); - - -/** - * @brief load the ASN1 private key into SSL context - * - * @param ctx - SSL context point - * @param d - data point - * @param len - private key length - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, const unsigned char *d, long len);//adds the private key of type pk stored at memory location d (length len) to ctx - -/** - * @brief load the private key file into SSL context - * - * @param ctx - SSL context point - * @param file - private key file name - * @param type - private key encoding type - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); - -/** - * @brief load the RSA private key into SSL context - * - * @param ctx - SSL context point - * @param x - RSA private key point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); - -/** - * @brief load the RSA ASN1 private key into SSL context - * - * @param ctx - SSL context point - * @param d - data point - * @param len - RSA private key length - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len); - -/** - * @brief load the RSA private key file into SSL context - * - * @param ctx - SSL context point - * @param file - RSA private key file name - * @param type - private key encoding type - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); - - -/** - * @brief check if the private key and certification is matched - * - * @param ctx - SSL context point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_check_private_key(const SSL_CTX *ctx); - -/** - * @brief set the SSL context server information - * - * @param ctx - SSL context point - * @param serverinfo - server information string - * @param serverinfo_length - server information length - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, size_t serverinfo_length); - -/** - * @brief load the SSL context server infomation file into SSL context - * - * @param ctx - SSL context point - * @param file - server information file - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); - -/** - * @brief SSL select next function - * - * @param out - point of output data point - * @param outlen - output data length - * @param in - input data - * @param inlen - input data length - * @param client - client data point - * @param client_len -client data length - * - * @return NPN state - * OPENSSL_NPN_UNSUPPORTED : not support - * OPENSSL_NPN_NEGOTIATED : negotiated - * OPENSSL_NPN_NO_OVERLAP : no overlap - */ -int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, - const unsigned char *in, unsigned int inlen, - const unsigned char *client, unsigned int client_len); - -/** - * @brief load the extra certification chain into the SSL context - * - * @param ctx - SSL context point - * @param x509 - X509 certification - * - * @return result - * 1 : OK - * 0 : failed - */ -long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *); - -/** - * @brief control the SSL context - * - * @param ctx - SSL context point - * @param cmd - command - * @param larg - parameter length - * @param parg - parameter point - * - * @return result - * 1 : OK - * 0 : failed - */ -long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, char *parg); - -/** - * @brief get the SSL context cipher - * - * @param ctx - SSL context point - * - * @return SSL context cipher - */ -STACK *SSL_CTX_get_ciphers(const SSL_CTX *ctx); - -/** - * @brief check if the SSL context can read as many as data - * - * @param ctx - SSL context point - * - * @return result - * 1 : OK - * 0 : failed - */ -long SSL_CTX_get_default_read_ahead(SSL_CTX *ctx); - -/** - * @brief get the SSL context extra data - * - * @param ctx - SSL context point - * @param idx - index - * - * @return data point - */ -char *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx); - -/** - * @brief get the SSL context quiet shutdown option - * - * @param ctx - SSL context point - * - * @return quiet shutdown option - */ -int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); - -/** - * @brief load the SSL context CA file - * - * @param ctx - SSL context point - * @param CAfile - CA certification file - * @param CApath - CA certification file path - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath); - -/** - * @brief add SSL context reference count by '1' - * - * @param ctx - SSL context point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_up_ref(SSL_CTX *ctx); - -/** - * @brief set SSL context application private data - * - * @param ctx - SSL context point - * @param arg - private data - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_app_data(SSL_CTX *ctx, void *arg); - -/** - * @brief set SSL context client certification callback function - * - * @param ctx - SSL context point - * @param cb - callback function - * - * @return none - */ -void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey)); - -/** - * @brief set the SSL context if we can read as many as data - * - * @param ctx - SSL context point - * @param m - enable the fuction - * - * @return none - */ -void SSL_CTX_set_default_read_ahead(SSL_CTX *ctx, int m); - -/** - * @brief set SSL context default verifying path - * - * @param ctx - SSL context point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); - -/** - * @brief set SSL context default verifying directory - * - * @param ctx - SSL context point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); - -/** - * @brief set SSL context default verifying file - * - * @param ctx - SSL context point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); - -/** - * @brief set SSL context extra data - * - * @param ctx - SSL context point - * @param idx - data index - * @param arg - data point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, char *arg); - -/** - * @brief clear the SSL context option bit of "op" - * - * @param ctx - SSL context point - * @param op - option - * - * @return SSL context option - */ -unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op); - -/** - * @brief get the SSL context option - * - * @param ctx - SSL context point - * @param op - option - * - * @return SSL context option - */ -unsigned long SSL_CTX_get_options(SSL_CTX *ctx); - -/** - * @brief set the SSL context quiet shutdown mode - * - * @param ctx - SSL context point - * @param mode - mode - * - * @return none - */ -void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); - -/** - * @brief get the SSL context X509 certification - * - * @param ctx - SSL context point - * - * @return X509 certification - */ -X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); - -/** - * @brief get the SSL context private key - * - * @param ctx - SSL context point - * - * @return private key - */ -EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); - -/** - * @brief set SSL context PSK identity hint - * - * @param ctx - SSL context point - * @param hint - PSK identity hint - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint); - -/** - * @brief set SSL context PSK server callback function - * - * @param ctx - SSL context point - * @param callback - callback function - * - * @return none - */ -void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, - unsigned int (*callback)(SSL *ssl, - const char *identity, - unsigned char *psk, - int max_psk_len)); -/** - * @brief get alert description string - * - * @param value - alert value - * - * @return alert description string - */ -const char *SSL_alert_desc_string(int value); - -/** - * @brief get alert description long string - * - * @param value - alert value - * - * @return alert description long string - */ -const char *SSL_alert_desc_string_long(int value); - -/** - * @brief get alert type string - * - * @param value - alert value - * - * @return alert type string - */ -const char *SSL_alert_type_string(int value); - -/** - * @brief get alert type long string - * - * @param value - alert value - * - * @return alert type long string - */ -const char *SSL_alert_type_string_long(int value); - -/** - * @brief get SSL context of the SSL - * - * @param ssl - SSL point - * - * @return SSL context - */ -SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); - -/** - * @brief get SSL application data - * - * @param ssl - SSL point - * - * @return application data - */ -char *SSL_get_app_data(SSL *ssl); - -/** - * @brief get SSL cipher bits - * - * @param ssl - SSL point - * @param alg_bits - algorithm bits - * - * @return strength bits - */ -int SSL_get_cipher_bits(const SSL *ssl, int *alg_bits); - -/** - * @brief get SSL cipher name - * - * @param ssl - SSL point - * - * @return SSL cipher name - */ -char *SSL_get_cipher_name(const SSL *ssl); - -/** - * @brief get SSL cipher version - * - * @param ssl - SSL point - * - * @return SSL cipher version - */ -char *SSL_get_cipher_version(const SSL *ssl); - -/** - * @brief get SSL extra data - * - * @param ssl - SSL point - * @param idx - data index - * - * @return extra data - */ -char *SSL_get_ex_data(const SSL *ssl, int idx); - -/** - * @brief get index of the SSL extra data X509 storage context - * - * @param none - * - * @return data index - */ -int SSL_get_ex_data_X509_STORE_CTX_idx(void); - -/** - * @brief get peer certification chain - * - * @param ssl - SSL point - * - * @return certification chain - */ -STACK *SSL_get_peer_cert_chain(const SSL *ssl); - -/** - * @brief get peer certification - * - * @param ssl - SSL point - * - * @return certification - */ -X509 *SSL_get_peer_certificate(const SSL *ssl); - -/** - * @brief get SSL quiet shutdown mode - * - * @param ssl - SSL point - * - * @return quiet shutdown mode - */ -int SSL_get_quiet_shutdown(const SSL *ssl); - -/** - * @brief get SSL read only IO handle - * - * @param ssl - SSL point - * - * @return IO handle - */ -BIO *SSL_get_rbio(const SSL *ssl); - -/** - * @brief get SSL shared ciphers - * - * @param ssl - SSL point - * @param buf - buffer to store the ciphers - * @param len - buffer len - * - * @return shared ciphers - */ -char *SSL_get_shared_ciphers(const SSL *ssl, char *buf, int len); - -/** - * @brief get SSL shutdown mode - * - * @param ssl - SSL point - * - * @return shutdown mode - */ -int SSL_get_shutdown(const SSL *ssl); - -/** - * @brief get SSL session time - * - * @param ssl - SSL point - * - * @return session time - */ -long SSL_get_time(const SSL *ssl); - -/** - * @brief get SSL session timeout time - * - * @param ssl - SSL point - * - * @return session timeout time - */ -long SSL_get_timeout(const SSL *ssl); - -/** - * @brief get SSL verifying mode - * - * @param ssl - SSL point - * - * @return verifying mode - */ -int SSL_get_verify_mode(const SSL *ssl); - -/** - * @brief get SSL verify parameters - * - * @param ssl - SSL point - * - * @return verify parameters - */ -X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); - -/** - * @brief set expected hostname the peer cert CN should have - * - * @param param - verify parameters from SSL_get0_param() - * - * @param name - the expected hostname - * - * @param namelen - the length of the hostname, or 0 if NUL terminated - * - * @return verify parameters - */ -int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, - const char *name, size_t namelen); - -/** - * @brief set parameters for X509 host verify action - * - * @param param -verify parameters from SSL_get0_param() - * - * @param flags - bitfield of X509_CHECK_FLAG_... parameters to set - * - * @return 1 for success, 0 for failure - */ -int X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, - unsigned long flags); - -/** - * @brief clear parameters for X509 host verify action - * - * @param param -verify parameters from SSL_get0_param() - * - * @param flags - bitfield of X509_CHECK_FLAG_... parameters to clear - * - * @return 1 for success, 0 for failure - */ -int X509_VERIFY_PARAM_clear_hostflags(X509_VERIFY_PARAM *param, - unsigned long flags); - -/** - * @brief get SSL write only IO handle - * - * @param ssl - SSL point - * - * @return IO handle - */ -BIO *SSL_get_wbio(const SSL *ssl); - -/** - * @brief load SSL client CA certification file - * - * @param file - file name - * - * @return certification loading object - */ -STACK *SSL_load_client_CA_file(const char *file); - -/** - * @brief add SSL reference by '1' - * - * @param ssl - SSL point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_up_ref(SSL *ssl); - -/** - * @brief read and put data into buf, but not clear the SSL low-level storage - * - * @param ssl - SSL point - * @param buf - storage buffer point - * @param num - data bytes - * - * @return result - * > 0 : OK, and return read bytes - * = 0 : connect is closed - * < 0 : a error catch - */ -int SSL_peek(SSL *ssl, void *buf, int num); - -/** - * @brief make SSL renegotiate - * - * @param ssl - SSL point - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_renegotiate(SSL *ssl); - -/** - * @brief get the state string where SSL is reading - * - * @param ssl - SSL point - * - * @return state string - */ -const char *SSL_rstate_string(SSL *ssl); - -/** - * @brief get the statement long string where SSL is reading - * - * @param ssl - SSL point - * - * @return statement long string - */ -const char *SSL_rstate_string_long(SSL *ssl); - -/** - * @brief set SSL accept statement - * - * @param ssl - SSL point - * - * @return none - */ -void SSL_set_accept_state(SSL *ssl); - -/** - * @brief set SSL application data - * - * @param ssl - SSL point - * @param arg - SSL application data point - * - * @return none - */ -void SSL_set_app_data(SSL *ssl, char *arg); - -/** - * @brief set SSL BIO - * - * @param ssl - SSL point - * @param rbio - read only IO - * @param wbio - write only IO - * - * @return none - */ -void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio); - -/** - * @brief clear SSL option - * - * @param ssl - SSL point - * @param op - clear option - * - * @return SSL option - */ -unsigned long SSL_clear_options(SSL *ssl, unsigned long op); - -/** - * @brief get SSL option - * - * @param ssl - SSL point - * - * @return SSL option - */ -unsigned long SSL_get_options(SSL *ssl); - -/** - * @brief clear SSL option - * - * @param ssl - SSL point - * @param op - setting option - * - * @return SSL option - */ -unsigned long SSL_set_options(SSL *ssl, unsigned long op); - -/** - * @brief set SSL quiet shutdown mode - * - * @param ssl - SSL point - * @param mode - quiet shutdown mode - * - * @return none - */ -void SSL_set_quiet_shutdown(SSL *ssl, int mode); - -/** - * @brief set SSL shutdown mode - * - * @param ssl - SSL point - * @param mode - shutdown mode - * - * @return none - */ -void SSL_set_shutdown(SSL *ssl, int mode); - -/** - * @brief set SSL session time - * - * @param ssl - SSL point - * @param t - session time - * - * @return session time - */ -void SSL_set_time(SSL *ssl, long t); - -/** - * @brief set SSL session timeout time - * - * @param ssl - SSL point - * @param t - session timeout time - * - * @return session timeout time - */ -void SSL_set_timeout(SSL *ssl, long t); - -/** - * @brief get SSL statement string - * - * @param ssl - SSL point - * - * @return SSL statement string - */ -char *SSL_state_string(const SSL *ssl); - -/** - * @brief get SSL statement long string - * - * @param ssl - SSL point - * - * @return SSL statement long string - */ -char *SSL_state_string_long(const SSL *ssl); - -/** - * @brief get SSL renegotiation count - * - * @param ssl - SSL point - * - * @return renegotiation count - */ -long SSL_total_renegotiations(SSL *ssl); - -/** - * @brief get SSL version - * - * @param ssl - SSL point - * - * @return SSL version - */ -int SSL_version(const SSL *ssl); - -/** - * @brief set SSL PSK identity hint - * - * @param ssl - SSL point - * @param hint - identity hint - * - * @return result - * 1 : OK - * 0 : failed - */ -int SSL_use_psk_identity_hint(SSL *ssl, const char *hint); - -/** - * @brief get SSL PSK identity hint - * - * @param ssl - SSL point - * - * @return identity hint - */ -const char *SSL_get_psk_identity_hint(SSL *ssl); - -/** - * @brief get SSL PSK identity - * - * @param ssl - SSL point - * - * @return identity - */ -const char *SSL_get_psk_identity(SSL *ssl); - -#ifdef __cplusplus -} -#endif - -#endif +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SSL_H_ +#define _SSL_H_ + +#ifdef __cplusplus + extern "C" { +#endif + +#include "internal/ssl_x509.h" +#include "internal/ssl_pkey.h" + +/* +{ +*/ + +#define SSL_CB_ALERT 0x4000 + +#define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT (1 << 0) +#define X509_CHECK_FLAG_NO_WILDCARDS (1 << 1) +#define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS (1 << 2) +#define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS (1 << 3) +#define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS (1 << 4) + +/** + * @brief create a SSL context + * + * @param method - the SSL context method point + * + * @return the context point + */ +SSL_CTX* SSL_CTX_new(const SSL_METHOD *method); + +/** + * @brief free a SSL context + * + * @param method - the SSL context point + * + * @return none + */ +void SSL_CTX_free(SSL_CTX *ctx); + +/** + * @brief create a SSL + * + * @param ctx - the SSL context point + * + * @return the SSL point + */ +SSL* SSL_new(SSL_CTX *ctx); + +/** + * @brief free the SSL + * + * @param ssl - the SSL point + * + * @return none + */ +void SSL_free(SSL *ssl); + +/** + * @brief connect to the remote SSL server + * + * @param ssl - the SSL point + * + * @return result + * 1 : OK + * -1 : failed + */ +int SSL_connect(SSL *ssl); + +/** + * @brief accept the remote connection + * + * @param ssl - the SSL point + * + * @return result + * 1 : OK + * -1 : failed + */ +int SSL_accept(SSL *ssl); + +/** + * @brief read data from to remote + * + * @param ssl - the SSL point which has been connected + * @param buffer - the received data buffer point + * @param len - the received data length + * + * @return result + * > 0 : OK, and return received data bytes + * = 0 : connection is closed + * < 0 : an error catch + */ +int SSL_read(SSL *ssl, void *buffer, int len); + +/** + * @brief send the data to remote + * + * @param ssl - the SSL point which has been connected + * @param buffer - the send data buffer point + * @param len - the send data length + * + * @return result + * > 0 : OK, and return sent data bytes + * = 0 : connection is closed + * < 0 : an error catch + */ +int SSL_write(SSL *ssl, const void *buffer, int len); + +/** + * @brief get the verifying result of the SSL certification + * + * @param ssl - the SSL point + * + * @return the result of verifying + */ +long SSL_get_verify_result(const SSL *ssl); + +/** + * @brief shutdown the connection + * + * @param ssl - the SSL point + * + * @return result + * 1 : OK + * 0 : shutdown is not finished + * -1 : an error catch + */ +int SSL_shutdown(SSL *ssl); + +/** + * @brief bind the socket file description into the SSL + * + * @param ssl - the SSL point + * @param fd - socket handle + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_set_fd(SSL *ssl, int fd); + +/** + * @brief Set the hostname for SNI + * + * @param ssl - the SSL context point + * @param hostname - pointer to the hostname + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_set_tlsext_host_name(SSL* ssl, const char *hostname); + +/** + * @brief These functions load the private key into the SSL_CTX or SSL object + * + * @param ctx - the SSL context point + * @param pkey - private key object point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); + +/** + * @brief These functions load the certification into the SSL_CTX or SSL object + * + * @param ctx - the SSL context point + * @param pkey - certification object point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); + +/** + * @brief create the target SSL context client method + * + * @param none + * + * @return the SSLV2.3 version SSL context client method + */ +const SSL_METHOD* SSLv23_client_method(void); + +/** + * @brief create the target SSL context client method + * + * @param none + * + * @return the TLSV1.0 version SSL context client method + */ +const SSL_METHOD* TLSv1_client_method(void); + +/** + * @brief create the target SSL context client method + * + * @param none + * + * @return the SSLV1.0 version SSL context client method + */ +const SSL_METHOD* SSLv3_client_method(void); + +/** + * @brief create the target SSL context client method + * + * @param none + * + * @return the TLSV1.1 version SSL context client method + */ +const SSL_METHOD* TLSv1_1_client_method(void); + +/** + * @brief create the target SSL context client method + * + * @param none + * + * @return the TLSV1.2 version SSL context client method + */ +const SSL_METHOD* TLSv1_2_client_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the TLS any version SSL context client method + */ +const SSL_METHOD* TLS_client_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the SSLV2.3 version SSL context server method + */ +const SSL_METHOD* SSLv23_server_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the TLSV1.1 version SSL context server method + */ +const SSL_METHOD* TLSv1_1_server_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the TLSV1.2 version SSL context server method + */ +const SSL_METHOD* TLSv1_2_server_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the TLSV1.0 version SSL context server method + */ +const SSL_METHOD* TLSv1_server_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the SSLV3.0 version SSL context server method + */ +const SSL_METHOD* SSLv3_server_method(void); + +/** + * @brief create the target SSL context server method + * + * @param none + * + * @return the TLS any version SSL context server method + */ +const SSL_METHOD* TLS_server_method(void); + + +/** + * @brief set the SSL context ALPN select callback function + * + * @param ctx - SSL context point + * @param cb - ALPN select callback function + * @param arg - ALPN select callback function entry private data point + * + * @return none + */ +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), + void *arg); + + +/** + * @brief set the SSL context ALPN select protocol + * + * @param ctx - SSL context point + * @param protos - ALPN protocol name + * @param protos_len - ALPN protocol name bytes + * + * @return result + * 0 : OK + * 1 : failed + */ +int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, unsigned int protos_len); + +/** + * @brief set the SSL context next ALPN select callback function + * + * @param ctx - SSL context point + * @param cb - ALPN select callback function + * @param arg - ALPN select callback function entry private data point + * + * @return none + */ +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg), + void *arg); + +/** + * @brief get SSL error code + * + * @param ssl - SSL point + * @param ret_code - SSL return code + * + * @return SSL error number + */ +int SSL_get_error(const SSL *ssl, int ret_code); + +/** + * @brief clear the SSL error code + * + * @param none + * + * @return none + */ +void ERR_clear_error(void); + +/** + * @brief get the current SSL error code + * + * @param none + * + * @return current SSL error number + */ +int ERR_get_error(void); + +/** + * @brief register the SSL error strings + * + * @param none + * + * @return none + */ +void ERR_load_SSL_strings(void); + +/** + * @brief initialize the SSL library + * + * @param none + * + * @return none + */ +void SSL_library_init(void); + +/** + * @brief generates a human-readable string representing the error code e + * and store it into the "ret" point memory + * + * @param e - error code + * @param ret - memory point to store the string + * + * @return the result string point + */ +char *ERR_error_string(unsigned long e, char *ret); + +/** + * @brief add the SSL context option + * + * @param ctx - SSL context point + * @param opt - new SSL context option + * + * @return the SSL context option + */ +unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long opt); + +/** + * @brief add the SSL context mode + * + * @param ctx - SSL context point + * @param mod - new SSL context mod + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_mode(SSL_CTX *ctx, int mod); + +/* +} +*/ + +/** + * @brief perform the SSL handshake + * + * @param ssl - SSL point + * + * @return result + * 1 : OK + * 0 : failed + * -1 : a error catch + */ +int SSL_do_handshake(SSL *ssl); + +/** + * @brief get the SSL current version + * + * @param ssl - SSL point + * + * @return the version string + */ +const char *SSL_get_version(const SSL *ssl); + +/** + * @brief set the SSL context version + * + * @param ctx - SSL context point + * @param meth - SSL method point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); + +/** + * @brief get the bytes numbers which are to be read + * + * @param ssl - SSL point + * + * @return bytes number + */ +int SSL_pending(const SSL *ssl); + +/** + * @brief check if SSL want nothing + * + * @param ssl - SSL point + * + * @return result + * 0 : false + * 1 : true + */ +int SSL_want_nothing(const SSL *ssl); + +/** + * @brief check if SSL want to read + * + * @param ssl - SSL point + * + * @return result + * 0 : false + * 1 : true + */ +int SSL_want_read(const SSL *ssl); + +/** + * @brief check if SSL want to write + * + * @param ssl - SSL point + * + * @return result + * 0 : false + * 1 : true + */ +int SSL_want_write(const SSL *ssl); + +/** + * @brief get the SSL context current method + * + * @param ctx - SSL context point + * + * @return the SSL context current method + */ +const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); + +/** + * @brief get the SSL current method + * + * @param ssl - SSL point + * + * @return the SSL current method + */ +const SSL_METHOD *SSL_get_ssl_method(SSL *ssl); + +/** + * @brief set the SSL method + * + * @param ssl - SSL point + * @param meth - SSL method point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_set_ssl_method(SSL *ssl, const SSL_METHOD *method); + +/** + * @brief add CA client certification into the SSL + * + * @param ssl - SSL point + * @param x - CA certification point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_add_client_CA(SSL *ssl, X509 *x); + +/** + * @brief add CA client certification into the SSL context + * + * @param ctx - SSL context point + * @param x - CA certification point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +/** + * @brief set the SSL CA certification list + * + * @param ssl - SSL point + * @param name_list - CA certification list + * + * @return none + */ +void SSL_set_client_CA_list(SSL *ssl, STACK_OF(X509_NAME) *name_list); + +/** + * @brief set the SSL context CA certification list + * + * @param ctx - SSL context point + * @param name_list - CA certification list + * + * @return none + */ +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); + +/** + * @briefget the SSL CA certification list + * + * @param ssl - SSL point + * + * @return CA certification list + */ +STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *ssl); + +/** + * @brief get the SSL context CA certification list + * + * @param ctx - SSL context point + * + * @return CA certification list + */ +STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx); + +/** + * @brief get the SSL certification point + * + * @param ssl - SSL point + * + * @return SSL certification point + */ +X509 *SSL_get_certificate(const SSL *ssl); + +/** + * @brief get the SSL private key point + * + * @param ssl - SSL point + * + * @return SSL private key point + */ +EVP_PKEY *SSL_get_privatekey(const SSL *ssl); + +/** + * @brief set the SSL information callback function + * + * @param ssl - SSL point + * @param cb - information callback function + * + * @return none + */ +void SSL_set_info_callback(SSL *ssl, void (*cb) (const SSL *ssl, int type, int val)); + +/** + * @brief get the SSL state + * + * @param ssl - SSL point + * + * @return SSL state + */ +OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); + +/** + * @brief set the SSL context read buffer length + * + * @param ctx - SSL context point + * @param len - read buffer length + * + * @return none + */ +void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len); + +/** + * @brief set the SSL read buffer length + * + * @param ssl - SSL point + * @param len - read buffer length + * + * @return none + */ +void SSL_set_default_read_buffer_len(SSL *ssl, size_t len); + +/** + * @brief set the SSL security level + * + * @param ssl - SSL point + * @param level - security level + * + * @return none + */ +void SSL_set_security_level(SSL *ssl, int level); + +/** + * @brief get the SSL security level + * + * @param ssl - SSL point + * + * @return security level + */ +int SSL_get_security_level(const SSL *ssl); + +/** + * @brief get the SSL verifying mode of the SSL context + * + * @param ctx - SSL context point + * + * @return verifying mode + */ +int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); + +/** + * @brief get the SSL verifying depth of the SSL context + * + * @param ctx - SSL context point + * + * @return verifying depth + */ +int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); + +/** + * @brief set the SSL context verifying of the SSL context + * + * @param ctx - SSL context point + * @param mode - verifying mode + * @param verify_callback - verifying callback function + * + * @return none + */ +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int (*verify_callback)(int, X509_STORE_CTX *)); + +/** + * @brief set the SSL verifying of the SSL context + * + * @param ctx - SSL point + * @param mode - verifying mode + * @param verify_callback - verifying callback function + * + * @return none + */ +void SSL_set_verify(SSL *s, int mode, int (*verify_callback)(int, X509_STORE_CTX *)); + +/** + * @brief set the SSL verify depth of the SSL context + * + * @param ctx - SSL context point + * @param depth - verifying depth + * + * @return none + */ +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); + +/** + * @brief certification verifying callback function + * + * @param preverify_ok - verifying result + * @param x509_ctx - X509 certification point + * + * @return verifying result + */ +int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx); + +/** + * @brief set the session timeout time + * + * @param ctx - SSL context point + * @param t - new session timeout time + * + * @return old session timeout time + */ +long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); + +/** + * @brief get the session timeout time + * + * @param ctx - SSL context point + * + * @return current session timeout time + */ +long SSL_CTX_get_timeout(const SSL_CTX *ctx); + +/** + * @brief set the SSL context cipher through the list string + * + * @param ctx - SSL context point + * @param str - cipher controller list string + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str); + +/** + * @brief set the SSL cipher through the list string + * + * @param ssl - SSL point + * @param str - cipher controller list string + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_set_cipher_list(SSL *ssl, const char *str); + +/** + * @brief get the SSL cipher list string + * + * @param ssl - SSL point + * + * @return cipher controller list string + */ +const char *SSL_get_cipher_list(const SSL *ssl, int n); + +/** + * @brief get the SSL cipher + * + * @param ssl - SSL point + * + * @return current cipher + */ +const SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl); + +/** + * @brief get the SSL cipher string + * + * @param ssl - SSL point + * + * @return cipher string + */ +const char *SSL_get_cipher(const SSL *ssl); + +/** + * @brief get the SSL context object X509 certification storage + * + * @param ctx - SSL context point + * + * @return x509 certification storage + */ +X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx); + +/** + * @brief set the SSL context object X509 certification store + * + * @param ctx - SSL context point + * @param store - X509 certification store + * + * @return none + */ +void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *store); + +/** + * @brief get the SSL specifical statement + * + * @param ssl - SSL point + * + * @return specifical statement + */ +int SSL_want(const SSL *ssl); + +/** + * @brief check if the SSL is SSL_X509_LOOKUP state + * + * @param ssl - SSL point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_want_x509_lookup(const SSL *ssl); + +/** + * @brief reset the SSL + * + * @param ssl - SSL point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_clear(SSL *ssl); + +/** + * @brief get the socket handle of the SSL + * + * @param ssl - SSL point + * + * @return result + * >= 0 : yes, and return socket handle + * < 0 : a error catch + */ +int SSL_get_fd(const SSL *ssl); + +/** + * @brief get the read only socket handle of the SSL + * + * @param ssl - SSL point + * + * @return result + * >= 0 : yes, and return socket handle + * < 0 : a error catch + */ +int SSL_get_rfd(const SSL *ssl); + +/** + * @brief get the write only socket handle of the SSL + * + * @param ssl - SSL point + * + * @return result + * >= 0 : yes, and return socket handle + * < 0 : a error catch + */ +int SSL_get_wfd(const SSL *ssl); + +/** + * @brief set the SSL if we can read as many as data + * + * @param ssl - SSL point + * @param yes - enable the function + * + * @return none + */ +void SSL_set_read_ahead(SSL *s, int yes); + +/** + * @brief set the SSL context if we can read as many as data + * + * @param ctx - SSL context point + * @param yes - enbale the function + * + * @return none + */ +void SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes); + +/** + * @brief get the SSL ahead signal if we can read as many as data + * + * @param ssl - SSL point + * + * @return SSL context ahead signal + */ +int SSL_get_read_ahead(const SSL *ssl); + +/** + * @brief get the SSL context ahead signal if we can read as many as data + * + * @param ctx - SSL context point + * + * @return SSL context ahead signal + */ +long SSL_CTX_get_read_ahead(SSL_CTX *ctx); + +/** + * @brief check if some data can be read + * + * @param ssl - SSL point + * + * @return + * 1 : there are bytes to be read + * 0 : no data + */ +int SSL_has_pending(const SSL *ssl); + +/** + * @brief load the X509 certification into SSL context + * + * @param ctx - SSL context point + * @param x - X509 certification point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);//loads the certificate x into ctx + +/** + * @brief load the ASN1 certification into SSL context + * + * @param ctx - SSL context point + * @param len - certification length + * @param d - data point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d); + +/** + * @brief load the certification file into SSL context + * + * @param ctx - SSL context point + * @param file - certification file name + * @param type - certification encoding type + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); + +/** + * @brief load the certification chain file into SSL context + * + * @param ctx - SSL context point + * @param file - certification chain file name + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); + + +/** + * @brief load the ASN1 private key into SSL context + * + * @param ctx - SSL context point + * @param d - data point + * @param len - private key length + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, const unsigned char *d, long len);//adds the private key of type pk stored at memory location d (length len) to ctx + +/** + * @brief load the private key file into SSL context + * + * @param ctx - SSL context point + * @param file - private key file name + * @param type - private key encoding type + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); + +/** + * @brief load the RSA private key into SSL context + * + * @param ctx - SSL context point + * @param x - RSA private key point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); + +/** + * @brief load the RSA ASN1 private key into SSL context + * + * @param ctx - SSL context point + * @param d - data point + * @param len - RSA private key length + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len); + +/** + * @brief load the RSA private key file into SSL context + * + * @param ctx - SSL context point + * @param file - RSA private key file name + * @param type - private key encoding type + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); + + +/** + * @brief check if the private key and certification is matched + * + * @param ctx - SSL context point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_check_private_key(const SSL_CTX *ctx); + +/** + * @brief set the SSL context server information + * + * @param ctx - SSL context point + * @param serverinfo - server information string + * @param serverinfo_length - server information length + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, size_t serverinfo_length); + +/** + * @brief load the SSL context server infomation file into SSL context + * + * @param ctx - SSL context point + * @param file - server information file + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); + +/** + * @brief SSL select next function + * + * @param out - point of output data point + * @param outlen - output data length + * @param in - input data + * @param inlen - input data length + * @param client - client data point + * @param client_len -client data length + * + * @return NPN state + * OPENSSL_NPN_UNSUPPORTED : not support + * OPENSSL_NPN_NEGOTIATED : negotiated + * OPENSSL_NPN_NO_OVERLAP : no overlap + */ +int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, unsigned int client_len); + +/** + * @brief load the extra certification chain into the SSL context + * + * @param ctx - SSL context point + * @param x509 - X509 certification + * + * @return result + * 1 : OK + * 0 : failed + */ +long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *); + +/** + * @brief control the SSL context + * + * @param ctx - SSL context point + * @param cmd - command + * @param larg - parameter length + * @param parg - parameter point + * + * @return result + * 1 : OK + * 0 : failed + */ +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, char *parg); + +/** + * @brief get the SSL context cipher + * + * @param ctx - SSL context point + * + * @return SSL context cipher + */ +STACK *SSL_CTX_get_ciphers(const SSL_CTX *ctx); + +/** + * @brief check if the SSL context can read as many as data + * + * @param ctx - SSL context point + * + * @return result + * 1 : OK + * 0 : failed + */ +long SSL_CTX_get_default_read_ahead(SSL_CTX *ctx); + +/** + * @brief get the SSL context extra data + * + * @param ctx - SSL context point + * @param idx - index + * + * @return data point + */ +char *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx); + +/** + * @brief get the SSL context quiet shutdown option + * + * @param ctx - SSL context point + * + * @return quiet shutdown option + */ +int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); + +/** + * @brief load the SSL context CA file + * + * @param ctx - SSL context point + * @param CAfile - CA certification file + * @param CApath - CA certification file path + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath); + +/** + * @brief add SSL context reference count by '1' + * + * @param ctx - SSL context point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_up_ref(SSL_CTX *ctx); + +/** + * @brief set SSL context application private data + * + * @param ctx - SSL context point + * @param arg - private data + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_app_data(SSL_CTX *ctx, void *arg); + +/** + * @brief set SSL context client certification callback function + * + * @param ctx - SSL context point + * @param cb - callback function + * + * @return none + */ +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey)); + +/** + * @brief set the SSL context if we can read as many as data + * + * @param ctx - SSL context point + * @param m - enable the fuction + * + * @return none + */ +void SSL_CTX_set_default_read_ahead(SSL_CTX *ctx, int m); + +/** + * @brief set SSL context default verifying path + * + * @param ctx - SSL context point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); + +/** + * @brief set SSL context default verifying directory + * + * @param ctx - SSL context point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); + +/** + * @brief set SSL context default verifying file + * + * @param ctx - SSL context point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); + +/** + * @brief set SSL context extra data + * + * @param ctx - SSL context point + * @param idx - data index + * @param arg - data point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, char *arg); + +/** + * @brief clear the SSL context option bit of "op" + * + * @param ctx - SSL context point + * @param op - option + * + * @return SSL context option + */ +unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op); + +/** + * @brief get the SSL context option + * + * @param ctx - SSL context point + * @param op - option + * + * @return SSL context option + */ +unsigned long SSL_CTX_get_options(SSL_CTX *ctx); + +/** + * @brief set the SSL context quiet shutdown mode + * + * @param ctx - SSL context point + * @param mode - mode + * + * @return none + */ +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); + +/** + * @brief get the SSL context X509 certification + * + * @param ctx - SSL context point + * + * @return X509 certification + */ +X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); + +/** + * @brief get the SSL context private key + * + * @param ctx - SSL context point + * + * @return private key + */ +EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); + +/** + * @brief set SSL context PSK identity hint + * + * @param ctx - SSL context point + * @param hint - PSK identity hint + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint); + +/** + * @brief set SSL context PSK server callback function + * + * @param ctx - SSL context point + * @param callback - callback function + * + * @return none + */ +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, + unsigned int (*callback)(SSL *ssl, + const char *identity, + unsigned char *psk, + int max_psk_len)); +/** + * @brief get alert description string + * + * @param value - alert value + * + * @return alert description string + */ +const char *SSL_alert_desc_string(int value); + +/** + * @brief get alert description long string + * + * @param value - alert value + * + * @return alert description long string + */ +const char *SSL_alert_desc_string_long(int value); + +/** + * @brief get alert type string + * + * @param value - alert value + * + * @return alert type string + */ +const char *SSL_alert_type_string(int value); + +/** + * @brief get alert type long string + * + * @param value - alert value + * + * @return alert type long string + */ +const char *SSL_alert_type_string_long(int value); + +/** + * @brief get SSL context of the SSL + * + * @param ssl - SSL point + * + * @return SSL context + */ +SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); + +/** + * @brief get SSL application data + * + * @param ssl - SSL point + * + * @return application data + */ +char *SSL_get_app_data(SSL *ssl); + +/** + * @brief get SSL cipher bits + * + * @param ssl - SSL point + * @param alg_bits - algorithm bits + * + * @return strength bits + */ +int SSL_get_cipher_bits(const SSL *ssl, int *alg_bits); + +/** + * @brief get SSL cipher name + * + * @param ssl - SSL point + * + * @return SSL cipher name + */ +char *SSL_get_cipher_name(const SSL *ssl); + +/** + * @brief get SSL cipher version + * + * @param ssl - SSL point + * + * @return SSL cipher version + */ +char *SSL_get_cipher_version(const SSL *ssl); + +/** + * @brief get SSL extra data + * + * @param ssl - SSL point + * @param idx - data index + * + * @return extra data + */ +char *SSL_get_ex_data(const SSL *ssl, int idx); + +/** + * @brief get index of the SSL extra data X509 storage context + * + * @param none + * + * @return data index + */ +int SSL_get_ex_data_X509_STORE_CTX_idx(void); + +/** + * @brief get peer certification chain + * + * @param ssl - SSL point + * + * @return certification chain + */ +STACK *SSL_get_peer_cert_chain(const SSL *ssl); + +/** + * @brief get peer certification + * + * @param ssl - SSL point + * + * @return certification + */ +X509 *SSL_get_peer_certificate(const SSL *ssl); + +/** + * @brief get SSL quiet shutdown mode + * + * @param ssl - SSL point + * + * @return quiet shutdown mode + */ +int SSL_get_quiet_shutdown(const SSL *ssl); + +/** + * @brief get SSL read only IO handle + * + * @param ssl - SSL point + * + * @return IO handle + */ +BIO *SSL_get_rbio(const SSL *ssl); + +/** + * @brief get SSL shared ciphers + * + * @param ssl - SSL point + * @param buf - buffer to store the ciphers + * @param len - buffer len + * + * @return shared ciphers + */ +char *SSL_get_shared_ciphers(const SSL *ssl, char *buf, int len); + +/** + * @brief get SSL shutdown mode + * + * @param ssl - SSL point + * + * @return shutdown mode + */ +int SSL_get_shutdown(const SSL *ssl); + +/** + * @brief get SSL session time + * + * @param ssl - SSL point + * + * @return session time + */ +long SSL_get_time(const SSL *ssl); + +/** + * @brief get SSL session timeout time + * + * @param ssl - SSL point + * + * @return session timeout time + */ +long SSL_get_timeout(const SSL *ssl); + +/** + * @brief get SSL verifying mode + * + * @param ssl - SSL point + * + * @return verifying mode + */ +int SSL_get_verify_mode(const SSL *ssl); + +/** + * @brief get SSL verify parameters + * + * @param ssl - SSL point + * + * @return verify parameters + */ +X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); + +/** + * @brief set expected hostname the peer cert CN should have + * + * @param param - verify parameters from SSL_get0_param() + * + * @param name - the expected hostname + * + * @param namelen - the length of the hostname, or 0 if NUL terminated + * + * @return verify parameters + */ +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); + +/** + * @brief set parameters for X509 host verify action + * + * @param param -verify parameters from SSL_get0_param() + * + * @param flags - bitfield of X509_CHECK_FLAG_... parameters to set + * + * @return 1 for success, 0 for failure + */ +int X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned long flags); + +/** + * @brief clear parameters for X509 host verify action + * + * @param param -verify parameters from SSL_get0_param() + * + * @param flags - bitfield of X509_CHECK_FLAG_... parameters to clear + * + * @return 1 for success, 0 for failure + */ +int X509_VERIFY_PARAM_clear_hostflags(X509_VERIFY_PARAM *param, + unsigned long flags); + +/** + * @brief get SSL write only IO handle + * + * @param ssl - SSL point + * + * @return IO handle + */ +BIO *SSL_get_wbio(const SSL *ssl); + +/** + * @brief load SSL client CA certification file + * + * @param file - file name + * + * @return certification loading object + */ +STACK *SSL_load_client_CA_file(const char *file); + +/** + * @brief add SSL reference by '1' + * + * @param ssl - SSL point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_up_ref(SSL *ssl); + +/** + * @brief read and put data into buf, but not clear the SSL low-level storage + * + * @param ssl - SSL point + * @param buf - storage buffer point + * @param num - data bytes + * + * @return result + * > 0 : OK, and return read bytes + * = 0 : connect is closed + * < 0 : a error catch + */ +int SSL_peek(SSL *ssl, void *buf, int num); + +/** + * @brief make SSL renegotiate + * + * @param ssl - SSL point + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_renegotiate(SSL *ssl); + +/** + * @brief get the state string where SSL is reading + * + * @param ssl - SSL point + * + * @return state string + */ +const char *SSL_rstate_string(SSL *ssl); + +/** + * @brief get the statement long string where SSL is reading + * + * @param ssl - SSL point + * + * @return statement long string + */ +const char *SSL_rstate_string_long(SSL *ssl); + +/** + * @brief set SSL accept statement + * + * @param ssl - SSL point + * + * @return none + */ +void SSL_set_accept_state(SSL *ssl); + +/** + * @brief set SSL application data + * + * @param ssl - SSL point + * @param arg - SSL application data point + * + * @return none + */ +void SSL_set_app_data(SSL *ssl, char *arg); + +/** + * @brief set SSL BIO + * + * @param ssl - SSL point + * @param rbio - read only IO + * @param wbio - write only IO + * + * @return none + */ +void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio); + +/** + * @brief clear SSL option + * + * @param ssl - SSL point + * @param op - clear option + * + * @return SSL option + */ +unsigned long SSL_clear_options(SSL *ssl, unsigned long op); + +/** + * @brief get SSL option + * + * @param ssl - SSL point + * + * @return SSL option + */ +unsigned long SSL_get_options(SSL *ssl); + +/** + * @brief clear SSL option + * + * @param ssl - SSL point + * @param op - setting option + * + * @return SSL option + */ +unsigned long SSL_set_options(SSL *ssl, unsigned long op); + +/** + * @brief set SSL quiet shutdown mode + * + * @param ssl - SSL point + * @param mode - quiet shutdown mode + * + * @return none + */ +void SSL_set_quiet_shutdown(SSL *ssl, int mode); + +/** + * @brief set SSL shutdown mode + * + * @param ssl - SSL point + * @param mode - shutdown mode + * + * @return none + */ +void SSL_set_shutdown(SSL *ssl, int mode); + +/** + * @brief set SSL session time + * + * @param ssl - SSL point + * @param t - session time + * + * @return session time + */ +void SSL_set_time(SSL *ssl, long t); + +/** + * @brief set SSL session timeout time + * + * @param ssl - SSL point + * @param t - session timeout time + * + * @return session timeout time + */ +void SSL_set_timeout(SSL *ssl, long t); + +/** + * @brief get SSL statement string + * + * @param ssl - SSL point + * + * @return SSL statement string + */ +char *SSL_state_string(const SSL *ssl); + +/** + * @brief get SSL statement long string + * + * @param ssl - SSL point + * + * @return SSL statement long string + */ +char *SSL_state_string_long(const SSL *ssl); + +/** + * @brief get SSL renegotiation count + * + * @param ssl - SSL point + * + * @return renegotiation count + */ +long SSL_total_renegotiations(SSL *ssl); + +/** + * @brief get SSL version + * + * @param ssl - SSL point + * + * @return SSL version + */ +int SSL_version(const SSL *ssl); + +/** + * @brief set SSL PSK identity hint + * + * @param ssl - SSL point + * @param hint - identity hint + * + * @return result + * 1 : OK + * 0 : failed + */ +int SSL_use_psk_identity_hint(SSL *ssl, const char *hint); + +/** + * @brief get SSL PSK identity hint + * + * @param ssl - SSL point + * + * @return identity hint + */ +const char *SSL_get_psk_identity_hint(SSL *ssl); + +/** + * @brief get SSL PSK identity + * + * @param ssl - SSL point + * + * @return identity + */ +const char *SSL_get_psk_identity(SSL *ssl); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/sdk/include/sdmmc/sdmmc_cmd.h b/tools/sdk/include/sdmmc/sdmmc_cmd.h index 7b68ed7c..aa12a447 100644 --- a/tools/sdk/include/sdmmc/sdmmc_cmd.h +++ b/tools/sdk/include/sdmmc/sdmmc_cmd.h @@ -1,4 +1,4 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/tools/sdk/include/soc/soc/can_struct.h b/tools/sdk/include/soc/soc/can_struct.h new file mode 100644 index 00000000..3f566b13 --- /dev/null +++ b/tools/sdk/include/soc/soc/can_struct.h @@ -0,0 +1,211 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _SOC_CAN_STRUCT_H_ +#define _SOC_CAN_STRUCT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* -------------------------- Register Definitions -------------------------- */ + +/* The CAN peripheral's registers are 8bits, however the ESP32 can only access + * peripheral registers every 32bits. Therefore each CAN register is mapped to + * the least significant byte of every 32bits. + */ +typedef union { + struct { + uint32_t byte: 8; /* LSB */ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_reg_t; + +typedef union { + struct { + uint32_t reset: 1; /* MOD.0 Reset Mode */ + uint32_t listen_only: 1; /* MOD.1 Listen Only Mode */ + uint32_t self_test: 1; /* MOD.2 Self Test Mode */ + uint32_t acceptance_filter: 1; /* MOD.3 Acceptance Filter Mode */ + uint32_t reserved28: 28; /* Internal Reserved. MOD.4 Sleep Mode not supported */ + }; + uint32_t val; +} can_mode_reg_t; + +typedef union { + struct { + uint32_t tx_req: 1; /* CMR.0 Transmission Request */ + uint32_t abort_tx: 1; /* CMR.1 Abort Transmission */ + uint32_t release_rx_buff: 1; /* CMR.2 Release Receive Buffer */ + uint32_t clear_data_overrun: 1; /* CMR.3 Clear Data Overrun */ + uint32_t self_rx_req: 1; /* CMR.4 Self Reception Request */ + uint32_t reserved27: 27; /* Internal Reserved */ + }; + uint32_t val; +} can_cmd_reg_t; + +typedef union { + struct { + uint32_t rx_buff: 1; /* SR.0 Receive Buffer Status */ + uint32_t data_overrun: 1; /* SR.1 Data Overrun Status */ + uint32_t tx_buff: 1; /* SR.2 Transmit Buffer Status */ + uint32_t tx_complete: 1; /* SR.3 Transmission Complete Status */ + uint32_t rx: 1; /* SR.4 Receive Status */ + uint32_t tx: 1; /* SR.5 Transmit Status */ + uint32_t error: 1; /* SR.6 Error Status */ + uint32_t bus: 1; /* SR.7 Bus Status */ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_status_reg_t; + +typedef union { + struct { + uint32_t rx: 1; /* IR.0 Receive Interrupt */ + uint32_t tx: 1; /* IR.1 Transmit Interrupt */ + uint32_t err_warn: 1; /* IR.2 Error Interrupt */ + uint32_t data_overrun: 1; /* IR.3 Data Overrun Interrupt */ + uint32_t reserved1: 1; /* Internal Reserved (Wake-up not supported) */ + uint32_t err_passive: 1; /* IR.5 Error Passive Interrupt */ + uint32_t arb_lost: 1; /* IR.6 Arbitration Lost Interrupt */ + uint32_t bus_err: 1; /* IR.7 Bus Error Interrupt */ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_intr_reg_t; + +typedef union { + struct { + uint32_t rx: 1; /* IER.0 Receive Interrupt Enable */ + uint32_t tx: 1; /* IER.1 Transmit Interrupt Enable */ + uint32_t err_warn: 1; /* IER.2 Error Interrupt Enable */ + uint32_t data_overrun: 1; /* IER.3 Data Overrun Interrupt Enable */ + uint32_t reserved1: 1; /* Internal Reserved (Wake-up not supported) */ + uint32_t err_passive: 1; /* IER.5 Error Passive Interrupt Enable */ + uint32_t arb_lost: 1; /* IER.6 Arbitration Lost Interrupt Enable */ + uint32_t bus_err: 1; /* IER.7 Bus Error Interrupt Enable */ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_intr_en_reg_t; + +typedef union { + struct { + uint32_t baud_rate_prescaler: 6; /* BTR0[5:0] Baud Rate Prescaler */ + uint32_t sync_jump_width: 2; /* BTR0[7:6] Synchronization Jump Width*/ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_bus_tim_0_reg_t; + +typedef union { + struct { + uint32_t time_seg_1: 4; /* BTR1[3:0] Timing Segment 1 */ + uint32_t time_seg_2: 3; /* BTR1[6:4] Timing Segment 2 */ + uint32_t sampling: 1; /* BTR1.7 Sampling*/ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_bus_tim_1_reg_t; + +typedef union { + struct { + uint32_t arbitration_lost_capture: 5; /* ALC[4:0] Arbitration lost capture */ + uint32_t reserved27: 27; /* Internal Reserved */ + }; + uint32_t val; +} can_arb_lost_cap_reg_t; + +typedef union { + struct { + uint32_t segment: 5; /* ECC[4:0] Error Code Segment 0 to 5 */ + uint32_t direction: 1; /* ECC.5 Error Direction (TX/RX) */ + uint32_t error_code: 2; /* ECC[7:6] Error Code */ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_err_code_cap_reg_t; + +typedef struct { + can_reg_t code_reg[4]; + can_reg_t mask_reg[4]; + uint32_t reserved32[5]; +} can_acc_filter_t; + +typedef union { + struct { + uint32_t rx_message_counter: 5; /* RMC[4:0] RX Message Counter */ + uint32_t reserved27: 27; /* Internal Reserved */ + }; + uint32_t val; +} can_rx_msg_cnt_reg_t; + +typedef union { + struct { + uint32_t clock_divider: 3; /* CDR[2:0] CLKOUT frequency selector based of fOSC */ + uint32_t clock_off: 1; /* CDR.3 CLKOUT enable/disable */ + uint32_t reserved3: 3; /* Internal Reserved. RXINTEN and CBP not supported */ + uint32_t can_mode: 1; /* CDR.7 BasicCAN:0 PeliCAN:1 */ + uint32_t reserved24: 24; /* Internal Reserved */ + }; + uint32_t val; +} can_clk_div_reg_t; + +/* ---------------------------- Register Layout ------------------------------ */ + +typedef volatile struct { + //Configuration and Control Registers + can_mode_reg_t mode_reg; /* Address 0 */ + can_cmd_reg_t command_reg; /* Address 1 */ + can_status_reg_t status_reg; /* Address 2 */ + can_intr_reg_t interrupt_reg; /* Address 3 */ + can_intr_en_reg_t interrupt_enable_reg; /* Address 4 */ + uint32_t reserved_05; /* Address 5 */ + can_bus_tim_0_reg_t bus_timing_0_reg; /* Address 6 */ + can_bus_tim_1_reg_t bus_timing_1_reg; /* Address 7 */ + uint32_t reserved_08; /* Address 8 (Output control not supported) */ + uint32_t reserved_09; /* Address 9 (Test Register not supported) */ + uint32_t reserved_10; /* Address 10 */ + + //Capture and Counter Registers + can_arb_lost_cap_reg_t arbitration_lost_captue_reg; /* Address 11 */ + can_err_code_cap_reg_t error_code_capture_reg; /* Address 12 */ + can_reg_t error_warning_limit_reg; /* EWLR[7:0] Error Warning Limit: Address 13 */ + can_reg_t rx_error_counter_reg; /* RXERR[7:0] Receive Error Counter: Address 14 */ + can_reg_t tx_error_counter_reg; /* TXERR[7:0] Transmit Error Counter: Address 15 */ + + //Shared Registers (TX Buff/RX Buff/Acc Filter) + union { + can_acc_filter_t acceptance_filter; + can_reg_t tx_rx_buffer[13]; + }; /* Address 16-28 TX/RX Buffer and Acc Filter*/; + + //Misc Registers + can_rx_msg_cnt_reg_t rx_message_counter_reg; /* Address 29 */ + can_reg_t reserved_30; /* Address 30 (RX Buffer Start Address not supported) */ + can_clk_div_reg_t clock_divider_reg; /* Address 31 */ + + //Start of RX FIFO +} can_dev_t; + +_Static_assert(sizeof(can_dev_t) == 128, "CAN registers should be 32 * 4 bytes"); + +extern can_dev_t CAN; + +#ifdef __cplusplus +} +#endif + +#endif /* _SOC_CAN_STRUCT_H_ */ + diff --git a/tools/sdk/include/soc/soc/rmt_struct.h b/tools/sdk/include/soc/soc/rmt_struct.h index 68e244ad..3fb254ad 100644 --- a/tools/sdk/include/soc/soc/rmt_struct.h +++ b/tools/sdk/include/soc/soc/rmt_struct.h @@ -19,7 +19,9 @@ extern "C" { #endif typedef volatile struct { - uint32_t data_ch[8]; /*The R/W ram address for channel0-7 by apb fifo access.*/ + uint32_t data_ch[8]; /*The R/W ram address for channel0-7 by apb fifo access. + Note that in some circumstances, data read from the FIFO may get lost. As RMT memory area accesses using the RMTMEM method do not have this issue + and provide all the functionality that the FIFO register has, it is encouraged to use that instead.*/ struct{ union { struct { @@ -39,7 +41,7 @@ typedef volatile struct { uint32_t rx_en: 1; /*Set this bit to enable receiving data for channel0-7.*/ uint32_t mem_wr_rst: 1; /*Set this bit to reset write ram address for channel0-7 by receiver access.*/ uint32_t mem_rd_rst: 1; /*Set this bit to reset read ram address for channel0-7 by transmitter access.*/ - uint32_t apb_mem_rst: 1; /*Set this bit to reset W/R ram address for channel0-7 by apb fifo access*/ + uint32_t apb_mem_rst: 1; /*Set this bit to reset W/R ram address for channel0-7 by apb fifo access (using fifo is discouraged, please see the note above at data_ch[] item)*/ uint32_t mem_owner: 1; /*This is the mark of channel0-7's ram usage right.1'b1:receiver uses the ram 0:transmitter uses the ram*/ uint32_t tx_conti_mode: 1; /*Set this bit to continue sending from the first data to the last data in channel0-7 again and again.*/ uint32_t rx_filter_en: 1; /*This is the receive filter enable bit for channel0-7.*/ @@ -54,7 +56,7 @@ typedef volatile struct { } conf1; } conf_ch[8]; uint32_t status_ch[8]; /*The status for channel0-7*/ - uint32_t apb_mem_addr_ch[8]; /*The ram relative address in channel0-7 by apb fifo access*/ + uint32_t apb_mem_addr_ch[8]; /*The ram relative address in channel0-7 by apb fifo access (using fifo is discouraged, please see the note above at data_ch[] item)*/ union { struct { uint32_t ch0_tx_end: 1; /*The interrupt raw bit for channel 0 turns to high level when the transmit process is done.*/ @@ -219,7 +221,7 @@ typedef volatile struct { } tx_lim_ch[8]; union { struct { - uint32_t fifo_mask: 1; /*Set this bit to disable apb fifo access*/ + uint32_t fifo_mask: 1; /*Set this bit to enable RMTMEM and disable apb fifo access (using fifo is discouraged, please see the note above at data_ch[] item)*/ uint32_t mem_tx_wrap_en: 1; /*when data need to be send is more than channel's mem can store then set this bit to enable reuse of mem this bit is used together with reg_rmt_tx_lim_chn.*/ uint32_t reserved2: 30; }; @@ -243,22 +245,11 @@ typedef struct { }; } rmt_item32_t; -typedef struct { - union { - struct { - uint16_t duration :15; - uint16_t level :1; - }; - uint16_t val; - }; -} rmt_item16_t; - //Allow access to RMT memory using RMTMEM.chan[0].data32[8] typedef volatile struct { struct { union { rmt_item32_t data32[64]; - rmt_item16_t data16[128]; }; } chan[8]; } rmt_mem_t; diff --git a/tools/sdk/include/soc/soc/rtc.h b/tools/sdk/include/soc/soc/rtc.h index 1ece26c9..a528bdd1 100644 --- a/tools/sdk/include/soc/soc/rtc.h +++ b/tools/sdk/include/soc/soc/rtc.h @@ -75,6 +75,26 @@ typedef enum { RTC_CPU_FREQ_2M = 4, //!< 2 MHz } rtc_cpu_freq_t; +/** + * @brief CPU clock source + */ +typedef enum { + RTC_CPU_FREQ_SRC_XTAL, //!< XTAL + RTC_CPU_FREQ_SRC_PLL, //!< PLL (480M or 320M) + RTC_CPU_FREQ_SRC_8M, //!< Internal 8M RTC oscillator + RTC_CPU_FREQ_SRC_APLL //!< APLL +} rtc_cpu_freq_src_t; + +/** + * @brief CPU clock configuration structure + */ +typedef struct { + rtc_cpu_freq_src_t source; //!< The clock from which CPU clock is derived + uint32_t source_freq_mhz; //!< Source clock frequency + uint32_t div; //!< Divider, freq_mhz = source_freq_mhz / div + uint32_t freq_mhz; //!< CPU clock frequency +} rtc_cpu_freq_config_t; + /** * @brief RTC SLOW_CLK frequency values */ @@ -108,13 +128,13 @@ typedef enum { * Initialization parameters for rtc_clk_init */ typedef struct { - rtc_xtal_freq_t xtal_freq : 8; //!< Main XTAL frequency - rtc_cpu_freq_t cpu_freq : 3; //!< CPU frequency to set - rtc_fast_freq_t fast_freq : 1; //!< RTC_FAST_CLK frequency to set - rtc_slow_freq_t slow_freq : 2; //!< RTC_SLOW_CLK frequency to set - uint32_t clk_8m_div : 3; //!< RTC 8M clock divider (division is by clk_8m_div+1, i.e. 0 means 8MHz frequency) - uint32_t slow_clk_dcap : 8; //!< RTC 150k clock adjustment parameter (higher value leads to lower frequency) - uint32_t clk_8m_dfreq : 8; //!< RTC 8m clock adjustment parameter (higher value leads to higher frequency) + rtc_xtal_freq_t xtal_freq : 8; //!< Main XTAL frequency + rtc_cpu_freq_t cpu_freq_mhz : 10; //!< CPU frequency to set, in MHz + rtc_fast_freq_t fast_freq : 1; //!< RTC_FAST_CLK frequency to set + rtc_slow_freq_t slow_freq : 2; //!< RTC_SLOW_CLK frequency to set + uint32_t clk_8m_div : 3; //!< RTC 8M clock divider (division is by clk_8m_div+1, i.e. 0 means 8MHz frequency) + uint32_t slow_clk_dcap : 8; //!< RTC 150k clock adjustment parameter (higher value leads to lower frequency) + uint32_t clk_8m_dfreq : 8; //!< RTC 8m clock adjustment parameter (higher value leads to higher frequency) } rtc_clk_config_t; /** @@ -122,7 +142,7 @@ typedef struct { */ #define RTC_CLK_CONFIG_DEFAULT() { \ .xtal_freq = RTC_XTAL_FREQ_AUTO, \ - .cpu_freq = RTC_CPU_FREQ_80M, \ + .cpu_freq_mhz = 80, \ .fast_freq = RTC_FAST_FREQ_8M, \ .slow_freq = RTC_SLOW_FREQ_RTC, \ .clk_8m_div = 0, \ @@ -173,6 +193,11 @@ void rtc_clk_xtal_freq_update(rtc_xtal_freq_t xtal_freq); */ void rtc_clk_32k_enable(bool en); +/** + * @brief Configure 32 kHz XTAL oscillator to accept external clock signal + */ +void rtc_clk_32k_enable_external(); + /** * @brief Get the state of 32k XTAL oscillator * @return true if 32k XTAL oscillator has been enabled @@ -281,6 +306,9 @@ rtc_fast_freq_t rtc_clk_fast_freq_get(); /** * @brief Switch CPU frequency * + * @note This function is deprecated and will be removed. + * See rtc_clk_cpu_freq_config_set instead. + * * If a PLL-derived frequency is requested (80, 160, 240 MHz), this function * will enable the PLL. Otherwise, PLL will be disabled. * Note: this function is not optimized for switching speed. It may take several @@ -288,11 +316,14 @@ rtc_fast_freq_t rtc_clk_fast_freq_get(); * * @param cpu_freq new CPU frequency */ -void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq); +void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq) __attribute__((deprecated)); /** * @brief Switch CPU frequency * + * @note This function is deprecated and will be removed. + * See rtc_clk_cpu_freq_set_config_fast instead. + * * This is a faster version of rtc_clk_cpu_freq_set, which can handle some of * the frequency switch paths (XTAL -> PLL, PLL -> XTAL). * When switching from PLL to XTAL, PLL is not disabled (unlike rtc_clk_cpu_freq_set). @@ -307,11 +338,14 @@ void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq); * * @param cpu_freq new CPU frequency */ -void rtc_clk_cpu_freq_set_fast(rtc_cpu_freq_t cpu_freq); +void rtc_clk_cpu_freq_set_fast(rtc_cpu_freq_t cpu_freq) __attribute__((deprecated)); /** * @brief Get the currently selected CPU frequency * + * @note This function is deprecated and will be removed. + * See rtc_clk_cpu_freq_get_config instead. + * * Although CPU can be clocked by APLL and RTC 8M sources, such support is not * exposed through this library. As such, this function will not return * meaningful values when these clock sources are configured (e.g. using direct @@ -320,22 +354,97 @@ void rtc_clk_cpu_freq_set_fast(rtc_cpu_freq_t cpu_freq); * * @return CPU frequency (one of rtc_cpu_freq_t values) */ -rtc_cpu_freq_t rtc_clk_cpu_freq_get(); +rtc_cpu_freq_t rtc_clk_cpu_freq_get() __attribute__((deprecated)); /** * @brief Get corresponding frequency value for rtc_cpu_freq_t enum value + * + * @note This function is deprecated and will be removed. + * See rtc_clk_cpu_freq_get/set_config instead. + * * @param cpu_freq CPU frequency, on of rtc_cpu_freq_t values * @return CPU frequency, in HZ */ -uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq); +uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq) __attribute__((deprecated)); /** * @brief Get rtc_cpu_freq_t enum value for given CPU frequency + * + * @note This function is deprecated and will be removed. + * See rtc_clk_cpu_freq_mhz_to_config instead. + * * @param cpu_freq_mhz CPU frequency, one of 80, 160, 240, 2, and XTAL frequency * @param[out] out_val output, rtc_cpu_freq_t value corresponding to the frequency * @return true if the given frequency value matches one of enum values */ - bool rtc_clk_cpu_freq_from_mhz(int cpu_freq_mhz, rtc_cpu_freq_t* out_val); + bool rtc_clk_cpu_freq_from_mhz(int cpu_freq_mhz, rtc_cpu_freq_t* out_val) __attribute__((deprecated)); + +/** + * @brief Get CPU frequency config corresponding to a rtc_cpu_freq_t value + * @param cpu_freq CPU frequency enumeration value + * @param[out] out_config Output, CPU frequency configuration structure + */ + void rtc_clk_cpu_freq_to_config(rtc_cpu_freq_t cpu_freq, rtc_cpu_freq_config_t* out_config); + + /** + * @brief Get CPU frequency config for a given frequency + * @param freq_mhz Frequency in MHz + * @param[out] out_config Output, CPU frequency configuration structure + * @return true if frequency can be obtained, false otherwise + */ + bool rtc_clk_cpu_freq_mhz_to_config(uint32_t freq_mhz, rtc_cpu_freq_config_t* out_config); + + /** + * @brief Switch CPU frequency + * + * This function sets CPU frequency according to the given configuration + * structure. It enables PLLs, if necessary. + * + * @note This function in not intended to be called by applications in FreeRTOS + * environment. This is because it does not adjust various timers based on the + * new CPU frequency. + * + * @param config CPU frequency configuration structure + */ + void rtc_clk_cpu_freq_set_config(const rtc_cpu_freq_config_t* config); + + /** + * @brief Switch CPU frequency (optimized for speed) + * + * This function is a faster equivalent of rtc_clk_cpu_freq_set_config. + * It works faster because it does not disable PLLs when switching from PLL to + * XTAL and does not enabled them when switching back. If PLL is not already + * enabled when this function is called to switch from XTAL to PLL frequency, + * or the PLL which is enabled is the wrong one, this function will fall back + * to calling rtc_clk_cpu_freq_set_config. + * + * Unlike rtc_clk_cpu_freq_set_config, this function relies on static data, + * so it is less safe to use it e.g. from a panic handler (when memory might + * be corrupted). + * + * @note This function in not intended to be called by applications in FreeRTOS + * environment. This is because it does not adjust various timers based on the + * new CPU frequency. + * + * @param config CPU frequency configuration structure + */ + void rtc_clk_cpu_freq_set_config_fast(const rtc_cpu_freq_config_t* config); + + /** + * @brief Get the currently used CPU frequency configuration + * @param[out] out_config Output, CPU frequency configuration structure + */ + void rtc_clk_cpu_freq_get_config(rtc_cpu_freq_config_t* out_config); + + /** + * @brief Switch CPU clock source to XTAL + * + * Short form for filling in rtc_cpu_freq_config_t structure and calling + * rtc_clk_cpu_freq_set_config when a switch to XTAL is needed. + * Assumes that XTAL frequency has been determined — don't call in startup code. + */ + void rtc_clk_cpu_freq_set_xtal(); + /** * @brief Store new APB frequency value into RTC_APB_FREQ_REG diff --git a/tools/sdk/include/soc/soc/rtc_wdt.h b/tools/sdk/include/soc/soc/rtc_wdt.h new file mode 100644 index 00000000..ec7175a0 --- /dev/null +++ b/tools/sdk/include/soc/soc/rtc_wdt.h @@ -0,0 +1,193 @@ +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* Recommendation of using API RTC_WDT. +1) Setting and enabling rtc_wdt: +@code + rtc_wdt_protect_off(); + rtc_wdt_disable(); + rtc_wdt_set_length_of_reset_signal(RTC_WDT_SYS_RESET_SIG, RTC_WDT_LENGTH_3_2us); + rtc_wdt_set_stage(RTC_WDT_STAGE0, RTC_WDT_STAGE_ACTION_RESET_SYSTEM); //RTC_WDT_STAGE_ACTION_RESET_SYSTEM or RTC_WDT_STAGE_ACTION_RESET_RTC + rtc_wdt_set_time(RTC_WDT_STAGE0, 7000); // timeout rtd_wdt 7000ms. + rtc_wdt_enable(); + rtc_wdt_protect_on(); + @endcode + +* If you use this option RTC_WDT_STAGE_ACTION_RESET_SYSTEM then after reset you can see these messages. +They can help to understand where the CPUs were when the WDT was triggered. + W (30) boot: PRO CPU has been reset by WDT. + W (30) boot: WDT reset info: PRO CPU PC=0x400xxxxx + ... function where it happened + + W (31) boot: WDT reset info: APP CPU PC=0x400xxxxx + ... function where it happened + +* If you use this option RTC_WDT_STAGE_ACTION_RESET_RTC then you will see message (rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)) +without description where were CPUs when it happened. + +2) Reset counter of rtc_wdt: +@code + rtc_wdt_feed(); +@endcode + +3) Disable rtc_wdt: +@code + rtc_wdt_disable(); +@endcode + */ + +#ifndef _SOC_RTC_WDT_H +#define _SOC_RTC_WDT_H + +#include +#include +#include "soc/rtc_cntl_reg.h" +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// List of stage of rtc watchdog. WDT has 4 stage. +typedef enum { + RTC_WDT_STAGE0 = 0, /*!< Stage 0 */ + RTC_WDT_STAGE1 = 1, /*!< Stage 1 */ + RTC_WDT_STAGE2 = 2, /*!< Stage 2 */ + RTC_WDT_STAGE3 = 3 /*!< Stage 3 */ +} rtc_wdt_stage_t; + +/// List of action. When the time of stage expires this action will be triggered. +typedef enum { + RTC_WDT_STAGE_ACTION_OFF = RTC_WDT_STG_SEL_OFF, /*!< Disabled. This stage will have no effects on the system. */ + RTC_WDT_STAGE_ACTION_INTERRUPT = RTC_WDT_STG_SEL_INT, /*!< Trigger an interrupt. When the stage expires an interrupt is triggered. */ + RTC_WDT_STAGE_ACTION_RESET_CPU = RTC_WDT_STG_SEL_RESET_CPU, /*!< Reset a CPU core. */ + RTC_WDT_STAGE_ACTION_RESET_SYSTEM = RTC_WDT_STG_SEL_RESET_SYSTEM, /*!< Reset the main system includes the CPU and all peripherals. The RTC is an exception to this, and it will not be reset. */ + RTC_WDT_STAGE_ACTION_RESET_RTC = RTC_WDT_STG_SEL_RESET_RTC /*!< Reset the main system and the RTC. */ +} rtc_wdt_stage_action_t; + +/// Type of reset signal +typedef enum { + RTC_WDT_SYS_RESET_SIG = 0, /*!< System reset signal length selection */ + RTC_WDT_CPU_RESET_SIG = 1 /*!< CPU reset signal length selection */ +} rtc_wdt_reset_sig_t; + +/// Length of reset signal +typedef enum { + RTC_WDT_LENGTH_100ns = 0, /*!< 100 ns */ + RTC_WDT_LENGTH_200ns = 1, /*!< 200 ns */ + RTC_WDT_LENGTH_300ns = 2, /*!< 300 ns */ + RTC_WDT_LENGTH_400ns = 3, /*!< 400 ns */ + RTC_WDT_LENGTH_500ns = 4, /*!< 500 ns */ + RTC_WDT_LENGTH_800ns = 5, /*!< 800 ns */ + RTC_WDT_LENGTH_1_6us = 6, /*!< 1.6 us */ + RTC_WDT_LENGTH_3_2us = 7 /*!< 3.2 us */ +} rtc_wdt_length_sig_t; + +/** + * @brief Get status of protect of rtc_wdt. + * + * @return + * - True if the protect of RTC_WDT is set + */ +bool rtc_wdt_get_protect_status(); + +/** + * @brief Set protect of rtc_wdt. + */ +void rtc_wdt_protect_on(); + +/** + * @brief Reset protect of rtc_wdt. + */ +void rtc_wdt_protect_off(); + +/** + * @brief Enable rtc_wdt. + */ +void rtc_wdt_enable(); + +/** + * @brief Disable rtc_wdt. + */ +void rtc_wdt_disable(); + +/** + * @brief Reset counter rtc_wdt. + * + * It returns to stage 0 and its expiry counter restarts from 0. + */ +void rtc_wdt_feed(); + +/** + * @brief Set time for required stage. + * + * @param[in] stage Stage of rtc_wdt. + * @param[in] timeout_ms Timeout for this stage. + * + * @return + * - ESP_OK In case of success + * - ESP_ERR_INVALID_ARG If stage has invalid value + */ +esp_err_t rtc_wdt_set_time(rtc_wdt_stage_t stage, unsigned int timeout_ms); + +/** + * @brief Get the timeout set for the required stage. + * + * @param[in] stage Stage of rtc_wdt. + * @param[out] timeout_ms Timeout set for this stage. (not elapsed time). + * + * @return + * - ESP_OK In case of success + * - ESP_ERR_INVALID_ARG If stage has invalid value + */ +esp_err_t rtc_wdt_get_timeout(rtc_wdt_stage_t stage, unsigned int* timeout_ms); + +/** + * @brief Set an action for required stage. + * + * @param[in] stage Stage of rtc_wdt. + * @param[in] stage_sel Action for this stage. When the time of stage expires this action will be triggered. + * + * @return + * - ESP_OK In case of success + * - ESP_ERR_INVALID_ARG If stage or stage_sel have invalid value + */ +esp_err_t rtc_wdt_set_stage(rtc_wdt_stage_t stage, rtc_wdt_stage_action_t stage_sel); + +/** + * @brief Set a length of reset signal. + * + * @param[in] reset_src Type of reset signal. + * @param[in] reset_signal_length A length of reset signal. + * + * @return + * - ESP_OK In case of success + * - ESP_ERR_INVALID_ARG If reset_src or reset_signal_length have invalid value + */ +esp_err_t rtc_wdt_set_length_of_reset_signal(rtc_wdt_reset_sig_t reset_src, rtc_wdt_length_sig_t reset_signal_length); + +/** + * @brief Return true if rtc_wdt is enabled. + * + * @return + * - True rtc_wdt is enabled + */ +bool rtc_wdt_is_on(); + +#ifdef __cplusplus +} +#endif + +#endif // _SOC_RTC_WDT_H diff --git a/tools/sdk/include/soc/soc/sdio_slave_periph.h b/tools/sdk/include/soc/soc/sdio_slave_periph.h index cc1c8cbc..467104dc 100644 --- a/tools/sdk/include/soc/soc/sdio_slave_periph.h +++ b/tools/sdk/include/soc/soc/sdio_slave_periph.h @@ -1,49 +1,49 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SOC_SDIO_SLAVE_PERIPH_H_ -#define _SOC_SDIO_SLAVE_PERIPH_H_ - -#include -//include soc related (generated) definitions -#include "soc/sdio_slave_pins.h" -#include "soc/slc_reg.h" -#include "soc/slc_struct.h" -#include "soc/host_reg.h" -#include "soc/host_struct.h" -#include "soc/hinf_reg.h" -#include "soc/hinf_struct.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** pin and signal information of each slot */ -typedef struct { - uint32_t clk_gpio; - uint32_t cmd_gpio; - uint32_t d0_gpio; - uint32_t d1_gpio; - uint32_t d2_gpio; - uint32_t d3_gpio; - int func; -} sdio_slave_slot_info_t; - -extern const sdio_slave_slot_info_t sdio_slave_slot_info[]; - -#ifdef __cplusplus -} -#endif - +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SOC_SDIO_SLAVE_PERIPH_H_ +#define _SOC_SDIO_SLAVE_PERIPH_H_ + +#include +//include soc related (generated) definitions +#include "soc/sdio_slave_pins.h" +#include "soc/slc_reg.h" +#include "soc/slc_struct.h" +#include "soc/host_reg.h" +#include "soc/host_struct.h" +#include "soc/hinf_reg.h" +#include "soc/hinf_struct.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** pin and signal information of each slot */ +typedef struct { + uint32_t clk_gpio; + uint32_t cmd_gpio; + uint32_t d0_gpio; + uint32_t d1_gpio; + uint32_t d2_gpio; + uint32_t d3_gpio; + int func; +} sdio_slave_slot_info_t; + +extern const sdio_slave_slot_info_t sdio_slave_slot_info[]; + +#ifdef __cplusplus +} +#endif + #endif /* _SOC_SDIO_SLAVE_PERIPH_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/soc/soc/sdio_slave_pins.h b/tools/sdk/include/soc/soc/sdio_slave_pins.h index 968f194a..97c8bec0 100644 --- a/tools/sdk/include/soc/soc/sdio_slave_pins.h +++ b/tools/sdk/include/soc/soc/sdio_slave_pins.h @@ -1,34 +1,34 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SOC_SDIO_SLAVE_PINS_H_ -#define _SOC_SDIO_SLAVE_PINS_H_ - -#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_CLK 6 -#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_CMD 11 -#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D0 7 -#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D1 8 -#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D2 9 -#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D3 10 -#define SDIO_SLAVE_SLOT0_FUNC 0 - -#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_CLK 14 -#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_CMD 15 -#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D0 2 -#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D1 4 -#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D2 12 -#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D3 13 -#define SDIO_SLAVE_SLOT1_FUNC 4 - +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SOC_SDIO_SLAVE_PINS_H_ +#define _SOC_SDIO_SLAVE_PINS_H_ + +#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_CLK 6 +#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_CMD 11 +#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D0 7 +#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D1 8 +#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D2 9 +#define SDIO_SLAVE_SLOT0_IOMUX_PIN_NUM_D3 10 +#define SDIO_SLAVE_SLOT0_FUNC 0 + +#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_CLK 14 +#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_CMD 15 +#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D0 2 +#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D1 4 +#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D2 12 +#define SDIO_SLAVE_SLOT1_IOMUX_PIN_NUM_D3 13 +#define SDIO_SLAVE_SLOT1_FUNC 4 + #endif /* _SOC_SDIO_SLAVE_PINS_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/soc/soc/sdmmc_periph.h b/tools/sdk/include/soc/soc/sdmmc_periph.h index 183a6581..79dfaf34 100644 --- a/tools/sdk/include/soc/soc/sdmmc_periph.h +++ b/tools/sdk/include/soc/soc/sdmmc_periph.h @@ -1,53 +1,53 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SOC_SDMMC_PERIPH_H_ -#define _SOC_SDMMC_PERIPH_H_ - -#include -//include soc related (generated) definitions -#include "soc/sdmmc_pins.h" -#include "soc/sdmmc_reg.h" -#include "soc/sdmmc_struct.h" -#include "soc/gpio_sig_map.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - uint8_t clk_gpio; - uint8_t cmd_gpio; - uint8_t d0_gpio; - uint8_t d1_gpio; - uint8_t d2_gpio; - uint8_t d3_gpio; - uint8_t d4_gpio; - uint8_t d5_gpio; - uint8_t d6_gpio; - uint8_t d7_gpio; - uint8_t card_detect; - uint8_t write_protect; - uint8_t card_int; - uint8_t width; -} sdmmc_slot_info_t; - -/** pin and signal information of each slot */ -extern const sdmmc_slot_info_t sdmmc_slot_info[]; - -#ifdef __cplusplus -} -#endif - +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SOC_SDMMC_PERIPH_H_ +#define _SOC_SDMMC_PERIPH_H_ + +#include +//include soc related (generated) definitions +#include "soc/sdmmc_pins.h" +#include "soc/sdmmc_reg.h" +#include "soc/sdmmc_struct.h" +#include "soc/gpio_sig_map.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + uint8_t clk_gpio; + uint8_t cmd_gpio; + uint8_t d0_gpio; + uint8_t d1_gpio; + uint8_t d2_gpio; + uint8_t d3_gpio; + uint8_t d4_gpio; + uint8_t d5_gpio; + uint8_t d6_gpio; + uint8_t d7_gpio; + uint8_t card_detect; + uint8_t write_protect; + uint8_t card_int; + uint8_t width; +} sdmmc_slot_info_t; + +/** pin and signal information of each slot */ +extern const sdmmc_slot_info_t sdmmc_slot_info[]; + +#ifdef __cplusplus +} +#endif + #endif /* _SOC_SDMMC_PERIPH_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/soc/soc/sdmmc_pins.h b/tools/sdk/include/soc/soc/sdmmc_pins.h index 9a37ad0c..c0b32823 100644 --- a/tools/sdk/include/soc/soc/sdmmc_pins.h +++ b/tools/sdk/include/soc/soc/sdmmc_pins.h @@ -1,38 +1,38 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SOC_SDMMC_PINS_H_ -#define _SOC_SDMMC_PINS_H_ - -#define SDMMC_SLOT0_IOMUX_PIN_NUM_CLK 6 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_CMD 11 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D0 7 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D1 8 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D2 9 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D3 10 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D4 16 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D5 17 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D6 5 -#define SDMMC_SLOT0_IOMUX_PIN_NUM_D7 18 -#define SDMMC_SLOT0_FUNC 0 - -#define SDMMC_SLOT1_IOMUX_PIN_NUM_CLK 14 -#define SDMMC_SLOT1_IOMUX_PIN_NUM_CMD 15 -#define SDMMC_SLOT1_IOMUX_PIN_NUM_D0 2 -#define SDMMC_SLOT1_IOMUX_PIN_NUM_D1 4 -#define SDMMC_SLOT1_IOMUX_PIN_NUM_D2 12 -#define SDMMC_SLOT1_IOMUX_PIN_NUM_D3 13 -#define SDMMC_SLOT1_FUNC 4 - +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SOC_SDMMC_PINS_H_ +#define _SOC_SDMMC_PINS_H_ + +#define SDMMC_SLOT0_IOMUX_PIN_NUM_CLK 6 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_CMD 11 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D0 7 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D1 8 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D2 9 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D3 10 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D4 16 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D5 17 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D6 5 +#define SDMMC_SLOT0_IOMUX_PIN_NUM_D7 18 +#define SDMMC_SLOT0_FUNC 0 + +#define SDMMC_SLOT1_IOMUX_PIN_NUM_CLK 14 +#define SDMMC_SLOT1_IOMUX_PIN_NUM_CMD 15 +#define SDMMC_SLOT1_IOMUX_PIN_NUM_D0 2 +#define SDMMC_SLOT1_IOMUX_PIN_NUM_D1 4 +#define SDMMC_SLOT1_IOMUX_PIN_NUM_D2 12 +#define SDMMC_SLOT1_IOMUX_PIN_NUM_D3 13 +#define SDMMC_SLOT1_FUNC 4 + #endif /* _SOC_SDMMC_PINS_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/soc/soc/sdmmc_reg.h b/tools/sdk/include/soc/soc/sdmmc_reg.h index 2f9c68f8..0e92f682 100644 --- a/tools/sdk/include/soc/soc/sdmmc_reg.h +++ b/tools/sdk/include/soc/soc/sdmmc_reg.h @@ -71,6 +71,7 @@ #define SDMMC_INTMASK_EBE BIT(15) #define SDMMC_INTMASK_ACD BIT(14) #define SDMMC_INTMASK_SBE BIT(13) +#define SDMMC_INTMASK_BCI BIT(13) #define SDMMC_INTMASK_HLE BIT(12) #define SDMMC_INTMASK_FRUN BIT(11) #define SDMMC_INTMASK_HTO BIT(10) diff --git a/tools/sdk/include/soc/soc/sdmmc_struct.h b/tools/sdk/include/soc/soc/sdmmc_struct.h index 7e3c6912..6aa64b43 100644 --- a/tools/sdk/include/soc/soc/sdmmc_struct.h +++ b/tools/sdk/include/soc/soc/sdmmc_struct.h @@ -283,7 +283,12 @@ typedef volatile struct { uint32_t usrid; ///< user ID uint32_t verid; ///< IP block version uint32_t hcon; ///< compile-time IP configuration - uint32_t uhs; ///< TBD + union { + struct { + uint32_t voltage: 16; ///< voltage control for slots; no-op on ESP32. + uint32_t ddr: 16; ///< bit N enables DDR mode for card N + }; + } uhs; ///< UHS related settings union { struct { @@ -348,7 +353,16 @@ typedef volatile struct { uint32_t bufaddrl; ///< unused uint32_t bufaddru; ///< unused uint32_t reserved_a8[22]; - uint32_t cardthrctl; + union { + struct { + uint32_t read_thr_en : 1; ///< initiate transfer only if FIFO has more space than the read threshold + uint32_t busy_clr_int_en : 1; ///< enable generation of busy clear interrupts + uint32_t write_thr_en : 1; ///< equivalent of read_thr_en for writes + uint32_t reserved1 : 13; + uint32_t card_threshold : 12; ///< threshold value for reads/writes, in bytes + }; + uint32_t val; + } cardthrctl; uint32_t back_end_power; uint32_t uhs_reg_ext; uint32_t emmc_ddr_reg; diff --git a/tools/sdk/include/soc/soc/soc.h b/tools/sdk/include/soc/soc/soc.h index 660abbdb..59d171f3 100644 --- a/tools/sdk/include/soc/soc/soc.h +++ b/tools/sdk/include/soc/soc/soc.h @@ -120,6 +120,7 @@ #define DR_REG_I2C1_EXT_BASE 0x3ff67000 #define DR_REG_SDMMC_BASE 0x3ff68000 #define DR_REG_EMAC_BASE 0x3ff69000 +#define DR_REG_CAN_BASE 0x3ff6B000 #define DR_REG_PWM1_BASE 0x3ff6C000 #define DR_REG_I2S1_BASE 0x3ff6D000 #define DR_REG_UART2_BASE 0x3ff6E000 @@ -133,6 +134,7 @@ #ifndef __ASSEMBLER__ #define BIT(nr) (1UL << (nr)) +#define BIT64(nr) (1ULL << (nr)) #else #define BIT(nr) (1 << (nr)) #endif diff --git a/tools/sdk/include/soc/soc/soc_memory_layout.h b/tools/sdk/include/soc/soc/soc_memory_layout.h index 6273b1db..b1e8d6eb 100644 --- a/tools/sdk/include/soc/soc/soc_memory_layout.h +++ b/tools/sdk/include/soc/soc/soc_memory_layout.h @@ -20,6 +20,38 @@ #include "sdkconfig.h" #include "esp_attr.h" +#ifdef CONFIG_BT_ENABLED + +#define SOC_MEM_BT_DATA_START 0x3ffae6e0 +#define SOC_MEM_BT_DATA_END 0x3ffaff10 +#define SOC_MEM_BT_EM_START 0x3ffb0000 +#define SOC_MEM_BT_EM_END 0x3ffb7cd8 +#define SOC_MEM_BT_EM_BTDM0_START 0x3ffb0000 +#define SOC_MEM_BT_EM_BTDM0_END 0x3ffb09a8 +#define SOC_MEM_BT_EM_BLE_START 0x3ffb09a8 +#define SOC_MEM_BT_EM_BLE_END 0x3ffb1ddc +#define SOC_MEM_BT_EM_BTDM1_START 0x3ffb1ddc +#define SOC_MEM_BT_EM_BTDM1_END 0x3ffb2730 +#define SOC_MEM_BT_EM_BREDR_START 0x3ffb2730 +#define SOC_MEM_BT_EM_BREDR_NO_SYNC_END 0x3ffb6388 //Not calculate with synchronize connection support +#define SOC_MEM_BT_EM_BREDR_END 0x3ffb7cd8 //Calculate with synchronize connection support +#define SOC_MEM_BT_EM_SYNC0_START 0x3ffb6388 +#define SOC_MEM_BT_EM_SYNC0_END 0x3ffb6bf8 +#define SOC_MEM_BT_EM_SYNC1_START 0x3ffb6bf8 +#define SOC_MEM_BT_EM_SYNC1_END 0x3ffb7468 +#define SOC_MEM_BT_EM_SYNC2_START 0x3ffb7468 +#define SOC_MEM_BT_EM_SYNC2_END 0x3ffb7cd8 +#define SOC_MEM_BT_BSS_START 0x3ffb8000 +#define SOC_MEM_BT_BSS_END 0x3ffb9a20 +#define SOC_MEM_BT_MISC_START 0x3ffbdb28 +#define SOC_MEM_BT_MISC_END 0x3ffbdb5c + +#define SOC_MEM_BT_EM_PER_SYNC_SIZE 0x870 + +#define SOC_MEM_BT_EM_BREDR_REAL_END (SOC_MEM_BT_EM_BREDR_NO_SYNC_END + CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF * SOC_MEM_BT_EM_PER_SYNC_SIZE) + +#endif //CONFIG_BT_ENABLED + #define SOC_MEMORY_TYPE_NO_PRIOS 3 /* Type descriptor holds a description for a particular type of memory on a particular SoC. @@ -57,8 +89,55 @@ typedef struct intptr_t end; } soc_reserved_region_t; -extern const soc_reserved_region_t soc_reserved_regions[]; -extern const size_t soc_reserved_region_count; +/* Use this macro to reserved a fixed region of RAM (hardcoded addresses) + * for a particular purpose. + * + * Usually used to mark out memory addresses needed for hardware or ROM code + * purposes. + * + * Don't call this macro from user code which can use normal C static allocation + * instead. + * + * @param START Start address to be reserved. + * @param END One after the address of the last byte to be reserved. (ie length of + * the reserved region is (END - START) in bytes. + * @param NAME Name for the reserved region. Must be a valid variable name, + * unique to this source file. + */ +#define SOC_RESERVE_MEMORY_REGION(START, END, NAME) \ + __attribute__((section(".reserved_memory_address"))) __attribute__((used)) \ + static soc_reserved_region_t reserved_region_##NAME = { START, END }; + +/* Return available memory regions for this SoC. Each available memory + * region is a contiguous piece of memory which is not being used by + * static data, used by ROM code, or reserved by a component using + * the SOC_RESERVE_MEMORY_REGION() macro. + * + * This result is soc_memory_regions[] minus all regions reserved + * via the SOC_RESERVE_MEMORY_REGION() macro (which may also split + * some regions up.) + * + * At startup, all available memory returned by this function is + * registered as heap space. + * + * @note OS-level startup function only, not recommended to call from + * app code. + * + * @param regions Pointer to an array for reading available regions into. + * Size of the array should be at least the result of + * soc_get_available_memory_region_max_count(). Entries in the array + * will be ordered by memory address. + * + * @return Number of entries copied to 'regions'. Will be no greater than + * the result of soc_get_available_memory_region_max_count(). + */ +size_t soc_get_available_memory_regions(soc_memory_region_t *regions); + +/* Return the maximum number of available memory regions which could be + * returned by soc_get_available_memory_regions(). Used to size the + * array passed to that function. + */ +size_t soc_get_available_memory_region_max_count(); inline static bool IRAM_ATTR esp_ptr_dma_capable(const void *p) { diff --git a/tools/sdk/include/soc/soc/spi_periph.h b/tools/sdk/include/soc/soc/spi_periph.h index 00c5f3e1..19b3f745 100644 --- a/tools/sdk/include/soc/soc/spi_periph.h +++ b/tools/sdk/include/soc/soc/spi_periph.h @@ -1,66 +1,66 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SOC_SPI_PERIPH_H_ -#define _SOC_SPI_PERIPH_H_ - -#include -#include "soc/soc.h" -#include "soc/periph_defs.h" -//include soc related (generated) definitions -#include "soc/spi_pins.h" -#include "soc/spi_reg.h" -#include "soc/spi_struct.h" -#include "soc/gpio_sig_map.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* - Stores a bunch of per-spi-peripheral data. -*/ -typedef struct { - const uint8_t spiclk_out; //GPIO mux output signals - const uint8_t spiclk_in; - const uint8_t spid_out; - const uint8_t spiq_out; - const uint8_t spiwp_out; - const uint8_t spihd_out; - const uint8_t spid_in; //GPIO mux input signals - const uint8_t spiq_in; - const uint8_t spiwp_in; - const uint8_t spihd_in; - const uint8_t spics_out[3]; // /CS GPIO output mux signals - const uint8_t spics_in; - const uint8_t spiclk_iomux_pin; //IO pins of IO_MUX muxed signals - const uint8_t spid_iomux_pin; - const uint8_t spiq_iomux_pin; - const uint8_t spiwp_iomux_pin; - const uint8_t spihd_iomux_pin; - const uint8_t spics0_iomux_pin; - const uint8_t irq; //irq source for interrupt mux - const uint8_t irq_dma; //dma irq source for interrupt mux - const periph_module_t module; //peripheral module, for enabling clock etc - spi_dev_t *hw; //Pointer to the hardware registers -} spi_signal_conn_t; - -extern const spi_signal_conn_t spi_periph_signal[3]; - -#ifdef __cplusplus -} -#endif - +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SOC_SPI_PERIPH_H_ +#define _SOC_SPI_PERIPH_H_ + +#include +#include "soc/soc.h" +#include "soc/periph_defs.h" +//include soc related (generated) definitions +#include "soc/spi_pins.h" +#include "soc/spi_reg.h" +#include "soc/spi_struct.h" +#include "soc/gpio_sig_map.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/* + Stores a bunch of per-spi-peripheral data. +*/ +typedef struct { + const uint8_t spiclk_out; //GPIO mux output signals + const uint8_t spiclk_in; + const uint8_t spid_out; + const uint8_t spiq_out; + const uint8_t spiwp_out; + const uint8_t spihd_out; + const uint8_t spid_in; //GPIO mux input signals + const uint8_t spiq_in; + const uint8_t spiwp_in; + const uint8_t spihd_in; + const uint8_t spics_out[3]; // /CS GPIO output mux signals + const uint8_t spics_in; + const uint8_t spiclk_iomux_pin; //IO pins of IO_MUX muxed signals + const uint8_t spid_iomux_pin; + const uint8_t spiq_iomux_pin; + const uint8_t spiwp_iomux_pin; + const uint8_t spihd_iomux_pin; + const uint8_t spics0_iomux_pin; + const uint8_t irq; //irq source for interrupt mux + const uint8_t irq_dma; //dma irq source for interrupt mux + const periph_module_t module; //peripheral module, for enabling clock etc + spi_dev_t *hw; //Pointer to the hardware registers +} spi_signal_conn_t; + +extern const spi_signal_conn_t spi_periph_signal[3]; + +#ifdef __cplusplus +} +#endif + #endif /* _SOC_SPI_PERIPH_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/soc/soc/spi_pins.h b/tools/sdk/include/soc/soc/spi_pins.h index 49be9b7c..eb7af858 100644 --- a/tools/sdk/include/soc/soc/spi_pins.h +++ b/tools/sdk/include/soc/soc/spi_pins.h @@ -1,39 +1,39 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _SOC_SPI_PINS_H_ -#define _SOC_SPI_PINS_H_ - -#define SPI_IOMUX_PIN_NUM_MISO 7 -#define SPI_IOMUX_PIN_NUM_MOSI 8 -#define SPI_IOMUX_PIN_NUM_CLK 6 -#define SPI_IOMUX_PIN_NUM_CS 11 -#define SPI_IOMUX_PIN_NUM_WP 10 -#define SPI_IOMUX_PIN_NUM_HD 9 - -#define HSPI_IOMUX_PIN_NUM_MISO 12 -#define HSPI_IOMUX_PIN_NUM_MOSI 13 -#define HSPI_IOMUX_PIN_NUM_CLK 14 -#define HSPI_IOMUX_PIN_NUM_CS 15 -#define HSPI_IOMUX_PIN_NUM_WP 2 -#define HSPI_IOMUX_PIN_NUM_HD 4 - -#define VSPI_IOMUX_PIN_NUM_MISO 19 -#define VSPI_IOMUX_PIN_NUM_MOSI 23 -#define VSPI_IOMUX_PIN_NUM_CLK 18 -#define VSPI_IOMUX_PIN_NUM_CS 5 -#define VSPI_IOMUX_PIN_NUM_WP 22 -#define VSPI_IOMUX_PIN_NUM_HD 21 - +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SOC_SPI_PINS_H_ +#define _SOC_SPI_PINS_H_ + +#define SPI_IOMUX_PIN_NUM_MISO 7 +#define SPI_IOMUX_PIN_NUM_MOSI 8 +#define SPI_IOMUX_PIN_NUM_CLK 6 +#define SPI_IOMUX_PIN_NUM_CS 11 +#define SPI_IOMUX_PIN_NUM_WP 10 +#define SPI_IOMUX_PIN_NUM_HD 9 + +#define HSPI_IOMUX_PIN_NUM_MISO 12 +#define HSPI_IOMUX_PIN_NUM_MOSI 13 +#define HSPI_IOMUX_PIN_NUM_CLK 14 +#define HSPI_IOMUX_PIN_NUM_CS 15 +#define HSPI_IOMUX_PIN_NUM_WP 2 +#define HSPI_IOMUX_PIN_NUM_HD 4 + +#define VSPI_IOMUX_PIN_NUM_MISO 19 +#define VSPI_IOMUX_PIN_NUM_MOSI 23 +#define VSPI_IOMUX_PIN_NUM_CLK 18 +#define VSPI_IOMUX_PIN_NUM_CS 5 +#define VSPI_IOMUX_PIN_NUM_WP 22 +#define VSPI_IOMUX_PIN_NUM_HD 21 + #endif /* _SOC_SPI_PINS_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/spi_flash/esp_partition.h b/tools/sdk/include/spi_flash/esp_partition.h index f3d5a424..5345fa97 100644 --- a/tools/sdk/include/spi_flash/esp_partition.h +++ b/tools/sdk/include/spi_flash/esp_partition.h @@ -286,6 +286,37 @@ esp_err_t esp_partition_mmap(const esp_partition_t* partition, uint32_t offset, spi_flash_mmap_memory_t memory, const void** out_ptr, spi_flash_mmap_handle_t* out_handle); +/** + * @brief Get SHA-256 digest for required partition. + * + * For apps with SHA-256 appended to the app image, the result is the appended SHA-256 value for the app image content. + * The hash is verified before returning, if app content is invalid then the function returns ESP_ERR_IMAGE_INVALID. + * For apps without SHA-256 appended to the image, the result is the SHA-256 of all bytes in the app image. + * For other partition types, the result is the SHA-256 of the entire partition. + * + * @param[in] partition Pointer to info for partition containing app or data. (fields: address, size and type, are required to be filled). + * @param[out] sha_256 Returned SHA-256 digest for a given partition. + * + * @return + * - ESP_OK: In case of successful operation. + * - ESP_ERR_INVALID_ARG: The size was 0 or the sha_256 was NULL. + * - ESP_ERR_NO_MEM: Cannot allocate memory for sha256 operation. + * - ESP_ERR_IMAGE_INVALID: App partition doesn't contain a valid app image. + * - ESP_FAIL: An allocation error occurred. + */ +esp_err_t esp_partition_get_sha256(const esp_partition_t *partition, uint8_t *sha_256); + +/** + * @brief Check for the identity of two partitions by SHA-256 digest. + * + * @param[in] partition_1 Pointer to info for partition 1 containing app or data. (fields: address, size and type, are required to be filled). + * @param[in] partition_2 Pointer to info for partition 2 containing app or data. (fields: address, size and type, are required to be filled). + * + * @return + * - True: In case of the two firmware is equal. + * - False: Otherwise + */ +bool esp_partition_check_identity(const esp_partition_t *partition_1, const esp_partition_t *partition_2); #ifdef __cplusplus } diff --git a/tools/sdk/include/spi_flash/esp_spi_flash.h b/tools/sdk/include/spi_flash/esp_spi_flash.h index 9caa47e4..7977e116 100644 --- a/tools/sdk/include/spi_flash/esp_spi_flash.h +++ b/tools/sdk/include/spi_flash/esp_spi_flash.h @@ -185,8 +185,8 @@ typedef uint32_t spi_flash_mmap_handle_t; * @param size Size of region to be mapped. This size will be rounded * up to a 64kB boundary * @param memory Address space where the region should be mapped (data or instruction) - * @param out_ptr Output, pointer to the mapped memory region - * @param out_handle Output, handle which should be used for spi_flash_munmap call + * @param[out] out_ptr Output, pointer to the mapped memory region + * @param[out] out_handle Output, handle which should be used for spi_flash_munmap call * * @return ESP_OK on success, ESP_ERR_NO_MEM if pages can not be allocated */ @@ -204,14 +204,19 @@ esp_err_t spi_flash_mmap(size_t src_addr, size_t size, spi_flash_mmap_memory_t m * @param pages An array of numbers indicating the 64kB pages in flash to be mapped * contiguously into memory. These indicate the indexes of the 64kB pages, * not the byte-size addresses as used in other functions. - * @param pagecount Number of entries in the pages array + * Array must be located in internal memory. + * @param page_count Number of entries in the pages array * @param memory Address space where the region should be mapped (instruction or data) - * @param out_ptr Output, pointer to the mapped memory region - * @param out_handle Output, handle which should be used for spi_flash_munmap call + * @param[out] out_ptr Output, pointer to the mapped memory region + * @param[out] out_handle Output, handle which should be used for spi_flash_munmap call * - * @return ESP_OK on success, ESP_ERR_NO_MEM if pages can not be allocated + * @return + * - ESP_OK on success + * - ESP_ERR_NO_MEM if pages can not be allocated + * - ESP_ERR_INVALID_ARG if pagecount is zero or pages array is not in + * internal memory */ -esp_err_t spi_flash_mmap_pages(int *pages, size_t pagecount, spi_flash_mmap_memory_t memory, +esp_err_t spi_flash_mmap_pages(const int *pages, size_t page_count, spi_flash_mmap_memory_t memory, const void** out_ptr, spi_flash_mmap_handle_t* out_handle); diff --git a/tools/sdk/include/tcp_transport/transport.h b/tools/sdk/include/tcp_transport/transport.h new file mode 100644 index 00000000..a54cb83c --- /dev/null +++ b/tools/sdk/include/tcp_transport/transport.h @@ -0,0 +1,265 @@ +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _TRANSPORT_H_ +#define _TRANSPORT_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef struct transport_list_t* transport_list_handle_t; +typedef struct transport_item_t* transport_handle_t; + +typedef int (*connect_func)(transport_handle_t t, const char *host, int port, int timeout_ms); +typedef int (*io_func)(transport_handle_t t, const char *buffer, int len, int timeout_ms); +typedef int (*io_read_func)(transport_handle_t t, char *buffer, int len, int timeout_ms); +typedef int (*trans_func)(transport_handle_t t); +typedef int (*poll_func)(transport_handle_t t, int timeout_ms); +typedef transport_handle_t (*payload_transfer_func)(transport_handle_t); + +/** + * @brief Create transport list + * + * @return A handle can hold all transports + */ +transport_list_handle_t transport_list_init(); + +/** + * @brief Cleanup and free all transports, include itself, + * this function will invoke transport_destroy of every transport have added this the list + * + * @param[in] list The list + * + * @return + * - ESP_OK + * - ESP_FAIL + */ +esp_err_t transport_list_destroy(transport_list_handle_t list); + +/** + * @brief Add a transport to the list, and define a scheme to indentify this transport in the list + * + * @param[in] list The list + * @param[in] t The Transport + * @param[in] scheme The scheme + * + * @return + * - ESP_OK + */ +esp_err_t transport_list_add(transport_list_handle_t list, transport_handle_t t, const char *scheme); + +/** + * @brief This function will remove all transport from the list, + * invoke transport_destroy of every transport have added this the list + * + * @param[in] list The list + * + * @return + * - ESP_OK + * - ESP_ERR_INVALID_ARG + */ +esp_err_t transport_list_clean(transport_list_handle_t list); + +/** + * @brief Get the transport by scheme, which has been defined when calling function `transport_list_add` + * + * @param[in] list The list + * @param[in] tag The tag + * + * @return The transport handle + */ +transport_handle_t transport_list_get_transport(transport_list_handle_t list, const char *scheme); + +/** + * @brief Initialize a transport handle object + * + * @return The transport handle + */ +transport_handle_t transport_init(); + +/** + * @brief Cleanup and free memory the transport + * + * @param[in] t The transport handle + * + * @return + * - ESP_OK + * - ESP_FAIL + */ +esp_err_t transport_destroy(transport_handle_t t); + +/** + * @brief Get default port number used by this transport + * + * @param[in] t The transport handle + * + * @return the port number + */ +int transport_get_default_port(transport_handle_t t); + +/** + * @brief Set default port number that can be used by this transport + * + * @param[in] t The transport handle + * @param[in] port The port number + * + * @return + * - ESP_OK + * - ESP_FAIL + */ +esp_err_t transport_set_default_port(transport_handle_t t, int port); + +/** + * @brief Transport connection function, to make a connection to server + * + * @param t The transport handle + * @param[in] host Hostname + * @param[in] port Port + * @param[in] timeout_ms The timeout milliseconds + * + * @return + * - socket for will use by this transport + * - (-1) if there are any errors, should check errno + */ +int transport_connect(transport_handle_t t, const char *host, int port, int timeout_ms); + +/** + * @brief Transport read function + * + * @param t The transport handle + * @param buffer The buffer + * @param[in] len The length + * @param[in] timeout_ms The timeout milliseconds + * + * @return + * - Number of bytes was read + * - (-1) if there are any errors, should check errno + */ +int transport_read(transport_handle_t t, char *buffer, int len, int timeout_ms); + +/** + * @brief Poll the transport until readable or timeout + * + * @param[in] t The transport handle + * @param[in] timeout_ms The timeout milliseconds + * + * @return + * - 0 Timeout + * - (-1) If there are any errors, should check errno + * - other The transport can read + */ +int transport_poll_read(transport_handle_t t, int timeout_ms); + +/** + * @brief Transport write function + * + * @param t The transport handle + * @param buffer The buffer + * @param[in] len The length + * @param[in] timeout_ms The timeout milliseconds + * + * @return + * - Number of bytes was written + * - (-1) if there are any errors, should check errno + */ +int transport_write(transport_handle_t t, const char *buffer, int len, int timeout_ms); + +/** + * @brief Poll the transport until writeable or timeout + * + * @param[in] t The transport handle + * @param[in] timeout_ms The timeout milliseconds + * + * @return + * - 0 Timeout + * - (-1) If there are any errors, should check errno + * - other The transport can write + */ +int transport_poll_write(transport_handle_t t, int timeout_ms); + +/** + * @brief Transport close + * + * @param t The transport handle + * + * @return + * - 0 if ok + * - (-1) if there are any errors, should check errno + */ +int transport_close(transport_handle_t t); + +/** + * @brief Get user data context of this transport + * + * @param[in] t The transport handle + * + * @return The user data context + */ +void *transport_get_context_data(transport_handle_t t); + +/** + * @brief Get transport handle of underlying protocol + * which can access this protocol payload directly + * (used for receiving longer msg multiple times) + * + * @param[in] t The transport handle + * + * @return Payload transport handle + */ +transport_handle_t transport_get_payload_transport_handle(transport_handle_t t); + +/** + * @brief Set the user context data for this transport + * + * @param[in] t The transport handle + * @param data The user data context + * + * @return + * - ESP_OK + */ +esp_err_t transport_set_context_data(transport_handle_t t, void *data); + +/** + * @brief Set transport functions for the transport handle + * + * @param[in] t The transport handle + * @param[in] _connect The connect function pointer + * @param[in] _read The read function pointer + * @param[in] _write The write function pointer + * @param[in] _close The close function pointer + * @param[in] _poll_read The poll read function pointer + * @param[in] _poll_write The poll write function pointer + * @param[in] _destroy The destroy function pointer + * @param[in] _parrent_transport The parrent transfer getter pointer + * + * @return + * - ESP_OK + */ +esp_err_t transport_set_func(transport_handle_t t, + connect_func _connect, + io_read_func _read, + io_func _write, + trans_func _close, + poll_func _poll_read, + poll_func _poll_write, + trans_func _destroy, + payload_transfer_func _parrent_transport); +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/sdk/include/tcp_transport/transport_ssl.h b/tools/sdk/include/tcp_transport/transport_ssl.h new file mode 100644 index 00000000..a00b36ba --- /dev/null +++ b/tools/sdk/include/tcp_transport/transport_ssl.h @@ -0,0 +1,48 @@ +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _TRANSPORT_SSL_H_ +#define _TRANSPORT_SSL_H_ + +#include "transport.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * @brief Create new SSL transport, the transport handle must be release transport_destroy callback + * + * @return the allocated transport_handle_t, or NULL if the handle can not be allocated + */ +transport_handle_t transport_ssl_init(); + +/** + * @brief Set SSL certificate data (as PEM format). + * Note that, this function stores the pointer to data, rather than making a copy. + * So we need to make sure to keep the data lifetime before cleanup the connection + * + * @param t ssl transport + * @param[in] data The pem data + * @param[in] len The length + */ +void transport_ssl_set_cert_data(transport_handle_t t, const char *data, int len); + + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/tools/sdk/include/tcp_transport/transport_tcp.h b/tools/sdk/include/tcp_transport/transport_tcp.h new file mode 100644 index 00000000..e1cc1d34 --- /dev/null +++ b/tools/sdk/include/tcp_transport/transport_tcp.h @@ -0,0 +1,36 @@ +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _TRANSPORT_TCP_H_ +#define _TRANSPORT_TCP_H_ + +#include "transport.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Create TCP transport, the transport handle must be release transport_destroy callback + * + * @return the allocated transport_handle_t, or NULL if the handle can not be allocated + */ +transport_handle_t transport_tcp_init(); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/sdk/include/tcp_transport/transport_utils.h b/tools/sdk/include/tcp_transport/transport_utils.h new file mode 100644 index 00000000..0e72812e --- /dev/null +++ b/tools/sdk/include/tcp_transport/transport_utils.h @@ -0,0 +1,40 @@ +// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _TRANSPORT_UTILS_H_ +#define _TRANSPORT_UTILS_H_ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Convert milliseconds to timeval struct + * + * @param[in] timeout_ms The timeout milliseconds + * @param[out] tv Timeval struct + */ +void transport_utils_ms_to_timeval(int timeout_ms, struct timeval *tv); + + +#define TRANSPORT_MEM_CHECK(TAG, a, action) if (!(a)) { \ + ESP_LOGE(TAG,"%s:%d (%s): %s", __FILE__, __LINE__, __FUNCTION__, "Memory exhausted"); \ + action; \ + } + +#ifdef __cplusplus +} +#endif +#endif /* _TRANSPORT_UTILS_H_ */ \ No newline at end of file diff --git a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h index 7ab31d1c..205c05fa 100644 --- a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h +++ b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h @@ -33,19 +33,17 @@ * get free station list APIs in application side. Other APIs are used in esp-idf internal, * otherwise the state maybe wrong. * - * TODO: ipv6 support will be added, use menuconfig to disable CONFIG_TCPIP_LWIP + * TODO: ipv6 support will be added */ #include #include "rom/queue.h" #include "esp_wifi_types.h" - -#define CONFIG_TCPIP_LWIP 1 -#define CONFIG_DHCP_STA_LIST 1 +#include "sdkconfig.h" #if CONFIG_TCPIP_LWIP #include "lwip/ip_addr.h" -#include "apps/dhcpserver.h" +#include "dhcpserver/dhcpserver.h" #ifdef __cplusplus extern "C" { @@ -81,7 +79,6 @@ typedef struct { typedef dhcps_lease_t tcpip_adapter_dhcps_lease_t; -#if CONFIG_DHCP_STA_LIST typedef struct { uint8_t mac[6]; ip4_addr_t ip; @@ -91,12 +88,10 @@ typedef struct { tcpip_adapter_sta_info_t sta[ESP_WIFI_MAX_CONN_NUM]; int num; } tcpip_adapter_sta_list_t; -#endif #endif -#define ESP_ERR_TCPIP_ADAPTER_BASE 0x5000 // TODO: move base address to esp_err.h - +#define ESP_ERR_TCPIP_ADAPTER_BASE 0x5000 #define ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS ESP_ERR_TCPIP_ADAPTER_BASE + 0x01 #define ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY ESP_ERR_TCPIP_ADAPTER_BASE + 0x02 #define ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED ESP_ERR_TCPIP_ADAPTER_BASE + 0x03 @@ -105,7 +100,6 @@ typedef struct { #define ESP_ERR_TCPIP_ADAPTER_NO_MEM ESP_ERR_TCPIP_ADAPTER_BASE + 0x06 #define ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED ESP_ERR_TCPIP_ADAPTER_BASE + 0x07 -/* TODO: add Ethernet interface */ typedef enum { TCPIP_ADAPTER_IF_STA = 0, /**< ESP32 station interface */ TCPIP_ADAPTER_IF_AP, /**< ESP32 soft-AP interface */ @@ -522,8 +516,17 @@ esp_err_t tcpip_adapter_dhcpc_start(tcpip_adapter_if_t tcpip_if); */ esp_err_t tcpip_adapter_dhcpc_stop(tcpip_adapter_if_t tcpip_if); - - +/** + * @brief Get data from ethernet interface + * + * This function should be installed by esp_eth_init, so Ethernet packets will be forward to TCPIP stack. + * + * @param[in] void *buffer: the received data point + * @param[in] uint16_t len: the received data length + * @param[in] void *eb: parameter + * + * @return ESP_OK + */ esp_err_t tcpip_adapter_eth_input(void *buffer, uint16_t len, void *eb); /** @@ -561,7 +564,7 @@ esp_err_t tcpip_adapter_ap_input(void *buffer, uint16_t len, void *eb); * * @return ESP_IF_WIFI_STA * ESP_IF_WIFI_AP - ESP_IF_ETH + * ESP_IF_ETH * ESP_IF_MAX */ esp_interface_t tcpip_adapter_get_esp_if(void *dev); diff --git a/tools/sdk/include/ulp/esp32/ulp.h b/tools/sdk/include/ulp/esp32/ulp.h index 64bfff8c..6960ac97 100644 --- a/tools/sdk/include/ulp/esp32/ulp.h +++ b/tools/sdk/include/ulp/esp32/ulp.h @@ -17,11 +17,14 @@ #include #include #include "esp_err.h" +#include "soc/soc.h" #ifdef __cplusplus extern "C" { #endif +#define ULP_FSM_PREPARE_SLEEP_CYCLES 2 /*!< Cycles spent by FSM preparing ULP for sleep */ +#define ULP_FSM_WAKEUP_SLEEP_CYCLES 2 /*!< Cycles spent by FSM waking up ULP from sleep */ /** * @defgroup ulp_registers ULP coprocessor registers @@ -860,7 +863,7 @@ esp_err_t ulp_process_macros_and_load(uint32_t load_addr, const ulp_insn_t* prog * 3. TEXT_SIZE, size of .text section (2 bytes) * 4. DATA_SIZE, size of .data section (2 bytes) * 5. BSS_SIZE, size of .bss section (2 bytes) - * 6. (TEXT_OFFSET - 16) bytes of arbitrary data (will not be loaded into RTC memory) + * 6. (TEXT_OFFSET - 12) bytes of arbitrary data (will not be loaded into RTC memory) * 7. .text section * 8. .data section * @@ -897,6 +900,12 @@ esp_err_t ulp_run(uint32_t entry_point); * * @param period_index wakeup period setting number (0 - 4) * @param period_us wakeup period, us + * @note The ULP FSM requires two clock cycles to wakeup before being able to run the program. + * Then additional 16 cycles are reserved after wakeup waiting until the 8M clock is stable. + * The FSM also requires two more clock cycles to go to sleep after the program execution is halted. + * The minimum wakeup period that may be set up for the ULP + * is equal to the total number of cycles spent on the above internal tasks. + * For a default configuration of the ULP running at 150kHz it makes about 133us. * @return * - ESP_OK on success * - ESP_ERR_INVALID_ARG if period_index is out of range diff --git a/tools/sdk/include/vfs/esp_vfs.h b/tools/sdk/include/vfs/esp_vfs.h index 4d847274..d7467d22 100644 --- a/tools/sdk/include/vfs/esp_vfs.h +++ b/tools/sdk/include/vfs/esp_vfs.h @@ -26,8 +26,10 @@ #include #include #include +#include #include #include +#include "sdkconfig.h" #ifdef __cplusplus extern "C" { @@ -178,6 +180,37 @@ typedef struct int (*truncate_p)(void* ctx, const char *path, off_t length); int (*truncate)(const char *path, off_t length); }; +#ifdef CONFIG_SUPPORT_TERMIOS + union { + int (*tcsetattr_p)(void *ctx, int fd, int optional_actions, const struct termios *p); + int (*tcsetattr)(int fd, int optional_actions, const struct termios *p); + }; + union { + int (*tcgetattr_p)(void *ctx, int fd, struct termios *p); + int (*tcgetattr)(int fd, struct termios *p); + }; + union { + int (*tcdrain_p)(void *ctx, int fd); + int (*tcdrain)(int fd); + }; + union { + int (*tcflush_p)(void *ctx, int fd, int select); + int (*tcflush)(int fd, int select); + }; + union { + int (*tcflow_p)(void *ctx, int fd, int action); + int (*tcflow)(int fd, int action); + }; + union { + pid_t (*tcgetsid_p)(void *ctx, int fd); + pid_t (*tcgetsid)(int fd); + }; + union { + int (*tcsendbreak_p)(void *ctx, int fd, int duration); + int (*tcsendbreak)(int fd, int duration); + }; +#endif // CONFIG_SUPPORT_TERMIOS + /** start_select is called for setting up synchronous I/O multiplexing of the desired file descriptors in the given VFS */ esp_err_t (*start_select)(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, SemaphoreHandle_t *signal_sem); /** socket select function for socket FDs with the functionality of POSIX select(); this should be set only for the socket VFS */ diff --git a/tools/sdk/include/vfs/sys/ioctl.h b/tools/sdk/include/vfs/sys/ioctl.h index 95bad981..90cbb47d 100644 --- a/tools/sdk/include/vfs/sys/ioctl.h +++ b/tools/sdk/include/vfs/sys/ioctl.h @@ -14,5 +14,12 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + int ioctl(int fd, int request, ...); +#ifdef __cplusplus +} +#endif diff --git a/tools/sdk/include/wear_levelling/wear_levelling.h b/tools/sdk/include/wear_levelling/wear_levelling.h index 60f252e9..137b13f1 100644 --- a/tools/sdk/include/wear_levelling/wear_levelling.h +++ b/tools/sdk/include/wear_levelling/wear_levelling.h @@ -1,136 +1,136 @@ -// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef _wear_levelling_H_ -#define _wear_levelling_H_ - -#include "esp_log.h" -#include "esp_partition.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** -* @brief wear levelling handle -*/ -typedef int32_t wl_handle_t; - -#define WL_INVALID_HANDLE -1 - -/** -* @brief Mount WL for defined partition -* -* @param partition that will be used for access -* @param out_handle handle of the WL instance -* -* @return -* - ESP_OK, if the allocation was successfully; -* - ESP_ERR_INVALID_ARG, if WL allocation was unsuccessful; -* - ESP_ERR_NO_MEM, if there was no memory to allocate WL components; -*/ -esp_err_t wl_mount(const esp_partition_t *partition, wl_handle_t *out_handle); - -/** -* @brief Unmount WL for defined partition -* -* @param handle WL partition handle -* -* @return -* - ESP_OK, if the operation completed successfully; -* - or one of error codes from lower-level flash driver. -*/ -esp_err_t wl_unmount(wl_handle_t handle); - -/** -* @brief Erase part of the WL storage -* -* @param handle WL handle that are related to the partition -* @param start_addr Address where erase operation should start. Must be aligned -* to the result of function wl_sector_size(...). -* @param size Size of the range which should be erased, in bytes. -* Must be divisible by result of function wl_sector_size(...).. -* -* @return -* - ESP_OK, if the range was erased successfully; -* - ESP_ERR_INVALID_ARG, if iterator or dst are NULL; -* - ESP_ERR_INVALID_SIZE, if erase would go out of bounds of the partition; -* - or one of error codes from lower-level flash driver. -*/ -esp_err_t wl_erase_range(wl_handle_t handle, size_t start_addr, size_t size); - -/** -* @brief Write data to the WL storage -* -* Before writing data to flash, corresponding region of flash needs to be erased. -* This can be done using wl_erase_range function. -* -* @param handle WL handle that are related to the partition -* @param dest_addr Address where the data should be written, relative to the -* beginning of the partition. -* @param src Pointer to the source buffer. Pointer must be non-NULL and -* buffer must be at least 'size' bytes long. -* @param size Size of data to be written, in bytes. -* -* @note Prior to writing to WL storage, make sure it has been erased with -* wl_erase_range call. -* -* @return -* - ESP_OK, if data was written successfully; -* - ESP_ERR_INVALID_ARG, if dst_offset exceeds partition size; -* - ESP_ERR_INVALID_SIZE, if write would go out of bounds of the partition; -* - or one of error codes from lower-level flash driver. -*/ -esp_err_t wl_write(wl_handle_t handle, size_t dest_addr, const void *src, size_t size); - -/** -* @brief Read data from the WL storage -* -* @param handle WL module instance that was initialized before -* @param dest Pointer to the buffer where data should be stored. -* Pointer must be non-NULL and buffer must be at least 'size' bytes long. -* @param src_addr Address of the data to be read, relative to the -* beginning of the partition. -* @param size Size of data to be read, in bytes. -* -* @return -* - ESP_OK, if data was read successfully; -* - ESP_ERR_INVALID_ARG, if src_offset exceeds partition size; -* - ESP_ERR_INVALID_SIZE, if read would go out of bounds of the partition; -* - or one of error codes from lower-level flash driver. -*/ -esp_err_t wl_read(wl_handle_t handle, size_t src_addr, void *dest, size_t size); - -/** -* @brief Get size of the WL storage -* -* @param handle WL module handle that was initialized before -* @return usable size, in bytes -*/ -size_t wl_size(wl_handle_t handle); - -/** -* @brief Get sector size of the WL instance -* -* @param handle WL module handle that was initialized before -* @return sector size, in bytes -*/ -size_t wl_sector_size(wl_handle_t handle); - - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // _wear_levelling_H_ +// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _wear_levelling_H_ +#define _wear_levelling_H_ + +#include "esp_log.h" +#include "esp_partition.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** +* @brief wear levelling handle +*/ +typedef int32_t wl_handle_t; + +#define WL_INVALID_HANDLE -1 + +/** +* @brief Mount WL for defined partition +* +* @param partition that will be used for access +* @param out_handle handle of the WL instance +* +* @return +* - ESP_OK, if the allocation was successfully; +* - ESP_ERR_INVALID_ARG, if WL allocation was unsuccessful; +* - ESP_ERR_NO_MEM, if there was no memory to allocate WL components; +*/ +esp_err_t wl_mount(const esp_partition_t *partition, wl_handle_t *out_handle); + +/** +* @brief Unmount WL for defined partition +* +* @param handle WL partition handle +* +* @return +* - ESP_OK, if the operation completed successfully; +* - or one of error codes from lower-level flash driver. +*/ +esp_err_t wl_unmount(wl_handle_t handle); + +/** +* @brief Erase part of the WL storage +* +* @param handle WL handle that are related to the partition +* @param start_addr Address where erase operation should start. Must be aligned +* to the result of function wl_sector_size(...). +* @param size Size of the range which should be erased, in bytes. +* Must be divisible by result of function wl_sector_size(...).. +* +* @return +* - ESP_OK, if the range was erased successfully; +* - ESP_ERR_INVALID_ARG, if iterator or dst are NULL; +* - ESP_ERR_INVALID_SIZE, if erase would go out of bounds of the partition; +* - or one of error codes from lower-level flash driver. +*/ +esp_err_t wl_erase_range(wl_handle_t handle, size_t start_addr, size_t size); + +/** +* @brief Write data to the WL storage +* +* Before writing data to flash, corresponding region of flash needs to be erased. +* This can be done using wl_erase_range function. +* +* @param handle WL handle that are related to the partition +* @param dest_addr Address where the data should be written, relative to the +* beginning of the partition. +* @param src Pointer to the source buffer. Pointer must be non-NULL and +* buffer must be at least 'size' bytes long. +* @param size Size of data to be written, in bytes. +* +* @note Prior to writing to WL storage, make sure it has been erased with +* wl_erase_range call. +* +* @return +* - ESP_OK, if data was written successfully; +* - ESP_ERR_INVALID_ARG, if dst_offset exceeds partition size; +* - ESP_ERR_INVALID_SIZE, if write would go out of bounds of the partition; +* - or one of error codes from lower-level flash driver. +*/ +esp_err_t wl_write(wl_handle_t handle, size_t dest_addr, const void *src, size_t size); + +/** +* @brief Read data from the WL storage +* +* @param handle WL module instance that was initialized before +* @param dest Pointer to the buffer where data should be stored. +* Pointer must be non-NULL and buffer must be at least 'size' bytes long. +* @param src_addr Address of the data to be read, relative to the +* beginning of the partition. +* @param size Size of data to be read, in bytes. +* +* @return +* - ESP_OK, if data was read successfully; +* - ESP_ERR_INVALID_ARG, if src_offset exceeds partition size; +* - ESP_ERR_INVALID_SIZE, if read would go out of bounds of the partition; +* - or one of error codes from lower-level flash driver. +*/ +esp_err_t wl_read(wl_handle_t handle, size_t src_addr, void *dest, size_t size); + +/** +* @brief Get size of the WL storage +* +* @param handle WL module handle that was initialized before +* @return usable size, in bytes +*/ +size_t wl_size(wl_handle_t handle); + +/** +* @brief Get sector size of the WL instance +* +* @param handle WL module handle that was initialized before +* @return sector size, in bytes +*/ +size_t wl_sector_size(wl_handle_t handle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _wear_levelling_H_ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_peap_common.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_peap_common.h index c0dc6ed8..7aad0dff 100644 --- a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_peap_common.h +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_peap_common.h @@ -1,16 +1,16 @@ -/* - * EAP-PEAP common routines - * Copyright (c) 2008-2011, Jouni Malinen - * - * This software may be distributed under the terms of the BSD license. - * See README for more details. - */ - -#ifndef EAP_PEAP_COMMON_H -#define EAP_PEAP_COMMON_H - -int peap_prfplus(int version, const u8 *key, size_t key_len, - const char *label, const u8 *seed, size_t seed_len, - u8 *buf, size_t buf_len); - -#endif /* EAP_PEAP_COMMON_H */ +/* + * EAP-PEAP common routines + * Copyright (c) 2008-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_PEAP_COMMON_H +#define EAP_PEAP_COMMON_H + +int peap_prfplus(int version, const u8 *key, size_t key_len, + const char *label, const u8 *seed, size_t seed_len, + u8 *buf, size_t buf_len); + +#endif /* EAP_PEAP_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tlv_common.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tlv_common.h index 8f0f83f7..3286055a 100644 --- a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tlv_common.h +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tlv_common.h @@ -1,112 +1,112 @@ -/* - * EAP-TLV definitions (draft-josefsson-pppext-eap-tls-eap-10.txt) - * Copyright (c) 2004-2008, Jouni Malinen - * - * This software may be distributed under the terms of the BSD license. - * See README for more details. - */ - -#ifndef EAP_TLV_COMMON_H -#define EAP_TLV_COMMON_H - -/* EAP-TLV TLVs (draft-josefsson-ppext-eap-tls-eap-10.txt) */ -#define EAP_TLV_RESULT_TLV 3 /* Acknowledged Result */ -#define EAP_TLV_NAK_TLV 4 -#define EAP_TLV_ERROR_CODE_TLV 5 -#define EAP_TLV_CONNECTION_BINDING_TLV 6 -#define EAP_TLV_VENDOR_SPECIFIC_TLV 7 -#define EAP_TLV_URI_TLV 8 -#define EAP_TLV_EAP_PAYLOAD_TLV 9 -#define EAP_TLV_INTERMEDIATE_RESULT_TLV 10 -#define EAP_TLV_PAC_TLV 11 /* RFC 5422, Section 4.2 */ -#define EAP_TLV_CRYPTO_BINDING_TLV 12 -#define EAP_TLV_CALLING_STATION_ID_TLV 13 -#define EAP_TLV_CALLED_STATION_ID_TLV 14 -#define EAP_TLV_NAS_PORT_TYPE_TLV 15 -#define EAP_TLV_SERVER_IDENTIFIER_TLV 16 -#define EAP_TLV_IDENTITY_TYPE_TLV 17 -#define EAP_TLV_SERVER_TRUSTED_ROOT_TLV 18 -#define EAP_TLV_REQUEST_ACTION_TLV 19 -#define EAP_TLV_PKCS7_TLV 20 - -#define EAP_TLV_RESULT_SUCCESS 1 -#define EAP_TLV_RESULT_FAILURE 2 - -#define EAP_TLV_TYPE_MANDATORY 0x8000 -#define EAP_TLV_TYPE_MASK 0x3fff - -#ifdef _MSC_VER -#pragma pack(push, 1) -#endif /* _MSC_VER */ - -struct eap_tlv_hdr { - be16 tlv_type; - be16 length; -} STRUCT_PACKED; - -struct eap_tlv_nak_tlv { - be16 tlv_type; - be16 length; - be32 vendor_id; - be16 nak_type; -} STRUCT_PACKED; - -struct eap_tlv_result_tlv { - be16 tlv_type; - be16 length; - be16 status; -} STRUCT_PACKED; - -/* RFC 4851, Section 4.2.7 - Intermediate-Result TLV */ -struct eap_tlv_intermediate_result_tlv { - be16 tlv_type; - be16 length; - be16 status; - /* Followed by optional TLVs */ -} STRUCT_PACKED; - -/* RFC 4851, Section 4.2.8 - Crypto-Binding TLV */ -struct eap_tlv_crypto_binding_tlv { - be16 tlv_type; - be16 length; - u8 reserved; - u8 version; - u8 received_version; - u8 subtype; - u8 nonce[32]; - u8 compound_mac[20]; -} STRUCT_PACKED; - -struct eap_tlv_pac_ack_tlv { - be16 tlv_type; - be16 length; - be16 pac_type; - be16 pac_len; - be16 result; -} STRUCT_PACKED; - -/* RFC 4851, Section 4.2.9 - Request-Action TLV */ -struct eap_tlv_request_action_tlv { - be16 tlv_type; - be16 length; - be16 action; -} STRUCT_PACKED; - -/* RFC 5422, Section 4.2.6 - PAC-Type TLV */ -struct eap_tlv_pac_type_tlv { - be16 tlv_type; /* PAC_TYPE_PAC_TYPE */ - be16 length; - be16 pac_type; -} STRUCT_PACKED; - -#ifdef _MSC_VER -#pragma pack(pop) -#endif /* _MSC_VER */ - -#define EAP_TLV_CRYPTO_BINDING_SUBTYPE_REQUEST 0 -#define EAP_TLV_CRYPTO_BINDING_SUBTYPE_RESPONSE 1 - -#define EAP_TLV_ACTION_PROCESS_TLV 1 -#define EAP_TLV_ACTION_NEGOTIATE_EAP 2 - -#endif /* EAP_TLV_COMMON_H */ +/* + * EAP-TLV definitions (draft-josefsson-pppext-eap-tls-eap-10.txt) + * Copyright (c) 2004-2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_TLV_COMMON_H +#define EAP_TLV_COMMON_H + +/* EAP-TLV TLVs (draft-josefsson-ppext-eap-tls-eap-10.txt) */ +#define EAP_TLV_RESULT_TLV 3 /* Acknowledged Result */ +#define EAP_TLV_NAK_TLV 4 +#define EAP_TLV_ERROR_CODE_TLV 5 +#define EAP_TLV_CONNECTION_BINDING_TLV 6 +#define EAP_TLV_VENDOR_SPECIFIC_TLV 7 +#define EAP_TLV_URI_TLV 8 +#define EAP_TLV_EAP_PAYLOAD_TLV 9 +#define EAP_TLV_INTERMEDIATE_RESULT_TLV 10 +#define EAP_TLV_PAC_TLV 11 /* RFC 5422, Section 4.2 */ +#define EAP_TLV_CRYPTO_BINDING_TLV 12 +#define EAP_TLV_CALLING_STATION_ID_TLV 13 +#define EAP_TLV_CALLED_STATION_ID_TLV 14 +#define EAP_TLV_NAS_PORT_TYPE_TLV 15 +#define EAP_TLV_SERVER_IDENTIFIER_TLV 16 +#define EAP_TLV_IDENTITY_TYPE_TLV 17 +#define EAP_TLV_SERVER_TRUSTED_ROOT_TLV 18 +#define EAP_TLV_REQUEST_ACTION_TLV 19 +#define EAP_TLV_PKCS7_TLV 20 + +#define EAP_TLV_RESULT_SUCCESS 1 +#define EAP_TLV_RESULT_FAILURE 2 + +#define EAP_TLV_TYPE_MANDATORY 0x8000 +#define EAP_TLV_TYPE_MASK 0x3fff + +#ifdef _MSC_VER +#pragma pack(push, 1) +#endif /* _MSC_VER */ + +struct eap_tlv_hdr { + be16 tlv_type; + be16 length; +} STRUCT_PACKED; + +struct eap_tlv_nak_tlv { + be16 tlv_type; + be16 length; + be32 vendor_id; + be16 nak_type; +} STRUCT_PACKED; + +struct eap_tlv_result_tlv { + be16 tlv_type; + be16 length; + be16 status; +} STRUCT_PACKED; + +/* RFC 4851, Section 4.2.7 - Intermediate-Result TLV */ +struct eap_tlv_intermediate_result_tlv { + be16 tlv_type; + be16 length; + be16 status; + /* Followed by optional TLVs */ +} STRUCT_PACKED; + +/* RFC 4851, Section 4.2.8 - Crypto-Binding TLV */ +struct eap_tlv_crypto_binding_tlv { + be16 tlv_type; + be16 length; + u8 reserved; + u8 version; + u8 received_version; + u8 subtype; + u8 nonce[32]; + u8 compound_mac[20]; +} STRUCT_PACKED; + +struct eap_tlv_pac_ack_tlv { + be16 tlv_type; + be16 length; + be16 pac_type; + be16 pac_len; + be16 result; +} STRUCT_PACKED; + +/* RFC 4851, Section 4.2.9 - Request-Action TLV */ +struct eap_tlv_request_action_tlv { + be16 tlv_type; + be16 length; + be16 action; +} STRUCT_PACKED; + +/* RFC 5422, Section 4.2.6 - PAC-Type TLV */ +struct eap_tlv_pac_type_tlv { + be16 tlv_type; /* PAC_TYPE_PAC_TYPE */ + be16 length; + be16 pac_type; +} STRUCT_PACKED; + +#ifdef _MSC_VER +#pragma pack(pop) +#endif /* _MSC_VER */ + +#define EAP_TLV_CRYPTO_BINDING_SUBTYPE_REQUEST 0 +#define EAP_TLV_CRYPTO_BINDING_SUBTYPE_RESPONSE 1 + +#define EAP_TLV_ACTION_PROCESS_TLV 1 +#define EAP_TLV_ACTION_NEGOTIATE_EAP 2 + +#endif /* EAP_TLV_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_ttls.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_ttls.h index 568038d0..17901d42 100644 --- a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_ttls.h +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_ttls.h @@ -1,65 +1,65 @@ -/* - * EAP server/peer: EAP-TTLS (RFC 5281) - * Copyright (c) 2004-2007, Jouni Malinen - * - * This software may be distributed under the terms of the BSD license. - * See README for more details. - */ - -#ifndef EAP_TTLS_H -#define EAP_TTLS_H - -struct ttls_avp { - be32 avp_code; - be32 avp_length; /* 8-bit flags, 24-bit length; - * length includes AVP header */ - /* optional 32-bit Vendor-ID */ - /* Data */ -}; - -struct ttls_avp_vendor { - be32 avp_code; - be32 avp_length; /* 8-bit flags, 24-bit length; - * length includes AVP header */ - be32 vendor_id; - /* Data */ -}; - -#define AVP_FLAGS_VENDOR 0x80 -#define AVP_FLAGS_MANDATORY 0x40 - -#define AVP_PAD(start, pos) \ -do { \ - int __pad; \ - __pad = (4 - (((pos) - (start)) & 3)) & 3; \ - os_memset((pos), 0, __pad); \ - pos += __pad; \ -} while (0) - - -/* RFC 2865 */ -#define RADIUS_ATTR_USER_NAME 1 -#define RADIUS_ATTR_USER_PASSWORD 2 -#define RADIUS_ATTR_CHAP_PASSWORD 3 -#define RADIUS_ATTR_REPLY_MESSAGE 18 -#define RADIUS_ATTR_CHAP_CHALLENGE 60 -#define RADIUS_ATTR_EAP_MESSAGE 79 - -/* RFC 2548 */ -#define RADIUS_VENDOR_ID_MICROSOFT 311 -#define RADIUS_ATTR_MS_CHAP_RESPONSE 1 -#define RADIUS_ATTR_MS_CHAP_ERROR 2 -#define RADIUS_ATTR_MS_CHAP_NT_ENC_PW 6 -#define RADIUS_ATTR_MS_CHAP_CHALLENGE 11 -#define RADIUS_ATTR_MS_CHAP2_RESPONSE 25 -#define RADIUS_ATTR_MS_CHAP2_SUCCESS 26 -#define RADIUS_ATTR_MS_CHAP2_CPW 27 - -#define EAP_TTLS_MSCHAPV2_CHALLENGE_LEN 16 -#define EAP_TTLS_MSCHAPV2_RESPONSE_LEN 50 -#define EAP_TTLS_MSCHAP_CHALLENGE_LEN 8 -#define EAP_TTLS_MSCHAP_RESPONSE_LEN 50 -#define EAP_TTLS_CHAP_CHALLENGE_LEN 16 -#define EAP_TTLS_CHAP_PASSWORD_LEN 16 - -#endif /* EAP_TTLS_H */ +/* + * EAP server/peer: EAP-TTLS (RFC 5281) + * Copyright (c) 2004-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_TTLS_H +#define EAP_TTLS_H + +struct ttls_avp { + be32 avp_code; + be32 avp_length; /* 8-bit flags, 24-bit length; + * length includes AVP header */ + /* optional 32-bit Vendor-ID */ + /* Data */ +}; + +struct ttls_avp_vendor { + be32 avp_code; + be32 avp_length; /* 8-bit flags, 24-bit length; + * length includes AVP header */ + be32 vendor_id; + /* Data */ +}; + +#define AVP_FLAGS_VENDOR 0x80 +#define AVP_FLAGS_MANDATORY 0x40 + +#define AVP_PAD(start, pos) \ +do { \ + int __pad; \ + __pad = (4 - (((pos) - (start)) & 3)) & 3; \ + os_memset((pos), 0, __pad); \ + pos += __pad; \ +} while (0) + + +/* RFC 2865 */ +#define RADIUS_ATTR_USER_NAME 1 +#define RADIUS_ATTR_USER_PASSWORD 2 +#define RADIUS_ATTR_CHAP_PASSWORD 3 +#define RADIUS_ATTR_REPLY_MESSAGE 18 +#define RADIUS_ATTR_CHAP_CHALLENGE 60 +#define RADIUS_ATTR_EAP_MESSAGE 79 + +/* RFC 2548 */ +#define RADIUS_VENDOR_ID_MICROSOFT 311 +#define RADIUS_ATTR_MS_CHAP_RESPONSE 1 +#define RADIUS_ATTR_MS_CHAP_ERROR 2 +#define RADIUS_ATTR_MS_CHAP_NT_ENC_PW 6 +#define RADIUS_ATTR_MS_CHAP_CHALLENGE 11 +#define RADIUS_ATTR_MS_CHAP2_RESPONSE 25 +#define RADIUS_ATTR_MS_CHAP2_SUCCESS 26 +#define RADIUS_ATTR_MS_CHAP2_CPW 27 + +#define EAP_TTLS_MSCHAPV2_CHALLENGE_LEN 16 +#define EAP_TTLS_MSCHAPV2_RESPONSE_LEN 50 +#define EAP_TTLS_MSCHAP_CHALLENGE_LEN 8 +#define EAP_TTLS_MSCHAP_RESPONSE_LEN 50 +#define EAP_TTLS_CHAP_CHALLENGE_LEN 16 +#define EAP_TTLS_CHAP_PASSWORD_LEN 16 + +#endif /* EAP_TTLS_H */ diff --git a/tools/sdk/ld/esp32.common.ld b/tools/sdk/ld/esp32.common.ld index 26acd7b2..cf1a3a7a 100644 --- a/tools/sdk/ld/esp32.common.ld +++ b/tools/sdk/ld/esp32.common.ld @@ -10,7 +10,7 @@ SECTIONS { . = ALIGN(4); *(.rtc.literal .rtc.text) - *rtc_wake_stub*.o(.literal .text .literal.* .text.*) + *rtc_wake_stub*.*(.literal .text .literal.* .text.*) } > rtc_iram_seg /* RTC slow memory holds RTC wake stub @@ -22,7 +22,7 @@ SECTIONS _rtc_data_start = ABSOLUTE(.); *(.rtc.data) *(.rtc.rodata) - *rtc_wake_stub*.o(.data .rodata .data.* .rodata.* .bss .bss.*) + *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) _rtc_data_end = ABSOLUTE(.); } > rtc_slow_seg @@ -30,8 +30,9 @@ SECTIONS .rtc.bss (NOLOAD) : { _rtc_bss_start = ABSOLUTE(.); - *rtc_wake_stub*.o(.bss .bss.*) - *rtc_wake_stub*.o(COMMON) + *rtc_wake_stub*.*(.bss .bss.*) + *rtc_wake_stub*.*(COMMON) + *(.rtc.bss) _rtc_bss_end = ABSOLUTE(.); } > rtc_slow_seg @@ -52,6 +53,7 @@ SECTIONS /* Send .iram0 code to iram */ .iram0.vectors : { + _iram_start = ABSOLUTE(.); /* Vectors go to IRAM */ _init_start = ABSOLUTE(.); /* Vectors according to builds/RF-2015.2-win32/esp108_v1_2_s5_512int_2/config.html */ @@ -85,11 +87,7 @@ SECTIONS *(.init.literal) *(.init) _init_end = ABSOLUTE(.); - - /* This goes here, not at top of linker script, so addr2line finds it last, - and uses it in preference to the first symbol in IRAM */ - _iram_start = ABSOLUTE(0); - } > iram0_0_seg +} > iram0_0_seg .iram0.text : { @@ -97,25 +95,35 @@ SECTIONS _iram_text_start = ABSOLUTE(.); *(.iram1 .iram1.*) *libfreertos.a:(.literal .text .literal.* .text.*) - *libheap.a:multi_heap.o(.literal .text .literal.* .text.*) - *libheap.a:multi_heap_poisoning.o(.literal .text .literal.* .text.*) - *libesp32.a:panic.o(.literal .text .literal.* .text.*) - *libesp32.a:core_dump.o(.literal .text .literal.* .text.*) + *libheap.a:multi_heap.*(.literal .text .literal.* .text.*) + *libheap.a:multi_heap_poisoning.*(.literal .text .literal.* .text.*) + *libesp32.a:panic.*(.literal .text .literal.* .text.*) + *libesp32.a:core_dump.*(.literal .text .literal.* .text.*) *libapp_trace.a:(.literal .text .literal.* .text.*) - *libxtensa-debug-module.a:eri.o(.literal .text .literal.* .text.*) + *libxtensa-debug-module.a:eri.*(.literal .text .literal.* .text.*) *librtc.a:(.literal .text .literal.* .text.*) - *libsoc.a:(.literal .text .literal.* .text.*) + *libsoc.a:rtc_*.*(.literal .text .literal.* .text.*) + *libsoc.a:cpu_util.*(.literal .text .literal.* .text.*) *libhal.a:(.literal .text .literal.* .text.*) - *libgcc.a:lib2funcs.o(.literal .text .literal.* .text.*) - *libspi_flash.a:spi_flash_rom_patch.o(.literal .text .literal.* .text.*) + *libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*) + *libspi_flash.a:spi_flash_rom_patch.*(.literal .text .literal.* .text.*) *libgcov.a:(.literal .text .literal.* .text.*) INCLUDE esp32.spiram.rom-functions-iram.ld _iram_text_end = ABSOLUTE(.); + _iram_end = ABSOLUTE(.); } > iram0_0_seg - + .dram0.data : { _data_start = ABSOLUTE(.); + _bt_data_start = ABSOLUTE(.); + *libbt.a:(.data .data.*) + . = ALIGN (4); + _bt_data_end = ABSOLUTE(.); + _btdm_data_start = ABSOLUTE(.); + *libbtdm_app.a:(.data .data.*) + . = ALIGN (4); + _btdm_data_end = ABSOLUTE(.); *(.data) *(.data.*) *(.gnu.linkonce.d.*) @@ -128,13 +136,13 @@ SECTIONS *(.gnu.linkonce.s2.*) *(.jcr) *(.dram1 .dram1.*) - *libesp32.a:panic.o(.rodata .rodata.*) + *libesp32.a:panic.*(.rodata .rodata.*) *libphy.a:(.rodata .rodata.*) - *libsoc.a:rtc_clk.o(.rodata .rodata.*) + *libsoc.a:rtc_clk.*(.rodata .rodata.*) *libapp_trace.a:(.rodata .rodata.*) *libgcov.a:(.rodata .rodata.*) - *libheap.a:multi_heap.o(.rodata .rodata.*) - *libheap.a:multi_heap_poisoning.o(.rodata .rodata.*) + *libheap.a:multi_heap.*(.rodata .rodata.*) + *libheap.a:multi_heap_poisoning.*(.rodata .rodata.*) INCLUDE esp32.spiram.rom-functions-dram.ld _data_end = ABSOLUTE(.); . = ALIGN(4); @@ -159,6 +167,14 @@ SECTIONS { . = ALIGN (8); _bss_start = ABSOLUTE(.); + _bt_bss_start = ABSOLUTE(.); + *libbt.a:(.bss .bss.* COMMON) + . = ALIGN (4); + _bt_bss_end = ABSOLUTE(.); + _btdm_bss_start = ABSOLUTE(.); + *libbtdm_app.a:(.bss .bss.* COMMON) + . = ALIGN (4); + _btdm_bss_end = ABSOLUTE(.); *(.dynsbss) *(.sbss) *(.sbss.*) @@ -198,13 +214,13 @@ SECTIONS . = (. + 7) & ~ 3; /* C++ constructor and destructor tables, properly ordered: */ __init_array_start = ABSOLUTE(.); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*crtbegin.*(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) __init_array_end = ABSOLUTE(.); - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*crtbegin.*(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) /* C++ exception handlers table: */ @@ -215,6 +231,11 @@ SECTIONS *(.xt_except_desc_end) *(.dynamic) *(.gnu.version_d) + /* Addresses of memory regions reserved via + SOC_RESERVE_MEMORY_REGION() */ + soc_reserved_memory_region_start = ABSOLUTE(.); + KEEP (*(.reserved_memory_address)) + soc_reserved_memory_region_end = ABSOLUTE(.); _rodata_end = ABSOLUTE(.); /* Literals are also RO data. */ _lit4_start = ABSOLUTE(.); diff --git a/tools/sdk/ld/esp32.peripherals.ld b/tools/sdk/ld/esp32.peripherals.ld index 3403ee8a..2dce0e0f 100644 --- a/tools/sdk/ld/esp32.peripherals.ld +++ b/tools/sdk/ld/esp32.peripherals.ld @@ -26,6 +26,7 @@ PROVIDE ( SPI3 = 0x3ff65000 ); PROVIDE ( SYSCON = 0x3ff66000 ); PROVIDE ( I2C1 = 0x3ff67000 ); PROVIDE ( SDMMC = 0x3ff68000 ); +PROVIDE ( CAN = 0x3ff6B000 ); PROVIDE ( MCPWM1 = 0x3ff6C000 ); PROVIDE ( I2S1 = 0x3ff6D000 ); PROVIDE ( UART2 = 0x3ff6E000 ); diff --git a/tools/sdk/ld/esp32.rom.ld b/tools/sdk/ld/esp32.rom.ld index ab36d7bb..fe5a4e7c 100644 --- a/tools/sdk/ld/esp32.rom.ld +++ b/tools/sdk/ld/esp32.rom.ld @@ -4,32 +4,22 @@ Generated for ROM with MD5sum: ab8282ae908fe9e7a63fb2a4ac2df013 ../../rom_image/prorom.elf */ PROVIDE ( abort = 0x4000bba4 ); -PROVIDE ( __absvdi2 = 0x4006387c ); -PROVIDE ( __absvsi2 = 0x40063868 ); PROVIDE ( Add2SelfBigHex256 = 0x40015b7c ); PROVIDE ( AddBigHex256 = 0x40015b28 ); PROVIDE ( AddBigHexModP256 = 0x40015c98 ); -PROVIDE ( __adddf3 = 0x40002590 ); PROVIDE ( AddP256 = 0x40015c74 ); PROVIDE ( AddPdiv2_256 = 0x40015ce0 ); -PROVIDE ( __addsf3 = 0x400020e8 ); -PROVIDE ( __addvdi3 = 0x40002cbc ); -PROVIDE ( __addvsi3 = 0x40002c98 ); PROVIDE ( aes_128_cbc_decrypt = 0x4005cc7c ); PROVIDE ( aes_128_cbc_encrypt = 0x4005cc18 ); PROVIDE ( aes_unwrap = 0x4005ccf0 ); PROVIDE ( app_gpio_arg = 0x3ffe003c ); PROVIDE ( app_gpio_handler = 0x3ffe0040 ); -PROVIDE ( __ashldi3 = 0x4000c818 ); -PROVIDE ( __ashrdi3 = 0x4000c830 ); PROVIDE ( base64_decode = 0x4005ced8 ); PROVIDE ( base64_encode = 0x4005cdbc ); PROVIDE ( BasePoint_x_256 = 0x3ff97488 ); PROVIDE ( BasePoint_y_256 = 0x3ff97468 ); PROVIDE ( bigHexInversion256 = 0x400168f0 ); PROVIDE ( bigHexP256 = 0x3ff973bc ); -PROVIDE ( __bswapdi2 = 0x400649c4 ); -PROVIDE ( __bswapsi2 = 0x4006499c ); PROVIDE ( btdm_r_ble_bt_handler_tab_p_get = 0x40019b0c ); PROVIDE ( btdm_r_btdm_option_data_p_get = 0x40010004 ); PROVIDE ( btdm_r_btdm_rom_version_get = 0x40010078 ); @@ -52,11 +42,6 @@ PROVIDE ( calc_rtc_memory_crc = 0x40008170 ); PROVIDE ( calloc = 0x4000bee4 ); PROVIDE ( __clear_cache = 0x40063860 ); PROVIDE ( _close_r = 0x4000bd3c ); -PROVIDE ( __clrsbdi2 = 0x40064a38 ); -PROVIDE ( __clrsbsi2 = 0x40064a20 ); -PROVIDE ( __clzdi2 = 0x4000ca50 ); -PROVIDE ( __clzsi2 = 0x4000c7e8 ); -PROVIDE ( __cmpdi2 = 0x40063820 ); PROVIDE ( co_default_bdaddr = 0x3ffae704 ); PROVIDE ( co_null_bdaddr = 0x3ffb80e0 ); PROVIDE ( co_sca2ppm = 0x3ff971e8 ); @@ -68,8 +53,6 @@ PROVIDE ( crc8_be = 0x4005d114 ); PROVIDE ( crc8_le = 0x4005d0e0 ); PROVIDE ( _ctype_ = 0x3ff96354 ); PROVIDE ( __ctype_ptr__ = 0x3ff96350 ); -PROVIDE ( __ctzdi2 = 0x4000ca64 ); -PROVIDE ( __ctzsi2 = 0x4000c7f0 ); PROVIDE ( _data_end_rom = 0x4000d5c8 ); PROVIDE ( _data_end_btdm_rom = 0x4000d4f8 ); PROVIDE ( _data_start_rom = 0x4000d4f8 ); @@ -102,49 +85,21 @@ PROVIDE ( dh_group2_generator = 0x3ff9ada2 ); PROVIDE ( dh_group2_prime = 0x3ff9ad22 ); PROVIDE ( dh_group5_generator = 0x3ff9ad21 ); PROVIDE ( dh_group5_prime = 0x3ff9ac61 ); -PROVIDE ( __divdc3 = 0x40064460 ); -PROVIDE ( __divdf3 = 0x40002954 ); -PROVIDE ( __divdi3 = 0x4000ca84 ); -PROVIDE ( __divsc3 = 0x40064200 ); -PROVIDE ( __divsf3 = 0x4000234c ); -PROVIDE ( __divsi3 = 0x4000c7b8 ); PROVIDE ( g_rom_spiflash_dummy_len_plus = 0x3ffae290 ); PROVIDE ( ecc_env = 0x3ffb8d60 ); PROVIDE ( ecc_Jacobian_InfinityPoint256 = 0x3ff972e8 ); PROVIDE ( em_buf_env = 0x3ffb8d74 ); PROVIDE ( environ = 0x3ffae0b4 ); -PROVIDE ( __eqdf2 = 0x400636a8 ); -PROVIDE ( __eqsf2 = 0x40063374 ); PROVIDE ( esp_crc8 = 0x4005d144 ); PROVIDE ( _etext = 0x4000d66c ); PROVIDE ( ets_readySet_ = 0x3ffe01f0 ); PROVIDE ( ets_startup_callback = 0x3ffe0404 ); PROVIDE ( exc_cause_table = 0x3ff991d0 ); PROVIDE ( _exit_r = 0x4000bd28 ); -PROVIDE ( __extendsfdf2 = 0x40002c34 ); -PROVIDE ( __ffsdi2 = 0x4000ca2c ); -PROVIDE ( __ffssi2 = 0x4000c804 ); -PROVIDE ( __fixdfdi = 0x40002ac4 ); -PROVIDE ( __fixdfsi = 0x40002a78 ); -PROVIDE ( __fixsfdi = 0x4000244c ); -PROVIDE ( __fixsfsi = 0x4000240c ); -PROVIDE ( __fixunsdfsi = 0x40002b30 ); -PROVIDE ( __fixunssfdi = 0x40002504 ); -PROVIDE ( __fixunssfsi = 0x400024ac ); -PROVIDE ( __floatdidf = 0x4000c988 ); -PROVIDE ( __floatdisf = 0x4000c8c0 ); -PROVIDE ( __floatsidf = 0x4000c944 ); -PROVIDE ( __floatsisf = 0x4000c870 ); -PROVIDE ( __floatundidf = 0x4000c978 ); -PROVIDE ( __floatundisf = 0x4000c8b0 ); -PROVIDE ( __floatunsidf = 0x4000c938 ); -PROVIDE ( __floatunsisf = 0x4000c864 ); PROVIDE ( free = 0x4000beb8 ); PROVIDE ( _free_r = 0x4000bbcc ); PROVIDE ( _fstat_r = 0x4000bccc ); PROVIDE ( __gcc_bcmp = 0x40064a70 ); -PROVIDE ( __gedf2 = 0x40063768 ); -PROVIDE ( __gesf2 = 0x4006340c ); PROVIDE ( _getpid_r = 0x4000bcfc ); PROVIDE ( __getreent = 0x4000be8c ); PROVIDE ( _gettimeofday_r = 0x4000bc58 ); @@ -154,8 +109,6 @@ PROVIDE ( GF_Point_Jacobian_To_Affine256 = 0x40016b0c ); PROVIDE ( _global_impure_ptr = 0x3ffae0b0 ); PROVIDE ( g_phyFuns_instance = 0x3ffae0c4 ); PROVIDE ( g_rom_flashchip = 0x3ffae270 ); -PROVIDE ( __gtdf2 = 0x400636dc ); -PROVIDE ( __gtsf2 = 0x400633a0 ); PROVIDE ( gTxMsg = 0x3ffe0050 ); PROVIDE ( hci_cmd_desc_root_tab = 0x3ff976d4 ); PROVIDE ( hci_cmd_desc_tab_ctrl_bb = 0x3ff97b70 ); @@ -201,8 +154,6 @@ PROVIDE ( ld_env = 0x3ffb9510 ); PROVIDE ( ld_pcm_settings_dft = 0x3ff98a0c ); PROVIDE ( ld_sched_params = 0x3ffb96c0 ); PROVIDE ( ld_sync_train_channels = 0x3ff98a3c ); -PROVIDE ( __ledf2 = 0x40063704 ); -PROVIDE ( __lesf2 = 0x400633c0 ); PROVIDE ( _link_r = 0x4000bc9c ); PROVIDE ( llc_default_handler = 0x3ff98b3c ); PROVIDE ( llc_default_state_tab_p_get = 0x40046058 ); @@ -225,6 +176,7 @@ PROVIDE ( lld_evt_elt_wait_get = 0x400468e4 ); PROVIDE ( lld_evt_get_next_free_slot = 0x4004692c ); PROVIDE ( lld_pdu_adv_pk_desc_tab = 0x3ff98c70 ); PROVIDE ( lld_pdu_llcp_pk_desc_tab = 0x3ff98b68 ); +PROVIDE ( lld_pdu_tx_flush_list = 0x4004a760 ); PROVIDE ( lld_pdu_pack = 0x4004ab14 ); PROVIDE ( LLM_AA_CT1 = 0x3ff98d8a ); PROVIDE ( LLM_AA_CT2 = 0x3ff98d88 ); @@ -255,9 +207,6 @@ PROVIDE ( _lock_release_recursive = 0x4000be78 ); PROVIDE ( _lock_try_acquire = 0x4000be3c ); PROVIDE ( _lock_try_acquire_recursive = 0x4000be50 ); PROVIDE ( _lseek_r = 0x4000bd8c ); -PROVIDE ( __lshrdi3 = 0x4000c84c ); -PROVIDE ( __ltdf2 = 0x40063790 ); -PROVIDE ( __ltsf2 = 0x4006342c ); PROVIDE ( malloc = 0x4000bea0 ); PROVIDE ( _malloc_r = 0x4000bbb4 ); PROVIDE ( maxSecretKey_256 = 0x3ff97448 ); @@ -267,43 +216,19 @@ PROVIDE ( MD5Init = 0x4005da7c ); PROVIDE ( MD5Update = 0x4005da9c ); PROVIDE ( md5_vector = 0x4005db80 ); PROVIDE ( mmu_init = 0x400095a4 ); -PROVIDE ( __moddi3 = 0x4000cd4c ); -PROVIDE ( __modsi3 = 0x4000c7c0 ); PROVIDE ( __month_lengths = 0x3ff9609c ); -PROVIDE ( __muldc3 = 0x40063bf4 ); -PROVIDE ( __muldf3 = 0x4006358c ); -PROVIDE ( __muldi3 = 0x4000c9fc ); -PROVIDE ( __mulsc3 = 0x40063934 ); -PROVIDE ( __mulsf3 = 0x400632c8 ); -PROVIDE ( __mulsi3 = 0x4000c7b0 ); PROVIDE ( MultiplyBigHexByUint32_256 = 0x40016214 ); PROVIDE ( MultiplyBigHexModP256 = 0x400160b8 ); PROVIDE ( MultiplyByU32ModP256 = 0x40015fdc ); PROVIDE ( multofup = 0x4000ab8c ); -PROVIDE ( __mulvdi3 = 0x40002d78 ); -PROVIDE ( __mulvsi3 = 0x40002d60 ); PROVIDE ( mz_adler32 = 0x4005edbc ); PROVIDE ( mz_crc32 = 0x4005ee88 ); PROVIDE ( mz_free = 0x4005eed4 ); -PROVIDE ( __nedf2 = 0x400636a8 ); -PROVIDE ( __negdf2 = 0x400634a0 ); -PROVIDE ( __negdi2 = 0x4000ca14 ); -PROVIDE ( __negsf2 = 0x400020c0 ); -PROVIDE ( __negvdi2 = 0x40002e98 ); -PROVIDE ( __negvsi2 = 0x40002e78 ); -PROVIDE ( __nesf2 = 0x40063374 ); PROVIDE ( notEqual256 = 0x40015b04 ); -PROVIDE ( __nsau_data = 0x3ff96544 ); PROVIDE ( one_bits = 0x3ff971f8 ); PROVIDE ( _open_r = 0x4000bd54 ); -PROVIDE ( __paritysi2 = 0x40002f3c ); PROVIDE ( pbkdf2_sha1 = 0x40060ba4 ); PROVIDE ( phy_get_romfuncs = 0x40004100 ); -PROVIDE ( __popcountdi2 = 0x40002ef8 ); -PROVIDE ( __popcountsi2 = 0x40002ed0 ); -PROVIDE ( __popcount_tab = 0x3ff96544 ); -PROVIDE ( __powidf2 = 0x400638d4 ); -PROVIDE ( __powisf2 = 0x4006389c ); PROVIDE ( _Pri_4_HandlerAddress = 0x3ffe0648 ); PROVIDE ( _Pri_5_HandlerAddress = 0x3ffe064c ); PROVIDE ( r_btdm_option_data = 0x3ffae6e0 ); @@ -347,6 +272,9 @@ PROVIDE ( r_E1 = 0x400108e8 ); PROVIDE ( r_E21 = 0x40010968 ); PROVIDE ( r_E22 = 0x400109b4 ); PROVIDE ( r_E3 = 0x40010a58 ); +PROVIDE ( lm_n192_mod_mul = 0x40011dc0 ); +PROVIDE ( lm_n192_mod_add = 0x40011e9c ); +PROVIDE ( lm_n192_mod_sub = 0x40011eec ); PROVIDE ( r_ea_alarm_clear = 0x40015ab4 ); PROVIDE ( r_ea_alarm_set = 0x40015a10 ); PROVIDE ( _read_r = 0x4000bda8 ); @@ -376,6 +304,7 @@ PROVIDE ( r_ecc_gen_new_public_key = 0x400170c0 ); PROVIDE ( r_ecc_gen_new_secret_key = 0x400170e4 ); PROVIDE ( r_ecc_get_debug_Keys = 0x40017224 ); PROVIDE ( r_ecc_init = 0x40016dbc ); +PROVIDE ( ecc_point_multiplication_uint8_256 = 0x40016804); PROVIDE ( RecvBuff = 0x3ffe009c ); PROVIDE ( r_em_buf_init = 0x4001729c ); PROVIDE ( r_em_buf_rx_buff_addr_get = 0x400173e8 ); @@ -674,6 +603,14 @@ PROVIDE ( r_lc_util_get_offset_clke = 0x4002f538 ); PROVIDE ( r_lc_util_get_offset_clkn = 0x4002f51c ); PROVIDE ( r_lc_util_set_loc_trans_coll = 0x4002f500 ); PROVIDE ( r_lc_version = 0x40020a30 ); +PROVIDE ( lc_set_encap_pdu_data_p192 = 0x4002e4c8 ); +PROVIDE ( lc_set_encap_pdu_data_p256 = 0x4002e454 ); +PROVIDE ( lm_get_auth_method = 0x40023420); +PROVIDE ( lmp_accepted_ext_handler = 0x40027290 ); +PROVIDE ( lmp_not_accepted_ext_handler = 0x40029c54 ); +PROVIDE ( lmp_clk_adj_handler = 0x40027468 ); +PROVIDE ( lmp_clk_adj_ack_handler = 0x400274f4 ); +PROVIDE ( lm_get_auth_method = 0x40023420); PROVIDE ( lmp_accepted_ext_handler = 0x40027290 ); PROVIDE ( lmp_not_accepted_ext_handler = 0x40029c54 ); PROVIDE ( lmp_clk_adj_handler = 0x40027468 ); @@ -761,7 +698,14 @@ PROVIDE ( lmp_io_cap_req_handler = 0x4002c7a4 ); PROVIDE ( ld_acl_tx_packet_type_select = 0x4002fb40 ); PROVIDE ( ld_acl_sched = 0x40033268 ); PROVIDE ( ld_acl_sniff_sched = 0x4003340c ); +PROVIDE ( ld_acl_rx = 0x4003274c ); +PROVIDE ( ld_acl_tx = 0x4002ffdc ); +PROVIDE ( ld_acl_rx_sync = 0x4002fbec ); +PROVIDE ( ld_acl_rx_sync2 = 0x4002fd8c ); +PROVIDE ( ld_acl_rx_no_sync = 0x4002fe78 ); +PROVIDE ( ld_sco_modify = 0x40031778 ); PROVIDE ( lm_cmd_cmp_send = 0x40051838 ); +PROVIDE ( ld_sco_frm_cbk = 0x400349dc ); PROVIDE ( r_ld_acl_active_hop_types_get = 0x40036e10 ); PROVIDE ( r_ld_acl_afh_confirm = 0x40036d40 ); PROVIDE ( r_ld_acl_afh_prepare = 0x40036c84 ); @@ -1417,15 +1361,11 @@ PROVIDE ( _start = 0x40000704 ); PROVIDE ( start_tb_console = 0x4005a980 ); PROVIDE ( _stat_r = 0x4000bcb4 ); PROVIDE ( _stext = 0x40000560 ); -PROVIDE ( __subdf3 = 0x400026e4 ); -PROVIDE ( __subsf3 = 0x400021d0 ); PROVIDE ( SubtractBigHex256 = 0x40015bcc ); PROVIDE ( SubtractBigHexMod256 = 0x40015e8c ); PROVIDE ( SubtractBigHexUint32_256 = 0x40015f8c ); PROVIDE ( SubtractFromSelfBigHex256 = 0x40015c20 ); PROVIDE ( SubtractFromSelfBigHexSign256 = 0x40015dc8 ); -PROVIDE ( __subvdi3 = 0x40002d20 ); -PROVIDE ( __subvsi3 = 0x40002cf8 ); PROVIDE ( sw_to_hw = 0x3ffb8d40 ); PROVIDE ( syscall_table_ptr_app = 0x3ffae020 ); PROVIDE ( syscall_table_ptr_pro = 0x3ffae024 ); @@ -1443,20 +1383,9 @@ PROVIDE ( _timezone = 0x3ffae0a0 ); PROVIDE ( tinfl_decompress = 0x4005ef30 ); PROVIDE ( tinfl_decompress_mem_to_callback = 0x40060090 ); PROVIDE ( tinfl_decompress_mem_to_mem = 0x40060050 ); -PROVIDE ( __truncdfsf2 = 0x40002b90 ); PROVIDE ( _tzname = 0x3ffae030 ); PROVIDE ( UartDev = 0x3ffe019c ); -PROVIDE ( __ucmpdi2 = 0x40063840 ); -PROVIDE ( __udivdi3 = 0x4000cff8 ); -PROVIDE ( __udivmoddi4 = 0x40064ab0 ); -PROVIDE ( __udivsi3 = 0x4000c7c8 ); -PROVIDE ( __udiv_w_sdiv = 0x40064aa8 ); -PROVIDE ( __umoddi3 = 0x4000d280 ); -PROVIDE ( __umodsi3 = 0x4000c7d0 ); -PROVIDE ( __umulsidi3 = 0x4000c7d8 ); PROVIDE ( _unlink_r = 0x4000bc84 ); -PROVIDE ( __unorddf2 = 0x400637f4 ); -PROVIDE ( __unordsf2 = 0x40063478 ); PROVIDE ( user_code_start = 0x3ffe0400 ); PROVIDE ( veryBigHexP256 = 0x3ff9736c ); PROVIDE ( __wctomb = 0x3ff96540 ); @@ -1704,6 +1633,7 @@ PROVIDE ( hci_tl_env = 0x3ffb8154 ); PROVIDE ( ld_acl_env = 0x3ffb8258 ); PROVIDE ( ea_env = 0x3ffb80ec ); PROVIDE ( lc_sco_data_path_config = 0x3ffb81f8 ); +PROVIDE ( lc_sco_env = 0x3ffb81fc ); PROVIDE ( ld_active_ch_map = 0x3ffb8334 ); PROVIDE ( ld_bcst_acl_env = 0x3ffb8274 ); PROVIDE ( ld_csb_rx_env = 0x3ffb8278 ); diff --git a/tools/sdk/ld/esp32.rom.libgcc.ld b/tools/sdk/ld/esp32.rom.libgcc.ld new file mode 100644 index 00000000..51448b33 --- /dev/null +++ b/tools/sdk/ld/esp32.rom.libgcc.ld @@ -0,0 +1,91 @@ +__absvdi2 = 0x4006387c; +__absvsi2 = 0x40063868; +__adddf3 = 0x40002590; +__addsf3 = 0x400020e8; +__addvdi3 = 0x40002cbc; +__addvsi3 = 0x40002c98; +__ashldi3 = 0x4000c818; +__ashrdi3 = 0x4000c830; +__bswapdi2 = 0x40064b08; +__bswapsi2 = 0x40064ae0; +__clrsbdi2 = 0x40064b7c; +__clrsbsi2 = 0x40064b64; +__clzdi2 = 0x4000ca50; +__clzsi2 = 0x4000c7e8; +__cmpdi2 = 0x40063820; +__ctzdi2 = 0x4000ca64; +__ctzsi2 = 0x4000c7f0; +__divdc3 = 0x400645a4; +__divdf3 = 0x40002954; +__divdi3 = 0x4000ca84; +__divsc3 = 0x4006429c; +__divsf3 = 0x4000234c; +__divsi3 = 0x4000c7b8; +__eqdf2 = 0x400636a8; +__eqsf2 = 0x40063374; +__extendsfdf2 = 0x40002c34; +__ffsdi2 = 0x4000ca2c; +__ffssi2 = 0x4000c804; +__fixdfdi = 0x40002ac4; +__fixdfsi = 0x40002a78; +__fixsfdi = 0x4000244c; +__fixsfsi = 0x4000240c; +__fixunsdfsi = 0x40002b30; +__fixunssfdi = 0x40002504; +__fixunssfsi = 0x400024ac; +__floatdidf = 0x4000c988; +__floatdisf = 0x4000c8c0; +__floatsidf = 0x4000c944; +__floatsisf = 0x4000c870; +__floatundidf = 0x4000c978; +__floatundisf = 0x4000c8b0; +__floatunsidf = 0x4000c938; +__floatunsisf = 0x4000c864; +__gedf2 = 0x40063768; +__gesf2 = 0x4006340c; +__gtdf2 = 0x400636dc; +__gtsf2 = 0x400633a0; +__ledf2 = 0x40063704; +__lesf2 = 0x400633c0; +__lshrdi3 = 0x4000c84c; +__ltdf2 = 0x40063790; +__ltsf2 = 0x4006342c; +__moddi3 = 0x4000cd4c; +__modsi3 = 0x4000c7c0; +__muldc3 = 0x40063c90; +__muldf3 = 0x4006358c; +__muldi3 = 0x4000c9fc; +__mulsc3 = 0x40063944; +__mulsf3 = 0x400632c8; +__mulsi3 = 0x4000c7b0; +__mulvdi3 = 0x40002d78; +__mulvsi3 = 0x40002d60; +__nedf2 = 0x400636a8; +__negdf2 = 0x400634a0; +__negdi2 = 0x4000ca14; +__negsf2 = 0x400020c0; +__negvdi2 = 0x40002e98; +__negvsi2 = 0x40002e78; +__nesf2 = 0x40063374; +__nsau_data = 0x3ff96544; +__paritysi2 = 0x40002f3c; +__popcount_tab = 0x3ff96544; +__popcountdi2 = 0x40002ef8; +__popcountsi2 = 0x40002ed0; +__powidf2 = 0x400638e4; +__powisf2 = 0x4006389c; +__subdf3 = 0x400026e4; +__subsf3 = 0x400021d0; +__subvdi3 = 0x40002d20; +__subvsi3 = 0x40002cf8; +__truncdfsf2 = 0x40002b90; +__ucmpdi2 = 0x40063840; +__udiv_w_sdiv = 0x40064bec; +__udivdi3 = 0x4000cff8; +__udivmoddi4 = 0x40064bf4; +__udivsi3 = 0x4000c7c8; +__umoddi3 = 0x4000d280; +__umodsi3 = 0x4000c7d0; +__umulsidi3 = 0x4000c7d8; +__unorddf2 = 0x400637f4; +__unordsf2 = 0x40063478; diff --git a/tools/sdk/ld/esp32_out.ld b/tools/sdk/ld/esp32_out.ld index f82b39fc..fef78d56 100644 --- a/tools/sdk/ld/esp32_out.ld +++ b/tools/sdk/ld/esp32_out.ld @@ -45,8 +45,8 @@ MEMORY in heap at runtime. However due to static ROM memory usage at this 176KB mark, the additional static memory temporarily cannot be used. */ - dram0_0_seg (RW) : org = 0x3FFB0000 + 0x10000, - len = 0x2c200 - 0x10000 + dram0_0_seg (RW) : org = 0x3FFB0000 + 0xdb5c, + len = 0x2c200 - 0xdb5c /* Flash mapped constant data */ drom0_0_seg (R) : org = 0x3F400018, len = 0x400000-0x18 /* (See iram0_2_seg for meaning of 0x18 offset in the above.) */ diff --git a/tools/sdk/lib/libapp_trace.a b/tools/sdk/lib/libapp_trace.a index 074cebc3d9e71c55f40d9222f19a00fa0750a524..53aa0850f250f4e7177060b2925d6021b0fb80e3 100644 GIT binary patch delta 198 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 LiYU;6NH7Zk(rBp> delta 13679 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�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 z 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�z28TpYJ@uba z720S7xyvEZsvVRdOg1ty2n2u<1nAfLyFfDiOfXT%NQ@p>HE1LTBo6Zp z%54y!f(7OqNDT*Cm=8|GNy%VqLHW%w0F>WAtM{S#4b*@FwL8HI(|f=QL8(0vtPpf? zBsjH0+JB&i7^t=BkjLBs@(8H?*BAgwzo7QtlmJlf0%bywI&is^br)ie7*eF+g%7tYPMmuLHIgC#3ReV>OdYz1*-#jq!QG8 zg?I!s34!d9iEu?rK#CZem~J80&jt((LifRmEfJd7AZOM8?qFhA(}kSab_T+8KpjX1 zme}eciLH|fH2v&Q4@zvHL$N^REGPs(*r74H6BJ9Jcz+5G1yCA+#ycn!KqUsKIq%SV z39Jwl3amk}P>=|Mg#t(&Box+w)qz4m7px8x3XY)FmXJ^Y4eud`LL^*K4oDF+IzhWC z!L?-DZ?JKo=xhuE#S*BxgT@jlIzgj;V2|{wbb&kqQn(PT5LEF%6@okhT8;&d&c2yl zpq3xVBcRPfpj3Gf?hTMCh&PJ6Fk0OfT_A@;yaB3?Ks;EgyaxBiORzVZm_U7Ic+n4< zi~+~yUB+^DMg~VIhC^LU3}?GwZ7vXtLFjHBsJ*(ei-}<~IB7%f@?xCx4iw#BSA%ph z1~E)$ng}ulG))R_?l8^~>}F!n>V~Zl0~rT8nW&J#QT|#TBLibF!#74{=l)WU|AK+4cg*#Onh4BgBZXn)Su!W%75M&`Z z>fFH=hJaeHATe;V0cB-|=}ZC~j0}#ThB(x=e{E-7O$ z&}0NDWei!yq;Z^q!9bT$wx5ZCVev!3iQv;LK_SE-biI#}K?tO8I+HQTW1t0M450PO zjB{-InHXB(mVwgy?hsIV&o3xua0~&-Fa|@engSK-;CKoHc?5K(8ffMV8ffrr1vxYF zHlr^CBLnlyekO*;{jg%q`3`7z(N`8G1}A%v=rcx;B~JD)`avC|Oa>>%-Hgy1vvL?2 zoLnHhSD;&coZLZE0-$DBOf4hK3RfmZ2IfEgOblidU{>Va0rgfh8C*R5U%=q%Z&V9f=nS5|05?EyGw!fpU|@=vz{HS00eYB;7q-(Xr+`Em zZZqbyGBPmNO<-a;26sW=KClZ)7~Hl>A9V5eSM%Mof3`}VgnHW0ZM#}AGWI!xag$AjxFC<8B zGhPHm|BQ)D3|HVf9^ZvWe+)l^ITnGCBFj)ubO1eS?&>Y>L&gA{`LlCXLf zq^Jpeau28-2hOeFnz4@w6u+RAxKk&CPO{8oFgOmf@>3|NoAKfe!TJK;@*=J&X+gAg6!~?doS@5MpFtkYi$CFgU+@4#?2;{Y(r!;h;9} z;(jKE`Ct~PoZBA`3Lcp12~4~DnHa8wgG@=j%g7+Z$iM*dzmwA|u+xg}GBSJuJD^}6 zLe|y1fvJ8UBLjN`$Z26nGH&q=OsV@A85BTGT#%u!KpaNMx*I1a{;8l4W8Tlm(7^O_ zA0vY$NLfFV1|tIl2dFw=I^GYO4*YbRkpUzIc8N>uRFHqT?=Uh1Mu7aoc!!Z8H3H-d zn3@Sp0(Tf0YC(oE{AUD35@-n(XiC+|wGFHr6iLg#x*Q?R;IW8ObnA4 z85rg>g#4tM&wD5p!0?1vUI%QoXD3n2w1JVPU6LIzJ0$T}+ zpu>@{2!hGNBIpjtV$g`!K1Q%jpl*Sy@A_$|@$(g=s*hi7(3Gv_1W+6m z-(h3`iGwxzKLT6Xbcd0F7c{;2pYi@~Mux474B!iYT!W&fgWUUWHzR|76e!{jGBSX# zWthP9Yd0foZ-2D|!J^1hNxU34dZ_V6bCkU~moXVd?=pa%WYRX*o?*d7#S`{gMw=&sOCo~^kHHE_r~0IZ-6WO z2UjQz8u9qgcwrwSLpc)z1E{a#w*Nd>;r)G#4B8Os>9;{eAOm<3#qHobu=KLqj0|=V z>3b7EN3=39OlDwUa69ZU2juAQ;4lI;5`tquD@tl_Gct5CL5vmyX+I;waTO3kT@huxPf(mvIIyLnkAM%!wi-sBw|5v49XHZpiL&Ausg7ukzpkh1Gu6Dtp>OP z%5t$F8PG&4Tn0MH?EP$j}0EY8w;JZAON>ObiU5 z#h7l|j6F>Dw?P$!(QQVC6|tcBQU&v+Z!>rgD%ZGXn!? z@ZM!Ps~EU;o^XqiK_?CrRc*Hz85}^Ix(gI!jzHZW!0Vq{1GtBSwH z$WQ@N1q#Y3OrlH-;GHNXb0B?NR%Qi8sHGg+KvUevhXH__l1)syP(7fw6|(y6=<0hw zy$z5(44^cUbdQn2fSCb&;itic2ByM$j11jimq1R!oxschKGeqGh3H&R;4fUj$gn03 zr1RZ0Mh1{9Xrv2v67C^zD9vDotd0gbg=Jz(Jt$}(3oGVAy>IZ^4s04I&0UWJrMVT% z&@}g-5!6t-#0+Vu7<`BYD+D#v*g*S^{xj~q%gAtz88QrI@S$lgD9*0k1;x{uyNnDv z5JjMacmFXnfDe&2_;vwo2I%13ka&>OL8FZzS+LWg2k&OZgCdxXg@FOqLWMcKk4b`s zf#EG91H-kYpi?z784Q>iK~28;cu*<@bw+|&7#LPEGB6mhFg7r)o5;j4KOPkMizYHL zYyz`DeUMA>pn?FVbOO_^iA)U7<3R-hsA(3*0`aj^LhC$GK!ciQtO+33f@*)5EUalJ z1(pHTCNLRT&2J1EV+0urs!NhsAcdn-!m4?oa6&ZAd_cI}$3#8>gV-9lpn#mg0;w?|^}<20pF#BkNF3w<;e`l*!cpjEsvx+cRFEQ&ouH=DDHa9>BT!SR z4Y{dQl?3uFOb*ginw3PTsRU9FX)2{G1cfuGsU!rtSrgJ!x(0QT+qTYysL^WyQ3Pr# z3A4hQN}IrDfSO7H$)IomHI?!Z3RPHPO{Lp#g>7(!DbEs!wkfT9OrOOa$P*W+9m4TrhR7D=nUJ7zFqN(&E8Pr?>HI+bWK%;hU zT8xvyW`LSXf0IE$3~DODq+v}Zp%jn|sHp^#fi;ytGVrES8Y`qUaMNPk2{skfR8mg? zWjmy%QU)ue#p9;MsJH~=eo#}%25bYUsRWaTHI)LvGN7gsOa|6e0?G6JpD2_o{;vi_@BPfJGO{GRw)TYu+u=_zxCAbWn=PTG|P_^|Y z1ypU#WQA5+lbBY3LKm9z!N(*;Ll!K@FiphTRN4qq4@w8xjE>-N1~ru=LF*SFO{J}@ z3=E*NJJ6a+wyB`_LNt{UQ$dvwsHp_gfYwxkXh1ZTKpOg)V2Y8ON+2;%0K3d(y$p5{ zC}FpPTm)$p>Gj3TdFU1!@k#WMQj~&C)<2A;E^NIRsj|EX4*XNDLko!AIyc5C5Q|ET91~@Q^#?5*g5_BEuA>v&;+(hr^f{9F{{h7lWs} zAmeOvK7aLz{a0J8@;;I7#N_(q@^%|q%Nd^&I15n z-ImH2u>o|v{anxibOLFNu^X5e#L_`E7ifVJXa);3ohFdQD83SuLqIE(OhMaQmV!^Q zh*`(P@SZWBK_C~rgKRkyXmO-KJ|ifM%fY6AR@H-s-9VH60(p$vz@~tfoLx)@)efK; zSHzMt)(lX60$Oqg5(gDt!U_Fg9iSy=AX(^=GtdMxxRnE4awd@hDsn(A939ZQFPQT| z8_z&<$pZO|*TBYrobLisv6KnabTwQH+PDN-2q;j+`1dvFJnxWhrfK&W!G|J%dX)lY zj4G=^9$$Ztk)Z-?%TiFEDg#tV^e$%t9|{7Rj<tlT+YOBECV!vxqCTc2nlqM97qi)l;s?2R)OpS9g+Yt2YN^XXg?Te7Fy2bHdq>T z_P|rH13+gF%s@MP;0IU+R78NbIfD8`utO5WGeLFSQut<9hAH5C0YHZ&@UMnsZsbD} z95K3@pfb9N33P7={E!6DUU*PwgAPdmtv&&5#uBJtYypQE$f4$$ppXJN6m)$EXc7T- znu8Zu2INrCLNjECW`Z3GyE+8i-~nAA`;CEtVK-=>R23u7T2MHFZjSBD1SJ{J$!Y(g z_lpZ?d<5GLIyr4#CMaEiPEOkhwheT08cZGRZ>b4WL8Dup`ZGfn96?8r5e8we{=u6Hp5G1|=7eGEkSGpAmYxfFYzy zkO)==>JpS>fxH4T3Zw>{S+bsjodN0+bb-}@jGG5C4$>u903EA@jh=3UD>?~M1lk@A ziUY+-ObkkE!3idYsf2^!7vpRu@OVZP)5H)4h80Yp74FNKWEmM51X>tD>vHdBfp(UH z^H~pLFzC>{i6M}KHBK-xFo4rcC*uxqoPyHKUvMaZ(#&~A$an=T%?M)W zdl(sxW`lZue?VaYZuo(Ee&Biu+!~Bwp6COrreeWMai=gHVPs$cZN;=&2M!Rp;$qMq z5LPAz1|OKj#1MvGjBAlYilLiHb_Ejy4-*3es6Z2#&M3GZt-07(fHY0y7x3Hh>(>y@H9s z6YL;R#Tk683W3|>1|G=KhTEWE74ps-M3TJ^G4pTFWscZ#m(Fl?OJ3Mtd zSU1SwAl(fA8UM~@WXOPy!^&lD155MFV`NwhTFy6x33PTNsAzk&9uhIgMO!M4qOFFB zf#EV_sWtRI>{cf6d5jDlOpp;l>!=1M%Xy3p2Xa8IcKvyb3=^69m>3v#Xn^XfDNLa8 zUC`EBhYb)rK@F`YCUCWk(v$(6ros(O3==lM+8YY@K~w(O z42lN(DnYC=21NsqEQ8RY2GH`*cc7)P3=9mtjG#H^wHufiW^O~S^DpOs=9p8H83Z~( z5)!$fDQ0kuKgk1}0ev6~;svG%fh?cs&gO@#F$l~6<=&uNP+Wor znL#lDD#8W2^*4gz9Mp44%>`vVP#q2)Wd6^1@E#)rsNDcs$RW_v1Xg(A9wWoQTu|4h za5F+ymzi-gQ`ctD&9zJon;97b@<6E=rgt&Z^v&SG&Hs$I??G0zgO&*jOnR{q)X{!( zkCEX&W7-0U49GG)*)w37(gmPPl|ifEL823w8W%7!ECOxIU}yzj0Sj7a3YyW@lWk#w z-2NIeALPTN4NTxEWzf1*fhmhOfqdAyfr(*j9w?htZ(w53%m=YR5fz#b(g9iu3!2si zt=m#GcH0DMr=u)~1r?j%<*=9fUC)as%ZjO*~cJhG@5B5c&9z&gjdiGVX)Ju{RBH5v^n`W*aFbzWbFcw1)#bM zG_eEnKJ56Kr~*)X83L#0gMjrNeEJwbIdXy1vzOxw+%00Gs54REurF+e&{uzGM> z0VpwmmMnwJ0tFFh^YKeir47Q<8o_3O_8xBon*l1xL5)|id!Q%LoB^Bh6W&bu&-mva zBLj#JPI^EKCh7U?FNi0Si(y zk%^5FzP9{7Bk1mPkN{|rq`;)=tst+1?mX8m1bGUyR}v%(N@IGmE?`+XQ6`3{LQn#R z$v`%j=7V*Bn!#L*kS?&W|DG)%^FXcOCa@0Bpg(9}46^ZJI#>s&6$}ywl`O&uQ^7hw ztzeKWv=t1xeFa>xLtDYCz`h1m>ia+^1b{pa+A}EuZH9oRlNN7cWVi+n63`e4Tn0Ku z0+NA@ktjjud_{C5!M+3K^p}O8$khQgj6k#XlbAq@hGBaq!Br(}jD&gOj(X(zB5uU0^k!)B{rk zOFa-Zpwt6WGm)thk$NB(-1WpTF?ei4)B{tPK*!81T*1Upf)E8&wV=WlR39M?EHyH< zGBPl6179aa&6Sm5Py`tqRFL<~aZ zHK6*(@++t<0BL+O&e7e@#IR&LY*FgF>7bM1TbW*OV*<^`fv5M`LtB_Y1~V72%!e%f z15NtRVq)3OggEgWR=?=W_iqP96DZXk21h8oerW=qXbN}xM9|_8hTDwU{)`OFo3}GD zoP;|Z!~#3q2I}x7V25XZL3a4F?Mw`@J75l%oB?q-$SWYXfSd?&ILKghhwsJaa2t7# z9WaM~Aj09_7zLpRdMAVH@zNbk4E+0$>v7p)SUo-;BvDWdug6!Q*5j*C>+vGha0jj`2IV(+$fDKUi)?m+d;+Suol6MS+)GP91s|wt168@WYVH+_cH*kJ z+rTo|YHoJWXd@{#_o~=kAcuo$ZmCjGMh4Z~eP9--<~~shD#1}}ZiZc?*4$sg=7B00 z{W4Hd1TG>N7{Co5SP=nH11cgwY6#TaphHUp)@%kl9aM9Nmw}uPs<}^tEx=ZDbAU(6 zu+`k4a`O=EsG2q3!KQ-BO}%oEV?pI6=qM|2pBq|k29<*n18A`uXt6seh(NV2h!0LS ztFm^30u@wl7JANUggIEDNf2|CWOiA4~>P>&jPvbbxBzM+~r9 z*9fcwRO=d5fOI^89-siJb=|=_K(#JN98&9YgLQyvU63ra)_ntA5D1!?0ClCKDnPyl z)w+40jxQ*HLA5TZSp(|)!)o2O3Xlw_)`iPJYh92GB$tA=5QEwQB0BwGn?dE@%nDG% zupnw(K~T>WJVc9jQUScy1+T>f*|u&IBLk?B02+Wp)VeScNUeJUY`!LXtqWR{2g=I= zYfSfoq5+h8o`JmpNt^=&rU9|#i1}OE&RDv7^N^G`Rrk%|Wh7na*Six<2Hk z0beOIohb;kd>*_$4Kx(OIH!6a6T=a>VW8#nbzs9lD~27TKr*o9^Pv5-;N|l%gqP3% zWo!ro_ou+Sk{RcO?Pp^6$Czr!;AIVB&IenOYQ*4W9lf84fic+F%O12C_dnw#=!Gw! zJmF<0zaNww7S3X1_*4nbv><8Fm={FaWqoa21}<}61L)3pj5j7AJzjsXWC&I$oJYX(#7VnzlpFHi^dR267_^e0aS z1}|^WN{+i#pv-?7+1bw5z|Ouki;>}X71-GzX}GhUKZBhOl4cBMfOr{H?t%T}C3FDh z<%VjoUXYhTi>)BihH&Z2An7J1ko)j^`YvN;I3t6PB175%CWiI{u(p=!Y|tdbVl|Ky zNc1J6v5y|eGzJEtS>TffLJu%8Sh9fZWdQHeObkv3LDqtdVhn0wdI63e$O*`xi+;da2DI5`I+H;JBZCik=MJbt z%s40JAQMC5L0B^f#1g7uU@-P^1NpU=2^;|S&f%b)`4J34+d4p7b^JhPfV%GBRX~h$ z793<^*ok6>aSf=X1eKqlYl|4BGv$D^fVNXZwOl^P#P9}1O9;9a+ek(RpL|dY5wxb5 zaSq!dCIu%V`fHqx$MpD5^547n@Xd$SW z0TI)foIw_Y4uoU?^%)rFOg;iy=nA%YDu~S(46z6lXN*S>7D0|Wmw}0ZPa=qBad1(Q zhn_MGiYX(QGbO(bkOa!Vyu%V%bVG0u{7l7g?872+Z04n-wVImL>%-jtB8GbQ> zHatMR1FkkW|1&UveRY>{LKGu|uM)$`BTNiij=-`qh{YiE6VPuU49Cp8;%%@WIehF^@Jo+-o=91IM184rN0 zRA)#!%EVB46y|V{l@A%W^D;2_se?ozzHDX!S+oOmh#Uh0188>%jmsVz*F2P<$NZ zU62VN?=l>R#0e~EfCj4k3}eA+kdg+dtc1n|)We_@@(<)1Q-+q~OboNpTm$l{pD9R` zK`0LFQ?R|?Ab}6+u`|xubDW8R`vk}}AQM2Y>4UlkC52dg1-k~6LYRwL=A)z$&=yk^ zcY#x`Y&;`_pDlyT2_^>P6R4pCc9$(kltCyJ>@JWCPPrkwE93+d!(yj zlS8D}gQaJJ0%Ky#{1&Eu5DOA4pd5t}ETCPkpmJd)lL;s~K^YfPC_F#K#K3YI7Ah#Q z83+>J4~|Vx!kNz01o9PVzJmdD6c^(h<%#2?gx+To!11dR-V z3+1Sc)1bCAC_WkMKsycL@!7}(TCGua8d~vA^k9Hoqj&BU6T@_vD7ZL`W}4{1FcG}| z1bhG{xH_E9GzH`_&=x3$=iplE;AtiX(KE2-%)T{@3`%tj49336ppqNX$n=eAiDG16 zp17xe3V35PsPyGJ191UJ6kH;Kt7A|RJP~|KDcH*COwBQj48FafaD<#1qko2p!4AbX zXV6_R)0sXeFf#aot4~OaGU5yqLqA;M{56aW>+3+R8Bntt)Htny+Rs$P!T>pG0OSd1 z8fRdb&a@C@Gx$hUNCRr+8777ua05a9d3 zYzDP)zhT%6awn3_`$0B?){lT!H89RmKFh>l1UC?5b3dphI-Th*NFnI36KEUH=PVOL zG>XEL5QV=%3fF@|5j0f7IH&Y16GID%LT1q6$5sJc95QXbO3c+n8h>3g7F)^G*QTPO+@GM9nXhaNrD-YwGr{|a$ zzMv?S108eom$4)tQg4Cs3gaB_^PoO?q9KFta}YD43DhS~G-B|59&jF1e;NC}1u1L- zA7+Hv^99XrfSNGiN&!s#Wt;@H0Cd1Ne-Co^*EqL zlHc`p=Ru{&!P$%qPn$raM%!jHGW-I$9CE)c$Vs(?m>9TPK&9sO*^oQGL2XsPN5?LJ{QGt`BZFxR$iI(fGctIz zfRZPu3;=b4HeWzao}ewyAW?82fcoG~;G5(worfvnz!EOgnErs0$8S)A1NE&K=g3`T zV(4Nj$t_^;{hJWQ$iP&@@QV>tj)Tnwb+A@3@y0PS_%ef23uxZ}aFT zW=0T)F?bFW|4b$ZUsgs)pWb5*lfEMpgD)E+sQ6`?=raX;Y9DAgq3R;kh2U-x==ivq zFcEM$91WQzi(xcimQ}{5Q z!g>kWDWFD-3QPpkDWEPT!YO|l-#{ZA5+wUCF){pPbcqA?MB15pT$mVq0~tYrj3LmV z2}W~I2&Q|c!fY=AEiD2C%@&vlrh7oE8xiiA&a@q_Z9_~0mHMEzR6vfx6_8~h(^i31f=t^FHw~r^W*S5d$TW}|P*$D48gkGh zXgVbz=QY^0BdZx1u7FM3v6_+LC788tH6z2nR*(+nIS?HnSKc*V0M;Qh2c}MF4n$om z6UaB9H~^`;;{frEU>nHCAp4C$hcGj=GJ#A3je3Ao-8F7t0+|#HRs}LCqYV}=Ff}lf zAZkD+fz*HpHbD^!YKDPuKu+RSP{4qqwYCjZ*1$>?`KySWF@*`#H$8HRiNOXYIuW#V z3_Pt2Is6<{5CtJ58GbQ>j*0=NtBK%4f<5}^+;=h=arw-n^O|BQC)7#TnlYoLlg$k*T|C2mkLUbpgBEIY=_=L#P$@(8tKza z4B1Gcjo|srHmC?FI6>xsVvwPc2^69W;Zj?mA^xY1VImV~)iXGO++`HcVPptVV%U3& ziQ&X8SS1Z&F$m4*294%|Qp?R6a2pAF3faqBObnlHf$};?7kEtA5M+uL1M_Vr27}wk zraWZKpUuP&q6KOJKV*zw&Bzd<^&T=J8sZ9SB7<(002y}uH7Fx9Fn}h+80YxhW@4Cq z8)OB@NYJ5e-95zsvYc_w*4s=B-$9u1?tVsww{sX73Ohk*>hc^!>mnro(QQz? zKbphHuo|?tVj>f0qI*pw6T?I%Q2zN2$l*zMpk6A5c?ndZdS)j-mq%dHjVs2)ckEnyDDnJpc`PG%|q(RK)K>91PE> zJL(yJF@m;Xg0eqkUnF=?hG8N&-aylDjZC1{f)`XLIBz$CCqGi4LQrjBnTbrG$uDpc z{>#Xf2T7fv?9DjG{T`@umTJflvIN9b?*etsQjHiwmiXLbV#w(N7c={i-n+cS^Kv_pF zFc54UXk$u2H>e%}ZA<|TTYwe_z&55dgJnQVV?fmws3!p1b+xD)lny|5Q9u?}F-!qp zoebKV(E0!p*vMNGa9vFc3P<>^D^Sn-HlrG7m*VmVObn+Uz{+T(U5fD_(T9wnQ|GMX zL8s0^HWA)tRCvk2!2J9H6NB1AeA^HUK++KXas?p$kS&R}51AMk-+<=8UNM#wGsu4on|x`Wt}RJsY$%LF9~fn|(bk3i`NbbS6P&`2+2 zw+^VT0G;Y8u##~afMh^Ukc;U7+W<)a|v(J7%K44-f z1hYV?sHGp|8JOx>Oq>rI(ehkSyj3(gXd}0Vg6VpS`9TKqRM&+P$ zJ7U0l(wdk+12NbFt_UCK4oXTFK)zTCKD*ifITI|IZUQIM zXZ@hPl%Q3M;Prl>MeiFKUxKxQmMt!r019f*`ajU(BgnGFFB3o!rn`xe0VED835635 zfpvhEErMjB%NAjW1;UmsvQGrXIcV9UH0WwUkj0=Kzo4Uuz*}ZFF>*cy#XD%rtT9Lh zWMiy9BLf4dKP<4F(e4>Y9<(vG6>Ju0W9*EHpyUtQ7#q*XzyRuEz&6INg{WE1#Bg9D z$Qv+u$i~=j6R~ZK1*ri!M$U06*e#&612PA?F?I@cV}qQ_7qB#_h<2R>asa4^UW~SP zFaj(CDxz1Q?Hw$i1S+C8z*jFaOkn~Y;tEPG8qXlnik#PQZHxt-QU@!dnJ0RH+JVsP z!!N*gIqqbf2M#olOQ(a~19ItgG?%Ud%Ya-8YT1L*AFMJt33lldgiDt)fo{Nk{|vs5 zc@HCWAM+F@E+z&B&|b}R5I=zTYBn-~wgNtYh=BKN{$f0ayeAQoazTo~DfcKN|8r0* zgHrBG(CP4P;Ctg0nHU&AZ4rT!j15enJL7dHgHjXd)_8}>poWME69WUNat4)COhp>t z910qTX6R-DC2!DycVPV&8Bc)C2PN;+$)I%Mzyw*Z3rXHHC&Q9ANF0*97lL(wk~c^e zn!LT3AO|kNlJ^?0gFwmq0BFM#EP4Au56~01#P|Yi3@CZu0I7iNM=fB2?nk}J=?jZC1;r?+7e6GIrLFr5Qc$jqz^A7P?Jpt0raObiUnFQEp2%T;j2jaZrj zJ&*vgh4CAs33ML=Xx}p99NU*n4Da3{SMi^xz|O!G*a&J(xJ?B&Rm+A;%KF%3$jpa>DzeDEbGxBb!RlNcYI$+z87zdWYwy!~aI%q7KxE+b0c`AWDrmsN` z2kmRnnhr`ZpnVPVz%0ErRgA^I%g!E7R>}f*cFVhoFn&K@$M5 z{a{HmL5blC+HOJ+ACy1@_Bg!(1uAG|dK1_T(8_d}ENo@^l9{kT*#TAq3KW*QOIm7skM4`zbm479HSBn#QsFbOOR+SkB4 z3zYa^GLU@@`m;bfKt<>?_`U`%untfO>IByD0=lpaQi6tqb$}WOAaO_u`WWnKPzef> zg_fY8Hach|7gmC1%>wxvRD#xl`d**_2JLGAHEKZpBG|r$X|q5wpnVN+8R)(SkPIZ3 z{)4(mL?<2WR!}ZoISUjq9Eg1lqNMF>0PS5w-PZsUf$VFz0XAP3eP09UEHhAE7TCx8 z4ipWb)bkDO1yJe%?PvrwIAE!VXEw-@j_~>xvYXHawy$AN1K12u>d~1E3Ifyu&B zkK=4mID)cNC|C_B^}y7?QV&E8DD{BUOk@IWf`q0X#BRcA@1R9;5vUn_h=GB@=^+!t zNrWgU1A>Z1P?HuiPYOEG^EV@79B3q@ktvpuf#EhxIe2?RDrgiLrCbMXD*VRS3Q7zN z3=E)CFc{}>zh`1#`ixwf=gtQ8&p@Z)2s~v3Nj(A!fXnY^jO?G87&PX<`e)A>c|J2S zFouHrXK%p$vyeIP{uu`o=&YDpumHG!#>E60irzK{-aiv!f}a=xYE*+VH>lJXc*D5r zJtzi2O_M92!UEE?07ovUczDmK`~f5n${2QYL0Jh@j)QVNBxB^y1!W~r#sG;!GR7aU ziJ*)Dl7(gr(5h49jL|d~6rrGuF%5LY3aDuT8ZZD2;(;=Tzz4==u*IOJ!@9YkWC3dA zfri6CmcvF2&VXe=i4L@x7UU~fBk%QGP@)4(t3gK$mNJ3n25x*{VpznK%pmX?(ZmCd z_kfys+dqJlMl|?_U}!@RG(L9{A`WfnfwmKaOH9gv0|ND(+R|1kalI~o+4+@K3i zyTJ`TP!|mxqW>AKKY~IN)Y#LT2MPdCW6yCOsH6ssRAOuFK_UdSFCDZBPJo?h3)l!y zge1=cMF?n!4`ezdLZ;7yMF>b75+S`{9iRvS$wDIpG`WTxA*;ad0Y%6@kjp_40_w_u zN-a=k7T{pI0yYNJ*1HB$0cq=j7G;6D+5-GcCZ9ll14S6ud{~5mR!)JM7O)7D1nCvJ!`p@6r4v6G7#NPjB*1Mw(6%qo z0OehnD7dW$>K49-iGbUB;5?5~CZHZy@r^MC+Sa=XDm~_Cer96W{}Z`%csC!`wmS@x zFkS#}+nqse+nqyg+g*UQ?Z9VG+y<2cxeGvP0_E(9qpLrIA`4W9G%NrGJSbOTJA2~T zKd?ejOHXnkp_X3uLQsMPl?0#!iL0e|CglsRmYxS#23t#SFK8Hrfw-0)xVdyr{wv6b zpqAc+g`ngDYU#Nw0Y+z!Y(x zkzvDPNCO*m5)Nl`6B`*B&MgK7Cg>EV$BRMn4wHwR!t@jDUeM7=piQNq zemv|HCY~iAeV~#?ehJ8QP(%nrH(7$Fjs)%`e*;Aw=#&i8B`{xu4pRV^7oH7Fpli^) zmw=M37Sd@^pmr^2PbFw7N8rM8uo zsqY|nfLbOC!DfJ3CNNo8%VZnaH{c`yRs%``Fg36w08s-@0$>}15IZg*r(}Qx!0p;I z3x9yDd~C+V@MsArU_k9!kSwHKn+28ywQKp8f`S|-18LW)ECuNRwQE6}0YN!h*#8mO z3!vJ<9IPV(I;RY&EquT_K-D)$98z2C2I~OT79d$@ZIOU<4*_VuZv0YM92SGuvNE(X zf!ehx(7_~FyS95NDEdI{TDT0fT?>+dv}-~0IG~v~5gmK5??7eJyrrPX1>F$=E|VsK zk8*$%+)CqQ!*|*1v>?ldLDqi07^Ze`EgKH z2unTRz=nXXe1Ozgkaq13SiAOI#7|IEf>MvzGEgvpQV&cPmU^_8fx;1#dhEe!K&c0& z29|mtYCx$6q-G)$Xo?)8U7Pn4UVkx6VFKM+_4yqW!z_d-_I52pBhy7j28J~-b>Idq zxJp8)yg&`w=}Z-%{kq_@ltBwf8Ry*l$;80(3sz}?_Unc(11)MzO=e(C1WCa5>k57b zI}W^@39|Y38)H4R{#y^J|9&ws6f!U~dF?A*i^= zSL3}7`;Du{vjWRttMQUnfC@(vYP`3Ce?UG2)p(^VK*J&5TH|f` zO=^u7uo7f4D8Y8E1SM)vf<>?KAZkDf7NmwijR&r*-=~9}4yy4sfh_>lcxtOa7GSIK zl2_rX@%Az>FxY~cjDO)Z-ZxN<_n#3||xC!S;b_yv|ji7=+0{YQ1^jW%sR2 zpjr=fIup1@@*Ps^?O6p108p)W5v&s?52^K@gWU|O_3ksEo;~;rtPfP{@va6%EGRNS zH5RBp0j{y$NB#vxAE?YxUJdd&sLT;YtFhcygOV<&y@_1rfcT)~Eb#UW*bGpalMXfm zROY~BVP#I|YLE{=Q8*W@1{8%bHLx-Vq6QR&AT<-2K=mxN%z@NcAOUcV^*Z=J$l0J8 z>*#8br$99pNET9K$$(`+HP)xqpn!(SKx!}%({!{*e%mdX}>T5tc zK*vOa>IX=TWdqg$sls@ z5`dx?R%2DK0m*=BEVvA`#sbMe$`sIcG?0r#bUuP@29+s&Yd{ebfEbAZjT69XtP;>9 z8mROG4Jtqvh{S@16F><8a;_7of<>*dU?PwjYcJURQuG?D3RYvipAHUaQ0lo2_5vvN zG@_j_@eyoDCt7<4bo&K31-|8CU}k7w0;L|owV+@Cr5>0pEcK|Z1%)Fh^;m(`fKm@k z4J`FQ)PPbCNXDOpi&*|y#I_GQyCdRTu^3IvD5_{1G*f{2yBev zR7QpvFbi}!Sk*f4TovOkrejVt{PDRyMv1*8O1$BSSw}&*LeK3`^F5 z#wsR5)qz4pRF<&;tZ)%jnxUHsBoDgn2r9n-F25aQWj9mF6h;Qn{!FmE9OD77eDf4W zhBF}fHn2Qs79J|!zyy+e1(IWcI5HDd>o71dD4R4fgF*`ANS^hekODbUaXrkDAa!6v zWEoY#3PFwpNkbh8T2~E~cZJKFfVOu*90^LzV0k&lRIohAA)X+4h$BI%A1V)VWDH1- zp^phPgaq<|84EK*7gJ(UI)k#~HeS&25H9~2L2(W04}w}T%I+V*27}_d5bOg`T(_); z#WiT|020^Fm_cz3T4n%_>xoRD@ly&-sSwH~`Ds88)2bH#W7@#)|OayQH z2AMJiyrC6jN=F|@&vqXURj&*rZXc$ zHxnp+KtrhD_|akPV`XM&VFE=EV`vK#D0&#f|1*LzB4~dCD6~|pnpr`S0~%0(Mh>W& z1BDSoHxsCAGJu}6rL4~=#m3AqnF&+|u|SF>=7|yWA%zi06{vC$ojMs@7_oGN%Oa34 z$Qo4x#@AqbK(#&Co;D^>h6iy$sZiB`v4IJc+dVcgFid6w<#v`9CQw!fSphy_7?i_7 zITN(ZM_He74jag8pxgse(ZU4EJ&d7<3=F!EO;naK9;^(McNjw%AUOlHx(j5ds2pQG z8z`lKaz;96Y9Ep_KsQ}NJal&W~eKO*l4Iy*0yzP6djY7^rfkBf$N|y}3gDL;V8zq_ z4IsCI%1Dqxuqm>PN5Hm#+yIh>7Eg;9AQz^H$}&EI%L{D;$0Vo>T@I6%V`Kqa1d0R= zkUYedD-rS#S6YMQ7`mB2!;{+>AV&l%TQPcrHG}ec;6_kh--F2OpguS#9YeMo^Ru!t zRB}Me7|2?4$Ou6UsDbs15#%9I4u{U^M1#T|6ocR#F0_}0nPDa)%NB6`c?6ojL8k&U z&SB++)}L2FRbu)^Q2hzc-dE>xFf%L!^TE0M>VG{3hC>^n?Fi*-AdQTnQz3c#8W%4! z!{d#xtPQG~A3?JA9Z=4Ol)Rvv4X$PH&f)~65BwQBh7%=Y{|DEwpnMLgVf#5j@e9gx z%$q>*3(9kfU=}Fb*>3{Zu<)|rKjS1@Ch#dppcbw2BN;A`?k%=V3^`yut8AGV8a9C% zgP{9ALD?EK2q(H6a{nht4dnh$(2*>lbOXBo6Kn*?0h7T-fE=(4%mO)J7sLS|^;`Kt zI{q_)N+ZyrM4)c8^79Q~?V!TwJXjN`iS!uk0#F77se_b94dC(!qy|zXfn-1tt7^bl z#{~)@(6I&Jd*e-SL%P~Uo#3zs( z)DfUH=%9{)^6Oh*y&y-3Yyr6()D7cOtJ z1)gz1tJA>xY_J0z zd%?iKU|z&*$p?yDP~pI^4U_^wg@ed8Sm6Lth+H^;)IbUcQ1uRq7F8!kU9b_L!a);k z1gLPZ0kc5aF91{nOk@J7hZGKwrV41F0aQGhmop#bgEv(gz`dtbu>GK-0i+6SKWbA2 zBn*mnRRhLpe4ugxbQ%;=xd7sV9S3WwOxgx-sx*L`Dtke$0_8JMO$y5F5}@EHXZGd? z1qUcYzS;&_A`i-tpzC@djTMkWXsN)*4=U9`X&oeuSt{s(4FaWQ@$C$tAxBV63Mv&q zqnDzvQb7kK2d&RRD}F&cHq5J;KY|Shxq^8jXfqdAa~B ztXj8&k`Bm~v$ul+732z#LZ~aPzzRXG1W7~71yD-{Y>O;o6kL7-$Rrczju1SXLfX)v#yq4)0aAq}n}UR)+0<4DlubdqLy)p5 zhzm*r@ap@~4tO@j(xU(^)(5q@&3`k05(4EuNCt_R-vI7Wd<8oil=MIfq1kk+5Gaj; zk{(DJngKxDmq7N4$}wIA%Y%}Z2q-~8k`}1hfs##4KyuJt1?aEHo0L|l|{00hPb2gTxV9lUBuDlDB$3g8;aOFRR3Dk&|@@Har zEdtH4==}-MdHhIud<8hO$1{P70;WO+=7|h!48Isb9);xX4d4x?pf~~94e4<}vbU)? zq~ZtFx{PzqNx7-EK-l;60ia!c00M6d2;Fd!*SU_8cfx$eL1yu3R0SjD~ zWdsR;jN7vdR`I8?T#{gBxU~zE-N6-q8q0MFP=;oJWatA7pmk)Rt=Hz+ETD@2*Dg@P z0cB{=U;-%NnCG+DioudE#t;EW6_yMQ5(ar&)qs&t43wckp$ksIkoGu;3yLpzhL+lm zFGGVy9KgvvpXIO^EV+Y96-XZ%RIx(pU64YMqeW#I+rSDz=?o+dP3@rRA&|YIa*WHw zKnWIN9+HmyL2}Rx4H`oL8E#(8A}xnT84%RgEKT} zQz$q%K%ouF(4ec*z(rOu%QA784?&3snxPAKgH(btG)N_=JtQj2m?;kO0?3OXX{Z-L z6LL^5bb{qUUYrN=2E>b?dt9LM5HB78$w4zTsG|VtiJ6zM_(*^Z2W99dyBQcDCFd`= zD?kdtm98w~d$27aSAe9U85(pxDcBZSMt-nCAbEaJM;?-)LHPu%Uye~9EDv&}Do7sU zO3?9KVEwSBg%wB+nxR4C44@D;uVN_!YX)WLfIXlLy%si9Fog-!&Ak-B#IRX{m<$ch z$Bgliy89O+$bVS#u~-iyv@s9K%(>9a3>y7poKq?T&CHL%nK^9_JTpIG2?%0hXa@^` zGxHO0W>*817 ztgEmWlte&T7u010C)BqrKO|uZ6(j3{RDleFrBmqW9!MAzxT*$>CnZ5y7nJe9X|)YJ zx(DKdVg{ad9rohOx}aD9X)%AxQY8gT*odqP>S%ycHAorA$)d81wqRwT^uibhP1B&0 z_CR)u$}z@Dfs!RCwFHCaZ6T=zbVM^$9+IXDL2}S+>ki!sXa14pniMQFFtaU48OYzT z;DCHpx%=Kt3&Y~sIG@P z-$okdy~!XiK)eS!iwG(Y@!m#|95l;8mE@MKv?PK{$KV_^8j2=Wxx zdIUUZrTNajRF|sg76_zXv5(WjfssUqjXg+KMruy41PI0a?~(BWNR zl^1!Uz$zO+Mbbe~G=sdc=^$uOZSqP+xI)pX4NUV^GBV5sn+7_j;U*s_dLhPv&X)xn zca>))+_>X#+lq$drN~x<3 zfl3dDMU3D}(ZMC@cb?VCAWwsCg#Zro5m4VmS;74{!jP zfdv>t+L^$?W5&Bn6%-!O;4$X~2TvFzc+7eCgCxVdnX0!!R@Q)KN6jsHKdOKdXxCOo z2D`(ck=Pg{X|4sV4NTcv85!ciQnp(m=k4%sA(&8YphSO`s@VP!ovb2q>+Bn?TXLpeB$eSO6SZ z(Y%iiF)(-?0Y%o`=Zp;I5EYD}?Mzbhm>A4s!19b??Mx@9GJv=s{fy!5OyD+G3^?^N zO=N&XUJNhDZl;MW(8S#gmd-u`3U*N9289PWaX0aHsDZ)^6tv*P4H@FGWMySIr3MWJ zY(qRu;I%5C=H+ijM%3Y*iQprdAgLGBzWmF$6dEcO;E`HO4S1+@f&($ zd~hIuL!}Gi>yUOPaF}#~<>6rhl?|H@36pNH>;bTG*QYQtn0JG{{on|!v)IiGvYcrm z%N$6k^@HU>%MH7kiWVW3H}U(~XNjtAAJ+ASX;7QDtU$qfT_FuuR+o8vSA_ zWB@gi*nTrI6|yi-WMN}y0$=e2G7Z!yN9>&kFZlr{HqbtM@P_)Ko?gfLl#$s zJYobdtV;oz1exv!T{H<^$deMG3GxACy1xOujwkIXY?&2ktrjTft62GJf)X*P{|L_b z6PZ8@)xhZ)GO-CdHy5N*IkQm{RLX!_9W6&etqxF=7u@QY0=`5F6pV8J!v~vOEOXzeksBQ;`+U)IGuu#)J1`4$@!~ha#APf|0m$lGCZ3_6PeURLHG&whh ziQs}3WLFdT>^BlZ)Daq@pq@D6oM;_TM>T~(*#*4D%;6ZQ`~)XN7eCq2tB4lM5XebtRl8CY& z<11}YSb$RG-D99RP4L>XAjsM>P@fSLVk%bmwLxJEI`<8lB0(E-LH>pI4?xT9Kq{4k z7)5kI27;30KXBlJI(X0|391@F0cfBD4P0<}07;UdAt;c6P2gZg3qZ(h8>r4gO^*4{ zzymGyV4Rby3k|$nuvdkTg8~N}S`Yz~OunsTx_BT4CuHy4~*s(^cvc~jFX{(0h<42oHIcW8W=TT&t)M310v834h(S8 zsR5r2#ux&wY?W&mL0TC@p<&Ys)(#09c(Q3_l-GlY4QxRoG;9!wMnn%3Hbf+vc1BM< zSlFxqhYglQld1;|8>Dg!HPK*(4YUe^2hkpA5P|x-jB_jvph46P_T$0hpymuXvvo6q z7FfRn2N5VUbu)t0GKMT-N=qqbP@c?~SOKa@J(e>GC^9lAPY3JgKLO8cGrI7($}}Z$zDisUjt!SpGm71fZkW80V}sg*FKOfU5E9CqYXn!5QigC_lxV0yV3^ zODg|>7ECjSbTWa)T$TTV8~>qGne+}aFev{8H5Y15!5UeAL54DhLlP+HP+8F6r!og) zjS(n-K_N8v6exs1H4-?1_A!Bq98gY}V9Lw@T~{rLw5~dcfdSl8Qx;;BHik!ZIHWzc z=@hJG0UC1wWg8W%yGEd>293yr3wcPM1aTpGQotDG5>TGJeF_%UKTm-wQ&3cc7U?id zWCFF>Kp6u%vI%N(fJVNRr5HDWwS(3_s+}4P)`x02GUam z$$;DkTK{Maav&(5gB=JN@da_A@{lFjeqiH4B}Oio1#(^EX>j~?GYQORWawjHU;tGz z%2JFmCLlj)%x7en239LQpOInBX;23lGz9`u2->+VYQfmR1RAh}C<3kV0V#sa%Yqbv zdS#-rjB;SpKm(Q_Y3Q)&Y{VKJJFq-xKyp9GJ&*xO&>R71#0$P2>MlqQ)aL`a6|^Y< zG{>YY&8T4tb1UN+PymA5Ds~3uR**taNWp%D;lkYl4;$LIzhsE(6QUF>--j1M-U*ujcgh)(FaCglvEu^P~1 z8>sCCE^k5W7Z^d!3rK(KFQXYW8-q^&V4M?V4lQqYf{VwxGw||uC%C*_eFj$E?qme1 zg_pMn(aPJSVEt##z{}g?U;(u9_Bi7LGk7+{SurM=fzmjrCIqK(NG1evA(?Qh87L8e zGU0u2A^;_Gk+Y!W07~XYpa{SyZ$W3~f^vxRDaKP^?V!>m{wye3Kyyss(gafOfTo7Q zD$g)}fvYS5s|20z2Udxw7zNCsF$j)2P&iLy!mJo=VX83j^49$vth`+gG8DAC1T?@6FK;)!HV1_- zD1b7~fdUArxCIT}-C|&1sI_KhfUb4l4Vu}4bmKrH-{AJoo(>CmEJF+1+HH0UKXHu2Aw>L6we?oB%W(6K<)s=^Xzk=*agM&k#lH;EvV=QWhw^9YWHI3sb9)R zxhz4tK?_>nf^~xyv@)Itm9-A@85uz8K(z~KRL*-oBLhecWI-$F_*78-R&`?h2X}zj zd6)wp(#cDnUUz zJHVy=X-_LqsDKLlBVeVV0`%5-SOE%Bhf>%>6oCp*kRnI{3Q`0u?76|FfeKKNG_ z?MVX#pr{<9Hdr21K)wYz2U0+S#?hhjkOGn$G>HInD(E^daAAKV&Q{R^Pb2RYUC z0?er(b)aB|m-P@uAg6*9L7WOw1hz_+aU0kvAg6+)p=CWNDMRJ2!Q~@B&ViKmppD*O zc{#>!V0n;N@<8$suYiuzg~~&`(gTtMf8I&xiFoBvNpta^s*3gmyQeq?Za~qjJ z?u>=Xg9i0L!|Tw(9<+yiDy%;Q(Moh-|BW#MbiNw{0|R9F%4Tb3hRe3FlNfe-GBIqp z04hiP1Q{5(zk+1WgZb&Ej11i0K;?|cMQB;U{q2S=Xeeg}6R45L{r|iN6NB$XP+<=` z zPEe6Jg@J(qtiy`&KUfE-O#FHg6u+P;R&Z6&&2)DmBLnEL8_=8zHv^-OEyzc27BVt$ zT>|-|3`yF=w1KI0AtQs*B~U#LnrYR7S_)e30J0Wj7-*UmG=9R(z&OhmRE~lSWBc^a zni*yuOofSQ3)noyFvu25RMQZ()HYja+JkneLBm*}HGJ1Rm>8PCJ3CQ#SZDM>S3%8W zWC2CpH^x?ILISO=W}NfKmYJc_9yuYIUIH~7zzNBo5hRrl767Lt2XISZ-W!0ii8Os_66Ff3#$N=;|r_5(-j-%Fs-0wpGp zKfsB}i}9izDCj|n31k{1F$r7-1sW(Z!4$$06G%-HcwH!JVuCaSK+}NWxNl(m4K@}O z_ZpW$aSuAK3MuYE+upz`y%;_0K@I>#mo3;@P~5|$VR0XN85H-RLJ&Q+Kx0v$c3X-) zW^5@lFff2(Ya)1lk{>kPCsUd%jv41v zI)d6C#SG@DAnAxDcNqRNHiNvuz`&pnT5ewO+5waUHh~gMNCVR{duE1J zmqE3`9D8Pl)0aW(TBh4GGqCi72f9I8W-;xv2Q9*hn8kDoq${YEiE$AlgEjPsP4oB$ zChbLx3~#`u$Sq=I_zz|YFJfd+xB`kA(0vWbSjOH!HB`PY69Z_K7|8kNh31YRxApsi zPH*gCYW8JffDERBww-{Iqtx!L$iQI!u-}!L0n}au zEnxy}Yy>S-HGkXY1adm4ouhIU6g8lBj>}b0wga_uK3d*^l*?Eu*$n&82 zPbW|~fjTbWaDudRKwMDm3ZMU+1~wkl&N&EXf!a9_K}VB;q6XAi1+`&8?HBX6+|D33 zf%>b)*FbIpwF_FWfoujXumPz9r9M$v#&clDgW3fkX=oD$bmAn)W>GoDcVKx?y}uZ= zSOHS+gIf4dc}Tr~5F`iPFbC?WfReNM#|>~tJcc_$_BzZFAa!6vWEq3O3PFwlNkbba zph*#^d@)?!`Z|19A81qpEHB4687vQSWGP4<;z&?K8Y&NQ)RCZ04|rPqQ>Y6p zq_$p%h14myBSGrGhR8Dh09yibBuE(m$RbD!3TaiL1y~;B$WI`7 zh$Asp6|#cbLQqG7_Vt+I#p0Ej0^IFC#H$?H-04_dFZ-R0%sB8cYrGv@_^U!>-DWGv~ zaM6G?Lkg*=L8EP8l}(IG+&~ckDno;Bg33@VQ=|vnpiu!YM~Rylo#M(28$g)`4O37* zhjC7*2Q*A4fx|T8COk|hGlJycVLBNcrn})`I+-!b11U^5qJ`-uq%ehTdoW+ZSnCc7 zQ_xxuq%Z}Q6rjd~`6kA5?&x892Og%d`BU@I!(dae&7VTT6f{~74%6+7Kipwq`U@PU zp!PPnUP81kMLf{M6fuEnfF|e0K-{z`Qh4u&hBv5r&p2nXCp5edfy0~s7O34h^BE(9 z`5|zK8Qg*;+Cz*WwXm5#^V48yNFoJQ-{3@git(HWC_q8wH8eoo7cnw`(k!@cJIyHQ z3G#o+B1VS5TcDCBauFj#(JfFr0dxaf0hV?GB%On*7;v1NW=!ye$4N*FIGuwohXkc^ z(8vlnoI^uBLC&y1%xHt+9O@!aR|K>H7p(FuV;9&(pj1Bj7ATd2RwjaD1g)h2ACZD3 z+{e&>1dSFm&Jps424pD{s4!S@3p9laYO|FxfutVY0v#|7S_)xa$Ap^Qo0vddLx?v) z&IEh2iOJgw6jGqp5Z`T3NP*fzR<~gp8ss&w2SOdZKwbrT2%4dhQZvY_Apd|>wlbB1 zjRbks_cq9@NGmNtMK5SB7#xl5OjE%sL1k|e=vZOMsu<8}UQoGhK7nZ~SRS-0rVk`P z1$+}Xs8My%3z~Q#OQskt86f*XLDSMdU~-Uho0W&Xm<3b>gYV2~VgeZtG6GxRd7 z1w+ctFIa+lwKtJLy@=_7Hz@W%LCt;#Ur;Y$`Ukce6x58t3}^wpf=R{)U}{W2Ff>#IE#l8Uyw6Ec?g*_a=?4mGP&ftM1q}j&$`@Ec3R{U_ z9y$+f3TRpo8d9J#7Ad4a19RZgo_Py!V49Tln%7!i!drs;**a zkWPa%zXG5^%Eb-}(vG{Jv>MD2PD`1T<=IZo+OG08fgcs5KQR zcY%W~^gq}P(5NOjfFYAJATDUo-aN!802E80L3^%ypbP=(t=WTFpx#<6=)mZSOrUZc zDNaBoB-n5(_H?jzP@Ht#1H}nw-Ugg{Aq^AI!S`U5HtZAOD(8b$g61H>DiIBnwE@uB zgE#i3fKLkptyQ=HlS7%3DFLlj0JV$2Wje-Mg*njp1dZ}C&e;?K?PRxrqI1hV&=3eX zI$J=o$r#+p1ny$Dg1XqC2^nw)yA{;IW((e4Hr7<3<0 zcY?awpgaMN!AW}qL7@xkY8TuGg)XS8J>fpAs|`{IG6~kz2C0D@Vg-`{?~efwuY(rB zgUknYn?W6Ikf8Y_ry!8|pnldCu=${F^Nsrq(0&w19mpM`vW%=?g`j>GNE+I01}%sJ z)wiN@jH+OHP$lsVG>8uAM}gK-LFFO+C=t*yeg??A322QJ$Z+$?i@%0VSR0Q`|Kn%GlTl-jC0r{poQ}m@G%?@9>NRfEzF?o?DGgz z0fJVvm~R1}%K_Sq09w*wz7>2b2WV+GctQJC@R=N-eZAn^zZHBUM-EswxB%D&K9K{y z;C&l2$Y!RAEPYI%0cy}{+qdDMISlZw{X@*4+0~v$pf~`P1fX&j6bI&~nNNg*A`6s& zRy_j6D<}c&dj!iRAcdf00!u(3HIQ5alL6-vQ0Ez(ct93_W(q+=m7tD|`Dx~oFpveH zslqE@3qbR4uO7kX-#`jMWd?ly4WbB?WI&1_^KT$UAm@t8GMa%+10@-dG&IS8N?K5? zi^?&Ef#pF-<{#)rCrFY3os$EVhZGockD+T=K!E`|-v(s5`5ES`VBMg=aC!_2jIhVB zzyK*k4h)bQNMOKZz<~iupeTU>nrH<@iuoDl#&B3*KlQy0Ra%N(FD;0hKIGOrV{juucz1CupjY z5jGnAmyt~x(&+)2#yH108k(sz!K2i-9>X)0CJQK2xjlhrDlPD781PJ`1>Qan%2eQ! zFtos%=RuhYd=7>d3&`ZOC$Q#`Hj76zXw07hl8HdGahlQaOk@t;Ki~EQl*U2n22@Xg zBEsB(g*Orut)O(X%{6<~Q#U`zmc7!nv5N8N1z$$>HvsB?8GfQf-An#4@R(8L7VD@k(R zVPJ#j9r&pee;Mtd83@v4kcfq5AO~=l;mT8Z266y*85o~|1i)PeM{tv0=@~3fII@E@ zGloJIGMlHMbr~|i%AKFVdu3T*0kkedCi}Z+P$L6Zmm!P2Ack<4!6*h~2B_izrwsHi zLuw2t-GRCcVb4J64%AlZ2D3nIm6f1Pow&OU1?;oH+Cg20YtQg?8H(7Cz*W8mtHjb} zcn|}PeJouD=2)m4DP4wiXnaCi8GZ@S_*@Py5E-6>q7U3>SPm`_Tc5)V#O2@VKr6eJK8HpA3Koz}OcSA76F`L#Xb#SNGs}rsP+)^X>)3Np zXn_V2z}==k@WvLz)cycXYJps9ewgJ8*aA>#q5J}50jRXFd;u#h zKnhWcPKY8F3Jj22``~U}40kI?A?PACc=G_F2;^3fB8Xc-iokA>WlRE_ z268J%8ru0n+VtN9m){0*4`dPx)`Aw5V_XE52l?eRNFGx1fi^;b&4(Si^AaQnD)~U; z9-w16KE*@RH;x82sQCceJ=(|waw~5FR5fI6Dhp_TA43xpsN(lUEkaS7;E-kn=zv2+ zGXkk7glr0!kCJN^Cqr|M2KY=5?w9afqrnPlMwGvV=Nb+0As_HuqX|CZ1JsNF=Ne7$ z0Uw}d1h{Rk2|nIqI#@TjZLS4A-UHq?*J1_PjM6smOorzTGw_)n+h2l`1E^U6D&Ihf z&D@?fB@vVyKzZZpOHk4U<&BpwVR-|j5IJvv)IjnEOa`1caJS9vSp||n7J$;*f3O9h zydnAumN!7T3MFqq6oJwkND(BxffRw9D=N!)3G7@@dIL#A^9EAe{1aFnl%6zS!Se=2 z+uRc*2MY{P!y06|xdUq<*sY+z$bAJ1jK){6zyK*k4h)bQNMOKZz=46aZ4Pc$IIzkl z!vbSE*aA>stc3>#sM(Futbiy21qMhFBrrgVK+YAFWxNk|E+{ZS($K&_YMcKD%Yy>r zAjrdz%!Sc5e+ZHTWiC+L9CT1dQZh8V;K^Kg+vY@MDgtfuJJ3u8X<8JgLNiqvxM{)q z8lI`jz)cGyumHGeQ4Vez1iyyWF6HbX&G4qhEVQP@Jh1YT*YKvr0=pvsc{4XCmNwRFLiCE94@3U>KakVPPsGGLWhnikfn&=i2BX%PpLBc*A<3cA^c z0d!vq0|VonHEGcJTmz0z!#AM#1V`T*aPY^yfkodMc92@wN`CVT(C7<*&gNeQD~H4u zC`Ezth4~fs@2Q~J0@cmXkz3H%F=$m4c>3=uyIUGOw$P?AoS|FI%tNiyKxTlpID=zr zB6v?S)Hu-8AE>JXDh$l8vlpbn0<<0+prB?0IOq{`Ns-gJYG-GH3n9L51MjQ=eIL!x;AC+LopIZW(l7#Ym9I6e0=FfdQ-sh`8t zxRimxT$@w;FarZ)_#7sF(8(b>oHH|-8JH)|sb9`?8+5#aE?B<$Ej;sCae~|iiB8ao z65!~J;5e2JiV9HtLc@O}D8LyQ7(kYrTXC9XfWrSy8Z*Ozx1gMJK8=~-DwuURjhW%| zTTs~sS|8iR%E};-0gVXABq+8fn;?M7c%j%8f*k8t2ev@IT)1HcYs--to|2tCEY|O z(Dhtk|1M<$?V{1nWQGU$3MK(Y(28Zx5+(+7XU^4`%nZWsK?08^GBTLEaDp1xreJ|H z;fxICZeW4n_n>e9U2wISm6bs}6B-WXj0{aopgXJ$TNxoorhrlm!xSda7NAY6tPCD7 zm5^Xz;!tIn!UU?3L2aTGm}D79Z#1JD!xSdav5tYvtPGt{IZ%v)x{ruMSQsWUfv%9s z1TPH*rSrLrFAp&=fc!C!(Q_XIgFVAcMix6;&`B)Z1&~o1&>{uKIiXq141XAlONtnL zR)G^&FnD&tXB9|-F{BrKBCyXI=Wx(Q*qHx}+_M=OK=B63sXpuZvp@+&YBnQ7+It32 zXn+=1fO3_679=znjgTEWF$Odc3vLpEZ{7aI2r5#**%ewdPK<#M(P~272`XY3=PX9J zb0>(+2zBSq6#M-{eHQ}*(?pLcOrZP%@~(b1)Vo$F z-t_@_mkC^~gZziYSB#SpP&HhKWp|LJtw4e;L!Djt8yJVVpA| z2R#2&QpDhw4|03ud+4=_e)%A&S?@vDDuR-;Utt2+^&Y)U+j$un{L19PQR(uZ5p;G4 zXy6jmG4LzCl?{qY(A@oQP*g&sK?^m&(iK19(sw}8Q@~4Z*Jd#@$mT%24)G?^x!DYj z;PusJFnL%EdoWC40+|bntSFe|L>I8f!8rmPZ;ec#k+ou&JWR6-LnC;LWh+90VInw# zAO}?oG^ij+=UxshiTgE!*wCco*YY?Ak#w?9q5$j!l%%r=#Yp2^c+$~j1aTOHAxTG< z(IOXNC@6dosTc_6Rg zp63UZw4egYT#<2i9w=FZ+GblnfLd{&!CP=s0#agtid=9E!P{l91ycl|)5fnFR%NQASKZ4>WaTz#nM3MDfWo%)xhw3p}#>n6Y)}y|Rks<#hEN)H{A2*K~ zbqhewz#lhC1t6~w5jRg6!wX<>GvOmiakCN{H{ZZZE6x`|<7O#%gkb4MP~3pW)t0h? z(qa&TFW;F7yUFDtG^v4xwixF`mO_)-UvN@8 z_!*S4z)9^dcrZ%j3rGN*)c%4Khv^r1QiBMSOK$T{Q&?8_*%(;FKoDHlr98Hu+ybDGjui1{^k!lm=Ss2~KI=Y&(iU0S-!} z&`|!joRI-E$O7sFnESAGmw-~5=L*nu5iLwMAUdptNgqUqHZUozU}R|d0!nG(D;OD; zegUO4p%sjvoi{KuW-*1W05y^#W-%p$bOp6BEnUvY0NOPTP8UB|8<<`$XJk0`1+;wY z4k!tSwJ@Cr(V-1Yhn6!kdv$TX1wH6el~+QG>y^g;#W@HYjg`RYtS1mcjzt^eZT^L3{MU zfsIIrN~L%bqCL7KC?Ud{{h)*hPrh#O2CJkjq^%BeAmg003TWzk3$BE`zJd}PxPkB% zTnS}=1tm6c1K}M?CG?IFq?Ivr4wIiZ1B3ZLa3uuVYdVMNL@E=5`F}>xVaUuA_tZn~ z&27;7; zQa9)Z9I#2CVLSMxfuJ4Fpq8ts9OITUP{e@-?Rr4RbwUR1K<7U}J02l5MOojK^v zYfvpU>IcWk6!7($H}jYoUY0`=E~Mjx)QATc_objsDj-iVRzQ_OhW#0> z8K!_YsZ^vgGpNGkpp886q8m_+!O+A6>g+#&mcvjhz@5MtX0HGIAS;-;*abi{44^a# zI+_ub6v68gz$c4>PZIshXa~&<2f?+zY!x&!=zdgf#XIh}m$Y5><9vYhS4YUFtoLd6H z0w9+`b4w5tEVuMAfz~vE;@_Z>nPDMQe0(N@xfxh`*Ei7cf$dR7kO1h6%$uM%>0<&d zRt0HDL};)CYY_Yn*I)_OU;sM67P9UObc6~x3L}{sD?w2R+Jy>^LP+BSv_}anAH%e| z5|ms)?cI#;pi&C7Q3YB`fjW*anOPa`R6=91h!NE3g2V(9I7&g6SA*h#X<`6F6L_YF z%xHrTxcy~}g+?1_Lk{DdXVuVX%K|SguKf-#!?M_VIv5$|eTSD}*=*qDk|FI(kF6LP z%(K}*qcE^@aI@J!CNYLV$1Nv7D@f2TBvAPeDj3ZB+16KqLJO%~y>bPlT@C8@nonR0 zsRk86w?GwENCVT^6^sn~zk@RQp%sh_559w{xxJ8T4x}E0XE8m8RdZiJx`Nu63Rf^P zfOm7jVTn zk!>;9k)Voy&@@Q7Rpj>u&{;1Rh98j+B;%_26CR(OwS zHMW>r#g;uLvvWyJO7i*arXb6*hq8F;t0A4nb&)o&Qf>lhd;b})ftnPuu=gXBBFB_VW>d`~i59q4y^P!(1lti1`C{kXgHb zf|3w;#QXs}sL1>Z7Pu0^$YB0}9aQED{{p2c&>)=oLw3+09Ag-yYxa;GWV*>Oc-PFH z1LSr{GZ=K70=PVQ%)Y-46xg7Zz|g#Lt(KVql*qu%V0#Y7dQb@S)iE=K{sJWf#yVz( zGBE2)Ei=OuFzZDvGsC%GputX18-s_9l|i8%TA+gSaWrD-9YYhi8zRXDJv$pio}rs* zX)QDOP;8K+%pEumgI#d6mYLztFVJB4&RS;Z#&SfGX{`tO0-j_bgW(`9WH5XO*a*;I zxa@C`CqRSYHorm5ZqQ&j^F)XF3`pfe9}}pJ4w?g<(*PO}59R<3YC=?x#jGP4ouY4?4U6)XUoeGXQ!X7U%>FD@Fze#E>CmxE$m+$Z)v; zXt-R(1vFgFCkJVQgDy;DoO7lLbPP23;PN@VAkNp{phOF9gwF+^3oZ5slt#gg@VVfV zok8mnz^6jbgPaN-3OyBi9z-^5KIEiqh^#qSH~6gV`CxhQ1tZ{Nq345-eP)`-0!i}o zc`r6GGlc&EHS<7cor6+2Kj_qig}iqgL8%yY)_Kz(P(u}T);UZXe%AS7uoUR5b5MN= zT5k?N>-+@d@TorVXmuz91H;B9(834sDvFh0S3Cz>3mQO%EkHD1!zj|m**anQq}k(Q={8;VSYETB~ya!S~ zBibAW$eACYL;*60c_IgR9Uc=$4+8__Sai_jNi+C<)Zf;ShzA8K&@$_F< zOIU&#WD|TL80hL4@W6pG^TlRRRDoKFZ~lU65>TTA+y>|a7g(SpW}@3baSmRHt_@y@ z&iD_M)If_}K&wB%1*#QuU<=3~(E1Lof1t7kwAjV&A8dUGNFg{_rZ#{tbq1+{bP{1Q z;7%fFTLZY+0;hVL3YCX+6=#Fw zU~UB+Bq5vEDFb4I5 zyJw(f3bU9@KqA5a8GSZEE_VR6)`k5w+CecEy@`>*=0E82HBg=fZPA&)l)j0P!T&#K zn~d%zMh1{L$R^+`x2k10zGye^6dHwtKvo&o2BA z%CjJozbhY^Ii<@m zF`WC)z|h5%Ur@|ouOjdf+%JB_2s-7UPj9FeAf%M)w7fYc@dH z++Ib#0~DTN3m6$p85lu<_jNub@Ia$U_G%SiX}$%F3`q=(3@uD73m6&LK0Rp%pKW!1 z8bT@Pn5KKv7#Y?wfF{#H6%_oKCeRos!+%DQYEZ)sRG`^wF9aJ5((!|VkzpcuqXI|= z!+*wQ8zGH+Pc^7n9Gw47mhX0Jp3m}88 z;BZm916F9XfRW)9*fx+cpynP(7IY>R$Os`OP#A+w1O*uZsur1`VGPP)AaPI-*sJh% zgMto}vs{@#0S1$q0M1+KOrX>N%3Yx4aG(q!?BCV}(gDg{tzaFXQ43IQ3dvowz&b#= z3nUK7UGZQYpxgzLg~kA=BtgzyYnebX2M!)4a120l7pS!f+N21}T{oFPQ3%Ria2aUs z0?9yf7w9HgNbY(Jwi%SW-Y|iJ6h68;i3xN{9Hhws&t2fM5!7J^7m48D0;P6P;DcsD zKt|fDMS=qi6!?BpPDTte8dPUY#eMvJ3vY6{w78SkPJJ>DK;Hor@Y(5$PfZLk{Xf+ zLEE)JtpNwS*I;Q-Hg918B^FQ~oC!7@rUsG+*Rg;i22_ND8b`?4{2*8#D3M(OSpX`i zK_v-jxil!7JJ>fcfsB6%Rt7TuAJ}-9Jj8fmR+#aiAzb7vuEq*-7RY!@P#*|XIz#d< z=!g|i?sTx2(F+P~Q1bBu8v{x{Fj-jgDPsjCpE?Ex26*xT2k?JJP~HWJgYvF}*~vbT zS)jbTk`)xhFd0bRJB=3TD?tm8b!t$;y8z|sFc^57N&AT8ONZthv zih^7uqB9?CGbrx{uz~U}Xt)_#GlG_gL8`=7MLGjMLpE0E$6j`8Lcoh^zeN3Rr6SN!Q^+eD)=b(-P z_d)QviBG^)Gxs6znTg#@pc4^6nGKYVxeqbk>t|-@VFI0q*aALUlkHP|KRBy`4n%~h zGtunyK=mU#^lJ4}0%na`t^9vZbk1(<~F*0;BZQ8;J9ykHT zJ@*kti3uP#AKb#oAj{4OY8rzYZlJacXsnz27~@K?{8Voy20L~}h8`x+WVfAO~Fp4NWmHFo2ri+{YP}CW0LNU<)I|1a?r40FADIQqu&cH(MAP7PEtLMAQ~W z29P+&kHQJR!CuIN$}+SvRc>Kq04-92rSFAX7#X&KEuOZ8k>M1?;x?v78z9Gzf=VXt z6O0W^zc(;4JOZoxxPg)3E7&Sf5d<2e1)G&s0CpUxCCSYJ@)D?=kmq0o6+$3|pn?H8n=*j|l(Rr*Q^KT8OnboRh&C~SRyf1U z5pW8a2%aGVojnQNOa$r+fr5$q9HZzYPzZu@T?Gdy*TGjkcY~Yepi{>{>u|XDGrCU( zsRWfiOF2Mc4U>YDKD#+UVGSyMmcUD&17Nd3rO!FAj%CmT93iF86R-|Y=>rl6heX0m zunth^1CoW7KA_$bI7FfC^6&6~;^ssueL&q^P`v;veUv#tVFW6D;4;wC2P6Y2eLz=M zg91WCM;7cmP&k-zg2DlGhCH_kIa>G0AA6bImSlb~=tRKmm%HyK<4 zMS}_khDPw6hJ_HJD6miy6S(L>ZUrEY0{zBl2`!&M4OzxH%O*23*iK<)_`!I0KO+OE zd}0jhgp^KiLE?zKnFfed4 zGB7aCnLGnDzy>}#_7ZrSdIcxwY+-PrcLiMNJ>q0!n8O6>lW<=J7ko?;J(e?pZVKeS z&S=rZ$iT=2Dxg4xAt-`CEoSbkj31_e(jcfX1nGwqh@d&;Rwhts2=W-Hr~x%xKxYlh zbAjqrP#Fm?5y2J3QYH;X28LVHnHiwP_$_cT&NMLqdO+AUjb_p@-d{W`@#jv zf1t7sBn~oCIN>?iL{M1=l7*Iac?=8;u-pVH>)5$LWfQ2ZlLo~dXiNrF)`8MAXu^g2 zCA6$F2CD;=b#B}st3X8WxkyB(8*DSEw6Ws>l{TQ3KR8QH0v{v}8BL9X6f^J< zQs^iEXdnz++JH8Cf=Zjy)4`cH8Z_Pei}4Escvw9O#AARQZ4K&}fQy2wj2bgQ!3wHE zvcV1pRUx1=IzTlHs5uHc+Paqqlx!8iEbTX6xhL?5CjdS81RB(6QmVh2!gUL!+*v}3m{`Eprm0C;xr31ZK|Zt;RL4Jd9w%L*bG85j(b8<_NFGBYUffl4J%;G6P+vOi3I z7L(OXW(KB0mj8?e`#=Lw3=E*W>^kio*v9&Oj0_%pAVb5DWZmK$m{RvKGQ{$Ml2kv~ z$)K$ri<#VJg68Eu-DYF}g$c;*t}|?AgWS%2hmoNO>HD4uCBC&-iK| zBLk@C1(DXD1L}M*?+3Z)=RQV;w-7~L`xqHOMG29chAn~_0q&By?1`GA8< zi!mN-YW8hLhC2eF4pQQ6a2ugL6ED$Co;h`x~euXrA=f4%k(qBjGMqzGm(iwS`btv-`~y10Gg!-6#>Hjc3@lH z?Pg@K5(Fg@J4VP=2osoo?Pg@~2kUU(&d2}~2RUCjK^&|jdOJjxp_M6jJ0pV=Bci=9 zbvq+Nk{~FKyS6hjlnH{e6GJQ0f!&M@Zj1~Ju=?=IZbpVau=_!+Z@3J!J_N}?>cap= z1_nrdI2&v;s6JdM2&xaG7#SF#^UX0}Z`&GfC`YWXK1p2c-jT z#^+#D)%P(noC7(vjfv+rBSSGG0|Tf4bJJ$*VY0ss@{G}KMuy*lp!iY+^QCVyGVlp8 zGPE(VOk{#h89Jd650_knL#mLYOvaO9N;1(mpbVddS zP=m>31#1IS<}F5sxB2c2N@(sGkJV1L`OstKW{Uz6YFcKo&7ThPdu9GBAK9cnlKOECdA*sM&W; z2$X1HGLUB92O&^02Q~X1GBSYYYlQt(!8$n7)42a=rWnqvGP_qvt4vGcg zgntV_b~tWgWB|!Rn|*Jfr3-BG$4nR$cA!$&3smZYN?}m5?-L_rdnK%snIsI#rl4dF zmw_g8kPIZ5|A8m-Ca_yU$-Gn;l+4+f;K^Ks31>170fjOwng0jR4Jb1)fcNhi`2PYM z2^wEq1a=Cj*4AKRU;tJ4pe7io*4`luN;w8hi19^G6%R@-Qkme%*Zg6Dfbc+gTZ>x(Ti_|85w>ug48gE zK<2&-Hi8;h(8kp!P~(bu;+lF$>k2dg1#Sjy3|$OL9H7<}uL!Jl#rEmJBJhwKsC@-f z3Tt11lr@3xZ-%$8z%vPuQF&136BN(}n@Ye2gPKHEBH$(wXrvC5>WWuGn?##IO`=Q@ zP=W=`&x0}q=;(ZdEhMGbC3u&SfkO=B7f^#2H2P@4z`)>|!oC#bmz+h+ z3~FK^D?lm4PYjfCL6;qX#_uOERV-p=C=g?0n84Jsh?!v;nAN|Cnc+3qJWvA$)QJUU zX1CJQ;IIKTVE&1Ln;f7L7c>M0uIDRWfu%tOuCO?Gh z|21IKn(i<%6oT~pX9U&qpfNVk5U6XA$}&)Rf@=8%5};57&60uYR7fqq73@4vEe{e0 z87Q3a7i=J?mIui~YkAOiCQyihia$^-e?kJ}YfvqJ2V^TKa6qF1pz$)$ih9>z$N=aU zurkn~0J|h8AVBR|kQ%U2S%qM?fd&O+B|*l4N>fA73FeSN0nla~u#=#J0-kV1F(5@C zJ3$R!(BY$?H0T9&n|IVjvf>4pV#h$N)p3+f3& zq&1dsb zV4s0n1aKK>ivT18X%X~6+h8I(Q@}QZS_DiopccVQM8kIlD0IOqAu%Ssur_?xgVcl4 zfi~jHd8nUR43bbK#b!#73-6kmvjZ@vty;S1A%*6@XBKs0ATdw?yUb-RS_O)EP{N)Aa#1%EsNs7G(eT~23Y2uQH+;9qfSNCtus3``!k{|N zWjX5uupOX=?-dzPRDl}4FF>|I8ooE6fevr@a>#;Iff~Lt&?U|cQ^03RfEuxOt0CM?ZBB4W4IS#t z1_ubJl&*&a2xMAUf(enrK?|Oy%Yw=cPzs03KvOtK29m;+pl%h>DFeF|l)_iZf>O9H zqRneVQk&O-3DSQx*!T`?B&f}M9qbfPn-?YvYxBOB1tl5}ls502dQeJ%w4gyt&Onn2 z1{>|yf(E`oror2JAOm3vKo|6Z8quKRI+~bbuo&3L1X3Hc7Ls5y?0+n*0nxyv*BY1co6mHyxOvPYZ=iFgr=#c}Z2+&wEX!IU7Ug0uh5(Vm9hOrWkZXhIb<3J+@Qb89e}t_Ou1Xf&Kb z9_9nkWl&&CVHZ8hgF*{*BQd%UK!$`(`F^ zTKW#k?hFi|Nq5FM57sj?Xl($cZje^cMGJ=07#TnT4(cFtPZtNvIZp!(sy8u#&hsl2 zWCE?p2Mvsa_R4^iWE6K1ux%5pLkIF(oIGsN6ZZm8XN_rM0HjL=G98qU zxfdMY0E#|Pm#SVK+@%5qHK;Wmw-M5%;$8&mQmv5(m64!W0(FSyLGGYj0=g7)KRBWe z-eF__Eja@=Fg?D*$Z$y>R5#qb!^rRytQ#gjf$9AnMuuNteW1oJ=*SCD!wRVt4^)IIfCfxJ*$PtBgHkQ12gJRgcM~W^Kt(<1viW`{m<)7vYY=30YZ`nOooy4y zm!QJlQ~~4>(494)Fn|>HUJ9V<0aVz7#6htyoN#|5NC&8}2gyPUd(gf?vBm*hzLFjMLZDy*4Ml+Vo`C1JzA<)!<`x(j7{b6~0_Qd{GpOx> zB_Yt{%1H&#Iv((tfGK#d^-Bdt2JpTM12aaDQcgusX}g7=fx*B6e7BdnA|rH8*uWAx zC+q@Q*#pX+pj2mI$!ND36uh8h=b^~Rz_66b0d(rrF3{G|Oa=oh@O*c#BB&Jw>N0~C z2y)%%=p3Pf(v3lv+U8HN|=h$U;z`Sx*V1 z7u08VQv#(0(8MyL&zz+M>oZRPvp{|3BVhADT~N?OG$?(zmHr2N0Mz%n4%&9}pApmv z0TrR3^x;+^2euB>R(k`IZUqlwg3=?nj{@y8vnYehfL10@pBa?4(vkYiGRh!lg8Iz* zU>2y)>;h(i`pkXGATNUY%piRrJ6(O(g6#zLnHMXA5**0EFj-iic@NmiJ|@tC2%rT$ zXSSmDnL*+p54!q40GkHtGhYSi`48?hgVG|T&m6H86rP|C!gpm*D1r__1EpU`2Z2Wg zU%83*Yz!@Kd&KJ$FIqD>%0AUi>Q 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

    HAVFpG<7Im0@ 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±!3_6@gkfpeB$>c}5~=`#P+4 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î|fW?nj2Lcxv! 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

    F-GDI3*2%ACL8m^fEhQ{%r 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� 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 z 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�t<9J={pn$8RVH@5={!fIjTvL6 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%0A8AuY#k=Wai*atyusQP0d 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 z zXN5r&LEJMJO@0xS4?2`Yh+zf8HYgvo4OPz>dR;!B9(2tyl`57Gm&a0-+U+L|ZC zaEf6mln;@g?z6s+OB3SQa}39!av(PfFN_`v`= z=^dmQgh2*OhsuK%Z3;2`Vps*`!{qls`Ji=_LJWTxu0Z)P`BzXrsGJaD_{YEoK2VFB z0lXX!basdG_WmMu4n`J3V?zdTe{K54V)X~0f@AxX67^k-Y@kv9g39R&Y+1ynHDuu#1-EmRtDj|^{;Wn_a(Z{8I?wd~HR`XYPkSIEIDLN) zCwmm=C}GA^AU82EfX<*}JPu)ljzI!nA`CiU546@1wBQYN*e{3;RS()I$#@2$9+Wc} z&qCOs?Wv6Crq}QZEAw822!VE3FHHbJU zfEhu@8-h+e0$F)&`h;e6<>~zO>O71$rXNtw6`$_?%ZF#WeZ9H_QFfcHJHgSWF8U$&&JAKKQAbrM% z(|H=ym8WlxE*EA4ZH{4lGW|fUy7=_?26c()v$wbLOrI@N$uqsbL0y9J$@CQs>eh@; zr!SZ}O?>+A2K5kLXh?x|o}M1lsIJU-ZhAwbda&Aai042gBd8dHIrare1R4M@8Kyg? zvWiXTZ&H_Fd_FDRLY(o{bcZH&ao*PuRp6j}12Ry2dUcaJ598Zu8{5REzc!e_!*~wj zQ0Y8=9!aQW;82Bz3^*XpO)qFt7iWAvJ>jkliZ+-IaGZe75d+4(--VIEY5gt z`hv^_;*9U7w=}C;LnDFl-E;$0cJb-&o7H(3&rQ4HDb5SpS`E|rary(xRJag0L_SVy zQx|9a2#y}c^I(b>R2{>@;@k8O4@JZozk_8Me@-{JA16Njev7(_u@R zhIVyv)%zgx7#Kju*D~INu)(?O0fY_CT@R;uT8T5hm@d$vt~}kpUEKz3vLQ~BAzHy1 z8JfsJ1wP~5=?b@H#3fNohA0K++k4Y5TsIP9g4)Bx&p4e?m0gTUka7CL%mrf8vsp}d zrssF4OH7xxP32({g-G*>L%au0IwFkI3!Bu%rl0Rn=ix&R8%f6L2dgHCP5<8kN-W@H zIDPjTcb@6`onV0nE{DXYSGW7}Y>)3$-_2YPI{QFGhJhiKk%0lU>_?;xQr&>+H4qyV zy`YWvAT^-%H=q_9NF0>Tels#KfW$!ynD{{VOt*oq$7W#AgR((B2CX~?sR1o;0<9tf zu|cbwK<8nJ$T0AM7cqfO6$cqAGrhl8U7S&2`tn|N<$6#uVpz1-10>tKq7Q0&* zK_^MIF))Bq2e0==d1!3lK9wTN*%W<}yG|4Fs73%3+{W z4Y=!})e30CCQK2iApl~790O{ofHZ(o2#C#n31TQ{`4>nWltMsk?#mEy(6V@tUXW#= zb@m`NG7Jn1AU5|Eh#F99PNW0Eo_?%fU6AqW^c(%^?u^%_D@;%qXS_b$VuHFde-CvreEOp7T>;lqB;j7jj?H?wo*E2HSo?b9T zU7zvJ^aWGY#U(+gkM(r>DP}sjkm>db-Rk^=8I%+ZW7IZ)akBK3!w3`g=)eeN_&Mx~Y(; z1F^YZPB)mR{+RLkbdmY$@r zZ!aHZv3fA$`{_p(tDk1P zF@3@kb!AD=v9k;e3?OHV%!RlY#O8iC{mc^eV8(OP6_%>^gDSA4>dK5Cr(c0kKOmIM zGO(Zngh~NZ+dGzlLiGIf56jh?8NW_1S)s1X_-*=(73#r^->1J>p&rlpbGpw;^=8K3 z(=V)4hu0^d&VSgr2P_-?w!8ui(X=cgZ816KKBjk-JI)9D6l)s-1POb-E34AU#ts>d_Fn|=et zW1aqIt-3WM`*e$S>dJ=D;t5;;u7Z@jAU3RcY6ivrDv0wyY;KO}J?qr78J|x7u})o? zk!!lldUbuq+tYnO)U)X|>(!MR?@nK^UR_)gnuFK2u@{m%xlH3}Qml^JhOcL7n)re|zaS5Aahcc2s4 zMb<)c35d-N&0KOIgV#dr1+lrI?$LsZgNi2*n;Ys7aNV;O;t&v<`{DFAAlvRu7uclk z&iG<_#3uE4M*itLKs>=|o7EpPvQK}qSzVb?bUMctb$3Sb=>c2Rl^I2*muyjQhBX(u zK;gF)60RUNx8!tzt)RR%eacq#<&5XH+iX)W;tvJwXJxF06g!}<2#oCrYMDXBL0w#! zIA~obj18*DU~JHtIWTtlbmn8~!IGepmtjKtkc>MsJ^z@xbv-|5U<7J|6cQVB6b?)q zXg4T~ZH=VH1Bo4q#0H)82UA~(Bo3;+Vd9|bh_M<}$1pH3tU*%r9Etq}iOmRF-U)Rm zsIG?@B#k5vs^ekerbyzT+c#n25lG@GOrWhvP(urlBo-jC*K9w1T)kVkJ`}Vs45}8q zM-0ktMG~Kc#Ga4D-igFMhQxk=#0G8jfjJU%k35Vm13Hcb7E)Re4mhRwAh9En*y%{@ zP9*j;B=%w?_Fg3RDJ1p{B=#>U(7slvkJ&-TNI}^mNNhzUwmuR&5Q!a!#Lh-ygO8?y znzu?C5~1BrbEiG2ZyeFusC0*U*eHb`s_ zBsS>CFsMNc2}t6(NbF`L_5>vMTre9H{tOHZtH2y^`eWFR#6F6|zKq0vkHiL_pbU)~ zZqWHoP_`rz8+0ZZ%%KO7#E;h_an2&KuOP7>AhF*dv40@3`9T|1p%zOcvDJ~-#z<^? zC>!j5&{lqk+LM1@0e|FH$Qc!yk zGztJ>Lp2B}LNtSV0}3Ep;uJ&MG>jKsbHVng-bftmvvUa5Zw zl7L$F2E>LM^dH2AigSSuwE^Am0=i{JiGe{F%2o!6L)Dvt*iiL0AT}SwV-6toP_{Qn z9I6I%oi<}Rw5E(klE?+Ip&AN7Y-k8Ig4j^Yx{%oYAU0IZ3=kWtW zAaT%9Q=kJ$lpVphRq;0)DgQtY*3$rfq`M4G6RD!lzkE;4pnm<#D90t%S1h9f=0!R_mps64>RP%Ze8>;>^ zhz%8ghQ!te9rX?sHv+Li9b(W$RH_UN!cev&NW2;p{-B*jAP&?r(D{EbN5mkBCxX~e zLvuiEsQN+>8)|4N)B?~&Pjw)1sQNw-8=6R`gV<2i;5%gU@S$s*zBG_`aBdfk6Xwu|zrOTs;N`23-&bs>l#Ykqt;3 zbYuYo1A{Aw4OQa_RRh|!76}rEIxY!`oep9{)n_BAuS61`qy{Sgp^BzK6@e~*T7jf! z4ODz50|Ub$B=KWVanRxSmq6lBN8ARnp=RDkQu7KV4ps9B#0IOWXJGgSRRkL6;!$T{ zU<6ArFbJqaf(x|UP6i|n)vO9)L)B;^sWAbGL)F-T*ibc5NbEuo8yccDAa*@e(L4|b z%3cID6x6W*-EYeXHFP&f4U~NV#D=Orf~5WulK2}WHY4ar6R3JQBzCdYB&yJL&a}{*iZ}ZgV@m0?LCMMRsREt{TIZBs$tV+V1Op-dInw) z2WpTa65AAs?T5t9L1H%{vAdDj3z68Xkl2Tj*k?g(Sowbg!~vZI&%nTNN1K5`7|MPQ z5{LTu6NnA<*>?~dD$b+>_YDI(hz%7N0Te^lAAs0UH7`MIsG1KTHq=ZWT~PTC^?|r90|Tg(0yPVy zbr~3hL9;&$3=C=@ai|(Y5F2Wc8Hf!PcLcGa;%*=|R6G#GhKk1{u~R^7u$p=XhI|kQ zs;CZ$-3(%b6)`YOLSipMVy^|Up?Wug*ic8G2eCo*ECU0>OAs3>{t1cAtjEB>Snmn) zF9QQ7hyzt51!6ofhKk<;v7zGkL2Rh_dn7ie5hA|Dk=QaIHbi|rgF1)# zd&*iiAsAU0Hd1&9q5-wa|y#dm<%u=$O{AP!XG1c(jQa23Rc zT6`1g2+;LRk3iy3HE%&|sNPQ?HdOs@BsQxV0|O&eoYRbfLD+$T0d#GXgc)dl1FBgT zNs$^7+X{*817brh4hONJ&5&r2p-^@jNF1uB5X6R>KMBN!iZ6h%LFLaH7>9v@;V6g= z)o=>Lh8p?^iTxUh{U3?VVa~w72vskG#5M-8p%&YL*q~bn7#J9w%o!N!g`pf@kOWjw z1c(iFL@bC670&>%q2jq9HdMR<#Dj)<+a~T*ICR;Hu2t(QPK;lp}D?x0iBi4b~Q1P80HdK5chz;vxp8<0q3GfyY z`xO%V7ZRJx8sTG65F2W!6o?JAOclh2ife(`P>1SSLmUk%F3jse5>O3JAU0HkH;4_@ z;16O$6Hz>f4ONqY#Lfk=p=!!NY^a)A5F2XFbR_mhC>xai7`8%P1Uf2fA4me~ppzgr z)Sz=9Hq@Z!NbKK8YG5_<-S4b?jz#0DMH#lXO@*amVIG`JDA4kQ6pv=hXJ zTCfkqhKipAv7zGUKy0Y^O%NL@ehL8|42GkOWjiA&3o<0ClgSisTp=80tXc zP&J((HZ&OLg4j^?Taeg$k=U1z*te0`PwYYEKUDKKkOb6%zaTc~1Ut~`B?kruVJMr& z0pWXb5F6?UbtJY9hz(V5io~`Dv7zR>f!Ls>!Jz!-1+oCbVF(3DKoun;v5P=#sG4>p z_EIGFQ6%;q5F0wB@Cd|)>irI4L(TsOVuyjkA9UQhBLjml=*~Q1;Ky0YQ77!aMz8k~_U6jJW zz_1^r8OlBd5{Ig}fy90cVnZGG0>p-@`GLe{c7ilg!2ag|aiEG!k=PC(Hq;gD{kB3lfK_@c^-*4)q1Gs~M)tA5dehPXlqF64@X&R6`{a zyB)-a8ae@qy%EHQs^0-(gC;^j1q;X#Q1)?iY^VpEKy0WQUl1EA9t2`T9aMzGp6miD^`H`SkR+BOvA2QP(5Sf& zVnZvHryw>|?=K`asDlBU50i3bU|NCchy!)0C5R1@ zU|?Wy0kNUto**_9vQ1K!V8!BE7VnfB7Ky0XZJBST+M7Jxb>lMSm09sTt z6C?puG!MjvDq4=jJ`7?*4Lt>7$ATh;f#Dp;XHfP{kT_J$b0jvi8v_F)RE;=-UC*Eo z;y^W+f!J{nL#^Bx7=)p0SCBYVO)wI>3dDvw8g%(DBUJqYkT{gRABlY#iTxJL28BOp zXAtP-BB%xYAa*>&5uomuFqAC^5{IhM1hJtO>w(x%aa$y|FA_TjiJgtaE(2eg1U0A{ zNn#3!4HcgWVnZ!h0b)ZPv=NDY9K?nu(t98_RE>}a0|O(Jt%k%l2eCo%5Avrihyzs= zg2YY*u|bV<&^!f*4OLT*#GZ`AUX8@wkHkI?VnaP}4a80W*~-9h%LCNvg>s&PB%q2I zJP{QSKN4FGiLD7@LqkXp#D<#Vfy9mgv7u(hgV>1>i<3PW7=*#>dIp9(kOWjwC5R0* zv<}3EiuWS1=OVG!AhCBNv5$e+P;*X$*idtxfY?y+mmqdMRN@DS19lOljiZX8!GMsVngSyLO^V2XCn&4hN{U!VwWSaJ3wq`XSBW##DQv9ip1WD#6F9}euTvS z3}Qpm$4?L&Y7VbA0|U$hvLH6plPVxKXiE(P1A~S)1A{R5%1j0Z24j!}RFNMNI~IwZ zgTyWev7y0O17brBorc6-0AfSUTn=J`_7*TOFsuey3}tTvU6}+cs}F({K@Git#J&n* zLk)V2#QuoH2Az7$2sKp1hk*gcHUP1qdd)#>(7+)B1B0~>1A{P#4Jv=!KoU?zfgm>2 z5eZ1_R1h1grWlFch{T=%VuK82U|^Vu#9oWUJ_%w&&AH$MYW0HlV1q7G1GxywzK^8n zEfV`D5}U;rQ8jad*igMfNNi~&wkn7XwO9wl2HhkBYV{iUGB5~3I1JVx38*4ZBz8E6 z4ONp4Vnfvwf!LsZSquyeWgv5)>_(6{R80?v4GqzWAU0HdK9~&(f6&rm5C^JgJ%|le zv98P&TU{qCgV>v7u&))`K`u&3Ygb;LXn z8?@1cfq`L>KLdj>l)V-t4pp-Q#D+TbIuiR1hz(Wq9K;5zsb^q#1L8m>zJu6c2?mBg zAU0H-Jphr~c|dHaxHyOnRWAc#Lmi}##I`_Uha<5QL2Ow0p8?{4b`pZ_1`c3g5QehL zLE=!$CLys`f!I)sw}IGD^}CVSmyy^{L2RfwZ$RuEP-HVO)PDe32Ic$)NkA3J2O@l| z0%Ake=pwPrL2Rgc7Z4j-A^CyWQ1NIG8*~8>=(qCiGy8z<4 zb`TpXJ{iQ$hltMrv7zE?kl6c>*cXu4SCH7Zk=XYGLG6F2LC=sRULmnRBC)?BvHu{k zK^GCg>Jj!JL|*4cVhbU$#b9hu`6CPCFfcGEBC$1)*g8mT6C}0;5<3Wq9fritMq=k9 zvD<<`kl53Z*z=Isi;&n~k=Q?x*#D5&Ou>jy;X<(M8Tb$!1~DYI6cSqz ziLHvn)X6uNNbD{o_9P_sG$i&sB=#aC z_9`UyIwba19wg4r>DfXW%JpZFgf1enZz8epBC($$v0oywKO(WeBC-D>u^B@UvBC*q zLqdcX!U2bfC=y!|iLHRdRzYHGBeC_7*k(v)EBt933y%34L0*So_iM<(#y&Z|Y zF9az^9zv2hiNrpO#J-BezKO(sh{S%1#D0s!{)oi>iC}v({6%mWSVNH#2ohTWi7kS} zmPTUBhi;D%*3e>CO#)p&2OWe=Lt^J5u?wgB7kP_&f)15}t?ljxNrRTJGcYjB0I{J) z%t2zWMPhG6V(*y#o;_6D_AHXnMI`oZB=&tI_A?~*tLfgCLp1844iI5wU|@u(jW^#5&>#Xa{S37rP9q06GrBeAa`v2P)< zpCGYcOy`%?5T7o!ES87wFOoPT+cZfJrFuCw#ENSrB(^4q4Rw(ohz+&g2#IY8Vnfx~ zf!I(rPDpG|5F4r{48(>Gxkf?Q(`_XJWO>UW9B?^UJ^i+HGp=;=F5+WHwCy zE)k%tdJ{?LE)x4K68q!ye8~Xi=~73_C2Vy;H;6)QHAG@tA+ha{*uF^Y!0Fsflav!v zk%Tgl*hNU}G9-2@61x+LJrRjL6^XrM`uuHk#d$#&2r@z!1aF>hZ;~u7c>tseDs%#g zeP;UeZF8+vL6^ zk=X7?Y(FG+5QGg0kwgdw93rVm>|7*v;dK5lyyA>C)A#S^75D5wlIcfcPex+TMq33S6LG&DiSp25`cBZ&(mv89mM za!71l2z&ZoWevgUx4!W5FxpIym-kSf{!dv$f;Sl=3l5v~>5~ugD%&3VkE;@|--INz3yHlCiG3EthAue2h{V2u#J+>X2HoiiTeklSN&F)c`zwSE zS;YJw!U21YnH#a@p9_i2hs2hcZvRPE+)x=wNF9l7h{QHUV%tow=Zh0p^+FQzLt=*_ zu_LEnR@G3hFGCWlLSnZdu{)61(~;P-k=Too*vpaF>yX%+kl4E+Y{(?oeh3E~I>(UM zr;yl}kl5Fd*msfG50Tg(rq`DUh}Zu{68ewC=HNj@0uK^f7>O;8#Fj&1D+k1`_+u^!~p};`J|(gx({uKO?b!A+i4< zvDtVLF~Nnz7DQr;BC%zV*a{H#^p97RWb3U#9OxzudnC3S659)j9fHJ;Kw`%uv6GS5 zxk&6nBz6Ua4eIAGFw{Ue;HYjxVs|02CnB+@BC+Qqu@@t;S0S<2A+Zl2v5)YA`gu^_ zpGJ~6kHo%-#J-EfeuBh)fyDlW#QulGX60jGV1(Mm31d$W7mVXK6oGLW7#O6H*z!nh zJrEnZ3&m)9a;L0vy+4vrFcLcoi5-W;&P8GuBC#ux*tJOP79@5D5_dziEVWve1^u#Oh8&>tkfEW;kHi*6VoM>h<))wSmld})L=v(@V%s9IU69xw zNbG>=_p1cNr}G(UNJyq5iDx6RtES(VYZeb}LlWvjVoyS1PeWqQLt-yNVy{GEubr+e zGD$i21d`AhB=!{~_6;QVeI)i{B=&10_Io7uHzfA2>Hpuki`TOWBeH`ihz;F_CW*vW zKw_&Pv9*!d`bcauB(@b28+4;OBh-9fh&be2Go~%;`M8hgtj8FcOtP5AhC}ivCkl}FCek+Be5SN zv0o#x-$U4-LXm;tAA|#r6edvy21ck~Ig!}BNNgD-wgM7c1BtDJ#I{Ca+as~vML|7A zsAb;M?O#P?+x8*JPeNkPL}JfHVlP2rubBS)RfKZrAta$=NbGY+>`O@Ohe+(FNbEOA z><`n8Ei|m_mBkRDqmIPZLt+~tu^o}vu1IVjBz6E2J06LhjKt1@up!Zv2jPIDs}_mf zh{WzdV)r1i7bCHkBeB;Zu{R;H4k=VWxpmYe0i5Mh_1SEC^hz(uqSA)cEMq;-ku_q$2ry{ZEAh8#~*dYI}f^ira z7}g=Nw<583BC!u6v5zCM&mpldA+hfuu^%9@pG$z!A=GEDktF^iu^B;!r9#zkBC&aq z*dj=52_&`#hz;G~s)NKfMzHG{%n=+02PC!&5<3iu9fibBLSm;Ov2&5wg-Gm5Bz7&B zJ)PxUyAb1q>Gj8ityQ;xg}|whVFwcXEE4_q$3Xv2~Hy zhDdA+B(@C_+YgBygv3rnVy7apOF(RQXgjC^!U4Ow9*NzI#O_66PefwRKw{59VlPEv zuS8<+Mq=-mif3S81npmCU|=|gBmq9n7Ak%RN&Ep4`#lo-GZLE#bfzp+FWYo&2My(V zX(S65AMwZH~nDL}L3Qv15?f2}tY=83qPL*k;lk zB#9CvcE$8~Ck=7W79^p`NbKoI?0HD+MM&(8NbIfCPdjNS*PlWXI)}u*j>Nu=#D0au zeuu>Vj>P_r#AX7W&pVph9gMqYe?){NbHA5?59ZVUr6kKNNicq`NU9%Dk8BpPss zVh13x^O4xaNbDvgb{i6VDuT_#FmrmgtA=v@W`r2Sb|m%zB=!*`_GKjYbtLu!B=!>| z_G={ednEP`2pbd+3=DrD9B?}11|5(L4IF+Xwm1@78i}n1Vnes}>LIaBk=T|v zQ1$-u!H7-7;Yf<2k=R)vHgp4P9um72#D;D{ZA4;sO#lD6UA%rClF%X~_9`UyIwba1 zB=$}u_6ZOhy7Ti468ka|`#KW)Ifxy}09n%i8o~hwEHmiPXXqYBb|kg{5?cg`EseyM zM`CLrv2~`Och?ZFH%AikKw|qKu|ts95lHNKBz7_qy9kM0hQzKzVmCq9kVMo8;eh?x zi^QIa#GZ-7UIAi5W}O+jUV+%qU5xLL*#D5& zOrT??p=xB1*x*C9q2lUD;@U`TBN!XBIn4~lVPIfzM`C*;v4fG=;YjQ>Bz6`OyJ&j; z6Hev&MkJw5Bz7+ndk%;V-PgDPiM<}b&1QI(P#D?yl%tm5Yf!NSZfOSahRwQ;O5_>l2=x*5dL-1MOP|eGc6s<;LZ$e^k zLt-CAVxL4}UqE7CL1I4xu@e|T`->PDUcopF3=F?OZ0I(%e@JXr&{5n_aZV&Q_{?yq zxIB`$IuctOiEV|%wo_(caE0xIb48NyL}EvS*wF23@ks1^5F5Iqta$qQ)v4n3bx1-J zkl0g@*t3z?^O4vaLF^Q80$|vR#NLC%K7ho&gv7oEVMCJAT?hwk(nBQnXAm2@2kbi% zn@xp*ff2fEiVKMiI@cT~E{Y^BkHl6+Vr!{@3NWZadPou$NNn)g=TJ4yNaF5D>_{Yb zED}2viJghWE`+f`{x5}b7#JYuphGR|L=p#|i4GN?f+W5e#D;F^T8_kChs555#6E(= zJ^?-j9;*2~lEh^s_EQiWx|`}H68i%Z`wJ4A4Ri!KR6Q3GTM&sYieT3>s3SNG;M3co znyrw;?U2}RNNg`8Hu&&%sNPT{@mM4__#k(vngXymDEt{17)rn#aQb7YMq+~xX@_cP zLlW;oVoyY3Peo$SLt-yNVs8YopccO>?I zBsMeXq;sfVAtbgK5?d9*h6I8pgaZx)10=Qy65APx?T*9_1F@mI#iEednIJZFlUFVh z8+7w9BXpUx0K;~kKn*`$MxE*MDhtKyuYi`zLoclG1g+qP-Z{|%VneTWcn@MjZ(Ya% zErf<%gfJDvhTdzi55$JvK>%JX4ZS)5ybv0?>c5x+u>hY3wAND*I`jixmI_@(?FU-7 z2wnKu3YrXoE|LTT z)B4c)#J>Wd5(zp5rURN(h7RSIgXTP;!>LO^b8OIo!|xzAbRf_OG(`j*G+Pg1Lx+3v zKyxI}k&cfbHneyA05rr8?ThMy29QCW4^U!|0gX~ZdkUbTOh)KgJp!Q7I_Nn(iXb+$ zbFc)&hIR;^g4oalVPZhzPtX?pbPyYM{0fK-ZIDltW?*21wjs|*gZhWi#@|6upB~zP zQ3iD`p$9#rfY{J>#9j~^TK!)Db)`VnGXn#|e-Im5!~OvE1fZ3nI;a5(tpM{tY-sKE z5X6R5H1!OiD_WrI%0aE7u$*UNZ<+4Ycn4gJ9!1_n@~jfAp6tEW?-Y|tf&*-$np4HiP# z#-Njpplnmn(eNNP^gfzCC>vz)6et_yrdd!nNZEpVC;~#lnuJ3a5t0< z$`ps7Y*3~+0cC@(e>($ZgDwIE?S>J8X6dIOaZbqjAg`fpki{RN?0S&8?@$iN5r3g< zkRv!)85lqYfp%W-L)oBQDhg$TES83{LAg#9$_AxP11KBRXE2AdLFo>3bv(#SP%?64 zWvB;R07^R{AVtu^2ef-eh#TVS1gJPD&eEW4kV8QmW4b0?K-r@g$_6Ec1t2!Gf>{k^gW_)!lnqk9 z4ax?oKM7((E1~mHHc0(dC>vA}-iES4$>JefJp+S~1OtO40|UcTs01i@e}LGa!hnH+ z;UAO@GKiC%fk8-$0Te?F0#G(6VM;^UAh#+(*&uglK-sbk3=DcuHfV>I5tI$;Trs$U zIG|Jpx@;B72Dvm4$_9m4IFt=4h+?5^P~u8~vOx(d8_EWi=!H-=sL-r{vO!zB>!EB= zYXG#7s2(&V-oU`X&<&O7WME(b?IZ$;gRY2~4i#U+z`!sU$_8B#vlz-g2s-{8%Dw@* z#RJL)T^F+(%6`MZz;F=C2HpO09LoL+>fBv`a?BVR7_LFtpsQf+K-r+%G#^3PzKjeE zFQ9DD4bShO>_|oihA&Wd3?l=>Uno1Ck%57kgMk6$nIuLA22Lm&bX&9lm|f4n0J?)& z9L!;009^$m3uVt?WMBYoX##1U$H>5-2^9z3J!t}EgRWDyhO+lDGB7wo*_Rm^7~G-k zuZ#=~zEC#kI%Uw7CXku`7#SE6>!A`1ObiU^P&OMA14A~H4Z4%E4#Wnf8c+oTWrGsq zBq$qH8qR^TK?!*olnv6d0m=r|BfFq%&@IJBpzL~3ZFUOE0kxtoK-r*{6KM03kUZp) z=Q~hwP=n_YlnpB9UqIQQs{I|54N7!hpzK0Wj~&VeUAxS{$-n?I6I3>^aDvKzc?Jg1 zoyy`M2~gf+U|^7ivO&I7hO$BVTNBFWWnf^?hq6H##}vv2`O+H72Kmwv$_6zRL3^cy z6d4#mrJ*lW9CUaQLok#BYK}!h*`T5^7Rm;-zzRTYP+1E)r3A_b)tog@HYne>L)jo@ zeNZ;2nw|n>gW3nPplncEbODGBx}Xfy7+neCC^ImCs>@AKHmDfh4P}E`R0pAKP^0KL zlnn~rvrslDe_w;LLFY=`fwDox^CKu5bc;1;`<0L~1H&}X;L1Cw1n8pIFHrUtP@F;8 z$3Q(4E(QjW2GF&~puJci_CwIkeNgc)3=9lHQ1&kd1_lWz`!8rc3Y7gHbg(3pEy&2g zpao&qGsrSBFc?5M3_6Sq3}#TaJ|hEz4V3N2$iUzPWrr{_Ft|b4IgAVpksvmxX#~3U z0LliXn^Y(p6iwMsHmJ-mgt9?e%DF)0zZ&HF-&&{yC~iQTz(CzNP&2+4Dh^5$GoWlx zYM&2fgW8`qA zQU(SF(6%s;gO-CTDyaA-1_p)?Q1%W628QoY_Aby#m)r~tAocq}(FA25VSrpI2oeWH zt0XrALp_KCx+z^Ast9!3xhj+my2D!=%4T3>U;ym_1F08bWMHs@ipw)HFgQcm%8U#Q zK2SF32H+ql8x*Y(P_`)}14A5?Z4SDnJ{`&dT@9QIW!o__Fcd@Cpz^#D$_B-EEtH+d z$iOfG#0KRt1_p*{P&O#;=Rnz@xL*WigUXB*P&O#Lg0_hXY1BjFehX9rRHg2MvO!(J z15h@o%Lm#fCZxf@0P0Ddfr^6~uAr@9AaPJj3A7yy#0GV4UO?4=vf^hbyB3tQplr~E z*bMbN3=AL*iy0Ug*r04se1kTKfyB>)vKCbQDky6~*{qBV44@5SAT^*UP=Shrf>#U5 zb^_%rC>xY(%%JQ9P|kv~>p?;41m%EgLeOS0kfAM%3=Doy@g7D7h7c%w0V4xL6qLP{ zk%1ur%09@*zyR7k2GV<;k%6HcBo3-vKrgf*F7HCwptyVtWrJ$Amryq75+2abGmxR6Vi>gZ48#T%!=N2z zLLk?GvL7!41Beasy%3ZQ@}vZa4Z61nRD;QZI7SQ%Am6A!*`S221!aRm(g4Z^we!uO zY>*u`P&UZNPEa=JLUa!(8{~UGC>vDQ1VP!LL|vZ>;(&C54hV#@K`sStHxn{pU;xEa zIaD0f5Uqu>K@E)#C>sxX&k3!iV3=9mQ-DV)ifvW6lP;o!d-Lp_OD2^XP*`UFZmryonK;%7? z4I0z<3fjU3G6+lug*YQ0E+#6ewMP|XHqgF;IM$_9m& z7L*MNArmMYG?riwWrKY024(Ak%6}gy2h?W^fU-f2g=7#L)DB}{V912BL6+r1+5DhW zZ=h^YPHBX)L7mrjC>zv=>4maE>1;BT4Qd_Dk)olC>3?PTzVPIfjhqCX1PCACNpMh#QDEk!y1A`=#{f>cw zK_1Hf#K6Fy3})9eF#G^rSPJ5R@(BY218AQb=&*lK<>3Ss2L&l;n;J+Q)JFA#ii1*h z2$T)VicwHDC_^Pc*`VYC+Oh`H3mOB+fr^6?a#1~$0~!~sfU-fuBy~_Ws8DKwvO(>> zE+`u`&@}4p^e`|m%z=te1Rb#kWlv^cU;u4d1F4w`TAm3Nub;)hz_10% z0W~^yLD};_*Y-l$p!homWrHfJGf?&lP$LD(-Ue! z)CJ16WMp9Qg0gKvH6)bn3hK*&*q~C2fq@|%$_91gbD?ZdHx0BmPRNFV0hDekLE`l` z3=E)rUk~EgFff3+SFKPsXh^sp$_90{W3=G?$ zY*4|q7s>_=!yJaPH-OszC!rir0}`~24rI^?1_lPuHaZX+9Dh(XXBZe5UPIaE7#J8n zLfO|C7#O}n*`P514nYP6&>aAvt^*&G4GIYnC>vD!NkQ24;Gj@|a2P-}n+lW-$~NX8 zHmLAtU|_I?vO!}$pxtspb_}4tB!eeZ9MnJbhq6I!J$xv}njhYE%gF?Ls zv;_~O2o!A^G^52eu0n}CpZJz@v(qm*`5E5cw0I`i3 z85ks?Y)}f9hq65w85mTdY|uqh+E6yAVF}t#2hs}~ZZU_7XD~7_fcDdY#6g!!IYY&Z zK<$4|D5rsufx#cj1`WMLLfN39mlP;_5hDWwXmcINpe2k94Ea#;Rg4S_O&~U?a}OFN zfwDohWgnCcYCleavK2s^9l`8+1_nb028IP-4g&+I{l5?!oplr|-(IzMxWXBFD z8&rnxgR()>JV&5xP{ZUDlnu(p7ocoV+PVg1gR=3RdMF1pX7>on2DMCHK-r)%fOk+f zsFCso$_8~ne?i&c2@_!k1|bIqh7wRe0?Gz8UU;BvP&yNWvcWf2LD}`7!a)wo0aYHL zt$HAXKy`r@RD3=I1A_sS4J!XZTlGL{KxMuSR2(!W=mcehs%#G^8QVD2g>1LWMEhiVuQxWK_i(^HmKy<4P}Ey z=nq2Kpw{qlC>zx3Jqu-n1{N+u*`PMTO(+}Gya4U>6LN-(s67RV*E=&XfD+DY5XYH; z0aW+Dhq6I&58Bix1Zt>*PB<4~U;wc}4&sBdL8TjLvmZztRH;Zo#nl-Y7(ko-K;odb zo*Gmf5IgNpECC>vyPC6w(8s(2vmdInHiy%oY?05vkZp=?lbI}yqTH7ut?*`UKN=R(<_ z7S3WQdkO;s!*VDalz4Z6*w86i&~`x~cgV2)F{n5w`p$@e#(&%)-LC6U2~Z_*56TAl z@(Gj;s+?Xy*`WI31C$LKdjAP!gOUztyCBFiP?L^Zlz{=n2KiVJ$_8~v#G&jsP`;Ff zazOE|24#ctH)y{gNHZvZ8$rcEm5l|I4H~MqgR()>E-p~^B+zX{P&O!30-$VAQ!fn4 z1~uJcL_y`hI|Bn~>@Nu_v73Q`Aq~m~4H#8|*q~uBP@F;8p!CrSWrNa3HvDV?uN2K>Ej@j4eFd6hq6JP zkh4%Ws5N{U%B}!4UZ8AHReK-G2Bj6yRz{G6K%w#yEMCvR07@)>Kpap$1T{Ft7#M`S zAc=(o$_6DCJ}4X1MVExKL1{$+$_AwsH7FaDR&=0jP#FN)00}Y^RCicF#X)Jsu^!3+ zB~&jc8&qKgL)oCE0Fh8OsKNm4h6EV|stZz~;-Itw+5ia>2lWw3pyHrLN)?n18iZJQuaXE+Zh-b4nf(VI^u*FsQmY0U^ot%K7~qv8ktw1>`M#`3^$-`P=D_= zhz-hDpvEVZ4XWe6L)oD2_g^R*R5CJ)GcX8wGcbS#C^(^P&{QpGCnZQ+9W?$U3Y7q* zSZOF56laQ1HmKxMg|b0yQ40_oRKYVaFxWxapuVCDlnokO^oO!RC1V(r4JsL9plnb& z0PUU>s`r7k`7@vrpmYG*F)8H3zyONlDyTSU!9z2Y4NC2uP&TN(?}xHMQ8^XL29+!G zplr}U;}R$vRNb$FvL}GD^adyg)Zp9(WrMond!XzCpg4oFLH&XgP&TOkJ_luk8k|?4 zY*00Q3(Ee^z`*bT$_6z=pF!Cyj0_BKAnbYuP<{Lf!eNkPWMKFKWrG@}|DbFWMg|5J z2?hpGsF*V{FmOTHVT=q60#G(+oLB_PE@5O~PzSL=S&4yxK^Mvf6|3F=(45$V^bFcM>WN%HHQe+a^I0pc3#ZRALDO1H)}78&pZ$hq6KW`xA%_Dv=l% z7=A$6pzQY#$_918SR@%3gaR2DK!Z&jP&Oz;B|&V^R2l;V1857S5U4B%mH$Q{2?&S5 z0?Gy%Y6oS53!MI{U+U=9NVsJ~YQWrMO`1C$NQW^GV5DA;?TY*0{7g0lNSB_@;&s%qyz z*{c~C7}kT>phN&_S3=n!PwuXVazH8b7?cfaWP)~T3WY#QuFFtyP+@Wt$_8~#?n2pa zpm`t=8`QF3U|{$LWrHmE17(9kkx7byK`4}g0Tgl^PR$oM1{Hj2P&TN+q61}vnrlW-HmHIDZ4m`o)&(jhq2e<^HzGmVpmgRX1uFkT85s64 zFfar_B|rlUAyD=$&`=794H}7LU|`6FvOzv8hO$9@{Yoesl&3*kM}@)|7(k)e3Ka(> z#%?GZ)JpD$vQ0td{~{0v)G-4MkwMuY3)Vo{pyg8gL2OX{3%Xht$_A-94P}EYy9i~2 z%74&yQK3l4IL~9KIH)Xn31x#?M4+vsLiLdhpbG{WzCtBH6~k{R8x*gM(hLkBgFwN~ z4rPNzx_O~&P{0U7*`Ri!B$N%Bhy-mi1?dHi3#mfIK~bX(WrGGK>J6bBP(fi1WrHRn zZJ}&XoH;|;pt`^l%0A7&z~B#MUtwTi2!*miQ5Fql-v{*(plndRkPc;ohVpVD?0N>! zOcrP-D#)dvF}q5L1cNjq0|RI$Do7kO9M=jJ2dxw7gt9Fd85rh(*r09`XtWc`21U&Z zC>s=g>!55G_|2@(7FLbC>t~>3EHg+vH;XdwuOr4F)%QAK-r+dsbCpU`#+k20hAD8 zp%S2R`*bK9G*FxiWrHe=VkjHbN2r9dL4AaJDEk6vNj;Penyl=GvO#HLB9skk#(}o7 zf*ki2RQ}I}N`M*#i=k}L0)drKwlJt$4rPlmGB9j~vgH^V785lrpQ1KuRWrN%y4P}Gsd(h@qA?S))6Oec;WO<)eJ(L3~pBgir68`O873}u57<4hHIxnNq;7<=K^+g! z&RCFoP>1ydNF22I6V&9F1(pBtkf68%l>o&PXg91-JOcwLR31RZg&7zao{ zfU-fQXZ_SEch7(YB86yM3 zZ4evOIACC4cnD>K65w+v8&o8}g|O?vWB8vT9B?!IJCqGd`CRf03__srXJB9ufU-db zi9y+*v?2p#gVKr;lnqKN8c;TpsDjPC>u0x z69Z*~@_G`K4H{&~fU-eLszCd7K@M#P?QVgJgKE?&C>zwmZh*2uz2i10dmpI%-vi}< ziqA<u1v zbqLBf07aQRsQgc4U;rhAb5IE{Mh1o}P<8|(1H&yS82f6&R!e)ExtD1qQJ}>A(o2 z1~fRxz`$SuWrGZ|gR(($LM~7?C~_Lr+4Yd=wIi(8>=kj33lHpt?MP&UZo=}Z$l}FNHYlB~tcP+y z#VTk+uuuvE1E@UT3l#^oI}StHpfLc@=3tN-Q2+2eR265YhDDKq0mKGX5*$!AsJN8|u|cf~&<#gWHpn1V zC>!K^3lJOB3I(zxK z$$+v!<#`^I4XUV$plnc(wu0E8t~6-;AIb(fbRv|^#lXNY9m*C0mH%_098jZRF_aA| z99BZvAVb$f*`OvGXdAIm1_J}ABYYSt4ytxfLfN1|IuB)o+;J7k1~tiVLfN2bdIMtD zgX&FC+<-WlkecuZlnole`Uho$CKy0_jD<287(lfgml6X5hz)X_0F(_Hs1k#+K?Ro# zlnqMAN>Dba=GB0*LG8hM(B@;1K_J(eKqWx6oE4M}8WVJYvO$x_ZcsL;U*H2}gXV;S zplr~XAZQ;l$V||fK^#;Zv?wtJ$_Di#vLNhw@Yr7ggu`$Ww7eF|22CV`HY0D|nSnu32vm|VFfasyByu1LFdWJTtyqZOK7Xo4xH6YU7$XCS zugExE;J=C+lS$ZgkDVHROb%hwXMkv*u<0*AbVS&6i(MLiOa)=nJ3#cEu<18I^oy|R z8oM?8n7)KfuK>|J;nPp-*6?GM2xnxNGhKR*hWhkdM;k<@zw6v7z`7-zk-=kn_8tx8 z>9cfQC8n=CHcNo%Px$m5dof51$0d0QFfECg z90j7w^=|4asNt3xGrl0!5E5I}*a=OPp z4Yld(Ua(6{|HZpgfayr&^cf%#yXDIzrr+D`E5P(6a{7yX8fuISrt|ODP-kL@nr^XQ zLyhss^mq_ABx-ucehszhZI*cw)A?lQ3NW3CntlT$(#0hwF|$W#z74=MwjXR2Q}20_C!zL0ambGP-6PGgBk)%Kcc5|9MVvmz6vDb zc1S~j$s}fa#32nerVgg*2cENwO`ir5EQp!D0;DYM`E-ft_cA&Kn0CZW|8Yn|jd9I% z`NJCOOm||YdmPqKoBofjLt=W{VGRK$kJ#xmKq99q7D`P2_hh;N(~8*XFF+zqF0B&N z@98ZSU^);x-QtLb8l%AU_#+zXOn+jhcYwGu)7OKz3USkK9MMpler;l~#B{Nv8Ujoi zanm)9YN$;=B@-$!Jq;w%5I4QzsD>J&!}R$_HPo4U;-;TCs-eb|!92a8f=O&T+c6D+ z>2{B%b4-^zrlG)?Gu{4}hB^~V{Pc`t8fr{an5R2DWfz-X_k6klQ$hUn9mh1(rmMZ4 zE-}6CO11z~NBne-;~HvA3z#7xacd5j0MnHC=@G{@)EIY6uRpG#&U7Sx`U(*D&-C*k zZbicMA0RC(EYlTEXs9twNSN*cqJ3B(Hnp7qxkoXMWBR-k8VXDyEYmjHiBA_7ROM$X zNu2%yq%;DmRPCgO08>Nabc>T3YD@_%(-R)Ei%l;B3C>8I-T@NKVS#w^7)WqW;`AFJ z!2*`)6MnLbO&2?*A;5GZak|DS4Yld#Ec7I%r-4KsBu=k5rJ=?+Vfy@2ppZzKe&Upd z8q)@-F1FJe0!$G}(>26O7{qYFZ#bi&#>B%qUEvj%*z|oM!8=LQFMtF? zSf?MDDU>hujD!9P&JcOb!()M@86)R;urrzgx45SwmyUPFLsO6v3gkYE7&^aU^3#isXx z1dpUnUvOSSjkScGfx&6|>GK-OY$|Dt3_lpBe>tzA#JYo%fnniv=?faltTGvl41cCO zU(iryis71mf!R`Qdff#L0Vave=@Tw!s4;GszWsuRI@5v7=?^Yws4{2(wL98dp1f-Hs8 z1uko-F=+@+e^6E?Hr?+sD5wgjCx8T1gr-k;=_WRP9!M~xX!-__V2kkdfK$F=)8Byv zSxTl|0VP_I=>>1t#irX`0VS%E=>bFTbLp&Qwz}eF2E;GW|G+d!lUm2auK! z@#!Cqn}|=>zpBB{#8WZd;i`rjQ-S#O39|*nrq^B75MWBEm_7j{ctsqNgwBBk6)LAc z013)SOy5vaCN^E}nuY*VK;?9UYZ_`y7bK=XV6qgOo(B??shZvZ5?mt*QMnH!_@!$4 z1(0BZ)bxfxJ+bM0*EIx~4pdK9xUQkb6e2xc!9!1MdK^gbO3n0w>tJ6@zpkOqxe_ey0sikhZzzq#GCJR|eiuAhyGOccU0!Z+Q>@I*h zKLO%Snf@NcJ<&8>;+BRQW6gB?Tc7}Lo}K~X?wQ^X;vQ+9z5~QPGyVQ84RyvR)7fup zs58B2o^Eg(l-!i2Z(!^YpPqkPgP*CSb$SCxFhOa0gF~Fy^nJHA1ej*DPQL&W+@L&N zfn8c`I^P`)0Vam_=?Zr=)R-hxrWc5Gh)s_J33{|oF8~R)s7!YN#o9WMU{3q=10X>e z)#)!l^oRE80(UjknC7TWZXoE~<)6*SoJFz;vf)y2E`?S)mEZ?R6kQhTiEDK!OZf(?1w56`Otz zB$(4X{lR?=HO48^*&k@AGu`N&Ztwu)2kq$!iv+}`=RE-B)xPNsAVC$K=>jKx#is8A z2`=cLegPynLuYzH2DjLBzK0qDOc(m6D?9`hy*kq$fGVLlkRZ>5=>;IcGdj~ZyZ{w( zAi+C2kaGSSGUwkz4FSeG)A=8PDqo%H8{!qjru#k85MX>VJsu?XMrYbeP$Bn7Lx4$T z!t@P~G}PG67%?!Yhfcrq2vj!BV`Nw{o%ykbGVAAdQ0b)&Vw(0cFw{&BeypL)mhhI5 zfyHim&0`HErj47YFL#+0Hx{RD{Kxpn#n5ba<%UE+y`8f)hc28M*`&QCOySr1q+ zF+aEVSo_e4X0IUB^QW)hwL4a8f_$~gVu;%L$7 za!*0!Y{7Jcry6QZ-R#pNKy*Rz^oFMzYHYLB85!z?rY8tWDe=l!F)~~bWMEKYWMJ4k z{eBXUG}{|*Mg|+M=@VwVicA-HrXk2~Zeng^WM($Kz%4_9(Rg~}9Vbmjk?q;fG`0&d zCT&;#sZq?ws5N~$yXMh)zX*N?2KJ1UA_i`M(7rJSHe)^p2JQfmFb4wEfNe2++mObiSH zYKuw55tVBk*Q%D}+D!e-6Qz`&i+&c?vN%C-k&MkdGsYz)kxO{Uyg7x@_& zm{+kgFmRWG)U!%(S9F4m1N*KL#AIMED9){C;I0BWiUneJwJ1mp8)%&xcMa$S19pi0 zwIKUB*#0muFmTs_)?)LpC4hpd9<<wVqQ1MJO(xqsd@$m?j9ru^gwGI1{fE!CCt6kuTBUJ7!)Tp0@k z1NSlzlYzB?dx3=zELAOpq>)b?3=G_hYFHQ;IM@_HQMb5;je&tjzD*F6I<|pQ%?gli zAxLDd1VyF@8)zDpdlhK$gbaIfS~^2L_v(+V3=9fvzd#9P4M-w`4YZ_@do5^3eGVk? zt^-AH1tj3sg95IGftg2;fq{Di$knn;+}o3c7#QR#L6+_SSt!*5(SZft|k_q+JN&nFiV2s z?)5B?r3&2dvf-A#hgb?uZ6Au?Tc8A@@HJTM&}_ z|ATxj!Uryj7#P8}@_~y%Mn;IWT<)NNVqz>4VPN1@;AUkE5@lcz%t$E;X5eOH1l!C9 zj(&DVkWn0b;K1Ynb9nf`(Z$32xqO=9 z^}LL4L6!+{3ox#LTE@UFh-{Y-*mw>;aKS6g2r7Ab_{u?vRD^L78v_F`1J^oG`6$Ym zB?@-7Jfox-#Muno3dklYLQMj@S_#alhdNss+1V74 zTb*$W$VLfnEye=4joQdI>VPfbfCPXp*d!iE0O)~D5~znnfIc_^L>Rc5KsAa1qpBDK z1Fs3UG2Px!u9)IRwFly$8ft1}@KfP=4}c)D>r7 z;1%KaVFX=3EZ7-M^I6%1xWH&gnSQ$7#B`L^yFrSlw zqgs%G0ptKMpPzvPRHK8O0ONx!0XYK9=V9Og)zlzofcbI^9H4A?8I%A(iGh=W1Jp=( z4B|V21Xvijd_eVa9pe^p1_tG0tPBiHcbS-_B^el05ZW22eSv1zLgv(ykx_aj?VmL}5))9?&WWs8Mm#eML1T81<&7iE0LV zf|e#Qh8ez>U|;|ZB7+tmFn+rx!@yv~Cdt4c%FMuE^hbh$!GW29!5F5%1avf6HfX$> zK?}6624vsgX=0j6O8N#246?Fdo0-Z4v>BtBN*J^mW0;B=81z7sA&dsoUBooi7++1# z7SnW>d<8mDEEMkL{ZO48CesCFG)1RB5YuGQv@l>`xCxagsp85p!clLa7;g-?%?&{Sdt`K)|;qlBh3m^owmLJ3V7HjwBJ`RTe+ zno|5AQ$fxF&ByVuoS*(iLQ{p&c)Fk@*l=q}&2nLo;ct))Kd3N0T0&D1Y~;h~uO*?T zGfn4~(v$&0z`$rQ z{gjlZJfrUPS1>Ie>_{P^tOSlHMu-*#c)*x~QZeIOMp!xn<#EP2;nP#3!5-<8*31wF zO%ZT#Alc8VJe^BUQ-(_mH17`z71inbGEm>RP4}14lmU4mS4LBfv3>d!8L&zFWS}OU zKsL!#1#A*G+@w&I=>{^IQsA&IQ<)wh0|}0~vYHBv0@L@&YFY|`oMXqyfJlvO(>did zl|WYN%4te6&YbQp2UWHOSy?|=nG7iA7)<#JUiTA-zNAZ-!TlNB^=8P85% zsGw=a=r{d_f~GcO%XAh+&2*s_4F-lDUIqp&&{1lj#8x%ERuSUvg^HT;j7`%IDr!nI zHch{)sF^0+p~=9Y!^gk?Iy@L$LgraYkY7bh{pLJhP^f^p8P>2WHW#lo+&85m9oFff3Y z)qoxRKzn+fqNXelXub_<$iwNps+y9FmDAN#H7&t9!Ud5MX}%6v$MgxRnk>+Gx(Yh7 z@;cl`&<<6`IZo3zsA@(tI!)(M)6`-E`OZQYtWyniObXPlI8g=$Q_x~U#$U{!R1Mmo z3Yr{eoHKEHy_%*6qxkd_YMRN6k<)e5H5D1}O!rgQ3}?JEeVIDc%u9M;GkHKOqoHO> zPXDj2DalwdT~b5SU8+K#fuTg4fk6wj`yb?rJbiE!K{J_w5oiZHv_uzWV6eAkXJBAD z!!%K!fr0Hm7zm{@GBDV05@cXtI?J?j`hE>fF}eNv3=FK`;#TM;3j>2gKB#lt#dtv< z)GvR${j-K9fBf_f2elQpD|BccvaG)%!oa`?N>U6A43Ci5ETH2kq2i$JNH8^WNaCQ~ zMKEz!B=LA8b|VrSd^;J`%-Ile(85Fp2GA}am_er@5}@#AxPin5ZODPC`Hv*d13D`c zYN!;LJ#A;BoMaf72{wfRd>0s0N#S(!%c07NYmuZ+BeCBivB4K@LA8O}W-!}DK$#yZ zu7tz}?dpK3iJyL7SVFwM4@r795_=^Q8+;oT)VMQ9;y01lpzRPaqdy~wgKw0A>g5NW z4GLw0FNo3wt#4ysV6a4za7SW?PX8|=AzuFhNk|=ZMkv$_Ll7IZYK4J;!BmogK^V#g zUswcH16pCv2x>2YmiU6yL&YOOY^Zn~hz%77t*VEqF9nHff|gZ)4yOQdpceEZv6myU z_k!4<6%7mw42MB%sQQ;k?4KYu)Uy8|HfXU40|NuI6a#}Wlnq+L4hu{P&?pqlMY5pN zPoatokl0~J>;w=SYC#r=4Vr#uU|`4tSpa2&)|fLw*_|LYQ1z2RY|!E*(7F$|(bQ|WGB9J)Lt{Dh+ zJp*X@HO%5oAPLa=JkY){X~-c|piF!aBn~z7G>8qg>;i}l6~Bwb2Hyh&Rr3Z({2Pc3 z6$h=jX5a!4Q$W?XISv=L(+Q~ z#D=Orj->tqNE~WD_*Net(6Tzv!IdBhs0KMuLmSFA1+k$n1+6(| z?T@4;3dDw50KQ!Zsy7!T4rPPZ7Q;N&Cd**Y0P{gNk|NL=Vwh#%OL3r}hg&;OmJ!oAm zBWT4Q0|P^Y90P+elwIGAq-Yw54K;K&hz-@e5{bP9#D=Qb31UOl97ke5Mq+kk$NkBE{fY?yY)ky3%5F4rnv=|et8FV5XlK5;88|r~WNbE;QY-Z4j(@-_a ziVO^DFyEViB%l`CgV>-gAE5p6iVO_Gg43@YZVax63N1mB-U4Dnwe1J7L5DPfsyUE0 zDEk~p9I6JiI1mVJaRQ1N=uLP18Tp(;uY3@|omeIG19EJ5O+ zwb7vCRFoJPgrRH?kT}%PU=SN>C}hH?l8?1~N$8*0#G5F4~)8q@+& zVPFu3vKN8Gp=#EG*ig&BH&j5y4}ip>?9(7NRLunt8!CPqd~XL-;sHnkY5}_{0|O(J z4Zd*#szC-M4jP97wMJAK7=)p0@P!jlHD(|+P&2JTY^b;=5<3LM2B`u0KN7@&DoO#d zK@y;o(Lijd1rw0ivp{U9`lTQ?Xk?3lfng=cK~VMx#D;4424X{8%AlamzyRvNfKsUy5<3!!oeg3`^_GFypw2R=zo5>*APi-< zg2bU}Ce(vCP>ZL6*iebZNbGeWHdM`K5F2XHIS?DF{w9bGT6qrI$_KIx%68uP;nC^wmpaqRpSC;L)G|$*ii8h5F6^C zY9w~I217l(H$M#|0oqXjI>AVTfdRDl6BN`-LE=zDH-OksL$`w1Q1JsGHdOp5hz%9L zjKqG3#QqCs*E2AH29RMzvbZK9BxFErs6px=Hq-(g5F6^yU?g@C61yM7hU%RKVuMD- zL7QDP85lqtAweEn2@;331h;@VPz!c~*ig;Kk=U0&Y^a*+AU0IZQzZ6hBsQZKxUmJY zi-8BkhUygrv7vhFWk4LLgd&Iyb*TpuI~|E#2Vz4tcY@fURp<;1482;A%P>K<%>ao* z)hq_Fq2{juv7zGIAZ$qfI|$-H6&(Yyp^7eo*ii8YNbFA_Hq>GXZ3YHLC|d)>hUzs2 zu|Yc@7#JALwHX+Mp=>9RI8=?VHt3cVs0Bet5(!A`JS27{hz(U=2Vz4F>Oo@9LSiok zv7zc$f!I*>TS07)ILQCIKpd#+9wMM$?}L)qLqh&UDlu|bA1 zFfd4i*igNiNNf`j8>+@q2UPw;6}ccuc!Jna3ks0fRUkH0eJh9!+HcRmz|aYD5R^Ry zBo0+GAH;@Qwgkk6imwN;A>#E6TR3xU{BhgyQ!pzvp4VDJQSpazA2*r3Ta1_p)*T?PhWC_5P>4pox}VnZ#f zMPm0Lu_uApQ1x>`Y|#E6(7CZ7GokD?p!^Rje71uWK@HslVna2bLSkP9v7u^if!I(r zpFwP>IFla2$Lt_B)G`SW8>(Iz#8!ru|LS@S48ov27YqyxMj#2OB3lp}YN!*44HfqV zv7zD#AU0Gy4~bm~Vnfx`f!I(rogg+;e1;yV{D*RuBT1|Qv7rvSjKqEnVnYpj2V#R} zc0hZKKpudy|ANG!YB=-}A;Ak`L&c@x?0N-{lhH7vDv7zFgAU4#p zd?a=~hz(Ug9f`djiM<=dhK>my1+hW#56aTlK^&;&+eqw3NbF}w?AJ)__ekt-NbFxo zY$gLlIl+d+uIEMK2qLj1kk~RvY!xK71`^uR3=AF+4k#cP z{E^tfNbD#ib{v>JUEojtx9#(8Ysv&L3QXUvt>w>{GM!sT%b&4hdNhcdGJQ3OS~LAO zh&nReTUX1U@y_(wx?28B4C|)9(be)}RGDtAr{&LRGrb!`RZPDPqP9%e*4Of9yfM8R zM17ck8bm2fmp0JyXAGF04Wcrp?*>r~)42_`{26CVj|NdErmqH352pVHQ7qHFjkNq3 zHKxx7Q9jdOgQ$Y(*2Z8Lc7vz|({F>QBh$4_wEP(_Os@t}FQ%UcQ9RS7O|_0Qs!V@u zs^!n9Gu_xs%b#({^kxvXXZmFjB{N;wT+5%aW_mG*x-tUksxDO#cj`PE2>U((-4VGJP_L`ZE17hzgl*Y^~+bxMF%U zh>Dqh8ANTEu56>_&*(6{7)0%uei%gAOc%D*@@M=rJsCtbOy3Nm9!zJp)ADCrGd&nY z@l0O~qP9%`45AvQJKJmdGd`F;8AQFA{@7kin>P(Kbp%cT3=E9Z`9B(pGuliycFMwjW{j#}!>DG3bI1>Kg4PVWK<>P(;QsHM)BH~p}qmO7JY z*YpK%xWt6|I2ah9;Q=`FlPj-18qc{GCls&Y8loU3=G>iAPb4tEM#E# zz|Oz`+JGMjSx7u*B?ChVGkhU2>vT_NEgt06#NykFowc--;6evJ*h@}#Ok1nTXfpkI zs@8GFnCbum{6=f-Yt zH)VjXkYZ)a2eDzRix+@w&0+(sF5b+>z`zAvUCdRn4`dwJca}oHN z8nzUW5jCKD)7T;QLsu7rj&kOLt}gxo3a0ua{Gi3LU_Uf~`~X^AJdGDLiwSZ(Gw5t~ zuEtQ%YH1O!F3`cu5c8m`i+RQC85p>rtBb)7=!H1o0muQ+)x}`L`$2|tuz?)_U0n=z zz(lYE7??M)FfedUx(cyq>MYP2X|PYHftUy_(x^t#Gm1`;0&$Sg`V320wT5?N(fk9?B9|Hpycy+N1FUSF~)x}&3 zas{D_Ou3+|i$S*&aV-K}KgYoax*dgUF(YVovFvUEPyikUr5fn!VsKS;@UR^A+UzmY`3%0tLYqK0|bukxoburlWTT>vbi^0y{25~;< zjAa2fu=Am-i@{DtT3yVw7vy3Ih>M}Ci@`454{~t|#Ki|dE-rw$_#nu|B@E23Kwdlq zaw)3-*U>PrlR%3QxuC0y!5IU(y0`+AiB5pjfL0fu0;PQ|P*ysrDa63Qs=##ybdE11 z&z=P@PK6}HbD-699Bjv!85p?EgV;O}=Uf0eM}W;AWW+_#k~R_coYXu9u1nC>#o&;= z405Lo12Z#7)s=LJMb~v;%b2-tAXx-m#tgOyx{Mj@{mWw3tBx5+3)U z_877;Fw}G1KM%44EEeBkfjO?%!Z&e^4c7{ika&j2Yhug7jzjjIAMH1O4c92>4NPlC<8;6F@qB{ zbQv?)0bf9w66(9JAd6%en9VpC7`VQzhFJ8o4z^sH3%ZIKY|rl$(Cv!Q{PPE55$IrV zF6c7m*C5A2mobA=2Xq-T*ir^Yu&sPx?=dn$tmOioV9UkC2pT%(Rp4S}d@llBlgb5K z#SAtGwu-qP9GI|W%;5Bayo{L(wu~7Zx!hpWB>2vQ!h(nKs|aX4Fb~TH0Z{P>Dhs(Z zK}npKu?xJenM;5Xv^)d6rj-k}t{H4QY+dtt&@?EQFe9kY=ize%X%=A=hb(LcZQth- zWn>2}GZx^IU~Gadk>-+wE{_GfNs19vU~=$*3tMThW*!DEFHrW8VGIOmR^XCn{0!F& zTNMpt{DjIAfY*jSaBwfb$p!CNB2~a(-Q382m_ZXsH`?%1T8(`HQ_R5 zoB~@F%>`Q({TUP+W?%^pK5(8f2d@&=ftX|gHpzg2Ba(@M0dy`Zcwwvp1J?ymC0}pJ z2wJkjE5T*M_#19CY*jSa$*@(?3q=?hxL~WIIYF9XtD@aNMKOF;H0bDiE+HmqkZ_lDsD)XyFU52$v6I6KqX27i?8DST}4{ zG}yneRng#_5CHbC00Y+)PzDTS1TBx@Z{P}M?2uq!5C!eJ;tB;PAOX-di1l1yjG!Aw z1ZqIx9L@-83JFXG`7{D-wSWl7J&|Bf2!JmA1xULCGzaF_{P1=YDRjG!t~ z08}Ay#WI45X8{*b6Df`nRDue0feroOTZYl4`&K5eU=ZWoAi=;O4k8$MSURT1*K0{Ia!#+P z*K%c)nZB=HOWedn5^~Tm0|SF9XyF&f6bS|fPtcla(E4df2DNLTa+rZ4DdTDJXVgI1^irLGi?cAR*{lv7-`* zg=`l<;!x{vf!NT+NiUJu??7y*8qhhmj8HXyLE=y|xu(AlFcaqkuZ4pu4U?R{;MG>E z>3PLf3DaMx^-64?wMT0YBjb(f;rq0XGd`IvzaQMg&j(Q^)A#S!(q>GU{(8TbGGonj z{sUU-j2_d?L6qwBco1bUy&Xgyo4y`ISxmnUqMl9v529kGs~^--XZ$wZA4HW*F9%WA zr_VpArOuRS4(@PIzjshefN{?B_aLz==F_LUQ~S#A~+Xg47nI|Bo&Drn~r z51TwljT(q8z;=*}fq_*W)FKdJ!L)Q0NrMdm13NgwR%yw>4QA85m@QK&?zxEzoTgatv%j zEH4-t7}!|uf)25M4bq|A9;c+!9;c+cJx)pQwKL4k+XK?{HtIlm=Fg&DwZq&x?f+bf?IkMu=UD3%{)0lM4z#D0Rk07`R4!23 zPy#U-*x5n5o0UOq7Ix5`>#QoE^uxgpYL&vA+Q7uXzzTKhBv5*QIu&$*7tE<`ETA+4 zaq3Bs`3R?qf}P3*aw_OnM^^3am$meb0%1;_E+AtszFoOSe=9p9!}goa`fHi%6+r1s zWE~$kcvpeac@`*=l|W1eHqfmmtjZuZ3)?bKqEG=1yKt}-fZPU6=boVGfTr_BpeTT* za~DuxLDM1uR)~{sW881%X4^n?|`qdfwvErY>NsRY@Y>!^0KZlWV^>qF<`eKaxAk@X_YHRdO7(Y*sUZWq!G>dJzz#4r~#~0Z!I_@g5sHt z1yr7}T;c&I<60wwk|dZjrz_l1mDnyY)j*$(#~O5DEjQ@qQZ}3E-m?v47;U#_%r@|J zgDYOJMnIg&*b;IW!JO^C9~v03GM=BV_uN2=@xpY^=LQ;#Cm_6&(|eyAs4yOc@D4$E zyCA&X5Z;#QMlTH18P`Gt*G>0*X`sTm48mJJed`MY6~+bAZ@n4BAqsV`(;Xk=h`z`?N0Nbn-~c+*V_HKsSeF;HVvn7-<-GcmG7GBYqRb22h8FbRPU!DV9P0F_ltOsqMeVI0r} zT})!2O(;xE?9VtE7+6?XGxJIqnE!z`R7io&VPj%p_Xcf5C!%gRCf+nE(X2gWo12kku91s$f#%p$_Tz@i8`8;@Crhk=1b8FZdL6C)E3sHo&% zIR-kCfb9Xu%HyDeZW+L1KrAOfY$mo;AqEDPlOQ$=+dmNd6o}2nrUxpgPBStxOn3Qd zAj)==n}LD(`Skdo1~M`Uf(#7IpmUvBZ-AW5&BDaO`jLf!fr*9v-Sp`{4di&N8$lHd zD-Qz$o6YotKMll1K=;NFO% zi=qq++|nRJI2f2gmnCw`eg@siP{_o<(7>axhnazatq^2Ry&~uaS_U=`&}fDdh|R)w zM3jMnN4c8=)Mz-*&%nT=x{!l`frrfrG}5WIodYz|`G=W-fk)#y2Lpo$+bL};0^AG?JUVYV7#L*O+JzYycyyULLB}X85@BHA(Fd8S!ghp{fq};W#MWS|PX}3M z2;%6lwSpv!Kx_jxPz}Rl3}TzG-4?ggHLKZNOy}6 z0|TElD4l_JW3VzX@X0I!$w%-@US?%rU<2Kk#4mLN)TU;8&&|NVFAZX|uz^mB<(GNO z3X1x}JPZu{vVx#UX9HdQ%r6I0Bfz$am4Sg@9>f-5YXe8~71HT%`90N8} zb_NE1br9QxtpjAH28eCJHU}iG31Zu@MSvWk1!6nYvssHWFz{=GI4*2QKoUBsYzzz@ zY@iES`E@~-`GAiC;nxE>B7hBadH}yZh#kTpbQhG8SwNv82x5Xn`9XyV0}snRRt5&J zASe*{LAetw17U%<3_L8KS?i&S)Yw2?0PO+hVbNh@U=Rky1P=?S2?aI;OdWN9+m=j1_r*>aJ3*7 z0}l%*)Oc8CgXE6G)bf@?bHj zqJyBT>Udb*fz*P$gHX%B!vY%3;sXT)L=@y=uni16EczS_41A!lfJlLiWZ+@(0*Qh` z0wN0503sN8SQ0oG7?|}yL6vljje$W3ROs`tv~hrrYM%xwn^@*>Ffa&1d^M4Sfk9{u zSacIe6cP^0IT#oOL8rZdFhA&gR0bZFOCWjBE#W*YdqKKDiHL{gE{F+I#>4Ug#QXs^ z>mNuhM8Ri}C@5j^)U$AMGBAj+fGR_w1B^CY3=E>6OWwezhBGjVR)Fe8(S0E2i+b}j zFtCVT2b~@y%Fe;Sz$U5$n*R`G;bmap5LM=7VBi#02F*x{Hh>Nd5v^inVBitG%*?>R zE9%I}z`!R8+P%mx3c9CLKom66Cn#Fa3A%4l^d~21g*9kYQ$!SWTeGOBFE0awnCLD( z1_p7_n>-8*5~83pg(OAg*cce3M3*o#Fi4Ana+-{&D+>dItSBfD4D6KQlTJ&xIo=)c?MySU2>ob zkMS5ID5-$l1v;LYan5mW1_rRbAO>XHEa)x<29U9{xY6xBfzRHPAbUlTuBY<9N-Q1u{!26r>Iu9?}fL zAkA{1#wg=NxUrCUxDPY-J*ZcM8V{TJ(c@t<$Y@;gFa;DIQh^|Y!1jtV2!l+Q1GR`5 zyW#dik`?GuZE(;;fy!*Ky*PrV7i6bYC`cXHSV;z9kY+hhqnoh|UPM6(q^APVPy$^~ z4GAT9vf2S!l7UhLRe+4f<(*2fcS1o1f$bGx5C)kp2Wt2;wxHSDAPBV=bV)Rty}_Wx z6e#w#;j_0LVlT)bu)SIg!XVS-K%Ec9S~Pp5g`oC=u4G2D_Z^14_4w><0NWb~G6-z1 zEQ2t}bU9E5h_L`}FC_ZfVD?S}4V>YNz9NvFQh^|KU}Je0gh86+Kz%I6EV!|t)x?Z* zKEjLz?d^hi2S=*Nffx%?2R2rbK^UZ24%CffOo1B<+F#2!Cq@_=N}#)i@fw>3F&3l_ zY^)N4Fi5i;sHeynhh{A31SfDB1~Kp&n*cIa)D2=5s0Ydzfo7JH2-Jy2pqd$9fJTAL zk_rT=13OWHK^UZ24%EqI3_>%u7iKKz23@>P41pL6QU^9xlR+4ySq{{XX7oWb_6N*Z z4pG=VC60LVgBS}^2R2rYK^UZ24%Am?bb}iUiT-3!Xdr+XcwOrOGFH?LQm}!>02m$M zWGtTi8gSrdEfS3g@Rb<4_3rTB` zdALdy8&ED2^@3Empg|2rBSuhj7-1P`A`zUbo`}K17H-*c49iULS!N2dOezp$5IFD! z7=%Hl%Yg<~7*jK0vnqEQU^Acn?V?)SphUK#t1s7iGdN+B${(yhJitmlbL~mF$~lX1?2%H z&=FRQ?V$E8)5LgikiD0I`9gUmBjolP&{dg=>!;fb8j4D&NP>fp(U3v)1Za@7h(YZf zBLlCA*fu*CMqN-a!qD2g9yP&qJ9)Sp`JOt6j3`bFwKLLprF{r(QDgOcz zs4rq*;4orjU;rgga4P3u5C$b^4bW+zjKWMdpq?KC0|V%G6~;Lro+jvm6h=`d&;SF( zEovY&tK=CN)IdpeD~JI)=IsDzlNAq(6X`vIj90A1|`s-I-@0@9L$|cg&+r5fy{vzsWcl@ zh}wX%9aLbs00RS~Z6~Nl4i&jGeV&-1Vm)XQfYA|2D+@aV1EUj?)*z5p7bF#B{0t0? zu1Er)S!PBz(C{wQ?C-)142<6mkC&<^{h*(xSE5yLS z=z}D1800cvgn*6)s66!Z0v$R564hkmW?*1^#0W|O5JPo&c^DWN6+y$FPytY;U{pZ} zIO|%2!cGe`lmt7G7SYog%v^9?EN(Go=dtkVlr4b>PwfCQu=j(7!PYcM_mQD8Na zjQ5b(H;~wukl1IC*vCL@4aNf?3To<35F2b9*h=2%3zR{=RyX8j+=N?d4M+-V!cq_$ zYJ!4>p~7@#BMY#9SwSHvJpGCxl)JrN!*D*M2p1<810yHs%sEB|(DD=p2Ik4rjkFAJ zY2+qmr^c5TWtODIr=+GOmgbbirxq3E=cVSC7RRR~mL$d(r55BDm2BtMHZ;*;w483Z z$y}J(!pLBHW4(zmi-nPa<@Ar?h9ZoH(*wCGK>~*65CJ2YQX`mBBdAhim{Mc&=?fza zMPUj}U%_#53`Y>@$|rt24cuI8CXsiEHYGOHZm}sZdqiQAZ}^M zP+XE&R1#lWzs$LevhN@TN2GxL22`7-m{^=VgG>Fy1 zjyj3~i$NTa24c^Gu(LsI(AYQw0|RJjGt5%Z06HU7%~X&YsM)hYY^eGbAU0Hd2Z#+- ze-Olmh_f@C1#$LIZ!p^y6)xZp@ z3ZRbT1F=C1niv=ugm@8$W5|NUp=#7YY|#Ee1_lNl5F4uA62yj@=?P*()dbapI8cc^ z5F2VxC5R1bnKCdi)PgL7vO7THP&Jc4Y|w4$pp$t(Y^a(QAU4#@9UwMT%|Q?wDt;Wq z2HnsKit#HT4pia^hz-^77Q}{%bAsAgP>V%CZ0Oc-&^k@nzIA1gI8==;hz+{p8?>Jt z#D=PO2C<=L27}gbGeQ-`AW0;F*ia3i>2FvLs0WEd)pvl{P=ls`*ieh-gV>;(P#G8) z7V|MM2t(PR1$eMDv;(9Dw7>>bMC=7|po&0CE@7740*QkaK@PTsiN6PlLoNFSVrzrK zkb&VJ$TBFK6V%p)ssSDN#yAXJopLZ&r-H;m z*K~uOgGJt(puB49y@mRLv9+8*1hf5F4tdel3UtmDmhoLp2-# zv7zD@Ky0Xnn;G^P#?t- z6sZghT!IV?!cev-NF1t09>fMMTL6_mDj*J2ktv7`HPjWv1}S1-U;r(mg1I^bBo0-d z2x3Fk7lPPO^;IA?RD2qU4Yhb7h;0LL9O!nJdSNJM14sg@Xcvgx2T`;i#D=N?-J=9^ z1ZYnxBUH^xkQ%6E??G&+`ad8xRGbIYErY5T1+gLG^$dm}4%A{B5ZfMNv4ao;gD{ls z4HAc{2?eoxA!?#PY^a)a5F27BLpg{IRnq`sL&YI;tPs7+LE=uJ@MmCPSPinw2_mr# zBmuST0EpcK5kCrIL)BaYv7v@O05$Uhz(lu$H2fKCd|Mf3}q|U zgCwAev_b4{h-C&KHdK)YVtsAsF|RRR*YaZ^$ZN{ND_-dY^XutT}zO|rWrPYEQ7N5 zBB?nJVuRL0GcYim0kNTKZi3iQ%U*)mP&J=GY^XRNXvVl6YMCU61G?v#0knpLfk7C` z)&Pk^)fj=;Z4jTCgV<0tE+974&=3$CswNi1hKgr`*idsyK$psG!i=l z#9j|kUjkx7)wdzB`;gevk=ScN?6nZR+dyp4+!+G{L;XPz2WrqI5F45pAA;D>g!2l- zhKhdxv7zdjq!}1s@y&(A1|1s-6PHF3S4Lv%K-iFcU=QLzUFQK}LtPgPVnZ#9Mq;NR zu}eVgWe}fLf!I*>O-Sr+B=$lOdnH8ua%oWeAF5$JNCL{X!XMNX0&$=c7D#LdB(^6KI}nKtK06+&Hwj6+2*h3l zadb6^y%54~1hJv&LC3|{Gd_bzOh=NKkHlVq#NL3!J^*5aPQYPcU^oV1Lk&HL#J-Ni z{t9A4%NPdGDeTo?d+Qlkz;j+;4g)_(0;)&`#GV5YR|K&k8W^;Y*v3d~4-gxwHvx&= z0%C80m@@^$hN@WrVsD0|KZXq;4pd?fhz+{d1=OYkv7zEOKx}Asy$fPP#b1Kh(0u<7 z#Ds5iKA#RD1%6{T5=*R1g~~4n8J72Fh80B(VgEy&8$V z9*MmTiMFpru%=GIZ%3`|u zBSX;1cI6=I&Gh3SDq_0$V?%$&Bh%9#8~QWxOr5^tv7sMh$aMB6hW?BPriVW<^k?Fj zHhsktLqEon>EA)352m|6HS}lnnLZsvO_}~2L|vF}{>;#yNn*zIj%S8`j0w}PKQr`a zTrpk!xuHMfhw0@Y%3}I)5LGf={Dq-E;(`URgJjPftJ^rC)Gd^27A z6F6AXLDZV*+dmolGcl~1&hZ%>9^s!2{h35oPhSDzo|yg}#MM|c-Q$a)ALE7T)4v${ zGa0O%{sP3EFx~ts$no3TzZ$BuGXB}V{+D4q3+M!Z|AyL(XQo^KH&kYI*~`H2V|wy` zLuE#b>Fxgw)fqQUU;p1woyq3z^c(*T)fit+{|^%Fn5u51&ctawHNZ%Xan00nBXvf} zsq>B08IMdoZlumO!GnQ8Mr`UABPFIaanl7v=7>+%XEfqxd_LWt(MX+1K7M+@d0(;V zb&N&=j4!75gT&Mmrte@hQe!NcexK1uoy|X+fk9pXavngzbbTfxb;f|{;Y>zaDBE1O z&u20!V&bvB$iTqBAqd)4Xfs`w)d;jF){50gLTdUi3nO7Ra}#qzOY`acGgTzEYg-x> z@xjfQkUU$0(QNMm}Dhf(Wv`DP|@KF}cmplk@5 zDq*pk{=viO6k9=Ja&~IT^c|i?iK2=O3>z63RtQ11l=5(N3dw$8n6Bkz6k0C<5j*zv zKZBVg!&>GrAx7wa(**$wVVh9Te1?d{NW+B;85lH~A$nH|_x!T`0D&7}T4X;km?bhG znU)UM+Q`75$+2m{zeP)!8a2V2TzPn8xOt=?rYSNotYqThy~zkN@Ph(_?T3#H438Fw zPS^1^lHl&K;$f2gz`!FU`(e75w^2OPBkt*|y^V}4IoC2l^vix&bn@SV1tr_8xD*yC zz{I$BE@WWXwQ3O;!-4}}j_*KHJzdMkNQHwNs(pHtk5QA9h}aUAhYSoCL3<^;H^W@! z%eAL!`U@W;`Orm5j1YqtEl7bdK&}GenoqJH7#Ki7iRAT%aIa4iVrgVxXrIZY#Kf(p z!~xR503yKtQSvpi5Xs0dE{QKnO)iU1Oeu?pM&id7CdujfzDD-b&xNWSu5=FfiQ! z?G|QXVb@}2U|?Zl-vrvI%gFXfl7WG_N0fnqStuMdF3!lYT^uCOdQ6ysff=;Whgl4? zK8~4-hk=1v60|gu`KUN(vm@9z4pz_}7#0rpU7(dmEUchmF%}kf(7H@k78VxvBVr5; zZ1pUlHVHcmBZmhg0|PT?p9PC3Xn>7*GHCOSBIpJ>W^RzRIt2_249w|l3=Ax~pvDw4 z=uk{nMbP3oW_D)K(HloV3KBqD>y$w^pfdjlF*VMEL<>PX_%uNa<5(D(M7S6jI5=33 zWq{VSalW4Z-rq=E5_Ik!>q(FiES!d*?Hi{+Y&K4n>GAOdBK|@5G3ZPY>%$%SdUz|#yMSyH9UZ4$*q09^n zLLh>HjisECfq{dCQ>B2Jfq_$mhk=1p!xFqsoVfrLF8a~T3=F~>K)aqf4cCCwFo-cQ zaGHV6Vq@U+2C26MwMPZjdb?qMm_`(db+9lnh`k3bL=amFng?TGuHs@~;LQM;300G| z2Bbz0v`#=w5j3mJz#PQNz`&b3nT3HtvOZ6Ufq{e1hVecN1A_o)e?OlsBPh@q1g42H zF!0$ieg^H8W)KH?55z`Wd9b$xYw@<7_qt2C+79FqDD@x5fHEcTS3djzDD=yU4}B zz#>);T3Rl46tvS{40I4CyVw>`3a%Gh$;QCIDOSzLz`!Mz0y>pU40L7>j~HkrEU(xj zUIqp}F-8#v27a+R2?hoMG091IMiVxpik(ZoRR z6c>9Zz`!6O20EZoQfwt?^OsnpI0J*U*acxwljboq1B0wsJ?IK;IkAiE3=HyOpiMps zVpbvy42oi|Tnr3KVz(t27?j1{fi9C4Tg%13penYFgMmR!ES;T!L0#+)XrrVUXxogY zn6(fCgO(Vmo1rbX1hi2Sd|!;N*i32AMoDN$y<)oz3Mo(yU=VWxO^nrxfzBRb5_1F< zuVN2ChY^d#NHZ|7itPmz3JlCEgcukE9Y7Jutk1>3Am{;Na&QT@S+O%PaJ~R-ZteyN zF>tzo*u5Y&Bd5PK1A|~6h|R=#9h9y6K@rBnd4`jLL2v?y&Bm2mP|P4$KM};?U|<#k z?R1{>l8u3Z!$WY!H;~~j>&RVlrjj;28pw9R)cm?&jE?E zaTVqlGYHNFodUtZ37P{FoCgwD-~_D~7n~1Luf*9V$-p4E03@!$m6lw@P%pR;kT=Tq!<_kmw?2LI6>zt2`&YtZxhZeCI$w@9-s3H}Mh|rG9@vrVK=KR_pRNb7nK(hS!-5+?Y!(LQ`%(%F41yaOK^uC*K*6^M zB*B~oGVX*wXp3>?^n!3B$@&*O3=D$jOF$wmpxweCWsp3;e3qAiLGWq@D+2@bOi%>f znFUg{3a$#oVqjwdg(x#N4KuWMB}O3fj`H2WB$}=z1+j4Lb8n0CYO2pgE%;7XyQefD9i4gP;YYI2Y)ia5fguZgV!4Ob!Ny zdNvkNu(PrBgEm^TYygwH!6Yc~*jOHd*`N?&W0B(o9ff7a$-ux1n*0*9VszqUVBqHx zv}bJOVqg&90wqBQaP7|^zz&KAM=*y`;I1G8gP;>5C~}zuYC*B!4Cb)Z3;2W7xqx|W z0(ziC?+WH{Fz|x5ZV0+FYJ#>vg9}8VK+sAuv2UOSP-2T185kJFKu0VxiGke2EcO;u zpo@VD0#>o*q6`ddVs9B47}&+;h=Zy}W;bpI2BGL)glX|SphH&0KnnyI#HR9sj02sc z!XyS-U|WQl4~IY)$eUtd4xhjRP`pTh^@|8>0tJR7m?I(J1Co(q{0rJC zDzHj~fk8+HoUjxG;z1E73+B`-2`m9ckvt>FhbjUmLGhx<$Slaf;3DuHq)CYpRH=9f zc=0kY2x)@Tv!?*)_)Q@#Fvm*(v~W;J8_e+*0F|CX`e2TafF8&XhK!&RDnOtdz1aspUWxGLEIe}fCz$lvl;yHs|k;o`}1*Fjh%u8aFO$3FQCs<`N zqwIfBIQxL*QW#}3LG}fJ%}isI1)aAi6a?mFFfy>Q#DiizQHX(|fl;Uw6gBnGST6(X zXAqDC#ceqw4>tn?3nXSL!7;-j;0_ADDzH%+0-&S5g{r|EErH3PIICr}7i3`25ts&Y zTRo$tAOnMmK&3DPgHQw501JT+Aa^!`IS~R9pj6$&*i_HRz)&Gz1v)FE1?-_ZPy z70j*|Py(6O2Ie#fd;+7Fj-!gO-9dnJ~&0g3{UwMnfhB1~W!k(0r!QDn`&r zg652}S3r@p8qBkR#_<}kJ}XAqK9F}8PL9x%^` zQC0|)EB1o3tRJK7PLMj0P+#3&mN%9{u4!Q2o=*}b61J;k_PkbxnB zQ8otTi_>72)_~G&ARnma1C@8YhM>F}%m_-!{2W3N;FKod3vzrUn9U&Y6qL}Sz#J9^ zHWp4n1_s_hkb%*RqM(idk5DFKryv7^KnOD^{IkF+86ak4gE=e$H$e4C4%h)40?{BV zAw79c2Hxi&yYd*lL9JL8P$Pwn1$4ax8;cev0|PfG;e$NE2U;dA&%h0`=(r#Q1DMam z!0Q7t_#7j|L&pW{K_d-}=D$FPh`F$Vb~u3!QDflL2hFTmf(j%S24-{6wnnR)f(#6D zp#COf8@SWRz`zg%x(s9vXoZ&ibkLfBHc-D3G~OT&>X9?HgL;^tm2~oUpoN_6AZ?(5 z8iiKSI<8JopHmLBj7)K*6a&L2&e425!)V637IwH+dN(KyFf<5853D+Nj0=T9nK<2edRy z4RqIQ1L&qcbyd*n^Ky`LA$v{Tg&7#sK=*Th7XqEx0-6w)Vqj1MU8V(^>t)a|WMzn9 zU<7THV_@I|dp%E>fk6dy3d&+B1_qF`IR7&+XwCyIR|HSgXoFQ96=q=20`+$pmxB7c zj6vF|42;V`J!Phe0ZO1dIM+!rFzgndemBWTvVIrHajLsPI|V@FObnm}R*Z8%N8RXv zW5^d2LyST4il9*lKM)5rc?Ax`3Gn^q@Gt~zw^L?}Vr2#m%PKQQGjRkc!!{KvGsdzq zSAYWmbT1Pqn3F~7!5%?UABd_Rysk?PwEgs`6a#|_Xy4ogu;*cWDj|^patb&y1Q;Yh zZkGeCPGU?2)ukW{L1Sf%bJ|527~}&$$u1Q%WN`y@>$estF-(VVMOOk{O$l-t=;Uuy zkEBmGNHG#|1Z_72g|L_?*yYSzOe|o3{$o%AEit_<#lT<;kzzDdW{hTZP-cu_G+)RFyFv0p$kJwGq00pbc~NM?vN= zO?1$`3QD!dAiMyDNuZ2)9F&ooKw3eK8pacs1sNFDGcqu!f$r!6rGGWh=oGg!1A~$a z0|SG&Gy_Ah7&tVTCOUuuV`2aUc!Mx#i2#@n3IwK!0SpY>AZJvGG1Nm!2zCb5GoX|Q z+R4js4xD;Z#TgiM!2Wvy@*iW60@!!2K)wU*PF7F@IT6hD0ks&xdHprW*e(zk?148R z53FEfV9*1dR03M-z$(tbpr4bP$H4dtWYE2OCI$u-4+aJXP{{+zNkt5x1C&WA_fM7GoY=_prRuRv}cz=qY@O> znxLLvJp*XVHshS*;tULiAjdIkf-5n`AS1BfwZT>ECng34B~aG4l4f97i!fLXbp0>r zlyMc%-IA`-a2pwnL5KJ;ZUzlifszd53=2sK1_pUM(0ZZGpm8qH7RP$+)Upx=#;wp& z0c=hH*qmsliJ&aYRK%dn7|UqDz+eIz2w=2i1Pxq)%mgifW1RCyf`P#lTN;p6X3*^WcreX#LB~aN_ zD9yld5iB3gRKmcZ63W29019AG6mg_5Fc|Z2FfcIQ2Neq7nR3vEVa7SGk_-%x40Rur z;6Qto!KGU$XrvlkL#V(C1=IrJA!Hy0W8i9 zO2xY+p%pDNgD$90WYjzZceBK5&=4FbCLSWG3I!D=2A@DHwLqzWfkEP;Bm;wP1E_4b z1=Y$BQLD9}bGf1!rKDiHizPq-lT~*LvqO&Yqz`A}r69WSX3v1dWaxgG}FrN>j^f24QYSW}9AS z1_lu3S;K4%N;M$NTVNx`&cFb|JYCGz_52JBAk5Kh9mT}J0Ky!a)`=1f3?R%=Ym>ms zzyQKL7g%lH*E2CNyk}xy;0|E4$>C;T0AaomMjKYpEC#5-7tCY>z6*tofq~DJ(I%CZ zfdPbt7BJa33o|f)u!tR#bsHB00|<*oS%a?G0AUViYtZs35auwn`NYM*0Kz<}Og8(O z85lrVOo~y&)=!Fo0fenVw+MhRhu!pzrZYUI^LH|`Pv5`W%zApA+cu}^|5f_473LlG8tIRFj^5b9Gh4AnePA+XNrAM=ew1wcCzKo&4E1cSDJt(mS^U?i&pav(E9G2?s? z1GJi&ks%nQ3Z#UQ0aUAk?E_U6?$a9zj1s25d050f-O|ZcdHR!!9Fo&@-yY!b2Q}J2 ztEL$lLO|=2!KEMr_(TqnZcrf&DkYd1iaF+k7@*x-j118r3Zx4x4$}wXOy@5Nl9;|$ zu2FLOe^X7N=@q)%BAlQGF32?T=?R5K@}{7s7>EmMy?|(#Q$ZCah!3hlKs2b72hkum zF-)JBtSSz^ACGFLv4c*DWnwUx{xHNncDkI3(X8zoqGAp(PFFZ+<}=;4)M(%IhP#nA z(-V}9g{GAm1y4^ZGg`u(k(`-ZoL;P#!N5A**H%o9k!QMkxlzq@+bxT@*cmzb7#KO( zrmrhE(r4PlG<{+EF45^<%8is6&rN@SdaLO458YNG(;HS9uqZHbvNA9-Gjei(NhStH zPSBS(U(*wMdq@^LMm^gXBsstGrnVC72z-;d6hQAYJcn>l%GP8mYDre?opZ?*G zmgw}$6-I`PFQ&6r8kq`%OlRU`Vqjzj9UTd>k8`?jrI9#0RAPE|rIDr_h{MIn0ydYQ zfsqrmrW@{(mD4v>8o4kta*Ba%6yC`MvXPAeM1nLjaf(d8@StCG`T{`~w(0u*njC_B zaQkw>rgBU#44Warcz^oGE-P>t@J>%qHe}^w<^&m2$H_T;VrGmO_d_PoaqG+sjGU~~ z*L$l-PcI19;@sX`Wi+38`q7YbiRnspM!C~3SWo1dzO&A#cY1@(MBeGW&-)d(=hPc9 zGYe;6PPkA17^A7XeO8l^6%%t>QR?>JEk?GS)8F}vaZO)yQcrDrUZ2r5mhFL)jh-=1 zx1Va%G`%ToqV;svX-4~|?|tpXF@3^5A&%)AjOsb2_iIIQOkX?EietI~V;jfxHzEr- zrq>=4=a@dh(wJrXg%T5%=>bd91*UIs<%H^(U~9)RJ!XfF$aIJOLOjzy91!A}9*`x* zGri!156^TP5ch)k0-os!F4H8YKiDV4Gd)3TBhU1PB2B2`4Rf`4rUy9M@l3z(YQZ!8 z@pL1b=?w|0D%1YjsZ8H+P)KF!oJyYQ(`Oi|fK>^C26RFB8Pp8{RV7N(6@56hrv-5G zFa}Q#ILjhF{Y;gn%JhK#I-cqFGmQ+UZ%9^^U=*1ypj0l-C^fy%v|gN1a=PHf7;#3i z>5j*B#2J;R|1;v(pFY893(s`Ds<}MV^=BC+Oy@T{Br%;|TwZ6o&cbyvjKb6JnW>9U z*G+EJnZ6)dRbcvsI8~A97c#_HrhoWr7dTyDwvo;B1J77ArpG!Ob8eqH+o+C_2RW*y zKRnGSHvPgJBkt|8bB*ROPMxLT&GMO1qpJ?PP%wl0? z4B7V2Xg2*}grO+2nVIEwq4`E7jMM#hEajU1f8Sd7>HD@D2uOm;F;Gzgq8S3`g@RJ(3OD&EZUhiovK7F0JpaLiOU~C2khQ#Ui zUdG~_pevd{N<^pc-@jH=(3+tbY9^=y&&c35{bI98{q%$u6NPCW2Mo3c9N3eXnP)lHXoUS>?^ml@XIi|aP+AY9%VS4$rUGmfS&8!ocKI@~9!1Q@* z`UIw*Gi;EUuD9HsWBRWePJ!uSEZzdsU!}STOt%WK6c9Yi1abxhgSzD}r~lu(O?*0^ zjWfsee~+33rpHB0=9s?CN>G3kRFeoXm@@cI&(DpJpFU61Nnm z#9+y=99$iP<~bM`gcz(D7&4MG<1-R-;xkP2l97&7Ff%cm{&AVn1ZFd1gXt~Hjf_Bt zB6@bYC8j%AS#V5uOKK6uzM#l=m6041BkS~p z)mGxuvv(UvOwYa|!@~<|t1>V!fa+|`9^Tns1UNePDC6? z64UK7TG*$jH7f~%<)^2A(i5J}X38Wuy?T|A%JkV0ZamXh?+t|;2+BE(fz!_U z&0cNA1G1NAy0)1v&vf$wN#W_I%(DciYp*flnZCN$k7v5IG!GA>$n*(2`^0%cjRgh< z2GGa{W8CxyYmCGt6F@Nl33EnpUC+S414`{l(+_m}iBJD+RU^SDJ6#}tgE(XI^dI4t za??+7d-F^WV>A_HOr4(4tRz0Y`p7n(>F4WIC8m2vSV}OaO*3T@pKiU{iieSP+G-r69#Zz1hGNc0OUas8{`B~GY7;5WfxFCQN(`wg0)8C z_4W*)ox}{F?kYDlph3e;B5a_!bkO7=0|Q7KNFJ2*U}``&7lYJ*w#0!BfdZ)kMG%P1 z9RvvlPy!TjfH(_uUNMLbk^wu{0TN1PAPzUQkp>!S69G-nGcbUUfd;Wb?gbm<2+;sy zb8}8Fur(L=1oa*n7#P6rb%gi>#O4M$3beim6hzPsq#*mbK|_tu@<#-8q9|zZA4rY! z^aJaR#Ce?|Hh?av;EtI7WSx<6y)z{KKs6CJsF4T@c+j8<0|V$(3I-7uhz~)9AczeQ zco&FXaKJ;=fJSFvYCts`hz-i`Amc!6P$+|r<`4m$zzEu{01^O6fPxmph6O*!n;=CX zLqJ>UL25v;4PwL87=gUz!oUEkK0$15XloO6h#yEVXrK<%K>+CmISj<+26Yo)LFdXa zJyNAo7PMuGLBti}8_)n6hz)WzNCSusau~=k5F6xB(0v^sHpoGs1~G^Yas+664a5dn z28u=z2}q_E0y)$blGZ?Mm3vld_m%%oC;!dgL**>3=E(VK9D1F7#J8p?Qs!V1_n?bkOP?yO39$j zBA}|0JAS&sMkDchH%L?)g6xE5bx=19rVlg%BH{)~MIbgev3=xFn~HqBJz-{uR(n$kT@tGfG?m0aX@JdG-d`;1RB8tC0UR-$WRcQ z8+7y<0|Nu-fJ=}XP`3({5kP7{F$ZFECqpa-$Cf+;11L;Dfd*0o3TF@-rUtZyPeh)f zo&nUk1GNc2ia=2fV#5@H zfCl@Z8H^jctrFD80f~cr&j)JiaD%cFXj3=H0uM+~gO>krr%vCn$w*uh+P(n^iFiU{ z3&iG5pZ;Kzk$62QAQ&KH^&(ynX>h*vf|vyAV1mR!Apksw#7GBAMB87Ogq^n$_{#O4N_Y!5vm4Q$9LP&MDvos}8yefq?;(yF}C(7(kf=tk-Ay zf{iBP)2lZd8B9N(C$BQS`-_OmbpCvKiRs*1j8vw3gIL{p%EHs5wipRcZwGO!UHgTn z|4P^?IQ=k)8!ek5Jbjm)x#0BwAntFFHtPa;iRr72JB6ovZ8Z{{UJl}V`}Yb@Zv$~R zgShJ7YlYb!GJw{2PJdD$uRQ(rRwI?^+J*8G(@&dp3QxD%W+XU09mM7S6u~_`Z<~?i z^u-|V{B1_^({B~Z%SwXA@A;foVENrMy-BO(gjzNNmtxB24WUB=P@9Y%$QpCe-aR zNNgn}wgwVgABk-RVT1A|149ag11d-u3a9U`l((+`ge3GAiOm6;?Sa}UjKr2hVuMx? z!Q7sTBwmBWZbD*rBC!`h*x>PWhGh^A*j;Op*gKHeN0HcwOeFSvB=%AyHfU)UOz%dRILQCo zVH^eqhP_Da!$|CtNbK`S?5jxZ+eqw(NbKiG?6*kl&#a)G|Ipz2i6jA9Dg$#VD`?si zs)ieh4Z21MrUrB^5R5I0q(&Kut%<}2E$oM?uV*ktlCVZ%J0h{&k=VXS>|i8zBoaFw zi4D4t2x=Jv=)hGNyAZ4f6#fhh44`{~U=p=p32<6uXhvdpBC-3C*r0WjFukC)%rG|i z#5`!ofo?{DiGvPrg|QDBAQ^NViG3D{eFceqf4X^%ymCDkXkG|vHfSOPW*+E5Y#7@b zNsS*8I|_+igv9PbVoyV2FG6C2wxBTDF+fU_OGpy;rhf;yO9?bl26Y$cRv?&LtdPWA zk=R*C>{cZ91SIxGB=#O8Ht51OnE9ZAX1KdR2dTp(gr}dcl^0jl22G$s-DQr%_CaDt zPJdo2?_R$gNoWfa`ydkg91>d&v^)c9v@sIf0g3I4#EwE@rz5dJH|W4?t0p9gSxD>! zNbF@u>@`U2O-Sq=NbG$`>?26*Q%LNKT=9qk@dc8^J0$iOBsTasM5ymU9Zy)egHO|i zii3|vgt8T;%h$_`*IR(j6NCzZ?k|OD3qTT&L1Jehu}hHH4M=Rz`bL;JGmykV3nyXX zpdDL`cF^&~JxGd9AhE9?u^%9@-ypGnAhB6Mn>wJL5uAP>`(>$yO)u22o2nH`u06(n)c7A=^#9g?^= z5*u`*4opodl6Vmk8+?Kx)UFgI3eS)Z9iAe~HBY zj>KjKE!l!vER4if1g+VH8KjRSVT;5Dtv-gSNk9_MMPgSWu|ZeU!PJ9K8-!ZC5J?Sa zXCPP&sI#~mN#X<&`zjLq5fb}15*u_CGuR-|xD#k^5!5mzB)0x^dA+UT^`1yVVMy#` zBz6H3yB3Mvg~XnY#0H-a2(@w}lK4I(_Gt(k64N&z9B@oOMPh$OVl#r4oIwo*p9u(M z%OZ(`j{$^=TOx_OBe6q~*va7I`=A;MktFJo*u6;X*+}e_NbK!M?4w9*(9%sL1KgMn1va40!jQ45*xI$ z52offk~kY^*&@^~0T7!F+7T2HVqg#kjX5$fFvx=>po&1tlo>$-a10C#dPw3HAU0Io z7Q}|CcL%Yd;yxfYR6GpChKfgn*ii9QAy6|LG%CozzyP}Tni1-VYLFt(&>{l^Ll=k* zRRh|y$_N#o2@;2@Uj<@A#dm_(Q1ypEY^eAN5F4ug2Z#-F1So}quEb>o4d#LtSAq78 zLD}E~=%H+J&=fI9185Ky#0HIBftLG$)I-@iNaChQY&#^j2Z#+d$6pxK%mxj>fToE+ z20__zAVpAiK8Ov~Pzqv0npg~=rQyO*_FN=!(ABAoP;t;UVpuvj15yJT)L~#?0Bv&v zou>yHvSqjpl7L$90*UNh_~d=48qkhAM$o!Y(6}pT6%N!;aS$6C)S%^LFg5x} z;-(-rRJ|LB4eDlr%7su62Wn^>hz&I;1;mDG$VFmTf!LriRt5%!X&^S#aSK3f&al(GAP!XG1c(h9yk%fuI16G!HQxiVp$>WrVnfw@1F@mv ze?V-gdT~((21Y2`1c~hmVnd_G55xv_vp~Mj0C7MAV4!2cKy0YyMi3h`ddtATFc-vz zI&?9J4IMKD?GqA)vNwUmp=$Pk*ic^{1hJvwr$KC}_yy4Z8CU|jg(Ptw#D;2k31UMv zyaTbJ;(w6XT%ctOP;n6u8>(Is#Dn5HW0fW>Z08s4pcMv^gXEfDI{^w zbwx0PZi2+27T<+B0yG@^0VEF93qGI^s)h};z81=sLSonJA#t3L*kMTQG!Pr=xLgn$ zn(_-lXWBv8H6U@Qnl2>vR1h2LpjjX`R6Y1yJ!NS54?1>$5h`&4qzG!zB@i1lLd(Fw za1CS`l>HDS4pjp_WDjb=Kae<7jTC5kC{&Fqhz**?V_;y=1RX60Wt&KV%73ULdypci zL9s~eBoG^_CKtqpswo1op$5%EV(&v@UqWI(2C<>$yalmAvrnM%|0BpnAPxfq!yk|Y zR1upb0|P9+xj}5GxG0FN2gnuTDFUBk2i33#N&Eze4P7k(I!6MQjX^t-VP_ft0I7lMWdSX$1kE&oW)wke zhEO%rBwj2ArcHaAU0?sj)8%}5X6Rx+kx27LdgTfhKh%P*w8{O62yjzr-Im^ zX)jO}4`M^b^T2FS_%kptl!7^sAgx4VHzKh?y9r^w>_HNrfW)4G#GZr1UV_A4fy7>4 zkHp!G#NLg>-jBpShQvOF#J-5czKX=YgT#J-#C`!~gZ=*o$^rTR3ljSW5*xIu4(59n z(7I=6F!CU=1(4VhNNgD-wh9tkLmG6z7StdEBni;=V3=jrNaEmw_@L_Dki@-^*nvpw zP$YIN5<3yj)?r}CgmV}ea*^0YNbE8&d-{aDeQDG8T{Jps3vCmC&Q$|7NI)UC9W?U* z6$hPA2@?lxb%3#tfz?cZU{NVH-R@5)M?Gj!53H^R9nJ+~gLXkMLMx)bAWcv<3uqbv z%H}{~gZ6yF)QcjCgSJn=#I=#cLCbv@Wue8dJ(7eU5<3Wq9goCLMq)Q1vD=W?y+~}( zJy9@6%t8{M#|SE~p}qm_$ABr?Jl%NhTxHdBAhpm+3$(GA5z4-WBz|vt_1d}0ydRN- zzD}RKcCKHIX1T zv^0zZv7z=RA+fVTY_sVJk%D5=)>?z?>oioLFco;4~Y%hIKZe58ioXQT0q&^V!Ok2 zBRfVR&?*2%XcY{aR~6Qr-oPZTJl$V*jl}e5ndK7GPv0gVqvsLD`_1Vgi&6Y8+34vO!yG=0Mq? z#aD};?HmOyhPVb2hX(Z>C>x~a5tI$m z{|w3oZB+!#X9+>0<1a`YbQ3)T1A_o)4>dGu#Gq`DIWlaZUFJfN6%7hd2~hMHgV@mc zvxBlhtvpvK8x*9Vy@5i|)luP4aZr%PLfN2UiexAo)Yi&`vO!JUTqxTHbPRt3hyzU^ z-B32jb(5fMP+ZP{vO&t`LD?XOE`hQ^$$S-*4YFVZlnq*rv<=EmXJBC117(8}`T;Pz zo`E3`bU-_Z12U0;f#D{U4RXYNC>ylK=P8s8TA&0v%1THUvi<{f7zKz8S}XD$ss@yP z|3cYnpkr=8o2F$M7(lH{PAD6+{gxke$^b|+Xl0TxR06a%MGeG;mdH9#HpoFnP&UXx z7Em_GL3U6!C>?;#uo04nEXVVLii0vy0F-SFTA>AH*Mm}T43q;}_mc!=gBIvyK-r+R zV|h?EC`e17Y|u)jDkvLNjx<2opb%|?vO)X*dZ27jku(X)2A#t;gB`TXTAqOcbO8B0 zs03)$(h?|pDgy(CkO z$_8myfwDnq!W_h|2Sp5Mff$IR%D@0h?aoj($U&Y^HfZ4^=x`n(Rmj33@Tn%M3=E)@ z9}QIl8oU8*4g;wHWw~^yIH<77g|a~fR56qdTD4hU3FUxRSAmY)0ci%UqH2bUgO=%m zZs-+)7QG8W;_3|G4Mi)UY>=ZjL)oA#x(mt%Ek8d1WrMVX4&?!v1L{kif{05qfLwYP z!~uDQfq?;Ztc{Q+$b#t$3=~#Pw=z;#JH2|B$(-rs4~--k1*T7UXr#|5H2uIsBX>rT z=^T%Y^f^G5f(p9n`sYH#r-wZu) zr&m8Vl9+y2%S2+j{yTm4>6;!K$-*LH1*igsMhbGJe*j4wxw5|j5(jyXfq?;Zhbydt z|9~V8zPuT#2E51w$`(PY$fu_*GnP$+hJg!60?H0RV#k2k(80tE5E~TbprJJo8&u+g zu95?>q5bn75F6SKx}9)`U;2*s`?lh7#@Jw zX44O<^XW|waJOcezHW`62`5h)19(GM!u0c!E0m}E*~g1auY2Mqz?qN+NuLSR?_XIX zKYh^;UWw^(M;Zh;ThbU9K)2&0On-mMTz>kkjD-@@rIPFgm=2^(Kk#Rd*z{XZjRdCO z+T1NMUGI&R0N0r`$jZ3{hUpHwG~}3C7^ZJ{%Puzkm5Gr6=btnN@CwL;>DkYW+&N3q z85lsPI44Zs{mjUnNhV|3zdd5prJfs!OgFN~P~r5+fGq1wm>&JyNPc=#qqf9!yM6-! z&NUe@*RBRh6y+Y4m|oQrF2HmlWBLb>8C)-n1ekOfr$2bgE;ilnWVQh3iwu}Qyk8i} zGkGvhpYW4iOm-n7WDz5%I0dz6R5D@CXJC+=ZoQ~VdU~9DnZ)$GMO6Y!A(_)3{NE!s zz04#}VEQHhc@j(?8K=MTpQpz99d!EO^!NVrl&$`N`W>J<#6ZR|Ffb%AGB6y6vOyGR zB_?Q>gaD}h4Q>2^#5I_v8-(eJO@C*SC%~JK$-n?Q0vxocRdKq0cz`rh3)A$5IRawS z`C?}aXo+MYoCzu?L56}_9PVg_&S9GV!7ff*h6&Y|E?LlkWnf@XoqoSfS(@np)AWQW z1+nQ-&aDExOR^x13y}5d)8Ci%OEXDelA(oB1prw7F8iA|rU5+}eblFPsVT001m*PmYf*-Dy8fMt5abOEvH>poiv z@Gi+^U;v$i1d=zLK6{U^G}8l?=>_3>V$;v<@fF~ml85l0@$~M@9nwrJtkWIZ1;nTC z&)mVU`y~$%e4zXS3%)Q==0}PX9ahj*mvX^%%33P<(6q|HzyMmZ4AWACrey-_^nxp@ zV$`yXSm-mF`ai7G3tn-F330MO z*6@PrM^J(kVVmAi!6YUmg+tsFRKkEJs6dKA^(Y&}6J{)y0$MHwh!h0cDFE|?7n)%* zP)p*_43lA-p75AmY`WP|69KK50%&%Jt_Fq~R)A)h2HW(8wrKI`=0B|XnKam@8-$dJ z3!)ip0JU%zR2=Gf1{1dFAF{Z`rq7#mNDveQAG>$~ZWfS+Xa}vTg=xQmrd?2Zy23;~F`?IJ;vH(!3vR3zvw8+Pe2syD0ai9$ z>0@Bn!Ui!HwCEgW?r${xYqX{xIAtO>o$Hg4fL6y;1_sdTRZwaI^=x38_(6R@sJlUw ziT3mj{4>R-AA8F#VEJSk0|RLJD@YS)YY9w~5}Kwp+6)ZOK)ni(37}5wbbp?i;z1@e z7#J#`4h8j~VA}Pd+Cl9Ikd8?v3=Hd#!w+NxD662Ua|oEe;0>3U5NJIlsKo}-3&Pa_ z(-%}Ti3x>3)q})9cyqw?4;lty)2FRiF2K8H9wOsLPd}Z%Lt0BYkb&V1$Wb80P&+|P z&}oezVOW5N%%5(+wO5UeKa7DPixqq-IB!if1H%P21_scw=)md!)zxHJk{B2cOn?5# zNDY3#_kv^vaV7)H>50p$HH9C5PSRm!V1QK88Vn5#wc9g48*wsDFZ*J2aat=A$Mo~d zqXnkF-&n;lJ^rgv{&c=AW^B{%d^J*??)lBgVLIbCBU5JfwM^4*V z0G-XPB=(CHrsjhJ!}NPUjP{8t7&0(eFk2We(qetU%&;N|Y~J*(KaHX#7b!7{b%Bl_ z2aAD@`dFdVQ?-$SVY}`xqeezXjp^%u8>O1E@O%vyW{*%gvou2FOe)OPJdf0cnKew# zB&`U6XkQCDKl=d(_yF*=Ow$#uJ4B{u{xR}rl-$1akC7nbbiR)U9MkXpHOiPC_s>XT z`n#Wb64R?LR!U62m%%78y=tC{!E~?hW)jnX6;73y9ye86V*0(4(Gt^NU7f`>-KUJ3 zZ@OPhq{MW--+2<#S0!+OkILqnzTm$R-*mkd&0Nzx&P`C8F1MglVtSuvfyDHG9U>Cb z_sOX8h`$tp)SRG$v_U6m@qmuNkY}Fim?KeN$HKtC%*4(II!=?3Z9k|b0ot;_Bm`=# zGc$68bAaSo7lRH;y$d>XTMX1@V=?7oU|^C0wE&qpSV5P`Gjp)tV`N}pW?==L=)lav zz7%wtGz&8e`#BcSAz7evr`VYpISzo%=x*X>U|<#n?eVH-0iCeStO(kb#G=BN zeG1f51)XFKl3``wV*&Y=RT^{vE58b8oQVGg8v_Fqe=;Zp`HevV#J~btGta6J1`0;d z!FjAoph03bmg$TP3<98&DFs0U0~-s-N)8rQmHNFPFMyBv)&Pw&Gcd43a4|5j>aPHu z{07?Oz{6_z6QpJxC_K%CK@}t?Xwwd>C8&eS!ucAc+z+&ro`XU70jP_}#K0iP0aC}t z!UsC88e|0<3&;>*PzZpO3W9tgcmy;AA_x*=U}FKD9>W4U*^3Q)vNOvb(8+i7&!ewL&Pkg`;WO~Q$PoMgSH3qa7(NPomUMiKDi}9 zZerln`RN7+6k$4t%x(`HZCs#B>#9 z1|>piW(EcUZP3B2plA^60r{VSr3VzrZf0N=HXs#&AQhm50gf$@GSE4G9H4`&J^Db$ zZeIkQb?OUp4+AG?8whUzsOQGQDZ|acz#D!TbnG@~Hwyy;Zxm<f)3uHFf z2_XN24q647C=43b1!1rv1~wK@__4991Gxrd1UQl)4q;EH&PtPA!bIP6*aSQ!|2q(MQ$!U<9<15(Su!z1U%QqRD^2^tgRQ4j-% z^h`De1|DUQ0W6%8Kqth z1_n`(t!yl%ph{nlg@J*O9TW^=ASMfF+J%p6Ht29}5R)aIn}LD9UUD@^0JM}|=sObw zgMfexs8RzT6)qqPN_~)%!Ug0&!391kTtFVggq##Epa5d?FtBuSGcX7!Z2(yb&Zh!8 z0;~)S{MSJ3Kz`6BE=Fhu7BKV$Nq~mC82CjvK@;Wtpd7)(4>}@}ng0u@eBuXnTUq(n zf|3OPcUA@lb_N#E(6B%T$VHHnKp?9SWY7-K*d%`jxH-xKIxJWqHv&{3fzIU@R0L%S zmZP8n2Kh;>3=Co*CL0TAhXaQMqslv0hI$6h4WKoos-U#WzzH5{R|6#k7EUhEl2>(5 zdg0&%jY}|UfRYUlCmX1tpb7G~0Ow9nt4RwK=pqa(iXaK?xvZc=gBf*=K*xL^1j*}x zQvoOF#9BsukT45p1E`B-U;!F};^2%1=`*YWB@zZU7SKi!HkJvX80-f5$_O;F%OS&P z(gZS45;PEQ3Lc{1{0(xT*>sR^IsHIpn1k3HoZwEOC1~uHhk@ld$R-C*HUYh0 zi3wEnfEp?wLm2Dl>|g^mvO(IJn81Mml9L2)lhFVbV&Ik|;~Xh3P%uS<`T`7~wm9P) zM|K7VX&z8P9L)#{0mdL{@Ez{aj3ECq2Frjd2F6%MkfES{o($+<0>(H-ko};&m9n6L zoBCch1_lFm1_n9CD9~9{@}NoywBiiJ2c0!04mviKQIN?E+CnS=HMQn|coN`<6J!FF zR-iKw6u^t?g_%G{DY7wxIL8EA(!7Wh^1_p&xP}qqv1%aqw(3l#-JN9}81{u(Z z6{95B2GCY8S@8IrFayIesI!V07-T`Uv6CfCoBPcgC+p5RZE2#7`QmWzGgH8*;K?J#~1_l7--ifa^$Mm)PvG+I+CH;a6{9f zhDw8+#F!3ERbVSXW+Xza038?yx_6KPy8` zQcq=Iyay`cm?j1&s)J^#K~0}qoD2*a;B(lXfs*n&1_lOYP?T=~1qrB?z8k~<#S2&j zbW#&Ygh3WG0c8R|8n4SLqVa(`JX`)Zn^_aCq7#Kij41>f#%0W{spg;(M zt7gyvm4!^j4Dz)M3=FZ5%*_fe_!t;;mxD6GK~P!)ZD(hkbCHLEK@aTs!=R)FEg+Ta zK?&GQgn>aBlr+H%P{-O)gn>a8G}z=L!oYAGVkIRl~Xx55x z4ihf}gEGiKP)I6+O28zL$)M>i&^^=)25Uh@Z!*Xxki$Sa>lx?l4Kjf}%u@F@~9ofeV}s z$mBio=wj65hUOaiAn(1DR4XMJW20y~R= zLEM22)c#omF4{nb@`3_%PCP#Yg9JGJt^ucC(Dq$OCAAKm4s)3p7-T>VA;$IKBP7>@ z_#o|!8yG>YX3%X+GT_Q_BO|DC%mIxXECE&DHy9Uy7I%YoV1s5#ck(gRGsu{NN~U9A zojaHr7?eTzA5^!Sg4BXiE9hi7WzZ@Vkf<4Go{*`O0koq7Bne8Jpc;0b2m`}QK2StO zgYuUwsDuNhNd|t9SQIo}D(_=pU;q`NvL`{CKY1DI8Dt>}K=p$xsNn$0Cx%e5A_fL! z&@OC{m@H`R5{Tgkl`LUkkY{CNU;v3hUBaNk3`$`Oz{L`18iaAq4t`iAwE!HLj6p`A z5(acQIY?7I$o-&_1{9Oap(YnGFvx@QE~rWYDFUSdaZulaQH&APHUxz=D9Jd6+>NH1Bf&l&?XX?oW#_FiaI-V5kR`FU1TD@}SxPloLVz1)Y}64Z4IB z2OxZV5{)NTgNWLbcl z&c8rSXT}fzbm}Q6 z_hStTWl#bH`A8mARU`XC1=Rgv1dTXA2HY9vJQrkOkN~$twLvY@dIr!Kt~5vmqc)`8 z3I-QEy9F2+4nb^YDh8Fzj0T`sFo0xTSUTVuOJJEN*QF+NkNADg?UUQv?*gdXk_b#SN6PAjO{^GpHHo z4l*4iP|v`i=Lo6^JwV+HkO%{V9(W6}mmlcrGEo1GLGK$#k2h$j0jgpXsLb$1n5v$U zn8Uyr@DP4jI2+4zkS9)n4o5Zy6+K2wps^6B_Lm^-LHwYNA`lTa7Exga29a%`lZoeo z>TxqBP|p@3X#+ZiAB2UYY<_VtFn};$j!g_R0|N;2`Pk@kGBAL!pt?;d2Ll5L^TpUK z;bdR{VZIC-M;-Cmjz)x*; znO-WhS7Pdgjq=myiW&O}Ll0sVWE5g^keKcy$-p2r{lB88`1I1qxl&9_;?rXr*BDMu z7B`mRU=U<91Rd}`{o!#QaYohY2gQx0rmuU^EIs|`&3fVKO~-kprk}gAlwFbAQTEVkZ|3*s7X(DGNK z&L&1iK}JSlaD0J}i-nqN0#(KeQf3NK#=u|(VN7A?{ce{0bnk6N+|xTu8YQPU zNE-VKfQ}miEiYnZ2mw(J)1-`xrcahKmNNkL2b#dMgy5Fpd=MLSxIZI942YVEBn9e3 zublo+%Gh+e(8pOq(+})sW|{tPsR)lgxRzo7&HR818&IJDI-sA80b(YI4O(T$$Pfjh z>Op1*Pp^_T_OyEh>V+``fhf>=V-|+bj6w53Ebt*J3_&1@6Es>2mH@H1K?N2=5QyTP z&M0GS!2=RyWC#IKywhD}j7wP|%>6RP=1|FCu*h~MS>suZlCYT<&@ctay`W|?hz_6r z-(#mZC#Yix;;x)txFlU1Gy(g`1 z73(4~SLUULe7z#0WVccI{7>1SM2B~+d>fzF5p9qY;nJ~ft)lZyd#MlAy){5;sp)3eo#6AY&_GBUG)51s|dgLH9& z&yQth0Er8O*`RY^8Nq5eI7O!aQ8Nx=?4ItgZfqiV32YBYEi)%410!gh6=B29=?m43 zWv6#c2;-T4O5Ipr9(2epGuRwPkZNWoFv-Zt4moFb`a*>^k?A@b#(dLfG??>DchfM| zoE}}F!!^B9!`PXzW%^zXV+Y1H)BkB0pY-5hU}RuoVPs=w03E=~#>@ylp_UnZ4lgU1 ztVI$@1+!&9VZjONqQOI9!E}BtV-3b>(=D`&;~0NWpRQ#bG=0yPDz53DwT$K2_ppFM zgn7EWwz22-d~M^6EW9O|xvBZ3B@Ey=pI(?1D7-z&!1z1U_5x#LT}JlO%)Am~qxk8L zl9j^K_nR1pOqVw`UN>FC%0goLYg1$A?e=EIE19P2uVmqv9$;3>F+IW3m}8oyvBNYF z$6-l2$MgV8V}a>=%a?LYU$9q*V|sz5vBdNS7fz08`-E7gzq!9%WV*qOc|6kttc-c4 zAFwn|n66-6%QJnhEI-e5AJ7T46I`b8OuygN!!y0Wjgx1(fG4NQ^bbykJk#fU&*GUr z;c$$^^uG&>MW$b{GIp5mU~OzLU0%A}V0wYI@e1$(w9^+Ps;W$1@Mycr^fig965!Km zC)gN=Os|QX#xwn_K0nWN9b03a=?eC>EYqd81&K^gXr99|{q34&Q%Bv))`} zy1{N8mFXAG#t2M*uvbT5y8U(*4o3Is^{$hZr+>&15Ff2g`yMpD-~*fY(uh4r zvr2+$1P~WA6~V}m!~j~33F13XfA485E(z*fg1Dfj2qQxp18AEHh+i`O{vsoB#v{|s zy^Q5KUxS1g7#L)x$AgY{WdOMq%&qq_7FUvmav@fvFo0U#APo?HJcBLcbRNA;a?|d-JTxG>Z}`JkQ;6N3{2=q3P=VJoN0dmFoRE`&hsZF;|%v#5vp=y4&j#<1a;p)27(4=gcy7n45t6S z#V9{Lj+=*r6Exl-#Nfw}KfT^sP@b`GI(J~Uyx|s5w1Koh-LM~xe;LXL)qz3`Q4FuA z``-_epKcaptT4Sc$T&|VF^8d~C^4@%H?t%@ttc@)H#M(h`^zBXxr`j9MkWlP18%o> zh8QO?O6Fu1m&7L)6r|>*Frc1&YY=QHzFj%YScq|YNVu^r6QlEVgOUjG>ANL#d8T{+ z5947ppDrNbD?Z)&kR%Ud+Vllw5#rOeV~lyG|7On=o?gaRXgd9UYAp|A&h!uLnc~y6 zBePW)bEZ#_sT5~Sn_lo(1ax}!f>>km>DBTRB&K`63gek>{V0rwv1EG1D@HjsP|uCA z6k=>PiwVzk?oc-#M#t$1QWL}(Ri@=gici1&o{>if)J$T491q9{3StJx`Y}eRI4Fb} zDD{OJM5d&EHw>YO3YSTnsqeuDCJ?lU_irteO*;Nbub=76); ze4AzBa-iWRMo?~NfSlyX2pUp@StFl!K(gf3eJWj)3gkVXd3NstVTt<%9lI_HHSj>9hO%co=P`C%Dv$ProfcfkzdzCK~3Pc8DpU@kU1Q^+k~7EsV|6 z7i2CFpFTg_n1`_o>|{u6t?pLmna(X=$us?R5HHX4)d8%aC@6RpCO-Z31Th{-Xh?uZ zSfFfB!2pWGS9;>pPlIAbZ2E+@0P*S7rzLo%YbSE^OwX2@z%xDDb`uX{?{tU45OLmq zh^xRlJEt!&ZxElp`$!MZ^xdDDco;jUE5sN>QWi`hIQ%*x2@D))x7Ty>FixD_z!EFY z0bOXsJiUISmGX40IAayig)R&t&~h0xF$!XXatUZk2*d`}JD}xEAT}sGLEZteLH2+~ z7(i^06G3@ggq?u_w7?q_DI$I#QP3&Vpc!Gvf)mid12<@b6m;!8XmuTEzz;NV3R)5f z(g3my#0H;w$-n@bv11Sc9fJuwp3@&<5ZFP24B%rpK_iDEP&TNk4N?#C0BF7h#0EJd z5@Z=vFKF)tOdNcn3y1@<7=*b&vY@jmp&CFw2F;hi&h`Z5Es%PU??G(Xd7j`<5rkwQ z&{zz}L72dCSh=agsLWBWa)q_r=2I&R) z9>nGb%~-)a833Lwsb@g;CCCvXpe`Z<0|SW74H_GSmgS%m4?q)kAj3dvKyeIW!_o@K z6QFZ@L1G}iBGCRJhz(N%k^_mu^@@S2a?oCFP<(^7mM}0dfJzpTU`P;w7B|7z;B#}O zK$`&=7(j^@Bo49^l+a;p&@2j!4I2CtfvN{BVuFc-=DlI;I*|P^MW9|YNCFhpAT~E> zpci!d5Xf;*gTN^t$_B+bNIfVqg4o<3lNlh(N?~S#y5Ar+$id)57YsRD7sTc+flM_q zfU}AeQ0Tnsw*8Ds${KZDrZprLor26K>uf+2|%oY0_MT2S=tDk@^rwEd%0kgTje{0o*DESqvHg0YxcDGide-#O4Nhn}LA=R6&8nLE9KWZ0;&h z_%JX`21SiL0|RI$5-8=1fK~;-auc+00~Ny{aZspxf;h0e3yNnE6$S=S-vSh5AVr`k z0I|72o1|cgD-;q1pb&!KSvL9q)m6T}9^E{F{?AH)|?gPgSwiWHG>hI$5&A3z*f zmIqC{fHZ^r0Aj<$LFFMx9F!bDY*^U`ntlg~gZu_!b3rHcSm@mRcl&p&opaHi*Lw+StaxzyL1NA|Uw# z#O8($K!NIAkU^k;0;q8Y3f)Ko5(mW=xL$-d;XrjJNF3w{5Sts6YhfV=iVg+_25|iv1#tvO zuSgVRjX$^miGrj|up^=v7(i!}K?>_ANVx~vN(j;bvKSQYAU4P{P%;IvLCFEM%?!i_ zB>`}86$NR$g4nR5#=%V`9mq}ya6u6TX-R|F+|ZUJC=}~K27%%i#Nh_zRM56xP&$Z$ zWPDKl&fN^jydVoiKm{!W0|RK~4u}oP4B#}O53vAL(1XN5!46_`cR}=m94n#^X@P*| zyhT8pBSGaGxGXhbU;s^@f}&9b$_7~sRRop;u|bxBW=cV9kg=du-Y_;O`apU?B^Ag+ zAaRf*Kx}T%7GdbE7a%ntyTH|@K|KSwb^+IsP>aDeObjHRKy2=AkX4W^03gkvwlZkI z0K^83qk;krWEm)hgV-?3K$~emYCx7v0fi{ke9*7}NIfXcEe7QnSdIiuvw<{#=6ZL4 zG{iu10f-H%3qj5RO$fu(9EPd^r4JCB8*~gf0|Ns{KS&K|-1sa=jR6A#=u*;4P&R0Y z<{Fe;58~Vcabh5sE`ZpuGUyRV+<<`rG>!vWV+=ABG>!urvH9xbeG9|}MH#390 z8YWeG?e z6f+<;H)zoVtbv*UaVV%fg;@-0fPmD4LKDP>SqzSCP-_%cf+s=>PX$oc6iI~m9$fY$ zLJS45xuJt?;E+f}3W-UeYywF-Aibby1vSgL*{2trHxQrBoo>Nn2=Y2a83QAzh=#I- zp*Nm@90+2A^nx&>%k&RxMD=-HAh8aLBu1C%0WC^kA<%jq5N33lZcuC^H$95YR1l;T zRKS5SNcYNYIXTci1z~7G1ZpUPYydSQK$y{G`h`?&IXO^W2R)My+=K$D0i`<-W^|e6 z)-NXqYVHYxf|~(SW`dM}t}X;&MwjUej63DPmm7ebum`kp6*Q&fGF{U zfd!h10!=`H{0|!J1+hUb2T*OKmgz8lQ=>=sXP$Lec z2FeEAYb&eAok%0k( zL27rYgVWy;Mg|5D21Vv>h|nEI1_lsjbeSFj75c)+zyQLa5Q7TwFflNIFr&-#ABQGt zf!oH6ppF+P_CToy)Ej`dlNq6GPyqvDgPH)0pawE%krYThsPO{rdc)L!iUb%NRG7io zpvzofY)}uI(Hqnh18rde83eTqR64;Ffr@4r8&pEV*r0v|j19^?FgBp_JLOagoj22|oSl7m3CCQJ?Z%qXZD(7srhIB1V8qxbX$iv`8&q0%;> z!~kW3cBH_Rg2v}z?0h6OrATaWqJruLE$V=&2W?`4vB9@sK-HW?(pwK&UJBZ-5TM?u8v8QhU1 zz*ZAhE$0Ye3Bbof8BzXA_c|ePA{y{23S+PJub#^v3`? zCkUnibT$x-{T@jT6L|R+L_Hr8TMCJ-hQziIqTU1i zhz-@?3t~gtM1kxK46ybQ=#(9pW$7R_P(yP-Y^dH!5F0dZ2s*$R#D<#F3^j+3A(?>z zbes;%pjjYA(E4gIhz&Jp9f%FJU^9pfHRw1J`!*8$1&9r``2FmVF(>fMgSJ^^BTPY>9_CRPt?KHdY1ft5160kNUYN^a1yNGMwd#D+Q&v)FM-%lf7}GIp=$1e`~hWyFW`Wx`36!0 zWwU^mi^AGd0w4}lgBB9o7>R9z#P$WTp$3J3*ib)3a5FH#n()aWaj2R?Bz6sm4Gqjj z&_EyTl)p(J38;pdAT~5K=YkA{vO$}2VX?9qqy}ox4iFov_b`YJ6$dRjg{i-cBz^&Vf z%%0|8#Wr1QMlDahAD9oxeDNSQH2-FR*wBp71Y(2cM?qIfg4j^AW`o$E=?Vr0hJ_$D zRD2zX4VqnGU|`q+VnfCEf!I(todB`*p&g4eAcsSHVb?(tP(=?xY-pPL0%Ake2!ig~ zfU1!Jv7x;(1wIA_Sg%YQBo0+$24X|au?DfB;%=ao1F*`{8%ZJz#D;2!2C<Jhz;8R1xn+fYd@fB_`qyX_=85wK^&+-av(O;GEXFS6o?JY5m_KM)X-uO z8!BE2Vng*dA+e_+vG;)3P)8gBUvvWMh%+!S91~z*5QefZA}P8JVnZGG0K|rBeg$Gf z#laVvK*j%n#G!0X(B&dfHmCsyOY9O*anQ&sgA#}XHAo%AhB_i>`g_4i;`KQoA*dO} zAU0@G0O;m5K?Vk4D7y(H4pq|&VndCa1Y$$Q7l7DM^@owz*OAySKy0Y`&mgu11EdcB z4zdh1H3K?fX}bI_Vexv0}*v?37cOw}JU=Hj>1AB=#~S_9`UyMkMxDBsTbB7HG&FKoUQW#6FE+*E3v3 za2T#5vF{_XA0x3}A+g^fvA-g*e|dt7-W?}J86q5WOZ(EyCl=H932{4s9gY@lgLMycsC>g;m$ z;-G;@Xpsk=41ji#z>@(`Hu&&-C>yl=8P+W`LegsvVnfw{&MJbbaRP}$%?IskhjmDT zLE@^Qy&wz>3`x_cKU7h!2aW49Li+)rz3VVGc+?dt-Vf3TWlu(8gLZSm)GtF4UkhSG z?cW4qL-m5zR>RbT&O2gMgSJu+A}Ipx24sY429M-ITc$TbYM|@~NbDy_?AJ)__ekuY zNbJ8zY!=YYFGi@LpwpOOY^mw`Zo%TYs-QtuXfsX|iEWI;Hb-LHA+bT*lpN*snJkktRwH`@) zGZK3j5_=yK`#2ICeB3|OoGVD;H;~v5A#BhDDg(pQ>FeEtm8E_|#K845XjeHb063VZ zH_TWqRu4Mi2__~98c2rP0osiY6W2o$2c7o>69-?~3{~%lq{bDA?Tf?)9lHe68vzjq zO+G{RgTf?0+umX90*E58<3Wd9!NjYP#6jmk!NkF5YeF3~6G;vDwg7|a7aj}CO`qox zEHV9^6_Z5$BajMc1NIpb8?>XF5h@N^at~vJ&-RCkvx7#mp={9ldq!w8QXM1?WrL1y zf{7a;iG%i6Gnzp&ng@~uc>EozIT%Si8i^f`#0G7@hFJhQI|{}IUu+FE2Xx#FOdLF3 z4;5d)62ZU#lUR;qDCl4*m^f&YH6yeYyAPxW$_8I@4P~E15(lL`M%U>HIs(?yqs2@m zrgxXSa5D)DPIoYzAjT*>Jzvg5oJm-0`i1L8%F|cNnQ%|Hs+zz%o%@E7#Pru~F5Hr^ ziCxh2Kdg)dE!`EK-ao}yoJm-1dcqAOxhT*AK-hFDXb~N3Iu*2ZixJuZ2d$KX4G@4Q z;h=>IXbM{x$_6csfu$YL(imZb=@ZsW5u3g#NF#K5_f%tUW?>74=?BGiO{dTD+$%8M zj)jSLx;AKk!uiR@JkzUl^(Cf9U$l^z-d(j*V)||^4+&oAFe7NGD5J!*+q=Y=7^SBF z(DG28&b@DLf(Ufv1LQcE2Rf$j-?>X%3+xuCyFhM%6?~vG)M0J}ZSH3@m@dN=q-+6A zd}~0J9Fz^(*aM3?&^d50HfZ4vEE@Mrf1jHmKE0|-iKkv46m`(?e9(ESjL_lv`5hXoOM1RNT#BA@|cXgGmRRELF48ff$t+Uf2Gv7v$T4#YMC7as=z$3W9^LVS>;iEn}=pbe$_ zP&UZ-PoZp(9j~EmQ0M;}lnq)v^cTtoEuCa$Wnd73uI}fAvO(QH(0Q{UaZsj^go=lP zriDQBdmstWdOOhk9*7Of?x6WS5F4}*7c{>IVuO~dSVA>}7JU1F*wDln1Z9I99RX#7 z7SF^%*`R1jfwDnSlLcniLso_sfH{zZCd!~}(Aia>6A(eSWq>w)^n%2psU0-$CnN@m zGSI0-AU3Gqz6zuU6waWtQlMoNYKR=pdNb! zR2(!65C=L$4K$b(Ehl+z@5OkgbNF208?HNcMI$QAu$_AP90m=p~{9^{)Q&A5s^}v^l zs6i4GKS)B20le5=6v_r|Cjni(Bcuk|v!DnS2L-P>lnpBEbfIienPv=SgVKQ|lnsh* zdng-J!PdJ%IiTS6gt9@az(BK}pgSKxg(moJ5$N3!;JZcCA#30AK*GzbV2migI65S1#zI&B4{=ga*qT9!%C<)s1#cdWrOnZ zRwx@(tnP-gK_Rgp$_DxV5{L~FWME*p0cC@t;2x9>D$t&Q4iOa6VE`Rp%m6x=1;hpg z*9WK~(6Z-mP&R07=pQH>6k1H6vnip=nmM3sP@%*FWrIRd9>j)LRG@9iLi&&>)`p6M zCZ-q+p&XDe!Iz8ZL-qsMLd8LO9dv9jNHfSopffx`Y)~WD7pewS=_P>JAVJW+2q+um z;~Xd(RQMD@*`T{;DmXy*2pK^3oz+1lKq^BB&ZrmRaX07Nh~RzzTGY6Nr5Qw7?d04vYZ<18BLj9Fz@OtOz=88KefZlvy7t4qClz z24z2GU|_I;vOz1BouF*cie(Qd8?=bguO7+)4Mc=M*`SlLqM&ThqV6~-8+5KlA&3o% zY|wZ#lnsjGS|}S-urx#2pr~wzvO#6qED#%1NPt#rLfPOwjjN#?P-U|T$_8oP0cC>{ z-99KAr2hz%4N3>6plr}uh6_+OXxQ!=lntsm??Bn0bnpnu21WNXPS8C_8+9k43bq?xfmEg;-Gxb4P}EI3OZj2Bo3;d#G&G#1Phu`2Z@7noibD$R6}Y) z*`OLyAIdfbmH(jgxIr2~s|_uo5}?M24~PwIChVJYGxrGr_@k8$uV1(`-lLT#f zU<9o@XJB9enZXFEAs84KBBs|1=ZW)z3OYtmXfQA^6ina0bGkS$xPt|%r5P9)I;Njz zjuV#z_fJ4uK|m=BjV4eig2rc{>?ug>1z`4c0sp;P({}}%^GMzS z34lV7fq~%#hz-i6pydS9_g~T$=j8znU_gZ=rmv4aATDHpBm_F3n^9`|hSZ&YeiK0A zpsd5dz%U1iy#k31zD5bE27HYYlnuT{2^4pr&;Y4dnLg#xTxHlzOyHZ6plu)UO-WF; z0;op`ZSLqGu`Q6;;9(J{8t?^5P&W7iB~U%cz`y|NN5MLXB_O>}@p|wu2b2R|t_Wp= zZ%~4^E|!2aK-r-F60CO#>LbBM4Zv3_fyzA4%5;!=C>wlOB$N$0BNC?m2S|-R1E|1Z zU;r;^gfJOE=k~z5@G_u2F;rXw%%1L%#H2hu`SmvKG|&Okus$q!c_An_FfcGo0V#yC z7a+0MAhAKGXv6d#K@z`!#0K3$$Y?NqhIEj=Ewu8G0Cl;cY!xK70TSB=iR}SqPtQnZ zvQ~wb(i1>JQ1%=oHh5W}+4K|1Ozym(atD+lK++b|C0<#X34yM^V+3V!1_lPum3NG` z(=+SHX2 z)2&t;3-A^sAxz|$&cCHwdit;Ig%Z=dK$2^cAgz9oPOjf4_36 z^z>zKtt6)JG87Tu{g4c4HiIOErrWEiNl*U;*7?p#fL9>};TDnU`{N~~rw6Sy*5I{B zVPF82dmv3>)1`0Cm1as{oPOaoyV!KUTXO|?_oP5}kAdVRrpL1?OEWb<<+;`w3vkM$ zLglCLU%5h_X#wN(f;a49)93N|2=LaVGBALOPLN)i>G7|%r5SHb*Voij=aqn79|n?< zo9^!vFU|CXak>G>)_r~o0=zb9kcJ#cUSWFtL`&)Ezjk*^Oh2ckD8LE2G7MCl)J@lx z)t6^fnXdnuU3~hz6SD+(Kcpc7Pi6Z1LTzLr`tH)<$Cira4U0H-svPO_$@CDZt5+0n?nl(O918 z2-9?jTN>iimmfCa=LKC_2CAq)UNxL9Zy_!{{a2f|#Pnt5%>tYY;2OC%8Ot+yFi)Sb z*F$Xjw@r4C8_HZ585ruOM}y?{Fi&@wtRgnOk6l%OQzr|WPNvVV*(lBhYKDO7G!Yia z4QFX5odh_qWI>be^xvC|<)^FhbVy9kJEtnZDUc15@ZM}J&*Z~0eSuhq*mOAqMFCEq zYz79<=90SUvo{;dGhUd!d$X}RD`@;=<@D7CippABa-a&J4F}N1D^Pu21S<3xAQvBk zoWjC3y&zISY`WJLV*y^7JVdlPP1n|llV&nto9^(~P<(p4MjStHM;;<;x=iPHNS0>w znC>4xTYUPfEye;`Yw{Qv{xC2wfPxUzDudYxyMGDh{S$1{C-g^)O}E-=EWo=WAF{I$ zq{(CY=_k{rnFQFUE4<~bOEh~0z}3DZ4QAM$_gqckvtN?KHXrMfY|g~AVXOS zAs3l}4E345K6t$}ZBP(rtgnb5TCx!CQp#31e((r7#M=4d+RTiW_96YV5ps*t-n-R zYf1^iJD}tQbM8Vk=N{pleqgSE*z~OJ#sa)Kr3gQUO|P%*muAx7n%>Z_C^o(C%mx9i z52c8r57ZQb8F~xN&;%|>V&~dnETEN9hKNj1I|-)g2UHXItT|9ChHF|Oli2jA9mWDo zOSr(-cS(Yltb^1;7mP4mDT7A*^w~R%<(W2cO;`BcE)E)u0-fIkGid`C_~x>zi&|V}qT})6_ zpnlCH28Ju_5W_$Ro4^bMpZ^Ur33T|376ZcxBtFbQ(7Jn&9+=}AW-%~;E+zy;ENEaC zBnR>>=;~XT9*{BDv=|sJFfdHt>MJTJ3mUEhDTEm^XAT2{12l^jO_%l+m9Af=&A>1L zG}Zyqj1)Q%kkA2NiUE?kGmn7*v`QFcKWMB5WGu-3OlW9B+g%K1W(*8RK@uQMQ1d|U z12;~f-7JvQZzl!@YX*ktOW$w_3e~bRFo4GQK@uQr<~$vIRarmOaF7@X=Q&UR&`~Ki z{h4E)fOf#T!I-G3^+lfEes54)AhwAWmsbv7*trNJIEWUvYVTj8yT6IPdm9+g3)j~<7IPA zDbS63p#4jr-acp#bvvj{0qS^&Oc!h^lVXbInO?Kcc-wTV{l?j{4;dIPGBEJybZ_F3 zf?VfyhwCB(!$AgyO$(k)-@D&fVfwxO#@^E<4;d?L*F0eShly2@fkF1ebi2dG3Da7c zSf;Ov5SN**H@ggc>6XOwb9HW9(|e8@t4+W6WIfmP06ibR>3#D%xu$!R^6*W6RVg7c zoljhc90Fk;f(5fJZ+eu15l=nnpnp)ngKqpf2ilbgIv(T&bY2J)WgyH1S~ACU1C&IV zS=hfZgD(1F2X$mvSXeXjN*I_K+4eCrFff4*;$#*A9hkt($T5uxq>L5RBxX_rUHByi z8eL%KU+@3+p?O91A^pS;uft7>x7|2XE(9#vw;~)<(u!HXRVm$$3GqHUK={N~u zv#@~%=UGpI*lcXNpi_-mPlNPwFmQlO6a(F#1saZHU;+)Iu%0;t8k7J{GJ@Q~1(IQ9 z;AR0SW949z0_}NaOJrkUV3P(h86bv$?jHmzWoKYAVr5`plL4)fVU1vytN`7V^__)* zfn5r;l!Ae+A2cDxE)C+auz~g-vdc_jVqoB416{krE(-?FVCw{3J){WIE5mjPWPuWht-!_v5?2PXRoJe8*ealVM>N<}Ko@nX zeqgF+V9;R$P1mrifebQW1D)f;t`1_Guz@ZoW7hz&E!aSN64^CDY#TPvO>pd5AhrWr zF33UJAhrwJQjo?&c~34M{wPcJ~>Cic(7$7@vaFfyU{Dk1{bZfbQRdoD41k8qfQ~&A`yh%)lTD zIwM|`F`B7}qh6FThS5kAa$vqF^uT;EP>-F12dt14l=2xsiaDN%f^IbdIYJb4Rz8Tq zz`!vXbnFB(0|Pk4aWn9PoF)KX*mMQt7LY2C6B*~&g6{gV1T8$e0t!CRNVd2`J;)DN zzzTxJSA&{3S3v3*LnItPDzAZzV2qOd2jbjtW`Q)}#6Z;p=!P^=(0wS(peO`MakGE| zR{#{lj7LBkL3V>i_!#Ga=4S;#^QDYOKx#l(0&HgeF_2E?3dZ?Tpn8q*I7lTU#PSm$ zGZ>@9Kvn-aNU$+;Me~RDZlyk|l>(ro&A0)i5@Z`_M1XP5Mpgy}(Ebbt#tookcn5CV zCXj7R6JsFW+YE9F2gG|@Kqk~PMoEKa*+8>spy3ap%&cq%#%-Wf1{x!05CciVJEM>DfGszHTMilmXFLy539=j%NsMzqvzLP4Gwr7#IX{!TW?4z{~*om2u8&HUlrf5#OId+|K>$?f zFwRC*dJIFU7Dy?mtYVyos`Mj`MI&Pms#13hrA#2D zpc0j_9aU)&hEje7hI$48P%+NvkE#|lLx>s%OacrH0-(~L(F;}S2@GR7K}tcD2BRyg z($5%589^Hq1VAUDFlwTzmE%AU16Gi+pvsF;1yw0%f)3TOpu^S$KvfK54NNH{n;hm~ zU=VZ%6(%*HYeT8v;mV=$ytr~{=sW9N>I{-Snb0J%b`V}9J-Z}fkEOQ$bQBWkZtfRS_*O)G>evjj6lkv;JGhw4y^#? z&}*P}F?V2FMtYOCW{ePLNBaL4lAl3snDuE~tX|I}79zguk;v{)QHY zIUqC8OQtHYZScZS095lc#(`8KY*XW6U=Re`764R;l`*3 zQVDVzB$8)=oCdD(^gwR;2oH7xkY(_IsAn_;*#?bdBaj*B0bvNX4IU6OOF&gNJL3k> zauiVO6x<-;X4wY1BvSx%Gmk3h{?{{1=eXflvG6N`?rQ@%j`b|lGmtol&A`B~2wK%G z0p3Ob4rBnNu_6b$Itqk2q!{H5*%%l=m{W85K|6Pg>Gz{Ve3e8Q)FnNI85np)89@xt z{Skbu3?LDHH83SGUGavaIxXi&i zJx9VqXuAKj0)goYLL1nocV9K;-M;^d@h8UV-(OUTaDuWuDC|_H8!kx~pMLk6@rvmO zZ0%U4e>g3~0a|4MKIImt3U+RG1_mYu|LKA~QnAzJRE%bAZ?JIXV4Qy7mT~@cgM((^ zdlZDGoBhw?pYD9y*q$%7EH$qrJ{Njz!gPcGS>n^39`R_iKW2m+v+v*&C_eo_mI>Q* zjyuN6j8~@X+%Yy`JTg7;j#$96(#vX{&%HKsi)3xs!3o@Rc zz7eG56quTR>(D~3>AUV43o~j?SG;R1J^fFn2`AVL#y`^??ip(^ewvmb;yak(mi};Q=S>^uqhbrqg3`O(dq@y>G0*m7AEI z8efo@oSi!T;}c`G=`s(D*KNQ3!1x6db8&M1^h91G$>~oY8}lob7iE^D#;2sFC6?xt z#HSV&<>#g5mlnsTB$gz`7o`^D7fpZr*tm3h@e|{Q>6@bYC8odsY^*e0|EaO&_JpUP z6Vm1K9XO`**LZSFKQL#V#PkG{6(Z9Ew(Jp^t}u6<2AnXMJ^>W>ced$>OusO9oyznH z^VUf~SPfzeY^H;Wgn8>crf-<5#WVeY7bg#+==6*0&6THrI4Q(4edP;dkLe1F=81rk zj{xY5e~Ia~uZ>l<>%KI8!8H9soT|w53mIZ8(*;`1ZKqFoW6V0e`i-%*Bu<}A7xdQ` z1}ogY;f=8a3m%mTpN&PgzxrUjhMCF8V)}(hL&@oTewrMC9Nm9DS2a}Hk^$8I1Epn9 zd!LaZ7ks7~h;IiuFdsA?0OG1n2OXHt30mU@;wntv?`15`1zP$7<}ytG5ZNNe1wD0Xk!^@%OCirR;U1|XV2iua30D9wJez!K+6-M0$_P}hGz`Z1-={0 zF$zuB|86YLXfoX&L`6@}2T@hi`$5!{>FYt%rs?NF)Ya+lzZ=UlJ!hOQ@WWV+6Es#0 zGE!jr{&+)iPSE9b5bl2v7qsmH#5J3)pI|7?=?ERrG@BluU?|QQI(_{QV|h+cr36x> zF#SA8bpG`BAkl+RwJWFVCmM=#UWalOrpJT0psE0*Ct~{kd{xou1=HFBre9#u4cPvm zOLGC^^ao)U1}sesznP{V$WfQ$SA-7uf(BlN7_vbHfT(mbLwtN%X0bXEd59$#S*F*& zQW1w3f-nxw0#A1^+DyN2$XzZ9v=C6l72+(=R6mFfN{ygO7Q_a18TdhG9J)eI+XJz= zK}STw4zy!qU;vf)pu!)d9@N$ZvAI*G9x+j7aUw2^1lq3RMI&Nd_9#1)1pq zISh}Ffq?;ZE(b^rXpmC`)bjxyYynck&j6kY2Mxf2#6d%8AT~@rXbN0}A97|ZsCp0q z&BZ_$w}99n^`ITea0@`1ML;WxU?=l(PG7-jqRc2f{S1Wq0HH*fz=9SKDh5I|K&T}U z>I8&(1EEe#?UDnXio*cfW(x8O*g2rFI+$~yXYhi86y|)ecR^DpFz@Ojc^7(IEy%?% z^uhlAf7`dkhu$p8~=iXwZGW|POxWx48>+UMkrP)j* zrb|z-P?;VMVy%vHli$9KJG_-~dUXb`%5-xM6N%}!Eh|-~ck_lzOc%GRRGEGp#L}J? zp)&n7NH!hBQs*?0n0`9WNo9I9U%13{cI!%&>DxgpXX{G&>DM?-WFnO(xWXyNuA|13^m@VTbR{289$< zd>ImZBN7|5G!dpAv;q;v1|RDN)%zYv{cj{Tc-Nu}bkjI^hzhD9cDlWAxOi?2sJRan z>Of+H4*G-H1G;n*#)cf|2TF$w3_Fn2Lr(RBh+jYwhaBw(5q~jV-!NKSk^$5nhgu0a z(+?soF};3bsW_v-^#AvT#Th-OzkjzxygmU*aSjq&5Hw%|HADu9tp;L)OGE|+(Ec=G zDBBby4pnatVnb(${E*neAU0G@EQoClTK@;ybqV4?4Fc~agR*CX#Gym~t3Yhfibn

    2h`mLPvt`;KzmVONddI~ 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

    n|3NQ$OT(1H; zV~(*N=B;y}U1W3mK*t_|y;WZi3U)Ro1_nqztOxmvF&I+3)Pswc5U>|PS|A(BAYN<% zc@b2OLA=-l@*-&OuLL-c_JO zz}7*O*MmZjqX|_#C;>2Ng2I=nltB@q92De|pk;ZW^Ajx~Vvqn~kSqXgdu3)|2!aSR zl`?=#EoNYl1Z|lH<(gWE45J|^gV`WunR*de4wE^=z`y`HoC=gwK|9#NMXCy@xMExk z3N(se&?Y@doUH)G zS$#V*0|O+|R)HdIDTsR*l!!Ng>^#Se6wWT3NC5}(A;(hGa07=kXlRy!se~aMq8c1- zpzYD1q*@3SLj+JgXl2oV9tMV1xD5Q204NAl zz&l`ff>J3cY#>KT$GAt;9>lw6vf+|GN z=4=Lt58iPxFo=R<_XH?*q4hgR6yjthP-q_FVqnn7WMDi4a=1O{XdF<*2M#M4&@oe> zgpQhrPGNB(gFrnfAhr7#85kJB6XuX36rH(YPKbm!0bG+7axpMya)Z4NY6ED2POAbH z@-m=Zy&wiC<$^N2Hn=1PZ3kqi0~a_oJTUXFLd+A@2UUVsuYgX~XABlq2L-`ZP((69 ziW`sysBb}SZABi4Z*PHo8_UALpaTj65S9Qp7Vd%C3e_wO4C$td{xT80J_?q z0n|o7$`JvOCIh4>0hz*a9ZM+7z)Bv}2)O}LS`Xe<2ySqJ+Byu7Qd?IUbk^e;rYSt| z&29pqGeO14U#c zg@joVd&a~;C)zVkzc4LBR8AD>@O#iv37~yop28-Qpp9kXCe!2Zo5)UQ2~U<0VGv}T z>?Fa!Ak*2z$SBBYD9pehJ6-XHqvUkCw`&BZhcR23Pj7r)BQFozHzv-&paxM3+5w;r z-J~Wwy=LKj3I54W5+G5n&L&0%K}N&rhKEe$G$BeD7<567fb4GrZJO3YIc%SsfkA(| zBTHoPK;{PW6r6`PR|pwP@cZv`BcT};;dE<(|z4%a!)_MyU1qx+_yy>(-S5$ zvP{2MEW{=s2AY-tom0-j@R>1eK8OWsOEWTrfvCRe|0_F0r}MGz7loYN|DSau+w=l9 ztGwx-?KJg*PcbksfKFUsWC#LLp!ytSP7vrgS8##=O*w*=7%(z`PN4z|fl5(Odzq0T z6r>%bhmir)_y)@sOmBQLRm3bBRP#;)9yKXQKcbRtKNujpRho z@@-I_V`K;gDF;_`2q%IvI%pP}ks%61ftFD+GDL$Ef?B0W#(=sRAYn#^V314|!*l`5 zKAGtb99C(%pemJ-Aso~i1s6&Tpd)m_Apn|L0af8hfigYtS*P%H8O6OKk)YB9qzu&g z0?{BlKs2Zy0HQ(dRS*qoF@k7N@PcTNA3!vyOhKkWB`k!Z1uT zYhf0E`v2?>A-|Qv^xkWSIH&*Y zvJ#rUpWlj8n-i>u3!)6nW&@KvV3H3^g4oQQ9MgT{dz7Xx;kTMM-GR@Fi;;P{yoQC` zbRCU}($gOpTXIbA6R;9i^oiG`85o|6mC;-CKT36J>nn*vtueA%g$ z#qo(nsqv|WrHMJy13#&*oBlx1s%Ltwkd*;TW=U$%^c_N0&2r%FjG4vpsksFul?>p( zPby8$PA!QC$v|#~h?8;V+ny8zqwL6i5ia86GXwGx`{@ZW@WdY`COC+LC=j_LoGvT#f2ELV z@l4;dPl#ulD<{YF0JB<-=?NeeKRh^9ruXj&SkYb%CrDZp6UAHRua>9@y}M7KEXa)V)|}-3!Ui` z^29i%Zx^>xn0_IYlV>{bMgtyR(84*;A)25v(P(<0#scx_0X|(K(?3|$vrIp48>Iri z?gMOOw}h3ABxrFANImGxM9{%0AU3GbGMIj`OjCRMf+Y?t)4OwK7%)anSG?dOJbi(A zJ*-|Az77Y`krGtJk#e(T2)L}*sH@cJ>Jg3V0yjmCZ6f> zQdT_Es}Hg8Fd9r3IK(2($UfaSZkqmdhZNPo?E=zP7nvB%KznsXm`qKlPc(8Co*p^Z zN)j};Ak1WJI=!LZL}YsARs#u8tpYwB-PFJUG&X+>GKb(VZ`IFezWu(ul{xeDu4+z! z>1=g+0@GJX&lZ@zuH02X@C`JNf{GX+1_cJD>F0IK#nnM2jSzzp189^Aqykjp2r;NI zfKJN?@j)ez5QExu#w{OP(G-z5@OI}03F>5vZ8Lfyo!}Eley{i5EUyO0RscXRE05Uzq0=> z18FOy`3qxH6QtP?V^dQU4Q8N?$ce?psYNA_Yfh%y23zV*=T)^5o4zTUUt;o}7VYWr zs#ccbpv({t&n93V_(~M}|0d$o*Qr{uO%`gEXJnXuN7c$`dKIH7&-7)P3k0Xn4>#tS z?jN~RczRgyCfVuHYF6^o-LAySszR3#f!fTBP&VjX9@x?YkXIR1f$1v z0Yh`S>17d?n$x*8tU{(sXSeW7SC{Y=o}Q**zY>*nz zump$=QUe-)0hvFSqERud#ajTR9jNF0LN9w0Wz_l?u_KgElSf)1Ai34sC%bO;=XEi?VR zwv{-e!u03bR?79D(|$nPCtzL#St26DzyJzLuuqI27xaMG+#mw9fdu3-AqECe%MWxk zC&*Ng>p^U8Zcs!pFo1juG6&T5D+8%Fg4`_uVsk^2cnt$XI0Hx#sGJ1_1;`-K*a(OX za}en60FXE+4}jRPAOy7}L3%-LM^IA|qy`j~AU3z>^a+ucTGK!2SgF(-fowO11QCc0 zb0Nq;5fKIkP^%6cjK&NMpr8Y>VJ-x9;Y5rfi3r5zhHmZx4I_Z`f_wuCDUcdaf&#I* zq0KnZypxCt!}Lg9tB-D=ek^F~s0b+4fUZtpU|`_(g9H_*Jq8j7-H8BV!x8|fvkejl zWd#tM+je?_o>dqx=%_%DqeY}ar|BQov(jfQo&H(RO1T~s=wNS|L!1m^bA!?*X!$ZI z7|a>zPaVga#X869-EE=Vt^ zYh1~|z{UXL=uX#nTD4@my@AzzX31nw_aBrt7#JA9cbY)i?bGWeO~e^jO_z6HC0-BO zcfkmiVE}d5p=?zoHt1wWm>O#&ad#wk6cRfdi48g?5O%*1=<*`i4YHt{wOhB1{eFoEaD!bc_n@x~$7cj(C8?eg$HK z3I)(EdnV8dMW~^m+kqHC2?cawDQJKQJW<2IAOT`S#pOV3sCqRdb~uO)4Y@=R8=4hC z$8-rp*##hRsG2Ge8{`O3g6#ouK*-b1_sc@8;npjt3cvVHCsV! zsG42V|1ZrIXS_XKe_5{h^jB3`JZzxRE=HZ{2AX@s>S0GpSb_#=pxT{5Y^Zh*5F08U zio{MrV&@~VD?x0i-Z~H)suwhi#|TQU3=9mt2=RIb(A5l#pvnhyq7+C18mPNKY^a9A zAU0I|B!~@F4?YJ2D*h5A4psjN#D}ALoJ8{b!j_@4a)Wm z3=G|@3=FUnGp2#Wp=v;f7sHY!=&A)+Qrm>2Wn~>NyKy01q2G2Cb>V-jV z5YUD@uo$Gg{S9J6?dJuZ=K%GH6cSqn#0GT%K(|4G*ibd#6Dy#4Es(^WKy0Wu=)?-B zpXwO`ktD)EY^Z~xK*v-FL292IkT_IxA&3oC(~88N1Y$!y4mxp{5$d>ANa7noY^dHt zAT~QRyu>v7u_N zg4m$;83O~uEf5U{}f>p+Y5&may|;s=Ng)xZQgHUcWn4q`*a1wm}6xEP2H zb*MUs4GkwV5F6?Udk`Bc?h0Z<)klDDtAuijrk|I}5U=k?l3xd6L+#uFVuKo~3=9l= zKu1_W*~dZRP&MG=FQD#vj3oXR#0GV$U`Js<)&BvBL)C+i!q5SqC&<76J_`dX0X_=@ zszDZXVg%G;JrEn}DbPWTj8F?e=VHJTh0pZ+zh{Wo7lD*QjR2p50cvwHFff2m!GN;C zr(i(UOhHmV55xw|a;!r2<1hJv!fDgfdvM+$d*`a>A58^-#dI4fX z-Tno{hFbg!#0JgpGcYjx<3b!b0*)uB8nNl`w~LC`8-tFFfGTwXv7yqSvoIJzJrxE9 z20zfb7*KX3lA1Imb}`O9Pn8fpr#@0EDWf>!DnH>+9gXtnxPh~gjxn_*sTMJ zLk-#iVnYLJFNh6Qe-Nr3)Id805{Ih40%Ake-vqIt>cQt_K-s^zLG2PKhZ%IP1e7g~ z#8yIL8-v);0Cxhhp+55lv7zFDAU4#TI1n2uo(p0_)t76bvE`B2%1CT2BsTb#QK()Eh&ZUn$-rO(;ef-$8Ho*U-a|Ej76rf@ z0Xile#?G03UsPY*7PQz6CRB}N1ZcGYOdQN2mL{NQ)bSj|qlKgXYi~q2)jLI9VwB6G$7B{cZYtPY-cP7EnVP zD#VS%=AXXa+gqGbcKZ3xO5(X1NHU-qd6?mLNaC(YY)>S1FcKTwUx3;cha{ea#4ed$ zf6YaFy4LeWJkzU+4R};1AxTa{VuNP)VGdb2eZ8K9c<2@+Y0z!*Flq3ic2Ijks{ml) zpv&H1?3+k>?;^3^Ouz5tAwFGducgFvFAyQ+?ZLySGQIzLo%nRAXc0kNS;1$??4G-NJ-+U?M47<{lC z)H|SiCm5xmjhgA8rYzL)zd%d>pbi3cBS9D5f~J5$i3-F9xkDU!2Q4U@DM8sFHK3(6 zpu1^7V;1^QagcqW0}esrpgPbRDh{e%9hvJPm)U}PK<-cpP<;Yg7y;4%nob6#DIsV` zq=3|LLq_7Vplpy^LH$vX8c+a~LB&BM6b(=|s6y<5vOyz5pu4C*>TN(RTTuD~aX=#( zpnfWd4H~@xT`34+gNB)wK{bOGgX{pYLBYVlzyMl^0y-ZFfq~%=lnt@~)U_58f>>|`Dh{#$bPEGW z9F(pfLd8Mp={b}QnumT1%AO!ap!og_l>i-Z@e|4hjl_YDk_V{)%~G?nGBAMHpdm7D zC>u10CI)4LhQDN?Y|ua|sP7I^4;sJJgo=ZPDM1%QfyC=U@d+zrYG9R=+RWrGGzgQ0BD_+>bh4Vrh)0XVuPZi52^?>={*I?2DKGuLD`_wc0hv(AoZZJJu0SiJ%+b zp=?mlfsWY}0$ta^z`)=D6$cHdx}h{5`fj)3sNx zQkmYZX~HwTeu**9^!=jxA=B4CwUS^InO+cL6+HdFrw7k;<29=!rr(zcl9;}qCro1c zbN%Fy>Di%HDvVOoCxlv+OM-mDz`y{yh81*70jNHT0ab)@(+eK022D;(IJ-$4d3LfdQ0A{ioj-v6r8Ii&aiy`o4W00-PmQkUP`;r}Izk zm7hLqMwZ0%eYFP!m>R66E7Tnjn=Tb$B{2OJNci0KxdN^FPDb@@O3DcKHSSe4>JGwz)dR*NB0j49?(*^1eh)ut>PEcSv-}FNg)8jgJ z3NSI)Om~U2Qk#CucfG{)eH}FdtTr|b3@X#7M_MT}nJ`Yj&|@GzeY?6IKU0Fu^e2&4 zYD_VV(-R7q#HN2s;}&FuvgOhdY&QtIV3B~>^jT3>0<1ZV3=BJ`uaB})X3}7q-q5co zHvOIK3IWy|HVh0E)Bl6S6PTtO{In38ZWV1Mz!YFR-6z^gjcEl#HM#m;u2te zV9UT@F@1itl`@kJGvqpWyAM_ZtP=JN3=-4dgTzCaryE2lh)rLox=4V@z<#<-jFlSG z6z1s-(*?w)zvJ@}V4Yykz_4U`e~gtfQwq!U3DX3`rpLw37GO1T1Z@et4-$XCGX241 z6|w13u~q_1UmU0F#9FB_DX>BWf`Ne{1#0@e zEN%`^Hwi3U!8Sd?B2FB%KL=zWSPXQeE88@urDD@(#ajt56}U`a6K|!)3c6v{eERix zD`h4h_vwG)t<;#li%f42nj<#dD#1!Xw^W>gVId351kjDy5H@H}07w{Aj)O!vLKzq` zrk5vJDKm-5Oy9siQ*8RNIlTf*1u@f)Bv`32^~p@%;43ON{o34>0!(var;8+7sR_o( zGB5~$`r059K#Q@a*K^JkXPpwyz;I)FdZLvwQ=ZE7fR7GhLZ3lxSq8`?9!N2-=5)|a z^V3fyS_v?DXihIU>ntt^%BUboC~nZ4{$S%)@#)e@R{TskY14I*tkhU!;F zrOf&v4aBTZvQlR1(3@UxW4+k)x*8?{wl$y`P1flblB|?i_n0#FW=0sS95LEe>Xe%$S2FD{C35rf-~MsX6`p@@RqStCFn}r*E!jlAkV@ zV#Nt!Nh7hkR`&@^k4v%YnAXa~0uq;)E^v^G2c%WR#>|lcwqZ|(8@fA=q30A2N2gRL zSErVyl`a=#6B}qQ+>t?Hkpg7X8Ay1#U#isw#_Z|xX;#XzvloJ|rFg)>prHiXQ)cGK zaOTrR@TKuSzo*BiSxGT+Pp?X|l3~mS^W>@#8iX{2WIup50>X5}+y<)=evPCCWGI7~ z|T8c52Pj3{p6qc;OW#sfF=~jl*mwmM4W9$SgmFvQ#^Z^IMnpe|#Gpr1zFZyUH z#CRO6p7F%=)C?hg0ci;Yan=k;Hx*H z64PhRNsyTC2a>J2SSd06-OoIU>9caIDyGi^Z6VakwKAA~E>w-Do|7N4R)T?ng|U~3 zfq_Sbk%0l!;srHEpxKIn2~-&}!S(`zu9jkEVh7#xf!GUJ!_2_I1X|U>4BHEM1GEW{ ziB$)*%a4NC6I+R1|-PBuFC}53-}tOn2`fC62ry<*$W8TX2K#0YAJ$u zwZQiRPKN9SYzOUvgX{$aF*z7HKnIZUf*Nv+oW-C*koP#KfZ+nI#b#mPSq0jB#|YlF z$J+!Nb>gc8D*_j<{2(?9?@UmcBLHd_a`3JJX%+-+)Z<}bN&qbo<^k=FV*)J>VdISi zEl6f#i3e>j1nn*WS;!5t2~04sv4A!yvax_RUGcYrOp>?*vJEu51LDmA@dTJa&X53E z0SairzaSYYkPKs#5UAPq3Un$fXfKm6V>F|KFlaB6Fk~;2Fk^ijGZ%vdXy+uz+x(y{ zhK#Bpy&$7Ny(`8!(x45DU^`Snc7WP!LLk?JoGuLBM8v?r4<1}I0eJzW5j6YDIHwMz z5$qZh5EHbTUIerceI^rZ7lx1+s6YG-;y%clabeKLJ2PR}#yes7#ybW!mKG)k22qeZ z!J8jI#(=QN%^(UgpC8l-WAp_@8^~f%lbdnQ9=OH6Ad6>%mN9@le+IrQ zQ4C~nJ;-8Eq8Da_Zg&C)fIk+?#Xut%pvaiO%)kH*cp=b9Vjv?>wFjVT2VKkq-3-j4{sV5ZG@#UbMe&A3G1vwtHHU%7N?Vv^Ypxy!l*zq8X%|RC~ptwB@ z)pAgfFu>jJ4N(r-Edh2r*#D@G4@cFHYyc2vwA>8esSQzR-A&HdoVo@yz8H;c{8)%*zlH$RR2l*e>?Qy8u zk=zcl9_)5L22qd``N1RI$!V}G(*(-3bK=-wj!y<z(5`{pdtnu<_C$gPp?{F zpimD=ybNNX))+_-bj<^*m(ozZ1R7Xi5CW~fK`B-&P>U64sRGU}AlHF?F32DX@*h8F zV=QAS)Z_IGIbfgru)};_3i3JVa#M&`OF>=*-R=bTY79H9?0|T+63we$K`R1Kl4Cil z`ynw33j-B)&@}-l>MKyyL;MRGF(cN$ASZ(T%flcF@)bDP8QY=$WdLofVVncHQ~{hy z>lxcY{skS;1o3Y>$iJXfLty`c)FDT0H=2JRgXZH=+~0}nepLU0#yC-G$6wm0`@9M z3&g7upy&bBTo*WCN%|DXc*Y<}P z(9Ae)i=vr0Zey{h9$2Xt-$q{_?%6*O}o@y5UaYTh%>xz7vp2e>i34b<#9 z4$9Vyb3h5{I?N*=br6q8fZ_wxIyB;CV1Se(%Rs&Y&t8D$UOqviq=*4jqJXv|$$&;P z3qZ<2qZf?pK*~KqCklWw1DIP28o&otWf0xpJhbM6uAD##t$C=v2L%HI zyoNr9p?p57a&ROIfd-mE?Lt_x0hP-2404sA(Aotu5z;Wq<6~eD2RDp%fnuC72%Mrp zqR?;wc@lKFkP{yRgA~|jdqE!E1o9bZd>P_1kjEGpaAfp7F!zDlRj`Z1Aw`*75va@r zB_amUAU5NiU2ykkLEIw-D%hX!GBB)!bO^wWL{K#VO9`Nf4|!Hl@8Jy7Sw8qiP*KoE zPm>3v9m|cod5wzhGggG=7L1&PFFz57-Zjxft7x1_! zPv5`ToE>$$rr>neI9I{x{+gCN9HNZslAgkh!qW|!_sLHeS5xMnUiHyVXnH~40SP(S z{!CFd22WuI1~JGkOG9DMj!JRX=?P-) zx5%xOp3b`0jDLF7Vgugky$@aarr%y7$35M8=R$4{P``$Wp^9hv1=d57(*-VALbp(U zn8c_!{lGf`w&@Lz9a*Ozu!v!q{^L-Q(De78GDW8^I2Oq>{dJv{BAno!9{aNux*Ku# z#KYXv|Nm5En?9efMs~XG?u9(l_veLjJA$T?AUhO6EO6VDAsCdDU>G#R!pIN;qChG@ zYD4COSP-=#(?8tlbb@So?30+tJ$*uhmE!c(*VVYE?@toqnttF$EC2KWYfYBv{4Hv;GBMNdTWKmxU)x~yZMwko1KiW=zO`~q z53tnam~J33k9GQkgk4qaYm#_94g6&#EL(|dMiW1)C42Ll5W z!v&=MhSS%!S-F6=8FEb*n=LLd{mV)N!D+^pT+{7?W^xKifHo2`gSXuYLH6-YPyERt zI{o1NNJ&Q3>56xar5Q~?TM;Fv&u+I8VLU#4L%Wp*(^&?PnBsJs4l6mPE6AMNP)==! z6+5dS10yHP^oy$vOr}o|aTaG`X54j#NYSZo* zb1;JC-5A@af9$dno&KTQN(dn=KK*W|mCE$w_6~8zqi_Wh(=`G#d8P+-St(Cz5d!Z| zRA9UblGb3n52mI|`vgM7r^n2#+ytV}^H+Z{LVnIP_ zUdr@?{Z=CU`6;OkppAp^B@B6~6(!RJ&vEHazi_}=kqfLettdaQWctKDE8*#f743z! zK|8JDlat`v3`^jfz8F#xOA;aCIjMQ+B^lH2uCi290hz*(oS2i7l$e|ikp`QQ2eP=J zD77p;FMs+%JJkS1kV?H|h!U{kjMT&w2p6O{zGV8E3RhXa5{A;e;>`5C)D(rxyprkB zeO9v5eLq|CO|Q>&V2=P95}%x(SCW{SSIhunq*jzLB&EbBrlb_bC+1Z`49tY>vdqcP zOIH9BnRzAPfGDXffbOD%ogbE*kyr%YeaQnh9qjz%r0F^3pTFeMqs5NgBYM*0oegnnVO!N#}Mz7pP$13 z2}lM|FikI1$!eJ158ATXuNB2H-N1#DWBLORH;(Cio;#sLo`SQ$bO%R6f$0veoC?!< z-*^d3ukGvOn0|M=1jn?w>v*Qy^wfz=56BYZnXcf$$unKR(~W0(L8*zv^oDijJk#wI zoq47kI2lSz5AfhLm|k$ghiCc$OJkntzOsT6(>D}p@=X6Qa}CdQ1+F!g)BDYN)gik# zkIo7dnf^DuO#s5ZtDU6+VV#|9WiuT{@JwfOoebF#YVT&jGkw0Z1<&*!c6L0|-M6qv zOurD^g^&afLV_lFLF+7prYG8DTZ6Z1f;GO(n8-7I&lw#aMzQIRm73bq8&;=-cXDp8 zoody0m9gQ>}QWi<$CDOpl#zbzu6395J5h0qdn=ryuyav}O8% zXDk}iH_WtRoo+JQN_hGNX)6vecf0vat4GX?Cg9DS)AK>wI>WXah%y?3_j@v%8ktXb z+-e{Kx~vsMGa5{PFxN^9L^w@fcS;z2MogFR%&00U%dmXRSAA^|0t863fL zxgah?Kd6!e@gSI)!I=THItDaD&j9fZXzUas2_l&pTp6Z-7z_*ypmT{C89=LVpaP%~ za0YjVMNlrpv+$k$U{PiUPX^FB5D*6<4@zMm9t1Npcr$=Hlne~c3=DjrP8kDaBnu)9 zn)LT&0FAbS_@Lnpq;mp5LJZ6d{tUOkECvRi>GnRxqJn`8FQ5VtA4N~!$gHbBU15>c zhv^Ng0~MxE=+so0-oT<8u>C`*k^|%PfN&*+X zGOUI2K|Mwx24{vHD129jgD8A=hSMl~PX^E~GmwKpOM`?Mycr&Yfxq_NT21a;p=}X+^2iwO3dvgYGhA zV2qtsqbfcH2}Z?9;!6@CZ)VUTLL* zRiYl3#Oj8b!qd+MN((ZwPcPv1mYY7$xr&Dk)GuO;o&F(&M|}F}HB)$|+pn?`W&`!4 z7!yFs#9@-vtE}X)i634CbqHeu#1!t;RuT|z{0`yanQo2B%|_+UM&;T|PGFxdma8ud z_8Mctbcc#^amJkK0>QlEj9C!#t5+HEO!r@7B>`5$3rbZCkZqTY`4AP|YoJa-k&K@{ z;fIenW8U-!YpnFAb6Yp?Oz)Seln}`WB_&Xiz`!5^TGa;H>N|b%L3d?2P}fa_6|&$C zv@}Qrw8RG_4cbH+Gkw8YEB)!K_Zsj_zrEIqhcRLLi?vo-piP1dB3umM!XA`;Mcg5U zD2UCSFnz*0tKjL@>#TSTJs^o4A`Wo_DA+|jAlqR!Ad;E8?q@^4HVz~K@Mi7^lxmJ&c&2xJ_{3J{w+6XGmT zssM?DQVxjC4Qe1TKu#0^nF(q#f(l5G8jv$|K^*REh-T29dXNMtCxF=8;4P;N44@%l zkY=;#-8Va=r=Qzu#iIrGPY5Jjz(rdK#Qz|@A|Vj}gTql}y2CbbkT-0#5;qBfcm;fF z0yHmzv%CuApbk*}1L+2N3&iFI73|abw_E8*hC=KDCz?=*U7!FF37!69t5vXPC?p&q zkqz+<$Pf`Vq(l=6u^f_UAZoy6Pbeg+L2T~$=~K2@Df5OxQafmW4R_x3BTykwh=H;^ zci!|b+pLtQGY1I@vw_;4B4N`Fwp%IJhd~^P>tjkl0-yHYiUpFff3Q zErgvC06HcbW)0{x8%EH60|o|$6(IFcE4PB!P`#jbC8P6nho>FN^-yW>Rw}4AZqRTt zs2XQrV2}Z^p=#7XY*01?9T$jn&VVUM9ID11#D<#V0%AkO!ADDi*4i^LFn|u2gq>GV z4_YV#+o+ij(g0Od0b+xq33Q!2hz&JpC5R2`$}li6tOYp&%H9DIhpIUQVnZEq9K?o- zUj(s1OO+TH7_NcXT%buw(EZII4%9O6t|zFX-$>%%rI%2H6hQ;rpaKVUIUQ(?29#|8 z5{Ie*O)J47!X8N+yx9p2t&_aFC?9mYr2deohhz+&u z35X3*#PAlxhKhssaxg;GvxBxkLD``8FD$4*doviJdUZf*pn5$(Y^WoGKx`pU_%kpt zgn`zZfC@AQ1_tmcp-@HHAVp9g6oA-J@hT7-Dqas_L&ZBmY^XSBs|75|W`M*&y+Q^C zhPfa%RQ)QjW~jxxK@w1xo&vF<8ZLv_P;u~K4Nkig7RfsCrcp8?3&bfguURfw~BM&;qDw!oa{#09xm^-UL& z_!JNuDn1j$hMKt;#0DK62dWW3Y^eBF5F4~h1ysKs1970Py9#1MHQWQSq2ff?_fHq;TnKy0WuXzY#=s+SjZ+yPWv26TrgBUFPbl7u0M4RwSy zhz)AeGcYiK&TtThvb{j!P&FYSHq@b!AU0Gy8N>#4k{B2mGC*vo-ck@7#yO#mGN17bt;)-!~HI8e({Ky0X@To4;7-U4Dn4eA52L2Xn928Kx>M?l$g zLE=y~%Ry|YBi4Y}Q1NXbHYg=BFfi-}u@#_ke*(mTT6P`8hAMghVnfB>fY{E{4+OW1 z)eD0fxeN>pte~S2poa5<*icJFKy0YEA`)90#0ItbLHi^?Y|y4q1_lO85F4uA4aA0; zABDuuL$H|`nx^NQ9Tu-&0uqC|Z!?GuHG2<;4HZ8GVnfY44`M^b?}6A*_0K_UsQ70P z8|s$7AU3GC18P)*7L-8QJfIT|oEfIG{_z)dl7?_V#TbJshz$({Ef5=OkO_zl>cfFN z3t~gX-9T)W=@0Cz#OtBb`5+;vTS`G}sGV&fHdK5nhz(Ug55$IwF9ETk>UV+IP-~8W z*q|;E=*C=-KcH;zX%A2}^`JwyVfhDq!~;~~4M;Q8Pai>SsQ7OX8+2eC$mgIV8K8!O zj&%TCrUx3Z;01|8)r*7JP;+EJY^ZwB?LLf-(5A2rNCK+C4aA0O@CLD=;-MfmR6GjA zh8k3e#BKtyp`kJn#D+R_7KjZMUjSl5^={+^9p(X*H~^A>YB&jEL&eX7*ia2mL2Rgl zUW3@6AtcagWuT=rQ1&m7I8+Tg9|HrdIV1>Tg9>}lv5FuzNIj@1lme|s(SY<+l|d3v z&AK2q)W=33Hb?^l1A{XXI{?InIy4@{hFXvTVnfACKy0X)RUkHal?($z9UlWjy)cy1 z36g*+ng(J+#aAJ*cZ1kaHJ6dtuaVgAk=Wmn*uRn3O#JXrVP^pKvKgJHHym*Fn=V!C zD6!q{tko3m`n#ZB5VY$k3+fX<`-YYvHncyO4q`*QVxU#)uujcIkT|r7F9d2uLtD$f zAU3p_cMZe_w}u!PKpT)@Z3gfG0}>37aT8ro6AM~>_%pt%x!OcgW<*@CKQXiRp1*jm#!OmkGL2aOPbZYBU7N&uQV`42s~05mKD zT0sR82c0tnIspU322DtTwhDmQpv60)pq=%s3=E(F7)*lAoZZ- znhXpKphc`8agg5GAaRhb3=9n5vj=z}c7eK$pxqvzo!boHg9vya1LdI8FhCNZfISM; z3`*K3p=?mg57eI&f=2UmkT@U2Q1ICUd=L-(go=Y40U8tssRxp-a3_zcuX1?`Rp`RpH59ON_b83Q5=3?Pqz&lnJa4BQEVHnodD z1~A1z_Y#3LgNE(F2M&lZFn|UyL7iHVIOwW-@PPv&3=E(}l;8sgL?Au}pEm#+7KfcT zAi@BiPzIkjAOg8B&J}7IXxuXb#0JG30|P@clnojaVE`X8AO<;l0er{+bl@C($bcBc z2Tf27pr`?#F(3x<0jT2(+LjOU0QignF^C7iXAFojFn~M&K4UKVWX3qVKW!3PUSK<0PA2Mb6*atG)XM9|ty z&|ZH<&`x;?i0?rsB7($0EjtU4I4H6~RTY#C%0XUGHYk1gLD?X;f(||uk^xnO3=9l8 zAPE_Wt3f9p3dumCqZ}#@($EEBLrdSOP&UW{Q14qv4x)YmR2-y!Gl&h!p9~BP`=D%) z`lC=b$U!GTMY<4lX5cnR0$PkegR(&y-a^@+YUu}*4N6Dk@w`8{{C+(TPGT5FaN( z#X*k9fU-eD`FT(_sE1JkWrO-%RZupl&}(1^mH*I@`ZlNpC?$is`XCEHsdp|&99oI3 zfU-f3SPx}`f^ip=4RXXmC>xX%jzig?Tyqx62932{hO+HI4Z)jG4k&+vu9y;1V_*Os zUh)(w4m#8NHIxmSp8=iC2vP$o>Apk7K{I)Op={6+9cB&&29O%i&^&0#4~Sh2y7Lbz zUdzD1AO~XCt1&Qu)?lcDIBE>w6*AgTHt5V4Lns@xTHh4Po($^Nf!NUMJQ&Ibg-R5Z z4GNV6C>s;;8}3230DPKx}BkYzCAKvJ5oFAfyGU zoEA-2e`NKZ4Rj?XWB7D|$5!td!>3Q!>EJ#+J1;?E`u|zZJkz~bZZ()b`-zpx^!csz zJkzW1OWI6d-CL+(7bQ&herA<0J-^VKXZrSMRyNcBrz^F0(L9my#D#(uv3=H7oOhHKkdH$#8 z3KRsO>sUZ+XhR)5PzFlE3=9lUK;kCT7sv#O+k&zjXg(a&2m>WF(DW*Z4IQFZ0I{Lt z?K&Vfv`c6KVp~r?sLrQ1J;2?XWqMwZr3vQ^SIFc~_4NJ}Zg0bWx1b747 zAe9&>QF2bNpOGca*Z`5Xo3u!Pa|uj(y1vpP`RRwc!zHH2&8-mN`~jD!S6U>`w1Z)K zL8OA%^mA{l1UP-%A=O0n^z$IOCk)dUykr-f9%s@dz`Mg8VV~gi{H4y)j2zSFzhoDm z9(LATK$6D;Aq`rr51P~jwc8A)f7a7dpT6v@xd3m12c!-LIazdiy=AiW^jF)vC8p=` z_z3W>@PK-ifq_AM`ugWa($lSWbW2RH>IoO%y@4btIek96ob+_736>JmpH){1NO5=~ zbb<;lnAMXRrwi=UP@Deh7q0-X1(G7!>9?n^lxAvSoW9{LyV!KT87l>NGdv*&nSk6T zKV8}+Pnu~BzfDT!7ca3mR^q!|tbR zCwWOvui7doF+DEHOMrKQ7vxkGkjbjk*Rv{1GchntcL15}cFajY^A2JtNicgfNtIbxy5vPenfyYQv+09Z;!74Z-Wm)-h6t#ZhG^W{(o7Fnrcc=GAvS%Uv#5a934aC# z(3PVgc~FlWW~d{Yp&_i(4W_7wP0yO2CBVBTfPn$D-w341aeDoy{nAV`SRrY#tD;|k zHz5!alFrk2Hzi0jZDF0BaM($F`unB?eytTq@}RX%FiV@!EWH3TR3c1(_XCn9_v!a- zlcky7K;@&1O$2x?f)JK^PJe$jQJRT^ZMs4wli2jKE&&1Fh9Cw85oqvvPxlT|kY>tY zo8EB5L~MFpkb;2LlwgFXK<6mI90i)s10^L`3f;msJt0_6Y&zSS1_3RP5C-rXx?~+hNRt}tgn{U1}Qw#g_hB*Ra)A{)43uwuNAu=SWIRG;h z)Pn=L1iCDdVGjFrf%Zyq&=?&kl#DqYnvLTxj zzybD!5coKDBy(ao!0r-CM>8jbV|qfAf|yV(ns^07To63-2P&taxMTYNpH||slUX5) z89*&dkW54v1H&E`NLEdo9?iO2+7xs~GB0Qm1V|n<{tBf*=evU<7^YPunt{PZ0HQTx zdiImK(oC(A(;L>W5ED8Hbre)5gQfIz0qsR%)3+7w5a5l-W?(qM4$+rA-Fp5ZX(kbc z=?O-PVpdnsT&GaX!0-l|6F{edfvg8rg`mz9DDYtBpHY}5s46!7*uq``OP*2&22fcI zO6Z^kE-*a|pr#2-0|NuY5=91v<)CsND#ke7K0-k}$fulv0W_-u(hgc20@DsYlpZvC z4pr{0#lQeMS`^9!-6{^o;!ta#jV6WgWE(O>1m;W7Fc`=wu)tr?z`*bUbae#-14G&L`2xz)rp)>b44_^LL?Z*(H6XSX z8)}qKXoRQ(`LJSoe-e*0le^jU4U_A|ru&_D738pCU@%~3V5pgX{j7ubNm|8! z5vLq&U+~we*MQyJ#N5cp%wqZn^|=z;ee|p)h2cU4ZW-d+n;os$lwd;JCnQ@>EQ9f; zA9%|pzTN(o^&@whs^6*+Vskl6lUi`_>#xX^-R1&Qq+F5CSS zfeCH@@WPJ6Si-;%$t4O%P7#o?&k&yeL)u;tu496}{U1{a6Eo~OrU#_yNo?PfYJXB2 zrepd9UTN{|iznKP#lwWQANXLuG#192{^5n4#P$|HhY~XhGZXCQZWm~E$mWtXvA_{% z(--`;lH9(w-@)EM!oUK%8KC%(*e-LxVT+N3u`yOPmeU1V9n!b^e|8Y#f;!I<-(9KttKWb|4+cnC5_%$>{JhFmN1aIsjtpgEXFCS^;8PfY>LQKqm?d zFXUkmVBk0fR>Z&o8iV0DJ^k}m$CmmU#*d)$R&q+R8Mx~hL1UK;g0I;a7`W>hK?9Zo zf}m4Lxf>V{gVt#af(~NmZe#@cT1t?Oi-Cc=3CxjZ;Nak8VBl_M1Pw6qOK^8E>aj8~ z2yW+OVBqdz1YL#3Ab1m`q8n@n3&f-z#(I!ZA`Bd$Aq4JT#=k5K4E!?OlNdp(OawBE zvKhFifHg1({^Mp~;GW7j0pwaiPgVv7?rDq(ETENr9LE_M7`Uf1TCp-P@P}}pXWR<1 z`VbET1NTKn&_WyrK~UInUjloTNzer3j>}*ND!2-Qf{*(O*g^{i4kZ=_2JWkjpj*-T zW4LcIJ_Q*C+BwaA2W%UIAZYA?`!3iH4hD`#AXnYnzH7VV6gl1icH4bi3=AO5k-R9Araz1@6k#?qFahm+5@s(;Mqe#2786Z&WiEX0o&ZYh^aIGzV>d5@EJ9Gl$B6ug?>nZf4{xF}=#j zS)9>w`wAmxac(AKi|Ge#omKdZEI}Lj(lXN-a`Kb2r_0(oOV=aqtuVDTL)v#?YKgp6 z!_?9OMWqGOehpJgOH=snMHMpxLjz=<5h@R9zlNECv2h5pQe!0R%?wPCEHpDPF+)~~ zeC3^)0rIvFGXqnL?GNpo|5TyI%@D5MO3{&_!oMMyE!m zy-bD-30va^&OjXmaES30?x9H1|P)p^1a3$x-Tn0>hyN zY>N(xfKOtZ&e-B5P zNsc@`J105v@mNlBgV zkl6JMAPxv)QwS3S(I7QujZBS@c;^5`aiV(@B$jPIG;whB?BJ1xotwwT&w!L9A|T-o zi8$L2(5O?`q_F598zMc3PuJbUBvzlu(8$2h#K99L!2)KuglRw+T45FtMogFogi#b0 z0b%rnWq{7~+r-7N$rF?;xjUp+NzY{CW8leH$iT3AVjDM%#l{I^wXwliY%DNV8zTch zR7;q|ZyxSN2f4P3UUimaW_w}2gQ-n@y2%Y^D@K{=`8S;PQUn;+f^2`l!N9}J#*4%` z#>vQlkaA-~l44^<;vD-A$`TG+6b>wGfTkR7m_8#Gwlm4u3%4)4;q1t$z@;WEqoy3v zwuFI!A?+~JF(-z!%S>*j3~HO1+U7H`sZVFTC<3@ zEZ$BkNsdp+jW143j-Os@@4`9#zK09zbo0B;=F|OTRk^0$xa-U}JxkvJ%IdnoBr$!} zJQa!QcKd@Rrt?XG4puxFEiwJns|KhNuP!eLi%ErXxT&QSzw z;+p>8o-^O{bvX)L(*y1~&zmmQzniOm0i%`?q@@lzVsWts0|QTn5Cemy2;}@4P*Wa+ znQCPj7?=e?{R?JBwk4p`1unBNFfa>&meVsca>Q~nFfcQ*&QxMxU^)Og*j_9ev|*Hq zU0a=j0eTE0QyXZ)Pzto4k(q^kmpB6hGe^?glVlR0|SdLX!erHSCN5%NfESNl}U=9fq_X0bTKzmg(w39lQQUH zM5fg|3=B+~po0#X8JRk`7#NsY*g^9vte{l_Oh$~L*kPOg?Y^@Zle6MfX~{(*3=B*^7(ueE6V(|Q znEpZ7$EPoR;4JL@n~Q;g6LbLy7Yj2B>r_^-?ehf~7&ur!qTFn(*6%=NUY;NW1FH>) z$-uw{^2|S&Rjdq5;*tyuthUqtKX8_=_n5@Qz`&;l+Ka-sQ<{N+k?)uS0|OJ^UttCY zX13=AxM%RuV+0+ksU*!T{sGcd68y_92M;NaUR&%nUR=dQ-Uz{RHpYEbc2sxmO} z@cm|GVBqBw=U`yqCqHChsM1fmEd%k)_fo!#sC zL6eEHbD0^i9y<5Z@~`kh3iX zK+awPI(eUOKOe~1_HqmitbCw3F*d$Z8IZHxgh9?OX9799OAF-eN-+ioZoUY4L6Eym z6hQ9w5CXaTDi6rrpqr-z_ymNf*FSO=uV(;_BJ+WABqQHnkZbrdL8+H7R0w1p8|b7& zK1T&mDAg;1tP7L{S(ginGQKbYkaZ7*LDt29as%IML6B{!JRsYWq(HXus4y@H@abqV zFbMM9mSA8I;!{##U=Zd59d;$cz$DSC#=yXC-VZu*)CgpO4JQ)=0~43fblu0!l3Ji! z5!f9;LV^P9;SHb(^I3ch4D1o01T3^dnSp^l5|n_2TBjF0c9wV9D$c;b9v#L43RR{u zK?Vl)7?37N0JF!RW?^99%g_P^?L2W%&`N^mewj)^UH@dzLI9?p>eDYjc2<;{s|k|N z0A)`Grn5>64D5xVIen(HTGRQSIE&Rk04-bK`v#7tPEL?oQF&16>f!-~TQlescRtXf zLN>lPAkBP7#X#YU;w`R>UwFi7w{P+?$@mIV36XI zQ)OU~<^x^eCc}40nSnu;Z>9A z`BE7e7*zNI*clj9`L^*hFsSjJ5M^Lc=L=S3V9?-G0?pd;Jzz3pV9??dlV)Jh<^!$u z)!|c?WMI(c>k1)oiCh#jY6Wyh4r|Hcv(d1{R1(wP4L646LAqRUCC}po8&6M5h0E>a1i4HoXO` zKnS9`70eN4V13QQz`)VQ20GV_@Kz$p)J1l@JAKoW*9v&cGl6 z>NRo91{=@7+9N+*;JLGGy&`DRldnt!lt=}@8B$LToUl|t39C&Bl>c?LLDShxaU$o!Aov1_sVIBe;Ot=v1(o(< zpas^Py-c7IpHphDA_D_w9~0;#IVMI1)(dJ344nN;pybWEM1p~V^E||E1I~*~4x9`O zqM1buoR^qDkp*IBGjLu8bLs^|Q!=s{IInF@x^LfoKqiY5=Dp31(2jViU6i)t-`I4!c+?9|HrY6f-DAaEO78 zl>r;e$-o*V&cMJa$9x=QEIX$nvlBNgQtOqV=GuW0kTTdPHU`#kkULbE<+vFbM3^|$ znTtRgKMx7&udz>p-IFhAm{hebpaR0lXTnvtz;fmkiI z1k?yqbzJw=pjQ8OFrO*~zTH3p1-5*{mL9vw9(BF|bO2LZOfOT|EzIYK?Ou zvolCHXt^BcBxYy%mD&!W`tcdEnF` z(ay%ez&RfrD-sWR7#KJgFoPC>OMq5#b1npXQz9Ic#ukAcEdjdWmUA&U@Ffm|O5i2n z^es^ivUn*or~s2F0OgHk%%H+aLK74x%b7u?qC`PGsPtaJ3@#U0SwYTT$?OlRPFX;n zm6c%Rl8)qKV2~?LO=jSd1&J{*P2*=^;F5FUV_@KJ;Zpd>$H2g&E6%{cr37lwGw^__ zB`#%9t;ECwT3^kj0uqhrJ zunAoHn*0n5JhK!T7`O~UEq4YUP`2YT0u^Cw0!cZk3|z(^`9wggNSIDYGca(O`~hh+ z;4({?{_?G}UcCuF0|U1cm+fMZIV~W2>_PT02&5Jl*TN5czGw!tjsJ3mE0Cn^r z?M5Dpe;}pCU&KMGR)ab)d==oX1TT2vhUqcrkRe-;dE7iaZe{`u3_PHV%6Q!WO+We0 zS+3qroPmMIi&Fq*H_w770R{%XH=yNqeBiyf3{3k$9$)Mzz`($tq{P4=z;k$-00V=kh1Gfma{~HZe0W@LUCL4&~qhwW4{hfeh#20bNkda~-UlfrABf zfe8O8UIqppp1ZPwFgM*pGU7hi2nPO*APab&`oR@F11qZM0bBGOtcvHM5(5Lzi%w9G zG05)%rEEr?cMWhY@4;FiIzB*jJO$bP5u}6%((ju9YS@Fim_Hc!U&=Euu=9N13OC>f z!~jrpgy$zHA+Xgm@XwP6IsgA1K?Vj z5nx~tQU;}k8=y!MQsZV|;Cb)^Bx(Wb1-t}>t`Ml$;`sy$Lm^OU#`6p0TX1>A!^8;k zCb$gZ;bH`N23$7r2!b8Vz!TLRql=WS#Jg%qUA!P^ApNHeh7sWUL}HZ#r<26Z`jI~Y|&K>Yv_1_s_Pa7thR zcR6^wL6$(f9K1bX%_0n}|Ku4MczYQ?3p3O+h{*6xVoVePw|cV~c&C6hFo=QLeY{f{ z*+4-iCI|B0G;lH!VPFLAeu!}GRqiv=Yu^V0PZUB zE&y8%>CEsh1apKLSm(>uGcfQjV$1~@CBeI#@hjXHDn&PSSL#|Fz~Kr+zv8{hj$aBswlLA=iLH!H-i``oA7Q08_U7Knh5IEZey%x1Vud? z?`}p9xQ4wD4GgSK(hLl|`xp&DeOMXZ!;G^;85qDFDc+;tcm#K(c#na@9^8@QJq`{@ za7T*w1UO*89Vy**Q9Ks6%o zC9wHSVxVe}_cGW51u;<7$9n~Ag9QWYYAFT=-m8quKt{#z-eLru5X>{E22ihn_c`M-(B*~T&Ij)cu%9^? zSl@CnFz~))R1jle5Ha9=$Ji?dPB09-@4*oO=_c`h0COO{B;Jo;jsgQKXiF6DC&pNi zUKQRSjNIZNn?V-;VyuT0b)c>a?{7wMktho4s__0{1YHHeE(UhfUvQL*i-9^Sy#K(; zB*Z}d6yE<}8A(WTWncm&R~a!-Cxw@h2{fXjz`!~WG&;t_G*gU$LEM0soheqFfdO1j z@p3Y$g2Er%_~GSZ0;K?OXTs&cGlH zDZm7o7K$@4@PY1kW#D@U+8)JsmJw8CJBooyFi?|;g--@_JqBMRH@JO!0^}^odZtW- zA@WQ&L59?Vd)c5hv5b5TtRO>TKnv>mJUBu1J}cg)+ z6AP~$Qw&_n9wyZ<$iR@n>%#OCBn6tv;dKQE0Hg-vbz=fWD+?qd+`$pSBL-@N@p^!x zNI-0bA_D`jC)3S(aRvqvF(*w123{{FPz^63_Lql&f!7;sw2at%2?hpUAFxb}SfLUF z1FtWblOP7__VM~Lfy%}dG0^Sty#8QLDx@9;MG<(Y*Oo!yffmS*AxtWgF#m_bJW_AV z43djtvWLq>!{k_%KvD@zQE;h5nAB7?kW?B|DO@TYCbbxBSsv2_xKut&s*MSxtAuGa zT&lDlCihGhexb}kAZ==70lriOIK!K;B5nQ1jM94;m_L+<_R$<2y-$paPamrg~M&?gV-d- zDaXLT+s_25?N}HTPRN5CJB6tTu5Kzs9fQIXP+O6A7Sk-a)NF_pq->f4aV&#^qA19S zh4oBZ;R+W)6f!8xlVf1u;a$%33NEz*A|(boyM}iqIG$O=q=Xn4cvpc{aWHVOfC@l` z2sV(`^-QYLu&~+y)e25y8<{|jI~K7$pt0c1OxIZIL2K?6M3q7Q-ofMx*R>O>OBhsr z?*iv976$PQUOgsv83qOkOHk%DVd4gD!#N95Vg=4z5^q2Sg9A7-Nff9uFz^O|bB}}v z2Ll6d7!xQ_N}K@M9Rp5`67Ha5DtVK@sZSya6lWRW(OT9e=e z)x>4s#3iv3WKaz_HA#TVG2Tva>XF#X$-uxn0i0YUIzd&~G;oAU7=SX?TyUgGfcE?F zE@qllFU7zhVaLwEz`Gh86B5E23=F(mm_C5Smw?KU-QcifU_A|L*6aZX5v0uH`@vW& z!@$5N30f@8CkWa!%Lm$#!vvjD;FsJ6l70(1fs{{F3e-PIkp`7!%RvLze9VFj3@m&} z`@oY1?VvR|e7(HjR-FW>zEa#T!N9gtF-9|$FlaHxFmp*TGH8Of z0kIe|Fr0!YVDy>3@nXFw7wFVjkQqN^r?30%tjPvqYsgK%``cNw9%P;tV+^AY0|Ogq z@(5%#xQLQq;IxoqV9@yqa(f+UgbsW@EaRN_atsW*aiDShIz|wiF-R{%kb!}*krC94 zXP$VaR=Fs(gn_Y%5j3l$pIe;Hz}U?AjERAPdE%K`P0;>3kfnR&K%S6^0%-twqX^^; zMl%LY(CJ|Uh71f(<)%yicb2U;$Y5Y#kOuA2;9vobQ|N34*}Wd@BG7rdjB}>TGcf2{ zfx4vY89{8Ai#DOTXfu+Fwjf+&%fP?@a#5;0$VKQ5;$hGPtw;vBs8=59B2a)rT?87~ z(AllYz`%F}>>|*iw2X7?6&M(FPk=)12qTCMbJ1}$7o9+I(Mg1hKr^8r7x5}!a}hU# zCTPth$VH~pCH_0h)f<4q4C)}zSePMr$?apX;h<4y(Eb$0IolK%7>vNDqdaB=4R(U| z`s#x3hIqmV8gpa})&%V(QZZy;mK84VaTLFdr~7&6o|xS+{s zgSHYzLmfCVih;p6UX+1>5p*jD18A!P zMk5Ara1&+F=*?6b{T?{L0rXP3|iC22)?2U6rPN8 zekd|9Xo42`f;7H>YBXlh2JP~L=`&{ z*t8g9m^gkiXg&p9FJ{QV5ULE#jDHZt18C?{X9H-r736$l(AGP~IiUGdqX(cuV+tdP z4LUOp5=e8=0%;!D6Ocff4-X_wP!o2NAp^q&h?|%|MHM(PM1nTPgIxOoB7@-@&|(5m zK9x{`Iu^7t2%1qr1L?*YAZKj{g+A!+Nya&Ks<3Rc7Zkxv6QgWFQ3OiP;Iy>AK?NE^ zEKJZC(r02|um(wjV<-x|K|vD~_VWxG7(f%4psE6rWlRhhG}kgPFsuYE8dCvB025e- zl^K-!LG^&47Go@<4XBDtprtvaH;`VUI8R;z`$Vqi-m!K5wtp-0i3z!bg3~g z*nxA#2T;ZU9kFK*&dpyymCiXP1_t#+CWd+j#;>6EJJZAvb#X=p2F7p5feKo?4l2kP zzcZ;p0~NHL2V53`THw|oNpPT+f=VR@Z~+D?i$F8kj6bYlnx-&AW8xGu1A`e%0Z3y# zsBZ+i_Y!nE<`z(*RYM9rrimd8nxI21_Zu=WA^p*jPDMF?obHlq`CfJBhRHc+jW0dAHAJAzHm0@dP76C<=i z(Jo*(-I&QmvHmcq71aVt!l2_V80WlHXJF6-opo^4kbxmX9qeJyQ4=6WG$SNloftG_ z85kJu88R?*LR2tXXfZ~!GK1<+PZAO)+S3Jk#tKw%G60IHVn8P+o}oQA3} z0;>R(&=3{cpcOeFBeWQ!7)`*Epgn02Nd^^AX~77($&~?g6+7dc%^D007OXN142&~D zOvWJ9)FKAPnV=S)I|~DY9r*a8Svxft7(l1`fh&jK1`MhUUK${;L7QVJUI6W{0u>Lr z8q>>}U1Zrn?8zF_XED1dF#R@|zK7XGt=Wx<2_Jl zFn}r!#yKw8Ad$ad5kXJ|I!9NNfk78Em&5oMQhf*MYJn=@zl@hbNj+E_wBf}STxmzM z7BO)AmttUWJqoH~n3zDB1QcUB4EmtD>T@nIaP?)iO_fQ)ijP%)r2?!~`1Ana#?;;0|u5 zDucc8jg^7H2Gl+P^$bAEf-FG|6h;#!(2c)bYzz$ApbGsZq)AcF$_(0U$iU#?!N9=q zN{fNPG8>egteHU3sKmy=U^5AH;wS?H!*wkN2KP(`MjLRiz!YTAGSC74;CP8*Ee6F4 zwB29;D%$pIFfbT^#)?4=6b2j6Ix^6#ZICtt1El6pX8Oli4{A$4tJCBHtphY*U{Kcv zr$FY3&+0&xCAdcbYD$B)+Lx3Rz!y$+S$TWy=H9;4F zf*N&qFl2HV85lrqw~q)J2JIH86TmL6|AFF925=1xDsJ?2paJm(qyUt_VwgBG7z{u@ zy9x@~bWqkYVqh@H1#Yh&><(zo zFIAa=p$|#$B?AM)S2+fTMMz?xJ0RxDGcasJh#AaaWMB|CVqnk|WP)@$?n5L&$rUB) z8ZVe-F0J_2|7Vi@Zk7&Jjg*n(OM!n$BDgPj`))np72!!UFfRNfaN4>66Ylz~BW z8B``6LuM0HrX3=~F_EE^ps(6s0=@3a|eG8%b+F?>(>cMdV&t@l}3YNnapvpgj${)ue z{|74n9EZFZ3nZjC^uZoxo;clw%SC|87AmZ*KfRXIMUo422rbA9-ulxQaJqI@jHj%hL^VMR|3Lf`5Nnu9LBk86dNT&x z4+I?z1Ty}m{&ZU|7jZ7o5kDY4r@{0%E*CLR(8)d^?HUGPSAr8)G^kpS0jDs~A+#Xn z9uR4aw8_iLzyNA0=NnAl%jF_lFUrcm0BYqmL)3%r)icmxg^mPxUIi`mI>WTUfPsPS zKNxU=ib_vwAqEDfvrIcc;-CtSfdMS8{svT;>3~XSNK-_;NREMlQ4ci34iyLo4Z`Sy zrpmzr^$cDa{0s~rETHKPYW0G!&rAgd1`rlxVf1olV_*PbHXrYaA`A>5?By!YzyQLG zmR_o23=AO5Xyv7(!N35*jJ96K1sE7WSjf|>T$zCZgoS*)*0V4$fUuCY7wCwOC=P~t z25xn)%{&YYAS|rwwO59L0fa>~ymG`D7(iIW+-Ir=0|N+iMzVR$k!D~3VIglXR~`li z5Ee4`ddbMZ0K!79URxy@7(iIa-Rra(0|N+)MtOgiXJ7zfFGJADJfH=q&OVV`3=RyD zpcNf+Sba9JGBAKJpB{@>89xI92#Yv-y^&#H0AV42FKJM;fHqMzd$}kvFo3X-{q%!& z?iSPS4{g<$e)qZ^`}DW3!XvkP^SX31PPdnv#W#IjR}=U239m9)rZ+Hc5fQK04yGeZ^Qd=SGOtTYOeE*ThLN?8~t9;=-XQVl8rnHee==Ytra zrYhu;r0I-Dm_?^gTEQ$ly>mwq_jKdk3x(1^T|!ULGI)^bAO@(9!N?HR&cMLXk7^M} zsW(_@CF6V$1EMq%q!ct&!N>r=stKeNA{zmgoqkeQMs|CKu**3nUO7-}iy;U^>9I~f zpzkMA4{GHwGK7HkIe_kiXJiNgZC&^c>a2lp0RVdyblwc8dBMbBFdsyNc0YhZ4@84@ zGJwQEG-yWzNE}3i_N0TvK{UuXkT{42B{fFyQCA?N*+I=$242?bcg0*Hre8UCNMyP~ zr8S2j=sYfvJZN|jM2AiH5_i$(0u2X%xGId(tHoWy3_(pz5Fdm=kpb!=fuaHAV2~IH z!vX{p8eP+0iMzNHX*wUW=@0m}@0W17#mfGViIJIslXbe{2`^a{VFpHKCQcp(MrL+S z0R~1+F$M-kMh4Jbp$rVn>zUyy6?vIBxe=^98FtRW*AFBZ~n3#7nb8<|d=p-i2czpV1c^5B6*6IJ` zUGy1wr|T)W$Vg5By8>hc6UYc=2+7XLJAFZdyXbWJ1b2>XKDg5)kv*`T5qj+-0}~4) z8#4nZCj%n`6AKfZ#mvUc2o+>zuIFT9z^a~+4I;i%!94q#nUj6`#Or(_)0q`rq#0*!msfNV zWMsO@JiT8yL{#D)Gt>o~pvF8rCjL&3S8@?!YGRpQuH>S~)Xy?~7Kon1GJUU-%ba=^ zkaf(_oE!{{%xa)eWo814M1Vy!!6IxRmoNu{MGU|q5H)^a5o06~Z?K3NScDgB4kIT& zIAplMsf86Bh>XlT>%j^yGB9znPtQ|!apjl;3Br%lcPqOjG3rd0Q*lvdWZCYd;!@7Y z-&_Ya>mLI+A@y!Qq3W`PS;8sAIo{ndAl@k?-rF@Y-p@b8(=FaLEM$AOrppT^_UzQk z_@dOp?Lj&&N{nK#jYS3V$!WPD@%YrT5{BvTWI~jtJ6z;ao31cJihKJlT^D`k=?aD} zFQ$Lf-!D4d=!c`ib`2vJ4aVvERi2!j5SxNr1E! zE7qC0C^B&u#Dm=)fGXYaCxksq!oz96wE zF?YK6buYE;?;Tv)8F@icMX7}liS1oZE(;l_2e`VhOgB*2&&nGT@9gFavvazZi%X#> z$g7EE@x}S2Mail0sTHZor6sA;1vWM*OrNk{L3p~Q5vQOKEEK@jF{GwsmQ8>7Wv|5a zPcANs>;;*5pdi}LNzo=ZRoWPVC+JX8@V9H&2w@f6>#=;`v4 zQK-Zz#4+B*H$FH394nx(lJs^l)UuN8Iesp08K?Jl6bnEuv#ejq!ZCe5=z>e|-IfNH#vIchJj~#jeqf&v$Mgw% zg*c}B*LZSF7uc=MF}=apnqzuC=pxJyJLhvu=eKR)n7(1oIt3;X#_7Mii?ty4TNdmW z;+bBsLkD`@<$`=yp6LRQGkB&OJlM`N-3KHqU+2j){rp-Mp6MS7HF>7**NNhp9wTe6 zGX2ArJt`p691p07O`mW$hG+W4Ko^hc_77MLrYkrY8%z&~;xw4P;9QKv^dpb9OH9Al zFC#MDVV91^^aXa=64U1fxlG^%jrf6vWI**n+;qmnG2+uXAE!u6k9Aj)U5nVVPdvv`d1KYr3JAoA`8z%R5D;2dqwKna;m+t;qDFV%h@JWv&bHsDh3y1C3>Y z25dpYyC61b^c=Aq6y)2@-z^5}z&=;i4=H8m|SJ z-j?i4|Os zAQW%k8Ra6t#04<}RPIfG5bGiVH9};%fN44Vbb~k-RxW5URg_u?QXw+^WQ@yWPOxEc zUE9~hx?EypHa9fh-Wcz~&Nw|_$5PJe{Je)lwGF|eqadGxX2mgYLp5dqiG$>`roZGu~IiF1OcoGod6;+(LCxW)8%FJp1ZN{|%j%s_BPNoD{=8A!-( zdOb+>Vi22wfkAKjelKHju02q$1jFvY zhNS6@Axet;p#7sD6F>=#ks)RJL1x|h=>e+)9kw@wDji^)_EA}2xDfV>c&0D5StdN4EvH40F@3tg z@onO~pz&G;1_sbXKV$mz1{rVh>D^xPJk$SQXlI`u)@3d@efAxF9$rwAgE)|ZF>CsQ z-F@PWk<$~JmBgp>?=TmhzR$9TXZpMi^8}}NZ*u3EuKwLef;SJM9<;iFF%PTS=&Tl= z>9aFIMB-#&(8Lo1BdFGaXk=hCoZet;EgV+V?gff;x z*r25!j1>?zs6YdaSAck+nFz*$=>_jq#HVZP3UE*FI^@DT{dBD*&vfm{?L5=FcUW=P zgO;m<6ocmd7(q)_K!+oPq7hp7fifZ^^x9<5=qOAL$Ua7>8qholBlMEe29RFR@GI!t zRS+9Aoe4Un9mIy34?5?T5p?u7Xv70F#Q`%EJoFGY{le2FV$(kb2#c73PE~+Og63CX z>@`THfv$jtiG!v|7{jJ#95Ynrg<1w4jR~6`aM)0+9;WO9l6Fwb2PO_Wni0mngQVsG z5*u_pBTNlw0|kuz2BZdb+!zDo&@x6S`wK!`nBfPA19cc^l>%efbcf@H;-FjqK#{-! znx=z}ynrUk8A01yK&u--;?T+o)OZpBHGx2vk%Eq!wSr73gAzPQ93&4)K_E7$lmso% z1+hW$pfeFcY*2Fmbe=ni4JrV&Kt~&cI3UfSArcT9)T#tcIfK|BMWB*e#AJNDU~9f!N&P(?1luh}T;| zE;9t3;Q%uZRHA^ifzli(V}i7SDsK=QrUsN3K;j_pg4i%CL9HVZkomA{E3F|x1e!mF zsR0dXfz*I}To2-KL&F`Ejzu^ir@4cQIFKSxID**R&^Q2F0Lp?43=E(%BSdT<7J%3= z3qV7AAaRfdAU4c=a8PqGfG=(bd051Tp&mS=3*x{m09B46pjBv~+Xz9CYzwgfG-e31 z0F(wmYCsl%*f0w~!+9b+kmF}T9s{WXc>u(QnGf~=A0!gN_XL724hBu&@u#6af8G`z67yhmm!;h9AOXI>BhhSV#BUA z1&17H?>@9z5doEsP&PLxQ9(Te5(n7@@?SxYI8d7nbZ9Zi1LEM8NOb@qZGu3B~s9I zDM&r2!~wBk;`gEIL50kH&}u4J>irCo5NBWjm5!k4Qjlg)RDjsrQQHr!^iyM;K5xE< z&GfvG2A=6%!3hS_xlY^jOxI)65}eL$-YGHtw4fq46QlTaf&5Id>GPgU=9q4Fa;8K* zIPjsj%7APXkz!x~t;PbKpD6+r2Za?#929n-Ge$t-phyI65GaZn-wv0+{U zg&as66f__<%txSFT11MWo&i)ff@(dGB2cOTv0)h!>^K)l0st8Rx`P~KF=$)?#s=jz z7#q|Jg|R`!AB+vo{4xv-puuU-5jG%kP+|xLEy)ytN`NC5)KXwzU;r0)P;pRP!Zd(F z2BscV=EB553nF0Rpf&(Z9Gq&Q=73Wz)O^sgGmsk45_X1#pvZNBq&CnX23UfDfdMpI z0AhoD4jRw^u|dAS2vrXXEzsZwOdK?~4q}5+6=;1Khz(ND2-@%O0y%>kRDZ(6K`S`w zL9PZRaZrv2u|Wkf=;Rg<8if5MIR_wL2OXj4@&+Z z3qYw8#O4N7mY@qeL5`MTU;ud#ls`dg6c`xl!5Nwx+I-y%RRr=aD8GOdfgAv0!_KDvYCxd?+64?U2b6e0Y?vC*G^hyZ;tNoaut9?elxRR~ zm?9yNIA{$!BLjmBi0uMtV}sZ*HQXRa$T2X0Mi4-b6@hkQ!HH3hfdO>TJvbf6F)(z1 zuCarv2SuMHXi2OHXoWWe0|TfC1hGMlPEacqWDqF+Kx}T1AOiyfD5^keK7KnB3XL0wQ01;`c4poLT-pwTV{1_ltD8#=!PPEVlPo`Hb@R8feyL$WmJEF=b4 zfxtffe7}h}=qw-x5s;4=7#Kh^dmuKbOaTXu2c%{LT}1&B2RRMoK@c01oxyJL03BHg zsZzP2-38EAY>*mIu?k|tu8IbiYoHaW&~Ai?2SYsrD6l~5z+s9&RlSHZq)-I;0b~%U zH3wqD)PPpl!PI~ncpx>PqyS>W)PR};Fg4(E4Kx?Yz`y`*TX;eOL=RjZK_$R7k|!j3 zL6(VlLVORZp+Ibq??G7@bW|58RKYpe6XJUi8&(2?8Z96-pz;dT-T>(Zg#?HVQv*8p z2_z264-6m3P5l}Ee zhvGnNP}&B!iHjiSfR=gJgKnS)aY4ZcVuKWc*xXP>V2eR5b_U4xB%s^qL2AGyus^49cLQ z04m;w#GZx3)?i{_fT>T0vO$B6RZzARGXp~{i0u!F)-515Xo)p{)!CXfcG1#>`bsOGg$HmE2+17btfyhdVwKw^JGVuL2cK^B107O33< zVuMP15F1ubc!KI9kZ(Zg3zUdKY|y|msEH5K0Ln@rHaB$a0n~B^iG#`u5StrRGcqtR zfT}Z)IH*DdvAIF59assh1L^gFl!DZNTH+u!H>lkJ%KzXh!5?ye6^P9ZnsR4gVCVuR zOn=Dz0U$OvXb^&dfdO>a49KCN<&vO=DacTe<3Vg#_5*D=0jUA0T?aJ>)DQx(xk0Td z(Cwrk@p^wq7il-B2Lmd186f*jK!$>v2B5ts;BB;^`_w@i{2_OmfrfRtL4*3BtJR_6 zprRR66N64<0|h&1SvtrZP=gA@<_0A!1_lNeP_FTZ^eyW_99SX42bBP|JwR-3=*S9a zi8{zPpw*euP&J^y0I^|BZ#}3usHY5K!_2gRii1KM#De-IH)+NVg#{a-7(M^2Oyt;hQdK?Showb9SkH6sxU!pm?Jsu!^9P!;-L5jvAIF5 zWCjKXZ>Tt^rvzfd)Q5n?br=|;>X{fA!l9g3ObiU5Z4w}tf+m_`q2i!YD*?&|6;vQO zkeWOu1_sbp0}#84nSlYs2eC_-7#Iqn>Os>?AU;SOR1%g$#X%+G6eb3SdXVoyDHp_n zxo!bSkv{_iXxt0LhKa9%ii5_$Kx~-!1*kY^JPgE!iQj{YgT}@{Y?wF`sIc+}->gy3 z0OG(T_@NS@L$pC`n79#C95lHBV#CDkq2i!3=RjUHxL^po)1+I%2gmX zcNi$cgIdc_i8D|(Ov53lIH<+~v0>t%%NRixfQIcrY?$~rsCv*49*7MS7XX!v{tOJD z;XDum+HnS;*i1~p+A7#Q53;-GOp5F4f;3@Q#9^8>MA;-KxYAP0fQ|3GYR z=(t}VR6QvFgV-?fDyVopXkZY;fk}WaT?82fs(wLim<6Cq6hY#k9x;dw69?U)2oeX~ zfdFE|%((}(093w!*f8~=+7^@;L34oYtPI}ZsuMKg$j-_DZ<~T{_y8FS>MDTP+@R_U zbWIT}q>cwo8mfWV{tOHPj0_AQHh0wY1LYCo(`SRmxbvmFou~g|Qjib=)o+ZT3Jf#@ z0UGzznf^g~xi~LW2vn0W>P&B_auuImeJ4O-I`=kD3790P<;SQq{lHQ!aa*W*P#Fs| z4pgqf*r4tLj14M2VQf$_$*41(=Wc+~^hJk~5~o+UyQoZ8Kb#~nU3)vH%JgIq>-Q2d zmFe@rtY{~d>9;{F?^Y$1>EcI{B&N?!+^I4>7{uyM=T({B4`Q8`^H!OD8pPt>sjf1e z{b-WJbm=ov^3&~(Cdp2(PH|S5UJnw}PS91Ez8l2q<}gv2{vE{9o))1p-S}9N#PoC! zD<8zFzRs#LeKm-+9mIMLVs&?xt4vouo+L3n`18LA zJU~~;F))HUT?~+06Jcy{&_cyQT{M_DsIG*uK|Ko?8#L4gV}m*}FgBTs!s8WWpK}}N_8??Y4#s(DtFgB=%3uA-wA&d=brNY=B zK=#8ppx!Ht4XOiSY%kEjIW#1~kk~~?>^>wms96isy9`Nu7ZUpfj14Nm&ciqi3=EHu z*#D8(pmq5$Lv=uF6QB+b;P}1DF^X0%3-RAxXp_v6GP4psEX| z9#mby*q|y3#;%%v{&bSKA?W-Em{1Rr5tEVF^N`rjr@vpXD_+k6+DZd;Di;zPe5*24 zTp3AR6NwFKy~C_DMH070VuSC%f|>(r;ltGXLezkUX&4xSAskR6j3E+<4Ql$sG^8Sl zXHV}xlO$eWjwA%SXBegwd<7QNPS6z@F!4o5>Oogzz{J-fiG!}ofQj!y5(izc0TVw4 z5r?!{&OkU|w_ieH-_$*e24(^H9xJE?psR;r;^2F%pyE@J^e#eT??htnM`9mE zVxIwxAHod1jwAu|km@S6ai^T1aXPkl1E0Hpu@r zFb-%83yJN4#P&mChaj<|kk|=G>@*~H4iX!*eGTTg3RVV&dKjk;Nl^XBeAzkKYcz)x&ASd(0e5IZzMK52Lrr40-8dF z*=dXB3956ai|(cBz71QI~j>xh{SF~Voye5FMzQ@{$B^u?>;f4oK`UE~L^Y8A+l5iCv4t?m=QNL}IT) zV(&p>UqoWxLt?*1u%~BUO5&|&1?|~_`c4>$t%1ZgMPfT6u_KV!sYvW%BsS}yEuCrIp1NNmugKg=>d9z^uWBC(B;*bbnBg<%?e zktCv#*y%{@8YFfn5_>uldo2=s7ZUq868j2_4I03E4C62`F#JSfvw=3P!=eU>t%$@n zo8B+IRJ=Y4Nhl48U4+E0Lt=L!v8N%i7a_6NA+bRxqQb)I7?SuU2pbZM_aGc_EWScw ze?ww3fevGW`iT#TErrBZLt+~vv7?aKxk&6vKBS_g6-iKZdnFQkD-!!468kI? z`z8|mDH8h=j1BTXE9mGysLuqE*jh;JL?m_z61y9TJspX?1c|*HiG2`>eVm_xAr=-l zXOSc>Be9<$vELxEKOwPyAhG`=v4y6~UrQ3N_Y*+mrw}A|G!i=viCu@p23^1abK+bi z@s&vIZAk2MNbFk>Hl#1|48j2?v7bn6LD1P)(7=~NVw+8`?~@hh^+yuQnEqZyK)ik; zk`U-PHJJ0ZA&H+yV&6q#e@9}o3L%0;6Nznt#I{FbdqLO`?|`l|fmxgYkpO!w8;M

    #OU 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 z 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%0AD)!0-mj22EFggR()B%AnN+AP2o- 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%0AiwJ{B5DHAVK1)2picA$xDlY`!;Etd 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%0AD)z_19)1~t`IK-rH$L;6rQ=uo#U zP&TMxy9>&$|G~h(Z~)2yoz-^?$_CvMat6xgU}Rvp1Z9JoYM?9fKt7XWWMBZ_QEJA( z0BW9rb`yfcL375hq3S^=j(>u(T^Sh|en8p&j0_C_1VL4_83RKI=-O%_1_qF3Q1gr% z$}VJNU=W0|L36|6P<9U^1A`ot-OtFtpaNyjW@KQ{g0dGgGBALS1P7V9j*)@E3@Q#f zM$iVz-oaSUz~BVsfQ}XPfU=J;GBEf-*`V9EL!fNX8H1p$iy%WmXRIbb#a}TpFr-7- z-xwJfKsS7V)PN?Li=pCtObiU5EsY>?K_&)<29P*t=2M!9fdRC?5hMXRj<5$LVaC8< z#Kgb=y6F-mZoH*?;!R8p4A-FIbC?(yKzk-Z;tQD=7#=~z zmohOhfG*zziGz+edAz~B#M8!C%QpzMjv3=C7C?77Sg z46~qY&>2VzpzKY|3=GSlY|t4;D5$S6Gca6$DgvE{bPdV|9VL1P%6`kt!0-sle$ULn@B+#P9WVM0$_Cvf z`UT1sWMN?V1!aS-Lt+3Ob!W!Fpvl5e&%g%d7_l%g@Icufpp!|VY+n`z21zIzG<_}) zWk<6xFsMPI#6~B3j+gavnzwLNQbgP6=p7!4XU(?p=?mAw-U+*o%{$s(9eQ_0aR(VLd8M# zMK_cUs=g<}6oD#_=}-yKf%kKvY|u38VkmnO0|UcKC>vB?tcS8eqavUq1cfXZ7(n&K zZm9TX1_p+MP&VkOOVDkxAT^-#Ezd&5>raCQ51<^-8I;$d>}#McI3PBtXTiY0@D9ob z1s!P1jS#2{#K6G73c8ir3es+n0I{J1(sEEXNWBV_4XXRKplnc^QBRbCjRADtXTWxS zH4}Zt?M2n$KX{pVj!w_%4EJM_I68d~h*mi|ou@0@kICTZ^cWCrb9DL|5M6O}`X3Pe z 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%0Amz00|WPLF$M-UL9pK#xIYRoFt7=MIgH$( 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

    nSTSPb?asLG3BG-EJM0q0-_ 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�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∾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

    =)Ps8X;vf!G zLI%VJNicwxCLs=TwFQYoEek|qry;T1kl4$R*r1(xumfQaBZ;4p2A#$NHS{Wy#8VI( z>WB{@HYjH@Fff4bfEI?b|AWM#YPdjS5>OBDgV<1Ubr2gWt^;C2#jQYWh&lBP;UErF zA{N93jcPD3FeJ(#4r$E+i9^*?BC*?$*poqQsNR(zHdOr<5F0dT#=yX^17s$YeHbJj z01AK5X)GWP)TLKIY^dh@AU3!I$iVOzq#4S72NH*>`3Yh}^@1*bhs8bUmM2&aasbWl zK-IW{*idt_>OmZ+L4_bTsCmY~z)&g+K5i0R=rw@Ep=$b&*mIHCpiNwi(6ba*fb>Gy zn~~HUL}H%-v3(dI`R^i#1GV5Khz)h=47sNSO>HdOo!hz(j< z$H2gF0c0kWeH$bWRr3!B8xfjCe_jUYBuybZ*LicbWwq2lwA*h@fcsAYSQ*k?d& zsNTyUHfWxgfq~&V$Z=41{UeYBRM7_{_HPgyY8j}uhNWciwUJQulAtLOs2VvC8!8Uk z2@MNHbC5VxjSYwmwKy5VhUC9W5C^Kc0mO!$vDl)(z#t4|_k+ZtYUU!bSAf`13)X_z zP&GS1Y^eBN5F09f0>p-jUsC{;|4`0tkOb7ScSvkT(AXJNToA;D8YBT?gGOFK=glZG zFbG50>L78b8dD@TsC^3y6<3%z$o~N#4%88$AU0HU0*DP2&qHDtgV<2Z+K|}OKy0Yq zxga)Z)QN$CVIjzIQ1%*-I8@CpMNs(<*idm+(9|!K%>`mZ)rf-F5b=5jDG&!Lp$cL{Bp9?nY^b;chz%8Y1+k&x0U$P1 zJQT!+iYI{BQ1Mg{8!BD^VnfACL2Oab2nGWK!yGUNRP-<~>_uW<2C<=JAJeqzLA@VXc0CPJ1U2*~68j#A4O*bZz`y{WCx)u| z0TLI71cV@HBn`?oKw`Ur*ic9Kg4m#C91IK$fhr6P!V(PNsYZsF>F0k;6R&Rt$wSpn z0I{L=Oa-x_;tN1*sQ5Z0HfUQY%pd!Z#1DhmP`&3sY^dJLAU0I|9*7M(t`+2!#~=>W zv)@5%sD{5FHq`NKstgQ_P&ViQ6c`&czzk!1fz&`P2n4Y~_hy0?n5i-_2t(NkAaSUg zJXKKf0_9YKB%l`8f!I*-sUS8~d=`ieHE1&u`yvwi0}`7DG`RvbM;OEgEwN-^U=UYh zU=RkerziiKCS7j_l7cGp1hJvk`GMF_@kkIGDxQwSE=OY5fY=~o85kHEpjLnu*i8nB zL-o!Cv7u@lqk?p&V_H1XPg=hz-^31!6L(Oaeu|ax4{+|NlFfcGI1+k$THh|cmYX}(_7`A{c zgR=L7#Gz_Vf!I((Zy~YogV<0tuRv_5n)e_!RQ#7ZsEmh7{0B)uEfCgVU|@u@O_123 zNbF1`b|(^hE)sh$68j<&8+@ZU#Qb`OpGXqCnh1*(k=Uk4>`)|jJcteTO%{j^noDP3 zV93*CU=W6~K?CiusA&PIfqJ+T#D=x;r-M15@_>P15r_>{v;xG2TCf?!28~THFfeQf zSpa391&Kq|UjnhA>R*A_Q1K5SHdOpKhz%OcVqjqSUk@?}$`RE{p7RJ;SkhKf%Hv7zEKKy0YRJCN9i zKh&9L9T7Kpj^f0OCM3faYyrahw1WhiWbav7u^eKy1)#IjEcm846{0gT$d~rh(W{ z3zj0WSAp12H9H|}Q2EEea0J8w&66-NFq{Ax3T0mgi93vO!ZPu>8%S zix`;V2C=n4{srBf2^z14u%$raP%|}jkt$(hkOb6FMc2x3FkgoD^n@gxu% zG#<&oz>ucPzyMl73bL*cBo0*rzW5TVw-F`|@;_+K2IhlVAPK0V`5-n_^C}P=68)~R2hz(kc3cBY)kAXoL z%60*XL)G|$*ig$tL2Rga42TWd#>K$EkO0yPWoLuLA!_Ow%0L{b=4ucdBEirGVnfBd zL2Rh_G!Ppq4!&y>D!vR!d@B-r7l;kD7<|_zl>G)Q4hnw;1_ma5M8e?&vGqZ*$H2g= z&%huIWlMm>p_Zv3u?<0NsDsQvY^Zt%5F4uA8^i{UOEWMq_=C)ZvZLxj5>Q2{AU4#X zED#$iUV+4J2C<=PIzViwn#mwGRD1@A4HaJuVnfAOfY?xR@SUBoF`gYr5{E%-sD=|D zHq@mrkk}lcdpDutN=R&D5F2WN9f%EDFb%p_$AE!B7|Qkqi9^*y7=X%usAaK865vZd zq2jqn;uRn^RJ<0%h8olXVnfAyL2RgHOOe<+k=Qrk?0N=Dl zAU4#XTqJfk5_=_x4Ryo@5F51m0Mt$dSpa442Z=+~TnDkC=HCIaq2l$=K^&;WHzf9N z5F2U`AL#B;C|e1MZHC15L}JGxvCELy?I1SP;yw@?w2BOr(Iy!&FbIRDXFwa)KoU?z zD?n_h|-D{RLyA+8*0uKB=!p=_Fp8npfRZYhiXs--9`#!TOzT2k=Thy z>{29lClY%u5_>s_4R!Q75F4}xfdO)BD(D(h@EGe}kOWlGX%HK#=)5rl14t3bO%IX8 z*+BQALe;1tu?<0Ns5#~!HfZ-X0|SG#2?K*LlDwg#=sy9Wp{wYp=u_B*wBEQ0b)bN7lYVP@f9F8RD81;D3d@Xb|6U{ z2C<>yCqQhdhRYx}RQv{r4HbV3VnfAWfY?y+FGy?#(A~IDaXuIu08P>mUiJqDLS$)HlyTY^eAr z5F0Aa2)fS~%4P$xp=ty{Y^b;xhz%821hJvwY9Ka5yq>`n!C`O#v7ru1MPlb6v73(Ib#DlVrL<-8$fKR zLG2(m=#UHs28M1+1_og$dm2a_s%8lidp(E^wRj7N4Z2tc|xFy7C#SMis<{TA&4DL&Z%&Y^b<1659jBhMJj=#BK$#p?Z5jY|t`D z1_p)+)(i~7Q1)z)IBWsMN(cw+x-B3!)Uur*Hq@XaAU0I|5)%75hz&LLJresrhz-@t z2DYJn<<4HY*4v7zFoAU0Io0mO!i`ysJ|L2Rg+ zI1n4ECK<$rT3iNWgG$UPFb)F)1Nic5sOF6zanP=Q&=zcvtD)=zAaSUg(;zm~f(sxv zRQxuG4HbWh#C`{2L)HAW0W~Y2ivEElpcV*%?vaMF^^w@%%derD13==S^??iw3?a4* z48l-$JV+d>CJV%dnh(Ad8!BFf5U*$GL~t0umtsRT%max-HLOKq?*OquJ5@j>Ajo1U z`#4A(s{Rs)4K?Q>68jm54OR0M%m#%&C|!W=ng*RO1G+oFj)4JmA23LmA0!UdAO&JW z4V4G6q2gK~HdI_6#DO(~`auqY zvS)$Bp=y?b*iZ{rf!I*-tspj3d>4of6+a4ML&Z;n*sv1w5{LuZ9LB)Fa1CS`l>HDS z4%Pe~iTw-2h8n~Hy2~2M<^{2#dIjwn7(iPnK~t7eAaSTUsvtI0y_P*gG6N%2g9%6i z%C>-N1}#ViU*!$e>;X~()$9vmL)Axs*ibd`Ahs(g@)#JBLFTwl-yl3)uD%N-4plQ1 z#DT_C#D?nKjl{l;#D0s!W(VD&4OK6I#8v~bp?2wl*q}RSK~6FR-O}v_Vlgn- zfFz)bypY(TAU4!-Q6M%{eH>ITXs$3BBo5V^2Vz6j7lYVP_3cRP*$$wlAyi@`NCK*P z2Z-$sanK%+1yJ^JkT_J$B@i2G!F3QDD*gz>hKfH2vHc+C`~tC|;{QQxkeQ&2#s|8J z8>&bV#D*$T1F=Dh7#J8#k=S-fY+odHB!~@lL<)!v+QY!Wz>wj{z#t4|7lXv1YU&)3 z3c6+_i9Qe;>WIl8HdMnr5F0AK7KyzH#D-e18;N}ciG2f!{Sm>gXJ7?g?+w)~kHpqM zVjCi{osrn#NbEu+b}JHl9uj*w5_>0@4GMn-28Od>4kVtQfY?wU|3PAlfNtf6imM^9 zwUF3`NNn(((;j;?u?J1CfM6k=Rj4>^LNLDiS*ri4DHJ9BO3=l6Vag zy8(&a0bxS|p$EbN2f}0|_H-mR__}kb1&ffxS0S;%SD!=GY(o;?g~UFH#6Ic_%7jo2 zXOJW=AhB;CvF{+UpCGYcAhACnvA-a({~)m$T%hfEkpDSg9MGBHNNf=#wgeIzwCfo* zqNai*4%$%%6E{E-w?JasAhDfYK$#Hgdv_!WeBC*dRu`eRA zZy>SnAh91Kv7aNcK^MitqUJM_`0sio&VM8}JLoQUXw+~cv4xS?;z(>cB(@R~TMLP; zhr~96vQt5M&I-x_v7M0EZb)qKt@Ka_1tEz?BC%tU*eOWtjP2{Cr)wumf>x~0Vq;(c z9b2}6fq`KGlzn>p=ep_kBK4qCX_SN*7=+{)7!EKpFla#8#~2wH^q_3e(S0UR_H{-E z1}i8VbbzM=lzo?xfx!*R2HoW317&|_WMBw_vO&wmBcN=4CI*H$AqF1 z&R8*h|E=l%j4P(|-=6Nzs53ntM7c~~526C5{|8Yq)BW#E_h&4bJ|9H&On(oemQ1(5 zJKdl0#Pog;^fL6ph#^B^i>y8Qj={)`3F^Fh><>H9&{k?H&o zru#E~nI8XOx<8Xd-1H3(ru#7(O#crO{V?7C;dFn-Khx(wobJ!W5kLLI!|8rZBJtB5 z9!>XSRG8lX2<+7RAj)OB{^RMOJN)WFRLS)7AgW=y{FCXRn*;Mf)Qsu-LDY%q{7S}9nHTj&9#5VA;0@Tr z`fsQEGg?fqe>?p+E`dJgYGG82T>{0uY;&N)73wK!?+wo zRZKq)qE<{7{|FA6bP)Am`gRcIFrEDq*!STeDrfp~5T!HyJBZSl?*17ZebYhIm+8+z z)Pd>dU%+wD4x)UfU;i@QpNXM(y2jV(evAjEmw%n^&!{l{IEV_FF8&Q1i0L5e%=GQw zrk68ulutMKJ{@$^WBvE({){uGpZ^YulZxpIKc@RJewm*CW4b@1$MpRmYRh!~pVR#r zKTMAYQ99GtgQywP|AVN4>Hfc_`!g<>J|9FSOn(oeCQP^gJ>8$tXL|o{Q1I7JfAAaZ zD*Zpx{TWTB*Z%>9ZS(XCf2R8}{+KTR7wq$V5H(@?eh@WdI{&}v{)}&?$Ac)1>FYsM z$MpXo>d18e{~*71PhaqVx*uc0^!NWkF*enHhCkz*@bNqAAnWS!Sp+3QzY3Q46M*gQ)K5^Fh>v z>Bm`SsIz`}$iT2=`e&9I%FIhR8K*CN!zDUhk9CFskM_q|I@dFs6Er~v(8Xw3w?Sl%-+ zFfjiD>CoOjL3W1aXSg#j2+W)>T(3~g#K0h-!@hy4mjjT(q8z^(?mkV_r3rBa0545U&6#Fk(O z-C4<@3A$xch8=VR5Qo-1urqmuSjt#I+w-zn85o$7K{~Xzsm}a*md)J6+{nm$`ut=C z2_{pE>57x}G#Poe+kc*Uh?&DlL$*mnuEAwG=l7ZNY8Hm>#!L<-3Udy7TxwF0aZ-^x z%eYj?oZox*p|v#j=@m4dglqU!9wQK?NK)5WYKzZwyLt5PlSh4^F2-VE46igM9~@ zC=iBvFGfWe^T&$`SQaG8&RK@W6hp%B;#9Z-_W03B>A4Cd#8_<^9jWn+$aWAG;bvfn+FqVC z>%Jy0=r$-uP{w0mU7o7F!iwaI8UfhE8|xo25K`o#q~i z>2-axBp4f~zb~#ApZ-d756|>neX~@izq&V*hjGR9*C1tCduQ=XpLMN~XS!PdtcvMU z`>lDVui~D|GkshCEQ#q_*Bd3KKkJ_*p$b0b2Wo>gC|N?;u1IXp>E|1i#iv_Mn8h<) zYST=K=|$(}81VKXshBjqebY?k=~f4>h`lfsv3Ess>;>)LB&$m&Y-qqQ_!+3Q1`wMfF zr$3tn3ZIK}4ETN{Dg4hi-DdJEtLc0{x+EA4r^n|gi}N~y%5pK@|rq z9ECWhZ#bSO#-<9&#=O%xrp}U^E>$VX!{|KScFwbb9>%`uhe6Vdk))ST{|pk^gCuldy7IJH%Dh*RglDtq0HBWEaIa6Z#vFWoUrf&kVzD=Jc!FwD@+3D%h zGiE8PzCaRsgT(%i#Acp;y01Z*R|`}RKwYOd{dZr3^7L&pW=Zh+B8dl1zdd7?GH*7L zQ2uo8nX{CIKzAZCLUs3orKda0oF&J*9K?ohwOc(sdnPC%k%SIUKfimX_4I2qXC?50 z3Li$OQiF8&vVZlzLC^o;6FkJ{3ti6Nz1f#4bZ(gX%_@5#31Q zlabidk=UTR5~h9)k~pZ&WCRU`fJ&|X(~W1(QkJ}gB!3Nw{cQSqzE1J!ZL?=d@Pe-P zftklR{r%cR<>}L|*Gljj@PICi02#)>U^4yl>{-gZ9!Nqy)0OAUQdUhs5=ud0=OVES zr)STZrOexkB-A;5_MBPPyep7|)=YmqXI8KfsC5l<&MmO?bdR~SEA5&NK8KlVm&gNE;0Sv+*uN;A)pEux&sh&CnV^+4v^Cmk;GG{Pqy5nJUwjQEQ#r} zHY7?+H)HOWm~QpcPh$GEd9x%KZ%pSmnJ#V%s<2_&-y>=Nhs0(A9TW<+jvI;1KV5nL zEaiG-Bq4PqwgD2`1c_~n#CAktdm*v?kl5i!>}Vu*3WPm9*LqLk^eEv@iRpd|W*IOZ zn7-e1y7=^I3ua01-UBIt?xTA&efNS{%Dmr@gnmtby{WIv7LQUZ5=mP&Vjv7<(uibR;jR#Rf75bRU5?R6GT=ZxqVTU|?W~ zVXcR_6m&W$Xxs#(0d&q&CR9;3=;|LRdp78x1SoqR0|P@flnuH8sS(QF3OYU(%HGbv zz|ae2A7x-*m<(lKXJB9eT{Hu->n3QTYd%!s4g&+jQYia50|UcqDEkxWv@OrpXVPs%<36%id zQUn^Q0*U7`GBAKfszB@lMh1r8P&NIao(^b|f|r3|9%!%!%3j3Cz`zS-gU*x^hO$A& z?#n^hdl(rQKu0u0UE;tDf-OFzyP`z48;D)$iUzXRm01~ zz~BpI8!<63L_paVObiV1P&Viau~aBKjER9E8_JGiVqho)v+Efcl9(76%E254hC(I= z2GFPr$g)}{28L#+cqQ|?a2v`7 zU3U8r%I0BaV0aE?OEWVtyoIu5nHd;9L)qHQ3=BV^?0V3!%zr2cbUiF9J0wS#fre|K zY%69420j+uc$9Lfd_+Q>rLE}+pfDBF{nfk7L}2Hi>q8jJ#kXdp8KgE>?@jG2MK znw_B@Tu?+XGcfppBtRtwXq^_64LZCp3d#l*ETEg&g+SNYfi^`!#X;p6XgCWb4qAH+ z8d?IeK^wIyplU!Hbn2jNP(jxMWt)Ol%XdLJparl~p={7{ojFi8sE}C%W&1NQFsy*G zK{tx5gR=7(7#Ki9V<3wQ85kILLB&BQ_ko5nLE@m(YmY(2L8n!o0kJg%7#JED7#KjK zXCOtOyVh=iBm@{3dKefO?m*dn(?2h?QwF6L21X7B2G9+7pw<98lnvVN$qQwJwp@YE z%>k(ac^q_2IEW1zzLSTl0WGir^_4*4pp_olP;pQpY6xYAFfcHfL)oDDP+JbrRG<*( zn6mywcH;G*GqwGp@=c)K%TPAR+0jsTALwWuC>wM>S2~nE2Xq7rlnpvwyBNv_okm&- zWrGfF1YJoAa^o2W28LFs_&LzJTMkgl5n^BfjlO`ch6O1CohdjSst7c;1iJVWBn~=~ z5Y(LmvBen~7*;~n7%?(1tcS8=7#SG0LfP4j3=F%W>?%eEhJ#RcJE)9>vO5{;85qt& zIWrg;7%oHEpfd0#l)aLXf#E)sy@`>5;VG28n~{M5G)4(>&=E!khL2G3tBec`-=XY> zj0_Baq3kD&3=GVikXV1m$iM&^+7tramimE_fq@??@s*K*K@`gV&B(wY4P~=1F)%1X z+1#MZ+MsOES!KFVHt3=^V<=mWiGjfq$~ItPV6ca>L1nBflnuJ{tsXSt0`h?a69WV2 zIzkZJnTdfR38VG31H)S=8+5qmXDAz# zcz;6KpxX;T{dJIK_Zb)%Sh*M&Ky1*^CulAS#0K4@BM22|0NoZV4&{Ju{gj2WK`jAg zC|eM8l{+4`qXH>oSG1K`jAmC_9{yfx!{V1|2Tv4rPOO#(+i$K#uss$iNWH z1!_5nFfed2F)&0z6^Vl?UMO1<_4Z5tk7Rn9;)w@tO z=&l^lpaaO_QYHol(4Yf|-NM9B&#(Zb2$X^t7#Nm8*`S2B2FeDVqO%Fg1}WPCWrGsh zJ}4WsNBsztZ3a5}6Uqiv1{a`gP>b^xlnqLAPr&SY1_n?Y_&u1zzyMkS`VGpiVqjqS z17(8}5fe89gOC^l1L&qM4k)`5bk8W14N6d;aS@Oj&`l>&P;pR+sQ_hzjyP0-vOy)L zc|C{&s{9xj7;K?z(Ajd%P&Vk`F;6HP)GzRdvO#B41Vh=No%LxTHndNa17(9k5j3PC z1iF@#fq|g{Dh>+KIw-pyWOoac0}942C>xY_CqUVt-orE~8?< zGAV;``u(MX2Gi{&MLed*7gvT%&yU_yG2MReEQ9I4%@la1vlk_-n0}var^@jt^!7uu{23dj zUk6cFrmG*G1)BRW2T=mkkAoEcIb`7;_!Pd_rtpXpD|^c_cL`7v5dXFod2pD|#1 z_|aL%8GEM7ADiXR^donA!LeC>j3(3fADiXR$TOY)_$<&ek9Y{R9z@-k{vSlmnC^dK zmOtZ$>GMHU%=GslN@lwK$yuP49Q`1wV)}g$B{5z9)U06MM(8nJpurl(srxO(Stm?p zV5peB`qV6C#<1z!EPlqO>HKGAsWa^gpI$J@Ky13-nOOpi8q?#? z%u;9NieO;KncjV7mNM^xqYMl=oRH~Rr|JDkJko4si3|)&m?6sqWTyW=GfSQE&UE#& zv$SCI>eB^gs)%pTKRc_E4>H><3hJ*Zuq%R^`RtucpxI^+lYt#HE5)u1VzaQn;s?z( z$FVUmaIk}Fe|G3>bEhB!18lbWHfUBEI@@d_%)r17oozk}nyJp(Nr@Y&|{ zJK)*o$~&_J+F|b7J|TH_u|U0o0_em~(A5J9tcvSFuF_y}OF&WtVL2P9Zn}r?J z$zxRk-7Lw$ehqX}uc|0$c>?=1kQy}*TYw$Z2V+$S%^-=etFtgLuxfzV66~NZ4XY+- zvRsCpk&S_YRSPtWDaXJo#A3z-n)lacVqjnaT`tP1y?si_?57K$&NSZMAUa1$aQa%c zImY$UpjHGU6X;4%b`G{<>5L2v9QDi$3~a|ir@k_9f-bXTI{{)daa6M~FtD8ju~|5r z*ccetPJ!5L9OqdX7}!pOwK8ylsx{CtrQD#NF#{9Ge6};7iAkPTkTN62UPcB6F3?H} z(4nQ%7f8>LuV>3)1YMNI9|$rumk}h%z|Y0Wz`&LV<}mW#2Q9eBX9O+GVBrUKf!PYc z91i|V3=9lxg&j^77Vcx?H7+gMonwx?BYm@=Va>Dxg?nf-YC- z1*w58S7DhB@)!%qSxj$0hH8TZ_ypLkS?ib?7=$wGQyAE7SRtVfs(;yS!5l{Zg`m`L z#|jD^CjNR}1_pL}R!9`w;b353cK~xZ_&0-=VK{<0JPbVDpuWEot2#3S1Jfo>1_lm~ zsmu%v!V8!g7(_rOF);lCt#(z`&6OVlr^d2C=h2X0UL8`ZXLmAT}FE_;fe987kA|wB{)3a8!Yo%oKv0#K3U? z6p%$bSr`~tI2b@qDF(Tog9FsG<|t{Lo})EKrk=fqqdXk66r~AdUj;}714lc^lu8hr zh2sav+A6RT4tbDxHON{X4$!~{M@=j%1A_p^ERX@UAaNg#B9N_hxvUHfejME(GwVSq zJ%@t{WKJW9UBCfqfpRo~%`f4Y$UQw=eujZ76KLFqqZM?;EISux+f9&}IZO-;oZaBK z;Q$>f%-IWKGjf0ivpM@fY$lH9pw@ps$Z{5ry6G1cW{6ud*|IV)a8Bv~t-|r(oBO=MH9G?X=PUuxvFx0nt1UQZgTz@lj!joooFSfmgp+}Ra~?=qfnz@p z0|V!LkhBuVeGq#ANL+<8ExCw+b0Nr)Y8;nAu3Q8XH{eW5E@t3d404$v#|>Tv2F@iQ zaU+grATyVOQk)6+Di+RV@2C6e%#mgmKFT(Iui^}Gaqtc8oaZmFF)#=}V1p(Xk@wSQ z>CBPh7G`6IiA>+GGe?m}*a$8lF#V0r9I1NYV2}tXfEk!HxfvKZ|HZL0FbL;?L_zKs z0kIg^SU|-Sj{qM71E&b166lz6Ur=DFF@h}S)8W)*1a*S>Z9u`L2WB(ygH{4?>NA3R z#4P-JYzz#X28^ICF$e!#kk<_v%{dqX8F=_7gTmE_(UyaOL4ZF86k5iN&KwL3BK)9C z&1u5u$-%%N!4K-`bDA=OI?6KqS3v<|#uy4JAo%$~?lxxxb(K~4r(e^Z<6qAc2NJVl z>;ctLLR@j6at&NAbH#&v#lT^}!oa|l04l4P7??msEmtC_>&!lhEBOFu(by`GdqzfDj47{MSnw^13ij{$ZD{Vd~Z?kY^{Q>Fi=B{U8-~wkl2F}#H z6b3GErek7Y$_JU0dmE%!i7Q_Nl)YM+85p<jqssKeK3n!>_;;ICh$-&{r!@$5*1xi|63{0~? z_E$S|GB8NaVC1Sh19HGRE(Qj!dWa$1AVV5JY!;4wP6h_9Mu;IRLHe3N%6T}JgVZ$N z;bdUQVc-He1H^=e2DpxT%gHc(k^UUndX7hI3=CYIAmbP~q(RQ_0vX4`0UDg*>Q)1l z3k+PK{v7BUIj|9|3{0S5O0J$C5Pwc>11n-+VBnet(#ycHA7uS>5Sxjk0u=T$KuTCR z?3oxCxMqT~4F?Ac9|Hr|EXMcK?G5IL)w6Hlnh$C&b1;H@x&#yy3>=`wJ=aPQn~`G! z$jH^8+ozZ~p0P79aIKL66-OMPF-)$tAgeSuR6uIhf!JCcpwq><)`QqO97P~+Z2$$k z0mm|s-pwGZOgJ(@QMm=wGOxGbhz5njR#4O2hNA_<-Uh1b95@6(Zr%=Rrn_*w16i;G zWatbI(5M5~P7r$*haSj}yFlzY9E(A5xf{fu$594~o?{>nEa2z^nR6V(UdXWoWd3Q8 znnfH&ptLnT*l>=dAr~kXKzHJRgIR=usRs zpKCZrrygWZ4!87nkk4*|ICH8L2Mt;#pG-(Af}u;X#V!$-02sL=SVQlo&M5zPPrgR;wv))gZ>qeqygjm z>4he9WDP;qn6of282ErDkBk^W{3#&*H_$342p?1x8GweZ8I2j=Pv37cr-5y(=$xx$OeIgf3Y$!7+eFnI2+u0lVD?DFaTv;MhG7?XlxLP zkgwoiU@))-%|hjX8(;T185j(vfWi*MpMKqRj=m^{U95dLqFJlGi!{vjR)1_MxbV7w1@h667H zg8`_)4drKo=Cs&YK*gBRBarJHnP9F;0LN6kAjDOUOyJPj%*()_5B9br)063U%;w0L zfYR9~UIqs3QbRKaMi(Yf%*gUFFqoDa8!<4tGJ(=H0~-s7GSUYHP%)FhbRF|Kl3)*k z=CZXx$)*&nF$;9?w2={Lj=Yx%R91k(2YhD#9A{w$2K@}slA&I(8yE61FzD+tGcYjr zg6#m!qv{tRJS6R28Y=9##s-Yl=wh=Fke)8g$H z%;#7#G73!RvYg}33u+h}%>|kLlSyEDn&liz#`n_~Sk7^@0r@Ucgn>a1RF*I*FoOyc z#$fGC21X@jkX*kA1A}%21EVsS_Z>7iXp{=_&IIQ7(`BvZXbOQ;m4W66jX=$I#uVoF z(<7|rxI2Kv?}>tRS1>SUfVFFiF)$d+1L@9W1_ee1h!2`lV$1@|uLJQx15F_Q^!rwG z92wtFSG1nv3eFxn;tUK1-~jSsem}k3dQK$c-02ss=SVWno&MT-jx6K*>6|umWclZU zl3$nsD=5cYVV*nP)Mk!6EAM1x^>(S}ikO&uXUS^!a8pEVg&q&#}_tdRoEB%fQIO$UJxZxy(5nZj4W-pI$%5 zS`sv(#|S&I59D+x+j+XbYNmL7G?Gv`5*u{0HcT66n-PqC3P}xUI}uDAG!hMCe?(IA z4~Y#LWQM5$jRP{OGfaP~nkgu01uAWz?s7w7mu-K&Va~rYc%Suy`dp6v5{8BfNC0WC zfWY&)64M`SvD0F55uUDNswg!*@A=$x#?@@?1hGMxVG3wR0xtstXh>}# zlnolE16>IPQUjVW-whQ9joF=mvO%XQf@VEHYCywopi)PKm!X~kv<&+bR1xT~CkD_( zCcF#`pkYnWb?YDvHlXbeP;tZ5CX+TnB|!7>msa3`d}BHbw@9Q&6@DBLl+) zC>zukzXoL+FfuUQfwJuw85kZx*`R6m7f^N-qX7fMJ18fEk%8e0lnv^!fcBh#9M{6g zzyO-)1+gbFPCui_XE*)c1yP>qalhs!Fm9N>|JU5bOp6$&zqnDS1ls)bd#*a8!}Rqa zN@DtT5S20gKZr`0uKs7PI-~V;|37opnS@!Vf4CtkHofo9T!HEP&f9TJU-oCN0+TW8 z^aYa?#irl;Ggp97X8L=O4(I9Of9I+*noPF`QEt=IK~&ZB{=ak8nYMCGUr@~?HvQb+ zxdM!Dr{4!j{h7}GZ>~Dy*XjEI=Bl%D2s1F)Oqb74RAw}sUJsIRn7$lDHB3MMZ>|<- zcZ#8<#q@q&X$dA1^XY-1d74Zj5z`YY_Ihm-^^suQ+BDCAwcf0ek%xOH<4(byiaQN= zI_?bInYgoXXXDO^I~VTUxbxu7i#s3g{J1GmU{j*trbMAliNc!_MK&dhZb}r}lql}Q zv*=&~WDg5Z&!$5PYZ;-O-m^@5nc#9wiV{sH{x&5_Y&w{*=pg8_*asX8JiTX`HXXE8 zfU5#aI=~D#$iT4apaVj6&!&S40t=yfd$f3%WIyl-O<%`4Z^`t&pPR%)4>0BnFfc&2 zs<1GEQaI0S#_0#wDoWIYZuDYiVs`|O(6NCgidjI}pGgRm|Ckv$K=b3wOsr|l3=Axw zp+6=mP|j!OU0 z8^qKF4Yad-0hy=R4XTrv8JU8nGqKO}X52L0kA0q+m1{sKAB^lG9&Nw?Hu#87|o|Y;+WSgbCI8cL4z4$bvaZQgAnM< z#5?@c8#(7mGCk*?K8JIjJkuxs>3ccnsWJWKpZ*j?a|lf5<(j9?BrGu9jBB1eNIaZt zo*EN}!1Q_$Ei5p7IoCWnkpAOb^AtepUV``>0@FFU=c$1B`rHtCe-JG!Fg+hcKj)v` z&pl5bB)FGT4^rYnkAf6}!d!m>D z7Jyu=jMF#p%rjv$pZ=6*-a@8}{L?#l=NW_Oy}a{`K+gNfJ5L_uY$3jRsvz2u58{nP z5dDdNdMA|L$Tv?-78GE!LE{39QOpw;)PusgoPj|IH1~dyfBF}`c@|7}_^0df&yxZf z<;6cwUHLgb1A{fFhtC+rR0eV$L}LsSNF!(_l0#tn6n==^yZIqO^N@d@yb?&`NvKAM zza~0>`~}hnTATEVf4Y(YBxpPZ=Ba>!Bp*a`2uz;}rFRR=Q&ac^Ok&68&` z5}5u#Xr8JpXwBqFQ0EX7C^PCnfl|uAAk+mqW|4oolJGotCR>5&*~0VWLE+s4qB#Vn zuN9uB0t%$d!Vtgz0`WZrrYnfd6RB4NHJd+!ChkCO_kG}AL;ybngIECrVn|{HkLVWsriFq2lphOQ2 z1O^6%{_Qf7^VC_x8CXFh8Vt;z85x<7L z2oIP9sbu1Wum!<)5(-S;xOth#bZ5DFYOIy4E=eiA;}FoF_5;tK2+(=G@Yp>G_KD zj9Dwl;%lH=W#ORnJ(~h70sXiYO!t`~ z$}`=-wN_;Moa;iG(`{Af&6=L7I!{mvk4qKf4P>W(Qk^$px{TU9PJAjix^bU?>VtryLufjGkiIx4sHO*TJErRg>5Fqg&tPZpVw^6Jq#`!mZ@U2pqtJByBo%Qk zP{SRhw2yK6hg&P&*v zgA#xcgB-)l>G|Q4<){A=o*=NjNo(FIMoFBpF}-iyJhAD~>*h&=Sfb$Y2DhN5-(Myw zGySxvHP7_dc`iKD?Van{r_VaKNN~FQacyBnk?H4uONmc!>)NV0o%_El&-C40TP3E? z=2*+43iTPN_rnM}G?{^c0o40pgo=ZDKa9H5CoB^cpMKxOj7JjGwgD|k1QprPL*zl8 zVbq)cAkRg7`fnu%p6SwCEqSJ|_ORla&fUC%XZmC*Z~5tEsjPz2`}Mror%x+zk)59H z&cri)c7qZRFVsM=12m@>+zC*g?ti(CefpxMTC&sk>(Aqve*TOUyBw(Z#0XUj>OH~O zpkkU)YkESnlDMP+1L(vY@Ku(Kh7dNWo5{#JeZj87;?uLAi11987IT%D{#th)&vfrS zvw5al>(2}Efgbe>YF)zo4eH&&tN``yU~EwD4#o!c%ostdWIzD`3J(JY28HSJ()$#q zd%x0?n7;WHuP`Xg1tmf2K0qU?pe`tMZ3$>S3b)GiC;Ic^>!CNcfL4TXLoZgS1}T+- zw2wh-Zs`36ptc_9I!{nn8f1hB^zs%En;SZq07}XtoD2-0Gz_{y2&4v-NB+|URIt?mJ700kU~%?*uY&?+*JILL4in_C;=YtT{@kT|H{4q|gd z;|R181tbpY!-LqM+X6s3K&v}J;-CgSh|R4HtquC2E&_G#L2Q^opjJFc1E`}9V#5qt z4pk5G5Qq))0H_uNsRy|O#D=K{wc$YGps@fD8)p7_ko_PD(7*twc7bWQ4YdF?NC0BP zEC8)V2dM|8SP&bg{u@+1DEoleF!iAImLT<@tOR1i)C+?K45S$tJV3p75C<02%1{YV z8U(Rn;>J*MP<3yn4E}$!`L7GA72gHUc0;L&{k3q{W zPC*RFx^8jcK3rHN4l)iw{AuNbM z=>#MJN=qO%OoI?83CKc%9K?o+%R|LMMHq+;OJh1vaZpkMv0>)hK*d2x3B(465GWmj z24z4NgW?Os21|hU$3QiJ$~@5MDNG#Hhytkx70)0x%s~}U^`N2}#D&;Og6TYQM!D$~rt_5Rp)#NqTq67o44_gHRBC~AfRY`E%?(=a z$H2eOgF6kYNlA4Czqypj1~6;&6ka zm4Shw2r2<8sX%O)1)!t}G62DYtRGh-tzmY5h4Fto)EkFZX5)7bb2m^yZgah(C189>Kqr~(At9km264Mu0%~SS- zy7d~8s>eud&smFfMg^ToGcvYW@t2wqgoz`*bZG`$B( z+zbp1A9xuUK)XyqAqVPj!koYX+FA=WLmY|i0%Ak;f;a6#*)2%otB}~okl6KakvN>7 zt*}td8Xz{PxeIDag4j^;L=YS5h)N_j=ui<@GMEbzhu$Bv2*ie}Uk74?$~*=J2GF@T zj1ml>Jw*%*+d&dgMSGCg2awpuk=Un^*q4yl*O1tEr}H0~DL(y_4i8WL8zk}1NNn&v zV5q(Ski?llJ87ZfpnfCFW4uV>ph5vAE`cNt-UbZSs|*nbRl5ufpq)=J4LT4BPz*B| zBeBhq*mg*4CnUBf65AJv4c=!AwKxn(JXQcH?IlkCe`Kce^lu?N2HSTz&Rf95cxifZ zk)*ODX!{N9q=VO>dc zdYkJ!4>oPkl)J$86Rz`uSnEM&c!4%|f&6C!+CwS8zyPZMouF*cytfCG4XWt=sbi5Xb4Vr4qfvN$Ob43ug9Rp}!4z%hBqzE+lRtJ$_ z01dXaK-t?E7#O;sY*6Xm2W9V>-Y;%rKmAvO9?$fu$J#v8_Z8^ZPOn~UqcT0dP(NY1 z_cKfR>FeAaWT*cQvN|(e{`4k^>Ff294W{eoiLg)4`?yGOdiUy8D$}`n!i1-5Me!tX z))+A`fGRZ8>GmS_%G3Q6)I_HHOA%7~B&Nsh*An1dVGJ`Oeolq_bR++H8k}2<85lq%uIcn-|9S4bZ%h~%Kr?ip zrU3W!-STnL(-*BZmYDudK2Cs>!3?wxjDf*)`uv8?@=Ps^(-R7q#HO$Mxk3QO5dxL! zp!ygTQ=piGDf$If^x>ka*z{A)%7PqbkeOT4>DIqi$TQ7goL(SdFE)K&PrU$Vix~sM z1kh>G)A=v0muFI7nx1gJL2UZ3pS%LRBIXPXpq*DB7m7{aZ!9j&l*2q7Z0x`NwgS8c zmQZsU7#Jj`?>><&&DOxoz|hAy{mzMOC0-9p1_sdlCP=%~^!R1Y(rloElol~gU%@4* zr2E2}fdMqV3X%rZ?x0#46zZU+323b|Xd4#DTU*!|81_v!FWj!o8)3)5a0BF6(5Z6M zwT0(MGnKGUcW})Un?CQol>n20{q%;324affN(!VGib3bz6+<%!NQiOz`#l=sS`Qo; z7(zH17(gxnT^c3b#05bc2ta%&7E%Y#unNVY zxzh_GK3(kvy8x3y=(H&YVnW$yYMRuiF{X=&rGa(^K!>qX+`X{H9MccHX{}5g(@)(?DK zHot>$y1+p$p6$!T=f^QIp4rYSHNO}{SIW$<;xj+S!qBv^zN=|g$0BBiMIH7s@43l=p%CS=d7`h8HQdMy)#w_Qkk{u?G$4`!G^ESCjy(qUDeoV`p5 z%b=6AZ@iqYFl}O)F0MCU(Q=Pz(^bYM4yQLeKx)>qLCoQKq~xN_Bc$YF8FZDAhe^rR z>3{;m>4P%TYndSmWIt@T)SJJOdwSPBCW-04Eaz8DkJ>6NvAxS`eh;HmX$qvR&%nUK z=xNBnz;j1}fnkaX1H+2xAM_1G>#gk=7?_#ZTa*|WSlVnE7?=b>gR9JpY|}v^po0{d zgg{MPW=4*e{2-;Q-1ZC%ED?MR3`}C6ZX3&2Lk0#WNl>l9B5B0Hz$69gTrqR7T3RtM zFmtej?tx-vVO_7zz`)GHE}+D~z{473ouwf`w*CQK!aK=Uo{vQm~}w|bS&-~3=AxadqEdb{N`a`U{M0C zN@4NfXJBAa28}DQ*no!f)HZ<>WQsB{uxNnxJF@hcFfg!ag3c&lX5?Vv0Zo7WwwT^8 zoGvB8%*DXKV$29?9dm-`x!K<7P2Ve=F2yw0e0pJIhUD~hw(|vjQ}h`aSX>x87#SGY z)D#&QSll7(rv?lREZ&Tu-MDNGAPfB%Z-90vfM(2JfOflpM$?!W*i1oA^aoqR<~^Oq zZoagYm^cFiOE^TRMUa7kC5kZzWV|S7#{LH*$OJY=Jq8Are_%EjI|~yNXm29-)#-_L z^QG#ab22cnurh(R!m@!j*0S(`PvYYRZ8YIq1j;rnCkz-ESQS9i{`~B03=9gairmZ$ z3u9U&edRGU=#*j zlElQok~{sJ{d}?dyP!b`;e84qnPnCX3{1j$piINSqAA6|z}5vaiN!*mfq`u^nEA(! zfq`uYn5hZc*>f1oOjl)KV7mlj3bL_X&0}F;5ZG(Mz`%B`2UNQY1nM#{uw4f^gi%03 znt_4s#z)X1V1d0n3>ge;H$nQC1=!RX7}#!sj_PC)n4`zQz;+wNW@TV$GGBB_`_yd~D6}SVk=%E5=1)0D_dj0BCT7?JekR4Mu@Wphbo6Kx{#Q zc~%SzY#%@=Qc>UvNc~6fLE!?Rb$M)GL1(#mFt8j4h0?dDAhR{tepZ2Yvw+S1g)lpi z?Kj9ksNsJ=Y(aq+<_rvMf5C<`uw+RxFtGh|1TF90z{bG1l9hph`?>%F0~;eF$h8dI z5ukj-#0WCJgMqDj`a#F}B3__LX*PE7iH>59pm^h81Vw__OVB+&5)2G1 z!a?c`46MRGK;bUD7E}TVgANzr5N5StVBi!!qQStxB`gMVxNw&!0|Sq6FKESxu(AmQ z1D`O176SvnFvvjy!l$hn7zBm&l^Ga>ggaRn7=(otco`T(gmvmchY|~)7hzx!6P}>S zz#uMsgM)!VLU_J41B0Y+tuO0R{#Re^4%BG0|gS;7AAcrP)Dgi5;{n3Y4oH z7+Atp85lS^K%#;y99_nsBRD^qFfed*gENtU5U2&*17b5Vu-K?DFmUt=u`}2*Kr#=< z^l;F&muk@Xns78I^DwXkiZd{9%(7!=U|^Xc%D})eHrP_QS|vobJ< z3WJ)GV#38jpkP-52YaC@DA>R2GB8L9OB*vVNDHeNF)+vo^K&sU$O?lF-;@(pR$^d~ z7w!R-yutyB3=E3Gpc{&mg!z>j7?g$MO&Azdg!v2@7*vIA1sNFBgcqwaFsKVFiZC!} z2>V+yFlY+<$kj72XbFQZtkM={wP9e;5#FoEz@RI9R*8W@kAaJgBZ$d{lYxPIhb999 zM=;YFP*ac_bR-c+2$;jnz*Ynb;!q|DP6h^1HjW6UEKUXnF##~8Sl)`z`zj?u3s3qT}2oeI1<1dMs8O%1_q8q zFo%hIuRa3dW2PLCqunY_LB#;3qV7plv*!Bo9FmPlrfi`Bay)b5A;3x(w z<5J+LWIDjbz`(6!&%nS@#q@;%G{nfwY{|gDQ4Mx16U3)AV9#-I{{bbuTCiqr?xUdH zaCKk~4>zYFXsaoh!^_R9%fP_Vzyw+-#K(P1n}LC&5p0hDcc3W)14k3s#S+{bLC$Ys z0`*`dxeYWJ7&uy)Y(Obeiu)TVSlYnGNpp9BcG|Qv-Qr|mkm3HS0Ln~Y8Ch-tVFm_{ zPB2G~TSjX7X}9?@^(#Pr?_mP%P~*zrn8akl&A`A7x(ktGG81UOKLhs_J_ZJksbE(q zaPxt3=S+~_8I-tZg4z(XnBIVnTIN2W!@$5X8*F+iw+bk$&jEAN7}z2i7#KL_Gu;90 z+hO8Z%#;GMqePj3fn!NM6X>8G25x4M?xkQ2j0|kmpjvhrlLKgP3k%0aCeYRz?jAb^ z298Z&B@EnY)(i|BTfiJf?jn#owt_iK+!~+|+y>?_Gq61brGOnw1>6h_Y>ps3$CyC7 z<9R{n6Y^c-W|;oeeZF}8HW>y6jt^ix4BUTt85lS|f;o(k*!={FT?V!`kheZF-2s^< z3NlR>eAYBuxFiDuhaNMiRN|80uwtIZ!@$4|YIAT{GfRRxLfi~i3=AAL%%H_GEZm@D zOgL~1b2?me5>zwT=gCla z=$SJxaHN1Wb8v%0J(c+-Lka@}Cj;9vQ2eGbYw|KMh)Qr|Fz@7LU=RZbVkX!qvFV^h zp9KzFvD=_{%?5j0Y%eG*a=`8u;{;id3w8zr8)zFNM;>!AF9QSH$LV)H=gZW)$TBc+ z>;OA}tsj(@PlE%6?KnvMGc%|G$JPMK-(2AKHkSYgFAHe53Ac$D0|N&i%YRVQmHQ1S zweo{GEZo~cxle!v6!{$7r$9+v5X|A?7Pn->e4mWoIC@7S{93Jl7pzu-wb9fopj)K(HtFn}VY!u*7XYt`@VBppU)rcBkOQ6$Sif7KruQVC&f+@umYdmj`0KE||j$v0e|%;bUOC0}5Y#mggV~c{mJNrtve> zLv1tyo67((*BERrwD2@x0aX(m5I>r-JOZUB1~xHJ>1oCi!Oy@TD!^gEas;$e@H8k{ zT7vx{Rs!<4703z(2DbSi)z&PFKr7hHKy3#H7SIYt-Z%Wyzk1IXVbW2Z&h0bbh>1sb zy1mbQ4aU#YGkoUjF=|bp?lWJ3iQQ!SPM`T2^?N~~oW%+%V%b1@uQ)0o>=aNW&492c zfinI=Fq?~uV+pIPAOqA>OIbm2#lQ_}RdXz3y#{I#a)X-H9LrhX34rcH0JW<*RH=(8Q5-u zYO_tOfr1PSToD{wS*3(vF5Ct+30ymGX9Wd28~1Kd)w_fB4I4u}11I-BP{F#B6_n_G zxMzaW<1Vlh1Gt$%>2WvMl0a_I#siK$U``PCe{Kc_j=f-q1#@o(h0i`PCxn6RE2zla z&pI3A7B7xNtl@CC97cA_5wKh8p^iBUatx?^_$|f2z;TRKO^AVkD}du9>q5BhQ^>kc zgLOkSpMhxR1~s=i&O$uGzy=yl<~YZiEX2Sd0q%2gTwuK~#K0iz3vM?qkOVd7;vZXs z+H-o=p!OUGFQ^#}n(tv{V7mcIUN<0-&dzb0m0uVZq<5eW0bRDvaTjbR8v`5YplXhL ztgk^1SLAre>H$(;GTp|1zB1#~=?VVxMe4!X`z2I2I6___d*e048w_kEpfGsD8Y0ZV zz~#;Hf%QDdD6r;_$eKSPYyJ$;%nhz^zp#SpTQ3H-Q=n$TSJsIjli2Gyez5+B8}$=v z6zH%dj$hyiXJcTy0jjTmv)&eFU=WSq_{-W0YV3o$E*$^B$zIF>l!X6-ld9M|P|3%@ z21;yV+7_TOYc^1HiDiN+S|&D7#EV&ik{UA`DD>>bmV?@3ENq~l5qk(qXsm3l!VC;z zFF?tcjSb{aF|d2s*+33uVABFMp*YyMMHm>^rcd7(FkhAN!}RL`^A#9>P5%)vUzN$; ze7bz#e9?L?P$SBe4V;ZZ$ANJ;LD<(o?I|xXn~RMjmTjge12nhBv4L_c10=V`gHIQQpv1x(^Shzv`V2)%khn0bCmlebG&4KfU%s|~= zj!duy25wOQmm>?zVdMsNfH|_+KpCHj8`J~l$N_Vh8Q4xw{~b7AvHlw<{EFEUK&N+b zKLcf`5;jm}BLOj}6l{1{j85l(MI5-xwDM>Ieh=G&)5^z$1BiZsK>y%(%kW4LN;5Y;h z5C%3iP{DbaZ7QhOpD_Ja$b7AsKcLpc1-3BIib3ulphm|5Jy5@%Mfj&MX!zhb=u8;~wv8ZXe1^p6 zj_L10=j)j+12wvM*g=VsgeoB`??q=J}S z0$g>B?$Qhl+yd&L0}#N&kqq2z1`G^b4PXu<_k9J>5eSSR_c3vA1MPut0?V*)*Ml~q zay5f_tlSZx4oVA{!^YhRvZ58tVdr*JW?O*8JmirKD&%H^rehfy*nVp!1i8+fq^Rp%w~z3zCV1vSaLsTIiIkQ3Mkfi zL_o0?AOVWCMWC?`;WiskthIy2xENU8gDT77P0|buf;!x#x-tw50`8z9p$rr#3@`gz+=b2z&!y}+;9k-2036Nh|MDax=@CD5-9cr1fDT4FmO)> zu>}P{1K8YCK;{SuOt55N;GPO%i-=6W95G*_zEzunfqMqXatVPLkS#N>%Q7&?2sD5q ze-^0xP!PCb#lXNl8)Unpz!nPz2JSf^la&NiY#A81=YrVE0?D90{5;U;or=IMV+IE9 z`K3|}4B7(UjTjiX7l8EY2>6LGFmNvvXJ%k95D)|TZt+XdBz=IuSzQJO?j?6+85jZu zzOgYda4!XwRs90{B^emFmxC;rDzF;lh!r6AGy#1@1_thxwlWM1GX%cLFfeehYLH@J zI3lo6oq>US4akBM0-%%Zxz~a$ej)Hug@J*4-Aic(hBpGs^cWbp*Mr6dJ}_{y)b~p> zFmSTWmWC#vx1b&iXw1x(fh7bK1RFeL7#LW7C^0Z_Z()`LjU>r2Fo4I}!2|=#eUQhu z$$_NwKvJO2C`3xofqUm#(1N*Jpjh1n3QGoo^PuqF4e}nNfRH(;>AnZVVHa2fN+5ed z?&TG@2{LmZD4O^L#6ca3{a|whLaiAXxDRZWV_*;wDPZ6}2paO25ICgCz`%V7`7`Tss+$qSxeS#UZV? z0^A@kp8~O&1ZIF@`ZS2mBJdQ%J_BO2F|b6+Gca(UJ0-`!z#HHgUuI=h6M3!IU;c(_FwE5Uj}(JBUJ*E4XJs4*~bi-RXcSh$lwu_*!0-W=Sw zK&e#{%;99<1ovmyq(KU#7_H?&ZFp`O#*-ieL6Z;MvfzS*fm;WpOAgFo1b2nFMwtVk z;I{)SRAH3ym}iWH8ETf~@yv+%Lz#ki#hR8~D7!;UfltIZpkug}B zfkBChfs+MvL?b5)_+%uOd~p6f1v<$HloXbM#!*1|my?0*GRS2~j1NHzAw?A#7*h~VTp-G+q5SvAS z&5D76ClHjL*aYSpF);81fx37+0-#Ylp5QN_lXB(iO&Az>LP6>|8088$85nrNKpZYc zIb|IN2A*&bhlf!v-;RNyo+koiH6NoK=&%T$NKmFxW0aEzO&COhIO>dYpw!J111cFb z80FrxFfj1Mf@Cxq<*cL`7%Pd;dj zOP5hjO@o1frvT&uJw`dUdI1Ioo@21_qvPkhqC}n=JzaPcKN^LSTg$0|QSVNIXIyS&M;zX97q(M!;B`fq`ctNW4bi zr4$1L&t#BzgMcDP{gf8PdIp9C0-z=^&oq$45`mwfxSI~ra73VsgMoo(7D)Vrz)2M0Z@V{VPxQBNdjey?J5imAPkNT zQ1$^$(y(}flFnh*bK<+%xR7YhT6252JX)(I5` z2Eh`ZJC>>p3<7yv3=BMXA!@<;?t$1W0=Gc{`xrFd%>kYh=6M2gO#!$%=6Mcc7c#Jj zf)u^{qQbyX&r+tuz`*knl+I*tF!6jAQ)gfhXar@lFQ6b|5SYQkz`*kp6sRoV<`K_t zQ1(#~05y+z{(#tO0xvprj<$Byx zK^#U#@ZJCeZqRY*JWOCIBW_SLiiereMU{cUgj*hD04uoqFy+<*Wdbg6DQL}|0t!DK za8Yi<-2u8goEKcmJ8*M?VxA8y|0kDh@_g#>i1?wSYIyb20 z!XpB%3PQMT6&M(JL>WOrQNj&s1M!G~9aq5(Y6S6!gE>{)IiOIIV3bj3V5pG+-C4#X z$q1UdIlv_24~j4;M$nYNX(pLYP?nbg>pI6I;{}R2SupPcQ@spm{WuS#y1c|B^8=(& z9$cDVW|ENx@f5+lD@-z=G{U0==3QlyaRL=(+F;%_CYhz6m2x`Zu(=LOV<5HcpoF3W z8XyIg1}qG0)gb>HF#4;4PWn`3VBm3NtbYI+Y5-j;#N*5e8Ykvb;Ynfa1Jy-G>=_t% zQo(EnZYEH1oW=+mG-lxjtwG>PX9NxIih##Wc{0H6P-5U@xd0lT1kIT9WHJVT`Yt9s zxs0qD3=G`*5)2GHd5lv)ySca}L8-2Uk+oiffkB1)6ewm(!OAqaK~Co>1BZ_eH@HeD z2Xpkm!-+fE&y&as^Jh%^oDga0a$d8)?B-07DDu6o>RG)M) zf`)Jdxo?8Z?gn#$xKDtBw}%lltrN`s0<;XMml1SuS_A_pi;FsFa8!eVVJB!j2^1d; z3~a9@LH18#6bE&%9C+3gO$G*@jbIK7w-?A!o4_0no`T|B z2A<8}km2D5o&LbH1 zagKpG2HclHUN{csIB7r`Ntz`YVwdS3!_QW)6OL5{!77_7;_ zz}3TZmGQn70|R#!DA`>D$1wwVg0Y_GIwPoKz{Y(Sl-F*6IqcvO8=jkBbsXIFpy7gTPtgKq@o z;ntR~2OZ4H#GnfrRsrWVPVg+K40t-2hYQS+1GnONxWV&<3gFpb9v<*)uo`z8s2Jg8 zssWuq&z+*oz`(-?o@2D+{sjs(1+W2D+`6Eqf)aR6)rR{L$o)>v9Kk$CMwuQ^h~|P# zbOJRfK)IEZ#R62AfU0`|&?Gx3^D;58T>({!1OwESP&6sJLqcyC;N!tq2re zO-wSN^-T*v26TgExO8|{F8L8_l4c}y16UfaslqYE19)M*J?d6W+-jCV7A)@5L*XFF)ez`%12tU%gAnTM6R4OBWOr=>ISurY%Iih*0! zoPmLd8!QnalL2b+@-l-)i#k|k7J-6*A3USFf>j2zI)z67%v;4O697usLd>c>3=C^n zWk4tN@CY+cGh|@cz$$YFRGdmMC-S2fK_JsL0U(TQ9>U^A=Q?XflJ! zRyi&i&@eiW7FbS=O9nK!&7;ly611K}gG(k4WQ7hhXi!m$OXi6s0|So%Sg944%zTiX zA(&^wCG#A_GiL_192~f0;z7}7%M7ZwBzWZ$3o;paoSEAs85l}BgE!$^pJ$-Vt7zz1E<9 zADDN7SB4Q3oBrUiIKwN`3u+n!FoPPdXL)57ftn$KVBR@inIj-i1c7_;1||M0yfUDb@jP+NntBWj zPk3drK}j*K5Eli2`jtfVpDFl1m5;FH+`DjG7FK}`e!0hvP}rJ2m2LYzlgCJR(-W-EOQZ529|>5G?ZoZKyhCN=4mR+B!iM( zIasBRvJB|LMV?CLe})VU2FeWVM#>BfpmY!Ji{`$eF`34EY= zHc&ap!oao|BL)Ux&<-dD;VyO15c5{>5c3yP z&=B)U(3qO=6+6%n^9NDT0yjQw&;qw?(3Fg@6lhdm*dKIkt*|+0U`MzRlyHUF)Ih_M zUzHgc_=KP9gBG}X88a{l2!n3O5oBPgu2*4T;GKu$i2YYUj#$UWz`y{y!HI!UxPl)v z&K;!-a>Ohf1_l-emI?y~2Hs;xx^4>?GcX8)4q0aqe!&NF`Zh6;u1lIAT|Ynz#)b1m z85md@1UYyg8-knwYK8DV0sEgpAe@_lf%hqRG@OA2bafiC5xj{3Hyn z1S4pHuPygB2?hpUNw7tB+!H_nD+O-t+H-#b9VjIY=J<0<@iH**%G85-@!*CquPm68 z&kef#g;$Odw0^gq+ftH&fma^Pna>Sc@XM16| z1CB=x@M7Hgj53Qr{?!C8_Fcdz1G>6^SBnv}bUJ`Z2DB!NR~yU=WRh90$H2g=!w6bR z9mFIf3JNq`FfW)%h6&_kJx0*d>JTOwW+jGt23~zIH~W zQObycA)HAj26V}VF<35wNyZ&?=93AS7s(`J3Uan7qYw)NLll!tixvX|uNjyZ%_Q?l zhk=3D92`wCOfp%kqISxhpZ$!T5}u;d&jaBa=&3YJ^L1g^<>-N3!1bxbm+KueV& zW6Il@WI&V2ydGftwlm4h1Ep(EaEjl-Bmy(>^AdIiN)04d(4|)>zVr(~NU|?vbupR1+8XN0hN7>ZXnOrw=ys= zsARA)Ffh7-+7Y0+Ck9nz&;+A7s2c`S4mu);aZa-Z1A|&pN+JWJIj9^2U4W_1V#mP1 zXbxK6%^0kan4H7FXbDmV+T8|P)W@(PiGe{2d<3EvV>F`?Cfy9GL-fBxo>K1ytrTX3R5ZU;y2<1 zMW!NE1_RJ~cg|!622Id$91t6$7!6?-8a|h;XJB9iZN^~$^|Bcl=YYlmjlfolGD7S$ z0^2Fd2(c8LGGGQ7!wu4rW?*0honrzs=d%?91H>G86m#U!%&7+@F-8-(L2{}L42+tf zmFG|gSzE&l(nK*x6U`trbDZ@V7#Klk?!X+>3^&IZ*_?VtV{8W5z#a6NnSp`P7Rf=N zO%)KI*&-XnXp7Apd$>9A!VCGsqTh&>YYA;jO!VfOEWMqO^h=IHP09~fXj5IiSeK=0fS;P1B1Hl^z{|*fCNM! zxQov;F&=caHAB1|1A|#+RyG4;3=?SQWG-lruAUUg?YhYf48?ZPC}LpH1Z_5fg-^3F z0|O&yLoMVS7sfeS_As}kp|~Xt>=w|4Kp?kdfZYPx5CL&ZCfqHcs9?3Qn~3=E7_;N7{Pb7UCj9EH233dJo|V7KtGLc*m6>=w{j0}!`BwrhaG z1+-^*sy!@R+QDuqW@TVt(1W>UB`&w@0aciwTh165KwBRe=Oj45!eu>*Th@c!G7;*Q zjbOK&W`)HOWUm9rEugaw3>;u?*#~wDXb=_Q78eH`;j&eUfr0TDI9x#cW*O)FhP&k$ zid&9>-6FyU36~RKxA?Ka+;S2gN1*eZPQ%@D8SIuyP$LH(F86V`CHt@-0|Vn-B)8N! z!ouY)id*i2-7+2Omiu70T!g#j0n9CWpyQQ52{geG;d{{GIj{t31Uj>J&>s6a zVNS4;SF|T}3 z!2r5^8gjB3{cA$c69Vl~r z0Bycx0G-*(I49E?X5I&=d607E1K2#qU`S^81U3y+T7n8{%VY)yL1(Zhn2XMXnoEoh z40@o<1}fk5Au`Y=j|rqvqnFD7YVyc2F!-WKdqAW$L9>ytxB^|c#>fxK?BK)G80UO~ zyOEy-;%A5(`B^}IW(+m~w_63lyA6^+Q31Nt(Ip3xZMC@y99j7(wu27u+UOQafve2C1%OFDGZFNETE;;psnGM z&{G4u3>12xWEzvqz!2jCwNMpO)qxWVNTSMxK@!y7U@8L37(iU2=?M-!NL|zqib4yp zqd=FAGS0aPca#N+qb#6~(gdB9mI13=85kH0Ux3=#E?^@-E@GVH;0p7X3yKjgP$Nu0 z7XdK3f&5X=u$BXs8Qehv3``T_p_Kv1Q_+mzYHeaX1B0QPJOcwGXqK0Ofg7CbINf0O z1ftjzh+!*0-vGdL7_wl?H0F%=zF3D_*j}*$Q;n2c$O624}2h(BU88hDa_v zYk}$+Pyn5FL-HF_F$04E=(w*EP+J>xybY*4L9`*7~_7JEa z$T(+}J1n%1Ks^L;!V$2CK=(kKf`)h)kAc0!G%?&nR+E8&@i>@!l#_wM5;UmAc!C8q zs>L)h0#s$61nbq|Vqnk%orTbl%)rp#4t8%nbI~srP;v$(T9C8#dKefOI+Ga~WOGq``Tm% z1{qJ7hZ*!hw~m0K-xMwe@vk1})^?C#o^S~Uy$#@8!N8E=IsIeHe93x{VKoSOP0-*u zX23Cn+I+&Gb`V1oIL*g+!2(X06}gxeW`z{fkjyN~3K|yxWoA$qfC}Sh5UUuC81!@) z7#KbpB{4Akhl*K4I~Cyg2Dw|<3*kx70Z*VnF!BNgg6Q-Mt@ByHj(0;S(gdAk2MP() zSnsoEU|@6rJ05gyAmf}RaK}5KINky3cuiP>(_)NbG=jQ{!7yD1G|~Y!haVgW^>5$? znWGqF4l{@sbi_N{fsklnFbuI_U|{qI8w5HNka3Q_H!L*$QOxm&nFDHk?nExtWkH>k z`WPfLir{9%pqLSZ(~O6vpb;3b5s)t6R=5!vC`M$!i~w~3k(^P_U^o$!FiOE@Kx!9d zA6Q{n3N}NWn}Gq6olBvnm=uAAZOU0edBz-+XF$CmP-BYM2OizvI_4 zLFyLj|fm+$1ArB3R5WG0k1C5h`6k9_iKx#oZt%EG{hX{d&e)K@6kAf`A zfQvyb16`*Ml4wMiSOD724l;QPLdVW?*3C z0`&qIz~?>AN%Dt<5EmPAsldgCTq^K@w~>HK1yF#!luTw|5b^_u0oW6e_74Mtp&vM> z*Mo|3kaN7?YM`EiG&30(GLa>iI20fes0X?~2ISfrh&0G&pzs03_H2j{#Ai$#iclS( z3+P`aGcc@&OEc)L03GoQ(sK^#9MIXoAm==XD}p-bE&~Gt$i80?3DC$PXjzZYz6G;>iuXuK5E)Q7d1?|@~ZrcY~`F9_Nd0Sc2} z5HW~z7;PcJs5uc@r6KYZwB^rWC=NQmrVN~7K<#$MImvK$mZ7+_4C+ozP#*+j72GgT z1lNOyRv8TALCv~muyLT%MH%O8gd5k4Vq7!KI8k)BF>$CsoXue91L`zS0h=|eoO&(ODA!|njce{;-JkBb5I(u34{$1%ma7JuY!*7wgL?v zfXFffEbhER8+n7I>d=6oIo1{2T{BF4RJ zAf*R*7#OSq85kJy85kJif?x858h0-?VB&l24eCBPfzHZFCzsi6qJGy zK?Q1ZgF?YE7#s@hnxNyF8Kn4jw?dW+Z z3K&7nXi#Q@HM93l7wn%e#mbYyz;JuILH~S7F!SehzyA4>^~k}($pSih$Pjd4GUGyU zT?J|bG0r&@0!vv7QR=FNu(}GAK0pph3;}x!>QcBvKu14=>?wsvgA)j-w*xMLCc_0m zMIWeF0-ERm%{_p60BcZW4Hz`*7#J8p@ehegkQM_5216cDYYKG6E&~Ioh+&-L847dq zOK5aL+6^zk(a9LB2g0J}%%Xotv3$cKK!O$I)(SCr_ z3do;~bH2jO{sA=`lKg&v&Hlr~zyLFyVQ%R3j}zugu}Y*cFr1z)Fmb+SeWwKj!;?^O zI6;d#0|rgd^qNWvOpt-WuuzeKfl&{%r4m{OKMP}Eum;bT>9K>-HRy;9<4d6Nay{^7 zz;Ip$1{3fAw*fn-wp<3{gGZVS*+Gq?OS}vWpcT9I44~Fgd>Gs=Jy3vwO6xkPSQ%)> z3GB2OMl%LIPz`F3!oV;IDqY0Dpa-f&K}mKsSS*^+5!9EQ7{j0kI?oQ2WKV%5KzCVz z>Lbt`7RW46VO|fOzXAm=Xu1rcmBFUVnt_2aj2%=pfhGw-WdY-y{oycghk?EQ8RV_E zpw4C_Sfv{u1A{r}FwlwN3=F3FpvHL|J7~!e)5Iu9e<~jA{SH0`20hST$9jl5LO+;x&dEra zYoftDV+DSgYoft@V@G}l22)E=W3pP4f-7(~Ln49e_=pcpV<&;#9M z0_w$kLSz}uKu!fEO#@IH6eN=bl`)6OfDW<;rOhUY1k*$hP-$A+#RxLefk6*cw}hlH zFf4=0Lk7|uz)9Ofi!qkbkUU@gg@GX*ZVbZu zR=5}_D4;1r6O=MQ7Hctjfbt1Q3KU9Gpn*2<9(4vt-;yx~7Aq5=mO*NW3D7L42bxI& zCBWCw)9+84F9G%qyet4WOhD&XFzx_*0F<~G=j?@>xdX+_9Z)k(!P$BjO192PVPFW0 zfdvwS9<1e53Ks);!A+~4F@|YkJY=K;6e68)c?LbuNCe2K%i&@mJ+Ke~jjw}-C{Z1s zYtF#Hcn<7%&_q1r9En(1fSf~d{5go@d4lyot!$7%9I?|GXUrFlgamUmI4n+q!WVQ& z2Ll7>))mG%pJQQ(umYUt(*$6B_X=>HXAFkq_$o%wX$edd9pK5TGIo0IjQJ84pjFbU8N2B5@uA$I!S8S~}qL2>aCq6l1>ft+aoYF0oJpApEt zpqq3V7(it<O{LcXN(rEV^F@(1V9*2=j?k&4 zdV2{521d}q#taOga)NQrO}HaAKpg>T5N!ZEVub*tfZGHvZB7a>Fj&C~xRdd)0&Xj~ zc=-a#?%)CrdPIcsd5wy9P7` z0*~p61O^7J>G`wgi-OC%841(7X3v*W1x4m|kQ8WTl0GP!Cx(G46*C4s(CPzFs=S>r z{p9TVa^O_?1*Q~Md4P_Fhs5u7DFz0{n_#a(n%>6~VLrVH_URM2Pj7;K$|?jayl*pu z4roD6mx+nUaSTqE^@a?3pd18paRXEuTn{pVT4OPwUIXY#6p)LTK&2toAV@dUL>Fi^ z2pT~G#n4`u8kkQ&t#gP^EI?of$n~`Wd?01JIiDW5(hOE85qFg_J=_$uctA)C4tt3ftD%T z=Yy7xCV=xZxRqRAlElCOUee46CRrdPgF`lGO@wS~66|J5yNDzP2KF*@28LNM9n1_4 zUqRDS2CEUOx{??e9L>}j7(kfkKC{zLJ_ZI5cD}8`zyQMR+Kwl985lsAx0$it(M+6y z0fc!w7@e+jGcbU#<7X}g1`y`G!RWYOfPn#od9+v@owOMkK$s_t#W6~afdPcMyBQtV zDKjvDFn1TD;}vxV1`y_b%;?O|%D@1|Vvb7s3=AO5`y*C zFn}=cQ%1+f_6!Ul%=>}SQNoUa0fc#PGdkYUW?%qefsHJVlJX1;AY9M;o6+$)D+2=v z^ZsFU6w+m20Ab!YjE95w!*I@;9A#%4%ub;2Us0ixoGBN~#DA0ry3&Ur|p!pycsOn*42r8O>p?$IF z^n}TbT+<&M zjZDqrQTBX!O62?ytwG2LgL-g9KWI^+B428ZU0F`Z+X?s#~<-1M|V^HrIifjPp{7aW?e z%=8P1!?=FB!{PZ-)5Q+Y*JL~fV!JTjo!)wQz60a;>BkPwKf<_idiRm}8jK&NZ#gpG zhp~S;d_BgV>3yf>YcQUhzWvnv z8pf{aCa33bV!Sy0`RVyVa^HAB_rx+YFro%iGcP#wrVGk$5M!J&J@3qX8^%c>AB%v3 zg?0LoGxH^;@7}qXTSSC`k&T&|lMQ@}EFYNUnSOA~A~D8g)7j3>*I?W^UH|O-0>*{Y z7o43R$M|yk|FiRz7=KJxIyc`Wd>tRi?Vx*T898~uchYi!Nf8D{1|}9pHf9D+4v_gw zoUCAR4zT%x2w5hOEE`A>Gb8x+T1Jq{>GzC_r5LYGpLA}13**9R7w3yi*FHa=k8#m- ztMl`77;jHsetv!mW83t=OY`NYYhRczJpI6jDwgR^7v>i-{+hn!!h8*;3H;OVU6`-P zxMSMI`6le=_(7q>I{o8P1sTR4(<3g<_hIarz7#|qn*QnH{5Zx9Aj6Cp_fBuQG{1`R z=JfxU<_C%1SB%Q>*nW0Z7=#TKZ=bnH7_|nGcU6wKB+RkJazl&Z}XX$`AdsaFeJu_MN`&QjXU2gspj!+g6xDX zak0(x3sdv0w%-<9V8}du!9F2@=`x}V6sAA$aO0T%eklvbbo*s29Mct+q;pKKJtWRC z{elZ8$MpNc@*L9(Kr91GV~*($_6l)K57;NfG5tJ9F`ws7j_CqswH(tofFvf^+ChyH z*saYmeS)tw&-4ZRg(S9r5M3a^G(F*f5YO}vAmU$_JJ0mLw{m!<8%QjWm@eSy#xp&y zY%b6C1c?O~1gGDzsO4canI>2*KfNKCQ($|7)`A|!=>?wCco+qzZ#<(T&S*Zp`uk%2 z=>}e$65Abg7A%sQzTu#@!Z!B>Rs8j!cCHY^ZwAm-8E}!w0J#GYbj~=450U@NAO>#P zFff2dk3mPC*+TgsHK0bU8gw>p7V;xm9&((*A{fo|Oa z8wN2x1gDh;b%_51Oli7yw$!15ym?0SGaOFz$ya z01rV3F^DlTCYM3I*jHZ{`B3v%cL2jwr`GD@SIH^=M~HG zpbM`VrXMh0AV1w(oKb!IgZKsJ%+r-gp6UHr3k(>UrXR>!AU^%DK#7FZc8EeyNHSi4ut5v#8QB=8Gb-eY zO<(<xntmX6fj%!Uc!>)*5i)X3cgR^F&d4%-f?$dG^z7XRJWO1S(-}>f z#Q315fHX6TFitPLDI>-t$TXcvFP@Iyan4t8Dpli zw=4+u1?4wT??t2^a&0k)%?-Mhih+RvG)E<3!@vNVmMR0?)z}X)55(q%1}kV*7o-=I zB>T2!w=4)@Wc)Y%KaV_+C5Ef&dU3G)Qj` zawHnfUZJiU|;~TxkaWo^enJu6r8@NXF)b2*L00ugvp@6e31o^ds{(lZqex%dKWB* zSq$=;$U=xTh|MiJeL~-YW=7HJBK-^88AYeZ^dl65>=ao7Q4C^pi%yrBuwXXKEO78G zg?IwQ23a*>L9nVUBnCjy%qRw7gQAvE4#EaS6{FC0kBJL*X{jCsjp@cilJq+y_D>|X z$aM8R3xZWax7sp7l}-gMhJms{do^L=2d2;8vp~Q8JCZaDs4ELq%8$gBLSm~Tu?>*e zu1M@4Bz8O!8+6qK%=!k1IHdBJ3gLkLwg`#69*MmNiG2!*eGQ5I28sO>iOmLD6#(^^ zFcMoq0W>ZTl>n{hg}KfKNs$*4I|7NFhQuyGVmBeNCm^xsA+guM*dYJ!f^ira7)~Iu zuOYFYAhACou^B)^Do_vbA+cqU*jh+z@DL1Cy_+HfLp{vLAxMgnkk|!C?Bz)8%}8v} zS!FPD9wUjrM`Hg*VzYzRK|mbA#2`G~d;fyR^_-wp#1JtCVRcwk`I4B>#&;eI6cX(aY_B=%z@_Io7uZzMK5XxTT^GGQdP zJQ7<+WxCG61#$JDL+fAxxerPHA`<&968jYr`!5ok6SO-GYNsd?TM>z^i^R5qut5br z1A{As0}g~pBz7tiyAX+8i^T3kVoyb4FPxryXu*vpXETaeg?kk}WH z*!PgwZ;;r(kk}lc!v&yr=|b3`xe5jbO9%(-KiBD}4=>Q?ZA229I-UK*UEt2krp3Sj zi&2s3&yOxxE_n$_=m8S@&GzNT7O*oi3Qu2ud_j5rBGB>$sF{0^*r$-#H;~xRkl2Et z9hXqOYDjEjB(?(*+ZTxqIs<_*9&~02=&EugiBcqXBNBTW5_>Tcdjk@CFB1C{68i-b z`!5okOAo1FmeWIop%xO`7l|E(#Lhrsmm#rRkl2%u*b9)@>tJk9fv^Y0VPIf5g~Yyr z#D0dv{({720&VPsMu7klTMmh>gTw|+ufh_Fhdxrl9EPL_bR!>3Q3H~A9};^G5_=UA zdj}Hx7!vym68jN?UC;0V!D0A^#O5(TM28d-TLX!0hQxM3Vh16y6Oh<>NbDLg8x;Pa zn{vS%a9(AYfy7>h#0FiM2Md)$Na7ce*!PgwZ;;r(kk}lc#rx1G69b)@0y9(vNx}$; z?SRDgLt@7uv9pla6-aD;BSa`lBe9L3Y_R_=pd66@?U2|mNNmvce=vszAc=<|v15?f zNl0waF-tJLc}U_VMhx}vVyg;Cq5+BBhQ#hcVuNm}fEhXiNqjyMdm9pa4-)$joL$er za01R@U^s`wzKXyIIEE+erYAhF*fu|bCt!-AdN1d+Hzkl2byY&|5l zH4@tc!Um^5hENCxl>Qi!kl6W1>>4C?ClY%a5_>Tcdjk@CFB1C{68pLdXcZeY*qLs+j;{Lq{N| zfXsxl=YzzdYF2{S(V*~WU|?7W;y@*KfY?wAK$kbnC1zl)WD$4pnm!#D+TV z9Ec4SzX4)H#qWaH+@RHbpdBP24ph-k5F0dF!oa}r*OGxj7|P}Vo#z5oBZ|aULSpNH z*iZ`$L2RgAS0uI{5<3NSvmPvXvq2J|O<16H-&PC^!ccYM{ z*$iTXMywbZ7`B7VfwB*Q#Gz^~z}fW-4EI1BsG=_*HdN7X5F506jDdmSKgb{`o68ze zut*@W)j({h8XFKBYK}9A4H^+-U|?{!W?&G8vV%b4u*xw3#DQwa1F@lsT0m^5csGa* z8s}tSVCV-K1ZB?xi9^+_Kw@tLv7u_tfY?wqmqBbu500V!I>;a>=MhK(s^|j}`yYr6 zRRbErg+-Y(XeBCWvoiw&gS-s`gD{k>1rmpvV}ZnW1F@lMVnA$I=O`J(0S$tJI!Yje zpzI=$IMkp9Bz7N&4OO!Q#D=N?-Cw{6T6@mGz_1=<4wStMNzG9Z8=6Q@*&vnwSCJ%c zf!I((pMuy>4X;3KsQ6DLHV0_)H`Fo>BsS<=d6(n zB=HBt1`U>jig!B(24N_h8+3jYRI?-!TLr|1I?f1*Z4P2X)w_Y%u^w#D-eH4_Y-1Wov`jP|ZdlHe@=H!OWh4K^V$*1c^h{_#?5SKy0Y_ z8A$BhdJqSyp$5c;2GIl%8>(R%hz+%16%zXxhz-?y7Q_ZExnp2p0397D3}xQ|i9^-A zLSlafv7@2oKeGb^10&Qj4iFovK^(+}I!GJDhN>|Hv7r{YBC!)eY^dH05F0e<#lXOj z5C*gB85o2>5>Q17NNjBo8)|_i659^MhN|}kvB3s0FeD< zi9H*{hU(o8V#CV+eIO2K`4j^K!y%9bQ1)4nIMjmMNbHwL>>nUDRK1Wh0|O(JZGgn~ zLts_4fW+35F4uZC=&Yy68kfV z4Yl|ehz(kc4k~~Cfh-1b7#J8hT@Z~6aU`|@hz+&O6vT!aQ3Ek=Q3eY^a)BAU0IZLl7IZ)}Mia;i(G)186`VWb6l! zI8@C)BsPyLlE*-7h-c~M4vEd>hVX$Phz;5c!N9;E>c+qz z3}q{T#Gw}GA+c?c*zO=U)Ip*3NSr7T8){H4hz&KU1jGg{sRp$VK$bz-%^-28nm!O4 zYUpGT8!A2z#Dyn?P)JX!(Bz$^rTRDiZr6hz-^71H=X`H(_94_yckTl+Esr z2o+HzwgQL^wOAFzhMHr7#I|<_mH$vhF(3&jI}yZ&TF{8Zo`u9-4PrwL-2`HTju~KJ zVA$r)z#t4|9|Va*)tpCS-vzP3YU&vnzQH*R4E!Dp42)n21_o6S8>(3c#MTCd4+DdN z2LppJlx+JVuyg(P|qYGvC~0psQNMx8&>`|f;dnOZ6G$(f>}uH#YpV!NbGA! z>{m!^PEQ5~MyNTmNNh7CcD)x8CliTXi^QG`Vnba$3&aL3m|$RFnCHpBAPi-%1c^h{ zY)4`rMPgq8v7zdpL)g&#=f%Ll2$c{)VjCl|-I3U_AU4#p6c8JZL)C;J zv6Db-sG4FB8>*%X#0Kq4U|?XV1DOM5cX}hW|EGf#K{YG|v7w5#f!I*-y&yJdfeZr! z!$FWiQ1%&+I8@Db5F471?||4)@mEOfuOK!=O+CXe5C>`ypAQ2A=-gRQMpFT?p_;Wp zY-5lp1B1Q~1A{P>Z3PmCs_{T#hk@8oHCagPW+e7J5IY_e{tOHZOFJrXAqiQR<6o{Gd?hs53oVnZEw z6vPIdg~PzWaMG87K^V%u0uqO+d4$CN0A+*y{~yGGY7q8gU|@u@jgZ*hNbD>mb}bTn z4ib9<68k(7`vnsFw;!ndhg!z(kFZz|iS3TWP6n}|zR3cyL0j`cYs>r@7=)qhN{~2I zO*;~MDiV7Mhz(X>&%m$`&S7Ac1m#gaQ%1lmxMDAco2YGBAJ+uLbcmK;lqC&5+oRAT}gVGx#I1 zLqKe(`eYCr+I=erv7@1rYD+~`fCcD;kzpE4l~48jl&gE~k8>KjuewljzgRg;9oE<<8ZL1M2( zVjl*vp=O=}u|XSl85kJOf$Vhxg+BuW!%dI`RMB%J_E!)aszE%Ifq@aqwnSokf!I*J zfgm<$MJNLULue=igD{kx01}6)$wOjS)`K|EIIaV+p&I5PvCkl}pCYlpf!I((|AN?{ z)!m@w$6*W%!cew&7-DEg2E>M{R|m0S<3Bne4phP%#D+S^2E>MnyMx$JaUT#HYC!@L zyB>)>8Hv3HiG3Q0{X7g*{zEPJ1d?!tpL)sbFBRiC|z5hO*s3;!rg~ zAU4!z;UG3tJPE{xil>9vQ1LPl8){Dd1SHN(B=#mG_Bjw6s`)C24Jw;Kxd!AQDEkRW z9IEC$hz+&)3y2LB{|{nA#aSZ3NbFZg z>@OfT)Pmn2HfWzNX!aE3I4GMd4iPn?aiH=a>N+VT33Ct|sv#7KorlEkLt<}6VxK`` zUjwnB4!R3sgPKeX3=9wB7#M`X?0N=RJ;y^=UITCvfhz-@e0csGaz&QdEhpImX zVnfy30>Ftq(&3E_a9IunV#1BrbHiTxFc{U5}J zTELdbz`zLIkIj|Hz#t4|i-N?VY7{_hs3TMpk;;DqBneXx8>+zt#D*G_gv4${VlPEv z??Ymr0I{LwoCmQ%r;{)+FkA*X4#WoKzk47FsG>JW>|Y=@ND%`A12^ch9H<&)B(^mY z+ZTylio|XNu_0HrFw6$Aq2?@40+s)_z@g5t5lLbz5_>Na`ydkg7!vyw68j<&`zjLq zE)x48f?dz>62W13i^Tqf#QuiF{)fb7N=77DE+jS|5?c(3ErrBZ0<%Hk&%nT-2IfFQ zLJx^;gv7Q&V%s6HU6I(HNbEo)b|?}%7Kxo$kHpDDV&@{UOOe=>NbE)=b}JIQ3yIx_ z#GZ!4o&{xt{l5sx0r`I!5_=sIdlM3S7ZQ6P68jhu`xFxU5)%6w68l~S%FA_Txi5&@I8$x}b2;xB5sYvWxBz7T~Jzd~W{u^o}vu1IXqS%xt6(MaM+NbEEub{-PD2#H+GS2o#q0MY2^~gagU(!pX}g9beiw=T5Qz;s+>jC6>0@B{4ibm5 z{~@uNKnK-8#d#oXa1LP*fN;S66Gvi8Be7MH*qTUe10=Qy5*u{7BFsTvNa8_A>@Ysi zegUY9;*cbgkl3KB>|qAwP3N~R)u@N+=s{978Hqg|iMbpPd{&6s$35`AQ7gP8FXC}R4Eq{n-7T%I?|94+CfwSi9^}i zNNjy1Ht5Jhn0i+vaUTd95~l$W4meIh=L9lBJ8fwoaVR?%iCu`q2Aw1bQ{Rpx-iO4V zgv6eW#GcO&YIQ&@0G&DrGiVc%qFqSreMoH3X@ju7*+q~zw4ZhZiG2r&4LXewrv4L5 z9OVC>Fb-&;ClZ?tbO;*MP%b1k=paLwK?+FX>PT#DB(@0>+X9IVI^?h(W{@|ML@*LN z9ElA&+Kv(0JIMlxL)nE$>{28)=x8}cXy>6DBo1XyLa>b(rXe^Cpd-{6q3!22AaN*r zGZK6I^!Y_g#Cgvm30;|fK6{gR{X-<7r$}tjX=^Z3e;|o7fDXcj+Q5Ru2A#6T2yIM@ zgT$e1IV83c5*u_18zZa%ZGj|VkHmIHV*4Pm1CZFD1KeO1ry+^wBC!jR*i}gEI?(yz zFwLOT-C*pANQyvr$-~6wB8h`ee}jo{KoZ}H#NLakhmCi9=iQ?~&M_k=UT)-eBrELFbM@)e9i8MUdE_Q;WBYi7w>euU7(HWCiM&f!5}N z*w9t!CqZoJf^a9$vDnb{+JzuCbb0hF5F5IZc_WAoU5tDJ#D*>?z7JwU*93n9v7zgF zdD$5l7=@tSC>0O~y1v#C#D*@BjR3Kst5eT|*w6)|KR|5g!cczD6$;R0m?0oGbk$=I zhz(tQcm%|TuKVNQWME)~F1hpN1Qlq|WpI5U3FzvwV9-&2&;?&LAU1Su)=3Z>x?Bo$ z7YieF1(PM{&>rYwqc9K~x)!Jt#D=cW>U8Kj zj(5}Tukni4PXLv1(0TvOAU1UB{uGD}8YW|4V0aE4%5F0vepba|o71|b@17btl0g9ra7=n&3yMS&WfL6F0 zL2PJcDh4_U9$GDVg4obnU>}GL9mabOVnavVxIjCLpo3%fAU1T2Dhb4f7SiiMY)}CV z%BO!o9Ox)YH0YR1XffCaVnd5NPDw-;J_f{wc7SzR7#M`08O$8Y2A$;S2xWuvl{=IT z%0IqPHYlG2voJ8!gEWJZP$X0Wlx*UmY|wmFDwGY%^Po%8LFz$m+d`-~=tR15C>wMt zPA!xTy05Jn$_Cx6)DC5X4xXP0Vna%TdWQK>4#?H3plndC-w0)ca{6{C8%%@OskdNO$*`R#*3CymC90v3Q%z>O~_YcYjr70Fx z1_qEpp!C88WrLz$0Lli%lo*tq%)r1P17(9kLJ7()XJBB^fU>JW_b@`)pkpgd>Y*Ia zfqS46Njr zvO&kYWI@@W8;uH}?0V2$!evm-eFg@G8YufC0|P@7l>Ha9L>J2DV`O0HgR((`CsUwo z14aghSx~kkBLl+%C_9Lefngbx9m>eSum;Ko9Vfqum7yLSya|j93_G9_4U7y7`=IPj zMh1o>PP1H%_62XrCwFDRQ6boU|~B<@9-7#P@~Yy~C;1|BF|nTdfx2+G!GVqlPfvQ3y6 z7?h!G2POsvEhyWSiGjfY%JyYqU@!x*>p2-1BA6H$tUw%21_sbw%f28sDC06PFa$%{ zpp+a5WrOO+cqkiGyQD(dpsbq-WrIrS8W0<#7!;LIHprX~C>tbI-v{M@3WrHhHmH7F z3SxuuAp--$N+=toc@KyUQp~^rKE+dr50cF;gTz63m4SibI+P7k{|dy0*3j>uY>+r3 zI|GA|Ahi5vg>b<6RRY9@?y8Z2vOya3L2PI(ZVF|C3O-9H8#AtgVIa5>k*TS`1}_3<4ehCL{$peRKy@9AwZQC>vzZc@P`g7`qB( zgB)}l$_AP95XuHQ=sA?F0!oS>p&U><<`0w&ie3gz1_mK%1_n@ZFAQRX(ggzpgCvv< zvOpfn23epAWrHlxhq6HqwSuxiA?gTagPJR@Aa=bB0|Th}0Xl?E2$ZiuML9@977`LE zP&TM!$bzy#?kIq=L5;sMC>xYMYoKgU;|p|<9mq^jl(j*{K~0pIAU3ErWME*ZpAY4L ze6tkF23fWN$_DvnJCqFy;k{5csKt61$_DxDB$N%hPWB3v4LT+EHk1u&=skq8LFwr^ zgk29lMC>hu13r!RGnAdpz`*bm$_Aa2_8-ayWd>F*1_mKH1_tn%SWq_TxG+H|8+1E? zIFx;gfq_95%D%+Fz@Q9egRZdEe>XzepmJ(El%2@Hz_6DK)D%=;U?>Ew zVTDS7g8B-G4T@k;xdUZ`9Pt3k2KnF_lnp9t-ay%)!uAuC4eCDqfU-gU`2%Hx5-dMA z1A`Exn^Vsq3gv(-kcP5B2~ZKr231GuP&UYyx==PKp&3HipdNw?hz;#8c|qAAGyR}! zP%AMJ#0KR_(B4WgyPkmoRG$=qIgo?;YN2dUb<_xDgM2du#0E7$85kI5LD?V+KzFVP zsY0rg4N!4V-M0xY@4?)?W_UnmyCyLnr9ffj^F)%QQ zLD^S84O=Mt5d#B*5|sS})UbuJUx6C7Q1%Z71_mQ28dl0Y>s=&|3Pd}Dh8d0&C9?bG+qB^2zxy@h^fKA0800QP&UZf;!rlIfCXK{ zB&5N>0P3nML&ZT=mL`-9a)LgT4N6U>P&TN8Y7J$BI;Ehg5Rf^b(!d=eUe5sPaQZ?x z44^BQf}w0svn3MB2Ho-)4`qW+8%%|=QyCZ-vY~9yiH3zxHs~1gawr?r%Bh92%NQ6K znxSk^i>H$pR0wM@fUjunhf08Yk5i#+&`FrHp={8(xXtEwC`cbc*`Qc`24#bS@h6B4 z%EF*E9Z)vNP*y$$1|e-oRDvc-Kx|Os6f{u+VuMNpS*RLN@>b>p6~fvK450E5G*bdn z1WH=^P(`2;+!V?N_5ZD*Y|yo4j!-tJx9JXLcYqH4gtBLXIulSfs1F_qWv^jiV2FpZ zcYqe2rb0QOBWghx6o4FYl!1Yv5GsC}fq|hM%D&FPz)%ZiKLy1ll>Gs8l`@nKx-GIF z%9dngV3-MIt1~h%EQYd87#SE=g4y*93|5Q`4C}!h1_oP328OLrwgV#r!)_?sgOP#Z zAe0TdT=+PY9m&YRa2CprVPs&q3}vS=GBDhPvWplQ7#>5}&5R5TZ=vi7j0_B)W1*aB zjF2l8K)#>J$iM)anE|oqFfuT(@KV?J%e~C<`Y**`O>8nur0Z0kuYRpyHt9 zPy}Uza%}~a4Z3u=4$97CU|?wB2bHrr3=BD-K0QTo%f z4eB$jhO$BB4rua42*d#GO$CYTL0YL-L2T%_;cX}zlo{?r+2C>(G~*%!O4*>jKp+VN zh-H7EY)}`BUx0x@2-J-Q?Inb=K?X@f*`QiO9?Ayw{ft0t=wKvhVnxUZ;vi?JILJ&d z5WC(8a!jfph+_mf9X1if1{I;8)&P_ZvMd+M1~ux7p=?lNpd88uW!o+g8&vf$FfdGj zvO#)5b16b5klYNqLI=bKmG||Fpo%~N0Geb0Nr2kK>!9MGY`z7`1`Rgtg0ex4fdf!B zs02O+WrJ>!Jp*Nf?$o^mWrIr88&Ec=D7Xh<*E4`h(I*fN1E_?21!aR;1|Oho&;S!? zt_I{d&@sg9f(#5oph^|AUJ%L#`4Tig0}=;SjgnAtkT2z-Y*37-LfN3UnKo!@1f&5} z9~wd>K&7ZTlnqL~woo>xX$qRF0jUQyZ9Jjkpi4vjp={7$;-OGBs7i>2vS%|eFeF0R zD?rf-Wv>CXvq6(MAVWbzWW`VkP=QwoWrLbL^-wnGR@_!78`L4_hO$9d+tUZZ07!22k&q!4V`5YG{FubAhr!Y678b zP_Bsvv+JQ*4$Og!G^9h>poUI1lnu%qbs#o${J#at1{vA~WrMQi6et^1o6d)_L5;#y zP&Q}~dn=R;8qwcV59NT`(1)OGP$T99lnqK~=b&s*7w8g{4H}kx3SxtjF#`j`YbYDk zY4`|bgQDO&lnolT`3+@*avYy91A~w~DEvXkSVK7=-$+5(p!imRvO#gI24#cdSO>}m z*=+=6gQg5DplncU%MQv0HT+$mY*4g%LD~JF_O~#o{I_QS=ld|I1SosNK-r+Yo&;rs z`py|p_BjRyh8!pxG-g~6VuO0`3=9mdP&UXj-B30tY9>P2pf1yNC|d#4&Ylb9fYRDx zC>s%ejLgMwKY#e*`Ne|55xuyvM?|( zJOQ!mogfv%D-g$tfdSN2eFtTON-jnb1_scH380#g9m)pzj2FrVsTYQ_K^+B2C>zvV zl!vlG)qygU4N8D!AU3F62aU7XKslfq%n8Z{rCtvx8`R?nhO$8hMM2r1jF13jgA!UA zlnp9L3!!XK2vtDYpafnAWrNxQEf97+11N=eK{yPc3S$D44XQAvK-r*#vmC?*4H+>o zFsy~LK_Rgj$_B;jPAD6cU=Kstpk~2YC>xZGFGJa&D84BIYT~;>N~rr#2~f@U6v_sb zRh9=HI*`Sup6(}3zxLZ&*DE=Nm*`Ngc49W(L9=?IH zL0!Y|P&O!P{z2KGf`~t~c69Qs`f`@^DAqvU{MNI;f4f13flnwG^A!wXi$P03fU^P?% zRKzwx*`R3dfU-g6_CeX8pq>I{gF3qNp=?m=c^Q=5!oa|=2FeDFPHuv-L8Ft~pzL~3 zaeETPfleNuhq6Jgz6xc7#?o#>*&rX>hq6IF_yl5uIs%~9Gn5U|`wz+nB}OK31_mJ? zNKGpWVuRv~fq_9<98~`MLP|hIs01i@)uC)qYS)FbLDi@+lnpA~%%N;ho5c&n2DRHj zl?s#%in1^$8+36=6qF6>^yY%t;Mwnb28LoN2juEXC>!LE-9=?k2JvOyMu?za{S zU|;~%1vjALpknwQlnts&o#yPgDm!hvO&eX zKZIS+0Lqua5Do*VRg(r{gG>Z<^Py}|TvkKbp!CrMWrG~o24#b?-%Jo2G-kxWz%U=m z26=2Llnsj3)lfDlbhk->%75sNhyzdwP$6?1$_Djz&qCRtpuP-cgWPu$$_CYP_n~ai zWnf^Cg0ewAP=K;Q zK2U?QK|audvO&H#g0evg(-z7Gl_f4vHYm!xplnbM43K1C&=m?{U;q`FAy5fWEtd{r zgHjL!14Ay94RS=`_U|4G--u72zl)t``ul{15{$OfIT9CUGulu0`6KH-J%7J2`}9MJ z3nO`ti44^LVsF?+f*HwYL=f(lO1xjdjHEKqg}m_1#gQ9xf3T6%%vpApJF1CsWcp3x|v&kG7F(4|43 zg)Y9+751|$Pe0x$Ai?N2{XwIE`}F6j3ndr>raLqVC{I^TTWBzy{{TA=FQ_>T8o>tL zW*Rs>CvBm!Bq+@=FfcfPgrIC6Fnjunw1w8w=O18Kna-ZRP$Cf;{TD!zQ1%@p_6raj z8arQ**bLGP42)259wfE|hz)AgfVQB4*x}O;s`Keh4{*0;nI0D-VZs#=#K-{3R&I>b zC!}!8O@EcXP=hHYXu3$oLO-rM2+0p?3+1MFWh~U-dJ)73zPHMaak_!1z1;L$AVHpB zxG@{1RLf1*%3P?yBoRD4By*u3lS=UPB_P@$c={I*Z4*4*C2OG{lSlCMDIhu|c={6% zoe(_TBzvJBQ%>;o77#rrc={C(y&`zJO3p$*rUSv#OL7+aaoq@JWB@h!+!&{wQk9!N zPin5jbUS_@0j3YZ(?xO@`Y~~YOiuyP3L(?CfM|=5=`48*{g_HZriXy&hLGt?K=g)? z>0dzfm5}K!`3wD+euPY)0-{+$r$5PG=*J}x%E$mJ65JT4FR0llHa)0dp#hUa==7F? zg?>yvq0_H`=z`GcDuoOEm==UiF9FdsG0h2^o>H{Xk8?#BG>E3Z zKdd1?{Z`RJ4W=z&(^-l^J`0;30;11^Oq1N;?V=a;CaurMhtUDqY8EmGPmn~GD zzAcwYV!B&bf&lNA2&hvS85k0$+dGI$Pv51iCNce+k)8k(L*#Uk@`Y+l3z()i6zvnA z?(MydpJ`6y^c0Zb4yNe|kJ-hhw;5Lm@qopyrZ}@(-o%a51z7%O^0i<%@fkFYMD^b(GR4i1RZe(d9G5yw`{Q^vHqNcl4E>vSuV4i;A zHM^KB=x#S;yJeyoLHp(y+!z@cil^Iagi25MTInn?{gu;J0j8Sh=}$nKU6`jIcnNb|gR>=M)a z7Gw%ANyJQ7sa~kY)B)Au&53GaNX+ySko*MZ=^ti9iwmMj=fq4u0+L?C3<9{sKvbFd^zbWA{7fRT(^Ei#SD2?aR4|DNy+Jd{B6j+gnuTi9_dQIL zm@c;{Q-H}Ob~;P#LN%r@5bq0VaiKbGM(p$ukUS3y#6&MN`3JGnmw@C2Sf(cwFo_A3 zf!2*OKw34R76w#&I#=C70VXI%s12$JG-C@@G=WuGYyHV zP>pE=`}7BsRm7&x0tvoJn7#%i_<f;Fw;pNI-15Rl`C7rj*3# zJ`JFh1QqN83DzV|p92y!fC}CM2~J6z{stuI02S0~TqwY_CULq=<3cs20H|OUNbpGF z^d6940#xu6NbpYL^gAHI0*>hc$4$hh&nx#5VEU3cU8iZG8dDF)^bZ$R#iq;IR0uHf zBu%dY2`=E69&pY{Z2GRIg#t_}Nz>1O1Z_AWKH_R#D8RHOX}V1FLN%rs&gl*3%*Cfi zH!tL8%Hf=z5ULwY|c<6}<&Er9hY?tKePeAe3(7p(r{}NXl4kPZn*N~0Mr``GN-qJXH_6jmS{AA?t>BvOFj+-R=ogxq zJ}J|$faDptA@ZOJL*(4FBW1cu>q0fQ2yO-jXU3@|97;?)snbhZ7pgJM;eq(B>`j^g z)0x!iM?ivmc&2}tB_K9^-VF@_rVpvpMcNjsF?sM#FSw#ACJS0rjBI#G8Y6gi0p$3j z)8DV-l4h#mo&KRYK}_fhFRI@kq)p$_wor}n#Pt4hCh_U(eoPl&@=2f0(!NlQ=??Go z1uxmfggE(7^%SH}4*|(D@J&~6j1v=5M3Y~TK79#Do`-+B!83L-A$v6WIT_QxfaHDn zr#nm&5EF_z^d}(s z8iDBsVR~Xh=h4jX$eM1_xloPihQRa<^CpNfz2TdF;G%}u^sdf@3QQ}6rW?5Hi7|2V zPZzkPAvXOMNKi+3x`R-MIB0qa*`kiz=_*|d)tFL*!I?=YkRLUm7UWJZ0m+vLPcO*e z7Mt#OS3`hlNAC0^Ai*A};IaRP0!(*ur;BtiRAX8q49OUN&J_YoUvj6XfCLW+L;QIi z&3K8t>03bZPlTr{gzJe3eM6H^$eYg6vrvsmKxF!bpJ`%3pm`f)=WofI9s-g-BQkx$ zPj)dOI{{SZ%M?ss(z8%a>wyRZgA(MnI#96%t`$IxWHj{=1=GKP%wrJ)n>T&lzv%)@ z3PsahdKaoONr+AVV7ydJXeFAan4;-ZK=NzErZ?0!iwmMjKPa011SEYxYtWe7`V6-(h)>+c=7ZWki3NWbcfjjVxpkQ31p8K6f-g$n0~!)p)%73 zh!P>tR0FaSgOceg{R`C?J*Ip2FH~nLk(mDBCMb#YFBD+%D49N|A5`Km)e3)Prj$WGtzmR)SR*W`r) zOe{6iV?creauC~RfdnIJrmq1Bn#fI0_`@zX{S`>Cqh|UakYI(}^atfkV$-drEEHhk zsh#dKWuY3=47uqO_Iij-?*a*W)J~rR66BGeULavFHvJYzP^5198<5}>`RNL?qs69c zO(&D4czOgah>$5(*_ed?$8fCOU{rhy8{Qy{UL`ssH-ViJmwSdyByP=G0+ zVY<#VkmZVy9GL|Y6lt7Z0}|YzIDNwlcCqQZK!O&H)6ake4=6&Sj%)ft0j)2J3=A(| z)i(nq(SdS;rznICYxZR{PIsBUP)+ZS1_MJSXy6y52y_4vl#WJIKVcFhgGt!*8PgXk z>4o+(FsuW0JfUh~8LuAHt%Qn!DCUU_3~EBtUrb-9#CqffBg2mA{4*9RGiffKrr#kp z-D}1|0j3(Z=`k}FsxfsgooFff!&zdmE3GFyiz6GM#Z zw3!Q)*uEcRU=VYdt}%0=5;HFoKi(+7L+w#_9X>%fy+USWQ1NbD^5q4i-iR1JGhcm^76BfEET8c1&P(pi0Y` zar%TL9x1jL@{A1sM5iYRN-6QaFl7YYY0Tix$iT3A`u!vxY1S9+j0^?S`)4gwV>34~ zH!?Dx&OcK{g2}>Sx}%bfCew<}>2s=gt4|a4iJ#s!dtt$}Rwfo1Ge?Gt3=9Vu71o%cKbOC4=_#VmQdwV?s;UCv8m|>6OWLR$I$}{ z46+}1n3TXGFh0ZfKl2vKGJ3Fq*2Xn4G0geF!@&j`djqj&G%*7$cYuB6?o@J}6VYmKov{*$>+j7c4x_fU&;bp=vMlFfU|^nJvv{G5rUp9$1B>zrP_9_c!oa|y z0ovri0$P{Jq6wOKWoBe*=VV}DyFC5i;)RNgH>N*cywF-w5!8!tVf1HYU|@>@wV}Kj z<3a2#)6JJG)UO9EEoWh6n#{<+z}OF&PB5fc&EjVzUVBVqsulRRJyX=MeY^5?2My9PHCI$teGF041D7t8 z&;>2nV(S9QvIy}qFtBX~GeINbY&*crMpgy}w!>g%{`6@}7iz`IvokQT-8jm`z`!Kn z2HGld6C}$l09volcI!410|ScyXk{_mZ4jH4fdzD{Ioq9&ObiUdENu7Mm>C!Zib3wX zUjoX;0@Jt|7}y?MU}9ik6!Kl0&7}z)&L5>px?XqLzVgv<~7+5Da zL?_!bP+0RYc7n_nVH04KWMyFBUJTMH$OsAp25tpV7z%+ojNE5H9AQRKTrzR%fSe@) zPI)X0Y@n5vY@&>}K~5=PVPKekWBEeedS-S826jD=Nsy>w@45xro-zrP2!*&nyB&r2 zSU@}JKw~A$LUo{YFEo!Aw5Y!b-W}x-Rf($GhxEL7N=OH;_zW`_#$8k`_ zAoLBi^HFFP8^{r$ZBWcYHf*4}h~+I00|WapBwe?CK)OIHsThQMLAwxzcJqLANrJMl z5NJUri;yG}Xcdq!2m9k(HU)X4D3%phA;?#PGMkw3R+Xm!oVWI!N9=&3}m9j z876ji#!xN>2JSf^hjM_~4BR_-85r0(8RI~yk6W3Mfq|V191AMkptYjx+>C;Z3=FE= z1xySK>^zL1VAbZn3fdCE%lIEO2gRMo&QQ<5&Ijg!mKifJu=6vvGcqvfaZd*MO#p0y zKKFBw8wJ72Ou2nHLE+5^3LrD?Opp_V!M2)%Qw6&Sm}9~H1Qf5LV2&j>4@j99I8|72 zH-HQf2g}%S*Mo8by96UBE7)>7f#OmUY>^$eCCCX>A+AG@nuOB*aHd?qC@Bk4sl`~&#J~{1B-v39icoDZH;_rP3dGZ41l1Qo zOp-T1JY6s^m`O5@8I(~NL1j<~ljK@Zl<0$bp-hr5K|U}5hg%qvWDy$!1G^Dp7%Kxq zIFsZ{ZUzQ+W3XHVlO$*dB)bWi7s(`fnx&qBf!&nx8509T6qBSPNTV5;7tJJ@3$orE z98WP!l3PLUwqOL6-U&>Svq1r42@Z=CCdqD4+Oqyzfm{-aqnGRBE1Ll=6 zNiu@M&=$-qXOgsH0;NAYFt>t9awW(LdoZt(Nvb59f!z^oLlu)$4v6Oj=5;YirDT>d zuseg3(<~;*+aUW~z;bh#BtgDrcLmF>VUh&xGGljRG-hOASjQx}02CDNU<4s87B6r(?PHR31S$0f^Y$}I7J!WL0qZ-!Bneu+#qJB{ z9b}RO-E`0H2e$qYlO$+cAG<$T-w`IsZjcQDVBS$C$)}*;4fF(u=m{nUP8L;AfxQ9b znIOgrHc-6>D*dHfKm`eCff)m6jRoVJyIc$mG9sWgslp5ltGE~#WErEFxy~?6Pn@SM zQZECV&g>LsU^oJniDopAWsCtyGsuCa_a+HLZfjzgCk)oeXu-fBeH*kD95fFPKER7{ zju=73gdf!44vC>XFZFfb;8%P!EODbQpF;~aZ#1_s5c(+{s*sH~j< zVuP9njHRIB3%tcbArxd?AGjU_O~rxQ>~q+8rVFlHC=s0w8ovux0@W{!6F~+uO^lZT zHIB9jGccS6J0*&#SXGuWnyH9EmNAB@gn>Z@G(o#pn1SInRKA1(A){~%~8z; z^*pXlS6IJLT=Xc&Uw1(zE2!=Y0Q<{uy3hKBlDbfv!29eUKy6Y6d-5Sj{ai){1{u(T z?T5k)45HIEEEHvz2TiKM9DQj0LLtVx)32^ysKyFX(mZX$LMhg(!VCVa})l zPRXEP2d!HI85}?T&W43jl5d0=7>fD8fxuM6z#s#fcs(i1z%Xe#|Hg$<^&lqb)EH3k zaHxW<^kI;n1Dd^uxQ4mp7YhS}YBVU#c!S*l+K|sU2Xq9CdSXfn10y7ZU1MTk(9{4O zo!|}58;rqP*`RikA0sFfzk`}jsv01VB!dkBt)yX`bD*A|fkCr^k%56RnGsZhG6rcE zr51yDpx|Z<)&QH43O0ig>eV#3S3zreKwbr%@*>L^1x{PhOeG+1Fq$#QSb#R42s1FW z@*}(tnivH6c?m>py6DD*{Ppsn)B+L(83IX$9LlncF^mQb460i|>7yU)XwVL6#yPVE z7#P&RZte%WS(KT9K^^SsenwFCFaz;(Qu7!X`@t>^XJ%l~1ho+uA?g`JA-uEH5)K-2l4ln*-C z0OWpf>R~E{Wixruyfa8UNDh?wq8S~)S|b=3RCj|KYTF<&0$Og$IHyby=Gbju&oKr; z9J>SJ*kDL%+XZ!Nyhbi4?shYRv@r&0g@7XXG`OfNWoBTI0hKu*yCnrd*;tedwCn`L zw*d1c*+A}&6r4U`^FnFHlhfC1UMN@p6y&5oU?V{J5wr%KagMAI1A{s^SpI-rH6IkD zKbaXA82^A>!WgU>2s%pQFIbi_MDq$L(*8o^LN#MRW$`~okSUB|THp-K$OOv42bdWc z9TG5zAX!-L_t|_mJrke1_pUh!FO`{+bs)aeQm(b0C^O&oPcqTqc8)5 zS{%snHcSDm3=E)S6Cj4$K@Haer#ySGQ`WICFvx(`pn$?rRd{;%)`bcdpzsC7H6$Hy zXh74k-a}9y@(fdmFarbIe=yLO1+^IkKvP0znR2GD-?~t=J^>uhhQUk>3?R(G!f14# zlYs$*4Il6_Fn}=o6-Hyw9(@qzbTlpo&7v_fFmOc~yH5?EcE;6B{j-s4`i4$M*6A4w=BsWm+rChVar(cP0^A(p3=G<=49pzU zrCAS|O`lw|UVS^q&V`)J(`8OZa!>zqxmAn@v^$ZJAp*3IRdu@I3su?aGJ6(=g7)_? zFfka+2Q@%@w%6@hIE8WgPPLUH)7ADZ^kCGTp1yBkJA|@k%HWu8*x->gyaeKaBN{MBir=8V++M4SQtR+g&7z@vkHui44^=GWwr|&(sP=;~B^jpUk znlSF!&VPL2QdXy6-+=hw)RN$m#FEV9fW+eB?9@tzf_NiSv-r%s%#!%z(xS3dh7yo6 zZ`a6RhSK8H_+qf)_yUOP>GsbSN^O5}W}zM{HmYBr!fGjbd=?Wg4JktyI3-L^M01+4J6nUoa zul3}a-Vm$GGu^>vQJEIN z$ur%4N{`C)4F`o(rYD4VNlZ`h;uM)aA-GFoxp599O) zTU;d=1*R`N9iu#bL$a#G_Q^LF>M&0K<+D?TQE2+V&jsS!f8Scj&cuZXuIY_DOGLN- zyR+~rBR@hE94y-p-CH=5aeBaxrJU3A`B+7#3tW#g+U~b<9v|cO1vlarF;2I8yikr& zWqR!6h5n3c)7L&;D6go&&2Dt|v{%#vjjw@3 z!5Fl32ef1#!~vBwLJS7eeV;6p7c^o3jhTRiLAAXQgUR&TCkr*}LDjAhgBb(pJPME` zs0I~cuwWAPc$d8WTVJC}X>vF8f~r&n)G z;z5Y9ffl1MIzUufmqhR|+9BA}PtQ~5nI8Qhj)xc2(1se#XgK}CdQNdBSBB}1sjOnt zZ=aUn;f1aq0x4lML^9!behAO>+Y=*%A?~d{v6hF?X8M8W3&kN00SQb$KQV%5dh{MC zkmVB|i$kSAu9*(jfBN}C9*A;~U+ST50gYCRfXW#L$i`a`8#J;5>Ii_?prw?cGy`IT zd-S)6kYyk?$Uz`Bx5;#aR|~~Gpdu;|w}aT+4%2AU4cqP@IaWg2D{q zLJ%7i*Py}*#0JTLcD0D`GBAKz{GfCP5(oJJ#D>`=2kKJ56oHmNf)s(m4#ehmozC-i zp?DWZUJcnZSV#yu?A@aC0Y<0rUtYj79}I3M38+a1fi@4zzIubQL7Xr6AiGK;yd%3?c#y450Qm z$iXl+*a86t22h#4J}3gY#kfpHPgmM+ldT9CV-Y)~qKiGyMb#?D7l1KOJc69>m4R4>TGAaPJG z2gR6(Cd9oUHq5=C{38N7JO{KJ92A2f4I5zPmLLNIhz(jg3=#)r9B_aLGJrR9g9Aj6 zfdRDa6qKt$YCwenXmK`(4cb5hIbE!_A*NSuM#FyDjB0EvSf z2V!&EZ8u@xGmmBZqR7oF7=@;=Sx7>qNbCkA zb~h4x5fXa^5_=sIdkYd9G{_9|>oFwpixBp7Q!Nug&*u;h*zLcN*leJVEHq$+kl1oa zY%L_V+4O!14ROY>>A!jR=ucmDA%sVDJ(BbxB=$KZ_O0pbB{jq)KOqVILt=AJ-@n>K ze0tU5Sf1&>R-5ohI)Mgrpw99~Vkb}czZ4?QSU25YG(g-IbVMG^=c|!afsVz4i62H1 zzktMkI^F(qh&a=KmgyIkXN%QKfyS7i7OEk!!;#o|NbC|Mb`=u40g2s)#O^_2PeNkP zfUrS17Si*CxqAsj0vuthkk}iL*xQiUdyv?Nkk}`X*yoVgSCH7ZSwY7=LVf=UN#X|* z8#K!ba~un3paiO(3yCd=#MVG!>mjjCkl3Kp-N0so{O^Dy;fBNxMPer+vGb7F%}DGC zNbI>t>{UqY?MUn+Yzz$3lLYpN7~Vq?eT~Hafy4$K$p&^Z1L$ZHejP4xTOH7t2{bf7 zQ{ymc(Bw6Y9gL(V0g0VE{d(MH<>|L{xOgNNB8jgm<(Wgd`m>{r%@qamgGcp(-SH$8`TMq2kk{;y3doZbA}2 zfW$tB#J+>Xeuc#Tfy8FxL>veUYIeh1r!;+i{AO`OJ0xk)^dU?-3Q2q-5_|si^G#La zyt|QvPENN^*eo9U6iEnla2CuYM$o(gG3U~06H#4VB7?$hI!bc-A2Aqjy_ zsA2?d4g&4&;9_79hO(PMYM|`Z)BpdNB3^$EN$4Jk4Rys65F5IV=>^CLDEl*#I4?H? z10z%%JT?#23pxr4baWu7yinz4U;r(00I>}~>Y-|^Kx_$6>x6-U!2!g9N_c_Tp!yfo z4FYL~vLiv_P&LUQHmI$|z`&3RVnfA?L2OW040QYnNH3J#1QLg;=>f5!dMASBSYhEi z44Yk++#0H6j${Jf3 zhk=2?8^nfc&O%~$BC(f(*dWae3=Hc*Y|y?m1_p-BJPZuNP&Vk0B$&refYd-OJ_}+) z_1@wE-Jt^Iyg-up1Y$!qdlQj$rulr}D5-~zGfaeOK?8P8OQ1&4t_B{|AYVlJL8`Q{SU|@I&vKY$#0uqO+ z`43`4E#?QE<_~3yfY>tAuZZpuGE@PxK}nQ>!3c@%2x3FcOh96nOz%IFCtkl6NoYTa z4Yl$Zhz;s=GB7Zl;$vVChO!@k#G%$d1+k&(KO?dKf!I(rETAKup=v;9*f4?`-k|n3 zKLdj>=!_VUi=~hhnIW-Vkl4W>HdHg{02-J>xH&y(kh}8Hw!(VnZ!RKw>u_u|dbQfKwGH z?<@vMfJPQTx2_2=Fn~@v0fovYkT}#b&~Yqa4WOGdk;LyJv0o#xzk%3LNB;(~q2^10 zPR53^EkPYYMkpr=Nun0ShFaVKVuQLJ3=9lCf(#78Q1&8_IMf2rVIwfdZ3T%#^&UoI zgU^VEir+_w*E4_)4}k?W_+WUb1)#G)V1{agj^qXn^fNFp=nFA02t(OcAaSUnt{^tl zL0%v>R6G>KhKfgl*ii8d5L*}&{tOHZ?O+Zl&>0wJBe8dY*ia3JL2S^F2Ll7cagZaR zY|ybCFo)g+sexMd2*if!{eZ*<9n}HzFoO!{@NlR>pkp{dXF`CS;RF(gYL1#7-?2)( zz79#K35nf>#O_04Pex*c4#j}EaXykb=u8Zl_$nmvbx3T`nHY>R&{}RMlEgkF_8}zp zDJ1qeB=$8V_AMm#BP8}SB=%b*_D5k8MDyk+lEhymHY@1Fb!eb*g4xp#IJWyupT{pM zvHcv|qE?pa?*+N#r~kUSg~t{&i_Hiv)P93Ha8NcAs2c@kgFACjHfUy;5t^+fr~8YD zDo_7aBFQuT755^Z>0KhC64T#lBuEG)fwV)FrGeSgFZ2b-O%LN)Br*Nhb19zbSxMSF zs-Q_vMrcZ33{nPVuR>z4o6aw3AkKJX`eB|$%37eQN=9h9e+*IuWxqmVzXP+U>r}6l ziKEgC-_n3D0`^;%+BpUeFROm{8#K?mhdJdDB2Tph-1r z`tCjZm8Vs!#>r-~g=; zHi7yR&_I_3wb-GB+NtUMLW{(wYc1;L*{&wEsDPy&R1t!YwB~~hae|Muh7L!9kF@54 zoTCLk(i&=d6KF*tKV-}we55r$189hj0eqr0s5W6>V3-0`16p1KTBaz(&j8+8x&SH; z8oXJ?209XfpMe21x((_)ffRv;Cij9AL7jgX$_6#uPD0tB6nF*77Gq#wxD924hNPZB z*`Q&qw@@}{;O#S%4H}vJ31x$>duR9$<$$)*gZf@V(BVjK(BaJj3=E(p2!c>HXv@1O zlnolW11)|Qf`+XgNL&!I7tjRC1~qf7plpzT9H4Aa;s$lz!23@?qiTUr3DCF|=ynW{ zp`al~&}=z~4cg|O0#yU@K^Bw^8sja1vO$A)Wl%O~OE&oUZ0OKq2UHw%CvhK?4LY%) zehQQW8k3v_WrKXS0Lli9NiKu3L1U6@plnb*u?fm^kKc!I7(}PbOD+u1IXbfe8V#N;11~toFp=?m{_U2%4Vh|F6Oh5%f zB|rnc;ZQbcXgwCn1`S6hL)oANoepI?Ot-JvoV@*8*d9;D>9cEWLZ<)!BgHfQca6=8 z>F<@-8cf$;vch0`KWiw@^!#rta;8_;*+@*UcHK99`Yyu^$LZPiHWkz3U(2dYUoW?a zXS(~O2?wUfFDmqyF1^xDW%_gZMFvyF=ci9UuFj_c+1S2rji3oGq0?+&NFcx&0vS6+cLbMozyE;buR576GTqH0LqPJ5Kh#PF1_n^M3mQQNwf$|UXTRUC zKK+#QG6CKfFtb2s4Nm87+AKZ&)cgGs)9soz3-GE0K%K$Bz#u+-KD(Us^jGph64Rem zR|@ck1VCK@It_gK>7BmP)Ad}-B&Pq{=_|lHApl{u^z?X5YiHg$NQTKy&o;@EW)fh8 z?CqXsk|&^bCIIS51_lPu{2$D&%^)-V{$v&L>2{`h0!$wQrccP+BQ{-1G)#aghH?4@csy7U;rJa1F}?Sy1!D8G%M&{h05vOncT{} zH9-hjz3KhN{xXbA(;J-h#HPo!ZWiDLonZ@evB7ltxJlAX49wt-m9m#XE5bp;0-!)) zU|M&nwMzhjm&Zli2ii7I^}^J>dvv*-iIWi<4&h!3qhXI<+_fttH`z00dbHi<1kW zmI_ib^I!vSTAu#wf4e}CMg(Mb4CE$I0SD8>3~CyH91X=iYzz#b!&ISMxF10y;UGOA z3qf)n5z{B+?GY0LZO%YiFu@?h!N4FWGJT8oA|bc($Mm?i0~}0(Hq$p~ zFA|$x*LFaF=}6Obfx6@kaIz*bU|nCGM}0* zXu3$$5Ohl?i!x~Dlldknj5Owh)XfEzNSdHkN=%GQp!N$B3p;2~g>@On^xylJDllDR zpDue~sTD71`h~@X(E_wRZ1wa5ri%<1%cp-dT_jb19ki{Ul?jv-Iap4D+{(xSx)Xy3 z6DudW8f{#Eu+*FD|Rf}LF=<*QNYYYqwJm!M3AVq2*j(}h{HvlpKZ62>fqCEb z4`z!*>luVVyVpRH%sW9lq#D7@YoJAzU0~)q&}OR5V5TKVbO)H33fh=<7|a9>0?~FfcF)mVkDTJp!?r8JKrYe__5zy&kmtk?qBFW(EeK4z||mF@=$VK|^pYsCV>r3p1!? z#QX%b{p{O*kl7k+KSSVV|3a8u&-NQ+AS1-^KOnZC;6sqV|AGx?UEI$iHUTuu`ym{VPFvb%FMvP z#?A;z6`~J78wNQTK`|owTf_jo=?)ZvqFNwZxfl;HF))aNE#QV&zzUjKX5(S(2c@Rq z>9&@O%x&#Jg^+|GXkNi1MyU=Wu`;AUWukO=2vV33rUz{$WMB>}qgPFjM4mw`b>!jFl8 zK~@5^zfMk~m6d@(UV;OZ(}yn@6x&_+Rteqja%W(iPVmPMjOl!1X&;sYq08S0tu@-Q%P z=z&tYB-jj&t`8t1rh+ON2^-LSmIUYk877IFpb}0(ii?4PMdB5xJdpUt$H2fQ(G1GB z5-jYXpv@6sVBnMh&0BIwBndGva7%mx??5i%VqoBv5C-j}l>prr#xHROwEI({tR9pa z8JJB(7#KL_fgHgMZolpUF`@3+ZwOifrv%yvE^z@I)$JUhsAdD*KPAxuDo+`h)rA-s zIF5mI32|^dj%86(3xnGqyRn7(tFw;R4-;QqRH7_=|yo zL6vI{$Ok-(pupGWa^YfN;NWEhWl$Y1(9y#jd|-|)*Kbfb^D}}P4|-hF_!t;C1i%L9 zbAgH#4neRoQ!Y@;ibIGI6m(`>ps526VX&>{TysFa7XfoDxNg>SFfee4f_au)pfxBQ zVvHdFT5*B4&U1)^Wo)=WMHz<#Bd9F1DP zatlDZ)WN)XMmcaa)@y)En)!@!`#?!h6I`$@V3eCHz`($v#R#e;0+{4Zg7Szqm>0+- zcMs$j9Y#>C5yT|dz|6qFp$p~(Gs#^7r3XDmP%RR|B$p+~z`&so=7loJ`H3^A-b0AlHgL(Uz zyhxfJrVM#PbF74l>ET0`dGnPOE1)#3Tor73A;-Ydpdv*9(f!05I<;lN=)` z>;u6edV-08gXJNp`e_G+RuJQ6P-`gx6y%|d>p)ct%NA}12EHTQ3=I5W;uL6JlY<4c zotJ|JRL(H31S7fF>W9BzE(I%5BhL_C-qM3o|fqN!;TD6}tAI4c-!fdI0w{dQC9(lgcTzwEE$7TE>Ev> zTqGNL4m5ja19k!^-KZ*n%(i8`z|Ft_-rM~RG&c)LuAtjRRJ%ZiK=`07cB&gdlh5{y zpa9PTHI_h2{XuI6Z%zN=xJa`;8&vV>9%N-;U^&C|9n^FJZ|C{X11f-Y_ki~KoMi&d z`GVRWphhrAoDI~722J>~gBq{`40@kH@f-`fvV|2q5W@qS8D;}zwg5f`2Cyn72+5!~ z5mZkXCh{>burh-(1Oty1sA2^vu7N3*04ru@&}#$LfR()v#USg`U}{&u)G~tAGBN0Z z_J=c0--%E=38ofw8$DPR)F}*l^FX0E_bDIfE-Z+PL08%9b%UaE(Qi~E^nQby1uHy}zJ=g|oH@QLwqbph&p{?(IO-f=!45T?@*1GZUd0 zB+Lei+7^CjurY((&B&l<2wF7qU@Agw9;nd^iq=&ywTujU2SHB#0Ln&Cr_SPMV9;L* zDy9>_35yMsYC#vogUw~JW-zb^1+mmygu$TxC0H3~<{7L^lEEMtWU!L3065k_5%GzC zI-{AZ)pYwqTQ#ODG%wbku5)?m|LqT47aif^N82GZy-=7_disW|T%y}A1S~QYMA;(* zmNQr(#j{-_Y0*CR=^GAeD@+gYbu*g2?ypV2_O`4=I+CF!phN>&-U_Z~FzaeojS)Cva;LW9^)@l+5SbkzXp z{tXZtDh}$m!e+2ndm>3}2eCnOOQ0JbL2RgoyGZPpAU0?d5or7cRKY^k@C$5r=vZ`) zgK@=l{)vnH8MjQ22T=#6uLn^#rvC>~AEx_HT6COA$91~IH1R^`7_R#UJs&trk@85H_PBn76+%vhwvYT(7dkTKnP#v)~=OtEQ<>0;CCW-Jn5;*^{|Va6gg#u?MM&se0+ zBrZMu0f_r%I{VB;>Wtyj^+8m@^l%W>KD{19y_mjy<|1`gO?d`}%hNB2gfc9Mj8YEmB~cZpy$Q!!%uHVvQ2x zgX#NcEmCLOY|g+C1{u_3;<1@7Fnf_2lZ@kZi`k1b*FVq|P)Fg?K0L|sT9bVwEh17vTS2E${9 z2h%@__>@hT|FcMWy1+p$f$dIz7U?j7P8i#s_is@!JXQ~w7?dtEDKUko6$yGDl;KunU|7Kf zF--OYL-#=$Zp6`I3=C$8(^;4oUuN`}euH_jDJw(w#sGW|N|VkPmWOH551M|&#ZRw-R# z;>l>59>Bd=Z2Bsm#r)G%xfb7KYSWy?y;z^=6~}Z#?!{(|S<^GP7n^b2c?HupeHHg& zsqM$O7q4eATV=#3qr@oNpd_eeti&kC0HNg@lo+*?*%%oN85pdT3>g^IjlZ;kHy#~O zU~p2DpU(KWL72lVk)esn^3IRxrvw&Dv$BEO@6(?PEY=p5I%rK{ zk-~Nr!Nppv%*U7+rU!^EmSkZAo%fV2wpf+bi$|!9VfqxY#V;7oOs^GRtj>65`%>}6 zdl{$KO;F~V9&+>GQ+*IH&)SS==^V%R7i`x<@b{-}HSy^SGw3_#?hm z5NHaCnUTX7G=Rgz8g0tJzyxalGl@lmN*^ZnW{^@=Z3YG=NzhUN78cgbyb=Z`F_4H9 zsAR2YW?}C%0i7nty2KDfv8U=WFfj4SFfcHK_Pa4K#fX3g>A@rZ-QW}Cz+?Qn?4Ut< z(7FSrHYElIW?j&r8Pj>t9!f>fkUWz$==3=y&_F#?7-(o+88jBc)Go%rz@jz?}-7pj+sx3( zFtBBVnQ5RqdP~8~9iXFy8bM4!(1}kBY%P7DA#y$NR&XmB1_nlg zF)*-ofz&gdlmeZQ2WI-1GBB|105iow(*cLU%p&=E1_riEAhs|Y+f^|Z1_pr=&>;7< zU{H5Qz*~)hf$ciz^eRSySaHxXdNY|p$LRe99c_0Lq>Wi%hXMlw+bz)EBNl;Fbp{5u z+aNY80~2VFhwaW$(D`>PZ1^(d7Ci)AOvfbf z5aiTHAT~1tlau~*W2MDvBJ(vE7}#Ei3~V1jsYX#?#`L*LizOm6r5PC5zV(7MYOwuO0*x#bXfiOc{Q_CQAOJe-j_o%{ zH=_X9q(30GpujVI1_rjjV3Qb_R*Nz)u>E@pn^Xv7WnkdapU$VeSgIa$awQuxqb_LB z9W;Tkn3aJ+EPw|*fdEPoVm+Yf;9vv=t=LDALALRO1O>qvgMmvD6ca*VjusE3z=K_9-(ku!%CR2OZ03I{l*ZVy$2sP@mHuT!;v&Gcd5HgLeL~fnw4NbbuHr z_d75!CCM`|uy=q&g<06U%0P$RIqNbouy=!OVG!WgW?*3N0kN4Fm?lj3Q&}t)S`F&I z2t8J0U|?im0-bTiKC2NlYZ)fQz`#Ct0~-Sa?`}2*20oBA3`{lp3=Hf`j)6q4fkZ)8 z@qr2(1||+o1_t(3pxnwdZTe1?#oG1H#Tgjb_e!ucFz|vFlJS8RgBHs%Fo9+Y*!MHB zGca(nu?I1QgHI1sW?*0sW&&Mu%D@GhhG!1}bC?-ew}MOxWin=GU=U?vk6>zLXJ8PU z4pJYXSjnbF;@Wfd+cHK#Td=k zn8V1Ws=&a&o(SeJam8scFt8^vfl?VW*KAOLC4*&HxIj1dvZsLUW@TV46kuRr&tRGe z8l%h7VPIe{1}o!KV6SAl&B4IHRa9@vz`$O`1PX2ju9F4~4D8il$1-sVfm~h#_8bRS zuLuJJdo5TqH`iIvfpc|W4iDEWP>9xpIlNqKY77kQ4NRcvTs|%)RR#w3MzB2sT#rC8 z+yr*91XmEq`7KP5ObiV5l3W`U85r1G!6ry?se@eH2Ifd}ae&TRYiIh(&cGnURVV{W zHeeZ9uA?AjonVd}SGpJj1A7;kBhSDF${4RfMT5A@QJ{tpr3fCNvhh~HA zN#)9$E~&m)i64}A*q1PYR|0U!sZRG&U##f#&xC=2eG^zA1J@iQ1_t&mU=Aaf7RbD< zU=9=41{DSd_HAGeGXrZ1D1vt|b#pQ>u$E6>tG-yvafbv01N#TC0tPP7TowCAFo%%~ z98;elF~z`o20ZG;^c|!%4rHA!GbkCe&X_Ktu~;!+k|6^FyA3m_24>;P1)T_J%X|@3 z_i}9l$=EUf1f7V>#Rk%8&kV{a0$iZGjoBTULFqz->mMk-oS0>qKuZBxgQj2VsW65%4YrzVq1gqNDi|F zHv@y1xc>A7nv2Dm6lACG)LblGuPe#Gz`g@)66+FBteyt@hqV?Y{+U?`bOP;qQ2OTr zH$pfC*m+r6c^DYDScMrF*!fsMDT#sW5-8UB!5kK@J)m4Gzyb;u4ldAT)9iv^4j0#Y zW6R6@vu)i7~wnckzdShBtxl=_vxD!I8n zfs(Z{n8U+m5Aw1Kn8VA!ngmj($^yF7ol}5aoh6-@fq@Hjl_|Rh*gys@A5gZ`1ap|U zz*cF2IV@aTWEmLPwOK%g5E~?Xb->2*aFu(5jMWA6cp=v7fjN8(tT#YGrq9B}%fP_N z!*0j|8o7YjXaqKw0b;H(*j!L~F+E> zK3Qk6FXQFu4|Nucn1X$`lojMV1};zogMAt6N6;WI7pR57zMPd46lq+bCIRL7%ONW z5N81UN!C4Z-KUUspGMYw2BMoQV0xS0Vm%pfXx)LTt^?INcUeyeFfgz&ur^P>pto3r ziC=E|Grh%1^?{&D;VCPNAlRudSn~v7LG%);9UMfjkS%)+v5bLrGN?Fz!wR|unbVv7 z11o4M43gA7B5VGHtobuUGZ(lx{=&%$Dv!ND&EN_8i$x#~{|VK+4|MA4FK|S#F|cM# zKcK%@q#o3eV*kgQz|X)Sb^??o{5dD2m0zLCKPl4HR%SV2tH`cJ(~@b_?fssO>p)cFo&6e)pz<5!^Mi`dq9C(%;pJNjK!q@ zN&zKopi))>Vo)jAASo`;Km>akm?O==s;f8skKtlnaBH8v7Az{lz^ZRJ-O^~Wt_)ah z3s_VLVoEERBh0|MWO|d)Vm(Id=^Kp}OEFqZKV!65u|5LSXqdz%$i%=Pz$F4I&L^{h z3Kc;H))}CpcnTZnvRqLa_GxU*q6`dTE}(#(&IY>ZR_q4I`7_u+_tT0^0hMzz*$hEy zWI$7tv)ERNFffQ|g4E1r`vO`N&-xW~3fsC9F4rB%{ zBT$2F0o!KqS^XR=AUj#lOrL1HSi~EgT$g~O7LqKNf}1^%WVQ+%8{j?w`)W2&A3y@M zoP&KW+fL9ygsftq@@pO2QBWsSQF{6Z0V|F6lY-I;p&lQU|_$(7A_77JkabG z`&Bkji7Uc&9@G=K!Imt}z#zdTJe|{Yv9079P&T>4b{1q$FUW$=;Fw_zogQzxSkH6= zD8=)zgW{is3zYZRdBGeuNc)(Ny&dEL23BQI`N+>cS)74^wPgAs)5WUwPh}VwIE+B8 zAEpd#1_lmyFcWl#Bu5CC`I3`?fg=^fI7@z~)tBSO?bj&L>x4c;-;t7$SYa2`X_ zc5(;E?V<{xp$~0+kcJfsAPrfdquqt74M47z0d;+a-hm1QAsbLY2swy@9POnGa&)-@ z$kDMTAV-7F0OJ(`9sJJ601cemFF_Xk1PvYuJ*Wpwm$(hLkzVELCId1+9# z=X?b+L8?ZDfr0ZiC`U>gvNPJs zGca(afD~|m*$iBrQVa~7oQ&e2)%sk|1Q-}Nxxi^kh3h5A9o&qd;!>6CyBw&+$OuXV z+FX-C%|~8vde!0b09nBY=IC-UnJ_TabMiBS3S2!d29VhTU=#GgRRpIXSe+@C4G$=6 z89~u$#$}_yz`!XCw$&V*Z#hN491C#&h*K2IvE+Jd%D})W2F?mrT%92Ih=XNpz!d?f z1S4o<$d=0pbg>JkB-kQ5u7{wIm0|>q(b#htaWgP*N`pE6Tpl2f444zo1*)nzWxwg@ydpbF;jGs<2xW?XS_2yz=;M4~50-0nh>eU$-ICU67gK$Ai zvZI8DI3NG4f*kh4u0L0y3;CRuTndIkngGcY%rNmc@sh0Ve7 z6vHGND#pOTX~78Uge5S^+88k~a9V=HB85p-2xO=gSY-*5>>`k}t--ufCfU!R(6s^c z%9v!QDKIc_+JbrIOtKM53=EuhU|t22Y@QlJJp-pbm|MvtSCY-Z=?J!=ib)Q%jEmC= z%G;PFJwp8YbDV5)2HSZj7LI%sM7nJ!S?5 zPIs^c+n8iQ4Gc~XFmF4PY#S(9*L#9f{0=5rP!oyM3mi`Sm}GrGiNYJq+s`DsN0xzs z(+8~a0F!K{5Ca3JFPL|bNj4p1p&!`#Lrk)cpd{lD)^~(S)*Iyc05I<;lk7rJzyyK= z^aN-X*H2akhI;Ty0?r`D1Zf5a)@7hv9Lg9Css~sSM<~I$#=*zFvx?L94xi+4A4T3JNuM81A|Zm=u|qP3OP_&x&*Z2KACt-bM@z+_OQ(Dhgy9 zfG+9)mEuYQdyE+vxaWe{$^vIN7#O(cfrf)s1Y&d;7`W#PNH8#H3+&crVBlT=(yJqo zE6BjWy%1FL8VKwV0o}B68Z-$MAh21Dfq{F;K1BwGKmm3(1_th>phCD`;HM}91NU-} z1ycp&K#o`eVowuTEyKXTy%H2kGX(xgFfeehl9pg#I3i%A$iTq824ukrfjUsQtp!>9 zLI6~lbFTwM=No~1bp{6R^`Ozc4-6bE^`Q0v2TL1hs2ybXIZ(d|6!NwVOx>U$*r2Jv zz`%4$mVtqL%M(Qg242t=Uf^jHFu}l7#L2+Gz3o3pieHI=fe$o71(6bV;NID%#K0i1 z2NYksKw-%sz^%%_z`YyfJw^cqeTI4l?mZw5yMQk!LF@&&msh|YWad6lobm~%@-i@R z?+2SB&0-&qnxle)EOacwc3=G_- zL2MR*)u32E17fo=FkP2oVBkKtT8V*yX$t7RoV%caV_F0XB5?K2qy>uS*C0{W`JiOM z1ITK81h`z_;EFJ0VBnSnb2u3| zz(X{wE+7R`jG)#FCnvWI<0_DWpm`*2S#TM_!1V~^Ryi<-kqgw_=avVTPfT2|K}kXZ zY#s*#D`=xKcfBHGjxqxSs~ae#X@I3&!0ihLMp-{l)Z2p9DKN^O0|mbwSfL7| ztN=Uc9v6GCQVmAg7oc!(V)T<_VDMm+tpr88Gq|AhVU+C#+28`^1u)9~1O=)qW40;- zLkOd62q+gq%I641Sy52Z@n9@eWnhS5l#K=zNS=)El^7Tj7-j81`O=%QSDt|(g;6#Q zl)USG7+IAW7%~`TZ-cD&XI!Afz>vcz`gC*L`FMF1_q_+T+WN7 z>p`*J4(fA(vMMJ7t3SvQNsNa;E%b>p3=BLv^FZ@FsZ0zEpa~y#kTM4b1s_Hp-|uP+ z3<6&z85nr{KF0|QSGXe^9J zz?G39f`KRaE@%&y;yE1#2A)um1`bBW@9Yc=JYgUX7o(!JGy?-qIEcf;sQ3`nkd6RZ z&Bv$+x&VhK5|lmE7!^T>wD3fMIO>dw3#b2aUMyK(2tf0|QS9=m2#aM#cT0U@PTSXJDvzVN?{7U|`@WD`NwtMM#|l zk^zS!6PRQNEujWYU+IZ3Fz{4@LRq1Lk*B3egMmR{svZLaPb-MYATYt0fq|zD)Y)MX zV3TEF;OPM669Iu3P>^+(zii7yb~2I-v!5?>-vsms8?GaV#; zM8FgjOS3@YCj>y}Wb(`giN6pys=>g(Gf#typ`PK50BHXo&wP-?7lAO4Ws5)>ekfLe z!euc?T!K*%H2%l46qG7t7!_GT5wH>@qrj+m4784P4Jgc27!?V?EA>aP|r}rs0eDR^6Uo<^cFKJz87O);5h(F z5G9NZ94t%O7#P@QXfQBP9gO1taxpE2=8KAqYc&>sfe+B_i zamaHMAa)@G(=#Ck2A-E!H5eF}N1z$Z6xP-Rhas$O8FSzh_;4%WmJRexbh3hk@H_s22@!)C!9h55o zmhs_w4RQix^G*O4s6E0X0xsY~xQ>7d1W`s%P?T_iS~fh8zFh?usA1LydufM-j}s!Xyi78}Vp?c~_Za9aTZ$uMOs2 zW0L&`(x?Ltoa>-821-zDpp?Q38vFv4sw@nw8la40z-RzkL~;z|LPy4vpsxQ>P{HHO z2%4heRN+Zs%-3dM;JN}TVN=0u1}-OVP}#-^ny+Hv0xc5ZNoV{9x~fWqYsYi}&&5*p zhT5Q>7f&wZGmz$spt2^9u@rQoFqa1?iIspQRJay`in3BLM+4k<=P3gRg$@_Es4oX| z^ti5qGHC_aKL%W&!v}dP!5l*d4i-@!1_st6puAem*a)&VhNmu+u|1VG=2&SXV5AeP$@8p@dwCl z4m|4_B|sxJg&+rS0JjVnxR^jiqHq?SAvq)UdCmhesKoRK}Jxwo;$NBn}O#LxZB9UHASC+ zf#)!oBf!M~N>xX|90jf_5a$?}6KBBH33B6cFwX%z^1yQv+_?+@50dko0!K~+H>iWk za~jNv0uOQUoB_K!20UWUa~8~r<$4AxM$Umbaa{YRS9>p(thbe7VBom~_IL^d>pD;{ zTxK)@jYIVCTxC1}>f~jDlFK!49|=y|S#M{U@++CYi?2AIPR9y8~;30B6z^&1pz zcfnTiah(Fi`#ms+pKBVZ*m(d}Cct$8wE2nf!jb_V2&KP{mjD+o}*Xb0@rsu;MEjrToXY# zotG(Y;W1D78t0ai0j2HjP_#SO|+wP3>>xt@Wlqk70{7ALNLP-3cQ z0v$5$%(VnmaW{a~1#`K9>WD_LdqNmkK_?XRG%@`J4F`vTjOzx=aO&`^Vgdyp*Ll#D zM61DU2Cg?C6>FI8i8Cmf zdhEOcs4!y6H3Ur=@$6vw0rD7V8!69DFq?rZ5!5`}1$GGw0|(11(7cEYsHoh{bj1*~ z1`!l}*TC{J7Ro%V%;}~K4BW|S>1qr-Y|Nm5V&Jj{6-?Ys?bV3jqR z{?dQ3bo~oZiV$LU;9_7{!zw!;#1m#NH)UYhz$&W(ig^jkg7Bf%{44!JJVUt}9Drls^yjnI{HBcj8fq9+=149Fw>~B!rrp65FrTk!*-3BTz zG?+nc78x$tul1m;sL2c(VUyzmkG}C}fhE z6F`SE^0+h4HDzF!!YdmJN|&C@n@t%Q=J3jTg9-+3W>C{?0k7->kVAc#LFw}VuPo@y zK^|W)?+CB#2~eu@1M^Ps%5s8=8h@~}&+y8Yg6iV{W>CZMEU#<}C@ccOymP#=PKFHi z3_L+#?s;BW(7k~?!C>A6UfHjp1QG(~UF4Nj0;S#vu%VZDWx>fj2F$z6D+^BMvCN=k zeuY=I71UOXW9BkqV0gkSYYa++@nDrtd1XNZ`#cHEpl0tgURiNdP!lH+?87&_vR^?> zf+TPt^6<%C1XWzgV2ylyvL8S#m^9{{rVI=Me6oi?g+K=LNf1v!b_GafCNro6=24b? z2FmGK%r`-D%Cd=|f-MJZp@_2VS5RuqWd`*Vq?BdDK_Ob754J*9Sr#+{!BYU{$tlZ% z)*SH^f_d`FvZVv|mgc;PAS5cOA0YybASWZJ(_C6@? z%fLKMWmzsz=c*j6Qb$=<3luSx_00E885j(d8Q6r?85lt69^8#!X5e6X06I~2x)}q50BFpL z*A>KM5Gl$_Vc>Q9Z3eG9r0L3K$r>z>C~K`a&y?7#Kl)AMnlh z42*N8!)?mtfY=0DtjOS+!oZ*bz8X@4F`Cg|gAshGqmr5u0|VoK&@3NlW{ZJw&KJ1$ z|4b0=Acy{E0y(q}bov37{Lr$Ezdl0dp&5R zo}oI0fuYnZT>n5PD;t3is%io|{*E=w@kT75tT3CAfk9^rXt#k03nGLmLsVDtisG6oxhZ(a2Q4bCuzFmSNQ+AuH}gLnp|po9;)EC^~!EYy?)WK$B5 zO-ZN+X=DsxFu5njz`)o9s_;R%3v>bi;~aH61_o1bvS|XD0NS8!cEAXv4y=obfx%2& zhk=2y86*qZB4;KK+D_gKlFejdU@*ER!N9=S0?vqG=E)@$42*4{vYvV3>spH&pk)W` z^&qWNnHU%>3m6zXKpfC{E*85q7#J8kLEJ=U1_rA~k_-%tT_7%lMU^lE17kOcJ(HP% z!5Vb48K{&pv}Ith%*@JWV4Mdk(vN_0hBfH6K+u_;esIYJAW6_E!3@?5K_?`D?hDF> z%Ps=RGJ#Tw^(E*Xa2;^TwIE5*DGUsnE({C|lTsKM)=xK#UaV9fQzqa zMgve8#^J!Ac?5KHc?tu=3$S!FBPcI}yw9L{fq{WxQwnG<7@`r9YD+)~38FxPk%3`v z3Il_z9YjGf1A`vu=rM4DHuw*U>)oKZssl~JG0u5n$G~6%E(-U8(lcYQWl0GG<33P8 zfsW)e2gl=nXxVE6T7bcL0MssInivAkc_2?rgjxl11;i7K4h*)SJGq#O7}i518I3`? zt5_A}!-*jbnz^7o-k=110xS>lBGbeW2K5>S26)W`D%D|95ey6lk3b3j8_4;fi?SH! z?6YTJFax{(8_4yb9=T}&1LL7PR<`>jAmZ0kO zH%O@wD+7Zj=mcDl-?HteTg5DvuJ5!52PecEMR0E{fI4;&SQ_Tk5C-*iPzgl+3W`H; z6=+ut%9hID(>6d?%Q4RBcYu{D%8Vd?q_Z+GXoFV6Fe)>G3dIi4ZaPRgsLqH|4r(xh z%0Z@y?(llV$YJ{bn8i}{pla2}0qkf*(WVL7F$W6uY-AZmcW|t@GiZWN?gUkit;o_$ zpfYh50|Ns%3E8=Vauulk&A_k*TqfRggt>k$*!72485or7!Oouxc0OaUYHAS!<3jLQ z5U70CnXbmbz_^G}7qqu;;+A^*A_m6A;2|JJP))l8JX`dbm4N}`=cTBAUIz9v^Tf@N zvj0R11B1RJ*rUu7choaz`Z6#uM6sqYFhn~}mx)`fR(~ahfuS0r0umIAZW@d+AOjdQ zL05i*0%SIdJSadQ@?D@kZYc~5yCL$-MRQm|2^mzw$1plDXo9vCK1g9;xB`)fns30M z2ik=Q39x$5P8CMbT4@G`VsMD*JHbNi9yr86n}3wS0d|iOB*z%6>;gK)0y6Hz7y=5E z2jD=dWCNYG!vadCb~8XHXnX=EBZ#qWaAQA#jlIRjz@U7X6LfddClqr(fd`Wy=6(U2 z%L&^0Y6lt&WdvPG%)oF9?9lnnu+{+&ylrO4z{tY{ascQMY1IM-Mm{i)X<~>DXqgBj zKND!qn`vUO&U7gT21WrUAy5~LX=0QnXqWt(6b1$s=jj*Y7fZ4INMT@5bDsV&ez6Q2 zC=t0jPY+C3ETW|e+D&Zg#K4f^431VvpfZ7)PBDx|44P*c7#Kj(&0zJC^&q|Qd zUpHz5X|YH>sPA$dq8*kFJQ(yQ!Hc7bpei99 z9Lb;q#u?{4cY}E_9qhq>91IM~pp|co>EL)}4AxIdNo0WWLR1S385pzCyqg2_ZXl$+ znTzUQP)>_+!|B~}h!otr3<&Qoc0+jgu-o(r$&01fK*{p1+w={|i$x#}JEd4qgJ>t% zQ=mk|ILF)_mJxS?J;fLVDKB<1f$9gwV0BR50!1w-34q%Kpza5#SO*PnDt$3#U|_5T zB_9URJ}$;N5}u%x4-x}am7w;Q4!9bvuZMIHgTcMc1`bd@PvK->&;hMpWNhRBwb7U+ z#_NLSj~JW4+{>H{44OgEVseu^I8d02LEV#RrXm&w%@_s-hWS1W45uMdu%-@!Ca60A zYUnh=D=#3e?fr5EIz#hXo7aZf;vbo5CsU!UNJB*Jn~{- znCCIQFmM|GcYjJGk}hdXPi^)32P4B1~nsAaxpL%fvc6< zkW``v+PDE~o`V+jGYF(IFl2gygAsDL5`!M-vR6=2V^BH)YA6L*sc0O2FG}A;M22D^m5EN7U!D3O&#a)b`)B&&hL4`Od#BV_4A*B%>b_YmHvRd2|7ZHf#C&+IR}&)AU^&J_OUKEI3LzC{$&Pb#F^X-43NC_A3Pk$ z%EQ2*35pbuI~=_sJ_2_eqnSX3D5wt$3i1eu6f7D+*EE2F9NfAAX{~|CGZ(dky#Ue* ziUE+;$sj3N#weIxP~`*Gy8@a!wtG)+$XF~|4^n&%q!^(VR1t&Kf-(xoo=*^Y=A!8^ zd(@wSax%P&&A^}pKFcT?QWk;3#LEX(U`K-sA4`y@6&M)63Dm&{>}ghJPFFfh7-n?H~g3Myo@!KIiRxcLJ*OAJy7Cg?sFkW<_t z5-_KLy3b&z*l~i!5YK_DM+I;aTI2_-9?zjvkLO_3Bd8Wds~$lkZ1pkBMWBNu?8HDT zeUF2SCP-rX4)@z}a7G24b_j{~P$omtq1jT9)Jx6H5D1>boj%Z`2cJv zqZG6ne*iNR)F=dHBya!eyg7?y>Oq5L@&2&zVbBB}CFGOJz)%DcV>D&}73T~QsW2s= zkv{_l2D??Dwm0ZBX9fn)5G~`JnE|lK3IUH?S@SY5=z!MZGloG&uKv{OtN`^)Vf;IF zI&t8ktZ>9o7HAd{CFX0i`{{6fR3=W`?q_99( zL;o8Ks2ku7x@E{3v`HUy2pH%t4oD~AJ6JXgEDI{WK?ACj;ClaoWotpQM%JL)#bp^7 z7&gGAxmiI*PXI}4f@D)t85r&bLZjk$-Sl;pi^YAq>lySw{T*->WH$?Rk2rIz}fiXyT5va1S28YEiJ_ZI&kgGxI#XD$P{$fq(f>Z{Egdm75MfVvQG(khs zAo(tkyyW!Q{Kec%GXth)2d{&CADHf!(wru#*n5b0|NudF;>A)$Gm5R6kH(n$zb)$ zAcr^?ELN@81r1Glvx0_qK&AW*u;-tKFfgc;GBA3xf)WDg@Y)GVSJ{E9H2B|0G0%u?F=bm4A~$_s2!T5jG+AK z^^o*u42qk222)4^G-Ct#hk4@idbOg|5(Y+dux}HE7#JKpK+Uc&Sc(c{1C<*Mpv$wY zL4gS>uvo)kvf*Ia`CwU4Ll`8h43~`n%WeY8f=0{07xX&9r6a-8N5Rq^ps{fV28MXJ zY!q1b23Qt6at=Dq5iT1ImVFJD-32;tk%56>He5CaEc*{Edl7V-H3I{~PLM2Qz&;i% zEeN_A%K9Gz0|Tg}ybh8EkHzGHW%WU_nqQ#_oi$?m?vlkCkctHqkPPw>&_r&+;A9PI zPquDypPzDPfr{$pW z$D`o020)MAqNxgP}yjica_Y>5aocR;vD!CWH-MhN$r2m^yYD0@J-jG_9V%mL+u zX@hpfF&+b(!!F9epby%$2IfaHFfdJIP%U9#Ji!VIN2ZBBI@dt$z00g1>zO9H=x~5? z_7y1CRR^45Z?J*}lR@)?;7oUi6|`@FX`-7ZXix|g&2CZC1-}A|;CVQP4!ez~IylYJEttgF5n{V2}eBB0pmw!63yBDnv|0p}_#*hJm?8 z42%$NImmNGFdk#5av`YQ0g;22A7D;B!wir{P#8&rjXeU=n9RTk;W15Q0TmarV5#?_ z4AAzA96P8wg0^22*%i?9MoTEa8=B1gz}~te#=ziE0h*0@9}P<@ zHte9{;y0+HVQmY|m%K4BS!b}UlsE$e1Gt}i!&7o z1_nqve8C2pfpdWjt-fS~3?*->2Nz3gQW+SI#(~2IWF5@6pmq=_9PUG;AVYB=-)e#q zC@36$L1dUG?yZMuN@U<*U;t%jhxqCDsuw%dgIWs-@nFLt-DV~Z$W)#SgC^+eNsxR4 zvOKtH!aQ+PJ%b+T3QBPE$SDFe2hGg^D-=LeV~lgQCO`@WZt$3?6KES`vMd7wBZQwU z!N8!BTo2>6NH8#f^0OpZ@ltruNO3^2?4EjOaQ{RFJi-d8HdHx4B^+ox3sTwZgB_qE z$-n@~?gn7JOcQ+^K=;o%C&03+EC(nvJA-nXyR|8_9!-QxYk;MbK+@KrqcuT2<$AcR z4Oq4mBnzHl1XUEP6Q(EEE>^0a0ULvNSqy4wXMl?nP$>zzB8G8JR1z$4Ww3)X&3s7) z2Hkm}E^!t+Xw~5pkjufB|75d+W{8+4F00o8?O|ffVF%41F;84tufqvC2C;!1R1q*w zgw>CYV4Lchq!<`@ZGvVD z42&zm+CU)&Iw!P05f);r!DU4+sQs!3nl#yw%D|w`z{tRG7}CuKxm1HO9Xv|Npb5%{ zpt|%zA~;<^B%_&%^+AKkW(=B+3=9mQ`I=7yG(q=|fwO1Q^jCF@<=H^&fTZdC^^4^prIb?vsNK3B92B5HKMu~(t;w)J z-wzJ-H6X8p+lB|hDm|rPk#Gnc30=|*3_768p%@QCYll7cx}eK$7|(!%Zmu*a=nNSc zZ-K+^7>HXBnjg9i=Klw2KLT1)^Z*`~ppF)IGAu0bfx}V<)JXx)|AG7|pA7XU1A`{$ zmfG8?3=GCdVxaU2@^3gq3_8fb$_(nYXfVc1*J)VH2@a6zjzc^b1x z3h3w+&_YO$AWjAbK1d#-9iq+f=`(|L8s+_FlQ&DC+Hd!5avA3=($sn zfdPa$k1%>pS7%@VVeT1>o(j4Q3?R(e%IG;!h=BowIhQhef)4lxVNOvdPtdKRAk6uk zG20V#tqTZqzGL)^6J=lkVa^wfo}Z)`7(kfw6{F`z9tH*w=6ucQX)4UX0K%Lv8NF|) zGBAL!P^9NWeg*~*=J8|k6z6AP0AU_27Eeb51_lsjuj8G5(9Ydry8WT88rv0`7iX|c ze^;=TZTh;$@E1w2N{5CWn=L$oXm#lKnR zgIM6{QHJ6_Eb~DuP!-3*Q2du=K8OVxwPRr@{>L)C|Ji1V?VjC>IT^WQ7(i#gd}a)u zAG1BSXR#`i6les1g#jc2V)=mz0ft}@wPE_itzM$jH})--5Ct^|7#V^=R6gj8W`<(M z`T5iD^(}Uj2I*pChy>{X-C)fKzAzP>yu-HJ_b=9Dn*MgH8aF3seu;&lsG(*$qhX4~ zbl1s?#is9`c$j^*H2n(#0C<*%P>7K&|L;%37=sKH-fd@b@Jj=(4pgCV-;dexEXIu7u>`r z%5xO#^AHeqWBS{vi{~iq0Xu49L;ZXZYd=^XG))Qi+-e2}hCSO?Pg@+uG3|yL_w>uR z9L1*Zj?UqpzGT^aq3IuDg;;n%MKB{n2#A_B{X>F@DCo!;1{Q{id+O(dnx3Fm8zVy` zhytA!!OT#}I3L6S)v=5Wkst~*WX;S_#5f7K@9Lf3;6zCu!G$h7#Mg#>X{e}=Y!~3(+?gllCuLH^bgva3|7Rz0J0Rcixo)- zq!?rg6NABg5Ir3n5)q)0|NtSCJDrRG2QMNhy3)_%NBcZf+_)!So`!p%NCn6 z&YHev$zpX*P+|k6w6N)SmMrdPG@YKaba6T-m90@`{~^l2z{F5D{bFrS@^*n$%b1v^ zJIrp1pRO=7g=PANc{@0!7krs&Gd*F=vcm1RS1smYWNK%h{&MwVU5U2>jLb}&%nXd6 zgBKYY89=+F85o%VPY++SSc&n`biFl;H5eC9uUfO%jcEqk^h0YFt217j{%Xx)E5=RJ zRo5`5k04zMyd2ABx*biFN$C8i%>RbrXGcGF^c#*Nd@Zd&Zd_;3cv@SEhg5ve=68&UBrvi)S$YoPKocVk^dF)3zjK`**-?7+@arShvor}LQo|w+N zYq1IATAW)Dk9NaRcIxyA z%TqMB|2?z#1211{UUGb9US>&rQe}L3>h?Fc77H*5Vd$uwF1RdDYP;y&#abfl#U+U) znaT0f^-nGqn;x#VL~MKZ$HkW!r!R2jH5oAIHvRY=yOaD$X>@W zUE#P7$Mgh{5(BeZj_J7*tpujqFJs}D{@`H-$Mkp*i@(N`WBMG6Y=P?8qahEXG5Op|Gq5dnf}1MmS_3}H%^}E4~jH-raQ!` z@=O<4CB-xSK&BYabb-eiJk$TLV&R#-zt)pyx(rD6fMqt%^n(3DJkuR^=On}<^@$F^57mF}XzYx#`GEYFM zTzvYvKa2lNH(0(-f)zB*pftTPlv8{9gkVksumh&&eP7HoUFqNAIn(FZ)bj9xYC6zr zFHn8WG`;JWsxnCJglPes65AL3U!21{ea}?~9!9?DjTM^Wj8fBeuCeG(7YOC#;RVfs zf*R(a*1qfX#tS~e(;d#}urNwacf8^wJiXwIj==NCjO$6DS4!XhtwEmHSfdN#L=}+(Ha?+nJ5X335{Tlm{Hm2!yTuUUTCzvc? znXaj}glGCq?j#8l` zm~Jh&gnzo9@DeVNW|`^zf=kYE!cCZ-AhbksdV}2p*6m3`OXjdm_usLUYkEE(tLXGO z+tLkKk{EaxraNRr$Z>*3pg@(N(DeULe8d@zr>~b>BF_n`$w8u8)9s)7h;v4R*bEE| zlc&dnxR7NI3=CS+>p|RpsBF&k`5-Q6KMY8uY5M-BKC06XEU{9WZkHJmH$9+BQ;8Qe zCI*rP^;wywzrPx$oDUi|2MK|C^-K()@p%vrf|(h*7(h`8;(=C$F)@G^u7G$D%*@ck z@CCvI*YQjYlNh+b)BljwEKCej7<8a~(4;vN!?fv*?751(9>{{*<72l3GETqH+g31r zfp}`d^Z?HV0ox~V<$hqA?jVsWF#SVco51t{iBzHKc8W{pDHbtsgD3VurwD@fFBLQB zK>48E1wsrZ)Bh?i$@By@kA)b@7(iFSf!qk1@DyUGVAuv#3|d$%#8Aa>9LfhRRTg5X zVYmV1gYiZWq3RL$jCxWMLfxWQh`Fu`X!Wnj0wjGCyLkThTF?@pZ zVa@?vDg$Ce)X!j02T!CjFo2eg2rPGYCz8SoGzaiAvp{oqLJZp&4B&+TLJT_@jG=tc?1T`*ZUz@9A2dua z#ITnk6v_vU;tDbBXDEg6r}w_`kz_nLeLMFudBHyrF$U0xs1U-)qxL4$fi z42Kzfr@wb87f%NbX$dhLV`u`EMIa}EmM4K$9HQ|-w}e8a!2xg#Di0c+5n?#O@BzvP zsR4y352#dRU;wYN6Jj_u{jKT}Cs2vRHeFF|iNtnawI#;bYTE798cW()?HL$BAq6rE z)TYP9hUR)u+@h%OoR$+JK0Uk2kY_sg$0i=ej_C$DA>xeP)3zpw^CBD8IlbXillb)8 zm4-aiXYc9bna-Ur$zuq*TM}kjO)Fh_xnYo9LgUr3yB%Jd5! z@{n}F*f~9+%20fI_iY)T>9;-Pd8XgCui@cEwIrcr3)Cmk#ZgdY=aVhiK}R1kFoG@s zfljG2c2B=>Q%2knH0%qla~MIpJwQ8-L7@$r&4eZbMkpK9DP&v#)}{(7gCT*!z=#|= zOCf^b&{;P9!R|nDh*M8jP2iaxEu@I<-UXAV$xVN@J5Ug!Y`29Is*2^{;9*pUc)hxt z6BLgN_J)cx>P^4EAuP@dO31LV?3mtA?jkO!4{-x%(E%)mK&y5b4W@s%>@Pk&I;oO} zv3>f5rJ~}~xr?HBrvEoT5kyt zFK9>uDJ;RJ<%B>?gP8%!0*oEg3np@kGpbHk=$t6dxN3UCy=~&W(3Ar*gi#pc7HN|u zNX|ew2*SF?CoDMqbk+i%>E6i;co;WKcX%HpKK(b(a;TnbR;hy1Zx?Ujkp%6`fW;iL zUzQ`Rfw>RlO_2LoO~t22Tc+~Bt5{G9K+iw@(+l*Lh)bfRH;@6KAsYq;#+}n2WY&sL zpWQiwhjGXB50_ZQd3Qjh!J)8Yx`2eQI8;UwMFye@L^5_x-*7_)ZU;EO?FC6NfMz-v z823(}u%}NPmd8L6D2Wf^1jf$k3NglzoG-Z(qzF>Fqh&|1n$>IDcnm>fC$Ip6vcX9m zzfT#DOh2%(OE4(m^ z4u~<}(13e!!-F{S>8E*?^GJfGNMV*jlNH$ci>C)Ps*CfUg6Ia-k&LINzqui!j8dK(v0hFXciLxG=ia?1~1hn#nfq?S|CM7$gqzD2NR+M-J485CK(k3=9mQ zktPvd1_sa?tp)}L29b#A4VFv9K`Wd=`aqc;W*%r4BS;&lFaoh*;-FD7kT|HE1+ih` zpph$(I4He>*f4QWy9p!?3RMuB8`_QpIUD4ZiJ&Fwpu_@F1d2%zn;S$hFff4DvWY}O z;sC_vh7KozJO~m8IU2-M4;lJ1_+1^(hFj9_cB0Q-5}qC zBtSj}v0*L+tvM4BWMBX-Faw1INDavMAU4cm(7=^Q)bu-6OO)%Q7#KjF1#PK@`2*}O zXk#8U3Mdi{$@iet3Sxt-1hHX(21+0xaga42HaE1X54yz@Bn}E>5F4i68x)t(5PR!E z9GC`#oQr_QB^ekPj6oK}KpYJY zj~Gay0*Yx7aY$>p7Nka;VftU|B}$Aj(-mx%h%?4ax3F2F%o_tKM8F|7d3pv^2oy@7 z6wWWurrwM2c4T^FR z2?hpG{scuIhz(li1nO*p)Pv#;#D)bcXlDvY929T$AP!7I8RTBjzG4Oj(BeA=5lP5! ztUXj5WHHFgB5{y#1#N%=sR5-!P<(>KL570Z+)&4X;tHe&l#@Wq^+4=J3=9mQN?jxl zbdD>O19Jpu`V(XjDBMA8m^e68;vu;Pl&VDHArTEKG(ZdGKo*sN94ZBAy@8r6AT=Nz zpk^3I4Je&}iUW{1C{%(#i$-9n5S&Wl85lr50I|726Ca=nVyK}Y3-Unhct|<{v0;t_ zbtgcEf*cKEbAt*!1_lODxdE~m@$#!3=9k)N<yXq^cIXqt|J0VEFc8K|&;6%C->q#$!j85kJAzL#cT z0Ofm7QBx1n0P-=2!wv16gSu)UaZm;Zv0=UhHHtyvAYX#mu#f}CYXW4U42aDQZG?gv zl^}~j%@t516r>lFM?h?_??L;1KudH)5<#&9y5I_QxH5zdQYa$FzyRu5fzHhXsR1QG z5Strh0t4h)T96u0T!Z625t1-LY;I^%7gTtF^nyGIVsnFB#lXM-s;Na1>mhLo;=m+8 z8{k12K)wXAVFrQPoFeiJ4805t44}1%AU3E(1x-4E*r0hS(55~R8#FlsTDT_y%D)T@ z3?Mf5Vu;5;D-l3yK>MqeK=BV!1o9cUjsT?$SoV`=V1UgxfHZ*S)IgSi*q{;#xNE{TTAT}(afy)C0NI?W%+?NaqT@V|VhQI}s0s})K0|P@G z$bOiMKm|X@P*AXg*xaC!oq>S?R6v2mLD>ex<^~THFff4P9HbW%^3u zD4B70fJ#FK1_n^t0!e_P7sTcU6~nNCFb(2Mko~ai4{|g}Jt*ctY;I6J!oa`)TEqhq z2gMwS%?+CA18oKXIW7$n@EaIF$Ff5_wg+TCNCPO8Kr^1)pkkAOfdMq73K9nu;~+N7 zVo=cl5(lk(0I|72dvid0C7~988YNFa7J#xY0|R&{5TqUyBA{VGm^q+5ZXj_J(2)rs z4(Om&kehfwm3A5=m_clq2GG$@APu1O0Ah1P$3&E%>OrGXAT~F&4|>0#+I;%G!}b!> ztL|+x0Nwk*AOfn985kHqsaZrDl0-l$9wZJb3_xsdP^k|cS^zaK!Qpk zkOq)tAU4b(aIyo9S;JcBdJGJpk_U8lk4Wb9hI)SSdT2!ic2_2(Cmf!MIdG$^-R(RK(#PP9F)lFK^$&StTQk$ zfJ-<%2Jnb5sImen0+kOSHY|&Q8Y&{78jgVhJirHIgN_%0u|WYUq7SK=LFo&`2AKoS zp85<7pa}uc*t7`fQ2ZGT3=E(RP#{I1CNwC;g4m!`3yKwxp`gGAv0**{)gd5pP=JHj zu-FB4!$5jL1Kgml6i5xoF(5W9Qb2A8i9>4YdIkoVp`h~zKoX!l31Y(x1(l94LqW}T zkQz|Xf!HuZLCrIeILMbEHq1;=lNTfoN-ZEZ%uLWxFJLoWVby9DWaJB6t3rF0p!^Ba z3`$}kHq6impuCy|>1~48+``lMcq~!&L{6CoNGUTLlB|$ZCOC zV#5*zxaI)0K0xIuD9-XBp#?6dppF1%4--hJfg>d!5?bOQ`?*2$88DaTLwp8uHOvtp zmx`D`d;lsCMDihp0Ei891jykcpehEsDw`WxC4wyjwJ2awSqO0)Bn5!_?$ASxM9d(; z3rapBg%H<)*f0w~-FFdlNNNOadJ`#v1UrZgOR=EZ4I~bVV-Op3UOPw?sCEO1gQ6A0 z<_6u-4y~i>K@ydfgMt~vh82@whl0v_ zSX(fLb{qHmJx0*&|W{2?-FJ8#=xRY8ZpmfZFh&Xa})D=?+v-fYgIR2*idt8dUO$ zfVw=OAt=xWAW+yPr`Vn+rJ9qnXdmLjA#1#7Yo_z!BGbq zM}amXML=g&F+idZ#0D+x1$Sob7#KiJb5PX^5(jAk_bKcc7&bF7Fo23Ek#dL|L3|J! z>mwf&$QvfdRDr4|KX1NG~Y*FM#Zar3X+} z6|rYv0673u&5D4cgn@wpGQOgfq?;ZC?+UFfY_kM zBB+J~u|Z~l8ZjU?XqpMsX$P@EnPEF9BpetRPC{GF^&kmQwfYk(0orB;S_cji7h_~# z0G;6_0(AsvI)Mx=&4q}7K7Les2HfW>;WI2cpDuh9;QxF>zMWFdp5F6CF23Zbb z?*eu2K$e3zplST~AV*X}avq2ci&xO@Hjo-n(;Ia78;H%y2-?`lzyM;KFfuUcftuEp zkOT-~!=e?Oz(GSZ(7iSyRS@$*(JA6o&%gi*PS9wGh!X>NWhkgf0I@-Ozy*~P0|UIE z0tv!u;wp$`pjsJLx`GG7oFLT$D7S#j0hMFfAdgi+iU<%J=CML>a5+J;KezyMf{bQ@ z3os`J22h-V3N4VULFog;hWQM{7XcM4py5G~1=SFr9fYz$bq*-|gVcZ$CWy@q+6KS? zu}{RAfuSC>ClTa3kRnjZ1hKh6nU#To0n}IpDFUh40yPw5DTobI1CC2)1_sbT2kCmVPF8&51>2_5(jw>RGfp@pkqxz z-8~Q+w9)}w$ha^tfC>_D8ggL(FZBQ&LIP3)O32)xGy%03RGxsuL9K64c>-eFg7QDe zLJ$X(l|UAP*r2Qg8Yuy>L0Jh@h=ACj{tIY=2gC*yFrWejgE#`j=7u@~oIC2E!@D33 z%n_iGK9I$rcn8&yAVWb33dDw$jG(R{NF3A-0kL7?vq6@*F))Be|G=eQ9b^yz#D;|~ z*pr}a2T}`)e-U@k))z>M1hGLgE}(H>5F6AG0@rx%3=E*O0kTX4su^5>xI@NeKzcyx zK_w)pRRvN53Ly|1mL@=@BS;OXi2#aS5IYlO7N~0l;()RnIH>C(aS39>Tn$<^A_58$ zSR=_3l50TKK1dv78L06MVuPXpWG;ve%F>|0IuTFEC<$n!1||;bqSeDB4ugUNs^|m~ z8lEQ zfDFHZ)Pt6FfwOu8Bu#+W+^0a{1YK$eQY63#8M6Qd5vUCcZeN0CY+yOUlYs%0RY4Pb zAoZZ47ToA)fOKdf+@?u~Bbtl2aEtCyzrbF4F>;*Cuqy|(W!PuaB z0c0r1so>F%Mo7K~v0>2xDldvg;vUre;s!MW7#Kh&6fuAlfr?vDp#frp z1{y%+1c(h9M*ufE8X@Te#O8)Z6R5)uQUeNhP;Cuz5U890v0-XJX%eJnEhztkPCW*3 zKr_0ah9ig#Dp^65AV@Q)qYGlgf*0JE1ZjfxC7U2Y3T_XAf&htAhLM2*gc*INTX;iM zO<`nU0AWU-=_ODh(49sg%;+{1UKG3ljqa2s8Rjp92+|!^FS8GWXINnD~|@58{*!wkWU zpcWQrgdeoG71SYOU|^WS%)lTFWrGf=hOrlb#C;eTK$kv)Fih_XkY3QB4+8_k8ju<& zdm|Ei2Z-&%z_5pzfq@M~F#1eikp%JA6=nto5N7n5{v>IMzNZfZ!y9G@hFS3eWCf@P z0~-4W83kqkL}G)+!a+Hcg@u6ugc*IN$0S2+kYQn90AWU-=`)~0paZ2rn9*nY6{wI8 z3j+fPgYsMoL}LmI0|N+yA~^-(v>Fx$1`vihtpT+471S+ZU|?urVPFu3vOAI36F_Vq z28Jmt5X|T^{Rq^CH7pDaAk649Ep>@j{Q;=TBPfLQPN4Zr1_lPuU>+ls4Z5%Z#s+ob89}XiXt$LSJc$mSG=nJujjO=e zpdl|98&tBx*q}57V}s0tu|W$EU~Et=4r7BlZZI~ee1@?*L8Uy51Da=ou|X|-7#mbW z!`Ps44Hz5L%7?K*wLOdts<2_~>!77_(2#h9#0Ita!D>LY{0}4vX3!ZMPz|6a2Urp4 z5DFx5aG?oR13KIsrp60NO&St=5)ykJ5_=Ws@^hHxZAcQAkl6Q-*uRk2Y)lLcFug)Z zY&j&hF%sJki5-Pt*E3`wI1GhI>)pdo>b!I}-aa5*u{86U@=K!Q!Cs z2OSm!=78#528Pc_Y|up@Fb$xKBVcShQ1Jkb0#77%2ogIUiCu=ou0diqfkxS2hISxH zfL7MS#AhLiFGXT+Kw|GkVxL1|-$G(PLt=xL-h<2s`~M%31Q#gZLwzQW#MVM$n<25C zkl21m>}Vu*GZK3m5_=H~Lp?kZtwWO7g~SFe+XuN66giiW#P1`qKOwRIA+fnYn-QU& z5kq1t!`bx=4CZhS1A_|^I|zxLj>IlTVuS8shdHhrNqjmIdkGSICldP@h+PkL-DMC5 z%6@>veuu>Vg~V26Lu5Y#B(^saI}VARg~TpLV%PT}ai$=#XCtwfA+h%$v9BYsA0e^% z*b$D?L}J?_vArN{aQb72fN(%j%#e%3u0&$DA+cv8u|b;-U{L_tiVtHSLQ-=ciG2r& z{fZrQP#rYbzadF*b0B;mfy7otVjCf`?UC3%NbE=?b{Z197{&(qzX8T!U|{G)V$VWi zFGpf;L1G_7VxL1|zd>R%f{t&5dXf)`EzQZmP!9_(4I~LuB(@V0I{=BDio^!p2M;r+ z0ZDu+5_=I6dp&|(&#(ulql%!#NBL zcaYdGk=Wmn*gT*EvYt4J-dMKpd!{pmSVd@!EwXJ{^g@ z1c|)~iG3W2eHn@U0EztuiCxbJ+FlQ}*a?Z9gT$VV#NLC%eul*Ugv9=b#O4B>t_n3@ z9*M03VT02jgC&FmN`DM)NbF!Fb|MnH42j*0#GZh}o{Pj@jl@2H#6HW9RQ}&Wl6a29 z{({726hPDqd`N6*B(??;+YE{Ajl_e`d7>beD9Z2k{NbE&O?Da_Oy-4hn zNbGw^?AJ)_p8`nbKObmMKQx|><}b&A`&|viQR(4o`}Srhs0iuVAq3>z=5Uq za|j8B+eqw}NNn(}WKf54fessjvc-_tN=R%yB(@b2+YQVHg+FL*GnfNTe++R*>?|a9 zITE`WiM;Pc#O47VE(aBtKw=jou{)613y|1rkl5Fe z*iVqyejkxI|B%?+;)tM=Kw_&Rv5k<}1z`5{KkGH*7`IQi-=HCGdl4)IN>mIC_mSAI zk=TNu^M;}RlR;vuPnY*86|Z+g5(-9QCm^wNk=WHp>}g2s#YpT8NbJ2x>{CeW>ku|L zcQ8DGaKIk4NDXfpgY2#eo{qZ8zZs(k=W5l>}n)-yChQWG#N=^6%u;` z5_=mGdk+%(5EAr=vHu~lSwQF3 zLPLcMi7kM{7Dr<1Nii^3!YnXBlCVNzJ0P*$kl4P{*QYHMH_Sp3DnMeFA+c+a*iF;> z53q~Z_aO;QL1NEBVlO~qFGFI3&K!ifdJ~fPQ6%!MI^Q!65ASy?SaG&MPer*vGbAG zH8MzTqD~}`zE+&?5RlX#YpUpNbLPc?6XMh+eqw}P&U~A;5)vc zE@hQR)P=%GY(*rtJ`&pni5-B%u0vvXBC!`Bv6smswTadsNo+!5??7VjLt-C6VxLB0 z-$P=*LSlbIVuQ}Oge1Uv1_pTrgpZAo*mg*4FC=yt5<3ZrorlD(LSnZeu_qz1w}IHO zHqjvv2O0(Ekl447*w2vIpOD!9kl0+HL&u@!h#|3+kl1=i?0PFCjvEp?2#Fns#Lhxu zmm#s6kl1}l>{&?cWk~Gv5H@5+?G}Us&VOH#*b<-vXQ94PL1G&qv2Bpp9@Ed?V-v4W zKoTlLVmBeN7b3B@Ah8c1vCkl}Zy>RsBC$Upv42C@;5@~^2D(HE>UKdSwi*)K7>VtG z#P&sECnB-Skl4*g>xh{Uc(V)r7kXCtv!BC)q4v5%@C)oGWJBpxEM-y^aABC$bh zQXs_w1B0Y0!pG`JY*Qq*GZH%x!LDcMKyVnQAhCBKv5z3JFCek+AhBN{vA-a(K|3#D z4&?R%y=i-7LwfQoA%u}zTJ4oGYtC>!km2q*{S{}d#40TR0g ziQR$3o`S?)fW%&d#NL6#K7z!)ppI0h-9eIgfyDlT#0KpqgvTZ5x+JKNrI6U_NNf`% zwj&bT56-Sdr0h8NbGM&Y$i4NbI-TNaa714#EfgNNgD-Ht6PJSoSkR5_d*o2OzOyk=R*C>~aLV zo?$kE!>|E~y%&jn3W@y$iTx3Y{SS%Ft&8xCCKB5li5&rEgTf!QTMWzrr$2@wBz8R# zy9bHA42iuNiG2WxeHMv*3yJ+4iTxGX0xrJ|$VjCi{LC0LfqQe_WJOYWG zio`BLV%J02VE^|(IUxVfL}D*PVsA!bA4FoGMPffjVt+tl|3zYR=_8^>9JId~<^vTZ z2}2~d9TM9ci5-E&PDNrDA+hU`*gZ(>nQ(SJ1H&>nhk;=;68iuW`z#Xs783h868j4h zo6i8@OKBvw1`^v8#DIe}ewjvT+4~cD!#P&d9has_(kl5u&>=pU2BX~{&you%tT@@ zM`CY9Vjo6gUqoWxM`FK4V*f^BbDF@Trk+6@!C_EEVjCl|9g*1nNbFc7b~X~b5{cc8 z#GZ=8UJPb~!k>YGVI!CWPJayhk=SRE*te0`FOk^ak=U%D`-!2^B#gvXL}KeBv2E*- zINnHX&_xNbRQdr){0|bFA9P(0)G`Ysb`=tPArgB#68jvK4fg*{ChmmBWTAA=m~$b!9L2Rg+uOK#5%^wgO zw8s#%&KGpzjWC$Qz`$(*Pnir#AU4z>GY}i9CJc#P3}QnKtpl;42YfYIFfa&1*}Wif zsG1odHq^|yAU3T0Uk&0w6&(h#p^8p`*iiAyAU0I|28a!{;3pDW%94SB5h@P4XBWnf zK@x9AV%JXuaiA8=0I{LRjLorRU=W6~mxIKiYW9KHP)A$>v7u_7A+edP5TOXVB!v;Q z@EdehhZO^ZFqAC;Q3FnY49Xx5)KC`?8){iF5<3~hhH9=rVlP2rA3p`1pL1T+fTKy0XG6F_XJ_*4)ZDn1{?hKer%v7zGY zKy0Y^W)K@HejbT^6U2t7sb_eG;4r)fv7s8ig4hs648K5Zs5qM~!uJ9oHdKu$hz<3O zq%8vj$YY>&|2iOXs2U>>8>+?(tfn5aOVbl10afG=VnY=LgB39_fcBuLfyAL|azJdT zngXaA(0=A-kT_ILCx{JIvjK^H9*O<39*M(c$H2e{)gXt&)&Q}gzSje>L7US+JGku_ z7=)p0TaY+ZO)!WJbwnD74HYi|v7zcGLD``6$FKp)0p)^|NbIK|HdOO#5F4~n19S)_ z$YLn_7f2kchQ%I{YXp(l@On)jR;Pp>{n5vBBc?3=AJY9H_)s5F0GPz`){wNNBde3ZGgBRj?S{log|R{YZ-H?b7#J3S*iZ|WgV>;xdl(oPRy#8=fTkEh zS#%pn9IECZhz)hz1tj)8B=%zv8>;>j5}VNl)cyzUlVV_C5OqPslQf78wOHN-Vln8{ zK4XwL)G|vD8>+?@ss^-mG!P^XRTB)qr+T<%7f_YU&wEK^&-}sYvV%AU4$1 z+d*v5?rH`GhTR~8pzLEHaj2S$AU4EMhWkkD&mcBb4U;P(cL;&l3ZU=@Rh?iCC~z4V zJdoHWNbD&{>~%=&6G-e!AU4#pn;2+5bS| zPzUk2BOD|JVnfwffY?wq_8>O&a5iUm1_og$I~*hq^<)f)4OL&_j#U0vB1v>0u_uGr zP|Y(yY^b4|k=SRD*w2yJphHy|q3R_)7#Lt|BRIRBfx!pPVPMEXVz(l(=OeLqA+gUP zv0oyw|01y^JrN-%4`PGPEMQ<@Q1%3s|4@z|NCFxx79cj%$F?9gRNM>1hN=%nVyA%E zP+w+&*ibbkAU0HQHHZz`6An7L3}i8k-35|>Dw+ynLoHqgVnY>e2eF|R>;SU3 zsNQoRHt1+E1_p*pAPb=EyC89>nin88)cm&~b}$2EPWuOl1C`+MLIjsI5?dR@h8pUC z#Lhut_e?)Oe~Ebg0VJWDNbJWTHqqED1^io z2eF}Qlt65#)73$2(3mEuAaR0lKum^U5E~kRksvnIvLqySEfTvA#D=P$0%Ake&qZSI zKw_T+v7zeEdxOTbpc-y~B%tiiNNg4#L?Cm6*r3D1Kxd2jFfa&1*`QlAVM7qAAT>~5 zYJu2LHP#?D)M7^v8zc@YQ@uePXb=T~*q{r6K?lKtEP%2TLE=y~IUqLFf;>( zhz+&uHHZxr{|aJ5)&BvpLHm+Hk?hOBAPiyGGjRJNf>#X0hFT^KVna1+BC$zzPEc!x4}V zpzQM?aj2SGAU4!-_d#r^_**3Q4-gxw<}cVqP=h4=7#J9#Y(pfr6Nn9UoCk;vRTBha zLoEQ^zsd+YABTZ~A=Zz90W_cn3h4|aHDyTb77*JMTBj`rai9jR0pv~~0!xBJtf!Xy84D&$}P(`aiY^cxH zgV<2<{YdQdNbLI{HrOBr2F3se21Y1b8Hw$V#Lh!vPXMv&p&Dj^I8e(Lg4m#Q85tND zmIg2|2t(OBLE=!y9Yhz0>p;uwFR-EP1*WD5C(hHR1N5WnAIS0sG5x+wk3E>k%8ep zgab;j3@<@!s1H7X*w8~QzJLsZvj2m`p=x-85WbWEv7r{og4j^?K1l3DBzAWYsQia2 z+76O{8oCd}wgJ0`;ZP6*gD{kR79>s#gnUU|@u@t&!L%FgB?C z=?8J3hRy=9L1(TqFfhyuW?&G8vNwUmp%xrKVxL1|-v_aw=J13dLPZtChU(P@7&_OCUDXL3crH=+Pz*K^8#SUqRwfkNpC% zq3T(~5G^IHdJqRH0lH-yK2-n`hiY~}V*4YpLqKe(-gpojs=fw^-3Ves)ht9}p9Hb} zLE#TNsuIM3#{DA@8*0!C5F6^7H(?A6pphLgHyq&uHV_*u$iToA4p9R-i%kwB4mC#w z#D=QTfT{tVU}+N$D*vI1oRAc`K^1`xD~ke&L)9dJ*ieH~plU$FjTInqsG2$u8>*%W zss?n#;xv#rRLvX^8?2_Dfnfnu5$JTREg%V~qFo?1SP=umKByYdv4@vH;!rg=Ky0WQ zwg?6WMkreW#D)gDHi!+nn*nt0YXk!WXfy{@vN(gp>!Ah(f;doiJQ6zv#D*F)1&O^L z#D=Qh0%Aj>?*xbq6+Z`JLoL1pwHS0<<};8uR89RG5C^L015^>HtY(Qs#4#6$4OOEA zVuQ{-1C0cL*ii9kBz7u@4Rv$@i0usWF9SnKBm;vml-&Um_lK7M(;*zNs%1#*qaZfa zpbH>2)YTtBY^XTsSZ!F-n?DLs2FM|?bwO;X#qLP#{wPrS50$uvB=G^nhFb6�H%Q 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 V4})~fZ9Z(m&FHiJQs3c>SOBgOXZHXA delta 2556393 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

    F= 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%0D(D7T(tN;YC( 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�KAW232zaN&FEK`@ISSgDcDje~=`=cb!2s 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ⅇF9c{TUd9q3j7Daj2Tv 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

    |=QjM%(F$&f->#$EVM67S~|9#WwvOud>+m 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

      AkZIDdK^Ic6d}Lr?0G(FMz`)4Bz^%#vxFfq z6sczrmI3Kr4YCqcH!#j&XJTLwDJUsoU|bC{k}*gS6g{GFeGClzpc{@D%ep{%7#JAL zz+PC!#K0h04ANFMoq>VDiGhJZ4D6!{kdGKc#6YKafsbNjU#|S3kZmC} zT|d`afL)YPUD8vSak|egH}C0}9{Jd4OE55qvNAApSaDl(dkQm&GcbsmFfj8$xe^Qv z;+;*5jDn1Y!i>`mANvST*Ap=2GPajwl3-wv(qpifw2{o?1FL6cV30-;09|T}5SX6t zUm`Po-60i@=>b-pEYk%J9T1&furQWq`iEUjlGFLwEM=!BIMs?UN>2Z9&sUt$Y&xTt zs`&Kp_k0C}L2(WVK?a5#Z~=L1y5JOx=ItAPSY2bBJ~Q9KlQS_VCqFr{B)@3-MRQrP z>0Afhc&2NXuacOaS70GKJrG267g+F5H{Q5faJqbfg%&qlM|{cjLJ{Mb>F-P(*rxw3 zu!x*)&(AM2z5lm0=k$U?3tvfu%49H;0ZhiH2Z&m*O#fA4AvgUFh`3+8k7GJZsf7qjaY<3i^hVVn`RVzk7V^_0N-d

      J{auB$g!Vf!zdl9@G;!WOJwczqL6#{r{D~ z_~~(9cnYTPJE-hXIu8p+XD- z3=9mWP!6aL7GmIIaGfs5xLTYOl>3Dk1Q@cXU%VD5&IyWPAqF9a>gfl&+~lX{tkCAr z=Kz%=3?dA(pe8{0Vho6Y)=Opp`4-}z=@Wb`<)+Vfv|^pUxxzv{0uuVAdC3eQ7FZ!P zSc*%EKv%BhrsgIWR3c1^hnRyT0F6fmkj;#s>J8L%oE{j!Ek3;=-;i~><~9eO=`&x2 z@-Qk-zg20W&nPp!%3May5ac-#5eBe65Stq^PQd_b8jFBRT2L_$D*Hk0Ck6%vzUhCb zZWp%%ON&9Yf!N$i5T8piFffRSF))CNF%X*@>J*T)2nPd$(R9P`xgw0p)9p@A6lalV zU|^U&QN&RM!fKQ;)|q}%fk|b$rlpL;^p`xmD$`Rztd)IgD$^H&STCb$RipuNHc+7p6`zd6UW~+EH{Dm*Kz#a-&3ZibjG(d%s$K+% z4L-sVDz1wp4letk;!YrOXphW|5z+4q1c^h{M1$C%kY!+CNC2^+>N`PfA%^Med74C% zVErf1UCS^}tpO>3YTO87gTk4Cf#E8M4K@5Whz;GBbRXmZDEm8-I0vW*7n-hDYaz$0 z4PryhG?-qi6(!E-H9hg@4spLOkPImCFfcGI2eF|x>_=i>M`Aw)u|X9WXd^O+4ORaW z#8#R9D)Wfk^bA`Wp6NSy4S5X3m>C#g{*ppsD@syFBp8G-7dHNe~n}m8$O$6(Dvw)0&1{K(NXpmTd#GxMi z1gb}&@$du62Av`K2g(Medwx(I3N;5@$FngofYeAr#X)Tb9T1xx)aGGeU@(Aiz>1tf zY^Y_PP&P=jKa>rMf>0@vvH@Imo zz`ax?a;punsJUON(u&J<2cM;@B~T+B)aYekUDf63s0B0epHZ043a27rb|u#XzL`+ zI+cZip=SERB}~Gipo4G0XT?JFG6=GPq`)1}fC5ngUI$4Ah67MbWv3UKX(Qa$JN=@G zvH0{ICw&BX8Kj_o2i>hXJ+ambq3r1N!o&9B(>?xd5af|!U`T)(rZ_#3O-&e97c#tM zV_+zlZrE-mGJU3!0YC2m;9z^!wGSH28kY23DszL$YJ<^DTp)sA29m!3{ zco`TzK$QNdGZ5f?BaLvA7No4ME)FA~K zj4Wrgoo$IltPGM%#91v2P0dWEGkR-lY+rl8!klfoO_v4N^moTBB$#+kPv-&-5>6Eu0y7wp*OD zFlG_0forl$85UWO$!bAJ{ATBCMMRyEDQ|H#jFerOk$u@jG36&K|MU?`O|xETF8lfW@KPs z;$Q`}hL||m13`UL=jr=zT8Q$rf%NHsJG9!1IX3WgMz%C0KnBZUmDPcD?U}Rw6 ze9i*u)E#F7^-P)hnHU&2G^`mJ7`Q-87Dk;AP=D2gmBE^UQTGivnKDmiW?AqxWoCs#d49>ioepT6ssg?0T^kQJ))K|NRwMs<)`+>=3- zpvHAjZs4{9)jOIXVHO597ErEd{=>?^z^DbvHiD&~R>>4_FBsGqVw@8Ks)E3s%qdKu z?9Uh^>bugbuXHNEwYg_^hwXb8nhm4RU@GuUa2hGLA-j5gC3 zJhBjxkO3XN?xxDXa19iz+DSz2bnYm1_n?7{)4M# zkO8F}keCn)*mzKPS!Nys0|UrZXSf*LRMF`TcP&`BW!8WWj8|n~$Y7Z+c-KOzUSq46-?( zIH+L)u?ra)805g|p@!)RNJTIx2{K5p07Y6I(@K!a5Cu>?l(8}}NEN3hGceYJ&0GzN zAW-u@QB)vPOW5MTma@XhA4s^zXT>j={N3Ms7twXz~aS-5fm@UObiU*OcXv{@_~hBy#h#=6bAz|W-J)NF%zx? zvKv%>d}e205C;3-k}-yZfdSMsR|4k<1_p*5Ajt+$xY>gBeFJ$Dlp#QgW+F%u>`gny zbPfgv(3P?>pmqYtn|16Ech{FNFos8el7-T>fr+~szfCJ(tkRf|v z>cHt=e|p+O3!RK`4rs38XJ7|~D;rA^2Ll5;s03qU$ptYFfYQ|*P!dl8CkIge07Vt! zoWG!W02kdU;AA7i%)lTG4%alWO2%LrP{#mN2wk22>!F2Wy$opdaDgfV!%L{Uil9ki zH8=}IK@O&8U=U9NrQ;58QUcir8bV;4GntctK?0miJHYmZF*7j8y#=)?A$-PQX>iuq5>ym|^cI1-|16+vsagl}gDprg$P`d^W}Fkv#h}Wd z1~$eXBr}1TfkFKtC~$p2xdk3x#?vDngTf2sR8ZJ>ae;jR4IfcZ%MBD7FdJ1@gUYW8 z&?qU$E_<+xMYtIlG{9C>fO5%VW(EcoaO_k-3NLV$QQ?M-RKhEeb1=I&rvG?sA;T>L z3L8+(@|SD6{1XdJ4Nw^iv001}Qfh$T*g+0ZZ3YEUCoF(Kcfl~uDd2^O$Y%DORbb?&Q7_4#} zl(sq{m9ac1n`?o~zaB_=q5zsw^5A7)Py>6X7gUs}vM?|xOaOIo%|Q}i<^3S#pej*e z1p@C) z3o-$cl-0l?u?Q3rJgf{1T3pqkUV-?q2ojoZ{0fm*LB@ge zsvrY9$Ysicpyt|RkaIx|O2#>tg<#Ho49cgsSYai|W01Fgv%<11n9CTV00fTBbKEEWxF8;ii&(4wF^1y<95 zS|jx$px6dyM$iNzC^Pzl^?{qFBCW7YECU)a1Qor-a9L0}P|Uy}18Rj8aWF8nLuEi> zps+uv%D^xiEEWyQ*x+*Jj4A`edL*$)piwtaO@4Cv|JN3x^&mYAf}o-UJR8fv&;ts< zIR)Yj4B(E-A8^OT7v7}&!w8C#JT_<(tU(->Hl$LEiWnFfnLx93y`bh{7$_w&F@dr( zsJhaP1w}J6n9l&}%djv_VPL3d*w4nm0O|R#GNJT**udOxAnDnlf|;EOR8BC4LYf>L z5MH=6xC_Mz;e`pm10{GauqC?e3=E1%rD+U|+z{DdJ#ft%#FWIuz#yCrsv$J$!BT#p zc3wWneVSl?1v>+SQW+xy1E^;rCCb1cECf=m4>orpNby9FJ?3D=M?s1~gU*Hw3=AnE z3=C2^sd)^H4q)d$VP{~F0gd#4+Jr75;55TL(S?mc6g2mJU3L1rw-%D=N?c3~44~Zd zQiOp)7}R@U^Z=X9!ok2GBf`YM@JN+`VGcq&C?#;%GRPP(F)%D*VPM#ZkYbRrf(jmm z2r?BhGKhLHF)+AHmwRU+=O;6Pk%8f@Dgy(jDA+knrJzy-+$D?wC1=rfj1WUXB@8IV z%79uWpyJ63qJfnel!n9@qnWw>F-~8&dabamj3u;MuEJ3ApK&_l6ANK3nK;nS3{?h( zrPHs!vry!c0X3aKt+fkazPn5dRQ@N#2xtcuRB9WEF~%|#Gl((9fwGoN9|Hr!b|wY} zUNMOKix?PW7D6=}PS1L8AtfR6652Hd-LMGqM;XYEj5gCD9o`?%UTOREeeW$~BxFF7 zwxEve4ycJpszv$1b~=J)XH^*(UWiQ>`(UA3FH-;wL@v-YD`ON>ImiN5<_)0PYsMHx za|W4MXtXIqRY3aORtz#Zp#F<01A{qK0+fBrpkm%ou~G&GnFgpB=zdd>AIcdRL_yOK zlBx{#;L(RN1_lOjQw)>~!9^+$13M_^s-6Yqy&zCd1r@81S|Cq?fk7h;l*ofX<)}CZ zGz-^Bz_PFwxb+wY(#9C94bIQepzNH*!N8yc8pVhK4Pr1&jFAD43WJh_$aJTV7FzXJ zIT;vaK(*R8RR#td30S;fV6whgIwOh0jn;~gS@$t z16Eytxv=WuJg8WLR@@*HAQiXP2~f7adRvl#fqCMddU)egcDnZ`TiQW zp?dntPZp|rGL@hRQDb13F9{9-kQri((X7m8AgO{06sw&K3=A%U3=C(c|M_I0Q7-}V zDY(rF_U>y*X#Y%}L0K6TSGPbB7!PvRoKI4)F3ByBM;U`4&HGy*Z^9~Z2nSjx-U3&H zkV+h+8RAJ9SZkz6ih*JJ;?EXJT;Qk!d1T@A^PfQ;1yxZX{)OrPK3ixpx=h#nVj-IZ z>M*K;r`rC2Oa{3O)Qx7Gb5=fw2LvYLK55#TYR^VM}SUQ6Yl`t}bDrOc? z$^i{2fUK*UzTykWdQfEs;;)>3{fmWastl+<2&xJXOM}Ce3Eb`hjh}$)QbkY@fnfg zI6dy0g|si&?cipRK4@}{QG#(XXsnU}GK0i82gHMnNlAdmK4x%2bL~D^SZKmsH*@;2 zZx-71pr!=_8_P;r1_pM}C@wf;K+3@(Bf`MGPL_c|{}ia2mqWA7Ob!+@a$wtb!fXRc zK!OBrn~ogVYeQ>e4$5h|;PD?BF4&-k9(b?_-pplYUxps<~DLZcnxJkw|F-98PE@}o3bTWntgIhu^V4fZ~1B38gkTY7rnti!pZJ{=> zJYyK7Ep(G{38*b(3yPv?V3m0wooonx4>tpY0%)N9h9Y!4u%2-`IHXpCu1^LHbI)O5 zVAueX1!wsg;9xril4N6KU;vforXWdBFOzW|Sm#}kBxo%GsFBSFk_7iF=7Y!BK7iI5 zftHqmg87sJIFW&xB{F)9kkRJ)cThoayM>vHfd!Q8m_ZYe45BvBYFUgiinWZPm_Z5D zQUWQA0afD+B7C3=AVGt2pyddl6s4^Qw?PE7ECHNwWk5*?WWN_g7TjW!`37lI)HCEk zL?I0)xC6d`(wqzn)BzJAYS0}4YOBODLIysUL6m?E7XhtP1luhFT22Vc!!n@TCqYg; zhpcWEV+eFiSm`+3vz)EF3Yrmy&Ip~58-1m#bhe(kq~f-<;j zW&n@ufr`8{5QC74ff`tY542neq~yI-m@h3DBlo64;O^a6@1QRICgtR>r^}vj8gA4H09W zSntEeAhQlCIv*m+1X2mgYoI~M%}}vY1_n{kl30)!tZ)LClAzKBTuO2?u!D*uLvJ<) z2Cg$qZ&Vmy_nfl#gYG$f0Gj`n({_FJruxg@Iu$$T6HT#y+eJ3?R&zVZ4uxfdPa$lZz2D7U zX!<|<{XA1OEbsAx)>6vAmRU}JredqC#myKh&cL7mqCiVh6ipyYG+8}`L5h{Q83h@I z*g!JM(;av5N=^?D*&{GLah9mGlp50VO>qVWbuQ>?PC>@$yeDVMPXEETTzIWm+zzY(>xn_hR_lw-P)nC0^6+_T%crau<5^k@7t z-B{exYdY`tWUlG$;+DS{pGifKB1}e*r3EaehL%tbh87TY zOorxQCCr9q5EGaTO~K0$m`x2$zzh~sL#W}5hSLrEtVNhjjbJiHaN`Wjr!PDsdThGG zLt(k;Q9G6!ZQtNvnajmwVm4jg+tP)}*kF39x1|x2p~dt!-j-52CP*t5Obty@cxEPu z^$VsTEAD$+O4b`7FUU7EM_!O`Xkmb)!_d+aiD!hoHp0}%5Lus*A+o(jM#!cZ8KJns zl+ki~g^%S1t9m|Aiv~1}#lXNIi^SFdu|eGy(DG{}wl#>&1**Xq7<@o%=t7?u5F1p7 zGcYiug4j@T&|)h_sQPIjaVUEeh|LLJ#Ld6}+5o`_)o=_X0af%GiTxjmEevX{L)GX{ zKe)F|rXI@6M3SjRVlM`emhhYai9@{%?iWMVgPQuF$`s`3 zyC5}Cz3)J5sG9npAP(sMbI=NNkfBgE2Wb2lstB~34rY)9lDHa(4eEP?R-A*_Q1zA| zHdNdf#D+R92*ie(p9W!1Xa8d>I6ddU1fJ@*~HJ`x)|UjtPS8a-r$vX_9=K+Rvz2HKMbZs{;EYz7T6 zLfN4DfDx+bBuE3)5$8Z`sQ3*K8#GbIz`$@9#DIRQxZ94GN)p z&}<(&0|U%55fB^d2no=zpfF_5j3P)JYLE_y4K>IR#D=Ojg{lYjpzT27Q1zZ5HdH-m zToP0>fFd~vG@L0c%)kIr7Y$MbVlXf;q=DE_4cXHL&nk#dKcTvYXZnw%xjekHL6T4# z*H0JRHAB4qERxVQB=##L_7^1fUnI652Vz~NG!k0_#D?Z{3lJL`(vBcDRJ<6(j(`>o zbs!FCzLtT3p^1ZmK^V&J1&KpFHUq?ldTcI;4HaKKeQ&agc>ODo5LDZD5F5H+^&f~0 zRm#c9z`zI^T>uTta569mL)pq8aj4N6AU0IJ84}wC#D=QRM`AZa*q|{928Jmh4pj3j z5F0eO!oa{V4`dmXy%Ho2RkLmS#7TDIq1TXv9)Q@=peSZwcmmP}WxofBL$&<`v7zq$ z2Vz6TS-2P&7@_Jpr}w_h60dg!2|ai)G~N$@*ic0$L2Rh_c@P_F@dFSWD*hhC zhN}MoVnfCMf!I*>THJ_CXaZt`$|42^1`FMH zxC&xJ#czYyQ1x#>Y^eBe5F4tVg@=IwR+n;t*iiL0AU4#KZafSOc8t)C2wpr448l-$ zD3YRh5F6^_LJ%9Oxemk*n|`a`Qm%d`hz%8A3}QpouK=+@1t9|i!$uGrs%AHc4OMdh z#D=Ol31UOlTn4eBYHonoP`AB7Vl(hEFfb}GK)fah;ea!S6cSr+IuI{D@2{g2a{su|d@y0|SFHhz(V*3t~gf zF#@rnmN|piP)7%W*igOE{GeUhP>Dp41XM#2hz%8Q1hJtSx?|-F6#k&uXAs8|5>J&NHdI3!hz+%1I*1K*=rRx+s(w9) z4He%CVnfv*1F@mvS3zv3`gUE=W4r+=f*Se}#D;2M6=Gmu zgt8@(*h)xj(6|RojSZ4`01`V2iCqF`*E2A5z&Q*IbCB2@kl3e?*jGSosLyVL*q}A3 z3=9nSg%}uwq3kapaj0j0g4j^?pp65tYLru$fq}6eDgkPkGWtW}PZ=Zu)vN(xL)93A z*idl`5F0A)2Vz6TgF$SlcoGsj7sQ6DDFU&fYU&%1IDJU$IY{i~AU0I(EM!!Vnfq`D~Jsh_Xe?{7RP|t zQ1KiP8>+q(#D| zU=W6~=YzzdYF2{Spkot3%GQB6P>CHNHfWg=0|Uce5F09f1;mD?gJ&Q%)X?uBHq^&# z5)2HCP`&&hHdI^`#D=PuLt@+VAaMex^Y*8U*SCO#pmuhF*r5Gg3=9l?5)2H&Q1(oa zI8@DI5F6^Q6(BZLd=rQb6+Z%EL&Yy5v2TOeprV+8f#Cs&4Qr9T2XUa5fsRUmHJ$k- z85kI$8YDn$s0ZahY^ZvD5F09P2Vz6jyMx$JabFM{sy+_HhKlD(f^sBOLm84p4TufZ zFa^YhYFGebL&eV`vEP8$P#=E+vGqam%)szXl7T@O%4U>8DpFu

      $4qaX_24k=XVi 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

      IY?I*pv(? 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 z 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 vq43tO{a-PBH}DyzarkAPi-jfW)De*@M_nLtQ{@ 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�E()FfjOl*ii9s5F08U17btPOF?X?com2Z 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�Wz_5aqp`HPx2s9bF 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 z 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%0A(p&D#3=)@{WRZ;`? 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

      OD~P2x{#>QYAQazynXr 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 diff --git a/tools/sdk/lib/libbtdm_app.a b/tools/sdk/lib/libbtdm_app.a index d592c28fa77f0f0e8f4c89a01cf41f1e4cd468fd..1d7400725ff74b50c7867328e5e8406ecfa1017e 100755 GIT binary patch delta 108036 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 R5y20+IvP|`fiSG?4**kW3q}9{ delta 81318 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 diff --git a/tools/sdk/lib/libcoap.a b/tools/sdk/lib/libcoap.a index 9aaa9797ba8f48272803c05d2556ad00ead1fdb5..73394186edc66ee078e70428f1dc6b7787c0a509 100644 GIT binary patch delta 94305 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 awI<6~N=pd1Fff>crfI=OGl0&x076uStVKii5 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 Ld<7oFG?*m-;Q0eD diff --git a/tools/sdk/lib/libcoexist.a b/tools/sdk/lib/libcoexist.a index 9aef5d3af467dc0700cc8b82b11949c520d32d4c..f9b3070b9402f23404900873fd308d97e3d0f5cb 100644 GIT binary patch delta 7541 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 A%>V!Z delta 7577 zcmX>wh55r2<_S_9MwTWPCWe-#6O}dwW-u^JMZ)ubFff4dS_=jS5Z*k4fq^uf`XxefdLX}X13XvwNw_bg1bt++RAuLFi}u2v@kR_n%wKB&Uj_>R=+ex#^lK| z0s3B&8q7UTN=yuDLh2gEX+lbkhyFj{U|1o1jFsVzlLqq~CM70@o=qSr_QpLBsg=x) zyFsj#!eU(PjXOb14dER^lcxr#)(bXn1o79hH*NsYvL6^2G?z`@Ws8zclVaKUEBKp#d`t`4I#3D(A!APF9h6+)d%jn6@B)wlmaCNeNEFgP$y z-pD65c|ouo)C5p2qox?%JFU^hmlr?V%shlVkxPL2!RDsU!=M{DD& z|89&78(;okw1920a+n^Y>g1p>N7D`yu^X%c3l$n~fNZek3j4)k!Lmj^*NnaO;r zlo2CCnlP7zNt!Tg;{}is9_GgLlaGWca-IP3j8Yg?C%+35W85*BHQbbE$$vIRhK)=9 z^Heo%-0T*9ijlEuvS4JaM$Zo?4u&)lE)U~05!S~0Af1i(5TxU^|0`H}PBmVcJSkFz z@zmt)k&cFDi42YZKuW@_SQUT$2L%Z;kFuo^52x)15bRKz$v9oY0>lJi!%veJMj1~| zh~i<~u{k%YoGG4zgMp2W0Zy{Ag4hr)Cnp0tJ4hBH2;p*ZffTT^GC%}5I6!LH*|Csd zsmac85n#R7#LXC85jZ>7#L=7 zFfg!y;*WuW!2(LFKxrN*Eik!{Q+~2{+?jeM1_lNYp2rB0;$UE40I{VQ7#Nrs7#Mai zGB9{U)i5(b#6W6TnHU)Kq2eYWg$xV~AaM{|9;!DONqs1idXSGmwsB}M)H8rMAZIaZ zFfdGDVqnlUP=GuT#0+s9hz$xVkSY!h zNU({3%+z3D$Y5q*kN~k67#JFu85l$v>LHq@A{h!|8$vBR#>~I~3OkUYuV894AaNi7 zGDw4g;SVzd1K0zg5MY5g6ciw;EDQ|3P;-i)5dsP!5F4Z(WM*AG3j+hlT#!T~3j>2C z)W^G!G=SJ#P=k)JKpYIxd<>>W1CkhE4!XgDaL^MZ2QjiD9OTCe3LgfBdXU8+4$MVS ztOy6ivLYNb4XOd89>j(@XaOt2L5pB&G#D5_sS=c0LD71Fm4QJ46j}@n3?En-7fVRUVP+V~IRJ8)(Ov0({= z3lt7e8$oQ4Ng&L_2nknEisYL-Aw}I1lq^AtK{`RP0#cQPWGaXaatlaD4m2r%*m;{j zq+DQOTrl}y=4&BP_RL~nU=U*9WXNJ!^`EK@orZi9~$jAw?RR;i}lHS7$C4OI>*`5B>x{a{9@{{mt|)qeo7q3S_3226bl zl6V4$4K*hQ#O7o$1BXBahy&FODoYum>>eft23VkWfY?y+mdULJzw2i+GBAiRGB9jo zWMH_;1Yv_pcV1=)8>B-6$_AMPD!oDKLF{IzILI0OP&UZsNl^AIW(EdO!3Ht)S+xpoF%ZYi}#h@%(0A<&5FfcSi z*`O@g0%iAbFff41K9HFb>wF2ZUP+N?Ff#EPz93*yla%kCf zM%Kx1%e)P_pm|M#iGhJ1iG2X17izl@R2(EGG�hoL3Gia)g0_L2hzmxwxtdROAE$ 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≤M&Iqz#)vyqg=LCgVwgm%&Ase{Q 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 diff --git a/tools/sdk/lib/libcore.a b/tools/sdk/lib/libcore.a index dae77dc61af7f59dd435161beca71571c049bc64..77f94aa253f74139992091017c4746520e959218 100644 GIT binary patch literal 11638 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 literal 10802 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 bK>Y|%(+NpC!xbS02GBSUNDl~u%mL8=c4D#- diff --git a/tools/sdk/lib/libcxx.a b/tools/sdk/lib/libcxx.a index 6629744aa79049c63d290ab02ba99eea29f70ec9..37275dcc50636e52c43529245b37300ae5488fce 100644 GIT binary patch delta 6837 zcmdn-k-6g|^8{&ja}#qTBQw*9N-v>IlgWIBVw*J>@9RSaOegahN-`N6P1a>pXN=e! zXsFL#KiPnRfrSACSQxEE7#LUzm>C#E1VI7_%#_c-z`%UN07SB|Yl<^4u&}UZ=9Mro zbFj`AW?*3EV9}ChU|=m!U|?W6E5pFRA{YZw%gAQL$-uz$oRxurMJNv}!XYQcz`!Ig z&%nSU+Q7h2&%n&Ys;9`nz$D4Tz`!Cl38aXL{e}ty1Cy5;0|SesIRgU&(?=l&1{Nuh z{Y=eD3=Ax?b|BG>{0s~%az{a0IM`pyFfcHgNHH+5Cko?%fP^*w+qCa1#*BP z*ezWkw;O@o!Y<6fz{(94WfEjyVCAu5WME)YP+?$T6NqMHU|?optzc(hV7evEz`&*s z5@Ab|XJBAXWdvzw=V0?-`oul?zoiuKBajN;y^IVD3|u;s)vWZ>{Nx!J*!(L&240b4 zU|1D}`>1A_#+ZXgo_16PGS0|UE0h{?bopUuE- z0CF4)m#Yv1l+D2vE(&AwaAi;4ZDm>Ss=&a&ZVpn(z!j{{z`$++VzY3)R$*XZw*;{{ zxHgM3FtA&J*gRZG91INX)*!Y3m!c8_1G^1~Ey8tGih+UM7Q~j|3YBJHV7CLYWw`#U zF)*;(gV+iTg0tBe7&sW&JrtN37`VQJWa>RZYzD67+zbrtULbaZ&{ahS26mq}pzvT6 zx&gAoAH-o{WZ-_q$iQI0%)r2NmXU!$o`LU%Bm+YadvGquJh1meKuiX%I*_hVkgY6S z@gSqaikTT0IJnjdGcd4+cQG?CbTA087%($T{$#Dq^ig)Qyp3$YGfoDE59~#ZjI0a{ zqOF1q4D4l$AR`z=6L=UH*sB@M*g+|Gfh?TEA$lC-35X1jXeG$jTCg4g(LX|ydu&ww zzltz0u(vQaurV+wh{fj?FtE2VHghmAsE8(j;-!Oe3I_v&hA0n6Sr=HVj_3uDIlW+x zf#_a71_t&%Mt?R21{2Z9Nw#Vll^~I+j2k%^7+gd_A;3P95#((TQF}242KHHupb+vA zy*k;?R+3R{a)zw}WBue#TOG#y$=hs|B?~~N?*e&Df~yXcWcGqQEW@Qc`ID_O?+#Gh zomkJtz@Wpmd9sq7K4Z${AUkEl!=SWr1Eec}Yb(eBHv8?Ga#Lkl+M!8yzKhPD?W|aA85k5i#26S@IK6ea85p=M6d4#e zeL=Z_LD6F}uak0pzZwI>9!>^^L!1l@N=af23=GOi0t^hCL3flH7_M?MFx-YqsPHi} zFmQ(46l7okned5|f#C;8G6SSb6=V%(l%4GIO|L&$2d!i9aCWU!WMF6zV_;z9 z=4N0J z$)&CuOn((N&v)%$V%$1e!$V%oPnCf|%*ljbn1SI4r`Tae2_Xgs)7Htc9?}}Iq6`dT z&%q*$rVR273}P=J9CHUQ1_rT5;97#ww0QCY4>`v5llOc0GA^0S>nSO7SB`-}ESG7M z5(5K+#V!yhk7+hP1H%DM%ihUOo@$JHCue%fJFgXGU=RdFqIGU!1%sFbleG*~z$$@} zfk8~3shNv`fze!$fx$_TfkEl85(9$-DAO?5sDcbtVhWgi+S8D+Zt`Exg~5d&wc;_Y zLJSN}dxaSo7#LN>6&M)A3!4-e7#LlI7#O^S7#Ng(fE)#pDGpaSI zNjvAtGcbr(a!&r}B_*kHJBOC#lRqC4@x51 zwsH&%QVt+dyUA)k68;xB85kI)t++%P7~EedqX%FM#RAnmU^xz|UMv3&A!A357;@(c`&K_Uzc zu_6o%O3#!S7?ePTErZ&0kP(qq{0t0NL0&HvVPI$gDftA7u(zPNP@6uP$ybRzkB5Ol zI=N)Bwy$FSeh@piRf>Uu@xBNH!+VehkeL!7GbB!ebZPVmGB8LN?%`)(0Pz`_MHv{B zK!!3fNP?nR!CVsT*BCLZeq{j_15m$mf!Pqh3V_%m?hwz4fjCglE}DGbH&6@Wn=(lT z26a&e2FBx}3=Ee*7HcRoFi6;gQUJumu@aM`{A3vOCYSrEYeRf<36z=*#TXbI#TXcr zK*f**$P5W-kS?fiHcUS0XT`X6GK;^3g&ijYgPbV15qLt1fk95{45%@;3&fPZ4r0zy zWMGg}05=T{WEmLb6v0iyHIqyH6)b|385rbr!HvSVAajgcQEOEO2DuDy>(-Ttfk7@4lpUEAL274$MU_Pv7~~d#Mem3)FvzV`0l8$S zAOnNkDt$%<21!s^CcrW|J3vT*RRq)oWoeOTV340Lz`(#~E-k^pAjfAR1Ii`dizd$v z2xj^$J^53BqxTDb1_q93Pz&R@1OtNvsI9`_ox;t)z>xx~sUCs^K@C_55W(P`rNF?z zkp^=8Z;%W~xr8dH!{Gf-X>whlDqEg91B18pdmAX802R&N-!`mO%P*Xke>r`1XBnD1A~G_yc7ci zUzs`s1CI>D1W++@UX6i423$!paD{Qh*eqO$f*>}?0uBbIYz_tnMH^7_z?(~*fkDwe zmyv;CgA@Y;)UmOg3=E31K!Qi57&sXuK&?my@0Q8#!E(}#Dhv#Yb3k(cKpH@;3#k0u z$qm7hW~qD(42ttW78yx1K(skN`QB!CQXvnGktK*~xE0q@>sKFfb@C1}T^iQUGE=eUmj=F;tFG zbh1OJ9OK@}@uA9$J0>@WS}?{>-V-Xx_+aw2P&pZQB?bn?NGVAMhF(w;55$lF`G~>$ zH|J!5FeAn#lbyqi8A~UZhndvRfk6peTC#8{GcqtJDTBm0xGqUE zFes^j*gRavg&7!>R6%S3u3i-e1|>BRTZHSSECYj*I*2X7B?D>%X@J-=T>Kz$O%Pjw zK~i3hfx&yO0t160sCmb*QI5f#0qQh9Wd;VtOpseI$T2WTfEZvIXomRD&A_0T4Kn6E zNE+lFWa*=m3&Z6Y4@{mAt{M7NjDbP17?h8KY?~9OQ44-^ALXJ^&@}CGfaRE@Oz6Mgf9;6uL34c%mHjLC~w3wV2 zX)GNe%fO&m0&PhKCXV04@lR2T`=2r@A6y-;Fcuuzt4S7Kn`VwYlIP?iSe zcm^&-1qKFX84#O=>z&$U#wf9RK}7}zWqFX00GA9q1B0>xh%Lg^&BMT;tO#ODa4{({ zFeod5*fLxPSQ!|Ul|gI;E-qdM24xixTZQW-3j>3)YA726g9aBX$V@d5Ta)VqBLjo7 zI*6^sbxW3kL0JRD*5--^sn-mx2X}%ta569`Yk?$mxx&O47?ia^Y&|Y-kRxi0g4iZp2_O#`f!L-D z-kS0Z49aF8S1(jzm@FFo&~LvS1B1$x0A&USCKXNw2Gs~qlbwm3hk-%Ozd@OSL6cEx z2B_D^#Hja1jDg{hG6MtGIyMFdM*ZEOW;NGTP$Sg<#Aak*Iy2cNCXG>V^6D6K#@@+~ zW5O8qCR@eIFj`FxkJXcRHDF+nQ)OTXXN+bv2xp98;`|@Z7|UqD5L>~(z+g3b2~FnI!i49)%wPu3Ly&AqMM_w#=sEE!@$50IN2{w%qzx#f#DO_h$u!whFB8@ z28Ij+1_nMgkj+u7JpcdyuLnDUA*9NJ7^^|8wZ9Au43WK)Kg78)x=uEamu0k?92y_Zs5g0IJjjdZ;X;Vq@boU z2(W;HjvEyAb3vs(Xi!0yL9$n!fgwq9vPy!!5ZLfdAj4UU84UI2NA^xmO@M@yjt0m% zXdxA53J!%$2?26?1`G_dkko*J6cm_Y9bhF2iP~Hs*M#|ixuJCBCD|}Nmz!*mELFckkbyyc?^kgKhEzv& z1_t$gV5S8F1B3cOF!P2Q1B3b@Fw;(&fkFKum}$n!z@UDGTbqGF5;T&R>chprpneU+ zPwiJ=U{JpWR`o%GfkFK(mgn&%^24?P5Q(|CH{|;t1^D!`}|BMA03F@P# z>VwSr1>&dXPJW*(>gg-Rz@W~+2vVFjQ;dN@J%JI_4o_nfU|>+6%m}h3O_G~|L468@ z9U{lTpgselUIOH|nGm+vWZx8J#;KDFQ}lVyfW#L<#1Bqhn<8F+8{~{75D_kU1_t$| z5OxqKpq4|}ogiCQFoN8cHdma1L46g(#_#M54C-qjY+g`{b}fY6#m~T?z7E3X0EN_g z2)mPmfkAx{6WB+yKrUIrG}$>-mhsZ$#8mOnuOL5OgvhP{1^s;pdkzx=gZcvqyPK1N zLH!|wZ3c45BM3WGk%2+|F@&8V%D|xh1j0Tx`E07VrynTP)tSNe@`KnK5OzGs7EK6y zstN;xx-*2G&db1{?gC-&14WA)GdQ$sChMk&*Rz3ic|l}X$TBdfcSG0=stgS3JrK4r zC?tC!Y$Xu}2K7D&TL_Cw1lOXI`knNKp?72Lk_=T{gK=D46*$M28 zCm?4{gGdB}f_^%LoeDB&2E@5_pg@@kVJ`)Fdp1PPgUPJv%8Z96Yo;qF7OOEZXfUvX zz2~REz@Wj*3O0YK5Cek-3q)L7iGe|b9U{&u%D|w(0TGW@W?<0ZhKT!!GcaiIK*T{^ zPYr&Ec>3hE>Ecqqr5PABL?E&+m>3u|#38cZWhdWD7t{DD&%mG|1C~zhl4W4fbm`J( zV2}hg1yVunTg^ZaKl%P-^$bPjccA{GT&Xex11q>7OwQwHU|^I7DTWGUPR`Dd7pgKa6fosz@G~%guxct(?pZzt1`yWL%&AaiU;ts&F6P|1oD2*g zta2+SOOSy9gjFk8b1n-pFo3XX6>F|9Cj$crbGYZO=4D_2VU?RXma+^CAgq0GvqI)J z>CGQnBGe|^E6Z|O(6YeCpMKx_pFdoPF$6+a1L%R|J^f!I*- zTOhU^MEpL84HbV4V#`9re}dRhab^Ps21YFg2#*)S0jrWmVrw9=^(Vi5D9&q*Bw{~V z@R2fa5RypPWXDI!s+mY4xk&6%BzEQG&PUdp?>w^MVcalT^1VOfmC2d!{TT};?|kpi zcwsW<2Y<$d$&nxYnLad4UiIM^28O$nZNDos#!OE9uFg8Wh=IWZtbW0F0mk!_H-1-V?3jG>yE^Ot pA_j&Iu$2-&1eh-DnymFhjj?@l;16}CCzX?{eyB0BOkVgy902A>*fIbB delta 6911 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 diff --git a/tools/sdk/lib/libdriver.a b/tools/sdk/lib/libdriver.a index 86f6a01d295466c49d1a0caa98308c657d3fd295..a3769e44cf47ca6074fa0c228e09daddb393285c 100644 GIT binary patch delta 896308 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

      Os9l-45T+4WAIPiFAObg0VCl-m)hW~+ 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%0D`y5m~=CHm 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 n~JK7zzPhs1t`#OBLD#I*_%+ZM!*f%H2Z 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 R(Ze?fN%;T( literal 0 HcmV?d00001 diff --git a/tools/sdk/lib/libbootloader_support.a b/tools/sdk/lib/libbootloader_support.a index 02e9db893ca1b7d35e32a40f3ab3e68736a23580..a6a1c24c62bb81743f74af61c50e09f227ebc556 100644 GIT binary patch delta 147279 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 delta 134353 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 z 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 Jff_MT8UV*V_}c&g diff --git a/tools/sdk/lib/libbt.a b/tools/sdk/lib/libbt.a index fb0bd9bbb8c6a61b8555d297f02f6afce1fff6c1..9155a3dd1dc75dea139a58a59321b6250c61bffa 100644 GIT binary patch delta 2687180 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%0D5F0w@#>30NAPi*-BC$bp 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%0Aw2N})|t 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�>QUk9 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

  • %h=WHqc=s0Fw<=ytah8Q=BP*x2MP1r| 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 C`KI&$ delta 538324 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%0D>-i>k>~+LvZvHVfX-BAX=Fv@O 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