From 7e0811ec56dbe7eba92757c7697aac78b7b1ff1c Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Sun, 13 Nov 2016 17:23:44 +0200 Subject: [PATCH] Update tools to latest IDF --- libraries/WiFi/src/WiFiGeneric.cpp | 1 - libraries/Wire/src/Wire.cpp | 1 + platform.txt | 4 +- tools/sdk/bin/bootloader.bin | Bin 4192 -> 4144 bytes tools/sdk/include/bt/bt.h | 19 +- tools/sdk/include/config/sdkconfig.h | 4 + tools/sdk/include/driver/driver/gpio.h | 473 ++- tools/sdk/include/driver/driver/ledc.h | 330 +- tools/sdk/include/driver/driver/uart.h | 763 ++++ tools/sdk/include/esp32/esp_attr.h | 9 +- tools/sdk/include/esp32/esp_crosscore_int.h | 42 + tools/sdk/include/esp32/esp_deepsleep.h | 36 +- tools/sdk/include/esp32/esp_err.h | 7 + .../sdk/include/esp32/esp_flash_data_types.h | 106 + tools/sdk/include/esp32/esp_system.h | 9 +- tools/sdk/include/esp32/esp_wifi.h | 292 +- tools/sdk/include/esp32/esp_wifi_internal.h | 42 +- tools/sdk/include/esp32/esp_wifi_types.h | 4 +- tools/sdk/include/esp32/soc/dport_reg.h | 5 + tools/sdk/include/esp32/soc/frc_timer_reg.h | 49 + tools/sdk/include/esp32/soc/rmt_struct.h | 7 +- tools/sdk/include/esp32/soc/rtc_cntl_reg.h | 3 + tools/sdk/include/esp32/soc/soc.h | 9 +- tools/sdk/include/esp32/soc/uart_reg.h | 4 +- .../freertos/freertos/FreeRTOSConfig.h | 2 +- .../sdk/include/freertos/freertos/portable.h | 8 + tools/sdk/include/freertos/freertos/ringbuf.h | 50 +- tools/sdk/include/log/esp_log.h | 97 +- tools/sdk/include/lwip/lwipopts.h | 80 +- tools/sdk/include/lwip/port/lwipopts.h | 80 +- tools/sdk/include/nvs_flash/nvs.h | 65 +- tools/sdk/include/nvs_flash/nvs_flash.h | 2 + tools/sdk/include/spi_flash/esp_partition.h | 242 ++ tools/sdk/include/spi_flash/esp_spi_flash.h | 108 +- .../sdk/include/tcpip_adapter/tcpip_adapter.h | 4 +- tools/sdk/include/wpa_supplicant/byteswap.h | 65 + tools/sdk/include/wpa_supplicant/crypto/aes.h | 27 + .../sdk/include/wpa_supplicant/crypto/aes_i.h | 131 + .../include/wpa_supplicant/crypto/aes_wrap.h | 48 + .../include/wpa_supplicant/crypto/base64.h | 23 + .../include/wpa_supplicant/crypto/common.h | 481 +++ .../include/wpa_supplicant/crypto/crypto.h | 471 +++ .../include/wpa_supplicant/crypto/dh_group5.h | 23 + .../include/wpa_supplicant/crypto/dh_groups.h | 32 + .../include/wpa_supplicant/crypto/includes.h | 65 + tools/sdk/include/wpa_supplicant/crypto/md5.h | 35 + .../sdk/include/wpa_supplicant/crypto/md5_i.h | 29 + .../include/wpa_supplicant/crypto/random.h | 34 + .../sdk/include/wpa_supplicant/crypto/sha1.h | 33 + .../include/wpa_supplicant/crypto/sha1_i.h | 29 + .../include/wpa_supplicant/crypto/sha256.h | 27 + tools/sdk/include/wpa_supplicant/endian.h | 229 ++ tools/sdk/include/wpa_supplicant/os.h | 286 ++ .../include/wpa_supplicant/wpa/ap_config.h | 544 +++ tools/sdk/include/wpa_supplicant/wpa/common.h | 324 ++ tools/sdk/include/wpa_supplicant/wpa/defs.h | 307 ++ .../include/wpa_supplicant/wpa/eapol_common.h | 71 + .../sdk/include/wpa_supplicant/wpa/hostapd.h | 312 ++ .../wpa_supplicant/wpa/ieee80211_crypto.h | 226 ++ .../wpa_supplicant/wpa/ieee802_11_defs.h | 607 +++ .../include/wpa_supplicant/wpa/ieee802_1x.h | 64 + .../sdk/include/wpa_supplicant/wpa/includes.h | 31 + tools/sdk/include/wpa_supplicant/wpa/list.h | 101 + .../sdk/include/wpa_supplicant/wpa/sta_info.h | 194 + .../wpa_supplicant/wpa/state_machine.h | 138 + tools/sdk/include/wpa_supplicant/wpa/wpa.h | 193 + .../sdk/include/wpa_supplicant/wpa/wpa_auth.h | 292 ++ .../include/wpa_supplicant/wpa/wpa_auth_i.h | 234 ++ .../include/wpa_supplicant/wpa/wpa_auth_ie.h | 50 + .../include/wpa_supplicant/wpa/wpa_common.h | 332 ++ .../include/wpa_supplicant/wpa/wpa_debug.h | 193 + tools/sdk/include/wpa_supplicant/wpa/wpa_i.h | 89 + tools/sdk/include/wpa_supplicant/wpa/wpa_ie.h | 56 + tools/sdk/include/wpa_supplicant/wpa/wpabuf.h | 168 + .../include/wpa_supplicant/wpa/wpas_glue.h | 31 + .../wpa_supplicant/wpa2/eap_peer/eap.h | 24 + .../wpa_supplicant/wpa2/eap_peer/eap_common.h | 23 + .../wpa_supplicant/wpa2/eap_peer/eap_config.h | 220 ++ .../wpa_supplicant/wpa2/eap_peer/eap_defs.h | 92 + .../wpa_supplicant/wpa2/eap_peer/eap_i.h | 88 + .../wpa_supplicant/wpa2/eap_peer/eap_tls.h | 25 + .../wpa2/eap_peer/eap_tls_common.h | 131 + .../include/wpa_supplicant/wpa2/tls/asn1.h | 66 + .../include/wpa_supplicant/wpa2/tls/bignum.h | 38 + .../wpa_supplicant/wpa2/tls/libtommath.h | 3443 +++++++++++++++++ .../include/wpa_supplicant/wpa2/tls/pkcs1.h | 22 + .../include/wpa_supplicant/wpa2/tls/pkcs5.h | 16 + .../include/wpa_supplicant/wpa2/tls/pkcs8.h | 16 + .../sdk/include/wpa_supplicant/wpa2/tls/rsa.h | 23 + .../sdk/include/wpa_supplicant/wpa2/tls/tls.h | 537 +++ .../wpa_supplicant/wpa2/tls/tlsv1_client.h | 54 + .../wpa_supplicant/wpa2/tls/tlsv1_client_i.h | 84 + .../wpa_supplicant/wpa2/tls/tlsv1_common.h | 261 ++ .../wpa_supplicant/wpa2/tls/tlsv1_cred.h | 40 + .../wpa_supplicant/wpa2/tls/tlsv1_record.h | 71 + .../wpa_supplicant/wpa2/tls/tlsv1_server.h | 48 + .../wpa_supplicant/wpa2/tls/tlsv1_server_i.h | 71 + .../include/wpa_supplicant/wpa2/tls/x509v3.h | 123 + .../wpa_supplicant/wpa2/utils/base64.h | 17 + .../wpa_supplicant/wpa2/utils/ext_password.h | 33 + .../wpa2/utils/ext_password_i.h | 23 + tools/sdk/include/xtensa-debug-module/eri.h | 31 + tools/sdk/include/xtensa-debug-module/trax.h | 62 + .../xtensa-debug-module/xtensa-debug-module.h | 75 + tools/sdk/ld/esp32.common.ld | 46 +- tools/sdk/lib/libbt.a | Bin 2080 -> 2080 bytes tools/sdk/lib/libcoexist.a | Bin 0 -> 1910 bytes tools/sdk/lib/libcore.a | Bin 37280 -> 37232 bytes tools/sdk/lib/libcrypto.a | Bin 129180 -> 0 bytes tools/sdk/lib/libdriver.a | Bin 106846 -> 278402 bytes tools/sdk/lib/libesp32.a | Bin 268170 -> 282052 bytes tools/sdk/lib/libexpat.a | Bin 1250788 -> 1250788 bytes tools/sdk/lib/libfreertos.a | Bin 524286 -> 555488 bytes tools/sdk/lib/libjson.a | Bin 209284 -> 209284 bytes tools/sdk/lib/liblog.a | Bin 21206 -> 21234 bytes tools/sdk/lib/liblwip.a | Bin 1780652 -> 1779860 bytes tools/sdk/lib/libmbedtls.a | Bin 3457746 -> 3457858 bytes tools/sdk/lib/libnet80211.a | Bin 551050 -> 552480 bytes tools/sdk/lib/libnewlib.a | Bin 67082 -> 77676 bytes tools/sdk/lib/libnghttp.a | Bin 1537150 -> 1537150 bytes tools/sdk/lib/libnvs_flash.a | Bin 627592 -> 632798 bytes tools/sdk/lib/libopenssl.a | Bin 0 -> 273216 bytes tools/sdk/lib/libphy.a | Bin 85192 -> 327010 bytes tools/sdk/lib/libpp.a | Bin 277312 -> 278476 bytes tools/sdk/lib/librtc.a | Bin 108990 -> 322822 bytes tools/sdk/lib/libspi_flash.a | Bin 26768 -> 89448 bytes tools/sdk/lib/libtcpip_adapter.a | Bin 60586 -> 60626 bytes tools/sdk/lib/libvfs.a | Bin 67222 -> 68086 bytes tools/sdk/lib/libwpa.a | Bin 137394 -> 137394 bytes tools/sdk/lib/libwpa_supplicant.a | Bin 0 -> 388324 bytes tools/sdk/lib/libxtensa-debug-module.a | Bin 0 -> 12062 bytes 131 files changed, 14619 insertions(+), 766 deletions(-) create mode 100644 tools/sdk/include/driver/driver/uart.h create mode 100644 tools/sdk/include/esp32/esp_crosscore_int.h create mode 100644 tools/sdk/include/esp32/esp_flash_data_types.h create mode 100644 tools/sdk/include/esp32/soc/frc_timer_reg.h create mode 100644 tools/sdk/include/spi_flash/esp_partition.h create mode 100644 tools/sdk/include/wpa_supplicant/byteswap.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/aes.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/aes_i.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/aes_wrap.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/base64.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/common.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/crypto.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/dh_group5.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/dh_groups.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/includes.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/md5.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/md5_i.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/random.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/sha1.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/sha1_i.h create mode 100644 tools/sdk/include/wpa_supplicant/crypto/sha256.h create mode 100644 tools/sdk/include/wpa_supplicant/endian.h create mode 100644 tools/sdk/include/wpa_supplicant/os.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/ap_config.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/common.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/defs.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/eapol_common.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/hostapd.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/ieee80211_crypto.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/ieee802_11_defs.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/ieee802_1x.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/includes.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/list.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/sta_info.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/state_machine.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_auth.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_auth_i.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_auth_ie.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_common.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_debug.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_i.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpa_ie.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpabuf.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa/wpas_glue.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_common.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_config.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_defs.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_i.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls_common.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/asn1.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/bignum.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/libtommath.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs1.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs5.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs8.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/rsa.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tls.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client_i.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_common.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_cred.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_record.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server_i.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/tls/x509v3.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/utils/base64.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password.h create mode 100644 tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password_i.h create mode 100644 tools/sdk/include/xtensa-debug-module/eri.h create mode 100644 tools/sdk/include/xtensa-debug-module/trax.h create mode 100644 tools/sdk/include/xtensa-debug-module/xtensa-debug-module.h create mode 100644 tools/sdk/lib/libcoexist.a delete mode 100644 tools/sdk/lib/libcrypto.a create mode 100644 tools/sdk/lib/libopenssl.a mode change 100755 => 100644 tools/sdk/lib/libphy.a mode change 100755 => 100644 tools/sdk/lib/librtc.a create mode 100644 tools/sdk/lib/libwpa_supplicant.a create mode 100644 tools/sdk/lib/libxtensa-debug-module.a diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index 9cd2fd32..39646586 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -290,7 +290,6 @@ void initWiFi() { wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); nvs_flash_init(); - system_init(); tcpip_adapter_init(); esp_event_loop_init(WiFiGenericClass::_eventCallback, NULL); esp_wifi_init(&cfg); diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 08934e8d..9ea46500 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -29,6 +29,7 @@ extern "C" { #include "esp32-hal-i2c.h" #include "Wire.h" +#include "Arduino.h" TwoWire::TwoWire(uint8_t bus_num) :num(bus_num & 1) diff --git a/platform.txt b/platform.txt index 5eb4509f..3d21a581 100644 --- a/platform.txt +++ b/platform.txt @@ -13,7 +13,7 @@ compiler.warning_flags.all=-Wall -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/bt" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/lwip" +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/bt" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/lwip" compiler.c.cmd=xtensa-esp32-elf-gcc compiler.c.flags=-c {compiler.warning_flags} -Os -g3 -Wpointer-arith -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -ffunction-sections -fdata-sections -mlongcalls -nostdlib -MMD -std=gnu99 -fstrict-volatile-bitfields @@ -26,7 +26,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls compiler.c.elf.cmd=xtensa-esp32-elf-gcc compiler.c.elf.flags="-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -nostdlib -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -compiler.c.elf.libs=-lgcc -lc -lm -lhal -lcore -lnet80211 -lphy -lrtc -lpp -lwpa -lsmartconfig -lbtdm_app -lbt -ldriver -lesp32 -lcrypto -lexpat -lfreertos -ljson -llog -llwip -lmbedtls -lnghttp -lnvs_flash -lspi_flash -ltcpip_adapter -lnewlib -lvfs +compiler.c.elf.libs=-lbt -lbtdm_app -lc -lcoexist -lcore -ldriver -lesp32 -lexpat -lfreertos -lg -lhal -ljson -llog -llwip -lm -lmbedtls -lnet80211 -lnewlib -lnghttp -lnvs_flash -lopenssl -lphy -lpp -lrtc -lsmartconfig -lspi_flash -ltcpip_adapter -lvfs -lwpa -lwpa_supplicant -lxtensa-debug-module compiler.as.cmd=xtensa-esp32-elf-as diff --git a/tools/sdk/bin/bootloader.bin b/tools/sdk/bin/bootloader.bin index c0e6d1c1e45b6af1ff03d6711653f7ef4a48f88b..ebe87e3cf38ee28a3eb9aeefa090057f381eed1a 100644 GIT binary patch delta 2439 zcmaE$ut992@Q>m7#M1q)4UjKnHxp^cXdq^{@-pX zQo)o}KI!<6nHMWIcDFYr@~?boP^{3%2a@Og-)<=em7kO-08t>cC{fU$Sb;}kBK!a4 zmP}0x7-k%7=VWhW`M=zPv6h)fVj}Z@_2rg~JRA^l28j5XaF2~yE^I6e6&pAH{kLn& zS@y;c|0X-JsYpNi4~{8ErbP!OHZ5Q{v|vHwpMRi4^Y-85MmFKxm;VkZFs$I1_~PG$ zS)f3f$?-IYfro43(|@WL|F31-_~f5VPva$!j0e{U<0#gHI9w$Af6Z(IO!|>tAD`3kZKEdg7d$F&i@+iK+<5v zP{R|BDKy%H1i^-jf>^0mAj8f79W?*fXao`ft5>=tAnjtlg~{#Ke;%$zZm_rzxWG|x zQc%E!=+kiGt2BNIrO?1vR9YhLXzc{=6) zA`uqF`+v1oJvC+6%Qa`!3YDkNK@O8r)dp!|{&(=#-^Q&z@3W}dH!XaBNEFfc4qVOjbZY<1VarD`BkKK(uT;&0=V zzYiuq;1a1{+Vg*r5KGporMe&+Z#gJ$Sdp~!KG@QyN+9J={vN#fxA6+ZQlrC+=1cc1 zQeoJ5|8MGDkSeWI1(2#ce-EDj+jttHiox*a-vbH^5zLM^{yKyTfJj#bP#MVVc>S;8 zRgjz~Gmi?0C8xmP$?VH~K!L%6C9L?rnhQ>J{F)=SjRbi02 z^?whp|JyhfBnDE)!_`;_W-|x2{dHQ<;Kt0r5Vg2*Wj#pH%hJy`pKEHGx0{V>^vH_@Ge!-0hnR1^NO zXJBAZU|;~zf543x5byu}|NlXaniGc@9DI&2IP93k;2<)K!C}c%1_!f7hP8|vKmM2T zY5Xzy4WEX}^ZyNx0t^%w6rcWYND5$3U{HMWe=QRa_rXX170w)Jd=9F8Crk1vnDTHn zJ^*nPuY+p$8BC4W{=;0$Bh`2lBy~W6VFpv<#s3YRpgOLTY2x|Gz5KF#s#ZV10R(a} G12+JGRty;c delta 2531 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 Qr86)FRUe=P#=tNE086Pq>;M1& diff --git a/tools/sdk/include/bt/bt.h b/tools/sdk/include/bt/bt.h index 1e89f96a..f476334b 100644 --- a/tools/sdk/include/bt/bt.h +++ b/tools/sdk/include/bt/bt.h @@ -28,37 +28,36 @@ extern "C" { * * This function should be called only once, before any other BT functions are called. */ -void bt_controller_init(); +void bt_controller_init(void); -/** @brief: vhci_host_callback +/** @brief vhci_host_callback * used for vhci call host function to notify what host need to do * * notify_host_send_available: notify host can send packet to controller * notify_host_recv: notify host that controller has packet send to host */ typedef struct vhci_host_callback { - void (*notify_host_send_available)(void); int (*notify_host_recv)(uint8_t *data, uint16_t len); } vhci_host_callback_t; -/** @brief: API_vhci_host_check_send_available +/** @brief API_vhci_host_check_send_available * used for check actively if the host can send packet to controller or not. - * return true for ready to send, false means cannot send packet + * @return true for ready to send, false means cannot send packet */ bool API_vhci_host_check_send_available(void); -/** @brief: API_vhci_host_send_packet +/** @brief API_vhci_host_send_packet * host send packet to controller - * param data is the packet point, the param len is the packet length - * return void + * @param data the packet point + *,@param len the packet length */ void API_vhci_host_send_packet(uint8_t *data, uint16_t len); -/** @brief: API_vhci_host_register_callback +/** @brief API_vhci_host_register_callback * register the vhci referece callback, the call back * struct defined by vhci_host_callback structure. - * param is the vhci_host_callback type variable + * @param callback vhci_host_callback type variable */ void API_vhci_host_register_callback(const vhci_host_callback_t *callback); diff --git a/tools/sdk/include/config/sdkconfig.h b/tools/sdk/include/config/sdkconfig.h index 790e17d7..47abf5ca 100644 --- a/tools/sdk/include/config/sdkconfig.h +++ b/tools/sdk/include/config/sdkconfig.h @@ -19,6 +19,7 @@ #define CONFIG_ULP_COPROC_RESERVE_MEM 0 #define CONFIG_ESPTOOLPY_BAUD 921600 #define CONFIG_TOOLPREFIX "xtensa-esp32-elf-" +#define CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC 1 #define CONFIG_LWIP_THREAD_LOCAL_STORAGE_INDEX 0 #define CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN 16384 #define CONFIG_ESP32_ENABLE_STACK_WIFI 1 @@ -28,8 +29,10 @@ #define CONFIG_LOG_DEFAULT_LEVEL 1 #define CONFIG_ESPTOOLPY_FLASHMODE_DIO 1 #define CONFIG_PYTHON "python" +#define CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1 1 #define CONFIG_ESPTOOLPY_COMPRESSED 1 #define CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv" +#define CONFIG_LWIP_DHCP_MAX_NTP_SERVERS 1 #define CONFIG_PARTITION_TABLE_SINGLE_APP 1 #define CONFIG_WIFI_ENABLED 1 #define CONFIG_ESPTOOLPY_FLASHFREQ_80M 1 @@ -43,6 +46,7 @@ #define CONFIG_LWIP_SO_REUSE 1 #define CONFIG_FREERTOS_CORETIMER_0 1 #define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv" +#define CONFIG_FREERTOS_ISR_STACKSIZE 1536 #define CONFIG_OPTIMIZATION_LEVEL_DEBUG 1 #define CONFIG_SYSTEM_EVENT_QUEUE_SIZE 32 #define CONFIG_ESPTOOLPY_BAUD_921600B 1 diff --git a/tools/sdk/include/driver/driver/gpio.h b/tools/sdk/include/driver/driver/gpio.h index 9b47c88e..73efeaa3 100644 --- a/tools/sdk/include/driver/driver/gpio.h +++ b/tools/sdk/include/driver/driver/gpio.h @@ -20,6 +20,7 @@ #include "soc/gpio_struct.h" #include "soc/rtc_io_reg.h" #include "soc/io_mux_reg.h" +#include "soc/gpio_sig_map.h" #include "rom/gpio.h" #include "esp_attr.h" @@ -27,43 +28,43 @@ extern "C" { #endif -#define GPIO_SEL_0 (BIT(0)) /* Pin 0 selected */ -#define GPIO_SEL_1 (BIT(1)) /* Pin 1 selected */ -#define GPIO_SEL_2 (BIT(2)) /* Pin 2 selected */ -#define GPIO_SEL_3 (BIT(3)) /* Pin 3 selected */ -#define GPIO_SEL_4 (BIT(4)) /* Pin 4 selected */ -#define GPIO_SEL_5 (BIT(5)) /* Pin 5 selected */ -#define GPIO_SEL_6 (BIT(6)) /* Pin 6 selected */ -#define GPIO_SEL_7 (BIT(7)) /* Pin 7 selected */ -#define GPIO_SEL_8 (BIT(8)) /* Pin 8 selected */ -#define GPIO_SEL_9 (BIT(9)) /* Pin 9 selected */ -#define GPIO_SEL_10 (BIT(10)) /* Pin 10 selected */ -#define GPIO_SEL_11 (BIT(11)) /* Pin 11 selected */ -#define GPIO_SEL_12 (BIT(12)) /* Pin 12 selected */ -#define GPIO_SEL_13 (BIT(13)) /* Pin 13 selected */ -#define GPIO_SEL_14 (BIT(14)) /* Pin 14 selected */ -#define GPIO_SEL_15 (BIT(15)) /* Pin 15 selected */ -#define GPIO_SEL_16 (BIT(16)) /* Pin 16 selected */ -#define GPIO_SEL_17 (BIT(17)) /* Pin 17 selected */ -#define GPIO_SEL_18 (BIT(18)) /* Pin 18 selected */ -#define GPIO_SEL_19 (BIT(19)) /* Pin 19 selected */ +#define GPIO_SEL_0 (BIT(0)) /*!< Pin 0 selected */ +#define GPIO_SEL_1 (BIT(1)) /*!< Pin 1 selected */ +#define GPIO_SEL_2 (BIT(2)) /*!< Pin 2 selected */ +#define GPIO_SEL_3 (BIT(3)) /*!< Pin 3 selected */ +#define GPIO_SEL_4 (BIT(4)) /*!< Pin 4 selected */ +#define GPIO_SEL_5 (BIT(5)) /*!< Pin 5 selected */ +#define GPIO_SEL_6 (BIT(6)) /*!< Pin 6 selected */ +#define GPIO_SEL_7 (BIT(7)) /*!< Pin 7 selected */ +#define GPIO_SEL_8 (BIT(8)) /*!< Pin 8 selected */ +#define GPIO_SEL_9 (BIT(9)) /*!< Pin 9 selected */ +#define GPIO_SEL_10 (BIT(10)) /*!< Pin 10 selected */ +#define GPIO_SEL_11 (BIT(11)) /*!< Pin 11 selected */ +#define GPIO_SEL_12 (BIT(12)) /*!< Pin 12 selected */ +#define GPIO_SEL_13 (BIT(13)) /*!< Pin 13 selected */ +#define GPIO_SEL_14 (BIT(14)) /*!< Pin 14 selected */ +#define GPIO_SEL_15 (BIT(15)) /*!< Pin 15 selected */ +#define GPIO_SEL_16 (BIT(16)) /*!< Pin 16 selected */ +#define GPIO_SEL_17 (BIT(17)) /*!< Pin 17 selected */ +#define GPIO_SEL_18 (BIT(18)) /*!< Pin 18 selected */ +#define GPIO_SEL_19 (BIT(19)) /*!< Pin 19 selected */ -#define GPIO_SEL_21 (BIT(21)) /* Pin 21 selected */ -#define GPIO_SEL_22 (BIT(22)) /* Pin 22 selected */ -#define GPIO_SEL_23 (BIT(23)) /* Pin 23 selected */ +#define GPIO_SEL_21 (BIT(21)) /*!< Pin 21 selected */ +#define GPIO_SEL_22 (BIT(22)) /*!< Pin 22 selected */ +#define GPIO_SEL_23 (BIT(23)) /*!< Pin 23 selected */ -#define GPIO_SEL_25 (BIT(25)) /* Pin 25 selected */ -#define GPIO_SEL_26 (BIT(26)) /* Pin 26 selected */ -#define GPIO_SEL_27 (BIT(27)) /* Pin 27 selected */ +#define GPIO_SEL_25 (BIT(25)) /*!< Pin 25 selected */ +#define GPIO_SEL_26 (BIT(26)) /*!< Pin 26 selected */ +#define GPIO_SEL_27 (BIT(27)) /*!< Pin 27 selected */ -#define GPIO_SEL_32 ((uint64_t)(((uint64_t)1)<<32)) /* Pin 32 selected */ -#define GPIO_SEL_33 ((uint64_t)(((uint64_t)1)<<33)) /* Pin 33 selected */ -#define GPIO_SEL_34 ((uint64_t)(((uint64_t)1)<<34)) /* Pin 34 selected */ -#define GPIO_SEL_35 ((uint64_t)(((uint64_t)1)<<35)) /* Pin 35 selected */ -#define GPIO_SEL_36 ((uint64_t)(((uint64_t)1)<<36)) /* Pin 36 selected */ -#define GPIO_SEL_37 ((uint64_t)(((uint64_t)1)<<37)) /* Pin 37 selected */ -#define GPIO_SEL_38 ((uint64_t)(((uint64_t)1)<<38)) /* Pin 38 selected */ -#define GPIO_SEL_39 ((uint64_t)(((uint64_t)1)<<39)) /* Pin 39 selected */ +#define GPIO_SEL_32 ((uint64_t)(((uint64_t)1)<<32)) /*!< Pin 32 selected */ +#define GPIO_SEL_33 ((uint64_t)(((uint64_t)1)<<33)) /*!< Pin 33 selected */ +#define GPIO_SEL_34 ((uint64_t)(((uint64_t)1)<<34)) /*!< Pin 34 selected */ +#define GPIO_SEL_35 ((uint64_t)(((uint64_t)1)<<35)) /*!< Pin 35 selected */ +#define GPIO_SEL_36 ((uint64_t)(((uint64_t)1)<<36)) /*!< Pin 36 selected */ +#define GPIO_SEL_37 ((uint64_t)(((uint64_t)1)<<37)) /*!< Pin 37 selected */ +#define GPIO_SEL_38 ((uint64_t)(((uint64_t)1)<<38)) /*!< Pin 38 selected */ +#define GPIO_SEL_39 ((uint64_t)(((uint64_t)1)<<39)) /*!< Pin 39 selected */ #define GPIO_PIN_REG_0 PERIPHS_IO_MUX_GPIO0_U #define GPIO_PIN_REG_1 PERIPHS_IO_MUX_U0TXD_U @@ -117,222 +118,193 @@ extern const uint32_t GPIO_PIN_MUX_REG[GPIO_PIN_COUNT]; #define GPIO_IS_VALID_OUTPUT_GPIO(gpio_num) ((GPIO_IS_VALID_GPIO(gpio_num)) && (gpio_num < 34)) //to decide whether it can be a valid GPIO number of output mode typedef enum { - GPIO_NUM_0 = 0, - GPIO_NUM_1 = 1, - GPIO_NUM_2 = 2, - GPIO_NUM_3 = 3, - GPIO_NUM_4 = 4, - GPIO_NUM_5 = 5, - GPIO_NUM_6 = 6, - GPIO_NUM_7 = 7, - GPIO_NUM_8 = 8, - GPIO_NUM_9 = 9, - GPIO_NUM_10 = 10, - GPIO_NUM_11 = 11, - GPIO_NUM_12 = 12, - GPIO_NUM_13 = 13, - GPIO_NUM_14 = 14, - GPIO_NUM_15 = 15, - GPIO_NUM_16 = 16, - GPIO_NUM_17 = 17, - GPIO_NUM_18 = 18, - GPIO_NUM_19 = 19, + GPIO_NUM_0 = 0, /*!< GPIO0, input and output */ + GPIO_NUM_1 = 1, /*!< GPIO1, input and output */ + GPIO_NUM_2 = 2, /*!< GPIO2, input and output */ + GPIO_NUM_3 = 3, /*!< GPIO3, input and output */ + GPIO_NUM_4 = 4, /*!< GPIO4, input and output */ + GPIO_NUM_5 = 5, /*!< GPIO5, input and output */ + GPIO_NUM_6 = 6, /*!< GPIO6, input and output */ + GPIO_NUM_7 = 7, /*!< GPIO7, input and output */ + GPIO_NUM_8 = 8, /*!< GPIO8, input and output */ + GPIO_NUM_9 = 9, /*!< GPIO9, input and output */ + GPIO_NUM_10 = 10, /*!< GPIO10, input and output */ + GPIO_NUM_11 = 11, /*!< GPIO11, input and output */ + GPIO_NUM_12 = 12, /*!< GPIO12, input and output */ + GPIO_NUM_13 = 13, /*!< GPIO13, input and output */ + GPIO_NUM_14 = 14, /*!< GPIO14, input and output */ + GPIO_NUM_15 = 15, /*!< GPIO15, input and output */ + GPIO_NUM_16 = 16, /*!< GPIO16, input and output */ + GPIO_NUM_17 = 17, /*!< GPIO17, input and output */ + GPIO_NUM_18 = 18, /*!< GPIO18, input and output */ + GPIO_NUM_19 = 19, /*!< GPIO19, input and output */ - GPIO_NUM_21 = 21, - GPIO_NUM_22 = 22, - GPIO_NUM_23 = 23, + GPIO_NUM_21 = 21, /*!< GPIO21, input and output */ + GPIO_NUM_22 = 22, /*!< GPIO22, input and output */ + GPIO_NUM_23 = 23, /*!< GPIO23, input and output */ - GPIO_NUM_25 = 25, - GPIO_NUM_26 = 26, - GPIO_NUM_27 = 27, + GPIO_NUM_25 = 25, /*!< GPIO25, input and output */ + GPIO_NUM_26 = 26, /*!< GPIO26, input and output */ + GPIO_NUM_27 = 27, /*!< GPIO27, input and output */ - GPIO_NUM_32 = 32, - GPIO_NUM_33 = 33, - GPIO_NUM_34 = 34, /*input mode only */ - GPIO_NUM_35 = 35, /*input mode only */ - GPIO_NUM_36 = 36, /*input mode only */ - GPIO_NUM_37 = 37, /*input mode only */ - GPIO_NUM_38 = 38, /*input mode only */ - GPIO_NUM_39 = 39, /*input mode only */ + GPIO_NUM_32 = 32, /*!< GPIO32, input and output */ + GPIO_NUM_33 = 33, /*!< GPIO32, input and output */ + GPIO_NUM_34 = 34, /*!< GPIO34, input mode only */ + GPIO_NUM_35 = 35, /*!< GPIO35, input mode only */ + GPIO_NUM_36 = 36, /*!< GPIO36, input mode only */ + GPIO_NUM_37 = 37, /*!< GPIO37, input mode only */ + GPIO_NUM_38 = 38, /*!< GPIO38, input mode only */ + GPIO_NUM_39 = 39, /*!< GPIO39, input mode only */ } gpio_num_t; typedef enum { - GPIO_INTR_DISABLE = 0, /* disable GPIO interrupt */ - GPIO_INTR_POSEDGE = 1, /* GPIO interrupt type : rising edge */ - GPIO_INTR_NEGEDGE = 2, /* GPIO interrupt type : falling edge */ - GPIO_INTR_ANYEDGE = 3, /* GPIO interrupt type : both rising and falling edge */ - GPIO_INTR_LOW_LEVEL = 4, /* GPIO interrupt type : input low level trigger */ - GPIO_INTR_HIGH_LEVEL = 5, /* GPIO interrupt type : input high level trigger */ + GPIO_INTR_DISABLE = 0, /*!< Disable GPIO interrupt */ + GPIO_INTR_POSEDGE = 1, /*!< GPIO interrupt type : rising edge */ + GPIO_INTR_NEGEDGE = 2, /*!< GPIO interrupt type : falling edge */ + GPIO_INTR_ANYEDGE = 3, /*!< GPIO interrupt type : both rising and falling edge */ + GPIO_INTR_LOW_LEVEL = 4, /*!< GPIO interrupt type : input low level trigger */ + GPIO_INTR_HIGH_LEVEL = 5, /*!< GPIO interrupt type : input high level trigger */ GPIO_INTR_MAX, } gpio_int_type_t; typedef enum { - GPIO_MODE_INPUT = GPIO_MODE_DEF_INPUT, /* GPIO mode : input only */ - GPIO_MODE_OUTPUT = GPIO_MODE_DEF_OUTPUT, /* GPIO mode : output only mode */ - GPIO_MODE_OUTPUT_OD = ((GPIO_MODE_DEF_OUTPUT)|(GPIO_MODE_DEF_OD)), /* GPIO mode : output only with open-drain mode */ - GPIO_MODE_INPUT_OUTPUT_OD = ((GPIO_MODE_DEF_INPUT)|(GPIO_MODE_DEF_OUTPUT)|(GPIO_MODE_DEF_OD)), /* GPIO mode : output and input with open-drain mode*/ - GPIO_MODE_INPUT_OUTPUT = ((GPIO_MODE_DEF_INPUT)|(GPIO_MODE_DEF_OUTPUT)), /* GPIO mode : output and input mode */ + GPIO_MODE_INPUT = GPIO_MODE_DEF_INPUT, /*!< GPIO mode : input only */ + GPIO_MODE_OUTPUT = GPIO_MODE_DEF_OUTPUT, /*!< GPIO mode : output only mode */ + GPIO_MODE_OUTPUT_OD = ((GPIO_MODE_DEF_OUTPUT)|(GPIO_MODE_DEF_OD)), /*!< GPIO mode : output only with open-drain mode */ + GPIO_MODE_INPUT_OUTPUT_OD = ((GPIO_MODE_DEF_INPUT)|(GPIO_MODE_DEF_OUTPUT)|(GPIO_MODE_DEF_OD)), /*!< GPIO mode : output and input with open-drain mode*/ + GPIO_MODE_INPUT_OUTPUT = ((GPIO_MODE_DEF_INPUT)|(GPIO_MODE_DEF_OUTPUT)), /*!< GPIO mode : output and input mode */ } gpio_mode_t; typedef enum { - GPIO_PULLUP_DISABLE = 0x0, /* disable GPIO pull-up resistor */ - GPIO_PULLUP_ENABLE = 0x1, /* enable GPIO pull-up resistor */ + GPIO_PULLUP_DISABLE = 0x0, /*!< Disable GPIO pull-up resistor */ + GPIO_PULLUP_ENABLE = 0x1, /*!< Enable GPIO pull-up resistor */ } gpio_pullup_t; typedef enum { - GPIO_PULLDOWN_DISABLE = 0x0, /* disable GPIO pull-down resistor */ - GPIO_PULLDOWN_ENABLE = 0x1, /* enable GPIO pull-down resistor */ + GPIO_PULLDOWN_DISABLE = 0x0, /*!< Disable GPIO pull-down resistor */ + GPIO_PULLDOWN_ENABLE = 0x1, /*!< Enable GPIO pull-down resistor */ } gpio_pulldown_t; typedef struct { - uint64_t pin_bit_mask; /* GPIO pin: set with bit mask, each bit maps to a GPIO */ - gpio_mode_t mode; /* GPIO mode: set input/output mode */ - gpio_pullup_t pull_up_en; /* GPIO pull-up */ - gpio_pulldown_t pull_down_en; /* GPIO pull-down */ - gpio_int_type_t intr_type; /* GPIO interrupt type */ + uint64_t pin_bit_mask; /*!< GPIO pin: set with bit mask, each bit maps to a GPIO */ + gpio_mode_t mode; /*!< GPIO mode: set input/output mode */ + gpio_pullup_t pull_up_en; /*!< GPIO pull-up */ + gpio_pulldown_t pull_down_en; /*!< GPIO pull-down */ + gpio_int_type_t intr_type; /*!< GPIO interrupt type */ } gpio_config_t; typedef enum { - GPIO_LOW_LEVEL = 0, - GPIO_HIGH_LEVEL = 1, - GPIO_LEVEL_ERR, -} gpio_level_t; - -typedef enum { - GPIO_PULLUP_ONLY, /* Pad pull up */ - GPIO_PULLDOWN_ONLY, /* Pad pull down */ - GPIO_PULLUP_PULLDOWN, /* Pad pull up + pull down*/ - GPIO_FLOATING, /* Pad floating */ + GPIO_PULLUP_ONLY, /*!< Pad pull up */ + GPIO_PULLDOWN_ONLY, /*!< Pad pull down */ + GPIO_PULLUP_PULLDOWN, /*!< Pad pull up + pull down*/ + GPIO_FLOATING, /*!< Pad floating */ } gpio_pull_mode_t; typedef void (*gpio_event_callback)(gpio_num_t gpio_intr_num); -/** \defgroup Driver_APIs Driver APIs - * @brief Driver APIs - */ - -/** @addtogroup Driver_APIs - * @{ - */ - -/** \defgroup GPIO_Driver_APIs GPIO Driver APIs - * @brief GPIO APIs - */ - -/** @addtogroup GPIO_Driver_APIs - * @{ - */ - /** - * @brief GPIO common configuration + * @brief GPIO common configuration * - * Use this Function ,Configure GPIO's Mode,pull-up,PullDown,IntrType + * Configure GPIO's Mode,pull-up,PullDown,IntrType * - * @parameter[in] pGPIOConfig - * pGPIOConfig.pin_bit_mask : Configure GPIO pins bits,set this parameter with bit mask. - * If you want to configure GPIO34 and GPIO16, pin_bit_mask=GPIO_Pin_16|GPIO_Pin_34; - * pGPIOConfig.mode : Configure GPIO mode,such as output ,input... - * pGPIOConfig.pull_up_en : Enable or Disable pull-up - * pGPIOConfig.pull_down_en : Enable or Disable pull-down - * pGPIOConfig.intr_type : Configure GPIO interrupt trigger type - * @return ESP_OK: success ; - * ESP_ERR_INVALID_ARG: parameter error - * ESP_FAIL : GPIO error + * @param pGPIOConfig Pointer to GPIO configure struct + * + * @return + * - ESP_OK success + * - ESP_ERR_INVALID_ARG Parameter error * */ esp_err_t gpio_config(gpio_config_t *pGPIOConfig); /** - * @brief GPIO set interrupt trigger type + * @brief GPIO set interrupt trigger type * - * @parameter[in] gpio_num : GPIO number. - * If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); - * @parameter[in] intr_type: interrupt type, select from gpio_int_type_t + * @param gpio_num GPIO number. If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); + * @param intr_type Interrupt type, select from gpio_int_type_t * - * @return ESP_OK : success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error * */ esp_err_t gpio_set_intr_type(gpio_num_t gpio_num, gpio_int_type_t intr_type); /** - * @brief enable GPIO module interrupt signal + * @brief Enable GPIO module interrupt signal * - * @parameter[in] gpio_num : GPIO number. - * If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); + * @param gpio_num GPIO number. If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); * - * @return ESP_OK : success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error * */ esp_err_t gpio_intr_enable(gpio_num_t gpio_num); /** - * @brief disable GPIO module interrupt signal + * @brief Disable GPIO module interrupt signal * - * @parameter[in] gpio_num : GPIO number. - * If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); + * @param gpio_num GPIO number. If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); * - * @return ESP_OK : success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK success + * - ESP_ERR_INVALID_ARG Parameter error * */ esp_err_t gpio_intr_disable(gpio_num_t gpio_num); /** - * @brief GPIO set output level + * @brief GPIO set output level * - * @parameter[in] gpio_num : GPIO number. - * If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); - * @parameter[in] level : Output level. 0: low ; 1: high + * @param gpio_num GPIO number. If you want to set output level of GPIO16, gpio_num should be GPIO_NUM_16 (16); + * @param level Output level. 0: low ; 1: high * - * @return ESP_OK : success - * ESP_FAIL : GPIO error + * @return + * - ESP_OK Success + * - GPIO_IS_VALID_GPIO GPIO number error * */ esp_err_t gpio_set_level(gpio_num_t gpio_num, uint32_t level); /** - * @brief GPIO get input level + * @brief GPIO get input level * - * @parameter[in] gpio_num : GPIO number. - * If you want to get level of pin GPIO16, gpio_num should be GPIO_NUM_16 (16); + * @param gpio_num GPIO number. If you want to get level of pin GPIO16, gpio_num should be GPIO_NUM_16 (16); * - * @return 0 : the GPIO input level is 0 - * 1 : the GPIO input level is 1 + * @return + * - 0 the GPIO input level is 0 + * - 1 the GPIO input level is 1 * */ int gpio_get_level(gpio_num_t gpio_num); /** - * @brief GPIO set direction + * @brief GPIO set direction * * Configure GPIO direction,such as output_only,input_only,output_and_input * - * @parameter[in] gpio_num : Configure GPIO pins number,it should be GPIO number. - * If you want to set direction of GPIO16, gpio_num should be GPIO_NUM_16 (16); - * @parameter[in] mode : Configure GPIO direction,such as output_only,input_only,... + * @param gpio_num Configure GPIO pins number, it should be GPIO number. If you want to set direction of GPIO16, gpio_num should be GPIO_NUM_16 (16); + * @param mode GPIO direction * - * @return ESP_OK : success - * ESP_ERR_INVALID_ARG : fail - * ESP_FAIL : GPIO error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG GPIO error * */ esp_err_t gpio_set_direction(gpio_num_t gpio_num, gpio_mode_t mode); /** - * @brief GPIO set pull + * @brief GPIO set pull * * User this Function,configure GPIO pull mode,such as pull-up,pull-down * - * @parameter[in] gpio_num : Configure GPIO pins number,it should be GPIO number. - * If you want to set pull up or down mode for GPIO16,gpio_num should be GPIO_NUM_16 (16); - * @parameter[in] pull : Configure GPIO pull up/down mode,such as pullup_only,pulldown_only,pullup_and_pulldown,... + * @param gpio_num GPIO number. If you want to set pull up or down mode for GPIO16,gpio_num should be GPIO_NUM_16 (16); + * @param pull GPIO pull up/down mode. * - * @return ESP_OK : success - * ESP_ERR_INVALID_ARG : fail - * ESP_FAIL : GPIO error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG : Parameter error * */ esp_err_t gpio_set_pull_mode(gpio_num_t gpio_num, gpio_pull_mode_t pull); @@ -340,121 +312,140 @@ 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_t gpio_num : GPIO number. + * @param gpio_num GPIO number. * - * @param gpio_int_type_t intr_type : only GPIO_INTR_LOLEVEL\GPIO_INTR_HILEVEL can be used + * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL\GPIO_INTR_HIGH_LEVEL can be used. * - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error + * @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. + * @brief Disable GPIO wake-up function. * - * @param gpio_num_t gpio_num: GPIO number + * @param gpio_num GPIO number * - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error */ esp_err_t gpio_wakeup_disable(gpio_num_t gpio_num); /** * @brief register GPIO interrupt handler, the handler is an ISR. * The handler will be attached to the same CPU core that this function is running on. + * @note * Users should know that which CPU is running and then pick a INUM that is not used by system. * We can find the information of INUM and interrupt level in soc.h. - * TODO: to move INUM options to menu_config - * @parameter uint32_t gpio_intr_num : GPIO interrupt number,check the info in soc.h, and please see the core-isa.h for more details - * @parameter void (* fn)(void* ) : interrupt handler function. - * Note that the handler function MUST be defined with attribution of "IRAM_ATTR". - * @parameter void * arg : parameter for handler function * - * @return ESP_OK : success ; - * ESP_FAIL: gpio error + * @param gpio_intr_num GPIO interrupt number,check the info in soc.h, and please see the core-isa.h for more details + * @param fn Interrupt handler function. + * + * @note + * Note that the handler function MUST be defined with attribution of "IRAM_ATTR". + * + * @param arg Parameter for handler function + * + * @return + * - ESP_OK Success ; + * - ESP_ERR_INVALID_ARG GPIO error */ esp_err_t gpio_isr_register(uint32_t gpio_intr_num, void (*fn)(void*), void * arg); /** * *************** ATTENTION ********************/ /** - * - * Each GPIO has its own separate configuration register, so we do not use - * a lock to serialize access to them. This works under the assumption that - * no situation will occur where two tasks try to configure the same GPIO - * pin simultaneously. It is up to the application developer to guarantee this. + *@attention + * Each GPIO has its own separate configuration register, so we do not use + * a lock to serialize access to them. This works under the assumption that + * no situation will occur where two tasks try to configure the same GPIO + * pin simultaneously. It is up to the application developer to guarantee this. */ - -/*----------EXAMPLE TO CONIFGURE GPIO AS OUTPUT ------------ */ -/* gpio_config_t io_conf; +/** + *----------EXAMPLE TO CONIFGURE GPIO AS OUTPUT ------------ * + * @code{c} + * gpio_config_t io_conf; * io_conf.intr_type = GPIO_INTR_DISABLE; //disable interrupt * io_conf.mode = GPIO_MODE_OUTPUT; //set as output mode * io_conf.pin_bit_mask = GPIO_SEL_18 | GPIO_SEL_19; //bit mask of the pins that you want to set,e.g.GPIO18/19 * io_conf.pull_down_en = 0; //disable pull-down mode * io_conf.pull_up_en = 0; //disable pull-up mode * gpio_config(&io_conf); //configure GPIO with the given settings + * @endcode **/ -/*----------EXAMPLE TO CONIFGURE GPIO AS OUTPUT ------------ */ -/* io_conf.intr_type = GPIO_INTR_POSEDGE; //set posedge interrupt + +/** + *----------EXAMPLE TO CONIFGURE GPIO AS OUTPUT ------------ * + * @code{c} + * io_conf.intr_type = GPIO_INTR_POSEDGE; //set posedge interrupt * io_conf.mode = GPIO_MODE_INPUT; //set as input * io_conf.pin_bit_mask = GPIO_SEL_4 | GPIO_SEL_5; //bit mask of the pins that you want to set, e.g.,GPIO4/5 * io_conf.pull_down_en = 0; //disable pull-down mode * io_conf.pull_up_en = 1; //enable pull-up mode * gpio_config(&io_conf); //configure GPIO with the given settings - *----------EXAMPLE TO SET ISR HANDLER ----------------------*/ -/* gpio_isr_register(18,gpio_intr_test,NULL); //hook the isr handler for GPIO interrupt - * //the first parameter is INUM, you can pick one form interrupt level 1/2 which is not used by the system. - * //NOTE1:user should arrange the INUMs that used, better not to use a same INUM for different interrupt. - * //NOTE2:do not pick the INUM that already occupied by the system. - * //NOTE3:refer to soc.h to check which INUMs that can be used. - *-------------EXAMPLE OF HANDLER FUNCTION-------------------*/ -/*#include "esp_attr.h" + * @endcode + */ +/** + *----------EXAMPLE TO SET ISR HANDLER ---------------------- + * @code{c} + * //the first parameter is INUM, you can pick one form interrupt level 1/2 which is not used by the system. + * gpio_isr_register(18,gpio_intr_test,NULL); //hook the isr handler for GPIO interrupt + * @endcode + * @note + * 1. user should arrange the INUMs that used, better not to use a same INUM for different interrupt. + * 2. do not pick the INUM that already occupied by the system. + * 3. refer to soc.h to check which INUMs that can be used. + */ +/** + *-------------EXAMPLE OF HANDLER FUNCTION-------------------* + * @code{c} + * #include "esp_attr.h" * void IRAM_ATTR gpio_intr_test(void* arg) - *{ - * //GPIO intr process - * ets_printf("in gpio_intr\n"); - * uint32_t gpio_num = 0; - * uint32_t gpio_intr_status = READ_PERI_REG(GPIO_STATUS_REG); //read status to get interrupt status for GPIO0-31 - * uint32_t gpio_intr_status_h = READ_PERI_REG(GPIO_STATUS1_REG);//read status1 to get interrupt status for GPIO32-39 - * SET_PERI_REG_MASK(GPIO_STATUS_W1TC_REG, gpio_intr_status); //Clear intr for gpio0-gpio31 - * SET_PERI_REG_MASK(GPIO_STATUS1_W1TC_REG, gpio_intr_status_h); //Clear intr for gpio32-39 - * do { - * if(gpio_num < 32) { - * if(gpio_intr_status & BIT(gpio_num)) { //gpio0-gpio31 - * ets_printf("Intr GPIO%d ,val: %d\n",gpio_num,gpio_get_level(gpio_num)); - * //This is an isr handler, you should post an event to process it in RTOS queue. - * } - * } else { - * if(gpio_intr_status_h & BIT(gpio_num - 32)) { - * ets_printf("Intr GPIO%d, val : %d\n",gpio_num,gpio_get_level(gpio_num)); - * //This is an isr handler, you should post an event to process it in RTOS queue. - * } - * } - * } while(++gpio_num < GPIO_PIN_COUNT); - *} - *----EXAMPLE OF I2C CONFIG AND PICK SIGNAL FOR IO MATRIX---*/ -/* gpio_config_t io_conf; - * io_conf.intr_type = GPIO_INTR_DISABLE; //disable interrupt - * io_conf.mode = GPIO_MODE_INPUT_OUTPUT_OD; //set as output mode - * io_conf.pin_bit_mask = GPIO_SEL_21 | GPIO_SEL_22; //bit mask of the pins that you want to set,e.g.GPIO21/22 - * io_conf.pull_down_en = 0; //disable pull-down mode - * io_conf.pull_up_en = 1; //enable pull-up mode - * gpio_config(&io_conf); //configure GPIO with the given settings - * gpio_matrix_out(21, EXT_I2C_SCL_O_IDX, 0, 0); //set output signal for io_matrix - * gpio_matrix_out(22, EXT_I2C_SDA_O_IDX, 0, 0); //set output signal for io_matrix - * gpio_matrix_in( 22, EXT_I2C_SDA_I_IDX, 0); //set input signal for io_matrix + * { + * //GPIO intr process + * ets_printf("in gpio_intr\n"); + * uint32_t gpio_num = 0; + * uint32_t gpio_intr_status = READ_PERI_REG(GPIO_STATUS_REG); //read status to get interrupt status for GPIO0-31 + * uint32_t gpio_intr_status_h = READ_PERI_REG(GPIO_STATUS1_REG);//read status1 to get interrupt status for GPIO32-39 + * SET_PERI_REG_MASK(GPIO_STATUS_W1TC_REG, gpio_intr_status); //Clear intr for gpio0-gpio31 + * SET_PERI_REG_MASK(GPIO_STATUS1_W1TC_REG, gpio_intr_status_h); //Clear intr for gpio32-39 + * do { + * if(gpio_num < 32) { + * if(gpio_intr_status & BIT(gpio_num)) { //gpio0-gpio31 + * ets_printf("Intr GPIO%d ,val: %d\n",gpio_num,gpio_get_level(gpio_num)); + * //This is an isr handler, you should post an event to process it in RTOS queue. + * } + * } else { + * if(gpio_intr_status_h & BIT(gpio_num - 32)) { + * ets_printf("Intr GPIO%d, val : %d\n",gpio_num,gpio_get_level(gpio_num)); + * //This is an isr handler, you should post an event to process it in RTOS queue. + * } + * } + * } while(++gpio_num < GPIO_PIN_COUNT); + * } + * @endcode + */ + +/** + *----EXAMPLE OF I2C CONFIG AND PICK SIGNAL FOR IO MATRIX---* + * @code{c} + * gpio_config_t io_conf; + * io_conf.intr_type = GPIO_INTR_DISABLE; //disable interrupt + * io_conf.mode = GPIO_MODE_INPUT_OUTPUT_OD; //set as output mode + * io_conf.pin_bit_mask = GPIO_SEL_21 | GPIO_SEL_22; //bit mask of the pins that you want to set,e.g.GPIO21/22 + * io_conf.pull_down_en = 0; //disable pull-down mode + * io_conf.pull_up_en = 1; //enable pull-up mode + * gpio_config(&io_conf); //configure GPIO with the given settings + * gpio_matrix_out(21, EXT_I2C_SCL_O_IDX, 0, 0); //set output signal for io_matrix + * gpio_matrix_out(22, EXT_I2C_SDA_O_IDX, 0, 0); //set output signal for io_matrix + * gpio_matrix_in( 22, EXT_I2C_SDA_I_IDX, 0); //set input signal for io_matrix + * @endcode * */ -/** - * @} - */ - -/** - * @} - */ - #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/driver/driver/ledc.h b/tools/sdk/include/driver/driver/ledc.h index 79a6c7f9..3ab0ebff 100644 --- a/tools/sdk/include/driver/driver/ledc.h +++ b/tools/sdk/include/driver/driver/ledc.h @@ -30,68 +30,68 @@ extern "C" { #define LEDC_REF_CLK_HZ (1*1000000) typedef enum { - LEDC_HIGH_SPEED_MODE = 0, /*LEDC high speed speed_mode */ + LEDC_HIGH_SPEED_MODE = 0, /*!< LEDC high speed speed_mode */ //in this version, we only support high speed speed_mode. We will access low speed speed_mode later - //LEDC_LOW_SPEED_MODE, /*LEDC low speed speed_mode */ - LEDC_SPEED_MODE_MAX, + //LEDC_LOW_SPEED_MODE, /*!< LEDC low speed speed_mode */ + LEDC_SPEED_MODE_MAX, /*!< LEDC speed limit */ } ledc_mode_t; typedef enum { - LEDC_INTR_DISABLE = 0, /*Disable LEDC interrupt */ - LEDC_INTR_FADE_END, /*Enable LEDC interrupt */ + LEDC_INTR_DISABLE = 0, /*!< Disable LEDC interrupt */ + LEDC_INTR_FADE_END, /*!< Enable LEDC interrupt */ } ledc_intr_type_t; typedef enum { - LEDC_DUTY_DIR_DECREASE = 0, /*LEDC duty decrease direction */ - LEDC_DUTY_DIR_INCREASE = 1, /*LEDC duty increase direction */ + LEDC_DUTY_DIR_DECREASE = 0, /*!< LEDC duty decrease direction */ + LEDC_DUTY_DIR_INCREASE = 1, /*!< LEDC duty increase direction */ } ledc_duty_direction_t; typedef enum { - LEDC_REF_TICK = 0, /*LEDC timer clock divided from reference tick(1Mhz) */ - LEDC_APB_CLK, /*LEDC timer clock divided from APB clock(80Mhz)*/ + LEDC_REF_TICK = 0, /*!< LEDC timer clock divided from reference tick(1Mhz) */ + LEDC_APB_CLK, /*!< LEDC timer clock divided from APB clock(80Mhz)*/ } ledc_clk_src_t; typedef enum { - LEDC_TIMER_0 = 0, /*LEDC source timer TIMER0 */ - LEDC_TIMER_1, /*LEDC source timer TIMER1 */ - LEDC_TIMER_2, /*LEDC source timer TIMER2 */ - LEDC_TIMER_3, /*LEDC source timer TIMER3 */ + LEDC_TIMER_0 = 0, /*!< LEDC source timer TIMER0 */ + LEDC_TIMER_1, /*!< LEDC source timer TIMER1 */ + LEDC_TIMER_2, /*!< LEDC source timer TIMER2 */ + LEDC_TIMER_3, /*!< LEDC source timer TIMER3 */ } ledc_timer_t; typedef enum { - LEDC_CHANNEL_0 = 0, /*LEDC channel 0 */ - LEDC_CHANNEL_1, /*LEDC channel 1 */ - LEDC_CHANNEL_2, /*LEDC channel 2 */ - LEDC_CHANNEL_3, /*LEDC channel 3 */ - LEDC_CHANNEL_4, /*LEDC channel 4 */ - LEDC_CHANNEL_5, /*LEDC channel 5 */ - LEDC_CHANNEL_6, /*LEDC channel 6 */ - LEDC_CHANNEL_7, /*LEDC channel 7 */ + LEDC_CHANNEL_0 = 0, /*!< LEDC channel 0 */ + LEDC_CHANNEL_1, /*!< LEDC channel 1 */ + LEDC_CHANNEL_2, /*!< LEDC channel 2 */ + LEDC_CHANNEL_3, /*!< LEDC channel 3 */ + LEDC_CHANNEL_4, /*!< LEDC channel 4 */ + LEDC_CHANNEL_5, /*!< LEDC channel 5 */ + LEDC_CHANNEL_6, /*!< LEDC channel 6 */ + LEDC_CHANNEL_7, /*!< LEDC channel 7 */ } ledc_channel_t; typedef enum { - LEDC_TIMER_10_BIT = 10, /*LEDC PWM depth 10Bit */ - LEDC_TIMER_11_BIT = 11, /*LEDC PWM depth 11Bit */ - LEDC_TIMER_12_BIT = 12, /*LEDC PWM depth 12Bit */ - LEDC_TIMER_13_BIT = 13, /*LEDC PWM depth 13Bit */ - LEDC_TIMER_14_BIT = 14, /*LEDC PWM depth 14Bit */ - LEDC_TIMER_15_BIT = 15, /*LEDC PWM depth 15Bit */ + LEDC_TIMER_10_BIT = 10, /*!< LEDC PWM depth 10Bit */ + LEDC_TIMER_11_BIT = 11, /*!< LEDC PWM depth 11Bit */ + LEDC_TIMER_12_BIT = 12, /*!< LEDC PWM depth 12Bit */ + LEDC_TIMER_13_BIT = 13, /*!< LEDC PWM depth 13Bit */ + LEDC_TIMER_14_BIT = 14, /*!< LEDC PWM depth 14Bit */ + LEDC_TIMER_15_BIT = 15, /*!< LEDC PWM depth 15Bit */ } ledc_timer_bit_t; typedef struct { - int gpio_num; /*the LEDC output gpio_num, if you want to use gpio16, gpio_num = 16*/ - ledc_mode_t speed_mode; /*LEDC speed speed_mode, high-speed mode or low-speed mode*/ - ledc_channel_t channel; /*LEDC channel(0 - 7)*/ - ledc_intr_type_t intr_type; /*configure interrupt, Fade interrupt enable or Fade interrupt disable*/ - ledc_timer_t timer_sel; /*Select the timer source of channel (0 - 3)*/ - uint32_t duty; /*LEDC channel duty, the duty range is [0, (2**bit_num) - 1], */ + int gpio_num; /*!< the LEDC output gpio_num, if you want to use gpio16, gpio_num = 16*/ + ledc_mode_t speed_mode; /*!< LEDC speed speed_mode, high-speed mode or low-speed mode*/ + ledc_channel_t channel; /*!< LEDC channel(0 - 7)*/ + ledc_intr_type_t intr_type; /*!< configure interrupt, Fade interrupt enable or Fade interrupt disable*/ + ledc_timer_t timer_sel; /*!< Select the timer source of channel (0 - 3)*/ + uint32_t duty; /*!< LEDC channel duty, the duty range is [0, (2**bit_num) - 1], */ } ledc_channel_config_t; typedef struct { - ledc_mode_t speed_mode; /*LEDC speed speed_mode, high-speed mode or low-speed mode*/ - ledc_timer_bit_t bit_num; /*LEDC channel duty depth*/ - ledc_timer_t timer_num; /*The timer source of channel (0 - 3)*/ - uint32_t freq_hz; /*LEDC timer frequency(Hz)*/ + ledc_mode_t speed_mode; /*!< LEDC speed speed_mode, high-speed mode or low-speed mode*/ + ledc_timer_bit_t bit_num; /*!< LEDC channel duty depth*/ + ledc_timer_t timer_num; /*!< The timer source of channel (0 - 3)*/ + uint32_t freq_hz; /*!< LEDC timer frequency(Hz)*/ } ledc_timer_config_t; @@ -100,15 +100,10 @@ typedef struct { * * User this Function, configure LEDC channel with the given channel/output gpio_num/interrupt/source timer/frequency(Hz)/LEDC depth * - * @param[in] ledc_channel_config_t - * ledc_channel_config_t.speed_mode : LEDC speed speed_mode - * ledc_channel_config_t.gpio_num : LEDC output gpio_num, if you want to use gpio16, ledc_channel_config_t.gpio_num = 16 - * ledc_channel_config_t.channel : LEDC channel(0 - 7) - * ledc_channel_config_t.intr_type : configure interrupt, Fade interrupt enable or Fade interrupt disable - * ledc_channel_config_t.timer_sel : Select the timer source of channel (0 - 3), high speed channel must bind with high speed timer. - * ledc_channel_config_t.duty : LEDC channel duty, the duty range is [0, (2**timer_bit_num) - 1], - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error + * @param ledc_conf Pointer of LEDC channel configure struct + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error * */ esp_err_t ledc_channel_config(ledc_channel_config_t* ledc_conf); @@ -118,14 +113,13 @@ esp_err_t ledc_channel_config(ledc_channel_config_t* ledc_conf); * * User this Function, configure LEDC timer with the given source timer/frequency(Hz)/bit_num * - * @param[in] ledc_timer_config_t - * ledc_timer_config_t.speed_mode : LEDC speed speed_mode - * ledc_timer_config_t.timer_num : Select the timer source of channel (0 - 3) - * ledc_timer_config_t.freq_hz : LEDC channel frequency(Hz), - * ledc_timer_config_t.bit_num : LEDC channel duty depth - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error - * ESP_FAIL: Can not find a proper pre-divider number base on the given frequency and the current bit_num. + * @param timer_conf Pointer of LEDC timer configure struct + * + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_FAIL Can not find a proper pre-divider number base on the given frequency and the current bit_num. * */ esp_err_t ledc_timer_config(ledc_timer_config_t* timer_conf); @@ -136,12 +130,13 @@ esp_err_t ledc_timer_config(ledc_timer_config_t* timer_conf); * Call this function to activate the LEDC updated parameters. * After ledc_set_duty, ledc_set_fade, we need to call this function to update the settings. * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] channel : LEDC channel(0-7), select from ledc_channel_t + * @param channel LEDC channel(0-7), select from ledc_channel_t * - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error * */ esp_err_t ledc_update_duty(ledc_mode_t speed_mode, ledc_channel_t channel); @@ -151,12 +146,13 @@ esp_err_t ledc_update_duty(ledc_mode_t speed_mode, ledc_channel_t channel); * * Disable LEDC output, and set idle level * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] channel : LEDC channel(0-7), select from ledc_channel_t + * @param channel LEDC channel(0-7), select from ledc_channel_t * - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error */ esp_err_t ledc_stop(ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t idle_level); @@ -165,27 +161,29 @@ esp_err_t ledc_stop(ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t idl * * Set LEDC frequency(Hz) * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] timer_num : LEDC timer index(0-3), select from ledc_timer_t + * @param timer_num LEDC timer index(0-3), select from ledc_timer_t * - * @param[in] freq_hz : set the LEDC frequency + * @param freq_hz Set the LEDC frequency * - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error - * ESP_FAIL: Can not find a proper pre-divider number base on the given frequency and the current bit_num. + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_FAIL Can not find a proper pre-divider number base on the given frequency and the current bit_num. */ esp_err_t ledc_set_freq(ledc_mode_t speed_mode, ledc_timer_t timer_num, uint32_t freq_hz); /** * @brief LEDC get channel frequency(Hz) * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] timer_num : LEDC timer index(0-3), select from ledc_timer_t + * @param timer_num LEDC timer index(0-3), select from ledc_timer_t * - * @return 0 : error - * others : current LEDC frequency + * @return + * - 0 error + * - Others Current LEDC frequency * */ uint32_t ledc_get_freq(ledc_mode_t speed_mode, ledc_timer_t timer_num); @@ -195,27 +193,29 @@ uint32_t ledc_get_freq(ledc_mode_t speed_mode, ledc_timer_t timer_num); * * Set LEDC duty, After the function calls the ledc_update_duty function, the function can take effect. * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] channel : LEDC channel(0-7), select from ledc_channel_t + * @param channel LEDC channel(0-7), select from ledc_channel_t * - * @param[in] duty : set the LEDC duty, the duty range is [0, (2**bit_num) - 1] + * @param duty Set the LEDC duty, the duty range is [0, (2**bit_num) - 1] * - * @return ESP_OK: success - * ESP_ERR_INVALID_ARG: parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error */ esp_err_t ledc_set_duty(ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t duty); /** * @brief LEDC get duty * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] channel : LEDC channel(0-7), select from ledc_channel_t + * @param channel LEDC channel(0-7), select from ledc_channel_t * * - * @return -1: parameter error - * other value: current LEDC duty + * @return + * - (-1) parameter error + * - Others Current LEDC duty * */ int ledc_get_duty(ledc_mode_t speed_mode, ledc_channel_t channel); @@ -225,22 +225,23 @@ int ledc_get_duty(ledc_mode_t speed_mode, ledc_channel_t channel); * * Set LEDC gradient, After the function calls the ledc_update_duty function, the function can take effect. * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] channel : LEDC channel(0-7), select from ledc_channel_t + * @param channel LEDC channel(0-7), select from ledc_channel_t * - * @param[in] duty : set the start of the gradient duty, the duty range is [0, (2**bit_num) - 1] + * @param duty Set the start of the gradient duty, the duty range is [0, (2**bit_num) - 1] * - * @param[in] gradule_direction : set the direction of the gradient + * @param gradule_direction Set the direction of the gradient * - * @param[in] step_num : set the number of the gradient + * @param step_num Set the number of the gradient * - * @param[in] duty_cyle_num : set how many LEDC tick each time the gradient lasts + * @param duty_cyle_num Set how many LEDC tick each time the gradient lasts * - * @param[in] duty_scale : set gradient change amplitude + * @param duty_scale Set gradient change amplitude * - * @return ESP_OK : success - * ESP_ERR_INVALID_ARG : parameter error + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Parameter error */ esp_err_t ledc_set_fade(ledc_mode_t speed_mode, uint32_t channel, uint32_t duty, ledc_duty_direction_t gradule_direction, uint32_t step_num, uint32_t duty_cyle_num, uint32_t duty_scale); @@ -248,34 +249,37 @@ esp_err_t ledc_set_fade(ledc_mode_t speed_mode, uint32_t channel, uint32_t duty, /** * @brief register LEDC interrupt handler, the handler is an ISR. * The handler will be attached to the same CPU core that this function is running on. - * Users should know that which CPU is running and then pick a INUM that is not used by system. - * We can find the information of INUM and interrupt level in soc.h. - * TODO: to move INUM options to menu_config - * @param[in] uint32_t ledc_intr_num : LEDC interrupt number, check the info in soc.h, and please see the core-isa.h for more details - * @param[in] void (* fn)(void* ) : interrupt handler function. - * Note that the handler function MUST be defined with attribution of "IRAM_ATTR". - * @param[in] void * arg : parameter for handler function + * @note + * Users should know that which CPU is running and then pick a INUM that is not used by system. + * We can find the information of INUM and interrupt level in soc.h. + * @param ledc_intr_num LEDC interrupt number, check the info in soc.h, and please see the core-isa.h for more details + * @param fn Interrupt handler function. + * @note + * Note that the handler function MUST be defined with attribution of "IRAM_ATTR". + * @param arg Parameter for handler function * - * @return ESP_OK : success ; - * ESP_ERR_INVALID_ARG : function ptr error. + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG Function pointer error. */ esp_err_t ledc_isr_register(uint32_t ledc_intr_num, void (*fn)(void*), void * arg); /** * @brief configure LEDC settings * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] timer_sel : timer index(0-3), there are 4 timers in LEDC module + * @param timer_sel Timer index(0-3), there are 4 timers in LEDC module * - * @param[in] div_num : timer clock divide number, the timer clock is divided from the selected clock source + * @param div_num Timer clock divide number, the timer clock is divided from the selected clock source * - * @param[in] bit_num : the count number of one period, counter range is 0 ~ ((2 ** bit_num) - 1) + * @param bit_num The count number of one period, counter range is 0 ~ ((2 ** bit_num) - 1) * - * @param[in] clk_src : select LEDC source clock. + * @param clk_src Select LEDC source clock. * - * @return -1: parameter error - * other value: current LEDC duty + * @return + * - (-1) Parameter error + * - Other Current LEDC duty * */ esp_err_t ledc_timer_set(ledc_mode_t speed_mode, ledc_timer_t timer_sel, uint32_t div_num, uint32_t bit_num, ledc_clk_src_t clk_src); @@ -283,13 +287,14 @@ esp_err_t ledc_timer_set(ledc_mode_t speed_mode, ledc_timer_t timer_sel, uint32_ /** * @brief reset LEDC timer * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] timer_sel : LEDC timer index(0-3), select from ledc_timer_t + * @param timer_sel LEDC timer index(0-3), select from ledc_timer_t * * - * @return ESP_ERR_INVALID_ARG: parameter error - * ESP_OK: success + * @return + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_OK Success * */ esp_err_t ledc_timer_rst(ledc_mode_t speed_mode, uint32_t timer_sel); @@ -297,13 +302,14 @@ esp_err_t ledc_timer_rst(ledc_mode_t speed_mode, uint32_t timer_sel); /** * @brief pause LEDC timer counter * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] timer_sel : LEDC timer index(0-3), select from ledc_timer_t + * @param timer_sel LEDC timer index(0-3), select from ledc_timer_t * * - * @return ESP_ERR_INVALID_ARG: parameter error - * ESP_OK: success + * @return + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_OK Success * */ esp_err_t ledc_timer_pause(ledc_mode_t speed_mode, uint32_t timer_sel); @@ -311,13 +317,14 @@ esp_err_t ledc_timer_pause(ledc_mode_t speed_mode, uint32_t timer_sel); /** * @brief pause LEDC timer resume * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] timer_sel : LEDC timer index(0-3), select from ledc_timer_t + * @param timer_sel LEDC timer index(0-3), select from ledc_timer_t * * - * @return ESP_ERR_INVALID_ARG: parameter error - * ESP_OK: success + * @return + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_OK Success * */ esp_err_t ledc_timer_resume(ledc_mode_t speed_mode, uint32_t timer_sel); @@ -325,15 +332,16 @@ esp_err_t ledc_timer_resume(ledc_mode_t speed_mode, uint32_t timer_sel); /** * @brief bind LEDC channel with the selected timer * - * @param[in] speed_mode : select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version + * @param speed_mode Select the LEDC speed_mode, high-speed mode and low-speed mode, now we only support high-speed mode. We will access low-speed mode in next version * - * @param[in] channel : LEDC channel index(0-7), select from ledc_channel_t + * @param channel LEDC channel index(0-7), select from ledc_channel_t * - * @param[in] timer_idx : LEDC timer index(0-3), select from ledc_timer_t + * @param timer_idx LEDC timer index(0-3), select from ledc_timer_t * * - * @return ESP_ERR_INVALID_ARG: parameter error - * ESP_OK: success + * @return + * - ESP_ERR_INVALID_ARG Parameter error + * - ESP_OK Success * */ esp_err_t ledc_bind_channel_timer(ledc_mode_t speed_mode, uint32_t channel, uint32_t timer_idx); @@ -342,44 +350,56 @@ esp_err_t ledc_bind_channel_timer(ledc_mode_t speed_mode, uint32_t channel, uint * * * ----------------EXAMPLE OF LEDC SETTING --------------------- - * //1. enable LEDC - * periph_module_enable(PERIPH_LEDC_MODULE); //enable LEDC module, or you can not set any register of it. + * @code{c} + * //1. enable LEDC + * //enable LEDC module, or you can not set any register of it. + * periph_module_enable(PERIPH_LEDC_MODULE); + * @endcode * - * //2. set LEDC timer - * ledc_timer_config_t timer_conf = { - * .bit_num = LEDC_TIMER_12_BIT, //set timer counter bit number - * .freq_hz = 1000, //set frequency of pwm, here, 1000Hz - * .speed_mode = LEDC_HIGH_SPEED_MODE //timer mode, - * .timer_num = LEDC_TIMER_0, //timer number - * }; - * ledc_timer_config(&timer_conf); //setup timer. + * @code{c} + * //2. set LEDC timer + * ledc_timer_config_t timer_conf = { + * .bit_num = LEDC_TIMER_12_BIT, //set timer counter bit number + * .freq_hz = 1000, //set frequency of pwm, here, 1000Hz + * .speed_mode = LEDC_HIGH_SPEED_MODE, //timer mode, + * .timer_num = LEDC_TIMER_0, //timer number + * }; + * ledc_timer_config(&timer_conf); //setup timer. + * @endcode * - * //3. set LEDC channel - * ledc_channel_config_t ledc_conf = { - * .channel = LEDC_CHANNEL_0; //set LEDC channel 0 - * .duty = 1000; //set the duty for initialization.(duty range is 0 ~ ((2**bit_num)-1) - * .gpio_num = 16; //GPIO number - * .intr_type = LEDC_INTR_FADE_END; //GPIO INTR TYPE, as an example, we enable fade_end interrupt here. - * .speed_mode = LEDC_HIGH_SPEED_MODE; //set LEDC mode, from ledc_mode_t - * .timer_sel = LEDC_TIMER_0; //set LEDC timer source, if different channel use one timer, the frequency and bit_num of these channels should be the same - * } - * ledc_channel_config(&ledc_conf); //setup the configuration + * @code{c} + * //3. set LEDC channel + * ledc_channel_config_t ledc_conf = { + * .channel = LEDC_CHANNEL_0; //set LEDC channel 0 + * .duty = 1000; //set the duty for initialization.(duty range is 0 ~ ((2**bit_num)-1) + * .gpio_num = 16; //GPIO number + * .intr_type = LEDC_INTR_FADE_END; //GPIO INTR TYPE, as an example, we enable fade_end interrupt here. + * .speed_mode = LEDC_HIGH_SPEED_MODE; //set LEDC mode, from ledc_mode_t + * .timer_sel = LEDC_TIMER_0; //set LEDC timer source, if different channel use one timer, the frequency and bit_num of these channels should be the same + * } + * ledc_channel_config(&ledc_conf); //setup the configuration * * ----------------EXAMPLE OF SETTING DUTY --- ----------------- - * uint32_t ledc_channel = LEDC_CHANNEL_0; //LEDC channel(0-73) - * uint32_t duty = 2000; //duty range is 0 ~ ((2**bit_num)-1) - * LEDC_set_duty(LEDC_HIGH_SPEED_MODE, ledc_channel, duty); //set speed mode, channel, and duty. - * ledc_update_duty(LEDC_HIGH_SPEED_MODE, ledc_channel); //after set duty, we need to call ledc_update_duty to update the settings. - * + * @code{c} + * uint32_t ledc_channel = LEDC_CHANNEL_0; //LEDC channel(0-73) + * uint32_t duty = 2000; //duty range is 0 ~ ((2**bit_num)-1) + * LEDC_set_duty(LEDC_HIGH_SPEED_MODE, ledc_channel, duty); //set speed mode, channel, and duty. + * ledc_update_duty(LEDC_HIGH_SPEED_MODE, ledc_channel); //after set duty, we need to call ledc_update_duty to update the settings. + * @endcode * * ----------------EXAMPLE OF LEDC INTERRUPT ------------------ - * //we have fade_end interrupt and counter overflow interrupt. we just give an example of fade_end interrupt here. - * ledc_isr_register(18, ledc_isr_handler, NULL); //hook the isr handler for LEDC interrupt - * //the first parameter is INUM, you can pick one form interrupt level 1/2 which is not used by the system. - * //NOTE1:user should arrange the INUMs that used, better not to use a same INUM for different interrupt source. - * //NOTE2:do not pick the INUM that already occupied by the system. - * //NOTE3:refer to soc.h to check which INUMs that can be used. + * @code{c} + * //we have fade_end interrupt and counter overflow interrupt. we just give an example of fade_end interrupt here. + * ledc_isr_register(18, ledc_isr_handler, NULL); //hook the isr handler for LEDC interrupt + * @endcode + * @note + * 1. the first parameter is INUM, you can pick one form interrupt level 1/2 which is not used by the system. + * 2. user should arrange the INUMs that used, better not to use a same INUM for different interrupt source. + * 3. do not pick the INUM that already occupied by the system. + * 4. refer to soc.h to check which INUMs that can be used. + * * ----------------EXAMPLE OF INTERRUPT HANDLER --------------- + * @code{c} * #include "esp_attr.h" * void IRAM_ATTR ledc_isr_handler(void* arg) //we should add 'IRAM_ATTR' attribution when we declare the isr function * { @@ -391,7 +411,7 @@ esp_err_t ledc_bind_channel_timer(ledc_mode_t speed_mode, uint32_t channel, uint * * LEDC.int_clr.val = intr_st; //clear LEDC interrupt status. * } - * + * @endcode * *--------------------------END OF EXAMPLE -------------------------- */ diff --git a/tools/sdk/include/driver/driver/uart.h b/tools/sdk/include/driver/driver/uart.h new file mode 100644 index 00000000..7dccf166 --- /dev/null +++ b/tools/sdk/include/driver/driver/uart.h @@ -0,0 +1,763 @@ +// 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_UART_H_ +#define _DRIVER_UART_H_ + + +#ifdef __cplusplus +extern "C" { +#endif + +#include "soc/uart_reg.h" +#include "soc/uart_struct.h" +#include "esp_err.h" +#include "driver/periph_ctrl.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 + +#define UART_FIFO_LEN (128) /*< Length of the hardware FIFO buffers */ +#define UART_INTR_MASK 0x1ff +#define UART_LINE_INV_MASK (0x3f << 19) +#define UART_BITRATE_MAX 5000000 +#define UART_PIN_NO_CHANGE (-1) + +#define UART_INVERSE_DISABLE (0x0) /*!< Disable UART signal inverse*/ +#define UART_INVERSE_RXD (UART_RXD_INV_M) /*!< UART RXD input inverse*/ +#define UART_INVERSE_CTS (UART_CTS_INV_M) /*!< UART CTS input inverse*/ +#define UART_INVERSE_TXD (UART_TXD_INV_M) /*!< UART TXD output inverse*/ +#define UART_INVERSE_RTS (UART_RTS_INV_M) /*!< UART RTS output inverse*/ + +typedef enum { + UART_DATA_5_BITS = 0x0, /*!< word length: 5bits*/ + 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_word_length_t; + +typedef enum { + UART_STOP_BITS_1 = 0x1, /*!< stop bit: 1bit*/ + UART_STOP_BITS_1_5 = 0x2, /*!< stop bit: 1.5bits*/ + UART_STOP_BITS_2 = 0x3, /*!< stop bit: 2bits*/ + UART_STOP_BITS_MAX = 0x4, +} uart_stop_bits_t; + +typedef enum { + UART_NUM_0 = 0x0, /*!< UART base address 0x3ff40000*/ + UART_NUM_1 = 0x1, /*!< UART base address 0x3ff50000*/ + UART_NUM_2 = 0x2, /*!< UART base address 0x3ff6E000*/ + UART_NUM_MAX, +} uart_port_t; + +typedef enum { + UART_PARITY_DISABLE = 0x0, /*!< Disable UART parity*/ + UART_PARITY_EVEN = 0x10, /*!< Enable UART even parity*/ + UART_PARITY_ODD = 0x11 /*!< Enable UART odd parity*/ +} uart_parity_t; + +typedef enum { + UART_HW_FLOWCTRL_DISABLE = 0x0, /*!< disable hardware flow control*/ + UART_HW_FLOWCTRL_RTS = 0x1, /*!< enable RX hardware flow control (rts)*/ + UART_HW_FLOWCTRL_CTS = 0x2, /*!< enable TX hardware flow control (cts)*/ + UART_HW_FLOWCTRL_CTS_RTS = 0x3, /*!< enable hardware flow control*/ + UART_HW_FLOWCTRL_MAX = 0x4, +} uart_hw_flowcontrol_t; + +typedef struct { + int baud_rate; /*!< UART baudrate*/ + uart_word_length_t data_bits; /*!< UART byte size*/ + uart_parity_t parity; /*!< UART parity mode*/ + uart_stop_bits_t stop_bits; /*!< UART stop bits*/ + uart_hw_flowcontrol_t flow_ctrl; /*!< UART HW flow control mode(cts/rts)*/ + uint8_t rx_flow_ctrl_thresh ; /*!< UART HW RTS threshold*/ +} uart_config_t; + +typedef struct { + uint32_t intr_enable_mask; /*!< UART interrupt enable mask, choose from UART_XXXX_INT_ENA_M under UART_INT_ENA_REG(i), connect with bit-or operator*/ + uint8_t rx_timeout_thresh; /*!< UART timeout interrupt threshold(unit: time of sending one byte)*/ + uint8_t txfifo_empty_intr_thresh; /*!< UART TX empty interrupt threshold.*/ + uint8_t rxfifo_full_thresh; /*!< UART RX full interrupt threshold.*/ +} uart_intr_config_t; + +typedef enum { + UART_DATA, /*!< UART data event*/ + UART_BREAK, /*!< UART break event*/ + UART_BUFFER_FULL, /*!< UART RX buffer full event*/ + UART_FIFO_OVF, /*!< UART FIFO overflow event*/ + UART_FRAME_ERR, /*!< UART RX frame error event*/ + UART_PARITY_ERR, /*!< UART RX parity event*/ + UART_DATA_BREAK, /*!< UART TX data and break event*/ + UART_EVENT_MAX, /*!< UART event max index*/ +} uart_event_type_t; + +typedef struct { + uart_event_type_t type; /*!< UART event type */ + size_t size; /*!< UART data size for UART_DATA event*/ +} uart_event_t; + +/** + * @brief Set UART data bits. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param data_bit UART data bits + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_set_word_length(uart_port_t uart_num, uart_word_length_t data_bit); + +/** + * @brief Get UART data bits. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success, result will be put in (*data_bit) + */ +esp_err_t uart_get_word_length(uart_port_t uart_num, uart_word_length_t* data_bit); + +/** + * @brief Set UART stop bits. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param bit_num UART stop bits + * + * @return + * - ESP_OK Success + * - ESP_FAIL Fail + */ +esp_err_t uart_set_stop_bits(uart_port_t uart_no, uart_stop_bits_t bit_num); + +/** + * @brief Set UART stop bits. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success, result will be put in (*stop_bit) + */ +esp_err_t uart_get_stop_bits(uart_port_t uart_num, uart_stop_bits_t* stop_bit); + +/** + * @brief Set UART parity. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param parity_mode the enum of uart parity configuration + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success + */ +esp_err_t uart_set_parity(uart_port_t uart_no, uart_parity_t parity_mode); + +/** + * @brief Get UART parity mode. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success, result will be put in (*parity_mode) + * + */ +esp_err_t uart_get_parity(uart_port_t uart_num, uart_parity_t* parity_mode); + +/** + * @brief Set UART baud rate. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param baud_rate UART baud-rate. + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success + */ +esp_err_t uart_set_baudrate(uart_port_t uart_no, uint32_t baud_rate); + +/** + * @brief Get UART bit-rate. + * + * @param uart_no: UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success, result will be put in (*baudrate) + * + */ +esp_err_t uart_get_baudrate(uart_port_t uart_num, uint32_t* baudrate); + +/** + * @brief Set UART line inverse mode + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param inverse_mask Choose the wires that need to be inversed. + * + * (inverse_mask should be chosen from UART_INVERSE_RXD/UART_INVERSE_TXD/UART_INVERSE_RTS/UART_INVERSE_CTS, combine with OR-OPERATION) + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_set_line_inverse(uart_port_t uart_no, uint32_t inverse_mask); + +/** + * @brief Set hardware flow control. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param flow_ctrl Hardware flow control mode + * + * @param rx_thresh Threshold of Hardware RX flow control(0 ~ UART_FIFO_LEN) + * + * Only when UART_HW_FLOWCTRL_RTS is set , will the rx_thresh value be set. + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_set_hw_flow_ctrl(uart_port_t uart_no, uart_hw_flowcontrol_t flow_ctrl, uint8_t rx_thresh); + +/** + * @brief Get hardware flow control mode + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_FAIL Parameter error + * - ESP_OK Success, result will be put in (*flow_ctrl) + */ +esp_err_t uart_get_hw_flow_ctrl(uart_port_t uart_num, uart_hw_flowcontrol_t* flow_ctrl); + +/** + * @brief Clear UART interrupt status + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param clr_mask Bit mask of the status that to be cleared. + * + * (enable_mask should be chosen from the fields of register UART_INT_CLR_REG) + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_clear_intr_status(uart_port_t uart_num, uint32_t clr_mask); + +/** + * @brief Set UART interrupt enable + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param enable_mask Bit mask of the enable bits. + * + * (enable_mask should be chosen from the fields of register UART_INT_ENA_REG) + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_enable_intr_mask(uart_port_t uart_num, uint32_t enable_mask); + +/** + * @brief Clear UART interrupt enable bits + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param disable_mask Bit mask of the disable bits. + * + * (disable_mask should be chosen from the fields of register UART_INT_ENA_REG) + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_disable_intr_mask(uart_port_t uart_num, uint32_t disable_mask); + + +/** + * @brief Enable UART RX interrupt(RX_FULL & RX_TIMEOUT INTERRUPT) + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_enable_rx_intr(uart_port_t uart_num); + +/** + * @brief Disable UART RX interrupt(RX_FULL & RX_TIMEOUT INTERRUPT) + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_disable_rx_intr(uart_port_t uart_num); + +/** + * @brief Disable UART TX interrupt(RX_FULL & RX_TIMEOUT INTERRUPT) + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_disable_tx_intr(uart_port_t uart_num); + +/** + * @brief Enable UART TX interrupt(RX_FULL & RX_TIMEOUT INTERRUPT) + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param enable 1: enable; 0: disable + * + * @param thresh Threshold of TX interrupt, 0 ~ UART_FIFO_LEN + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_enable_tx_intr(uart_port_t uart_num, int enable, int thresh); + +/** +* @brief register UART interrupt handler(ISR). +* @note + * UART ISR handler will be attached to the same CPU core that this function is running on. + * Users should know that which CPU is running and then pick a INUM that is not used by system. + * We can find the information of INUM and interrupt level in soc.h. + * + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param uart_intr_num UART interrupt number,check the info in soc.h, and please refer to core-isa.h for more details + * + * @param fn Interrupt handler function. + * @attention + * The ISR handler function MUST be defined with attribution of "IRAM_ATTR" for now. + * @param arg parameter for handler function + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_isr_register(uart_port_t uart_num, uint8_t uart_intr_num, void (*fn)(void*), void * arg); + +/** + * @brief Set UART pin number + * + * @note + * Internal signal can be output to multiple GPIO pads + * Only one GPIO pad can connect with input signal + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param tx_io_num UART TX pin GPIO number, if set to UART_PIN_NO_CHANGE, use the current pin. + * + * @param rx_io_num UART RX pin GPIO number, if set to UART_PIN_NO_CHANGE, use the current pin. + * + * @param rts_io_num UART RTS pin GPIO number, if set to UART_PIN_NO_CHANGE, use the current pin. + * + * @param cts_io_num UART CTS pin GPIO number, if set to UART_PIN_NO_CHANGE, use the current pin. + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_set_pin(uart_port_t uart_num, int tx_io_num, int rx_io_num, int rts_io_num, int cts_io_num); + +/** + * @brief UART set RTS level (before inverse) + * UART rx hardware flow control should not be set. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param level 1: RTS output low(active); 0: RTS output high(block) + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_set_rts(uart_port_t uart_num, int level); + +/** + * @brief UART set DTR level (before inverse) + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param level 1: DTR output low; 0: DTR output high + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_set_dtr(uart_port_t uart_num, int level); + +/** +* @brief UART parameter configure + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param uart_config UART parameter settings + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_param_config(uart_port_t uart_num, const uart_config_t *uart_config); + +/** +* @brief UART interrupt configure + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param intr_conf UART interrupt settings + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_intr_config(uart_port_t uart_num, const uart_intr_config_t *intr_conf); + +/** + * @brief Install UART driver. + * + * UART ISR handler will be attached to the same CPU core that this function is running on. + * Users should know that which CPU is running and then pick a INUM that is not used by system. + * We can find the information of INUM and interrupt level in soc.h. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param rx_buffer_size UART RX ring buffer size + * + * @param tx_buffer_size UART TX ring buffer size. + * + * If set to zero, driver will not use TX buffer, TX function will block task until all data have been sent out.. + * + * @param queue_size UART event queue size/depth. + * + * @param uart_intr_num UART interrupt number,check the info in soc.h, and please refer to core-isa.h for more details + * + * @param uart_queue UART event queue handle, if set NULL, driver will not use an event queue. + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_driver_install(uart_port_t uart_num, int rx_buffer_size, int tx_buffer_size, int queue_size, int uart_intr_num, void* uart_queue); + +/** + * @brief Uninstall UART driver. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_driver_delete(uart_port_t uart_num); + +/** + * @brief Wait UART TX FIFO empty + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param ticks_to_wait Timeout, count in RTOS ticks + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + * - ESP_ERR_TIMEOUT Timeout + */ +esp_err_t uart_wait_tx_done(uart_port_t uart_num, TickType_t ticks_to_wait); + +/** + * @brief Send data to the UART port from a given buffer and length, + * This function will not wait for the space in TX FIFO, just fill the TX FIFO and return when the FIFO is full. + * @note + * This function should only be used when UART TX buffer is not enabled. + * + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param buffer data buffer address + * + * @param len data length to send + * + * @return + * - (-1) Parameter error + * - OTHERS(>=0) The number of data that pushed to the TX FIFO + */ +int uart_tx_chars(uart_port_t uart_no, const char* buffer, uint32_t len); + +/** + * @brief Send data to the UART port from a given buffer and length, + * + * If parameter tx_buffer_size is set to zero: + * This function will not return until all the data have been sent out, or at least pushed into TX FIFO. + * + * Otherwise, if tx_buffer_size > 0, this function will return after copying all the data to tx ringbuffer, + * then, UART ISR will move data from ring buffer to TX FIFO gradually. + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param src data buffer address + * + * @param size data length to send + * + * @return + * - (-1) Parameter error + * - OTHERS(>=0) The number of data that pushed to the TX FIFO + */ +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, + * + * If 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. + * After all data send out, send a break signal. + * + * Otherwise, if tx_buffer_size > 0, this function will return after copying all the data to tx ringbuffer, + * then, UART ISR will move data from ring buffer to TX FIFO gradually. + * After all data send out, send a break signal. + * + * + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param src data buffer address + * + * @param size data length to send + * + * @param brk_len break signal length (unit: one bit's time@current_baudrate) + * + * @return + * - (-1) Parameter error + * - OTHERS(>=0) The number of data that pushed to the TX FIFO + */ + +int uart_write_bytes_with_break(uart_port_t uart_num, const char* src, size_t size, int brk_len); + +/** +* @brief UART read bytes from UART buffer + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @param buf pointer to the buffer. + * + * @param length data length + * + * @param ticks_to_wait sTimeout, count in RTOS ticks + * + * + * @return + * - (-1) Error + * - Others return a char data from uart fifo. + */ +int uart_read_bytes(uart_port_t uart_num, uint8_t* buf, uint32_t length, TickType_t ticks_to_wait); + +/** + * @brief UART ring buffer flush + * + * @param uart_no UART_NUM_0, UART_NUM_1 or UART_NUM_2 + * + * @return + * - ESP_OK Success + * - ESP_FAIL Parameter error + */ +esp_err_t uart_flush(uart_port_t uart_num); + +/***************************EXAMPLE********************************** + * + * + * ----------------EXAMPLE OF UART SETTING --------------------- + * @code{c} + * //1. Setup UART + * #include "freertos/queue.h" + * #define UART_INTR_NUM 17 //choose one interrupt number from soc.h + * //a. Set UART parameter + * int uart_num = 0; //uart port number + * uart_config_t uart_config = { + * .baud_rate = UART_BITRATE_115200, //baudrate + * .data_bits = UART_DATA_8_BITS, //data bit mode + * .parity = UART_PARITY_DISABLE, //parity mode + * .stop_bits = UART_STOP_BITS_1, //stop bit mode + * .flow_ctrl = UART_HW_FLOWCTRL_DISABLE, //hardware flow control(cts/rts) + * .rx_flow_ctrl_thresh = 120, //flow control threshold + * }; + * uart_param_config(uart_num, &uart_config); + * //b1. Setup UART driver(with UART queue) + * QueueHandle_t uart_queue; + * //parameters here are just an example, tx buffer size is 2048 + * uart_driver_install(uart_num, 1024 * 2, 1024 * 2, 10, UART_INTR_NUM, &uart_queue); + * //b2. Setup UART driver(without UART queue) + * //parameters here are just an example, tx buffer size is 0 + * uart_driver_install(uart_num, 1024 * 2, 0, 10, UART_INTR_NUM, NULL); + *@endcode + *-----------------------------------------------------------------------------* + * @code{c} + * //2. Set UART pin + * //set UART pin, not needed if use default pins. + * uart_set_pin(uart_num, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, 15, 13); + * @endcode + *-----------------------------------------------------------------------------* + * @code{c} + * //3. Read data from UART. + * uint8_t data[128]; + * int length = 0; + * length = uart_read_bytes(uart_num, data, sizeof(data), 100); + * @endcode + *-----------------------------------------------------------------------------* + * @code{c} + * //4. Write data to UART. + * char* test_str = "This is a test string.\n" + * uart_write_bytes(uart_num, (const char*)test_str, strlen(test_str)); + * @endcode + *-----------------------------------------------------------------------------* + * @code{c} + * //5. Write data to UART, end with a break signal. + * uart_write_bytes_with_break(0, "test break\n",strlen("test break\n"), 100); + * @endcode + *-----------------------------------------------------------------------------* + * @code{c} + * //6. an example of echo test with hardware flow control on UART1 + * void uart_loop_back_test() + * { + * int uart_num = 1; + * uart_config_t uart_config = { + * .baud_rate = 115200, + * .data_bits = UART_DATA_8_BITS, + * .parity = UART_PARITY_DISABLE, + * .stop_bits = UART_STOP_BITS_1, + * .flow_ctrl = UART_HW_FLOWCTRL_CTS_RTS, + * .rx_flow_ctrl_thresh = 122, + * }; + * //Configure UART1 parameters + * uart_param_config(uart_num, &uart_config); + * //Set UART1 pins(TX: IO16, RX: IO17, RTS: IO18, CTS: IO19) + * uart_set_pin(uart_num, 16, 17, 18, 19); + * //Install UART driver( We don't need an event queue here) + * uart_driver_install(uart_num, 1024 * 2, 1024*4, 10, 17, NULL, RINGBUF_TYPE_BYTEBUF); + * uint8_t data[1000]; + * while(1) { + * //Read data from UART + * int len = uart_read_bytes(uart_num, data, sizeof(data), 10); + * //Write data back to UART + * uart_write_bytes(uart_num, (const char*)data, len); + * } + * } + * @endcode + *-----------------------------------------------------------------------------* + * @code{c} + * //7. An example of using UART event queue on UART0. + * #include "freertos/queue.h" + * //A queue to handle UART event. + * QueueHandle_t uart0_queue; + * static const char *TAG = "uart_example"; + * void uart_task(void *pvParameters) + * { + * int uart_num = (int)pvParameters; + * uart_event_t event; + * uint8_t dtmp[1000]; + * for(;;) { + * //Waiting for UART event. + * if(xQueueReceive(uart0_queue, (void * )&event, (portTickType)portMAX_DELAY)) { + * ESP_LOGI(TAG, "uart[%d] event:", uart_num); + * switch(event.type) { + * memset(dtmp, 0, sizeof(dtmp)); + * //Event of UART receving data + * case UART_DATA: + * ESP_LOGI(TAG,"data, len: %d", event.size); + * int len = uart_read_bytes(uart_num, dtmp, event.size, 10); + * ESP_LOGI(TAG, "uart read: %d", len); + uart_write_bytes(uart_num, (const char*)dtmp, len); + * break; + * //Event of HW FIFO overflow detected + * case UART_FIFO_OVF: + * ESP_LOGI(TAG, "hw fifo overflow\n"); + * break; + * //Event of UART ring buffer full + * case UART_BUFFER_FULL: + * ESP_LOGI(TAG, "ring buffer full\n"); + * break; + * //Event of UART RX break detected + * case UART_BREAK: + * ESP_LOGI(TAG, "uart rx break\n"); + * break; + * //Event of UART parity check error + * case UART_PARITY_ERR: + * ESP_LOGI(TAG, "uart parity error\n"); + * break; + * //Event of UART frame error + * case UART_FRAME_ERR: + * ESP_LOGI(TAG, "uart frame error\n"); + * break; + * //Others + * default: + * ESP_LOGI(TAG, "uart event type: %d\n", event.type); + * break; + * } + * } + * } + * vTaskDelete(NULL); + * } + * + * void uart_queue_test() + * { + * int uart_num = 0; + * uart_config_t uart_config = { + * .baud_rate = 115200, + * .data_bits = UART_DATA_8_BITS, + * .parity = UART_PARITY_DISABLE, + * .stop_bits = UART_STOP_BITS_1, + * .flow_ctrl = UART_HW_FLOWCTRL_DISABLE, + * .rx_flow_ctrl_thresh = 122, + * }; + * //Set UART parameters + * uart_param_config(uart_num, &uart_config); + * //Set UART pins,(-1: default pin, no change.) + * uart_set_pin(uart_num, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, 15, 13); + * //Set UART log level + * esp_log_level_set(TAG, ESP_LOG_INFO); + * //Install UART driver, and get the queue. + * uart_driver_install(uart_num, 1024 * 2, 1024*4, 10, 17, &uart0_queue, RINGBUF_TYPE_BYTEBUF); + * //Create a task to handler UART event from ISR + * xTaskCreate(uart_task, "uTask", 2048*8, (void*)uart_num, 10, NULL); + * } + * @endcode + * + ***************************END OF EXAMPLE**********************************/ + +#ifdef __cplusplus +} +#endif + +#endif /*_DRIVER_UART_H_*/ diff --git a/tools/sdk/include/esp32/esp_attr.h b/tools/sdk/include/esp32/esp_attr.h index 156d2957..78aa3bd1 100644 --- a/tools/sdk/include/esp32/esp_attr.h +++ b/tools/sdk/include/esp32/esp_attr.h @@ -20,22 +20,21 @@ //and all variables in shared RAM. These macros can be used to redirect //particular functions/variables to other memory regions. -// Forces code into IRAM instead of flash +// Forces code into IRAM instead of flash. #define IRAM_ATTR __attribute__((section(".iram1"))) // Forces data into DRAM instead of flash #define DRAM_ATTR __attribute__((section(".dram1"))) -// Forces code into RTC fast memory +// Forces code into RTC fast memory. See "docs/deep-sleep-stub.rst" #define RTC_IRAM_ATTR __attribute__((section(".rtc.text"))) -// Forces data into RTC slow memory +// Forces data into RTC slow memory. See "docs/deep-sleep-stub.rst" // Any variable marked with this attribute will keep its value // during a deep sleep / wake cycle. #define RTC_DATA_ATTR __attribute__((section(".rtc.data"))) -// Forces read-only data into RTC slow memory -// Makes constant data available to RTC wake stubs (see esp_deepsleep.h) +// Forces read-only data into RTC slow memory. See "docs/deep-sleep-stub.rst" #define RTC_RODATA_ATTR __attribute__((section(".rtc.rodata"))) #endif /* __ESP_ATTR_H__ */ diff --git a/tools/sdk/include/esp32/esp_crosscore_int.h b/tools/sdk/include/esp32/esp_crosscore_int.h new file mode 100644 index 00000000..0e4b2b83 --- /dev/null +++ b/tools/sdk/include/esp32/esp_crosscore_int.h @@ -0,0 +1,42 @@ +// 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_CROSSCORE_INT_H +#define __ESP_CROSSCORE_INT_H + + +/** + * Initialize the crosscore interrupt system for this CPU. + * This needs to be called once on every CPU that is used + * by FreeRTOS. + * + * If multicore FreeRTOS support is enabled, this will be + * called automatically by the startup code and should not + * be called manually. + */ +void esp_crosscore_int_init(); + + +/** + * Send an interrupt to a CPU indicating it should yield its + * currently running task in favour of a higher-priority task + * that presumably just woke up. + * + * This is used internally by FreeRTOS in multicore mode + * and should not be called by the user. + * + * @param coreID Core that should do the yielding + */ +void esp_crosscore_int_send_yield(int coreId); + +#endif \ No newline at end of file diff --git a/tools/sdk/include/esp32/esp_deepsleep.h b/tools/sdk/include/esp32/esp_deepsleep.h index 3683a8ee..59b31291 100644 --- a/tools/sdk/include/esp32/esp_deepsleep.h +++ b/tools/sdk/include/esp32/esp_deepsleep.h @@ -54,37 +54,7 @@ void system_deep_sleep(uint64_t time_in_us); * to run code immediately when the chip wakes from * sleep. * - * For example: - * @code - * void RTC_IRAM_ATTR esp_wake_deep_sleep(void) { - * esp_default_wake_deep_sleep(); - * // Add additional functionality here - * } - * - * (Implementing this function is not required for normal operation, - * in the usual case your app will start normally when waking from - * deep sleep.) - * - * esp_wake_deep_sleep() functionality is limited: - * - * - Runs immediately on wake, so most of the SoC is freshly reset - - * flash is unmapped and hardware is otherwise uninitialised. - * - * - Can only call functions implemented in ROM, or marked RTC_IRAM_ATTR. - * - * - Static variables marked RTC_DATA_ATTR will have initial values on - * cold boot, and maintain these values between sleep/wake cycles. - * - * - Read-only data should be marked RTC_RODATA_ATTR. Strings must be - * declared as variables also using RTC_RODATA_ATTR, like this: - * RTC_RODATA_ATTR const char message[] = "Hello from very early boot!\n"; - * - * - Any other static memory will not be initialised (either to zero, - * or to any predefined value). - * - * - * - If you implement your own stub, the first call the stub makes - should be to esp_default_wake_deep_sleep(). + * See docs/deep-sleep-stub.rst for details. */ void esp_wake_deep_sleep(void); @@ -115,9 +85,7 @@ esp_deep_sleep_wake_stub_fn_t esp_get_deep_sleep_wake_stub(void); /* The default esp-idf-provided esp_wake_deep_sleep() stub. - If you replace esp_wake_deep_sleep() in your program, or use - esp_set_deep_sleep_wake_stub(), then it is recommended you call - esp_default_wake_deep_sleep() as the first function in your stub. + See docs/deep-sleep-stub.rst for details. */ void esp_default_wake_deep_sleep(void); diff --git a/tools/sdk/include/esp32/esp_err.h b/tools/sdk/include/esp32/esp_err.h index 4f013f91..a1f4b8f3 100644 --- a/tools/sdk/include/esp32/esp_err.h +++ b/tools/sdk/include/esp32/esp_err.h @@ -31,6 +31,13 @@ typedef int32_t esp_err_t; #define ESP_ERR_NO_MEM 0x101 #define ESP_ERR_INVALID_ARG 0x102 #define ESP_ERR_INVALID_STATE 0x103 +#define ESP_ERR_INVALID_SIZE 0x104 +#define ESP_ERR_NOT_FOUND 0x105 +#define ESP_ERR_NOT_SUPPORTED 0x106 +#define ESP_ERR_TIMEOUT 0x107 + + +#define ESP_ERR_WIFI_BASE 0x3000 /*!< Starting number of WiFi error codes */ /** * Macro which can be used to check the error code, diff --git a/tools/sdk/include/esp32/esp_flash_data_types.h b/tools/sdk/include/esp32/esp_flash_data_types.h new file mode 100644 index 00000000..4bf886c8 --- /dev/null +++ b/tools/sdk/include/esp32/esp_flash_data_types.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_BIN_TYPES_H__ +#define __ESP_BIN_TYPES_H__ + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define ESP_PARTITION_TABLE_ADDR 0x4000 +#define ESP_PARTITION_MAGIC 0x50AA + +/* SPI flash mode, used in esp_image_header_t */ +typedef enum { + ESP_IMAGE_SPI_MODE_QIO, + ESP_IMAGE_SPI_MODE_QOUT, + ESP_IMAGE_SPI_MODE_DIO, + ESP_IMAGE_SPI_MODE_DOUT, + ESP_IMAGE_SPI_MODE_FAST_READ, + ESP_IMAGE_SPI_MODE_SLOW_READ +} esp_image_spi_mode_t; + +/* SPI flash clock frequency */ +enum { + ESP_IMAGE_SPI_SPEED_40M, + ESP_IMAGE_SPI_SPEED_26M, + ESP_IMAGE_SPI_SPEED_20M, + ESP_IMAGE_SPI_SPEED_80M = 0xF +} esp_image_spi_freq_t; + +/* Supported SPI flash sizes */ +typedef enum { + ESP_IMAGE_FLASH_SIZE_1MB = 0, + ESP_IMAGE_FLASH_SIZE_2MB, + ESP_IMAGE_FLASH_SIZE_4MB, + ESP_IMAGE_FLASH_SIZE_8MB, + ESP_IMAGE_FLASH_SIZE_16MB, + ESP_IMAGE_FLASH_SIZE_MAX +} esp_image_flash_size_t; + +/* Main header of binary image */ +typedef struct { + uint8_t magic; + uint8_t blocks; + uint8_t spi_mode; /* flash read mode (esp_image_spi_mode_t as uint8_t) */ + uint8_t spi_speed: 4; /* flash frequency (esp_image_spi_freq_t as uint8_t) */ + uint8_t spi_size: 4; /* flash chip size (esp_image_flash_size_t as uint8_t) */ + uint32_t entry_addr; + uint8_t encrypt_flag; /* encrypt flag */ + uint8_t secure_boot_flag; /* secure boot flag */ + uint8_t extra_header[14]; /* ESP32 additional header, unused by second bootloader */ +} esp_image_header_t; + +/* Header of binary image segment */ +typedef struct { + uint32_t load_addr; + uint32_t data_len; +} esp_image_section_header_t; + + +/* OTA selection structure (two copies in the OTA data partition.) + Size of 32 bytes is friendly to flash encryption */ +typedef struct { + uint32_t ota_seq; + uint8_t seq_label[24]; + uint32_t crc; /* CRC32 of ota_seq field only */ +} esp_ota_select_entry_t; + + +typedef struct { + uint32_t offset; + uint32_t size; +} esp_partition_pos_t; + +/* Structure which describes the layout of partition table entry. + * See docs/partition_tables.rst for more information about individual fields. + */ +typedef struct { + uint16_t magic; + uint8_t type; + uint8_t subtype; + esp_partition_pos_t pos; + uint8_t label[16]; + uint8_t reserved[4]; +} esp_partition_info_t; + + +#ifdef __cplusplus +} +#endif + +#endif //__ESP_BIN_TYPES_H__ diff --git a/tools/sdk/include/esp32/esp_system.h b/tools/sdk/include/esp32/esp_system.h index 84133366..d416e23d 100644 --- a/tools/sdk/include/esp32/esp_system.h +++ b/tools/sdk/include/esp32/esp_system.h @@ -32,6 +32,13 @@ extern "C" { * @{ */ +/** + * @attention application don't need to call this function anymore. It do nothing and will + * be removed in future version. + */ +void system_init(void) __attribute__ ((deprecated)); + + /** * @brief Get information of the SDK version. * @@ -169,8 +176,6 @@ bool system_rtc_mem_write(uint16_t dst, const void *src, uint16_t n); esp_err_t system_efuse_read_mac(uint8_t mac[6]); -void system_init(void); - /** * @} */ diff --git a/tools/sdk/include/esp32/esp_wifi.h b/tools/sdk/include/esp32/esp_wifi.h index 80ced5dc..88ea0d9a 100644 --- a/tools/sdk/include/esp32/esp_wifi.h +++ b/tools/sdk/include/esp32/esp_wifi.h @@ -70,6 +70,24 @@ extern "C" { #endif +#define ESP_ERR_WIFI_OK ESP_OK /*!< No error */ +#define ESP_ERR_WIFI_FAIL ESP_FAIL /*!< General fail code */ +#define ESP_ERR_WIFI_NO_MEM ESP_ERR_NO_MEM /*!< Out of memory */ +#define ESP_ERR_WIFI_ARG ESP_ERR_INVALID_ARG /*!< Invalid argument */ +#define ESP_ERR_WIFI_NOT_SUPPORT ESP_ERR_NOT_SUPPORTED /*!< Indicates that API is not supported yet */ + +#define ESP_ERR_WIFI_NOT_INIT (ESP_ERR_WIFI_BASE + 1) /*!< WiFi driver is not installed by esp_wifi_init */ +#define ESP_ERR_WIFI_NOT_START (ESP_ERR_WIFI_BASE + 2) /*!< WiFi driver is not started by esp_wifi_start */ +#define ESP_ERR_WIFI_IF (ESP_ERR_WIFI_BASE + 3) /*!< WiFi interface error */ +#define ESP_ERR_WIFI_MODE (ESP_ERR_WIFI_BASE + 4) /*!< WiFi mode error */ +#define ESP_ERR_WIFI_STATE (ESP_ERR_WIFI_BASE + 5) /*!< WiFi internal state error */ +#define ESP_ERR_WIFI_CONN (ESP_ERR_WIFI_BASE + 6) /*!< WiFi internal control block of station or soft-AP error */ +#define ESP_ERR_WIFI_NVS (ESP_ERR_WIFI_BASE + 7) /*!< WiFi internal NVS module error */ +#define ESP_ERR_WIFI_MAC (ESP_ERR_WIFI_BASE + 8) /*!< MAC address is invalid */ +#define ESP_ERR_WIFI_SSID (ESP_ERR_WIFI_BASE + 9) /*!< SSID is invalid */ +#define ESP_ERR_WIFI_PASSWORD (ESP_ERR_WIFI_BASE + 10) /*!< Passord is invalid */ +#define ESP_ERR_WIFI_TIMEOUT (ESP_ERR_WIFI_BASE + 11) /*!< Timeout error */ + typedef struct { system_event_handler_t event_handler; /**< WiFi event handler */ } wifi_init_config_t; @@ -92,8 +110,10 @@ typedef struct { * * @param wifi_init_config_t *config : provide WiFi init configuration * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NO_MEM : out of memory + * - others : refer to error code esp_err.h */ esp_err_t esp_wifi_init(wifi_init_config_t *config); @@ -104,7 +124,6 @@ esp_err_t esp_wifi_init(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 others : fail */ esp_err_t esp_wifi_deinit(void); @@ -116,8 +135,11 @@ esp_err_t esp_wifi_deinit(void); * * @param wifi_mode_t mode : WiFi operating modes: * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_set_mode(wifi_mode_t mode); @@ -126,8 +148,10 @@ esp_err_t esp_wifi_set_mode(wifi_mode_t mode); * * @param wifi_mode_t *mode : store current WiFi mode * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_get_mode(wifi_mode_t *mode); @@ -139,8 +163,13 @@ esp_err_t esp_wifi_get_mode(wifi_mode_t *mode); * * @param null * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_NO_MEM : out of memory + * - ESP_ERR_WIFI_CONN : WiFi internal error, station or soft-AP control block wrong + * - ESP_ERR_WIFI_FAIL : other WiFi internal errors */ esp_err_t esp_wifi_start(void); @@ -152,8 +181,9 @@ esp_err_t esp_wifi_start(void); * * @param null * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init */ esp_err_t esp_wifi_stop(void); @@ -165,8 +195,12 @@ esp_err_t esp_wifi_stop(void); * * @param null * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start + * - ESP_ERR_WIFI_CONN : WiFi internal error, station or soft-AP control block wrong + * - ESP_ERR_WIFI_SSID : SSID of AP which station connects is invalid */ esp_err_t esp_wifi_connect(void); @@ -175,8 +209,11 @@ esp_err_t esp_wifi_connect(void); * * @param null * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start + * - ESP_ERR_WIFI_FAIL : other WiFi internal errors */ esp_err_t esp_wifi_disconnect(void); @@ -185,8 +222,9 @@ esp_err_t esp_wifi_disconnect(void); * * @param null * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - others : fail */ esp_err_t esp_wifi_clear_fast_connect(void); @@ -195,8 +233,12 @@ esp_err_t esp_wifi_clear_fast_connect(void); * * @param uint16_t aid : when aid is 0, deauthenticate all stations, otherwise deauthenticate station whose associated id is aid * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_MODE : WiFi mode is wrong */ esp_err_t esp_wifi_deauth_sta(uint16_t aid); @@ -211,8 +253,12 @@ esp_err_t esp_wifi_deauth_sta(uint16_t aid); * @param bool block : if block is true, this API will block the caller until the scan is done, otherwise * it will return immediately * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start + * - ESP_ERR_WIFI_TIMEOUT : blocking scan is timeout + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_scan_start(wifi_scan_config_t *conf, bool block); @@ -220,8 +266,10 @@ esp_err_t esp_wifi_scan_start(wifi_scan_config_t *conf, bool block); * @brief Stop the scan in process * * @param null - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start */ esp_err_t esp_wifi_scan_stop(void); @@ -232,8 +280,11 @@ esp_err_t esp_wifi_scan_stop(void); * * @attention This API can only be called when the scan is completed, otherwise it may get wrong value * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_scan_get_ap_num(uint16_t *number); @@ -244,8 +295,12 @@ esp_err_t esp_wifi_scan_get_ap_num(uint16_t *number); the actual AP number this API returns * @param wifi_ap_record_t *ap_records: wifi_ap_record_t array to hold the found APs * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_NOT_START : WiFi is not started by esp_wifi_start + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_NO_MEM : out of memory */ esp_err_t esp_wifi_scan_get_ap_records(uint16_t *number, wifi_ap_record_t *ap_records); @@ -255,8 +310,9 @@ esp_err_t esp_wifi_scan_get_ap_records(uint16_t *number, wifi_ap_record_t *ap_re * * @param wifi_ap_record_t *ap_info: the wifi_ap_record_t to hold station assocated AP * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - others : fail */ esp_err_t esp_wifi_sta_get_ap_info(wifi_ap_record_t *ap_info); @@ -265,8 +321,7 @@ esp_err_t esp_wifi_sta_get_ap_info(wifi_ap_record_t *ap_info); * * @param wifi_ps_type_t type : power save type * - * @return ESP_OK : succeed - * @return others : fail + * @return ESP_ERR_WIFI_NOT_SUPPORT : not support yet */ esp_err_t esp_wifi_set_ps(wifi_ps_type_t type); @@ -275,8 +330,7 @@ esp_err_t esp_wifi_set_ps(wifi_ps_type_t type); * * @param wifi_ps_type_t *type : store current power save type * - * @return ESP_OK : succeed - * @return others : fail + * @return ESP_ERR_WIFI_NOT_SUPPORT : not support yet */ esp_err_t esp_wifi_get_ps(wifi_ps_type_t *type); @@ -289,8 +343,11 @@ esp_err_t esp_wifi_get_ps(wifi_ps_type_t *type); * @param wifi_interface_t ifx : interfaces * @param uint8_t protocol : WiFi protocol bitmap * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_IF : invalid interface + * - others : refer to erro code in esp_err.h */ esp_err_t esp_wifi_set_protocol(wifi_interface_t ifx, uint8_t protocol_bitmap); @@ -300,8 +357,12 @@ esp_err_t esp_wifi_set_protocol(wifi_interface_t ifx, uint8_t protocol_bitmap); * @param wifi_interface_t ifx : interfaces * @param uint8_t protocol : store current WiFi protocol bitmap of interface ifx * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_IF : invalid interface + * - ESP_ERR_WIFI_ARG : invalid argument + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_get_protocol(wifi_interface_t ifx, uint8_t *protocol_bitmap); @@ -314,8 +375,12 @@ esp_err_t esp_wifi_get_protocol(wifi_interface_t ifx, uint8_t *protocol_bitmap); * @param wifi_interface_t ifx : interface to be configured * @param wifi_bandwidth_t bw : bandwidth * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_IF : invalid interface + * - ESP_ERR_WIFI_ARG : invalid argument + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_set_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t bw); @@ -327,8 +392,11 @@ esp_err_t esp_wifi_set_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t bw); * @param wifi_interface_t ifx : interface to be configured * @param wifi_bandwidth_t *bw : store bandwidth of interface ifx * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_IF : invalid interface + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_get_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t *bw); @@ -340,8 +408,11 @@ esp_err_t esp_wifi_get_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t *bw); * @param uint8_t primary : for HT20, primary is the channel number, for HT40, primary is the primary channel * @param wifi_second_chan_t second : for HT20, second is ignored, for HT40, second is the second channel * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_IF : invalid interface + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_set_channel(uint8_t primary, wifi_second_chan_t second); @@ -353,8 +424,10 @@ esp_err_t esp_wifi_set_channel(uint8_t primary, wifi_second_chan_t second); * @param uint8_t *primary : store current primary channel * @param wifi_second_chan_t *second : store current second channel * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_get_channel(uint8_t *primary, wifi_second_chan_t *second); @@ -364,8 +437,11 @@ esp_err_t esp_wifi_get_channel(uint8_t *primary, wifi_second_chan_t *second); * * @param wifi_country_t country : country type * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_set_country(wifi_country_t country); @@ -374,8 +450,10 @@ esp_err_t esp_wifi_set_country(wifi_country_t country); * * @param wifi_country_t country : store current country * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_get_country(wifi_country_t *country); @@ -390,8 +468,14 @@ esp_err_t esp_wifi_get_country(wifi_country_t *country); * @param wifi_interface_t ifx : interface * @param uint8 mac[6]: the MAC address. * - * @return true : succeed - * @return false : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_IF : invalid interface + * - ESP_ERR_WIFI_MAC : invalid mac address + * - ESP_ERR_WIFI_MODE : WiFi mode is wrong + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_set_mac(wifi_interface_t ifx, uint8_t mac[6]); @@ -400,8 +484,11 @@ esp_err_t esp_wifi_set_mac(wifi_interface_t ifx, uint8_t mac[6]); * * @param uint8_t mac[6] : store mac of this interface ifx * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_IF : invalid interface */ esp_err_t esp_wifi_get_mac(wifi_interface_t ifx, uint8_t mac[6]); @@ -413,8 +500,7 @@ esp_err_t esp_wifi_get_mac(wifi_interface_t ifx, uint8_t mac[6]); * @param void *buf : the data received * @param uint16_t len : data length * - * @return ESP_OK : succeed - * @return others : fail + * @return none */ typedef void (* wifi_promiscuous_cb_t)(void *buf, uint16_t len); @@ -425,8 +511,9 @@ typedef void (* wifi_promiscuous_cb_t)(void *buf, uint16_t len); * * @param wifi_promiscuous_cb_t cb : callback * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init */ esp_err_t esp_wifi_set_promiscuous_rx_cb(wifi_promiscuous_cb_t cb); @@ -435,8 +522,9 @@ esp_err_t esp_wifi_set_promiscuous_rx_cb(wifi_promiscuous_cb_t cb); * * @param bool promiscuous : false - disable / true - enable * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init */ esp_err_t esp_wifi_set_promiscuous(bool en); @@ -445,8 +533,10 @@ esp_err_t esp_wifi_set_promiscuous(bool en); * * @param bool *enable : store the current status of promiscuous mode * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_get_promiscuous(bool *en); @@ -461,8 +551,15 @@ esp_err_t esp_wifi_get_promiscuous(bool *en); * @param wifi_interface_t ifx : interface * @param wifi_config_t *conf : station or soft-AP configuration * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_IF : invalid interface + * - ESP_ERR_WIFI_MODE : invalid mode + * - ESP_ERR_WIFI_PASSWORD : invalid password + * - ESP_ERR_WIFI_NVS : WiFi internal NVS error + * - others : refer to the erro code in esp_err.h */ esp_err_t esp_wifi_set_config(wifi_interface_t ifx, wifi_config_t *conf); @@ -472,8 +569,11 @@ esp_err_t esp_wifi_set_config(wifi_interface_t ifx, wifi_config_t *conf); * @param wifi_interface_t ifx : interface * @param wifi_config_t *conf : station or soft-AP configuration * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_IF : invalid interface */ esp_err_t esp_wifi_get_config(wifi_interface_t ifx, wifi_config_t *conf); @@ -484,8 +584,12 @@ esp_err_t esp_wifi_get_config(wifi_interface_t ifx, wifi_config_t *conf); * * @param wifi_sta_list_t *sta: station list * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_MODE : WiFi mode is wrong + * - ESP_ERR_WIFI_CONN : WiFi internal error, the station/soft-AP control block is invalid */ esp_err_t esp_wifi_ap_get_sta_list(wifi_sta_list_t *sta); @@ -497,42 +601,24 @@ esp_err_t esp_wifi_ap_get_sta_list(wifi_sta_list_t *sta); * * @param wifi_storage_t storage : storage type * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_set_storage(wifi_storage_t storage); -/** - * @brief The WiFi RX callback function - * - * Each time the WiFi need to forward the packets to high layer, the callback function will be called - * - */ -typedef esp_err_t (*wifi_rxcb_t)(void *buffer, uint16_t len, void *eb); - -/** - * @brief Set the WiFi RX callback - * - * @attention 1. Currently we support only one RX callback for each interface - * - * @param wifi_interface_t ifx : interface - * @param wifi_rxcb_t fn : WiFi RX callback - * - * @return ESP_OK : succeed - * @return others : fail - */ -esp_err_t esp_wifi_reg_rxcb(wifi_interface_t ifx, wifi_rxcb_t fn); - /** * @brief Set auto connect * The default value is true * - * @attention 1. - * * @param bool en : true - enable auto connect / false - disable auto connect * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_MODE : WiFi internal error, the station/soft-AP control block is invalid + * - others : refer to error code in esp_err.h */ esp_err_t esp_wifi_set_auto_connect(bool en); @@ -541,8 +627,10 @@ esp_err_t esp_wifi_set_auto_connect(bool en); * * @param bool *en : store current auto connect configuration * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument */ esp_err_t esp_wifi_get_auto_connect(bool *en); @@ -559,8 +647,11 @@ esp_err_t esp_wifi_get_auto_connect(bool *en); 1 - WIFI_VND_IE_ID_1 * @param uint8_t *vnd_ie : pointer to a vendor specific element * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init + * - ESP_ERR_WIFI_ARG : invalid argument + * - ESP_ERR_WIFI_NO_MEM : out of memory */ esp_err_t esp_wifi_set_vendor_ie(bool enable, wifi_vendor_ie_type_t type, wifi_vendor_ie_id_t idx, uint8_t *vnd_ie); @@ -584,8 +675,9 @@ typedef void (*esp_vendor_ie_cb_t) (void *ctx, wifi_vendor_ie_type_t type, const * @param esp_vendor_ie_cb_t cb : callback function * @param void *ctx : reserved * - * @return ESP_OK : succeed - * @return others : fail + * @return + * - ESP_OK : succeed + * - ESP_ERR_WIFI_NOT_INIT : WiFi is not initialized by eps_wifi_init */ esp_err_t esp_wifi_set_vendor_ie_cb(esp_vendor_ie_cb_t cb, void *ctx); diff --git a/tools/sdk/include/esp32/esp_wifi_internal.h b/tools/sdk/include/esp32/esp_wifi_internal.h index 217d5f6d..2015b506 100644 --- a/tools/sdk/include/esp32/esp_wifi_internal.h +++ b/tools/sdk/include/esp32/esp_wifi_internal.h @@ -62,16 +62,48 @@ void esp_wifi_internal_free_rx_buffer(void* buffer); /** * @brief transmit the buffer via wifi driver * - * @attention1 TODO should modify the return type from bool to int - * * @param wifi_interface_t wifi_if : wifi interface id * @param void *buffer : the buffer to be tansmit * @param u16_t len : the length of buffer * - * @return True : success transmit the buffer to wifi driver - * False : failed to transmit the buffer to wifi driver + * @return + * - ERR_OK : Successfully transmit the buffer to wifi driver + * - ERR_MEM : Out of memory + * - ERR_IF : WiFi driver error + * - ERR_ARG : Invalid argument */ -bool esp_wifi_internal_tx(wifi_interface_t wifi_if, void *buffer, u16_t len); +int esp_wifi_internal_tx(wifi_interface_t wifi_if, void *buffer, u16_t len); + +/** + * @brief The WiFi RX callback function + * + * Each time the WiFi need to forward the packets to high layer, the callback function will be called + * + */ +typedef esp_err_t (*wifi_rxcb_t)(void *buffer, uint16_t len, void *eb); + +/** + * @brief Set the WiFi RX callback + * + * @attention 1. Currently we support only one RX callback for each interface + * + * @param wifi_interface_t ifx : interface + * @param wifi_rxcb_t fn : WiFi RX callback + * + * @return ESP_OK : succeed + * @return others : fail + */ +esp_err_t esp_wifi_internal_reg_rxcb(wifi_interface_t ifx, wifi_rxcb_t fn); + +/** + * @brief Notify WIFI driver that the station got ip successfully + * + * @param none + * + * @return ESP_OK : succeed + * @return others : fail + */ +esp_err_t esp_wifi_internal_set_sta_ip(void); #ifdef __cplusplus } diff --git a/tools/sdk/include/esp32/esp_wifi_types.h b/tools/sdk/include/esp32/esp_wifi_types.h index 0ea719a6..fb19aa8f 100644 --- a/tools/sdk/include/esp32/esp_wifi_types.h +++ b/tools/sdk/include/esp32/esp_wifi_types.h @@ -154,10 +154,10 @@ typedef struct { uint8_t mac[6]; /**< mac address of sta that associated with ESP32 soft-AP */ }wifi_sta_info_t; -#define ESP_WIFI_MAX_CONN_NUM (8+2) /**< max number of sta the eSP32 soft-AP can connect */ +#define ESP_WIFI_MAX_CONN_NUM (10) /**< max number of stations which can connect to ESP32 soft-AP */ typedef struct { wifi_sta_info_t sta[ESP_WIFI_MAX_CONN_NUM]; /**< station list */ - uint8_t num; /**< number of station that associated with ESP32 soft-AP */ + int num; /**< number of station that associated with ESP32 soft-AP */ }wifi_sta_list_t; typedef enum { diff --git a/tools/sdk/include/esp32/soc/dport_reg.h b/tools/sdk/include/esp32/soc/dport_reg.h index d65d9edb..0c43c087 100644 --- a/tools/sdk/include/esp32/soc/dport_reg.h +++ b/tools/sdk/include/esp32/soc/dport_reg.h @@ -3830,6 +3830,11 @@ #define DPORT_DATE_S 0 #define DPORT_DPORT_DATE_VERSION 0x1605190 +/* Flash MMU table for PRO CPU */ +#define DPORT_PRO_FLASH_MMU_TABLE ((volatile uint32_t*) 0x3FF10000) + +/* Flash MMU table for APP CPU */ +#define DPORT_APP_FLASH_MMU_TABLE ((volatile uint32_t*) 0x3FF12000) diff --git a/tools/sdk/include/esp32/soc/frc_timer_reg.h b/tools/sdk/include/esp32/soc/frc_timer_reg.h new file mode 100644 index 00000000..d76199c4 --- /dev/null +++ b/tools/sdk/include/esp32/soc/frc_timer_reg.h @@ -0,0 +1,49 @@ +// 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_FRC_TIMER_REG_H_ +#define _SOC_FRC_TIMER_REG_H_ + +#include "soc.h" + +/** + * These are the register definitions for "legacy" timers + */ + +#define REG_FRC_TIMER_BASE(i) (DR_REG_FRC_TIMER_BASE + i*0x20) + +#define FRC_TIMER_LOAD_REG(i) (REG_FRC_TIMER_BASE(i) + 0x0) // timer load value (23 bit for i==0, 32 bit for i==1) +#define FRC_TIMER_LOAD_VALUE(i) ((i == 0)?0x007FFFFF:0xffffffff) +#define FRC_TIMER_LOAD_VALUE_S 0 + +#define FRC_TIMER_COUNT_REG(i) (REG_FRC_TIMER_BASE(i) + 0x4) // timer count value (23 bit for i==0, 32 bit for i==1) +#define FRC_TIMER_COUNT ((i == 0)?0x007FFFFF:0xffffffff) +#define FRC_TIMER_COUNT_S 0 + +#define FRC_TIMER_CTRL_REG(i) (REG_FRC_TIMER_BASE(i) + 0x8) +#define FRC_TIMER_INT_ENABLE (BIT(8)) // enable interrupt +#define FRC_TIMER_ENABLE (BIT(7)) // enable timer +#define FRC_TIMER_AUTOLOAD (BIT(6)) // enable autoload +#define FRC_TIMER_PRESCALER 0x00000007 // 0: divide by 1, 2: divide by 16, 4: divide by 256 +#define FRC_TIMER_PRESCALER_S 1 +#define FRC_TIMER_EDGE_INT (BIT(0)) // 0: level, 1: edge + +#define FRC_TIMER_INT_REG(i) (REG_FRC_TIMER_BASE(i) + 0xC) +#define FRC_TIMER_INT_CLR (BIT(0)) // clear interrupt + +#define FRC_TIMER_ALARM_REG(i) (REG_FRC_TIMER_BASE(i) + 0x10) // timer alarm value; register only present for i == 1 +#define FRC_TIMER_ALARM 0xFFFFFFFF +#define FRC_TIMER_ALARM_S 0 + +#endif //_SOC_FRC_TIMER_REG_H_ diff --git a/tools/sdk/include/esp32/soc/rmt_struct.h b/tools/sdk/include/esp32/soc/rmt_struct.h index fb4c2105..511fefa2 100644 --- a/tools/sdk/include/esp32/soc/rmt_struct.h +++ b/tools/sdk/include/esp32/soc/rmt_struct.h @@ -231,11 +231,10 @@ typedef volatile struct { struct { union { struct { - uint32_t level1: 1; - uint32_t duration1: 15; - uint32_t level0: 1; uint32_t duration0: 15; - + uint32_t level0: 1; + uint32_t duration1: 15; + uint32_t level1: 1; }; uint32_t val; } data[64]; diff --git a/tools/sdk/include/esp32/soc/rtc_cntl_reg.h b/tools/sdk/include/esp32/soc/rtc_cntl_reg.h index bb4e2afc..d99cec18 100644 --- a/tools/sdk/include/esp32/soc/rtc_cntl_reg.h +++ b/tools/sdk/include/esp32/soc/rtc_cntl_reg.h @@ -239,6 +239,9 @@ #define RTC_CNTL_TIME_VALID_V 0x1 #define RTC_CNTL_TIME_VALID_S 30 +/* frequency of RTC slow clock, Hz */ +#define RTC_CTNL_SLOWCLK_FREQ 150000 + #define RTC_CNTL_TIME0_REG (DR_REG_RTCCNTL_BASE + 0x10) /* RTC_CNTL_TIME_LO : RO ;bitpos:[31:0] ;default: 32'h0 ; */ /*description: RTC timer low 32 bits*/ diff --git a/tools/sdk/include/esp32/soc/soc.h b/tools/sdk/include/esp32/soc/soc.h index 4ffdfb06..8ab9f027 100755 --- a/tools/sdk/include/esp32/soc/soc.h +++ b/tools/sdk/include/esp32/soc/soc.h @@ -148,6 +148,7 @@ #define DR_REG_GPIO_SD_BASE 0x3ff44f00 #define DR_REG_FE2_BASE 0x3ff45000 #define DR_REG_FE_BASE 0x3ff46000 +#define DR_REG_FRC_TIMER_BASE 0x3ff47000 #define DR_REG_RTCCNTL_BASE 0x3ff48000 #define DR_REG_RTCIO_BASE 0x3ff48400 #define DR_REG_SARADC_BASE 0x3ff48800 @@ -281,9 +282,9 @@ * 19 2 extern level * 20 2 extern level * 21 2 extern level - * 22 3 extern edge + * 22 3 extern edge FRC1 timer * 23 3 extern level - * 24 4 extern level + * 24 4 extern level TG1_WDT * 25 4 extern level Reserved Reserved * 26 5 extern level Reserved Reserved * 27 3 extern level Reserved Reserved @@ -301,8 +302,10 @@ #define ETS_T0_WDT_INUM 3 #define ETS_WBB_INUM 4 #define ETS_TG0_T1_INUM 10 /**< use edge interrupt*/ +#define ETS_FRC1_INUM 22 +#define ETS_T1_WDT_INUM 24 -//CPU0 Intrrupt number used in ROM, should be cancelled in SDK +//CPU0 Interrupt number used in ROM, should be cancelled in SDK #define ETS_SLC_INUM 1 #define ETS_UART0_INUM 5 #define ETS_UART1_INUM 5 diff --git a/tools/sdk/include/esp32/soc/uart_reg.h b/tools/sdk/include/esp32/soc/uart_reg.h index 155700b2..8cac4bb8 100644 --- a/tools/sdk/include/esp32/soc/uart_reg.h +++ b/tools/sdk/include/esp32/soc/uart_reg.h @@ -18,8 +18,10 @@ #include "soc.h" #define REG_UART_BASE( i ) (DR_REG_UART_BASE + (i) * 0x10000 + ( i > 1 ? 0xe000 : 0 ) ) - +#define REG_UART_AHB_BASE(i) (0x60000000 + (i) * 0x10000 + ( i > 1 ? 0xe000 : 0 ) ) +#define UART_FIFO_AHB_REG(i) (REG_UART_AHB_BASE(i) + 0x0) #define UART_FIFO_REG(i) (REG_UART_BASE(i) + 0x0) + /* UART_RXFIFO_RD_BYTE : RO ;bitpos:[7:0] ;default: 8'b0 ; */ /*description: This register stores one byte data read by rx fifo.*/ #define UART_RXFIFO_RD_BYTE 0x000000FF diff --git a/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h b/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h index fe61f7b0..224857c8 100644 --- a/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h +++ b/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h @@ -180,7 +180,7 @@ /* The Xtensa port uses a separate interrupt stack. Adjust the stack size */ /* to suit the needs of your specific application. */ #ifndef configISR_STACK_SIZE -#define configISR_STACK_SIZE 1024//2048 +#define configISR_STACK_SIZE CONFIG_FREERTOS_ISR_STACKSIZE #endif /* Minimal heap size to make sure examples can run on memory limited diff --git a/tools/sdk/include/freertos/freertos/portable.h b/tools/sdk/include/freertos/freertos/portable.h index f3474d49..9ed378a8 100644 --- a/tools/sdk/include/freertos/freertos/portable.h +++ b/tools/sdk/include/freertos/freertos/portable.h @@ -179,6 +179,14 @@ BaseType_t xPortStartScheduler( void ) PRIVILEGED_FUNCTION; */ void vPortEndScheduler( void ) PRIVILEGED_FUNCTION; + +/* + * Send an interrupt to another core in order to make the task running + * on it yield for a higher-priority task. + */ + +void vPortYieldOtherCore( BaseType_t coreid) PRIVILEGED_FUNCTION; + /* * The structures and methods of manipulating the MPU are contained within the * port layer. diff --git a/tools/sdk/include/freertos/freertos/ringbuf.h b/tools/sdk/include/freertos/freertos/ringbuf.h index 7884e985..93ba3075 100644 --- a/tools/sdk/include/freertos/freertos/ringbuf.h +++ b/tools/sdk/include/freertos/freertos/ringbuf.h @@ -18,22 +18,34 @@ to this bit of memory will block. The requirement for items to be contiguous is slightly problematic when the only way to place the next item would involve a wraparound from the end to the beginning of the ringbuffer. This can -be solved in two ways: -- allow_split_items = pdTRUE: The insertion code will split the item in two items; one which fits +be solved (or not) in a few ways: +- type = RINGBUF_TYPE_ALLOWSPLIT: The insertion code will split the item in two items; one which fits in the space left at the end of the ringbuffer, one that contains the remaining data which is placed in the beginning. Two xRingbufferReceive calls will be needed to retrieve the data. -- allow_split_items = pdFALSE: The insertion code will leave the room at the end of the ringbuffer +- type = RINGBUF_TYPE_NOSPLIT: The insertion code will leave the room at the end of the ringbuffer unused and instead will put the entire item at the start of the ringbuffer, as soon as there is enough free space. +- type = RINGBUF_TYPE_BYTEBUF: This is your conventional byte-based ringbuffer. It does have no +overhead, but it has no item contiguousness either: a read will just give you the entire written +buffer space, or the space up to the end of the buffer, and writes can be broken up in any way +possible. Note that this type cannot do a 2nd read before returning the memory of the 1st. The maximum size of an item will be affected by this decision. When split items are allowed, it's acceptable to push items of (buffer_size)-16 bytes into the buffer. When it's not allowed, the -maximum size is (buffer_size/2)-8 bytes. +maximum size is (buffer_size/2)-8 bytes. The bytebuf can fill the entire buffer with data, it has +no overhead. */ //An opaque handle for a ringbuff object. typedef void * RingbufHandle_t; +//The various types of buffer +typedef enum { + RINGBUF_TYPE_NOSPLIT = 0, + RINGBUF_TYPE_ALLOWSPLIT, + RINGBUF_TYPE_BYTEBUF +} ringbuf_type_t; + /** * @brief Create a ring buffer @@ -45,7 +57,7 @@ typedef void * RingbufHandle_t; * * @return A RingbufHandle_t handle to the created ringbuffer, or NULL in case of error. */ -RingbufHandle_t xRingbufferCreate(size_t buf_length, BaseType_t allow_split_items); +RingbufHandle_t xRingbufferCreate(size_t buf_length, ringbuf_type_t type); /** @@ -120,6 +132,34 @@ void *xRingbufferReceive(RingbufHandle_t ringbuf, size_t *item_size, TickType_t void *xRingbufferReceiveFromISR(RingbufHandle_t ringbuf, size_t *item_size); +/** + * @brief Retrieve bytes from a ByteBuf type of ring buffer, specifying the maximum amount of bytes + * to return + * + * @param ringbuf - Ring buffer to retrieve the item from + * @param item_size - Pointer to a variable to which the size of the retrieved item will be written. + * @param xTicksToWait - Ticks to wait for items in the ringbuffer. + * + * @return Pointer to the retrieved item on success; *item_size filled with the length of the + * item. NULL on timeout, *item_size is untouched in that case. + */ +void *xRingbufferReceiveUpTo(RingbufHandle_t ringbuf, size_t *item_size, TickType_t ticks_to_wait, size_t wanted_size); + + +/** + * @brief Retrieve bytes from a ByteBuf type of ring buffer, specifying the maximum amount of bytes + * to return. Call this from an ISR. + * + * @param ringbuf - Ring buffer to retrieve the item from + * @param item_size - Pointer to a variable to which the size of the retrieved item will be written. + * + * @return Pointer to the retrieved item on success; *item_size filled with the length of the + * item. NULL when the ringbuffer is empty, *item_size is untouched in that case. + */ +void *xRingbufferReceiveUpToFromISR(RingbufHandle_t ringbuf, size_t *item_size, size_t wanted_size); + + + /** * @brief Return a previously-retrieved item to the ringbuffer * diff --git a/tools/sdk/include/log/esp_log.h b/tools/sdk/include/log/esp_log.h index 8ca6e241..6716f6e1 100644 --- a/tools/sdk/include/log/esp_log.h +++ b/tools/sdk/include/log/esp_log.h @@ -24,76 +24,16 @@ extern "C" { #endif /** - * @brief Logging library - * - * Log library has two ways of managing log verbosity: compile time, set via - * menuconfig, and runtime, using esp_log_set_level function. - * - * At compile time, filtering is done using CONFIG_LOG_DEFAULT_LEVEL macro, set via - * menuconfig. All logging statments for levels higher than CONFIG_LOG_DEFAULT_LEVEL - * will be removed by the preprocessor. - * - * At run time, all logs below CONFIG_LOG_DEFAULT_LEVEL are enabled by default. - * esp_log_set_level function may be used to set logging level per module. - * Modules are identified by their tags, which are human-readable ASCII - * zero-terminated strings. - * - * How to use this library: - * - * In each C file which uses logging functionality, define TAG variable like this: - * - * static const char* TAG = "MyModule"; - * - * then use one of logging macros to produce output, e.g: - * - * ESP_LOGW(TAG, "Baud rate error %.1f%%. Requested: %d baud, actual: %d baud", error * 100, baud_req, baud_real); - * - * Several macros are available for different verbosity levels: - * - * ESP_LOGE — error - * ESP_LOGW — warning - * ESP_LOGI — info - * ESP_LOGD - debug - * ESP_LOGV - verbose - * - * Additionally there is an _EARLY_ variant for each of these macros (e.g. ESP_EARLY_LOGE). - * These variants can run in startup code, before heap allocator and syscalls - * have been initialized. - * When compiling bootloader, normal ESP_LOGx macros fall back to the same implementation - * as ESP_EARLY_LOGx macros. So the only place where ESP_EARLY_LOGx have to be used explicitly - * is the early startup code, such as heap allocator initialization code. - * - * (Note that such distinction would not have been necessary if we would have an - * ets_vprintf function in the ROM. Then it would be possible to switch implementation - * from _EARLY version to normal version on the fly. Unfortunately, ets_vprintf in ROM - * has been inlined by the compiler into ets_printf, so it is not accessible outside.) - * - * To override default verbosity level at file or component scope, define LOG_LOCAL_LEVEL macro. - * At file scope, define it before including esp_log.h, e.g.: - * - * #define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE - * #include "esp_log.h" - * - * At component scope, define it in component makefile: - * - * CFLAGS += -D LOG_LOCAL_LEVEL=ESP_LOG_DEBUG - * - * To configure logging output per module at runtime, add calls to esp_log_set_level function: - * - * esp_log_set_level("*", ESP_LOG_ERROR); // set all components to ERROR level - * esp_log_set_level("wifi", ESP_LOG_WARN); // enable WARN logs from WiFi stack - * esp_log_set_level("dhcpc", ESP_LOG_INFO); // enable INFO logs from DHCP client + * @brief Log level * */ - - typedef enum { - ESP_LOG_NONE, // No log output - ESP_LOG_ERROR, // Critical errors, software module can not recover on its own - ESP_LOG_WARN, // Error conditions from which recovery measures have been taken - ESP_LOG_INFO, // Information messages which describe normal flow of events - ESP_LOG_DEBUG, // Extra information which is not necessary for normal use (values, pointers, sizes, etc). - ESP_LOG_VERBOSE // Bigger chunks of debugging information, or frequent messages which can potentially flood the output. + ESP_LOG_NONE, /*!< No log output */ + ESP_LOG_ERROR, /*!< Critical errors, software module can not recover on its own */ + ESP_LOG_WARN, /*!< Error conditions from which recovery measures have been taken */ + ESP_LOG_INFO, /*!< Information messages which describe normal flow of events */ + ESP_LOG_DEBUG, /*!< Extra information which is not necessary for normal use (values, pointers, sizes, etc). */ + ESP_LOG_VERBOSE /*!< Bigger chunks of debugging information, or frequent messages which can potentially flood the output. */ } esp_log_level_t; typedef int (*vprintf_like_t)(const char *, va_list); @@ -120,17 +60,6 @@ void esp_log_level_set(const char* tag, esp_log_level_t level); */ void esp_log_set_vprintf(vprintf_like_t func); -/** - * @brief Write message into the log - * - * This function is not intended to be used directly. Instead, use one of - * ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV macros. - * - * This function or these macros should not be used from an interrupt. - */ -void esp_log_write(esp_log_level_t level, const char* tag, const char* format, ...) __attribute__ ((format (printf, 3, 4))); - - /** * @brief Function which returns timestamp to be used in log output * @@ -143,7 +72,17 @@ void esp_log_write(esp_log_level_t level, const char* tag, const char* format, . * * @return timestamp, in milliseconds */ -uint32_t esp_log_timestamp(); +uint32_t esp_log_timestamp(void); + +/** + * @brief Write message into the log + * + * This function is not intended to be used directly. Instead, use one of + * ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV macros. + * + * This function or these macros should not be used from an interrupt. + */ +void esp_log_write(esp_log_level_t level, const char* tag, const char* format, ...) __attribute__ ((format (printf, 3, 4))); #if CONFIG_LOG_COLORS diff --git a/tools/sdk/include/lwip/lwipopts.h b/tools/sdk/include/lwip/lwipopts.h index e0a6d4db..88eee7ca 100755 --- a/tools/sdk/include/lwip/lwipopts.h +++ b/tools/sdk/include/lwip/lwipopts.h @@ -33,6 +33,9 @@ #define __LWIPOPTS_H__ #include +#include +#include +#include #include "esp_task.h" #include "sdkconfig.h" @@ -95,17 +98,37 @@ extern unsigned long os_random(void); ---------- Internal Memory Pool Sizes ---------- ------------------------------------------------ */ -/** - * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. - * (requires the LWIP_TCP option) - */ -#define MEMP_NUM_TCP_PCB 5 /** * MEMP_NUM_NETCONN: the number of struct netconns. * (only needed if you use the sequential API, like api_lib.c) */ -#define MEMP_NUM_NETCONN 10 +#define MEMP_NUM_NETCONN CONFIG_LWIP_MAX_SOCKETS + +/** + * MEMP_NUM_RAW_PCB: Number of raw connection PCBs + * (requires the LWIP_RAW option) + */ +#define MEMP_NUM_RAW_PCB 16 + +/** + * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB 16 + +/** + * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB_LISTEN 16 + +/** + * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One + * per active UDP "connection". + * (requires the LWIP_UDP option) + */ +#define MEMP_NUM_UDP_PCB 16 /* -------------------------------- @@ -220,26 +243,6 @@ extern unsigned long os_random(void); ---------- TCP options ---------- --------------------------------- */ -/** - * TCP_WND: The size of a TCP window. This must be at least - * (2 * TCP_MSS) for things to work well - */ - -#define ESP_PER_SOC_TCP_WND 1 -#if ESP_PER_SOC_TCP_WND -#define TCP_WND_DEFAULT (4*TCP_MSS) -#define TCP_SND_BUF_DEFAULT (2*TCP_MSS) - -#define TCP_WND(pcb) (pcb->per_soc_tcp_wnd) -#define TCP_SND_BUF(pcb) (pcb->per_soc_tcp_snd_buf) -#else -#ifdef PERF -extern unsigned char misc_prof_get_tcpw(void); -extern unsigned char misc_prof_get_tcp_snd_buf(void); -#define TCP_WND(pcb) (misc_prof_get_tcpw()*TCP_MSS) -#define TCP_SND_BUF(pcb) (misc_prof_get_tcp_snd_buf()*TCP_MSS) -#endif -#endif /** @@ -523,10 +526,10 @@ extern unsigned char misc_prof_get_tcp_snd_buf(void); #define ESP_IP4_ATON 1 #define ESP_LIGHT_SLEEP 1 - -#if ESP_PER_SOC_TCP_WND #define TCP_WND_DEFAULT (4*TCP_MSS) #define TCP_SND_BUF_DEFAULT (2*TCP_MSS) + +#if ESP_PER_SOC_TCP_WND #define TCP_WND(pcb) (pcb->per_soc_tcp_wnd) #define TCP_SND_BUF(pcb) (pcb->per_soc_tcp_snd_buf) #else @@ -542,19 +545,32 @@ extern unsigned char misc_prof_get_tcp_snd_buf(void); * DHCP_DEBUG: Enable debugging in dhcp.c. */ #define DHCP_DEBUG LWIP_DBG_OFF -#define LWIP_DEBUG 0 +#define LWIP_DEBUG LWIP_DBG_OFF #define TCP_DEBUG LWIP_DBG_OFF -#define ESP_THREAD_SAFE_DEBUG LWIP_DBG_OFF +#define ESP_THREAD_SAFE_DEBUG LWIP_DBG_OFF #define CHECKSUM_CHECK_UDP 0 #define CHECKSUM_CHECK_IP 0 -#define HEAP_HIGHWAT 20*1024 - #define LWIP_NETCONN_FULLDUPLEX 1 #define LWIP_NETCONN_SEM_PER_THREAD 1 +#define LWIP_DHCP_MAX_NTP_SERVERS CONFIG_LWIP_DHCP_MAX_NTP_SERVERS +#define LWIP_TIMEVAL_PRIVATE 0 +#define SNTP_SET_SYSTEM_TIME_US(sec, us) \ + do { \ + struct timeval tv = { .tv_sec = sec, .tv_usec = us }; \ + settimeofday(&tv, NULL); \ + } while (0); + +#define SNTP_GET_SYSTEM_TIME(sec, us) \ + do { \ + struct timeval tv = { .tv_sec = 0, .tv_usec = 0 }; \ + gettimeofday(&tv, NULL); \ + (sec) = tv.tv_sec; \ + (us) = tv.tv_usec; \ + } while (0); #define SOC_SEND_LOG //printf diff --git a/tools/sdk/include/lwip/port/lwipopts.h b/tools/sdk/include/lwip/port/lwipopts.h index e0a6d4db..88eee7ca 100755 --- a/tools/sdk/include/lwip/port/lwipopts.h +++ b/tools/sdk/include/lwip/port/lwipopts.h @@ -33,6 +33,9 @@ #define __LWIPOPTS_H__ #include +#include +#include +#include #include "esp_task.h" #include "sdkconfig.h" @@ -95,17 +98,37 @@ extern unsigned long os_random(void); ---------- Internal Memory Pool Sizes ---------- ------------------------------------------------ */ -/** - * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. - * (requires the LWIP_TCP option) - */ -#define MEMP_NUM_TCP_PCB 5 /** * MEMP_NUM_NETCONN: the number of struct netconns. * (only needed if you use the sequential API, like api_lib.c) */ -#define MEMP_NUM_NETCONN 10 +#define MEMP_NUM_NETCONN CONFIG_LWIP_MAX_SOCKETS + +/** + * MEMP_NUM_RAW_PCB: Number of raw connection PCBs + * (requires the LWIP_RAW option) + */ +#define MEMP_NUM_RAW_PCB 16 + +/** + * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB 16 + +/** + * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. + * (requires the LWIP_TCP option) + */ +#define MEMP_NUM_TCP_PCB_LISTEN 16 + +/** + * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One + * per active UDP "connection". + * (requires the LWIP_UDP option) + */ +#define MEMP_NUM_UDP_PCB 16 /* -------------------------------- @@ -220,26 +243,6 @@ extern unsigned long os_random(void); ---------- TCP options ---------- --------------------------------- */ -/** - * TCP_WND: The size of a TCP window. This must be at least - * (2 * TCP_MSS) for things to work well - */ - -#define ESP_PER_SOC_TCP_WND 1 -#if ESP_PER_SOC_TCP_WND -#define TCP_WND_DEFAULT (4*TCP_MSS) -#define TCP_SND_BUF_DEFAULT (2*TCP_MSS) - -#define TCP_WND(pcb) (pcb->per_soc_tcp_wnd) -#define TCP_SND_BUF(pcb) (pcb->per_soc_tcp_snd_buf) -#else -#ifdef PERF -extern unsigned char misc_prof_get_tcpw(void); -extern unsigned char misc_prof_get_tcp_snd_buf(void); -#define TCP_WND(pcb) (misc_prof_get_tcpw()*TCP_MSS) -#define TCP_SND_BUF(pcb) (misc_prof_get_tcp_snd_buf()*TCP_MSS) -#endif -#endif /** @@ -523,10 +526,10 @@ extern unsigned char misc_prof_get_tcp_snd_buf(void); #define ESP_IP4_ATON 1 #define ESP_LIGHT_SLEEP 1 - -#if ESP_PER_SOC_TCP_WND #define TCP_WND_DEFAULT (4*TCP_MSS) #define TCP_SND_BUF_DEFAULT (2*TCP_MSS) + +#if ESP_PER_SOC_TCP_WND #define TCP_WND(pcb) (pcb->per_soc_tcp_wnd) #define TCP_SND_BUF(pcb) (pcb->per_soc_tcp_snd_buf) #else @@ -542,19 +545,32 @@ extern unsigned char misc_prof_get_tcp_snd_buf(void); * DHCP_DEBUG: Enable debugging in dhcp.c. */ #define DHCP_DEBUG LWIP_DBG_OFF -#define LWIP_DEBUG 0 +#define LWIP_DEBUG LWIP_DBG_OFF #define TCP_DEBUG LWIP_DBG_OFF -#define ESP_THREAD_SAFE_DEBUG LWIP_DBG_OFF +#define ESP_THREAD_SAFE_DEBUG LWIP_DBG_OFF #define CHECKSUM_CHECK_UDP 0 #define CHECKSUM_CHECK_IP 0 -#define HEAP_HIGHWAT 20*1024 - #define LWIP_NETCONN_FULLDUPLEX 1 #define LWIP_NETCONN_SEM_PER_THREAD 1 +#define LWIP_DHCP_MAX_NTP_SERVERS CONFIG_LWIP_DHCP_MAX_NTP_SERVERS +#define LWIP_TIMEVAL_PRIVATE 0 +#define SNTP_SET_SYSTEM_TIME_US(sec, us) \ + do { \ + struct timeval tv = { .tv_sec = sec, .tv_usec = us }; \ + settimeofday(&tv, NULL); \ + } while (0); + +#define SNTP_GET_SYSTEM_TIME(sec, us) \ + do { \ + struct timeval tv = { .tv_sec = 0, .tv_usec = 0 }; \ + gettimeofday(&tv, NULL); \ + (sec) = tv.tv_sec; \ + (us) = tv.tv_usec; \ + } while (0); #define SOC_SEND_LOG //printf diff --git a/tools/sdk/include/nvs_flash/nvs.h b/tools/sdk/include/nvs_flash/nvs.h index 912ea221..84189597 100644 --- a/tools/sdk/include/nvs_flash/nvs.h +++ b/tools/sdk/include/nvs_flash/nvs.h @@ -28,23 +28,27 @@ extern "C" { */ typedef uint32_t nvs_handle; -#define ESP_ERR_NVS_BASE 0x1100 -#define ESP_ERR_NVS_NOT_INITIALIZED (ESP_ERR_NVS_BASE + 0x01) -#define ESP_ERR_NVS_NOT_FOUND (ESP_ERR_NVS_BASE + 0x02) -#define ESP_ERR_NVS_TYPE_MISMATCH (ESP_ERR_NVS_BASE + 0x03) -#define ESP_ERR_NVS_READ_ONLY (ESP_ERR_NVS_BASE + 0x04) -#define ESP_ERR_NVS_NOT_ENOUGH_SPACE (ESP_ERR_NVS_BASE + 0x05) -#define ESP_ERR_NVS_INVALID_NAME (ESP_ERR_NVS_BASE + 0x06) -#define ESP_ERR_NVS_INVALID_HANDLE (ESP_ERR_NVS_BASE + 0x07) -#define ESP_ERR_NVS_REMOVE_FAILED (ESP_ERR_NVS_BASE + 0x08) -#define ESP_ERR_NVS_KEY_TOO_LONG (ESP_ERR_NVS_BASE + 0x09) -#define ESP_ERR_NVS_PAGE_FULL (ESP_ERR_NVS_BASE + 0x0a) -#define ESP_ERR_NVS_INVALID_STATE (ESP_ERR_NVS_BASE + 0x0b) -#define ESP_ERR_NVS_INVALID_LENGTH (ESP_ERR_NVS_BASE + 0x0c) +#define ESP_ERR_NVS_BASE 0x1100 /*!< Starting number of error codes */ +#define ESP_ERR_NVS_NOT_INITIALIZED (ESP_ERR_NVS_BASE + 0x01) /*!< The storage driver is not initialized */ +#define ESP_ERR_NVS_NOT_FOUND (ESP_ERR_NVS_BASE + 0x02) /*!< Id namespace doesn’t exist yet and mode is NVS_READONLY */ +#define ESP_ERR_NVS_TYPE_MISMATCH (ESP_ERR_NVS_BASE + 0x03) /*!< TBA */ +#define ESP_ERR_NVS_READ_ONLY (ESP_ERR_NVS_BASE + 0x04) /*!< Storage handle was opened as read only */ +#define ESP_ERR_NVS_NOT_ENOUGH_SPACE (ESP_ERR_NVS_BASE + 0x05) /*!< There is not enough space in the underlying storage to save the value */ +#define ESP_ERR_NVS_INVALID_NAME (ESP_ERR_NVS_BASE + 0x06) /*!< Namespace name doesn’t satisfy constraints */ +#define ESP_ERR_NVS_INVALID_HANDLE (ESP_ERR_NVS_BASE + 0x07) /*!< Handle has been closed or is NULL */ +#define ESP_ERR_NVS_REMOVE_FAILED (ESP_ERR_NVS_BASE + 0x08) /*!< The value wasn’t updated because flash write operation has failed. The value was written however, and update will be finished after re-initialization of nvs, provided that flash operation doesn’t fail again. */ +#define ESP_ERR_NVS_KEY_TOO_LONG (ESP_ERR_NVS_BASE + 0x09) /*!< TBA */ +#define ESP_ERR_NVS_PAGE_FULL (ESP_ERR_NVS_BASE + 0x0a) /*!< TBA */ +#define ESP_ERR_NVS_INVALID_STATE (ESP_ERR_NVS_BASE + 0x0b) /*!< TBA */ +#define ESP_ERR_NVS_INVALID_LENGTH (ESP_ERR_NVS_BASE + 0x0c) /*!< TBA */ +/** + * @brief Mode of opening the non-volatile storage + * + */ typedef enum { - NVS_READONLY, - NVS_READWRITE + NVS_READONLY, /*!< Read only */ + NVS_READWRITE /*!< Read and write */ } nvs_open_mode; /** @@ -58,12 +62,13 @@ typedef enum { * underlying implementation, but is guaranteed to be * at least 16 characters. Shouldn't be empty. * @param[in] open_mode NVS_READWRITE or NVS_READONLY. If NVS_READONLY, will - * open a handle for reading only. All write requests will - * be rejected for this handle. + * open a handle for reading only. All write requests will + * be rejected for this handle. * @param[out] out_handle If successful (return code is zero), handle will be * returned in this argument. * - * @return - ESP_OK if storage handle was opened successfully + * @return + * - ESP_OK if storage handle was opened successfully * - ESP_ERR_NVS_NOT_INITIALIZED if the storage driver is not initialized * - ESP_ERR_NVS_NOT_FOUND id namespace doesn't exist yet and * mode is NVS_READONLY @@ -86,7 +91,8 @@ esp_err_t nvs_open(const char* name, nvs_open_mode open_mode, nvs_handle *out_ha * @param[in] value The value to set. * @param[in] length For nvs_set_blob: length of binary value to set, in bytes. * - * @return - ESP_OK if value was set successfully + * @return + * - ESP_OK if value was set successfully * - ESP_ERR_NVS_INVALID_HANDLE if handle has been closed or is NULL * - ESP_ERR_NVS_READ_ONLY if storage handle was opened as read only * - ESP_ERR_NVS_INVALID_NAME if key name doesn't satisfy constraints @@ -129,24 +135,26 @@ esp_err_t nvs_set_blob(nvs_handle handle, const char* key, const void* value, si * It is suggested that nvs_get/set_str is used for zero-terminated C strings, and * nvs_get/set_blob used for arbitrary data structures. * - * Example of using nvs_get_i32: + * \code{c} + * // Example of using nvs_get_i32: * int32_t max_buffer_size = 4096; // default value * esp_err_t err = nvs_get_i32(my_handle, "max_buffer_size", &max_buffer_size); * assert(err == ESP_OK || err == ESP_ERR_NVS_NOT_FOUND); * // if ESP_ERR_NVS_NOT_FOUND was returned, max_buffer_size will still * // have its default value. * - * Example (without error checking) of using nvs_get_str to get a string into dynamic array: + * // Example (without error checking) of using nvs_get_str to get a string into dynamic array: * size_t required_size; * nvs_get_str(my_handle, "server_name", NULL, &required_size); * char* server_name = malloc(required_size); * nvs_get_str(my_handle, "server_name", server_name, &required_size); * - * Example (without error checking) of using nvs_get_blob to get a binary data + * // Example (without error checking) of using nvs_get_blob to get a binary data * into a static array: * uint8_t mac_addr[6]; * size_t size = sizeof(mac_addr); * nvs_get_blob(my_handle, "dst_mac_addr", mac_addr, &size); + * \endcode * * @param[in] handle Handle obtained from nvs_open function. * @param[in] key Key name. Maximal length is determined by the underlying @@ -162,7 +170,8 @@ esp_err_t nvs_set_blob(nvs_handle handle, const char* key, const void* value, si * zero, will be set to the actual length of the value * written. For nvs_get_str this includes zero terminator. * - * @return - ESP_OK if the value was retrieved successfully + * @return + * - ESP_OK if the value was retrieved successfully * - ESP_ERR_NVS_NOT_FOUND if the requested key doesn't exist * - ESP_ERR_NVS_INVALID_HANDLE if handle has been closed or is NULL * - ESP_ERR_NVS_INVALID_NAME if key name doesn't satisfy constraints @@ -191,7 +200,8 @@ esp_err_t nvs_get_blob(nvs_handle handle, const char* key, void* out_value, size * implementation, but is guaranteed to be at least * 16 characters. Shouldn't be empty. * - * @return - ESP_OK if erase operation was successful + * @return + * - ESP_OK if erase operation was successful * - ESP_ERR_NVS_INVALID_HANDLE if handle has been closed or is NULL * - ESP_ERR_NVS_READ_ONLY if handle was opened as read only * - ESP_ERR_NVS_NOT_FOUND if the requested key doesn't exist @@ -207,7 +217,8 @@ esp_err_t nvs_erase_key(nvs_handle handle, const char* key); * @param[in] handle Storage handle obtained with nvs_open. * Handles that were opened read only cannot be used. * - * @return - ESP_OK if erase operation was successful + * @return + * - ESP_OK if erase operation was successful * - ESP_ERR_NVS_INVALID_HANDLE if handle has been closed or is NULL * - ESP_ERR_NVS_READ_ONLY if handle was opened as read only * - other error codes from the underlying storage driver @@ -224,7 +235,8 @@ esp_err_t nvs_erase_all(nvs_handle handle); * @param[in] handle Storage handle obtained with nvs_open. * Handles that were opened read only cannot be used. * - * @return - ESP_OK if the changes have been written successfully + * @return + * - ESP_OK if the changes have been written successfully * - ESP_ERR_NVS_INVALID_HANDLE if handle has been closed or is NULL * - other error codes from the underlying storage driver */ @@ -249,3 +261,4 @@ void nvs_close(nvs_handle handle); #endif #endif //ESP_NVS_H + diff --git a/tools/sdk/include/nvs_flash/nvs_flash.h b/tools/sdk/include/nvs_flash/nvs_flash.h index ce98f394..1cade0e9 100644 --- a/tools/sdk/include/nvs_flash/nvs_flash.h +++ b/tools/sdk/include/nvs_flash/nvs_flash.h @@ -22,6 +22,8 @@ extern "C" { Temporarily, this region is hardcoded as a 12KB (0x3000 byte) region starting at 24KB (0x6000 byte) offset in flash. + + @return ESP_OK if flash was successfully initialised. */ esp_err_t nvs_flash_init(void); diff --git a/tools/sdk/include/spi_flash/esp_partition.h b/tools/sdk/include/spi_flash/esp_partition.h new file mode 100644 index 00000000..ae0185dc --- /dev/null +++ b/tools/sdk/include/spi_flash/esp_partition.h @@ -0,0 +1,242 @@ +// 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_PARTITION_H__ +#define __ESP_PARTITION_H__ + +#include +#include +#include +#include "esp_err.h" +#include "esp_spi_flash.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + ESP_PARTITION_TYPE_APP = 0x00, + ESP_PARTITION_TYPE_DATA = 0x01, + ESP_PARTITION_TYPE_FILESYSTEM = 0x02, +} esp_partition_type_t; + +typedef enum { + ESP_PARTITION_SUBTYPE_APP_FACTORY = 0x00, + ESP_PARTITION_SUBTYPE_APP_OTA_MIN = 0x10, + ESP_PARTITION_SUBTYPE_APP_OTA_0 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 0, + ESP_PARTITION_SUBTYPE_APP_OTA_1 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 1, + ESP_PARTITION_SUBTYPE_APP_OTA_2 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 2, + ESP_PARTITION_SUBTYPE_APP_OTA_3 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 3, + ESP_PARTITION_SUBTYPE_APP_OTA_4 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 4, + ESP_PARTITION_SUBTYPE_APP_OTA_5 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 5, + ESP_PARTITION_SUBTYPE_APP_OTA_6 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 6, + ESP_PARTITION_SUBTYPE_APP_OTA_7 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 7, + ESP_PARTITION_SUBTYPE_APP_OTA_8 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 8, + ESP_PARTITION_SUBTYPE_APP_OTA_9 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 9, + ESP_PARTITION_SUBTYPE_APP_OTA_10 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 10, + ESP_PARTITION_SUBTYPE_APP_OTA_11 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 11, + ESP_PARTITION_SUBTYPE_APP_OTA_12 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 12, + ESP_PARTITION_SUBTYPE_APP_OTA_13 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 13, + ESP_PARTITION_SUBTYPE_APP_OTA_14 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 14, + ESP_PARTITION_SUBTYPE_APP_OTA_15 = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 15, + ESP_PARTITION_SUBTYPE_APP_OTA_MAX = 15, + ESP_PARTITION_SUBTYPE_APP_TEST = 0x20, + + ESP_PARTITION_SUBTYPE_DATA_OTA = 0x00, + ESP_PARTITION_SUBTYPE_DATA_RF = 0x01, + ESP_PARTITION_SUBTYPE_DATA_NVS = 0x02, + + ESP_PARTITION_SUBTYPE_FILESYSTEM_ESPHTTPD = 0x00, + ESP_PARTITION_SUBTYPE_FILESYSTEM_FAT = 0x01, + ESP_PARTITION_SUBTYPE_FILESYSTEM_SPIFFS = 0x02, + + ESP_PARTITION_SUBTYPE_ANY = 0xff, +} esp_partition_subtype_t; + +#define ESP_PARTITION_SUBTYPE_OTA(i) ((esp_partition_subtype_t)(ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ((i) & 0xf))) + + +typedef struct esp_partition_iterator_opaque_* esp_partition_iterator_t; + +typedef struct { + esp_partition_type_t type; + esp_partition_subtype_t subtype; + uint32_t address; + uint32_t size; + char label[17]; + bool encrypted; +} esp_partition_t; + +/** + * @brief Find partition based on one or more parameters + * + * @param type Partition type, one of esp_partition_type_t values + * @param subtype Partition subtype, one of esp_partition_subtype_t values. + * To find all partitions of given type, use + * ESP_PARTITION_SUBTYPE_ANY. + * @param label (optional) Partition label. Set this value if looking + * for partition with a specific name. Pass NULL otherwise. + * + * @return iterator which can be used to enumerate all the partitions found, + * or NULL if no partitions were found. + * Iterator obtained through this function has to be released + * using esp_partition_iterator_release when not used any more. + */ +esp_partition_iterator_t esp_partition_find(esp_partition_type_t type, esp_partition_subtype_t subtype, const char* label); + +/** + * @brief Find first partition based on one or more parameters + * + * @param type Partition type, one of esp_partition_type_t values + * @param subtype Partition subtype, one of esp_partition_subtype_t values. + * To find all partitions of given type, use + * ESP_PARTITION_SUBTYPE_ANY. + * @param label (optional) Partition label. Set this value if looking + * for partition with a specific name. Pass NULL otherwise. + * + * @return pointer to esp_partition_t structure, or NULL if no partition is found. + * This pointer is valid for the lifetime of the application. + */ +const esp_partition_t* esp_partition_find_first(esp_partition_type_t type, esp_partition_subtype_t subtype, const char* label); + +/** + * @brief Get esp_partition_t structure for given partition + * + * @param iterator Iterator obtained using esp_partition_find. Must be non-NULL. + * + * @return pointer to esp_partition_t structure. This pointer is valid for the lifetime + * of the application. + */ +const esp_partition_t* esp_partition_get(esp_partition_iterator_t iterator); + +/** + * @brief Move partition iterator to the next partition found + * + * Any copies of the iterator will be invalid after this call. + * + * @param iterator Iterator obtained using esp_partition_find. Must be non-NULL. + * + * @return NULL if no partition was found, valid esp_partition_iterator_t otherwise. + */ +esp_partition_iterator_t esp_partition_next(esp_partition_iterator_t iterator); + +/** + * @brief Release partition iterator + * + * @param iterator Iterator obtained using esp_partition_find. Must be non-NULL. + * + */ +void esp_partition_iterator_release(esp_partition_iterator_t iterator); + +/** + * @brief Read data from the partition + * + * @param partition Pointer to partition structure obtained using + * esp_partition_find_first or esp_partition_get. + * Must be non-NULL. + * @param dst 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_offset 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 esp_partition_read(const esp_partition_t* partition, + size_t src_offset, void* dst, size_t size); + +/** + * @brief Write data to the partition + * + * Before writing data to flash, corresponding region of flash needs to be erased. + * This can be done using esp_partition_erase_range function. + * + * @param partition Pointer to partition structure obtained using + * esp_partition_find_first or esp_partition_get. + * Must be non-NULL. + * @param dst_offset 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 flash memory, make sure it has been erased with + * esp_partition_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 esp_partition_write(const esp_partition_t* partition, + size_t dst_offset, const void* src, size_t size); + +/** + * @brief Erase part of the partition + * + * @param partition Pointer to partition structure obtained using + * esp_partition_find_first or esp_partition_get. + * Must be non-NULL. + * @param start_addr Address where erase operation should start. Must be aligned + * to 4 kilobytes. + * @param size Size of the range which should be erased, in bytes. + * Must be divisible by 4 kilobytes. + * + * @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 esp_partition_erase_range(const esp_partition_t* partition, + uint32_t start_addr, uint32_t size); + +/** + * @brief Configure MMU to map partition into data memory + * + * Unlike spi_flash_mmap function, which requires a 64kB aligned base address, + * this function doesn't impose such a requirement. + * If offset results in a flash address which is not aligned to 64kB boundary, + * address will be rounded to the lower 64kB boundary, so that mapped region + * includes requested range. + * Pointer returned via out_ptr argument will be adjusted to point to the + * requested offset (not necessarily to the beginning of mmap-ed region). + * + * To release mapped memory, pass handle returned via out_handle argument to + * spi_flash_munmap function. + * + * @param partition Pointer to partition structure obtained using + * esp_partition_find_first or esp_partition_get. + * Must be non-NULL. + * @param offset Offset from the beginning of partition where mapping should start. + * @param size Size of the area to be mapped. + * @param memory Memory space where the region should be mapped + * @param out_ptr Output, pointer to the mapped memory region + * @param out_handle Output, handle which should be used for spi_flash_munmap call + * + * @return ESP_OK, if successful + */ +esp_err_t esp_partition_mmap(const esp_partition_t* partition, uint32_t offset, uint32_t size, + spi_flash_mmap_memory_t memory, + const void** out_ptr, spi_flash_mmap_handle_t* out_handle); + + +#ifdef __cplusplus +} +#endif + + +#endif /* __ESP_PARTITION_H__ */ diff --git a/tools/sdk/include/spi_flash/esp_spi_flash.h b/tools/sdk/include/spi_flash/esp_spi_flash.h index 6d635880..840bbc49 100644 --- a/tools/sdk/include/spi_flash/esp_spi_flash.h +++ b/tools/sdk/include/spi_flash/esp_spi_flash.h @@ -16,6 +16,7 @@ #define ESP_SPI_FLASH_H #include +#include #include "esp_err.h" #include "sdkconfig.h" @@ -34,41 +35,126 @@ extern "C" { * * This function must be called exactly once, before any other * spi_flash_* functions are called. + * Currently this function is called from startup code. There is + * no need to call it from application code. * */ void spi_flash_init(); +/** + * @brief Get flash chip size, as set in binary image header + * + * @note This value does not necessarily match real flash size. + * + * @return size of flash chip, in bytes + */ +size_t spi_flash_get_chip_size(); + /** * @brief Erase the Flash sector. * - * @param uint16 sec : Sector number, the count starts at sector 0, 4KB per sector. + * @param sector Sector number, the count starts at sector 0, 4KB per sector. * * @return esp_err_t */ -esp_err_t spi_flash_erase_sector(uint16_t sec); +esp_err_t spi_flash_erase_sector(size_t sector); + +/** + * @brief Erase a range of flash sectors + * + * @param uint32_t start_address : Address where erase operation has to start. + * Must be 4kB-aligned + * @param uint32_t size : Size of erased range, in bytes. Must be divisible by 4kB. + * + * @return esp_err_t + */ +esp_err_t spi_flash_erase_range(size_t start_addr, size_t size); + /** * @brief Write data to Flash. * - * @param uint32 des_addr : destination address in Flash. - * @param uint32 *src_addr : source address of the data. - * @param uint32 size : length of data + * @note Address in flash, dest, has to be 4-byte aligned. + * This is a temporary limitation which will be removed. + * + * @param dest destination address in Flash + * @param src pointer to the source buffer + * @param size length of data, in bytes * * @return esp_err_t */ -esp_err_t spi_flash_write(uint32_t des_addr, const uint32_t *src_addr, uint32_t size); +esp_err_t spi_flash_write(size_t dest, const void *src, size_t size); /** * @brief Read data from Flash. * - * @param uint32 src_addr : source address of the data in Flash. - * @param uint32 *des_addr : destination address. - * @param uint32 size : length of data + * @note Both src and dest have to be 4-byte aligned. + * This is a temporary limitation which will be removed. + * + * @param src source address of the data in Flash. + * @param dest pointer to the destination buffer + * @param size length of data * * @return esp_err_t */ -esp_err_t spi_flash_read(uint32_t src_addr, uint32_t *des_addr, uint32_t size); +esp_err_t spi_flash_read(size_t src, void *dest, size_t size); +/** + * @brief Enumeration which specifies memory space requested in an mmap call + */ +typedef enum { + SPI_FLASH_MMAP_DATA, /**< map to data memory (Vaddr0), allows byte-aligned access, 4 MB total */ + SPI_FLASH_MMAP_INST, /**< map to instruction memory (Vaddr1-3), allows only 4-byte-aligned access, 11 MB total */ +} spi_flash_mmap_memory_t; + +/** + * @brief Opaque handle for memory region obtained from spi_flash_mmap. + */ +typedef uint32_t spi_flash_mmap_handle_t; + +/** + * @brief Map region of flash memory into data or instruction address space + * + * This function allocates sufficient number of 64k MMU pages and configures + * them to map request region of flash memory into data address space or into + * instruction address space. It may reuse MMU pages which already provide + * required mapping. As with any allocator, there is possibility of fragmentation + * of address space if mmap/munmap are heavily used. To troubleshoot issues with + * page allocation, use spi_flash_mmap_dump function. + * + * @param src_addr Physical address in flash where requested region starts. + * This address *must* be aligned to 64kB boundary. + * @param size Size of region which has to be mapped. This size will be rounded + * up to a 64k boundary. + * @param memory Memory space where the region should be mapped + * @param out_ptr Output, pointer to the mapped memory region + * @param 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 + */ +esp_err_t spi_flash_mmap(uint32_t src_addr, size_t size, spi_flash_mmap_memory_t memory, + const void** out_ptr, spi_flash_mmap_handle_t* out_handle); + +/** + * @brief Release region previously obtained using spi_flash_mmap + * + * @note Calling this function will not necessarily unmap memory region. + * Region will only be unmapped when there are no other handles which + * reference this region. In case of partially overlapping regions + * it is possible that memory will be unmapped partially. + * + * @param handle Handle obtained from spi_flash_mmap + */ +void spi_flash_munmap(spi_flash_mmap_handle_t handle); + +/** + * @brief Display information about mapped regions + * + * This function lists handles obtained using spi_flash_mmap, along with range + * of pages allocated to each handle. It also lists all non-zero entries of + * MMU table and corresponding reference counts. + */ +void spi_flash_mmap_dump(); #if CONFIG_SPI_FLASH_ENABLE_COUNTERS @@ -78,7 +164,7 @@ esp_err_t spi_flash_read(uint32_t src_addr, uint32_t *des_addr, uint32_t size); typedef struct { uint32_t count; // number of times operation was executed uint32_t time; // total time taken, in microseconds - uint32_t bytes; // total number of bytes, for read and write operations + uint32_t bytes; // total number of bytes } spi_flash_counter_t; typedef struct { diff --git a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h index 21832532..e8470168 100644 --- a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h +++ b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h @@ -73,8 +73,8 @@ typedef struct { }tcpip_adapter_sta_info_t; typedef struct { - tcpip_adapter_sta_info_t sta[ESP_WIFI_MAX_CONN_NUM+2]; - uint8_t num; + tcpip_adapter_sta_info_t sta[ESP_WIFI_MAX_CONN_NUM]; + int num; }tcpip_adapter_sta_list_t; #endif diff --git a/tools/sdk/include/wpa_supplicant/byteswap.h b/tools/sdk/include/wpa_supplicant/byteswap.h new file mode 100644 index 00000000..1a8bb8fd --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/byteswap.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2010 Espressif System + */ + +#ifndef BYTESWAP_H +#define BYTESWAP_H + +/* Swap bytes in 16 bit value. */ +#ifdef __GNUC__ +# define __bswap_16(x) \ + (__extension__ \ + ({ unsigned short int __bsx = (x); \ + ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); })) +#else +static INLINE unsigned short int +__bswap_16 (unsigned short int __bsx) +{ + return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); +} +#endif + +/* Swap bytes in 32 bit value. */ +#ifdef __GNUC__ +# define __bswap_32(x) \ + (__extension__ \ + ({ unsigned int __bsx = (x); \ + ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) | \ + (((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24)); })) +#else +static INLINE unsigned int +__bswap_32 (unsigned int __bsx) +{ + return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) | + (((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24)); +} +#endif + +#if defined __GNUC__ && __GNUC__ >= 2 +/* Swap bytes in 64 bit value. */ +# define __bswap_constant_64(x) \ + ((((x) & 0xff00000000000000ull) >> 56) \ + | (((x) & 0x00ff000000000000ull) >> 40) \ + | (((x) & 0x0000ff0000000000ull) >> 24) \ + | (((x) & 0x000000ff00000000ull) >> 8) \ + | (((x) & 0x00000000ff000000ull) << 8) \ + | (((x) & 0x0000000000ff0000ull) << 24) \ + | (((x) & 0x000000000000ff00ull) << 40) \ + | (((x) & 0x00000000000000ffull) << 56)) + +# define __bswap_64(x) \ + (__extension__ \ + ({ union { __extension__ unsigned long long int __ll; \ + unsigned int __l[2]; } __w, __r; \ + if (__builtin_constant_p (x)) \ + __r.__ll = __bswap_constant_64 (x); \ + else \ + { \ + __w.__ll = (x); \ + __r.__l[0] = __bswap_32 (__w.__l[1]); \ + __r.__l[1] = __bswap_32 (__w.__l[0]); \ + } \ + __r.__ll; })) +#endif + +#endif /* BYTESWAP_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/aes.h b/tools/sdk/include/wpa_supplicant/crypto/aes.h new file mode 100644 index 00000000..ba384a9d --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/aes.h @@ -0,0 +1,27 @@ +/* + * AES functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef AES_H +#define AES_H + +#define AES_BLOCK_SIZE 16 + +void * aes_encrypt_init(const u8 *key, size_t len); +void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt); +void aes_encrypt_deinit(void *ctx); +void * aes_decrypt_init(const u8 *key, size_t len); +void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain); +void aes_decrypt_deinit(void *ctx); + +#endif /* AES_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/aes_i.h b/tools/sdk/include/wpa_supplicant/crypto/aes_i.h new file mode 100644 index 00000000..1063422a --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/aes_i.h @@ -0,0 +1,131 @@ +/* + * AES (Rijndael) cipher + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef AES_I_H +#define AES_I_H + +#include "aes.h" + +/* #define FULL_UNROLL */ +#define AES_SMALL_TABLES + +extern const u32 Te0[256]; +extern const u32 Te1[256]; +extern const u32 Te2[256]; +extern const u32 Te3[256]; +extern const u32 Te4[256]; +extern const u32 Td0[256]; +extern const u32 Td1[256]; +extern const u32 Td2[256]; +extern const u32 Td3[256]; +extern const u32 Td4[256]; +extern const u32 rcon[10]; +extern const u8 Td4s[256]; +extern const u8 rcons[10]; + +#ifndef AES_SMALL_TABLES + +#define RCON(i) rcon[(i)] + +#define TE0(i) Te0[((i) >> 24) & 0xff] +#define TE1(i) Te1[((i) >> 16) & 0xff] +#define TE2(i) Te2[((i) >> 8) & 0xff] +#define TE3(i) Te3[(i) & 0xff] +#define TE41(i) (Te4[((i) >> 24) & 0xff] & 0xff000000) +#define TE42(i) (Te4[((i) >> 16) & 0xff] & 0x00ff0000) +#define TE43(i) (Te4[((i) >> 8) & 0xff] & 0x0000ff00) +#define TE44(i) (Te4[(i) & 0xff] & 0x000000ff) +#define TE421(i) (Te4[((i) >> 16) & 0xff] & 0xff000000) +#define TE432(i) (Te4[((i) >> 8) & 0xff] & 0x00ff0000) +#define TE443(i) (Te4[(i) & 0xff] & 0x0000ff00) +#define TE414(i) (Te4[((i) >> 24) & 0xff] & 0x000000ff) +#define TE411(i) (Te4[((i) >> 24) & 0xff] & 0xff000000) +#define TE422(i) (Te4[((i) >> 16) & 0xff] & 0x00ff0000) +#define TE433(i) (Te4[((i) >> 8) & 0xff] & 0x0000ff00) +#define TE444(i) (Te4[(i) & 0xff] & 0x000000ff) +#define TE4(i) (Te4[(i)] & 0x000000ff) + +#define TD0(i) Td0[((i) >> 24) & 0xff] +#define TD1(i) Td1[((i) >> 16) & 0xff] +#define TD2(i) Td2[((i) >> 8) & 0xff] +#define TD3(i) Td3[(i) & 0xff] +#define TD41(i) (Td4[((i) >> 24) & 0xff] & 0xff000000) +#define TD42(i) (Td4[((i) >> 16) & 0xff] & 0x00ff0000) +#define TD43(i) (Td4[((i) >> 8) & 0xff] & 0x0000ff00) +#define TD44(i) (Td4[(i) & 0xff] & 0x000000ff) +#define TD0_(i) Td0[(i) & 0xff] +#define TD1_(i) Td1[(i) & 0xff] +#define TD2_(i) Td2[(i) & 0xff] +#define TD3_(i) Td3[(i) & 0xff] + +#else /* AES_SMALL_TABLES */ + +#define RCON(i) (rcons[(i)] << 24) + +static inline u32 rotr(u32 val, int bits) +{ + return (val >> bits) | (val << (32 - bits)); +} + +#define TE0(i) Te0[((i) >> 24) & 0xff] +#define TE1(i) rotr(Te0[((i) >> 16) & 0xff], 8) +#define TE2(i) rotr(Te0[((i) >> 8) & 0xff], 16) +#define TE3(i) rotr(Te0[(i) & 0xff], 24) +#define TE41(i) ((Te0[((i) >> 24) & 0xff] << 8) & 0xff000000) +#define TE42(i) (Te0[((i) >> 16) & 0xff] & 0x00ff0000) +#define TE43(i) (Te0[((i) >> 8) & 0xff] & 0x0000ff00) +#define TE44(i) ((Te0[(i) & 0xff] >> 8) & 0x000000ff) +#define TE421(i) ((Te0[((i) >> 16) & 0xff] << 8) & 0xff000000) +#define TE432(i) (Te0[((i) >> 8) & 0xff] & 0x00ff0000) +#define TE443(i) (Te0[(i) & 0xff] & 0x0000ff00) +#define TE414(i) ((Te0[((i) >> 24) & 0xff] >> 8) & 0x000000ff) +#define TE411(i) ((Te0[((i) >> 24) & 0xff] << 8) & 0xff000000) +#define TE422(i) (Te0[((i) >> 16) & 0xff] & 0x00ff0000) +#define TE433(i) (Te0[((i) >> 8) & 0xff] & 0x0000ff00) +#define TE444(i) ((Te0[(i) & 0xff] >> 8) & 0x000000ff) +#define TE4(i) ((Te0[(i)] >> 8) & 0x000000ff) + +#define TD0(i) Td0[((i) >> 24) & 0xff] +#define TD1(i) rotr(Td0[((i) >> 16) & 0xff], 8) +#define TD2(i) rotr(Td0[((i) >> 8) & 0xff], 16) +#define TD3(i) rotr(Td0[(i) & 0xff], 24) +#define TD41(i) (Td4s[((i) >> 24) & 0xff] << 24) +#define TD42(i) (Td4s[((i) >> 16) & 0xff] << 16) +#define TD43(i) (Td4s[((i) >> 8) & 0xff] << 8) +#define TD44(i) (Td4s[(i) & 0xff]) +#define TD0_(i) Td0[(i) & 0xff] +#define TD1_(i) rotr(Td0[(i) & 0xff], 8) +#define TD2_(i) rotr(Td0[(i) & 0xff], 16) +#define TD3_(i) rotr(Td0[(i) & 0xff], 24) + +#endif /* AES_SMALL_TABLES */ + +#ifdef _MSC_VER +#define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00) +#define GETU32(p) SWAP(*((u32 *)(p))) +#define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); } +#else +#define GETU32(pt) (((u32)(pt)[0] << 24) ^ ((u32)(pt)[1] << 16) ^ \ +((u32)(pt)[2] << 8) ^ ((u32)(pt)[3])) +#define PUTU32(ct, st) { \ +(ct)[0] = (u8)((st) >> 24); (ct)[1] = (u8)((st) >> 16); \ +(ct)[2] = (u8)((st) >> 8); (ct)[3] = (u8)(st); } +#endif + +#define AES_PRIV_SIZE (4 * 4 * 15 + 4) +#define AES_PRIV_NR_POS (4 * 15) + +int rijndaelKeySetupEnc(u32 rk[], const u8 cipherKey[], int keyBits); + +#endif /* AES_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/aes_wrap.h b/tools/sdk/include/wpa_supplicant/crypto/aes_wrap.h new file mode 100644 index 00000000..4b1c7b08 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/aes_wrap.h @@ -0,0 +1,48 @@ +/* + * AES-based functions + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef AES_WRAP_H +#define AES_WRAP_H + +int __must_check aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher); +int __must_check aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain); +int __must_check omac1_aes_128_vector(const u8 *key, size_t num_elem, + const u8 *addr[], const size_t *len, + u8 *mac); +int __must_check omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, + u8 *mac); +int __must_check aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out); +int __must_check aes_128_ctr_encrypt(const u8 *key, const u8 *nonce, + u8 *data, size_t data_len); +int __must_check aes_128_eax_encrypt(const u8 *key, + const u8 *nonce, size_t nonce_len, + const u8 *hdr, size_t hdr_len, + u8 *data, size_t data_len, u8 *tag); +int __must_check aes_128_eax_decrypt(const u8 *key, + const u8 *nonce, size_t nonce_len, + const u8 *hdr, size_t hdr_len, + u8 *data, size_t data_len, const u8 *tag); +int __must_check aes_128_cbc_encrypt(const u8 *key, const u8 *iv, u8 *data, + size_t data_len); +int __must_check aes_128_cbc_decrypt(const u8 *key, const u8 *iv, u8 *data, + size_t data_len); + +#endif /* AES_WRAP_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/base64.h b/tools/sdk/include/wpa_supplicant/crypto/base64.h new file mode 100644 index 00000000..b87a1682 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/base64.h @@ -0,0 +1,23 @@ +/* + * Base64 encoding/decoding (RFC1341) + * Copyright (c) 2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef BASE64_H +#define BASE64_H + +unsigned char * base64_encode(const unsigned char *src, size_t len, + size_t *out_len); +unsigned char * base64_decode(const unsigned char *src, size_t len, + size_t *out_len); + +#endif /* BASE64_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/common.h b/tools/sdk/include/wpa_supplicant/crypto/common.h new file mode 100644 index 00000000..319b861e --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/common.h @@ -0,0 +1,481 @@ +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef COMMON_H +#define COMMON_H + +#include "os.h" + +#if defined(__XTENSA__) +#include +#define __BYTE_ORDER BYTE_ORDER +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#define __BIG_ENDIAN BIG_ENDIAN +#endif /*__XTENSA__*/ + +#if defined(__linux__) || defined(__GLIBC__) +#include +#include +#endif /* __linux__ */ + +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || \ + defined(__OpenBSD__) +#include +#include +#define __BYTE_ORDER _BYTE_ORDER +#define __LITTLE_ENDIAN _LITTLE_ENDIAN +#define __BIG_ENDIAN _BIG_ENDIAN +#ifdef __OpenBSD__ +#define bswap_16 swap16 +#define bswap_32 swap32 +#define bswap_64 swap64 +#else /* __OpenBSD__ */ +#define bswap_16 bswap16 +#define bswap_32 bswap32 +#define bswap_64 bswap64 +#endif /* __OpenBSD__ */ +#endif /* defined(__FreeBSD__) || defined(__NetBSD__) || + * defined(__DragonFly__) || defined(__OpenBSD__) */ + +#ifdef __APPLE__ +#include +#include +#define __BYTE_ORDER _BYTE_ORDER +#define __LITTLE_ENDIAN _LITTLE_ENDIAN +#define __BIG_ENDIAN _BIG_ENDIAN +static inline unsigned short bswap_16(unsigned short v) +{ + return ((v & 0xff) << 8) | (v >> 8); +} + +static inline unsigned int bswap_32(unsigned int v) +{ + return ((v & 0xff) << 24) | ((v & 0xff00) << 8) | + ((v & 0xff0000) >> 8) | (v >> 24); +} +#endif /* __APPLE__ */ + +#ifdef CONFIG_TI_COMPILER +#define __BIG_ENDIAN 4321 +#define __LITTLE_ENDIAN 1234 +#ifdef __big_endian__ +#define __BYTE_ORDER __BIG_ENDIAN +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif +#endif /* CONFIG_TI_COMPILER */ + +#ifdef __SYMBIAN32__ +#define __BIG_ENDIAN 4321 +#define __LITTLE_ENDIAN 1234 +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif /* __SYMBIAN32__ */ + +#ifdef CONFIG_NATIVE_WINDOWS +#include + +typedef int socklen_t; + +#ifndef MSG_DONTWAIT +#define MSG_DONTWAIT 0 /* not supported */ +#endif + +#endif /* CONFIG_NATIVE_WINDOWS */ + +#ifdef _MSC_VER +#define inline __inline + +#undef vsnprintf +#define vsnprintf _vsnprintf +#undef close +#define close closesocket +#endif /* _MSC_VER */ + + +/* Define platform specific integer types */ + +#ifdef _MSC_VER +typedef UINT64 u64; +typedef UINT32 u32; +typedef UINT16 u16; +typedef UINT8 u8; +typedef INT64 s64; +typedef INT32 s32; +typedef INT16 s16; +typedef INT8 s8; +#define WPA_TYPES_DEFINED +#endif /* _MSC_VER */ + +#ifdef __vxworks +typedef unsigned long long u64; +typedef UINT32 u32; +typedef UINT16 u16; +typedef UINT8 u8; +typedef long long s64; +typedef INT32 s32; +typedef INT16 s16; +typedef INT8 s8; +#define WPA_TYPES_DEFINED +#endif /* __vxworks */ + +#ifdef CONFIG_TI_COMPILER +#ifdef _LLONG_AVAILABLE +typedef unsigned long long u64; +#else +/* + * TODO: 64-bit variable not available. Using long as a workaround to test the + * build, but this will likely not work for all operations. + */ +typedef unsigned long u64; +#endif +typedef unsigned int u32; +typedef unsigned short u16; +typedef unsigned char u8; +#define WPA_TYPES_DEFINED +#endif /* CONFIG_TI_COMPILER */ + +#ifdef __SYMBIAN32__ +#define __REMOVE_PLATSEC_DIAGNOSTICS__ +#include +typedef TUint64 u64; +typedef TUint32 u32; +typedef TUint16 u16; +typedef TUint8 u8; +#define WPA_TYPES_DEFINED +#endif /* __SYMBIAN32__ */ + +#ifndef WPA_TYPES_DEFINED +#ifdef CONFIG_USE_INTTYPES_H +#include +#else +#include +#endif + +typedef uint64_t u64; +typedef uint32_t u32; +typedef uint16_t u16; +typedef uint8_t u8; +typedef int64_t s64; +typedef int32_t s32; +typedef int16_t s16; +typedef int8_t s8; +#define WPA_TYPES_DEFINED +#endif /* !WPA_TYPES_DEFINED */ + + +/* Define platform specific byte swapping macros */ + +#if defined(__CYGWIN__) || defined(CONFIG_NATIVE_WINDOWS) + +static inline unsigned short wpa_swap_16(unsigned short v) +{ + return ((v & 0xff) << 8) | (v >> 8); +} + +static inline unsigned int wpa_swap_32(unsigned int v) +{ + return ((v & 0xff) << 24) | ((v & 0xff00) << 8) | + ((v & 0xff0000) >> 8) | (v >> 24); +} + +#define le_to_host16(n) (n) +#define host_to_le16(n) (n) +#define be_to_host16(n) wpa_swap_16(n) +#define host_to_be16(n) wpa_swap_16(n) +#define le_to_host32(n) (n) +#define be_to_host32(n) wpa_swap_32(n) +#define host_to_be32(n) wpa_swap_32(n) + +#define WPA_BYTE_SWAP_DEFINED + +#endif /* __CYGWIN__ || CONFIG_NATIVE_WINDOWS */ + + +#ifndef WPA_BYTE_SWAP_DEFINED + +#ifndef __BYTE_ORDER +#ifndef __LITTLE_ENDIAN +#ifndef __BIG_ENDIAN +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#if defined(sparc) +#define __BYTE_ORDER __BIG_ENDIAN +#endif +#endif /* __BIG_ENDIAN */ +#endif /* __LITTLE_ENDIAN */ +#endif /* __BYTE_ORDER */ + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define le_to_host16(n) ((__force u16) (le16) (n)) +#define host_to_le16(n) ((__force le16) (u16) (n)) +#define be_to_host16(n) bswap_16((__force u16) (be16) (n)) +#define host_to_be16(n) ((__force be16) bswap_16((n))) +#define le_to_host32(n) ((__force u32) (le32) (n)) +#define host_to_le32(n) ((__force le32) (u32) (n)) +#define be_to_host32(n) bswap_32((__force u32) (be32) (n)) +#define host_to_be32(n) ((__force be32) bswap_32((n))) +#define le_to_host64(n) ((__force u64) (le64) (n)) +#define host_to_le64(n) ((__force le64) (u64) (n)) +#define be_to_host64(n) bswap_64((__force u64) (be64) (n)) +#define host_to_be64(n) ((__force be64) bswap_64((n))) +#elif __BYTE_ORDER == __BIG_ENDIAN +#define le_to_host16(n) bswap_16(n) +#define host_to_le16(n) bswap_16(n) +#define be_to_host16(n) (n) +#define host_to_be16(n) (n) +#define le_to_host32(n) bswap_32(n) +#define be_to_host32(n) (n) +#define host_to_be32(n) (n) +#define le_to_host64(n) bswap_64(n) +#define host_to_le64(n) bswap_64(n) +#define be_to_host64(n) (n) +#define host_to_be64(n) (n) +#ifndef WORDS_BIGENDIAN +#define WORDS_BIGENDIAN +#endif +#else +#error Could not determine CPU byte order +#endif + +#define WPA_BYTE_SWAP_DEFINED +#endif /* !WPA_BYTE_SWAP_DEFINED */ + + +/* Macros for handling unaligned memory accesses */ + +#define WPA_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1])) +#define WPA_PUT_BE16(a, val) \ + do { \ + (a)[0] = ((u16) (val)) >> 8; \ + (a)[1] = ((u16) (val)) & 0xff; \ + } while (0) + +#define WPA_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0])) +#define WPA_PUT_LE16(a, val) \ + do { \ + (a)[1] = ((u16) (val)) >> 8; \ + (a)[0] = ((u16) (val)) & 0xff; \ + } while (0) + +#define WPA_GET_BE24(a) ((((u32) (a)[0]) << 16) | (((u32) (a)[1]) << 8) | \ + ((u32) (a)[2])) +#define WPA_PUT_BE24(a, val) \ + do { \ + (a)[0] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[2] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_BE32(a) ((((u32) (a)[0]) << 24) | (((u32) (a)[1]) << 16) | \ + (((u32) (a)[2]) << 8) | ((u32) (a)[3])) +#define WPA_PUT_BE32(a, val) \ + do { \ + (a)[0] = (u8) ((((u32) (val)) >> 24) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[2] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[3] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_LE32(a) ((((u32) (a)[3]) << 24) | (((u32) (a)[2]) << 16) | \ + (((u32) (a)[1]) << 8) | ((u32) (a)[0])) +#define WPA_PUT_LE32(a, val) \ + do { \ + (a)[3] = (u8) ((((u32) (val)) >> 24) & 0xff); \ + (a)[2] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[0] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_BE64(a) ((((u64) (a)[0]) << 56) | (((u64) (a)[1]) << 48) | \ + (((u64) (a)[2]) << 40) | (((u64) (a)[3]) << 32) | \ + (((u64) (a)[4]) << 24) | (((u64) (a)[5]) << 16) | \ + (((u64) (a)[6]) << 8) | ((u64) (a)[7])) +#define WPA_PUT_BE64(a, val) \ + do { \ + (a)[0] = (u8) (((u64) (val)) >> 56); \ + (a)[1] = (u8) (((u64) (val)) >> 48); \ + (a)[2] = (u8) (((u64) (val)) >> 40); \ + (a)[3] = (u8) (((u64) (val)) >> 32); \ + (a)[4] = (u8) (((u64) (val)) >> 24); \ + (a)[5] = (u8) (((u64) (val)) >> 16); \ + (a)[6] = (u8) (((u64) (val)) >> 8); \ + (a)[7] = (u8) (((u64) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_LE64(a) ((((u64) (a)[7]) << 56) | (((u64) (a)[6]) << 48) | \ + (((u64) (a)[5]) << 40) | (((u64) (a)[4]) << 32) | \ + (((u64) (a)[3]) << 24) | (((u64) (a)[2]) << 16) | \ + (((u64) (a)[1]) << 8) | ((u64) (a)[0])) + + +#ifndef ETH_ALEN +#define ETH_ALEN 6 +#endif +#ifndef IFNAMSIZ +#define IFNAMSIZ 16 +#endif +#ifndef ETH_P_ALL +#define ETH_P_ALL 0x0003 +#endif +#ifndef ETH_P_PAE +#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */ +#endif /* ETH_P_PAE */ +#ifndef ETH_P_EAPOL +#define ETH_P_EAPOL ETH_P_PAE +#endif /* ETH_P_EAPOL */ +#ifndef ETH_P_RSN_PREAUTH +#define ETH_P_RSN_PREAUTH 0x88c7 +#endif /* ETH_P_RSN_PREAUTH */ +#ifndef ETH_P_RRB +#define ETH_P_RRB 0x890D +#endif /* ETH_P_RRB */ + + +#ifdef __GNUC__ +#define PRINTF_FORMAT(a,b) __attribute__ ((format (printf, (a), (b)))) +#define STRUCT_PACKED __attribute__ ((packed)) +#else +#define PRINTF_FORMAT(a,b) +#define STRUCT_PACKED +#endif + +#ifdef CONFIG_ANSI_C_EXTRA + +#if !defined(_MSC_VER) || _MSC_VER < 1400 +/* snprintf - used in number of places; sprintf() is _not_ a good replacement + * due to possible buffer overflow; see, e.g., + * http://www.ijs.si/software/snprintf/ for portable implementation of + * snprintf. */ +int snprintf(char *str, size_t size, const char *format, ...); + +/* vsnprintf - only used for wpa_msg() in wpa_supplicant.c */ +int vsnprintf(char *str, size_t size, const char *format, va_list ap); +#endif /* !defined(_MSC_VER) || _MSC_VER < 1400 */ + +/* getopt - only used in main.c */ +int getopt(int argc, char *const argv[], const char *optstring); +extern char *optarg; +extern int optind; + +#ifndef CONFIG_NO_SOCKLEN_T_TYPEDEF +#ifndef __socklen_t_defined +typedef int socklen_t; +#endif +#endif + +/* inline - define as __inline or just define it to be empty, if needed */ +#ifdef CONFIG_NO_INLINE +#define inline +#else +#define inline __inline +#endif + +#ifndef __func__ +#define __func__ "__func__ not defined" +#endif + +#ifndef bswap_16 +#define bswap_16(a) ((((u16) (a) << 8) & 0xff00) | (((u16) (a) >> 8) & 0xff)) +#endif + +#ifndef bswap_32 +#define bswap_32(a) ((((u32) (a) << 24) & 0xff000000) | \ + (((u32) (a) << 8) & 0xff0000) | \ + (((u32) (a) >> 8) & 0xff00) | \ + (((u32) (a) >> 24) & 0xff)) +#endif + +#ifndef MSG_DONTWAIT +#define MSG_DONTWAIT 0 +#endif + +#ifdef _WIN32_WCE +void perror(const char *s); +#endif /* _WIN32_WCE */ + +#endif /* CONFIG_ANSI_C_EXTRA */ + +#ifndef MAC2STR +#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5] +#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x" +#endif + +#ifndef BIT +#define BIT(x) (1 << (x)) +#endif + +/* + * Definitions for sparse validation + * (http://kernel.org/pub/linux/kernel/people/josh/sparse/) + */ +#ifdef __CHECKER__ +#define __force __attribute__((force)) +#define __bitwise __attribute__((bitwise)) +#else +#define __force +#define __bitwise +#endif + +typedef u16 __bitwise be16; +typedef u16 __bitwise le16; +typedef u32 __bitwise be32; +typedef u32 __bitwise le32; +typedef u64 __bitwise be64; +typedef u64 __bitwise le64; + +#ifndef __must_check +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +#define __must_check __attribute__((__warn_unused_result__)) +#else +#define __must_check +#endif /* __GNUC__ */ +#endif /* __must_check */ + +int hwaddr_aton(const char *txt, u8 *addr); +int hwaddr_aton2(const char *txt, u8 *addr); +int hexstr2bin(const char *hex, u8 *buf, size_t len); +void inc_byte_array(u8 *counter, size_t len); +void wpa_get_ntp_timestamp(u8 *buf); +int wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data, size_t len); +int wpa_snprintf_hex_uppercase(char *buf, size_t buf_size, const u8 *data, + size_t len); + +#ifdef CONFIG_NATIVE_WINDOWS +void wpa_unicode2ascii_inplace(TCHAR *str); +TCHAR * wpa_strdup_tchar(const char *str); +#else /* CONFIG_NATIVE_WINDOWS */ +#define wpa_unicode2ascii_inplace(s) do { } while (0) +#define wpa_strdup_tchar(s) strdup((s)) +#endif /* CONFIG_NATIVE_WINDOWS */ + +const char * wpa_ssid_txt(const u8 *ssid, size_t ssid_len); + +static inline int is_zero_ether_addr(const u8 *a) +{ + return !(a[0] | a[1] | a[2] | a[3] | a[4] | a[5]); +} + +/* + * gcc 4.4 ends up generating strict-aliasing warnings about some very common + * networking socket uses that do not really result in a real problem and + * cannot be easily avoided with union-based type-punning due to struct + * definitions including another struct in system header files. To avoid having + * to fully disable strict-aliasing warnings, provide a mechanism to hide the + * typecast from aliasing for now. A cleaner solution will hopefully be found + * in the future to handle these cases. + */ +void * __hide_aliasing_typecast(void *foo); +#define aliasing_hide_typecast(a,t) (t *) __hide_aliasing_typecast((a)) + +#endif /* COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/crypto.h b/tools/sdk/include/wpa_supplicant/crypto/crypto.h new file mode 100644 index 00000000..f0b9f224 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/crypto.h @@ -0,0 +1,471 @@ +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + +#ifndef CRYPTO_H +#define CRYPTO_H + +/** + * md4_vector - MD4 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac); + +/** + * md5_vector - MD5 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac); + +#ifdef CONFIG_FIPS +/** + * md5_vector_non_fips_allow - MD5 hash for data vector (non-FIPS use allowed) + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int md5_vector_non_fips_allow(size_t num_elem, const u8 *addr[], + const size_t *len, u8 *mac); +#else /* CONFIG_FIPS */ +#define md5_vector_non_fips_allow md5_vector +#endif /* CONFIG_FIPS */ + + +/** + * sha1_vector - SHA-1 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * fips186_2-prf - NIST FIPS Publication 186-2 change notice 1 PRF + * @seed: Seed/key for the PRF + * @seed_len: Seed length in bytes + * @x: Buffer for PRF output + * @xlen: Output length in bytes + * Returns: 0 on success, -1 on failure + * + * This function implements random number generation specified in NIST FIPS + * Publication 186-2 for EAP-SIM. This PRF uses a function that is similar to + * SHA-1, but has different message padding. + */ +int __must_check fips186_2_prf(const u8 *seed, size_t seed_len, u8 *x, + size_t xlen); + +/** + * sha256_vector - SHA256 hash for data vector + * @num_elem: Number of elements in the data vector + * @addr: Pointers to the data areas + * @len: Lengths of the data blocks + * @mac: Buffer for the hash + * Returns: 0 on success, -1 on failure + */ +int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac); + +/** + * des_encrypt - Encrypt one block with DES + * @clear: 8 octets (in) + * @key: 7 octets (in) (no parity bits included) + * @cypher: 8 octets (out) + */ +void des_encrypt(const u8 *clear, const u8 *key, u8 *cypher); + +/** + * aes_encrypt_init - Initialize AES for encryption + * @key: Encryption key + * @len: Key length in bytes (usually 16, i.e., 128 bits) + * Returns: Pointer to context data or %NULL on failure + */ +void * aes_encrypt_init(const u8 *key, size_t len); + +/** + * aes_encrypt - Encrypt one AES block + * @ctx: Context pointer from aes_encrypt_init() + * @plain: Plaintext data to be encrypted (16 bytes) + * @crypt: Buffer for the encrypted data (16 bytes) + */ +void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt); + +/** + * aes_encrypt_deinit - Deinitialize AES encryption + * @ctx: Context pointer from aes_encrypt_init() + */ +void aes_encrypt_deinit(void *ctx); + +/** + * aes_decrypt_init - Initialize AES for decryption + * @key: Decryption key + * @len: Key length in bytes (usually 16, i.e., 128 bits) + * Returns: Pointer to context data or %NULL on failure + */ +void * aes_decrypt_init(const u8 *key, size_t len); + +/** + * aes_decrypt - Decrypt one AES block + * @ctx: Context pointer from aes_encrypt_init() + * @crypt: Encrypted data (16 bytes) + * @plain: Buffer for the decrypted data (16 bytes) + */ +void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain); + +/** + * aes_decrypt_deinit - Deinitialize AES decryption + * @ctx: Context pointer from aes_encrypt_init() + */ +void aes_decrypt_deinit(void *ctx); + + +enum crypto_hash_alg { + CRYPTO_HASH_ALG_MD5, CRYPTO_HASH_ALG_SHA1, + CRYPTO_HASH_ALG_HMAC_MD5, CRYPTO_HASH_ALG_HMAC_SHA1, + CRYPTO_HASH_ALG_SHA256, CRYPTO_HASH_ALG_HMAC_SHA256 +}; + + +struct crypto_hash; + +/** + * crypto_hash_init - Initialize hash/HMAC function + * @alg: Hash algorithm + * @key: Key for keyed hash (e.g., HMAC) or %NULL if not needed + * @key_len: Length of the key in bytes + * Returns: Pointer to hash context to use with other hash functions or %NULL + * on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const u8 *key, + size_t key_len); + +/** + * crypto_hash_update - Add data to hash calculation + * @ctx: Context pointer from crypto_hash_init() + * @data: Data buffer to add + * @len: Length of the buffer + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t len); + +/** + * crypto_hash_finish - Complete hash calculation + * @ctx: Context pointer from crypto_hash_init() + * @hash: Buffer for hash value or %NULL if caller is just freeing the hash + * context + * @len: Pointer to length of the buffer or %NULL if caller is just freeing the + * hash context; on return, this is set to the actual length of the hash value + * Returns: 0 on success, -1 if buffer is too small (len set to needed length), + * or -2 on other failures (including failed crypto_hash_update() operations) + * + * This function calculates the hash value and frees the context buffer that + * was used for hash calculation. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int crypto_hash_finish(struct crypto_hash *ctx, u8 *hash, size_t *len); + + +enum crypto_cipher_alg { + CRYPTO_CIPHER_NULL = 0, CRYPTO_CIPHER_ALG_AES, CRYPTO_CIPHER_ALG_3DES, + CRYPTO_CIPHER_ALG_DES, CRYPTO_CIPHER_ALG_RC2, CRYPTO_CIPHER_ALG_RC4 +}; + +struct crypto_cipher; + +/** + * crypto_cipher_init - Initialize block/stream cipher function + * @alg: Cipher algorithm + * @iv: Initialization vector for block ciphers or %NULL for stream ciphers + * @key: Cipher key + * @key_len: Length of key in bytes + * Returns: Pointer to cipher context to use with other cipher functions or + * %NULL on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg, + const u8 *iv, const u8 *key, + size_t key_len); + +/** + * crypto_cipher_encrypt - Cipher encrypt + * @ctx: Context pointer from crypto_cipher_init() + * @plain: Plaintext to cipher + * @crypt: Resulting ciphertext + * @len: Length of the plaintext + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_cipher_encrypt(struct crypto_cipher *ctx, + const u8 *plain, u8 *crypt, size_t len); + +/** + * crypto_cipher_decrypt - Cipher decrypt + * @ctx: Context pointer from crypto_cipher_init() + * @crypt: Ciphertext to decrypt + * @plain: Resulting plaintext + * @len: Length of the cipher text + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_cipher_decrypt(struct crypto_cipher *ctx, + const u8 *crypt, u8 *plain, size_t len); + +/** + * crypto_cipher_decrypt - Free cipher context + * @ctx: Context pointer from crypto_cipher_init() + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_cipher_deinit(struct crypto_cipher *ctx); + + +struct crypto_public_key; +struct crypto_private_key; + +/** + * crypto_public_key_import - Import an RSA public key + * @key: Key buffer (DER encoded RSA public key) + * @len: Key buffer length in bytes + * Returns: Pointer to the public key or %NULL on failure + * + * This function can just return %NULL if the crypto library supports X.509 + * parsing. In that case, crypto_public_key_from_cert() is used to import the + * public key from a certificate. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_public_key * crypto_public_key_import(const u8 *key, size_t len); + +/** + * crypto_private_key_import - Import an RSA private key + * @key: Key buffer (DER encoded RSA private key) + * @len: Key buffer length in bytes + * @passwd: Key encryption password or %NULL if key is not encrypted + * Returns: Pointer to the private key or %NULL on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_private_key * crypto_private_key_import(const u8 *key, + size_t len, + const char *passwd); + +/** + * crypto_public_key_from_cert - Import an RSA public key from a certificate + * @buf: DER encoded X.509 certificate + * @len: Certificate buffer length in bytes + * Returns: Pointer to public key or %NULL on failure + * + * This function can just return %NULL if the crypto library does not support + * X.509 parsing. In that case, internal code will be used to parse the + * certificate and public key is imported using crypto_public_key_import(). + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +struct crypto_public_key * crypto_public_key_from_cert(const u8 *buf, + size_t len); + +/** + * crypto_public_key_encrypt_pkcs1_v15 - Public key encryption (PKCS #1 v1.5) + * @key: Public key + * @in: Plaintext buffer + * @inlen: Length of plaintext buffer in bytes + * @out: Output buffer for encrypted data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_public_key_encrypt_pkcs1_v15( + struct crypto_public_key *key, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_private_key_decrypt_pkcs1_v15 - Private key decryption (PKCS #1 v1.5) + * @key: Private key + * @in: Encrypted buffer + * @inlen: Length of encrypted buffer in bytes + * @out: Output buffer for encrypted data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_private_key_decrypt_pkcs1_v15( + struct crypto_private_key *key, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_private_key_sign_pkcs1 - Sign with private key (PKCS #1) + * @key: Private key from crypto_private_key_import() + * @in: Plaintext buffer + * @inlen: Length of plaintext buffer in bytes + * @out: Output buffer for encrypted (signed) data + * @outlen: Length of output buffer in bytes; set to used length on success + * Returns: 0 on success, -1 on failure + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_private_key_sign_pkcs1(struct crypto_private_key *key, + const u8 *in, size_t inlen, + u8 *out, size_t *outlen); + +/** + * crypto_public_key_free - Free public key + * @key: Public key + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_public_key_free(struct crypto_public_key *key); + +/** + * crypto_private_key_free - Free private key + * @key: Private key from crypto_private_key_import() + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_private_key_free(struct crypto_private_key *key); + +/** + * crypto_public_key_decrypt_pkcs1 - Decrypt PKCS #1 signature + * @key: Public key + * @crypt: Encrypted signature data (using the private key) + * @crypt_len: Encrypted signature data length + * @plain: Buffer for plaintext (at least crypt_len bytes) + * @plain_len: Plaintext length (max buffer size on input, real len on output); + * Returns: 0 on success, -1 on failure + */ +int __must_check crypto_public_key_decrypt_pkcs1( + struct crypto_public_key *key, const u8 *crypt, size_t crypt_len, + u8 *plain, size_t *plain_len); + +/** + * crypto_global_init - Initialize crypto wrapper + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_global_init(void); + +/** + * crypto_global_deinit - Deinitialize crypto wrapper + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +void crypto_global_deinit(void); + +/** + * crypto_mod_exp - Modular exponentiation of large integers + * @base: Base integer (big endian byte array) + * @base_len: Length of base integer in bytes + * @power: Power integer (big endian byte array) + * @power_len: Length of power integer in bytes + * @modulus: Modulus integer (big endian byte array) + * @modulus_len: Length of modulus integer in bytes + * @result: Buffer for the result + * @result_len: Result length (max buffer size on input, real len on output) + * Returns: 0 on success, -1 on failure + * + * This function calculates result = base ^ power mod modulus. modules_len is + * used as the maximum size of modulus buffer. It is set to the used size on + * success. + * + * This function is only used with internal TLSv1 implementation + * (CONFIG_TLS=internal). If that is not used, the crypto wrapper does not need + * to implement this. + */ +int __must_check crypto_mod_exp(const u8 *base, size_t base_len, + const u8 *power, size_t power_len, + const u8 *modulus, size_t modulus_len, + u8 *result, size_t *result_len); + +/** + * rc4_skip - XOR RC4 stream to given data with skip-stream-start + * @key: RC4 key + * @keylen: RC4 key length + * @skip: number of bytes to skip from the beginning of the RC4 stream + * @data: data to be XOR'ed with RC4 stream + * @data_len: buf length + * Returns: 0 on success, -1 on failure + * + * Generate RC4 pseudo random stream for the given key, skip beginning of the + * stream, and XOR the end result with the data buffer to perform RC4 + * encryption/decryption. + */ +int rc4_skip(const u8 *key, size_t keylen, size_t skip, + u8 *data, size_t data_len); + +#endif /* CRYPTO_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/dh_group5.h b/tools/sdk/include/wpa_supplicant/crypto/dh_group5.h new file mode 100644 index 00000000..595f1114 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/dh_group5.h @@ -0,0 +1,23 @@ +/* + * Diffie-Hellman group 5 operations + * Copyright (c) 2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef DH_GROUP5_H +#define DH_GROUP5_H + +void * dh5_init(struct wpabuf **priv, struct wpabuf **publ); +struct wpabuf * dh5_derive_shared(void *ctx, const struct wpabuf *peer_public, + const struct wpabuf *own_private); +void dh5_free(void *ctx); + +#endif /* DH_GROUP5_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/dh_groups.h b/tools/sdk/include/wpa_supplicant/crypto/dh_groups.h new file mode 100644 index 00000000..5c61539b --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/dh_groups.h @@ -0,0 +1,32 @@ +/* + * Diffie-Hellman groups + * Copyright (c) 2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef DH_GROUPS_H +#define DH_GROUPS_H + +struct dh_group { + int id; + const u8 *generator; + size_t generator_len; + const u8 *prime; + size_t prime_len; +}; + +const struct dh_group * dh_groups_get(int id); +struct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv); +struct wpabuf * dh_derive_shared(const struct wpabuf *peer_public, + const struct wpabuf *own_private, + const struct dh_group *dh); + +#endif /* DH_GROUPS_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/includes.h b/tools/sdk/include/wpa_supplicant/crypto/includes.h new file mode 100644 index 00000000..dbc65759 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/includes.h @@ -0,0 +1,65 @@ +/* + * wpa_supplicant/hostapd - Default include files + * Copyright (c) 2005-2006, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This header file is included into all C files so that commonly used header + * files can be selected with OS specific ifdef blocks in one place instead of + * having to have OS/C library specific selection in many files. + */ + +#ifndef INCLUDES_H +#define INCLUDES_H + +/* Include possible build time configuration before including anything else */ +//#include "build_config.h" //don't need anymore +#ifndef __ets__ +#include +#include +#include +#include +#ifndef _WIN32_WCE +#ifndef CONFIG_TI_COMPILER +#include +#include +#endif /* CONFIG_TI_COMPILER */ +#include +#endif /* _WIN32_WCE */ +#include +#include + +#ifndef CONFIG_TI_COMPILER +#ifndef _MSC_VER +#include +#endif /* _MSC_VER */ +#endif /* CONFIG_TI_COMPILER */ + +#ifndef CONFIG_NATIVE_WINDOWS +#ifndef CONFIG_TI_COMPILER +//#include +//#include +//#include +#ifndef __vxworks +#ifndef __SYMBIAN32__ +//#include +#endif /* __SYMBIAN32__ */ +#include +#endif /* __vxworks */ +#endif /* CONFIG_TI_COMPILER */ +#endif /* CONFIG_NATIVE_WINDOWS */ + +#else + +#include "rom/ets_sys.h" + +#endif /* !__ets__ */ + +#endif /* INCLUDES_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/md5.h b/tools/sdk/include/wpa_supplicant/crypto/md5.h new file mode 100644 index 00000000..89525907 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/md5.h @@ -0,0 +1,35 @@ +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef MD5_H +#define MD5_H + +#define MD5_MAC_LEN 16 + +int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t data_len, + u8 *mac); +#ifdef CONFIG_FIPS +int hmac_md5_vector_non_fips_allow(const u8 *key, size_t key_len, + size_t num_elem, const u8 *addr[], + const size_t *len, u8 *mac); +int hmac_md5_non_fips_allow(const u8 *key, size_t key_len, const u8 *data, + size_t data_len, u8 *mac); +#else /* CONFIG_FIPS */ +#define hmac_md5_vector_non_fips_allow hmac_md5_vector +#define hmac_md5_non_fips_allow hmac_md5 +#endif /* CONFIG_FIPS */ + +#endif /* MD5_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/md5_i.h b/tools/sdk/include/wpa_supplicant/crypto/md5_i.h new file mode 100644 index 00000000..b7f65960 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/md5_i.h @@ -0,0 +1,29 @@ +/* + * MD5 internal definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef MD5_I_H +#define MD5_I_H + +struct MD5Context { + u32 buf[4]; + u32 bits[2]; + u8 in[64]; +}; + +void MD5Init(struct MD5Context *context); +void MD5Update(struct MD5Context *context, unsigned char const *buf, + unsigned len); +void MD5Final(unsigned char digest[16], struct MD5Context *context); + +#endif /* MD5_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/random.h b/tools/sdk/include/wpa_supplicant/crypto/random.h new file mode 100644 index 00000000..cbfa8773 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/random.h @@ -0,0 +1,34 @@ +/* + * Random number generator + * Copyright (c) 2010-2011, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef RANDOM_H +#define RANDOM_H + +#define CONFIG_NO_RANDOM_POOL + +#ifdef CONFIG_NO_RANDOM_POOL +#define random_init(e) do { } while (0) +#define random_deinit() do { } while (0) +#define random_add_randomness(b, l) do { } while (0) +#define random_get_bytes(b, l) os_get_random((b), (l)) +#define random_pool_ready() 1 +#define random_mark_pool_ready() do { } while (0) +#else /* CONFIG_NO_RANDOM_POOL */ +void random_init(const char *entropy_file); +void random_deinit(void); +void random_add_randomness(const void *buf, size_t len); +int random_get_bytes(void *buf, size_t len); +#endif /* CONFIG_NO_RANDOM_POOL */ + +#endif /* RANDOM_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/sha1.h b/tools/sdk/include/wpa_supplicant/crypto/sha1.h new file mode 100644 index 00000000..b3d186bd --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/sha1.h @@ -0,0 +1,33 @@ +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA1_H +#define SHA1_H + +#define SHA1_MAC_LEN 20 + +int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t data_len, + u8 *mac); +int sha1_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len); +int sha1_t_prf(const u8 *key, size_t key_len, const char *label, + const u8 *seed, size_t seed_len, u8 *buf, size_t buf_len); +//int __must_check tls_prf(const u8 *secret, size_t secret_len, +// const char *label, const u8 *seed, size_t seed_len, +// u8 *out, size_t outlen); +int pbkdf2_sha1(const char *passphrase, const char *ssid, size_t ssid_len, + int iterations, u8 *buf, size_t buflen); +#endif /* SHA1_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/sha1_i.h b/tools/sdk/include/wpa_supplicant/crypto/sha1_i.h new file mode 100644 index 00000000..ec2f82f7 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/sha1_i.h @@ -0,0 +1,29 @@ +/* + * SHA1 internal definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA1_I_H +#define SHA1_I_H + +struct SHA1Context { + u32 state[5]; + u32 count[2]; + unsigned char buffer[64]; +}; + +void SHA1Init(struct SHA1Context *context); +void SHA1Update(struct SHA1Context *context, const void *data, u32 len); +void SHA1Final(unsigned char digest[20], struct SHA1Context *context); +void SHA1Transform(u32 state[5], const unsigned char buffer[64]); + +#endif /* SHA1_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/crypto/sha256.h b/tools/sdk/include/wpa_supplicant/crypto/sha256.h new file mode 100644 index 00000000..dc597f09 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/crypto/sha256.h @@ -0,0 +1,27 @@ +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef SHA256_H +#define SHA256_H + +#define SHA256_MAC_LEN 32 + +void hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem, + const u8 *addr[], const size_t *len, u8 *mac); +void hmac_sha256(const u8 *key, size_t key_len, const u8 *data, + size_t data_len, u8 *mac); +void sha256_prf(const u8 *key, size_t key_len, const char *label, + const u8 *data, size_t data_len, u8 *buf, size_t buf_len); + +#endif /* SHA256_H */ diff --git a/tools/sdk/include/wpa_supplicant/endian.h b/tools/sdk/include/wpa_supplicant/endian.h new file mode 100644 index 00000000..e2df616b --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/endian.h @@ -0,0 +1,229 @@ +/*- + * Copyright (c) 2002 Thomas Moestl + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +#ifndef _ENDIAN_H_ +#define _ENDIAN_H_ + +#include "byteswap.h" + +#ifndef BIG_ENDIAN +#define BIG_ENDIAN 4321 +#endif +#ifndef LITTLE_ENDIAN +#define LITTLE_ENDIAN 1234 +#endif + +#ifndef BYTE_ORDER +#ifdef __IEEE_LITTLE_ENDIAN +#define BYTE_ORDER LITTLE_ENDIAN +#else +#define BYTE_ORDER BIG_ENDIAN +#endif +#endif + +#define _UINT8_T_DECLARED +#ifndef _UINT8_T_DECLARED +typedef __uint8_t uint8_t; +#define _UINT8_T_DECLARED +#endif + +#define _UINT16_T_DECLARED +#ifndef _UINT16_T_DECLARED +typedef __uint16_t uint16_t; +#define _UINT16_T_DECLARED +#endif + +#define _UINT32_T_DECLARED +#ifndef _UINT32_T_DECLARED +typedef __uint32_t uint32_t; +#define _UINT32_T_DECLARED +#endif + +#define _UINT64_T_DECLARED +#ifndef _UINT64_T_DECLARED +typedef __uint64_t uint64_t; +#define _UINT64_T_DECLARED +#endif + +/* + * General byte order swapping functions. + */ +#define bswap16(x) __bswap16(x) +#define bswap32(x) __bswap32(x) +#define bswap64(x) __bswap64(x) + +/* + * Host to big endian, host to little endian, big endian to host, and little + * endian to host byte order functions as detailed in byteorder(9). + */ +#if 1 //BYTE_ORDER == _LITTLE_ENDIAN +#define __bswap16 __bswap_16 +#define __bswap32 __bswap_32 +#define htobe16(x) bswap16((x)) +#define htobe32(x) bswap32((x)) +#define htobe64(x) bswap64((x)) +#define htole16(x) ((uint16_t)(x)) +#define htole32(x) ((uint32_t)(x)) +#define htole64(x) ((uint64_t)(x)) + +#define be16toh(x) bswap16((x)) +#define be32toh(x) bswap32((x)) +#define be64toh(x) bswap64((x)) +#define le16toh(x) ((uint16_t)(x)) +#define le32toh(x) ((uint32_t)(x)) +#define le64toh(x) ((uint64_t)(x)) + +#ifndef htons +#define htons htobe16 +#endif //htons + +#else /* _BYTE_ORDER != _LITTLE_ENDIAN */ +#define htobe16(x) ((uint16_t)(x)) +#define htobe32(x) ((uint32_t)(x)) +#define htobe64(x) ((uint64_t)(x)) +#define htole16(x) bswap16((x)) +#define htole32(x) bswap32((x)) +#define htole64(x) bswap64((x)) + +#define be16toh(x) ((uint16_t)(x)) +#define be32toh(x) ((uint32_t)(x)) +#define be64toh(x) ((uint64_t)(x)) +#define le16toh(x) bswap16((x)) +#define le32toh(x) bswap32((x)) +#define le64toh(x) bswap64((x)) +#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */ + +/* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ + +static INLINE uint16_t +be16dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return ((p[0] << 8) | p[1]); +} + +static INLINE uint32_t +be32dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return (((unsigned)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); +} + +static INLINE uint64_t +be64dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return (((uint64_t)be32dec(p) << 32) | be32dec(p + 4)); +} + +static INLINE uint16_t +le16dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return ((p[1] << 8) | p[0]); +} + +static INLINE uint32_t +le32dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return (((unsigned)p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]); +} + +static INLINE uint64_t +le64dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return (((uint64_t)le32dec(p + 4) << 32) | le32dec(p)); +} + +static INLINE void +be16enc(void *pp, uint16_t u) +{ + uint8_t *p = (uint8_t *)pp; + + p[0] = (u >> 8) & 0xff; + p[1] = u & 0xff; +} + +static INLINE void +be32enc(void *pp, uint32_t u) +{ + uint8_t *p = (uint8_t *)pp; + + p[0] = (u >> 24) & 0xff; + p[1] = (u >> 16) & 0xff; + p[2] = (u >> 8) & 0xff; + p[3] = u & 0xff; +} + +static INLINE void +be64enc(void *pp, uint64_t u) +{ + uint8_t *p = (uint8_t *)pp; + + be32enc(p, (uint32_t)(u >> 32)); + be32enc(p + 4, (uint32_t)(u & 0xffffffffU)); +} + +static INLINE void +le16enc(void *pp, uint16_t u) +{ + uint8_t *p = (uint8_t *)pp; + + p[0] = u & 0xff; + p[1] = (u >> 8) & 0xff; +} + +static INLINE void +le32enc(void *pp, uint32_t u) +{ + uint8_t *p = (uint8_t *)pp; + + p[0] = u & 0xff; + p[1] = (u >> 8) & 0xff; + p[2] = (u >> 16) & 0xff; + p[3] = (u >> 24) & 0xff; +} + +static INLINE void +le64enc(void *pp, uint64_t u) +{ + uint8_t *p = (uint8_t *)pp; + + le32enc(p, (uint32_t)(u & 0xffffffffU)); + le32enc(p + 4, (uint32_t)(u >> 32)); +} + +#endif /* _ENDIAN_H_ */ diff --git a/tools/sdk/include/wpa_supplicant/os.h b/tools/sdk/include/wpa_supplicant/os.h new file mode 100644 index 00000000..e6da894e --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/os.h @@ -0,0 +1,286 @@ +/* + * OS specific functions + * Copyright (c) 2005-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef OS_H +#define OS_H +#include "esp_types.h" +#include +#include +#include +#include "rom/ets_sys.h" +#include "lwip/mem.h" +typedef long os_time_t; + +/** + * os_sleep - Sleep (sec, usec) + * @sec: Number of seconds to sleep + * @usec: Number of microseconds to sleep + */ +void os_sleep(os_time_t sec, os_time_t usec); + +struct os_time { + os_time_t sec; + os_time_t usec; +}; + +/** + * os_get_time - Get current time (sec, usec) + * @t: Pointer to buffer for the time + * Returns: 0 on success, -1 on failure + */ +int os_get_time(struct os_time *t); + + +/* Helper macros for handling struct os_time */ + +#define os_time_before(a, b) \ + ((a)->sec < (b)->sec || \ + ((a)->sec == (b)->sec && (a)->usec < (b)->usec)) + +#define os_time_sub(a, b, res) do { \ + (res)->sec = (a)->sec - (b)->sec; \ + (res)->usec = (a)->usec - (b)->usec; \ + if ((res)->usec < 0) { \ + (res)->sec--; \ + (res)->usec += 1000000; \ + } \ +} while (0) + +/** + * os_mktime - Convert broken-down time into seconds since 1970-01-01 + * @year: Four digit year + * @month: Month (1 .. 12) + * @day: Day of month (1 .. 31) + * @hour: Hour (0 .. 23) + * @min: Minute (0 .. 59) + * @sec: Second (0 .. 60) + * @t: Buffer for returning calendar time representation (seconds since + * 1970-01-01 00:00:00) + * Returns: 0 on success, -1 on failure + * + * Note: The result is in seconds from Epoch, i.e., in UTC, not in local time + * which is used by POSIX mktime(). + */ +int os_mktime(int year, int month, int day, int hour, int min, int sec, + os_time_t *t); + + +/** + * os_daemonize - Run in the background (detach from the controlling terminal) + * @pid_file: File name to write the process ID to or %NULL to skip this + * Returns: 0 on success, -1 on failure + */ +int os_daemonize(const char *pid_file); + +/** + * os_daemonize_terminate - Stop running in the background (remove pid file) + * @pid_file: File name to write the process ID to or %NULL to skip this + */ +void os_daemonize_terminate(const char *pid_file); + +/** + * os_get_random - Get cryptographically strong pseudo random data + * @buf: Buffer for pseudo random data + * @len: Length of the buffer + * Returns: 0 on success, -1 on failure + */ +int os_get_random(unsigned char *buf, size_t len); + +/** + * os_random - Get pseudo random value (not necessarily very strong) + * Returns: Pseudo random value + */ +unsigned long os_random(void); + +/** + * os_rel2abs_path - Get an absolute path for a file + * @rel_path: Relative path to a file + * Returns: Absolute path for the file or %NULL on failure + * + * This function tries to convert a relative path of a file to an absolute path + * in order for the file to be found even if current working directory has + * changed. The returned value is allocated and caller is responsible for + * freeing it. It is acceptable to just return the same path in an allocated + * buffer, e.g., return strdup(rel_path). This function is only used to find + * configuration files when os_daemonize() may have changed the current working + * directory and relative path would be pointing to a different location. + */ +char * os_rel2abs_path(const char *rel_path); + +/** + * os_program_init - Program initialization (called at start) + * Returns: 0 on success, -1 on failure + * + * This function is called when a programs starts. If there are any OS specific + * processing that is needed, it can be placed here. It is also acceptable to + * just return 0 if not special processing is needed. + */ +int os_program_init(void); + +/** + * os_program_deinit - Program deinitialization (called just before exit) + * + * This function is called just before a program exists. If there are any OS + * specific processing, e.g., freeing resourced allocated in os_program_init(), + * it should be done here. It is also acceptable for this function to do + * nothing. + */ +void os_program_deinit(void); + +/** + * os_setenv - Set environment variable + * @name: Name of the variable + * @value: Value to set to the variable + * @overwrite: Whether existing variable should be overwritten + * Returns: 0 on success, -1 on error + * + * This function is only used for wpa_cli action scripts. OS wrapper does not + * need to implement this if such functionality is not needed. + */ +int os_setenv(const char *name, const char *value, int overwrite); + +/** + * os_unsetenv - Delete environent variable + * @name: Name of the variable + * Returns: 0 on success, -1 on error + * + * This function is only used for wpa_cli action scripts. OS wrapper does not + * need to implement this if such functionality is not needed. + */ +int os_unsetenv(const char *name); + +/** + * os_readfile - Read a file to an allocated memory buffer + * @name: Name of the file to read + * @len: For returning the length of the allocated buffer + * Returns: Pointer to the allocated buffer or %NULL on failure + * + * This function allocates memory and reads the given file to this buffer. Both + * binary and text files can be read with this function. The caller is + * responsible for freeing the returned buffer with os_free(). + */ +char * os_readfile(const char *name, size_t *len); + +/* + * The following functions are wrapper for standard ANSI C or POSIX functions. + * By default, they are just defined to use the standard function name and no + * os_*.c implementation is needed for them. This avoids extra function calls + * by allowing the C pre-processor take care of the function name mapping. + * + * If the target system uses a C library that does not provide these functions, + * build_config.h can be used to define the wrappers to use a different + * function name. This can be done on function-by-function basis since the + * defines here are only used if build_config.h does not define the os_* name. + * If needed, os_*.c file can be used to implement the functions that are not + * included in the C library on the target system. Alternatively, + * OS_NO_C_LIB_DEFINES can be defined to skip all defines here in which case + * these functions need to be implemented in os_*.c file for the target system. + */ + +#ifndef os_malloc +#define os_malloc(s) malloc((s)) +#endif +#ifndef os_realloc +#define os_realloc(p, s) realloc((p), (s)) +#endif +#ifndef os_zalloc +#define os_zalloc(s) calloc(1, (s)) +#endif +#ifndef os_free +#define os_free(p) free((p)) +#endif + + +#ifndef os_strdup +#ifdef _MSC_VER +#define os_strdup(s) _strdup(s) +#else +#define os_strdup(s) strdup(s) +#endif +#endif +char * ets_strdup(const char *s); + +#ifndef os_memcpy +#define os_memcpy(d, s, n) memcpy((d), (s), (n)) +#endif +#ifndef os_memmove +#define os_memmove(d, s, n) memmove((d), (s), (n)) +#endif +#ifndef os_memset +#define os_memset(s, c, n) memset(s, c, n) +#endif +#ifndef os_memcmp +#define os_memcmp(s1, s2, n) memcmp((s1), (s2), (n)) +#endif + +#ifndef os_strlen +#define os_strlen(s) strlen(s) +#endif +#ifndef os_strcasecmp +#ifdef _MSC_VER +#define os_strcasecmp(s1, s2) _stricmp((s1), (s2)) +#else +#define os_strcasecmp(s1, s2) strcasecmp((s1), (s2)) +#endif +#endif +#ifndef os_strncasecmp +#ifdef _MSC_VER +#define os_strncasecmp(s1, s2, n) _strnicmp((s1), (s2), (n)) +#else +#define os_strncasecmp(s1, s2, n) strncasecmp((s1), (s2), (n)) +#endif +#endif +#ifndef os_strchr +#define os_strchr(s, c) strchr((s), (c)) +#endif +#ifndef os_strcmp +#define os_strcmp(s1, s2) strcmp((s1), (s2)) +#endif +#ifndef os_strncmp +#define os_strncmp(s1, s2, n) strncmp((s1), (s2), (n)) +#endif +#ifndef os_strncpy +#define os_strncpy(d, s, n) strncpy((d), (s), (n)) +#endif +#ifndef os_strrchr +//hard cold +#define os_strrchr(s, c) NULL +#endif +#ifndef os_strstr +#define os_strstr(h, n) strstr((h), (n)) +#endif + +#ifndef os_snprintf +#ifdef _MSC_VER +#define os_snprintf _snprintf +#else +#define os_snprintf vsnprintf +#endif +#endif + +/** + * os_strlcpy - Copy a string with size bound and NUL-termination + * @dest: Destination + * @src: Source + * @siz: Size of the target buffer + * Returns: Total length of the target string (length of src) (not including + * NUL-termination) + * + * This function matches in behavior with the strlcpy(3) function in OpenBSD. + */ +size_t os_strlcpy(char *dest, const char *src, size_t siz); + + + +#endif /* OS_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/ap_config.h b/tools/sdk/include/wpa_supplicant/wpa/ap_config.h new file mode 100644 index 00000000..761becb4 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/ap_config.h @@ -0,0 +1,544 @@ +/* + * hostapd / Configuration definitions and helpers functions + * Copyright (c) 2003-2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef HOSTAPD_CONFIG_H +#define HOSTAPD_CONFIG_H + +#include "wpa/defs.h" +//#include "ip_addr.h" +#include "wpa/wpa_common.h" +//#include "common/ieee802_11_common.h" +//#include "wps/wps.h" + +#define MAX_STA_COUNT 4 +#define MAX_VLAN_ID 4094 + +typedef u8 macaddr[ETH_ALEN]; + +struct mac_acl_entry { + macaddr addr; + int vlan_id; +}; + +struct hostapd_radius_servers; +struct ft_remote_r0kh; +struct ft_remote_r1kh; + +#define HOSTAPD_MAX_SSID_LEN 32 + +#define NUM_WEP_KEYS 4 +struct hostapd_wep_keys { + u8 idx; + u8 *key[NUM_WEP_KEYS]; + size_t len[NUM_WEP_KEYS]; + int keys_set; + size_t default_len; /* key length used for dynamic key generation */ +}; + +typedef enum hostap_security_policy { + SECURITY_PLAINTEXT = 0, + SECURITY_STATIC_WEP = 1, + SECURITY_IEEE_802_1X = 2, + SECURITY_WPA_PSK = 3, + SECURITY_WPA = 4 +} secpolicy; + +struct hostapd_ssid { + u8 ssid[HOSTAPD_MAX_SSID_LEN]; + size_t ssid_len; + unsigned int ssid_set:1; + unsigned int utf8_ssid:1; + +// char vlan[IFNAMSIZ + 1]; +// secpolicy security_policy; + + struct hostapd_wpa_psk *wpa_psk; + char *wpa_passphrase; +// char *wpa_psk_file; + + struct hostapd_wep_keys wep; + +#if 0 +#define DYNAMIC_VLAN_DISABLED 0 +#define DYNAMIC_VLAN_OPTIONAL 1 +#define DYNAMIC_VLAN_REQUIRED 2 + int dynamic_vlan; +#define DYNAMIC_VLAN_NAMING_WITHOUT_DEVICE 0 +#define DYNAMIC_VLAN_NAMING_WITH_DEVICE 1 +#define DYNAMIC_VLAN_NAMING_END 2 + int vlan_naming; +#ifdef CONFIG_FULL_DYNAMIC_VLAN + char *vlan_tagged_interface; +#endif /* CONFIG_FULL_DYNAMIC_VLAN */ + struct hostapd_wep_keys **dyn_vlan_keys; + size_t max_dyn_vlan_keys; +#endif +}; + +#if 0 +#define VLAN_ID_WILDCARD -1 + +struct hostapd_vlan { + struct hostapd_vlan *next; + int vlan_id; /* VLAN ID or -1 (VLAN_ID_WILDCARD) for wildcard entry */ + char ifname[IFNAMSIZ + 1]; + int dynamic_vlan; +#ifdef CONFIG_FULL_DYNAMIC_VLAN + +#define DVLAN_CLEAN_BR 0x1 +#define DVLAN_CLEAN_VLAN 0x2 +#define DVLAN_CLEAN_VLAN_PORT 0x4 +#define DVLAN_CLEAN_WLAN_PORT 0x8 + int clean; +#endif /* CONFIG_FULL_DYNAMIC_VLAN */ +}; +#endif + +#define PMK_LEN 32 +struct hostapd_sta_wpa_psk_short { + struct hostapd_sta_wpa_psk_short *next; + u8 psk[PMK_LEN]; +}; + +struct hostapd_wpa_psk { + struct hostapd_wpa_psk *next; + int group; + u8 psk[PMK_LEN]; + u8 addr[ETH_ALEN]; +}; + +#if 0 +struct hostapd_eap_user { + struct hostapd_eap_user *next; + u8 *identity; + size_t identity_len; + struct { + int vendor; + u32 method; + } methods[EAP_MAX_METHODS]; + u8 *password; + size_t password_len; + int phase2; + int force_version; + unsigned int wildcard_prefix:1; + unsigned int password_hash:1; /* whether password is hashed with + * nt_password_hash() */ + int ttls_auth; /* EAP_TTLS_AUTH_* bitfield */ +}; + +struct hostapd_radius_attr { + u8 type; + struct wpabuf *val; + struct hostapd_radius_attr *next; +}; + + +#define NUM_TX_QUEUES 4 + +struct hostapd_tx_queue_params { + int aifs; + int cwmin; + int cwmax; + int burst; /* maximum burst time in 0.1 ms, i.e., 10 = 1 ms */ +}; + + +#define MAX_ROAMING_CONSORTIUM_LEN 15 + +struct hostapd_roaming_consortium { + u8 len; + u8 oi[MAX_ROAMING_CONSORTIUM_LEN]; +}; + +struct hostapd_lang_string { + u8 lang[3]; + u8 name_len; + u8 name[252]; +}; + +#define MAX_NAI_REALMS 10 +#define MAX_NAI_REALMLEN 255 +#define MAX_NAI_EAP_METHODS 5 +#define MAX_NAI_AUTH_TYPES 4 +struct hostapd_nai_realm_data { + u8 encoding; + char realm_buf[MAX_NAI_REALMLEN + 1]; + char *realm[MAX_NAI_REALMS]; + u8 eap_method_count; + struct hostapd_nai_realm_eap { + u8 eap_method; + u8 num_auths; + u8 auth_id[MAX_NAI_AUTH_TYPES]; + u8 auth_val[MAX_NAI_AUTH_TYPES]; + } eap_method[MAX_NAI_EAP_METHODS]; +}; +#endif + +/** + * struct hostapd_bss_config - Per-BSS configuration + */ +struct hostapd_bss_config { +// char iface[IFNAMSIZ + 1]; +// char bridge[IFNAMSIZ + 1]; +// char wds_bridge[IFNAMSIZ + 1]; + +// enum hostapd_logger_level logger_syslog_level, logger_stdout_level; + +// unsigned int logger_syslog; /* module bitfield */ +// unsigned int logger_stdout; /* module bitfield */ + +// char *dump_log_name; /* file name for state dump (SIGUSR1) */ + + int max_num_sta; /* maximum number of STAs in station table */ + + int dtim_period; + + int ieee802_1x; /* use IEEE 802.1X */ + int eapol_version; +// int eap_server; /* Use internal EAP server instead of external +// * RADIUS server */ +// struct hostapd_eap_user *eap_user; +// char *eap_user_sqlite; +// char *eap_sim_db; +// struct hostapd_ip_addr own_ip_addr; +// char *nas_identifier; +// struct hostapd_radius_servers *radius; +// int acct_interim_interval; +// int radius_request_cui; +// struct hostapd_radius_attr *radius_auth_req_attr; +// struct hostapd_radius_attr *radius_acct_req_attr; +// int radius_das_port; +// unsigned int radius_das_time_window; +// int radius_das_require_event_timestamp; +// struct hostapd_ip_addr radius_das_client_addr; +// u8 *radius_das_shared_secret; +// size_t radius_das_shared_secret_len; + + struct hostapd_ssid ssid; + +// char *eap_req_id_text; /* optional displayable message sent with +// * EAP Request-Identity */ +// size_t eap_req_id_text_len; +// int eapol_key_index_workaround; + +// size_t default_wep_key_len; +// int individual_wep_key_len; + int wep_rekeying_period; + int broadcast_key_idx_min, broadcast_key_idx_max; +// int eap_reauth_period; + +// int ieee802_11f; /* use IEEE 802.11f (IAPP) */ +// char iapp_iface[IFNAMSIZ + 1]; /* interface used with IAPP broadcast +// * frames */ + + enum { + ACCEPT_UNLESS_DENIED = 0, + DENY_UNLESS_ACCEPTED = 1, + USE_EXTERNAL_RADIUS_AUTH = 2 + } macaddr_acl; +// struct mac_acl_entry *accept_mac; +// int num_accept_mac; +// struct mac_acl_entry *deny_mac; +// int num_deny_mac; +// int wds_sta; +// int isolate; + + int auth_algs; /* bitfield of allowed IEEE 802.11 authentication + * algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */ + + int wpa; /* bitfield of WPA_PROTO_WPA, WPA_PROTO_RSN */ + int wpa_key_mgmt; +#ifdef CONFIG_IEEE80211W + enum mfp_options ieee80211w; + /* dot11AssociationSAQueryMaximumTimeout (in TUs) */ + unsigned int assoc_sa_query_max_timeout; + /* dot11AssociationSAQueryRetryTimeout (in TUs) */ + int assoc_sa_query_retry_timeout; +#endif /* CONFIG_IEEE80211W */ + enum { + PSK_RADIUS_IGNORED = 0, + PSK_RADIUS_ACCEPTED = 1, + PSK_RADIUS_REQUIRED = 2 + } wpa_psk_radius; + int wpa_pairwise; + int wpa_group; + int wpa_group_rekey; + int wpa_strict_rekey; + int wpa_gmk_rekey; + int wpa_ptk_rekey; + int rsn_pairwise; + int rsn_preauth; + char *rsn_preauth_interfaces; + int peerkey; + +#ifdef CONFIG_IEEE80211R + /* IEEE 802.11r - Fast BSS Transition */ + u8 mobility_domain[MOBILITY_DOMAIN_ID_LEN]; + u8 r1_key_holder[FT_R1KH_ID_LEN]; + u32 r0_key_lifetime; + u32 reassociation_deadline; + struct ft_remote_r0kh *r0kh_list; + struct ft_remote_r1kh *r1kh_list; + int pmk_r1_push; + int ft_over_ds; +#endif /* CONFIG_IEEE80211R */ + +// char *ctrl_interface; /* directory for UNIX domain sockets */ +#ifndef CONFIG_NATIVE_WINDOWS +// gid_t ctrl_interface_gid; +#endif /* CONFIG_NATIVE_WINDOWS */ +// int ctrl_interface_gid_set; + +// char *ca_cert; +// char *server_cert; +// char *private_key; +// char *private_key_passwd; +// int check_crl; +// char *dh_file; +// u8 *pac_opaque_encr_key; +// u8 *eap_fast_a_id; +// size_t eap_fast_a_id_len; +// char *eap_fast_a_id_info; +// int eap_fast_prov; +// int pac_key_lifetime; +// int pac_key_refresh_time; +// int eap_sim_aka_result_ind; +// int tnc; +// int fragment_size; +// u16 pwd_group; + +// char *radius_server_clients; +// int radius_server_auth_port; +// int radius_server_ipv6; + +// char *test_socket; /* UNIX domain socket path for driver_test */ + +// int use_pae_group_addr; /* Whether to send EAPOL frames to PAE group +// * address instead of individual address +// * (for driver_wired.c). +// */ + + int ap_max_inactivity; + int ignore_broadcast_ssid; + + int wmm_enabled; + int wmm_uapsd; + +// struct hostapd_vlan *vlan, *vlan_tail; + + macaddr bssid; + + /* + * Maximum listen interval that STAs can use when associating with this + * BSS. If a STA tries to use larger value, the association will be + * denied with status code 51. + */ + u16 max_listen_interval; + +// int disable_pmksa_caching; +// int okc; /* Opportunistic Key Caching */ + +// int wps_state; +#ifdef CONFIG_WPS + int ap_setup_locked; + u8 uuid[16]; + char *wps_pin_requests; + char *device_name; + char *manufacturer; + char *model_name; + char *model_number; + char *serial_number; + u8 device_type[WPS_DEV_TYPE_LEN]; + char *config_methods; + u8 os_version[4]; + char *ap_pin; + int skip_cred_build; + u8 *extra_cred; + size_t extra_cred_len; + int wps_cred_processing; + u8 *ap_settings; + size_t ap_settings_len; + char *upnp_iface; + char *friendly_name; + char *manufacturer_url; + char *model_description; + char *model_url; + char *upc; + struct wpabuf *wps_vendor_ext[MAX_WPS_VENDOR_EXTENSIONS]; + int wps_nfc_dev_pw_id; + struct wpabuf *wps_nfc_dh_pubkey; + struct wpabuf *wps_nfc_dh_privkey; + struct wpabuf *wps_nfc_dev_pw; +#endif /* CONFIG_WPS */ +// int pbc_in_m1; + +#define P2P_ENABLED BIT(0) +#define P2P_GROUP_OWNER BIT(1) +#define P2P_GROUP_FORMATION BIT(2) +#define P2P_MANAGE BIT(3) +#define P2P_ALLOW_CROSS_CONNECTION BIT(4) +// int p2p; + +// int disassoc_low_ack; +// int skip_inactivity_poll; + +#define TDLS_PROHIBIT BIT(0) +#define TDLS_PROHIBIT_CHAN_SWITCH BIT(1) +// int tdls; +// int disable_11n; +// int disable_11ac; + + /* IEEE 802.11v */ +// int time_advertisement; +// char *time_zone; +// int wnm_sleep_mode; +// int bss_transition; + + /* IEEE 802.11u - Interworking */ +// int interworking; +// int access_network_type; +// int internet; +// int asra; +// int esr; +// int uesa; +// int venue_info_set; +// u8 venue_group; +// u8 venue_type; +// u8 hessid[ETH_ALEN]; + + /* IEEE 802.11u - Roaming Consortium list */ +// unsigned int roaming_consortium_count; +// struct hostapd_roaming_consortium *roaming_consortium; + + /* IEEE 802.11u - Venue Name duples */ +// unsigned int venue_name_count; +// struct hostapd_lang_string *venue_name; + + /* IEEE 802.11u - Network Authentication Type */ +// u8 *network_auth_type; +// size_t network_auth_type_len; + + /* IEEE 802.11u - IP Address Type Availability */ +// u8 ipaddr_type_availability; +// u8 ipaddr_type_configured; + + /* IEEE 802.11u - 3GPP Cellular Network */ +// u8 *anqp_3gpp_cell_net; +// size_t anqp_3gpp_cell_net_len; + + /* IEEE 802.11u - Domain Name */ +// u8 *domain_name; +// size_t domain_name_len; + +// unsigned int nai_realm_count; +// struct hostapd_nai_realm_data *nai_realm_data; + +// u16 gas_comeback_delay; +// int gas_frag_limit; + +#ifdef CONFIG_HS20 + int hs20; + int disable_dgaf; + unsigned int hs20_oper_friendly_name_count; + struct hostapd_lang_string *hs20_oper_friendly_name; + u8 *hs20_wan_metrics; + u8 *hs20_connection_capability; + size_t hs20_connection_capability_len; + u8 *hs20_operating_class; + u8 hs20_operating_class_len; +#endif /* CONFIG_HS20 */ + +// u8 wps_rf_bands; /* RF bands for WPS (WPS_RF_*) */ + +#ifdef CONFIG_RADIUS_TEST + char *dump_msk_file; +#endif /* CONFIG_RADIUS_TEST */ + +// struct wpabuf *vendor_elements; +}; + + +/** + * struct hostapd_config - Per-radio interface configuration + */ +struct hostapd_config { + struct hostapd_bss_config *bss, *last_bss; + size_t num_bss; + + u16 beacon_int; + int rts_threshold; + int fragm_threshold; + u8 send_probe_response; + u8 channel; + enum hostapd_hw_mode hw_mode; /* HOSTAPD_MODE_IEEE80211A, .. */ + enum { + LONG_PREAMBLE = 0, + SHORT_PREAMBLE = 1 + } preamble; + + int *supported_rates; + int *basic_rates; + + const struct wpa_driver_ops *driver; + + int ap_table_max_size; + int ap_table_expiration_time; + + char country[3]; /* first two octets: country code as described in + * ISO/IEC 3166-1. Third octet: + * ' ' (ascii 32): all environments + * 'O': Outdoor environemnt only + * 'I': Indoor environment only + */ + + int ieee80211d; + +// struct hostapd_tx_queue_params tx_queue[NUM_TX_QUEUES]; + + /* + * WMM AC parameters, in same order as 802.1D, i.e. + * 0 = BE (best effort) + * 1 = BK (background) + * 2 = VI (video) + * 3 = VO (voice) + */ +// struct hostapd_wmm_ac_params wmm_ac_params[4]; + + int ht_op_mode_fixed; + u16 ht_capab; + int ieee80211n; + int secondary_channel; + int require_ht; + u32 vht_capab; + int ieee80211ac; + int require_vht; + u8 vht_oper_chwidth; + u8 vht_oper_centr_freq_seg0_idx; + u8 vht_oper_centr_freq_seg1_idx; +}; + + +int hostapd_mac_comp(const void *a, const void *b); +int hostapd_mac_comp_empty(const void *a); +struct hostapd_config * hostapd_config_defaults(void); +void hostapd_config_defaults_bss(struct hostapd_bss_config *bss); +void hostapd_config_free(struct hostapd_config *conf); +int hostapd_maclist_found(struct mac_acl_entry *list, int num_entries, + const u8 *addr, int *vlan_id); +int hostapd_rate_found(int *list, int rate); +int hostapd_wep_key_cmp(struct hostapd_wep_keys *a, + struct hostapd_wep_keys *b); +const u8 * hostapd_get_psk(const struct hostapd_bss_config *conf, + const u8 *addr, const u8 *prev_psk); +int hostapd_setup_wpa_psk(struct hostapd_bss_config *conf); +//const char * hostapd_get_vlan_id_ifname(struct hostapd_vlan *vlan, +// int vlan_id); +//struct hostapd_radius_attr * +//hostapd_config_get_radius_attr(struct hostapd_radius_attr *attr, u8 type); + +#endif /* HOSTAPD_CONFIG_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/common.h b/tools/sdk/include/wpa_supplicant/wpa/common.h new file mode 100644 index 00000000..ca80c239 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/common.h @@ -0,0 +1,324 @@ +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef COMMON_H +#define COMMON_H + +#if defined(__ets__) +#endif /* ets */ +#include "os.h" + +#if defined(__XTENSA__) +#include +#define __BYTE_ORDER BYTE_ORDER +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#define __BIG_ENDIAN BIG_ENDIAN +#endif /*__XTENSA__*/ + +#if defined(__linux__) || defined(__GLIBC__) || defined(__ets__) +#include +#include +#endif /* __linux__ */ + +/* Define platform specific byte swapping macros */ + +#if defined(__CYGWIN__) || defined(CONFIG_NATIVE_WINDOWS) + +static inline unsigned short wpa_swap_16(unsigned short v) +{ + return ((v & 0xff) << 8) | (v >> 8); +} + +static inline unsigned int wpa_swap_32(unsigned int v) +{ + return ((v & 0xff) << 24) | ((v & 0xff00) << 8) | + ((v & 0xff0000) >> 8) | (v >> 24); +} + +#define le_to_host16(n) (n) +#define host_to_le16(n) (n) +#define be_to_host16(n) wpa_swap_16(n) +#define host_to_be16(n) wpa_swap_16(n) +#define le_to_host32(n) (n) +#define be_to_host32(n) wpa_swap_32(n) +#define host_to_be32(n) wpa_swap_32(n) + +#define WPA_BYTE_SWAP_DEFINED + +#endif /* __CYGWIN__ || CONFIG_NATIVE_WINDOWS */ + + +#ifndef WPA_BYTE_SWAP_DEFINED + +#ifndef __BYTE_ORDER +#ifndef __LITTLE_ENDIAN +#ifndef __BIG_ENDIAN +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#if defined(sparc) +#define __BYTE_ORDER __BIG_ENDIAN +#endif +#endif /* __BIG_ENDIAN */ +#endif /* __LITTLE_ENDIAN */ +#endif /* __BYTE_ORDER */ + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define le_to_host16(n) ((__force u16) (le16) (n)) +#define host_to_le16(n) ((__force le16) (u16) (n)) +#define be_to_host16(n) __bswap_16((__force u16) (be16) (n)) +#define host_to_be16(n) ((__force be16) __bswap_16((n))) +#define le_to_host32(n) ((__force u32) (le32) (n)) +#define host_to_le32(n) ((__force le32) (u32) (n)) +#define be_to_host32(n) __bswap_32((__force u32) (be32) (n)) +#define host_to_be32(n) ((__force be32) __bswap_32((n))) +#define le_to_host64(n) ((__force u64) (le64) (n)) +#define host_to_le64(n) ((__force le64) (u64) (n)) +#define be_to_host64(n) __bswap_64((__force u64) (be64) (n)) +#define host_to_be64(n) ((__force be64) bswap_64((n))) +#elif __BYTE_ORDER == __BIG_ENDIAN +#define le_to_host16(n) __bswap_16(n) +#define host_to_le16(n) __bswap_16(n) +#define be_to_host16(n) (n) +#define host_to_be16(n) (n) +#define le_to_host32(n) __bswap_32(n) +#define be_to_host32(n) (n) +#define host_to_be32(n) (n) +#define le_to_host64(n) __bswap_64(n) +#define host_to_le64(n) __bswap_64(n) +#define be_to_host64(n) (n) +#define host_to_be64(n) (n) +#ifndef WORDS_BIGENDIAN +#define WORDS_BIGENDIAN +#endif +#else +#error Could not determine CPU byte order +#endif + +#define WPA_BYTE_SWAP_DEFINED +#endif /* !WPA_BYTE_SWAP_DEFINED */ + + +/* Macros for handling unaligned memory accesses */ + +#define WPA_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1])) +#define WPA_PUT_BE16(a, val) \ + do { \ + (a)[0] = ((u16) (val)) >> 8; \ + (a)[1] = ((u16) (val)) & 0xff; \ + } while (0) + +#define WPA_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0])) +#define WPA_PUT_LE16(a, val) \ + do { \ + (a)[1] = ((u16) (val)) >> 8; \ + (a)[0] = ((u16) (val)) & 0xff; \ + } while (0) + +#define WPA_GET_BE24(a) ((((u32) (a)[0]) << 16) | (((u32) (a)[1]) << 8) | \ + ((u32) (a)[2])) +#define WPA_PUT_BE24(a, val) \ + do { \ + (a)[0] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[2] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_BE32(a) ((((u32) (a)[0]) << 24) | (((u32) (a)[1]) << 16) | \ + (((u32) (a)[2]) << 8) | ((u32) (a)[3])) +#define WPA_PUT_BE32(a, val) \ + do { \ + (a)[0] = (u8) ((((u32) (val)) >> 24) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[2] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[3] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_LE32(a) ((((u32) (a)[3]) << 24) | (((u32) (a)[2]) << 16) | \ + (((u32) (a)[1]) << 8) | ((u32) (a)[0])) +#define WPA_PUT_LE32(a, val) \ + do { \ + (a)[3] = (u8) ((((u32) (val)) >> 24) & 0xff); \ + (a)[2] = (u8) ((((u32) (val)) >> 16) & 0xff); \ + (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \ + (a)[0] = (u8) (((u32) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_BE64(a) ((((u64) (a)[0]) << 56) | (((u64) (a)[1]) << 48) | \ + (((u64) (a)[2]) << 40) | (((u64) (a)[3]) << 32) | \ + (((u64) (a)[4]) << 24) | (((u64) (a)[5]) << 16) | \ + (((u64) (a)[6]) << 8) | ((u64) (a)[7])) +#define WPA_PUT_BE64(a, val) \ + do { \ + (a)[0] = (u8) (((u64) (val)) >> 56); \ + (a)[1] = (u8) (((u64) (val)) >> 48); \ + (a)[2] = (u8) (((u64) (val)) >> 40); \ + (a)[3] = (u8) (((u64) (val)) >> 32); \ + (a)[4] = (u8) (((u64) (val)) >> 24); \ + (a)[5] = (u8) (((u64) (val)) >> 16); \ + (a)[6] = (u8) (((u64) (val)) >> 8); \ + (a)[7] = (u8) (((u64) (val)) & 0xff); \ + } while (0) + +#define WPA_GET_LE64(a) ((((u64) (a)[7]) << 56) | (((u64) (a)[6]) << 48) | \ + (((u64) (a)[5]) << 40) | (((u64) (a)[4]) << 32) | \ + (((u64) (a)[3]) << 24) | (((u64) (a)[2]) << 16) | \ + (((u64) (a)[1]) << 8) | ((u64) (a)[0])) + + +#ifndef ETH_ALEN +#define ETH_ALEN 6 +#endif +//#ifndef IFNAMSIZ +//#define IFNAMSIZ 16 +//#endif +#ifndef ETH_P_ALL +#define ETH_P_ALL 0x0003 +#endif +#ifndef ETH_P_PAE +#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */ +#endif /* ETH_P_PAE */ +#ifndef ETH_P_EAPOL +#define ETH_P_EAPOL ETH_P_PAE +#endif /* ETH_P_EAPOL */ +#ifndef ETH_P_RSN_PREAUTH +#define ETH_P_RSN_PREAUTH 0x88c7 +#endif /* ETH_P_RSN_PREAUTH */ +#ifndef ETH_P_RRB +#define ETH_P_RRB 0x890D +#endif /* ETH_P_RRB */ + + +#ifdef __GNUC__ +#define PRINTF_FORMAT(a,b) __attribute__ ((format (printf, (a), (b)))) +#define STRUCT_PACKED __attribute__ ((packed)) +#else +#define PRINTF_FORMAT(a,b) +#define STRUCT_PACKED +#endif + +#ifdef CONFIG_ANSI_C_EXTRA + +/* inline - define as __inline or just define it to be empty, if needed */ +#ifdef CONFIG_NO_INLINE +#define inline +#else +#define inline __inline +#endif + +#ifndef __func__ +#define __func__ "__func__ not defined" +#endif + +#ifndef bswap_16 +#define bswap_16(a) ((((u16) (a) << 8) & 0xff00) | (((u16) (a) >> 8) & 0xff)) +#endif + +#ifndef bswap_32 +#define bswap_32(a) ((((u32) (a) << 24) & 0xff000000) | \ + (((u32) (a) << 8) & 0xff0000) | \ + (((u32) (a) >> 8) & 0xff00) | \ + (((u32) (a) >> 24) & 0xff)) +#endif + +#ifndef MSG_DONTWAIT +#define MSG_DONTWAIT 0 +#endif + +#ifdef _WIN32_WCE +void perror(const char *s); +#endif /* _WIN32_WCE */ + +#endif /* CONFIG_ANSI_C_EXTRA */ + +#ifndef MAC2STR +#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5] +#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x" +#endif + +#ifndef BIT +#define BIT(x) (1 << (x)) +#endif + +/* + * Definitions for sparse validation + * (http://kernel.org/pub/linux/kernel/people/josh/sparse/) + */ +#ifdef __CHECKER__ +#define __force __attribute__((force)) +#define __bitwise __attribute__((bitwise)) +#else +#define __force +#define __bitwise +#endif + +typedef u16 __bitwise be16; +typedef u16 __bitwise le16; +typedef u32 __bitwise be32; +typedef u32 __bitwise le32; +typedef u64 __bitwise be64; +typedef u64 __bitwise le64; + +#ifndef __must_check +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +#define __must_check __attribute__((__warn_unused_result__)) +#else +#define __must_check +#endif /* __GNUC__ */ +#endif /* __must_check */ + +int hwaddr_aton(const char *txt, u8 *addr); +int hwaddr_aton2(const char *txt, u8 *addr); +int hexstr2bin(const char *hex, u8 *buf, size_t len); +void inc_byte_array(u8 *counter, size_t len); +void wpa_get_ntp_timestamp(u8 *buf); +int wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data, size_t len); +int wpa_snprintf_hex_uppercase(char *buf, size_t buf_size, const u8 *data, + size_t len); + +#ifdef CONFIG_NATIVE_WINDOWS +void wpa_unicode2ascii_inplace(TCHAR *str); +TCHAR * wpa_strdup_tchar(const char *str); +#else /* CONFIG_NATIVE_WINDOWS */ +#define wpa_unicode2ascii_inplace(s) do { } while (0) +#define wpa_strdup_tchar(s) strdup((s)) +#endif /* CONFIG_NATIVE_WINDOWS */ + +const char * wpa_ssid_txt(const u8 *ssid, size_t ssid_len); +char * wpa_config_parse_string(const char *value, size_t *len); + +static inline int is_zero_ether_addr(const u8 *a) +{ + return !(a[0] | a[1] | a[2] | a[3] | a[4] | a[5]); +} + +extern const struct eth_addr ethbroadcast; +#define broadcast_ether_addr ðbroadcast + +#include "wpabuf.h" +#include "wpa_debug.h" + + +/* + * gcc 4.4 ends up generating strict-aliasing warnings about some very common + * networking socket uses that do not really result in a real problem and + * cannot be easily avoided with union-based type-punning due to struct + * definitions including another struct in system header files. To avoid having + * to fully disable strict-aliasing warnings, provide a mechanism to hide the + * typecast from aliasing for now. A cleaner solution will hopefully be found + * in the future to handle these cases. + */ +void * __hide_aliasing_typecast(void *foo); +#define aliasing_hide_typecast(a,t) (t *) __hide_aliasing_typecast((a)) + +#endif /* COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/defs.h b/tools/sdk/include/wpa_supplicant/wpa/defs.h new file mode 100644 index 00000000..f019cee9 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/defs.h @@ -0,0 +1,307 @@ +/* + * WPA Supplicant - Common definitions + * Copyright (c) 2004-2008, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef DEFS_H +#define DEFS_H + +#ifdef FALSE +#undef FALSE +#endif +#ifdef TRUE +#undef TRUE +#endif +typedef enum { FALSE = 0, TRUE = 1 } Boolean; + +/* +#define WPA_CIPHER_NONE BIT(0) +#define WPA_CIPHER_WEP40 BIT(1) +#define WPA_CIPHER_WEP104 BIT(2) +#define WPA_CIPHER_TKIP BIT(3) +#define WPA_CIPHER_CCMP BIT(4) +#ifdef CONFIG_IEEE80211W +#define WPA_CIPHER_AES_128_CMAC BIT(5) +#endif +*/ + +/* + * NB: these values are ordered carefully; there are lots of + * of implications in any reordering. Beware that 4 is used + * only to indicate h/w TKIP MIC support in driver capabilities; + * there is no separate cipher support (it's rolled into the + * TKIP cipher support). + */ +#define IEEE80211_CIPHER_NONE 0 /* pseudo value */ +#define IEEE80211_CIPHER_TKIP 1 +#define IEEE80211_CIPHER_AES_OCB 2 +#define IEEE80211_CIPHER_AES_CCM 3 +#define IEEE80211_CIPHER_TKIPMIC 4 /* TKIP MIC capability */ +#define IEEE80211_CIPHER_CKIP 5 +#define IEEE80211_CIPHER_WEP 6 +#define IEEE80211_CIPHER_WEP40 7 +#define IEEE80211_CIPHER_WEP104 8 + + +#define IEEE80211_CIPHER_MAX (IEEE80211_CIPHER_NONE+2) + +/* capability bits in ic_cryptocaps/iv_cryptocaps */ +#define IEEE80211_CRYPTO_NONE (1<wpa_state). The current state can be retrieved with + * wpa_supplicant_get_state() function and the state can be changed by calling + * wpa_supplicant_set_state(). In WPA state machine (wpa.c and preauth.c), the + * wrapper functions wpa_sm_get_state() and wpa_sm_set_state() should be used + * to access the state variable. + */ +enum wpa_states { + /** + * WPA_DISCONNECTED - Disconnected state + * + * This state indicates that client is not associated, but is likely to + * start looking for an access point. This state is entered when a + * connection is lost. + */ + WPA_DISCONNECTED, + + /** + * WPA_INACTIVE - Inactive state (wpa_supplicant disabled) + * + * This state is entered if there are no enabled networks in the + * configuration. wpa_supplicant is not trying to associate with a new + * network and external interaction (e.g., ctrl_iface call to add or + * enable a network) is needed to start association. + */ + WPA_INACTIVE, + + /** + * WPA_SCANNING - Scanning for a network + * + * This state is entered when wpa_supplicant starts scanning for a + * network. + */ + WPA_SCANNING, + + /** + * WPA_AUTHENTICATING - Trying to authenticate with a BSS/SSID + * + * This state is entered when wpa_supplicant has found a suitable BSS + * to authenticate with and the driver is configured to try to + * authenticate with this BSS. This state is used only with drivers + * that use wpa_supplicant as the SME. + */ + WPA_AUTHENTICATING, + + /** + * WPA_ASSOCIATING - Trying to associate with a BSS/SSID + * + * This state is entered when wpa_supplicant has found a suitable BSS + * to associate with and the driver is configured to try to associate + * with this BSS in ap_scan=1 mode. When using ap_scan=2 mode, this + * state is entered when the driver is configured to try to associate + * with a network using the configured SSID and security policy. + */ + WPA_ASSOCIATING, + + /** + * WPA_ASSOCIATED - Association completed + * + * This state is entered when the driver reports that association has + * been successfully completed with an AP. If IEEE 802.1X is used + * (with or without WPA/WPA2), wpa_supplicant remains in this state + * until the IEEE 802.1X/EAPOL authentication has been completed. + */ + WPA_ASSOCIATED, + + /** + * WPA_4WAY_HANDSHAKE - WPA 4-Way Key Handshake in progress + * + * This state is entered when WPA/WPA2 4-Way Handshake is started. In + * case of WPA-PSK, this happens when receiving the first EAPOL-Key + * frame after association. In case of WPA-EAP, this state is entered + * when the IEEE 802.1X/EAPOL authentication has been completed. + */ + WPA_FIRST_HALF_4WAY_HANDSHAKE, + + WPA_LAST_HALF_4WAY_HANDSHAKE, + + /** + * WPA_GROUP_HANDSHAKE - WPA Group Key Handshake in progress + * + * This state is entered when 4-Way Key Handshake has been completed + * (i.e., when the supplicant sends out message 4/4) and when Group + * Key rekeying is started by the AP (i.e., when supplicant receives + * message 1/2). + */ + WPA_GROUP_HANDSHAKE, + + /** + * WPA_COMPLETED - All authentication completed + * + * This state is entered when the full authentication process is + * completed. In case of WPA2, this happens when the 4-Way Handshake is + * successfully completed. With WPA, this state is entered after the + * Group Key Handshake; with IEEE 802.1X (non-WPA) connection is + * completed after dynamic keys are received (or if not used, after + * the EAP authentication has been completed). With static WEP keys and + * plaintext connections, this state is entered when an association + * has been completed. + * + * This state indicates that the supplicant has completed its + * processing for the association phase and that data connection is + * fully configured. + */ + WPA_COMPLETED, + + WPA_MIC_FAILURE, // first mic_error event occur + + WPA_TKIP_COUNTERMEASURES //in countermeasure period that stop connect with ap in 60 sec +}; + +#define MLME_SETPROTECTION_PROTECT_TYPE_NONE 0 +#define MLME_SETPROTECTION_PROTECT_TYPE_RX 1 +#define MLME_SETPROTECTION_PROTECT_TYPE_TX 2 +#define MLME_SETPROTECTION_PROTECT_TYPE_RX_TX 3 + +#define MLME_SETPROTECTION_KEY_TYPE_GROUP 0 +#define MLME_SETPROTECTION_KEY_TYPE_PAIRWISE 1 + +/** + * enum hostapd_hw_mode - Hardware mode + */ +enum hostapd_hw_mode { + HOSTAPD_MODE_IEEE80211B, + HOSTAPD_MODE_IEEE80211G, + HOSTAPD_MODE_IEEE80211A, + HOSTAPD_MODE_IEEE80211AD, + NUM_HOSTAPD_MODES +}; + +#endif /* DEFS_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/eapol_common.h b/tools/sdk/include/wpa_supplicant/wpa/eapol_common.h new file mode 100644 index 00000000..6a40ac33 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/eapol_common.h @@ -0,0 +1,71 @@ +/* + * EAPOL definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef EAPOL_COMMON_H +#define EAPOL_COMMON_H + +/* IEEE Std 802.1X-2004 */ + +struct ieee802_1x_hdr { + u8 version; + u8 type; + be16 length; + /* followed by length octets of data */ +} STRUCT_PACKED; + + +#define EAPOL_VERSION 2 + +enum { IEEE802_1X_TYPE_EAP_PACKET = 0, + IEEE802_1X_TYPE_EAPOL_START = 1, + IEEE802_1X_TYPE_EAPOL_LOGOFF = 2, + IEEE802_1X_TYPE_EAPOL_KEY = 3, + IEEE802_1X_TYPE_EAPOL_ENCAPSULATED_ASF_ALERT = 4 +}; + +enum { EAPOL_KEY_TYPE_RC4 = 1, EAPOL_KEY_TYPE_RSN = 2, + EAPOL_KEY_TYPE_WPA = 254 }; + +#define IEEE8021X_REPLAY_COUNTER_LEN 8 +#define IEEE8021X_KEY_SIGN_LEN 16 +#define IEEE8021X_KEY_IV_LEN 16 + +#define IEEE8021X_KEY_INDEX_FLAG 0x80 +#define IEEE8021X_KEY_INDEX_MASK 0x03 + +struct ieee802_1x_eapol_key { + u8 type; + /* Note: key_length is unaligned */ + u8 key_length[2]; + /* does not repeat within the life of the keying material used to + * encrypt the Key field; 64-bit NTP timestamp MAY be used here */ + u8 replay_counter[IEEE8021X_REPLAY_COUNTER_LEN]; + u8 key_iv[IEEE8021X_KEY_IV_LEN]; /* cryptographically random number */ + u8 key_index; /* key flag in the most significant bit: + * 0 = broadcast (default key), + * 1 = unicast (key mapping key); key index is in the + * 7 least significant bits */ + /* HMAC-MD5 message integrity check computed with MS-MPPE-Send-Key as + * the key */ + u8 key_signature[IEEE8021X_KEY_SIGN_LEN]; + + /* followed by key: if packet body length = 44 + key length, then the + * key field (of key_length bytes) contains the key in encrypted form; + * if packet body length = 44, key field is absent and key_length + * represents the number of least significant octets from + * MS-MPPE-Send-Key attribute to be used as the keying material; + * RC4 key used in encryption = Key-IV + MS-MPPE-Recv-Key */ +} STRUCT_PACKED; + +#endif /* EAPOL_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/hostapd.h b/tools/sdk/include/wpa_supplicant/wpa/hostapd.h new file mode 100644 index 00000000..1d52659a --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/hostapd.h @@ -0,0 +1,312 @@ +/* + * hostapd / Initialization and configuration + * Copyright (c) 2002-2009, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef HOSTAPD_H +#define HOSTAPD_H + +#include "wpa/defs.h" +#include "wpa/ap_config.h" + +struct wpa_driver_ops; +struct wpa_ctrl_dst; +struct radius_server_data; +struct upnp_wps_device_sm; +struct hostapd_data; +struct sta_info; +struct hostap_sta_driver_data; +struct ieee80211_ht_capabilities; +struct full_dynamic_vlan; +enum wps_event; +union wps_event_data; + +struct hostapd_iface; + +struct hapd_interfaces { + int (*reload_config)(struct hostapd_iface *iface); + struct hostapd_config * (*config_read_cb)(const char *config_fname); + int (*ctrl_iface_init)(struct hostapd_data *hapd); + void (*ctrl_iface_deinit)(struct hostapd_data *hapd); + int (*for_each_interface)(struct hapd_interfaces *interfaces, + int (*cb)(struct hostapd_iface *iface, + void *ctx), void *ctx); + int (*driver_init)(struct hostapd_iface *iface); + + size_t count; + int global_ctrl_sock; + char *global_iface_path; + char *global_iface_name; + struct hostapd_iface **iface; +}; + + +struct hostapd_probereq_cb { + int (*cb)(void *ctx, const u8 *sa, const u8 *da, const u8 *bssid, + const u8 *ie, size_t ie_len, int ssi_signal); + void *ctx; +}; + +#define HOSTAPD_RATE_BASIC 0x00000001 + +struct hostapd_rate_data { + int rate; /* rate in 100 kbps */ + int flags; /* HOSTAPD_RATE_ flags */ +}; + +struct hostapd_frame_info { + u32 channel; + u32 datarate; + int ssi_signal; /* dBm */ +}; + + +/** + * struct hostapd_data - hostapd per-BSS data structure + */ +struct hostapd_data { +// struct hostapd_iface *iface; + struct hostapd_config *iconf; + struct hostapd_bss_config *conf; + int interface_added; /* virtual interface added for this BSS */ + + u8 own_addr[ETH_ALEN]; + + int num_sta; /* number of entries in sta_list */ +// struct sta_info *sta_list; /* STA info list head */ +//#define STA_HASH_SIZE 256 +//#define STA_HASH(sta) (sta[5]) +// struct sta_info *sta_hash[STA_HASH_SIZE]; + +// /* +// * Bitfield for indicating which AIDs are allocated. Only AID values +// * 1-2007 are used and as such, the bit at index 0 corresponds to AID +// * 1. +// */ +//#define AID_WORDS ((2008 + 31) / 32) +// u32 sta_aid[AID_WORDS]; + +// const struct wpa_driver_ops *driver; +// void *drv_priv; + +// void (*new_assoc_sta_cb)(struct hostapd_data *hapd, +// struct sta_info *sta, int reassoc); + +// void *msg_ctx; /* ctx for wpa_msg() calls */ +// void *msg_ctx_parent; /* parent interface ctx for wpa_msg() calls */ + +// struct radius_client_data *radius; +// u32 acct_session_id_hi, acct_session_id_lo; +// struct radius_das_data *radius_das; + +// struct iapp_data *iapp; + +// struct hostapd_cached_radius_acl *acl_cache; +// struct hostapd_acl_query_data *acl_queries; + + struct wpa_authenticator *wpa_auth; +// struct eapol_authenticator *eapol_auth; + +// struct rsn_preauth_interface *preauth_iface; +// time_t michael_mic_failure; +// int michael_mic_failures; +// int tkip_countermeasures; + +// int ctrl_sock; +// struct wpa_ctrl_dst *ctrl_dst; + +// void *ssl_ctx; +// void *eap_sim_db_priv; +// struct radius_server_data *radius_srv; + +// int parameter_set_count; + + /* Time Advertisement */ +// u8 time_update_counter; +// struct wpabuf *time_adv; + +#ifdef CONFIG_FULL_DYNAMIC_VLAN + struct full_dynamic_vlan *full_dynamic_vlan; +#endif /* CONFIG_FULL_DYNAMIC_VLAN */ + +// struct l2_packet_data *l2; +// struct wps_context *wps; + +// int beacon_set_done; +// struct wpabuf *wps_beacon_ie; +// struct wpabuf *wps_probe_resp_ie; +#ifdef CONFIG_WPS + unsigned int ap_pin_failures; + unsigned int ap_pin_failures_consecutive; + struct upnp_wps_device_sm *wps_upnp; + unsigned int ap_pin_lockout_time; +#endif /* CONFIG_WPS */ + +// struct hostapd_probereq_cb *probereq_cb; +// size_t num_probereq_cb; + +// void (*public_action_cb)(void *ctx, const u8 *buf, size_t len, +// int freq); +// void *public_action_cb_ctx; + +// int (*vendor_action_cb)(void *ctx, const u8 *buf, size_t len, +// int freq); +// void *vendor_action_cb_ctx; + +// void (*wps_reg_success_cb)(void *ctx, const u8 *mac_addr, +// const u8 *uuid_e); +// void *wps_reg_success_cb_ctx; + +// void (*wps_event_cb)(void *ctx, enum wps_event event, +// union wps_event_data *data); +// void *wps_event_cb_ctx; + +// void (*sta_authorized_cb)(void *ctx, const u8 *mac_addr, +// int authorized, const u8 *p2p_dev_addr); +// void *sta_authorized_cb_ctx; + +// void (*setup_complete_cb)(void *ctx); +// void *setup_complete_cb_ctx; + +#ifdef CONFIG_P2P + struct p2p_data *p2p; + struct p2p_group *p2p_group; + struct wpabuf *p2p_beacon_ie; + struct wpabuf *p2p_probe_resp_ie; + + /* Number of non-P2P association stations */ + int num_sta_no_p2p; + + /* Periodic NoA (used only when no non-P2P clients in the group) */ + int noa_enabled; + int noa_start; + int noa_duration; +#endif /* CONFIG_P2P */ +#ifdef CONFIG_INTERWORKING + size_t gas_frag_limit; +#endif /* CONFIG_INTERWORKING */ + +#ifdef CONFIG_SQLITE + struct hostapd_eap_user tmp_eap_user; +#endif /* CONFIG_SQLITE */ +}; + +#if 0 +/** + * struct hostapd_iface - hostapd per-interface data structure + */ +struct hostapd_iface { + struct hapd_interfaces *interfaces; + void *owner; + char *config_fname; + struct hostapd_config *conf; + + size_t num_bss; + struct hostapd_data **bss; + + int num_ap; /* number of entries in ap_list */ + struct ap_info *ap_list; /* AP info list head */ + struct ap_info *ap_hash[STA_HASH_SIZE]; + struct ap_info *ap_iter_list; + + unsigned int drv_flags; + + /* + * A bitmap of supported protocols for probe response offload. See + * struct wpa_driver_capa in driver.h + */ + unsigned int probe_resp_offloads; + + struct hostapd_hw_modes *hw_features; + int num_hw_features; + struct hostapd_hw_modes *current_mode; + /* Rates that are currently used (i.e., filtered copy of + * current_mode->channels */ + int num_rates; + struct hostapd_rate_data *current_rates; + int *basic_rates; + int freq; + + u16 hw_flags; + + /* Number of associated Non-ERP stations (i.e., stations using 802.11b + * in 802.11g BSS) */ + int num_sta_non_erp; + + /* Number of associated stations that do not support Short Slot Time */ + int num_sta_no_short_slot_time; + + /* Number of associated stations that do not support Short Preamble */ + int num_sta_no_short_preamble; + + int olbc; /* Overlapping Legacy BSS Condition */ + + /* Number of HT associated stations that do not support greenfield */ + int num_sta_ht_no_gf; + + /* Number of associated non-HT stations */ + int num_sta_no_ht; + + /* Number of HT associated stations 20 MHz */ + int num_sta_ht_20mhz; + + /* Overlapping BSS information */ + int olbc_ht; + + u16 ht_op_mode; + void (*scan_cb)(struct hostapd_iface *iface); +}; +#endif + +#if 0 +/* hostapd.c */ +int hostapd_for_each_interface(struct hapd_interfaces *interfaces, + int (*cb)(struct hostapd_iface *iface, + void *ctx), void *ctx); +int hostapd_reload_config(struct hostapd_iface *iface); +struct hostapd_data * +hostapd_alloc_bss_data(struct hostapd_iface *hapd_iface, + struct hostapd_config *conf, + struct hostapd_bss_config *bss); +int hostapd_setup_interface(struct hostapd_iface *iface); +int hostapd_setup_interface_complete(struct hostapd_iface *iface, int err); +void hostapd_interface_deinit(struct hostapd_iface *iface); +void hostapd_interface_free(struct hostapd_iface *iface); +void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta, + int reassoc); +void hostapd_interface_deinit_free(struct hostapd_iface *iface); +int hostapd_enable_iface(struct hostapd_iface *hapd_iface); +int hostapd_reload_iface(struct hostapd_iface *hapd_iface); +int hostapd_disable_iface(struct hostapd_iface *hapd_iface); +int hostapd_add_iface(struct hapd_interfaces *ifaces, char *buf); +int hostapd_remove_iface(struct hapd_interfaces *ifaces, char *buf); + +/* utils.c */ +int hostapd_register_probereq_cb(struct hostapd_data *hapd, + int (*cb)(void *ctx, const u8 *sa, + const u8 *da, const u8 *bssid, + const u8 *ie, size_t ie_len, + int ssi_signal), + void *ctx); +void hostapd_prune_associations(struct hostapd_data *hapd, const u8 *addr); + +/* drv_callbacks.c (TODO: move to somewhere else?) */ +int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, + const u8 *ie, size_t ielen, int reassoc); +void hostapd_notif_disassoc(struct hostapd_data *hapd, const u8 *addr); +void hostapd_event_sta_low_ack(struct hostapd_data *hapd, const u8 *addr); +int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa, const u8 *da, + const u8 *bssid, const u8 *ie, size_t ie_len, + int ssi_signal); +void hostapd_event_ch_switch(struct hostapd_data *hapd, int freq, int ht, + int offset); + +const struct hostapd_eap_user * +hostapd_get_eap_user(struct hostapd_data *hapd, const u8 *identity, + size_t identity_len, int phase2); +#endif + +#endif /* HOSTAPD_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/ieee80211_crypto.h b/tools/sdk/include/wpa_supplicant/wpa/ieee80211_crypto.h new file mode 100644 index 00000000..be0fb9aa --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/ieee80211_crypto.h @@ -0,0 +1,226 @@ +/*- + * Copyright (c) 2001 Atsushi Onoe + * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting + * 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. + * + * 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. + * + * $FreeBSD$ + */ + +/* + * copyright (c) 2010-2011 Espressif System + */ +#ifndef _NET80211_IEEE80211_CRYPTO_H_ +#define _NET80211_IEEE80211_CRYPTO_H_ + +//#include "pp/esf_buf.h" + +/* + * 802.11 protocol crypto-related definitions. + */ +#define IEEE80211_KEYBUF_SIZE 16 +#define IEEE80211_MICBUF_SIZE (8+8) /* space for both tx+rx keys */ + +/* + * Old WEP-style key. Deprecated. + */ + +#if 0 +struct ieee80211_rsnparms { + uint8_t rsn_mcastcipher; /* mcast/group cipher */ + uint8_t rsn_mcastkeylen; /* mcast key length */ + uint8_t rsn_ucastcipher; /* selected unicast cipher */ + uint8_t rsn_ucastkeylen; /* unicast key length */ + uint8_t rsn_keymgmt; /* selected key mgmt algo */ + uint16_t rsn_caps; /* capabilities */ +}; +#endif //0000 + +/* + * Template for a supported cipher. Ciphers register with the + * crypto code and are typically loaded as separate modules + * (the null cipher is always present). + * XXX may need refcnts + */ + +/* + * Crypto key state. There is sufficient room for all supported + * ciphers (see below). The underlying ciphers are handled + * separately through loadable cipher modules that register with + * the generic crypto support. A key has a reference to an instance + * of the cipher; any per-key state is hung off wk_private by the + * cipher when it is attached. Ciphers are automatically called + * to detach and cleanup any such state when the key is deleted. + * + * The generic crypto support handles encap/decap of cipher-related + * frame contents for both hardware- and software-based implementations. + * A key requiring software crypto support is automatically flagged and + * the cipher is expected to honor this and do the necessary work. + * Ciphers such as TKIP may also support mixed hardware/software + * encrypt/decrypt and MIC processing. + */ +typedef uint16_t ieee80211_keyix; /* h/w key index */ + +struct ieee80211_key { + uint8_t wk_keylen; /* key length in bytes */ + uint8_t wk_pad; + uint16_t wk_flags; +#define IEEE80211_KEY_XMIT 0x0001 /* key used for xmit */ +#define IEEE80211_KEY_RECV 0x0002 /* key used for recv */ +#define IEEE80211_KEY_GROUP 0x0004 /* key used for WPA group operation */ +#define IEEE80211_KEY_SWENCRYPT 0x0010 /* host-based encrypt */ +#define IEEE80211_KEY_SWDECRYPT 0x0020 /* host-based decrypt */ +#define IEEE80211_KEY_SWENMIC 0x0040 /* host-based enmic */ +#define IEEE80211_KEY_SWDEMIC 0x0080 /* host-based demic */ +#define IEEE80211_KEY_DEVKEY 0x0100 /* device key request completed */ +#define IEEE80211_KEY_CIPHER0 0x1000 /* cipher-specific action 0 */ +#define IEEE80211_KEY_CIPHER1 0x2000 /* cipher-specific action 1 */ +#define IEEE80211_KEY_EMPTY 0x0000 + ieee80211_keyix wk_keyix; /* h/w key index */ + ieee80211_keyix wk_rxkeyix; /* optional h/w rx key index */ + uint8_t wk_key[IEEE80211_KEYBUF_SIZE+IEEE80211_MICBUF_SIZE]; +#define wk_txmic wk_key+IEEE80211_KEYBUF_SIZE+0 /* XXX can't () right */ +#define wk_rxmic wk_key+IEEE80211_KEYBUF_SIZE+8 /* XXX can't () right */ + /* key receive sequence counter */ + uint64_t wk_keyrsc[IEEE80211_TID_SIZE]; + uint64_t wk_keytsc; /* key transmit sequence counter */ + const struct ieee80211_cipher *wk_cipher; + //void *wk_private; /* private cipher state */ + //uint8_t wk_macaddr[IEEE80211_ADDR_LEN]; //JLU: no need ... +}; +#define IEEE80211_KEY_COMMON /* common flags passed in by apps */\ + (IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV | IEEE80211_KEY_GROUP) +#define IEEE80211_KEY_DEVICE /* flags owned by device driver */\ + (IEEE80211_KEY_DEVKEY|IEEE80211_KEY_CIPHER0|IEEE80211_KEY_CIPHER1) + +#define IEEE80211_KEY_SWCRYPT \ + (IEEE80211_KEY_SWENCRYPT | IEEE80211_KEY_SWDECRYPT) +#define IEEE80211_KEY_SWMIC (IEEE80211_KEY_SWENMIC | IEEE80211_KEY_SWDEMIC) + +//#define IEEE80211_KEYIX_NONE ((ieee80211_keyix) -1) + +/* + * NB: these values are ordered carefully; there are lots of + * of implications in any reordering. Beware that 4 is used + * only to indicate h/w TKIP MIC support in driver capabilities; + * there is no separate cipher support (it's rolled into the + * TKIP cipher support). + */ +#define IEEE80211_CIPHER_NONE 0 /* pseudo value */ +#define IEEE80211_CIPHER_TKIP 1 +#define IEEE80211_CIPHER_AES_OCB 2 +#define IEEE80211_CIPHER_AES_CCM 3 +#define IEEE80211_CIPHER_TKIPMIC 4 /* TKIP MIC capability */ +#define IEEE80211_CIPHER_CKIP 5 +#define IEEE80211_CIPHER_WEP 6 +#define IEEE80211_CIPHER_WEP40 7 +#define IEEE80211_CIPHER_WEP104 8 + + +#define IEEE80211_CIPHER_MAX (IEEE80211_CIPHER_NONE+2) + +/* capability bits in ic_cryptocaps/iv_cryptocaps */ +#define IEEE80211_CRYPTO_NONE (1<wk_cipher == &ieee80211_cipher_none) + +struct ieee80211_key *ieee80211_crypto_encap(struct ieee80211_conn *, + esf_buf *); + +struct ieee80211_key *ieee80211_crypto_decap(struct ieee80211_conn *, + esf_buf *, int); + +#if 0 //H/W MIC +/* + * Check and remove any MIC. + */ +static INLINE int +ieee80211_crypto_demic(struct ieee80211vap *vap, struct ieee80211_key *k, + esf_buf *m, int force) +{ + const struct ieee80211_cipher *cip = k->wk_cipher; + return (cip->ic_miclen > 0 ? cip->ic_demic(k, m, force) : 1); +} + +/* + * Add any MIC. + */ +static INLINE int +ieee80211_crypto_enmic(struct ieee80211vap *vap, + struct ieee80211_key *k, esf_buf *m, int force) +{ + const struct ieee80211_cipher *cip = k->wk_cipher; + return (cip->ic_miclen > 0 ? cip->ic_enmic(k, m, force) : 1); +} +#endif //0000 + +/* + * Setup crypto support for a device/shared instance. + */ +void ieee80211_crypto_attach(struct ieee80211com *ic); + +/* + * Reset key state to an unused state. The crypto + * key allocation mechanism insures other state (e.g. + * key data) is properly setup before a key is used. + */ +static inline void +ieee80211_crypto_resetkey(struct ieee80211_key *k) +{ + k->wk_cipher = NULL; + k->wk_flags = IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV; +} + +/* + * Crypt-related notification methods. + */ +//void ieee80211_notify_replay_failure(const struct ieee80211_frame *, const struct ieee80211_key *, +// uint64_t rsc, int tid); +//void ieee80211_notify_michael_failure(const struct ieee80211_frame *, u_int keyix); + +#endif /* _NET80211_IEEE80211_CRYPTO_H_ */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/ieee802_11_defs.h b/tools/sdk/include/wpa_supplicant/wpa/ieee802_11_defs.h new file mode 100644 index 00000000..4881e39a --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/ieee802_11_defs.h @@ -0,0 +1,607 @@ +/* + * IEEE 802.11 Frame type definitions + * Copyright (c) 2002-2009, Jouni Malinen + * Copyright (c) 2007-2008 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef IEEE802_11_DEFS_H +#define IEEE802_11_DEFS_H + +/* IEEE 802.11 defines */ + +#define WLAN_FC_PVER 0x0003 +#define WLAN_FC_TODS 0x0100 +#define WLAN_FC_FROMDS 0x0200 +#define WLAN_FC_MOREFRAG 0x0400 +#define WLAN_FC_RETRY 0x0800 +#define WLAN_FC_PWRMGT 0x1000 +#define WLAN_FC_MOREDATA 0x2000 +#define WLAN_FC_ISWEP 0x4000 +#define WLAN_FC_ORDER 0x8000 + +#define WLAN_FC_GET_TYPE(fc) (((fc) & 0x000c) >> 2) +#define WLAN_FC_GET_STYPE(fc) (((fc) & 0x00f0) >> 4) + +#define WLAN_GET_SEQ_FRAG(seq) ((seq) & (BIT(3) | BIT(2) | BIT(1) | BIT(0))) +#define WLAN_GET_SEQ_SEQ(seq) \ + (((seq) & (~(BIT(3) | BIT(2) | BIT(1) | BIT(0)))) >> 4) + +#define WLAN_FC_TYPE_MGMT 0 +#define WLAN_FC_TYPE_CTRL 1 +#define WLAN_FC_TYPE_DATA 2 + +/* management */ +#define WLAN_FC_STYPE_ASSOC_REQ 0 +#define WLAN_FC_STYPE_ASSOC_RESP 1 +#define WLAN_FC_STYPE_REASSOC_REQ 2 +#define WLAN_FC_STYPE_REASSOC_RESP 3 +#define WLAN_FC_STYPE_PROBE_REQ 4 +#define WLAN_FC_STYPE_PROBE_RESP 5 +#define WLAN_FC_STYPE_BEACON 8 +#define WLAN_FC_STYPE_ATIM 9 +#define WLAN_FC_STYPE_DISASSOC 10 +#define WLAN_FC_STYPE_AUTH 11 +#define WLAN_FC_STYPE_DEAUTH 12 +#define WLAN_FC_STYPE_ACTION 13 + +/* control */ +#define WLAN_FC_STYPE_PSPOLL 10 +#define WLAN_FC_STYPE_RTS 11 +#define WLAN_FC_STYPE_CTS 12 +#define WLAN_FC_STYPE_ACK 13 +#define WLAN_FC_STYPE_CFEND 14 +#define WLAN_FC_STYPE_CFENDACK 15 + +/* data */ +#define WLAN_FC_STYPE_DATA 0 +#define WLAN_FC_STYPE_DATA_CFACK 1 +#define WLAN_FC_STYPE_DATA_CFPOLL 2 +#define WLAN_FC_STYPE_DATA_CFACKPOLL 3 +#define WLAN_FC_STYPE_NULLFUNC 4 +#define WLAN_FC_STYPE_CFACK 5 +#define WLAN_FC_STYPE_CFPOLL 6 +#define WLAN_FC_STYPE_CFACKPOLL 7 +#define WLAN_FC_STYPE_QOS_DATA 8 + +/* Authentication algorithms */ +#define WLAN_AUTH_OPEN 0 +#define WLAN_AUTH_SHARED_KEY 1 +#define WLAN_AUTH_FT 2 +#define WLAN_AUTH_LEAP 128 + +#define WLAN_AUTH_CHALLENGE_LEN 128 + +#define WLAN_CAPABILITY_ESS BIT(0) +#define WLAN_CAPABILITY_IBSS BIT(1) +#define WLAN_CAPABILITY_CF_POLLABLE BIT(2) +#define WLAN_CAPABILITY_CF_POLL_REQUEST BIT(3) +#define WLAN_CAPABILITY_PRIVACY BIT(4) +#define WLAN_CAPABILITY_SHORT_PREAMBLE BIT(5) +#define WLAN_CAPABILITY_PBCC BIT(6) +#define WLAN_CAPABILITY_CHANNEL_AGILITY BIT(7) +#define WLAN_CAPABILITY_SPECTRUM_MGMT BIT(8) +#define WLAN_CAPABILITY_SHORT_SLOT_TIME BIT(10) +#define WLAN_CAPABILITY_DSSS_OFDM BIT(13) + +/* Status codes (IEEE 802.11-2007, 7.3.1.9, Table 7-23) */ +#define WLAN_STATUS_SUCCESS 0 +#define WLAN_STATUS_UNSPECIFIED_FAILURE 1 +#define WLAN_STATUS_CAPS_UNSUPPORTED 10 +#define WLAN_STATUS_REASSOC_NO_ASSOC 11 +#define WLAN_STATUS_ASSOC_DENIED_UNSPEC 12 +#define WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG 13 +#define WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION 14 +#define WLAN_STATUS_CHALLENGE_FAIL 15 +#define WLAN_STATUS_AUTH_TIMEOUT 16 +#define WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA 17 +#define WLAN_STATUS_ASSOC_DENIED_RATES 18 +/* IEEE 802.11b */ +#define WLAN_STATUS_ASSOC_DENIED_NOSHORT 19 +#define WLAN_STATUS_ASSOC_DENIED_NOPBCC 20 +#define WLAN_STATUS_ASSOC_DENIED_NOAGILITY 21 +/* IEEE 802.11h */ +#define WLAN_STATUS_SPEC_MGMT_REQUIRED 22 +#define WLAN_STATUS_PWR_CAPABILITY_NOT_VALID 23 +#define WLAN_STATUS_SUPPORTED_CHANNEL_NOT_VALID 24 +/* IEEE 802.11g */ +#define WLAN_STATUS_ASSOC_DENIED_NO_SHORT_SLOT_TIME 25 +#define WLAN_STATUS_ASSOC_DENIED_NO_ER_PBCC 26 +#define WLAN_STATUS_ASSOC_DENIED_NO_DSSS_OFDM 27 +#define WLAN_STATUS_R0KH_UNREACHABLE 28 +/* IEEE 802.11w */ +#define WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY 30 +#define WLAN_STATUS_ROBUST_MGMT_FRAME_POLICY_VIOLATION 31 +#define WLAN_STATUS_UNSPECIFIED_QOS_FAILURE 32 +#define WLAN_STATUS_REQUEST_DECLINED 37 +#define WLAN_STATUS_INVALID_PARAMETERS 38 +/* IEEE 802.11i */ +#define WLAN_STATUS_INVALID_IE 40 +#define WLAN_STATUS_GROUP_CIPHER_NOT_VALID 41 +#define WLAN_STATUS_PAIRWISE_CIPHER_NOT_VALID 42 +#define WLAN_STATUS_AKMP_NOT_VALID 43 +#define WLAN_STATUS_UNSUPPORTED_RSN_IE_VERSION 44 +#define WLAN_STATUS_INVALID_RSN_IE_CAPAB 45 +#define WLAN_STATUS_CIPHER_REJECTED_PER_POLICY 46 +#define WLAN_STATUS_TS_NOT_CREATED 47 +#define WLAN_STATUS_DIRECT_LINK_NOT_ALLOWED 48 +#define WLAN_STATUS_DEST_STA_NOT_PRESENT 49 +#define WLAN_STATUS_DEST_STA_NOT_QOS_STA 50 +#define WLAN_STATUS_ASSOC_DENIED_LISTEN_INT_TOO_LARGE 51 +/* IEEE 802.11r */ +#define WLAN_STATUS_INVALID_FT_ACTION_FRAME_COUNT 52 +#define WLAN_STATUS_INVALID_PMKID 53 +#define WLAN_STATUS_INVALID_MDIE 54 +#define WLAN_STATUS_INVALID_FTIE 55 + +/* Reason codes (IEEE 802.11-2007, 7.3.1.7, Table 7-22) */ +#define WLAN_REASON_UNSPECIFIED 1 +#define WLAN_REASON_PREV_AUTH_NOT_VALID 2 +#define WLAN_REASON_DEAUTH_LEAVING 3 +#define WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY 4 +#define WLAN_REASON_DISASSOC_AP_BUSY 5 +#define WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA 6 +#define WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA 7 +#define WLAN_REASON_DISASSOC_STA_HAS_LEFT 8 +#define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 9 +/* IEEE 802.11h */ +#define WLAN_REASON_PWR_CAPABILITY_NOT_VALID 10 +#define WLAN_REASON_SUPPORTED_CHANNEL_NOT_VALID 11 +/* IEEE 802.11i */ +#define WLAN_REASON_INVALID_IE 13 +#define WLAN_REASON_MICHAEL_MIC_FAILURE 14 +#define WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT 15 +#define WLAN_REASON_GROUP_KEY_UPDATE_TIMEOUT 16 +#define WLAN_REASON_IE_IN_4WAY_DIFFERS 17 +#define WLAN_REASON_GROUP_CIPHER_NOT_VALID 18 +#define WLAN_REASON_PAIRWISE_CIPHER_NOT_VALID 19 +#define WLAN_REASON_AKMP_NOT_VALID 20 +#define WLAN_REASON_UNSUPPORTED_RSN_IE_VERSION 21 +#define WLAN_REASON_INVALID_RSN_IE_CAPAB 22 +#define WLAN_REASON_IEEE_802_1X_AUTH_FAILED 23 +#define WLAN_REASON_CIPHER_SUITE_REJECTED 24 + + +/* Information Element IDs */ +#define WLAN_EID_SSID 0 +#define WLAN_EID_SUPP_RATES 1 +#define WLAN_EID_FH_PARAMS 2 +#define WLAN_EID_DS_PARAMS 3 +#define WLAN_EID_CF_PARAMS 4 +#define WLAN_EID_TIM 5 +#define WLAN_EID_IBSS_PARAMS 6 +#define WLAN_EID_COUNTRY 7 +#define WLAN_EID_CHALLENGE 16 +/* EIDs defined by IEEE 802.11h - START */ +#define WLAN_EID_PWR_CONSTRAINT 32 +#define WLAN_EID_PWR_CAPABILITY 33 +#define WLAN_EID_TPC_REQUEST 34 +#define WLAN_EID_TPC_REPORT 35 +#define WLAN_EID_SUPPORTED_CHANNELS 36 +#define WLAN_EID_CHANNEL_SWITCH 37 +#define WLAN_EID_MEASURE_REQUEST 38 +#define WLAN_EID_MEASURE_REPORT 39 +#define WLAN_EID_QUITE 40 +#define WLAN_EID_IBSS_DFS 41 +/* EIDs defined by IEEE 802.11h - END */ +#define WLAN_EID_ERP_INFO 42 +#define WLAN_EID_HT_CAP 45 +#define WLAN_EID_RSN 48 +#define WLAN_EID_EXT_SUPP_RATES 50 +#define WLAN_EID_MOBILITY_DOMAIN 54 +#define WLAN_EID_FAST_BSS_TRANSITION 55 +#define WLAN_EID_TIMEOUT_INTERVAL 56 +#define WLAN_EID_RIC_DATA 57 +#define WLAN_EID_HT_OPERATION 61 +#define WLAN_EID_SECONDARY_CHANNEL_OFFSET 62 +#define WLAN_EID_20_40_BSS_COEXISTENCE 72 +#define WLAN_EID_20_40_BSS_INTOLERANT 73 +#define WLAN_EID_OVERLAPPING_BSS_SCAN_PARAMS 74 +#define WLAN_EID_MMIE 76 +#define WLAN_EID_VENDOR_SPECIFIC 221 + + +/* Action frame categories (IEEE 802.11-2007, 7.3.1.11, Table 7-24) */ +#define WLAN_ACTION_SPECTRUM_MGMT 0 +#define WLAN_ACTION_QOS 1 +#define WLAN_ACTION_DLS 2 +#define WLAN_ACTION_BLOCK_ACK 3 +#define WLAN_ACTION_PUBLIC 4 +#define WLAN_ACTION_RADIO_MEASUREMENT 5 +#define WLAN_ACTION_FT 6 +#define WLAN_ACTION_HT 7 +#define WLAN_ACTION_SA_QUERY 8 +#define WLAN_ACTION_WMM 17 /* WMM Specification 1.1 */ + +/* SA Query Action frame (IEEE 802.11w/D8.0, 7.4.9) */ +#define WLAN_SA_QUERY_REQUEST 0 +#define WLAN_SA_QUERY_RESPONSE 1 + +#define WLAN_SA_QUERY_TR_ID_LEN 2 + +/* Timeout Interval Type */ +#define WLAN_TIMEOUT_REASSOC_DEADLINE 1 +#define WLAN_TIMEOUT_KEY_LIFETIME 2 +#define WLAN_TIMEOUT_ASSOC_COMEBACK 3 + + +#ifdef _MSC_VER +#pragma pack(push, 1) +#endif /* _MSC_VER */ + +struct ieee80211_hdr { + le16 frame_control; + le16 duration_id; + u8 addr1[6]; + u8 addr2[6]; + u8 addr3[6]; + le16 seq_ctrl; + /* followed by 'u8 addr4[6];' if ToDS and FromDS is set in data frame + */ +} STRUCT_PACKED; + +#define IEEE80211_DA_FROMDS addr1 +#define IEEE80211_BSSID_FROMDS addr2 +#define IEEE80211_SA_FROMDS addr3 + +#define IEEE80211_HDRLEN (sizeof(struct ieee80211_hdr)) + +#define IEEE80211_FC(type, stype) host_to_le16((type << 2) | (stype << 4)) + +struct ieee80211_mgmt { + le16 frame_control; + le16 duration; + u8 da[6]; + u8 sa[6]; + u8 bssid[6]; + le16 seq_ctrl; + union { + struct { + le16 auth_alg; + le16 auth_transaction; + le16 status_code; + /* possibly followed by Challenge text */ + u8 variable[0]; + } STRUCT_PACKED auth; + struct { + le16 reason_code; + } STRUCT_PACKED deauth; + struct { + le16 capab_info; + le16 listen_interval; + /* followed by SSID and Supported rates */ + u8 variable[0]; + } STRUCT_PACKED assoc_req; + struct { + le16 capab_info; + le16 status_code; + le16 aid; + /* followed by Supported rates */ + u8 variable[0]; + } STRUCT_PACKED assoc_resp, reassoc_resp; + struct { + le16 capab_info; + le16 listen_interval; + u8 current_ap[6]; + /* followed by SSID and Supported rates */ + u8 variable[0]; + } STRUCT_PACKED reassoc_req; + struct { + le16 reason_code; + } STRUCT_PACKED disassoc; + struct { + u8 timestamp[8]; + le16 beacon_int; + le16 capab_info; + /* followed by some of SSID, Supported rates, + * FH Params, DS Params, CF Params, IBSS Params, TIM */ + u8 variable[0]; + } STRUCT_PACKED beacon; + struct { + /* only variable items: SSID, Supported rates */ + u8 variable[0]; + } STRUCT_PACKED probe_req; + struct { + u8 timestamp[8]; + le16 beacon_int; + le16 capab_info; + /* followed by some of SSID, Supported rates, + * FH Params, DS Params, CF Params, IBSS Params */ + u8 variable[0]; + } STRUCT_PACKED probe_resp; + struct { + u8 category; + union { + struct { + u8 action_code; + u8 dialog_token; + u8 status_code; + u8 variable[0]; + } STRUCT_PACKED wmm_action; + struct{ + u8 action_code; + u8 element_id; + u8 length; + u8 switch_mode; + u8 new_chan; + u8 switch_count; + } STRUCT_PACKED chan_switch; + struct { + u8 action; + u8 sta_addr[ETH_ALEN]; + u8 target_ap_addr[ETH_ALEN]; + u8 variable[0]; /* FT Request */ + } STRUCT_PACKED ft_action_req; + struct { + u8 action; + u8 sta_addr[ETH_ALEN]; + u8 target_ap_addr[ETH_ALEN]; + le16 status_code; + u8 variable[0]; /* FT Request */ + } STRUCT_PACKED ft_action_resp; + struct { + u8 action; + u8 trans_id[WLAN_SA_QUERY_TR_ID_LEN]; + } STRUCT_PACKED sa_query_req; + struct { + u8 action; /* */ + u8 trans_id[WLAN_SA_QUERY_TR_ID_LEN]; + } STRUCT_PACKED sa_query_resp; + } u; + } STRUCT_PACKED action; + } u; +} STRUCT_PACKED; + + +struct ieee80211_ht_capabilities { + le16 ht_capabilities_info; + u8 a_mpdu_params; + u8 supported_mcs_set[16]; + le16 ht_extended_capabilities; + le32 tx_bf_capability_info; + u8 asel_capabilities; +} STRUCT_PACKED; + + +struct ieee80211_ht_operation { + u8 control_chan; + u8 ht_param; + le16 operation_mode; + le16 stbc_param; + u8 basic_set[16]; +} STRUCT_PACKED; + +#ifdef _MSC_VER +#pragma pack(pop) +#endif /* _MSC_VER */ + +#define ERP_INFO_NON_ERP_PRESENT BIT(0) +#define ERP_INFO_USE_PROTECTION BIT(1) +#define ERP_INFO_BARKER_PREAMBLE_MODE BIT(2) + + +#define HT_CAP_INFO_LDPC_CODING_CAP ((u16) BIT(0)) +#define HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET ((u16) BIT(1)) +#define HT_CAP_INFO_SMPS_MASK ((u16) (BIT(2) | BIT(3))) +#define HT_CAP_INFO_SMPS_STATIC ((u16) 0) +#define HT_CAP_INFO_SMPS_DYNAMIC ((u16) BIT(2)) +#define HT_CAP_INFO_SMPS_DISABLED ((u16) (BIT(2) | BIT(3))) +#define HT_CAP_INFO_GREEN_FIELD ((u16) BIT(4)) +#define HT_CAP_INFO_SHORT_GI20MHZ ((u16) BIT(5)) +#define HT_CAP_INFO_SHORT_GI40MHZ ((u16) BIT(6)) +#define HT_CAP_INFO_TX_STBC ((u16) BIT(7)) +#define HT_CAP_INFO_RX_STBC_MASK ((u16) (BIT(8) | BIT(9))) +#define HT_CAP_INFO_RX_STBC_1 ((u16) BIT(8)) +#define HT_CAP_INFO_RX_STBC_12 ((u16) BIT(9)) +#define HT_CAP_INFO_RX_STBC_123 ((u16) (BIT(8) | BIT(9))) +#define HT_CAP_INFO_DELAYED_BA ((u16) BIT(10)) +#define HT_CAP_INFO_MAX_AMSDU_SIZE ((u16) BIT(11)) +#define HT_CAP_INFO_DSSS_CCK40MHZ ((u16) BIT(12)) +#define HT_CAP_INFO_PSMP_SUPP ((u16) BIT(13)) +#define HT_CAP_INFO_40MHZ_INTOLERANT ((u16) BIT(14)) +#define HT_CAP_INFO_LSIG_TXOP_PROTECT_SUPPORT ((u16) BIT(15)) + + +#define EXT_HT_CAP_INFO_PCO ((u16) BIT(0)) +#define EXT_HT_CAP_INFO_TRANS_TIME_OFFSET 1 +#define EXT_HT_CAP_INFO_MCS_FEEDBACK_OFFSET 8 +#define EXT_HT_CAP_INFO_HTC_SUPPORTED ((u16) BIT(10)) +#define EXT_HT_CAP_INFO_RD_RESPONDER ((u16) BIT(11)) + + +#define TX_BEAMFORM_CAP_TXBF_CAP ((u32) BIT(0)) +#define TX_BEAMFORM_CAP_RX_STAGGERED_SOUNDING_CAP ((u32) BIT(1)) +#define TX_BEAMFORM_CAP_TX_STAGGERED_SOUNDING_CAP ((u32) BIT(2)) +#define TX_BEAMFORM_CAP_RX_ZLF_CAP ((u32) BIT(3)) +#define TX_BEAMFORM_CAP_TX_ZLF_CAP ((u32) BIT(4)) +#define TX_BEAMFORM_CAP_IMPLICIT_ZLF_CAP ((u32) BIT(5)) +#define TX_BEAMFORM_CAP_CALIB_OFFSET 6 +#define TX_BEAMFORM_CAP_EXPLICIT_CSI_TXBF_CAP ((u32) BIT(8)) +#define TX_BEAMFORM_CAP_EXPLICIT_UNCOMPR_STEERING_MATRIX_CAP ((u32) BIT(9)) +#define TX_BEAMFORM_CAP_EXPLICIT_BF_CSI_FEEDBACK_CAP ((u32) BIT(10)) +#define TX_BEAMFORM_CAP_EXPLICIT_BF_CSI_FEEDBACK_OFFSET 11 +#define TX_BEAMFORM_CAP_EXPLICIT_UNCOMPR_STEERING_MATRIX_FEEDBACK_OFFSET 13 +#define TX_BEAMFORM_CAP_EXPLICIT_COMPRESSED_STEERING_MATRIX_FEEDBACK_OFFSET 15 +#define TX_BEAMFORM_CAP_MINIMAL_GROUPING_OFFSET 17 +#define TX_BEAMFORM_CAP_CSI_NUM_BEAMFORMER_ANT_OFFSET 19 +#define TX_BEAMFORM_CAP_UNCOMPRESSED_STEERING_MATRIX_BEAMFORMER_ANT_OFFSET 21 +#define TX_BEAMFORM_CAP_COMPRESSED_STEERING_MATRIX_BEAMFORMER_ANT_OFFSET 23 +#define TX_BEAMFORM_CAP_SCI_MAX_OF_ROWS_BEANFORMER_SUPPORTED_OFFSET 25 + + +#define ASEL_CAPABILITY_ASEL_CAPABLE ((u8) BIT(0)) +#define ASEL_CAPABILITY_EXPLICIT_CSI_FEEDBACK_BASED_TX_AS_CAP ((u8) BIT(1)) +#define ASEL_CAPABILITY_ANT_INDICES_FEEDBACK_BASED_TX_AS_CAP ((u8) BIT(2)) +#define ASEL_CAPABILITY_EXPLICIT_CSI_FEEDBACK_CAP ((u8) BIT(3)) +#define ASEL_CAPABILITY_ANT_INDICES_FEEDBACK_CAP ((u8) BIT(4)) +#define ASEL_CAPABILITY_RX_AS_CAP ((u8) BIT(5)) +#define ASEL_CAPABILITY_TX_SOUND_PPDUS_CAP ((u8) BIT(6)) + +#define HT_INFO_HT_PARAM_SECONDARY_CHNL_OFF_MASK ((u8) BIT(0) | BIT(1)) +#define HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE ((u8) BIT(0)) +#define HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW ((u8) BIT(0) | BIT(1)) +#define HT_INFO_HT_PARAM_REC_TRANS_CHNL_WIDTH ((u8) BIT(2)) +#define HT_INFO_HT_PARAM_RIFS_MODE ((u8) BIT(3)) +#define HT_INFO_HT_PARAM_CTRL_ACCESS_ONLY ((u8) BIT(4)) +#define HT_INFO_HT_PARAM_SRV_INTERVAL_GRANULARITY ((u8) BIT(5)) + + +#define OP_MODE_PURE 0 +#define OP_MODE_MAY_BE_LEGACY_STAS 1 +#define OP_MODE_20MHZ_HT_STA_ASSOCED 2 +#define OP_MODE_MIXED 3 + +#define HT_INFO_OPERATION_MODE_OP_MODE_MASK \ + ((le16) (0x0001 | 0x0002)) +#define HT_INFO_OPERATION_MODE_OP_MODE_OFFSET 0 +#define HT_INFO_OPERATION_MODE_NON_GF_DEVS_PRESENT ((u8) BIT(2)) +#define HT_INFO_OPERATION_MODE_TRANSMIT_BURST_LIMIT ((u8) BIT(3)) +#define HT_INFO_OPERATION_MODE_NON_HT_STA_PRESENT ((u8) BIT(4)) + +#define HT_INFO_STBC_PARAM_DUAL_BEACON ((u16) BIT(6)) +#define HT_INFO_STBC_PARAM_DUAL_STBC_PROTECT ((u16) BIT(7)) +#define HT_INFO_STBC_PARAM_SECONDARY_BCN ((u16) BIT(8)) +#define HT_INFO_STBC_PARAM_LSIG_TXOP_PROTECT_ALLOWED ((u16) BIT(9)) +#define HT_INFO_STBC_PARAM_PCO_ACTIVE ((u16) BIT(10)) +#define HT_INFO_STBC_PARAM_PCO_PHASE ((u16) BIT(11)) + + +#define OUI_MICROSOFT 0x0050f2 /* Microsoft (also used in Wi-Fi specs) + * 00:50:F2 */ +#define WPA_IE_VENDOR_TYPE 0x0050f201 +#define WPS_IE_VENDOR_TYPE 0x0050f204 + +#define WMM_OUI_TYPE 2 +#define WMM_OUI_SUBTYPE_INFORMATION_ELEMENT 0 +#define WMM_OUI_SUBTYPE_PARAMETER_ELEMENT 1 +#define WMM_OUI_SUBTYPE_TSPEC_ELEMENT 2 +#define WMM_VERSION 1 + +#define WMM_ACTION_CODE_ADDTS_REQ 0 +#define WMM_ACTION_CODE_ADDTS_RESP 1 +#define WMM_ACTION_CODE_DELTS 2 + +#define WMM_ADDTS_STATUS_ADMISSION_ACCEPTED 0 +#define WMM_ADDTS_STATUS_INVALID_PARAMETERS 1 +/* 2 - Reserved */ +#define WMM_ADDTS_STATUS_REFUSED 3 +/* 4-255 - Reserved */ + +/* WMM TSPEC Direction Field Values */ +#define WMM_TSPEC_DIRECTION_UPLINK 0 +#define WMM_TSPEC_DIRECTION_DOWNLINK 1 +/* 2 - Reserved */ +#define WMM_TSPEC_DIRECTION_BI_DIRECTIONAL 3 + +/* + * WMM Information Element (used in (Re)Association Request frames; may also be + * used in Beacon frames) + */ +struct wmm_information_element { + /* Element ID: 221 (0xdd); Length: 7 */ + /* required fields for WMM version 1 */ + u8 oui[3]; /* 00:50:f2 */ + u8 oui_type; /* 2 */ + u8 oui_subtype; /* 0 */ + u8 version; /* 1 for WMM version 1.0 */ + u8 qos_info; /* AP/STA specific QoS info */ + +} STRUCT_PACKED; + +#define WMM_AC_AIFSN_MASK 0x0f +#define WMM_AC_AIFNS_SHIFT 0 +#define WMM_AC_ACM 0x10 +#define WMM_AC_ACI_MASK 0x60 +#define WMM_AC_ACI_SHIFT 5 + +#define WMM_AC_ECWMIN_MASK 0x0f +#define WMM_AC_ECWMIN_SHIFT 0 +#define WMM_AC_ECWMAX_MASK 0xf0 +#define WMM_AC_ECWMAX_SHIFT 4 + +struct wmm_ac_parameter { + u8 aci_aifsn; /* AIFSN, ACM, ACI */ + u8 cw; /* ECWmin, ECWmax (CW = 2^ECW - 1) */ + le16 txop_limit; +} STRUCT_PACKED; + +/* + * WMM Parameter Element (used in Beacon, Probe Response, and (Re)Association + * Response frmaes) + */ +struct wmm_parameter_element { + /* Element ID: 221 (0xdd); Length: 24 */ + /* required fields for WMM version 1 */ + u8 oui[3]; /* 00:50:f2 */ + u8 oui_type; /* 2 */ + u8 oui_subtype; /* 1 */ + u8 version; /* 1 for WMM version 1.0 */ + u8 qos_info; /* AP/STA specif QoS info */ + u8 reserved; /* 0 */ + struct wmm_ac_parameter ac[4]; /* AC_BE, AC_BK, AC_VI, AC_VO */ + +} STRUCT_PACKED; + +/* WMM TSPEC Element */ +struct wmm_tspec_element { + u8 eid; /* 221 = 0xdd */ + u8 length; /* 6 + 55 = 61 */ + u8 oui[3]; /* 00:50:f2 */ + u8 oui_type; /* 2 */ + u8 oui_subtype; /* 2 */ + u8 version; /* 1 */ + /* WMM TSPEC body (55 octets): */ + u8 ts_info[3]; + le16 nominal_msdu_size; + le16 maximum_msdu_size; + le32 minimum_service_interval; + le32 maximum_service_interval; + le32 inactivity_interval; + le32 suspension_interval; + le32 service_start_time; + le32 minimum_data_rate; + le32 mean_data_rate; + le32 peak_data_rate; + le32 maximum_burst_size; + le32 delay_bound; + le32 minimum_phy_rate; + le16 surplus_bandwidth_allowance; + le16 medium_time; +} STRUCT_PACKED; + + +/* Access Categories / ACI to AC coding */ +enum { + WMM_AC_BE = 0 /* Best Effort */, + WMM_AC_BK = 1 /* Background */, + WMM_AC_VI = 2 /* Video */, + WMM_AC_VO = 3 /* Voice */ +}; + + +#define OUI_BROADCOM 0x00904c /* Broadcom (Epigram) */ + +#define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */ + +/* cipher suite selectors */ +#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00 +#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01 +#define WLAN_CIPHER_SUITE_TKIP 0x000FAC02 +/* reserved: 0x000FAC03 */ +#define WLAN_CIPHER_SUITE_CCMP 0x000FAC04 +#define WLAN_CIPHER_SUITE_WEP104 0x000FAC05 +#define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06 + +/* AKM suite selectors */ +#define WLAN_AKM_SUITE_8021X 0x000FAC01 +#define WLAN_AKM_SUITE_PSK 0x000FAC02 + +#endif /* IEEE802_11_DEFS_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/ieee802_1x.h b/tools/sdk/include/wpa_supplicant/wpa/ieee802_1x.h new file mode 100644 index 00000000..e10ff7b3 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/ieee802_1x.h @@ -0,0 +1,64 @@ +/* + * hostapd / IEEE 802.1X-2004 Authenticator + * Copyright (c) 2002-2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef IEEE802_1X_H +#define IEEE802_1X_H + +struct hostapd_data; +struct sta_info; +struct eapol_state_machine; +struct hostapd_config; +struct hostapd_bss_config; +struct hostapd_radius_attr; +struct radius_msg; + + +void ieee802_1x_receive(struct hostapd_data *hapd, const u8 *sa, const u8 *buf, + size_t len); + +#if 0 +void ieee802_1x_new_station(struct hostapd_data *hapd, struct sta_info *sta); +void ieee802_1x_free_station(struct sta_info *sta); + +void ieee802_1x_tx_key(struct hostapd_data *hapd, struct sta_info *sta); +void ieee802_1x_abort_auth(struct hostapd_data *hapd, struct sta_info *sta); +void ieee802_1x_set_sta_authorized(struct hostapd_data *hapd, + struct sta_info *sta, int authorized); +void ieee802_1x_dump_state(FILE *f, const char *prefix, struct sta_info *sta); +int ieee802_1x_init(struct hostapd_data *hapd); +void ieee802_1x_deinit(struct hostapd_data *hapd); +int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta, + const u8 *buf, size_t len, int ack); +int ieee802_1x_eapol_tx_status(struct hostapd_data *hapd, struct sta_info *sta, + const u8 *data, int len, int ack); +u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len); +u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len, + int idx); +struct wpabuf * ieee802_1x_get_radius_cui(struct eapol_state_machine *sm); +const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len); +void ieee802_1x_notify_port_enabled(struct eapol_state_machine *sm, + int enabled); +void ieee802_1x_notify_port_valid(struct eapol_state_machine *sm, + int valid); +void ieee802_1x_notify_pre_auth(struct eapol_state_machine *sm, int pre_auth); +int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen); +int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta, + char *buf, size_t buflen); +void hostapd_get_ntp_timestamp(u8 *buf); +char *eap_type_text(u8 type); + +const char *radius_mode_txt(struct hostapd_data *hapd); +int radius_sta_rate(struct hostapd_data *hapd, struct sta_info *sta); + +int add_common_radius_attr(struct hostapd_data *hapd, + struct hostapd_radius_attr *req_attr, + struct sta_info *sta, + struct radius_msg *msg); +#endif + +#endif /* IEEE802_1X_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/includes.h b/tools/sdk/include/wpa_supplicant/wpa/includes.h new file mode 100644 index 00000000..993bc499 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/includes.h @@ -0,0 +1,31 @@ +/* + * wpa_supplicant/hostapd - Default include files + * Copyright (c) 2005-2006, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This header file is included into all C files so that commonly used header + * files can be selected with OS specific ifdef blocks in one place instead of + * having to have OS/C library specific selection in many files. + */ + +#ifndef INCLUDES_H +#define INCLUDES_H + +/* Include possible build time configuration before including anything else */ +//#include "build_config.h" //don't need anymore + +//#include +//#include +//#include +//#include +//#include + +#endif /* INCLUDES_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/list.h b/tools/sdk/include/wpa_supplicant/wpa/list.h new file mode 100644 index 00000000..c8dccee8 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/list.h @@ -0,0 +1,101 @@ +/* + * Doubly-linked list + * Copyright (c) 2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef LIST_H +#define LIST_H + +/** + * struct dl_list - Doubly-linked list + */ +struct dl_list { + struct dl_list *next; + struct dl_list *prev; +}; + +static inline void dl_list_init(struct dl_list *list) +{ + list->next = list; + list->prev = list; +} + +static inline void dl_list_add(struct dl_list *list, struct dl_list *item) +{ + item->next = list->next; + item->prev = list; + list->next->prev = item; + list->next = item; +} + +static inline void dl_list_add_tail(struct dl_list *list, struct dl_list *item) +{ + dl_list_add(list->prev, item); +} + +static inline void dl_list_del(struct dl_list *item) +{ + item->next->prev = item->prev; + item->prev->next = item->next; + item->next = NULL; + item->prev = NULL; +} + +static inline int dl_list_empty(struct dl_list *list) +{ + return list->next == list; +} + +static inline unsigned int dl_list_len(struct dl_list *list) +{ + struct dl_list *item; + int count = 0; + for (item = list->next; item != list; item = item->next) + count++; + return count; +} + +#ifndef offsetof +#define offsetof(type, member) ((long) &((type *) 0)->member) +#endif + +#define dl_list_entry(item, type, member) \ + ((type *) ((char *) item - offsetof(type, member))) + +#define dl_list_first(list, type, member) \ + (dl_list_empty((list)) ? NULL : \ + dl_list_entry((list)->next, type, member)) + +#define dl_list_last(list, type, member) \ + (dl_list_empty((list)) ? NULL : \ + dl_list_entry((list)->prev, type, member)) + +#define dl_list_for_each(item, list, type, member) \ + for (item = dl_list_entry((list)->next, type, member); \ + &item->member != (list); \ + item = dl_list_entry(item->member.next, type, member)) + +#define dl_list_for_each_safe(item, n, list, type, member) \ + for (item = dl_list_entry((list)->next, type, member), \ + n = dl_list_entry(item->member.next, type, member); \ + &item->member != (list); \ + item = n, n = dl_list_entry(n->member.next, type, member)) + +#define dl_list_for_each_reverse(item, list, type, member) \ + for (item = dl_list_entry((list)->prev, type, member); \ + &item->member != (list); \ + item = dl_list_entry(item->member.prev, type, member)) + +#define DEFINE_DL_LIST(name) \ + struct dl_list name = { &(name), &(name) } + +#endif /* LIST_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/sta_info.h b/tools/sdk/include/wpa_supplicant/wpa/sta_info.h new file mode 100644 index 00000000..44874a2f --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/sta_info.h @@ -0,0 +1,194 @@ +/* + * hostapd / Station table + * Copyright (c) 2002-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef STA_INFO_H +#define STA_INFO_H + +/* STA flags */ +#define WLAN_STA_AUTH BIT(0) +#define WLAN_STA_ASSOC BIT(1) +#define WLAN_STA_PS BIT(2) +#define WLAN_STA_TIM BIT(3) +#define WLAN_STA_PERM BIT(4) +#define WLAN_STA_AUTHORIZED BIT(5) +#define WLAN_STA_PENDING_POLL BIT(6) /* pending activity poll not ACKed */ +#define WLAN_STA_SHORT_PREAMBLE BIT(7) +#define WLAN_STA_PREAUTH BIT(8) +#define WLAN_STA_WMM BIT(9) +#define WLAN_STA_MFP BIT(10) +#define WLAN_STA_HT BIT(11) +#define WLAN_STA_WPS BIT(12) +#define WLAN_STA_MAYBE_WPS BIT(13) +#define WLAN_STA_WDS BIT(14) +#define WLAN_STA_ASSOC_REQ_OK BIT(15) +#define WLAN_STA_WPS2 BIT(16) +#define WLAN_STA_GAS BIT(17) +#define WLAN_STA_VHT BIT(18) +#define WLAN_STA_PENDING_DISASSOC_CB BIT(29) +#define WLAN_STA_PENDING_DEAUTH_CB BIT(30) +#define WLAN_STA_NONERP BIT(31) + +/* Maximum number of supported rates (from both Supported Rates and Extended + * Supported Rates IEs). */ +#define WLAN_SUPP_RATES_MAX 32 + + +struct sta_info { + struct sta_info *next; /* next entry in sta list */ + struct sta_info *hnext; /* next entry in hash table list */ + u8 addr[6]; + u16 aid; /* STA's unique AID (1 .. 2007) or 0 if not yet assigned */ + u32 flags; /* Bitfield of WLAN_STA_* */ + u16 capability; + u16 listen_interval; /* or beacon_int for APs */ + u8 supported_rates[WLAN_SUPP_RATES_MAX]; + int supported_rates_len; +// u8 qosinfo; /* Valid when WLAN_STA_WMM is set */ + +// unsigned int nonerp_set:1; +// unsigned int no_short_slot_time_set:1; +// unsigned int no_short_preamble_set:1; +// unsigned int no_ht_gf_set:1; +// unsigned int no_ht_set:1; +// unsigned int ht_20mhz_set:1; +// unsigned int no_p2p_set:1; + + u16 auth_alg; +// u8 previous_ap[6]; + + enum { + STA_NULLFUNC = 0, STA_DISASSOC, STA_DEAUTH, STA_REMOVE + } timeout_next; + +// u16 deauth_reason; +// u16 disassoc_reason; + + /* IEEE 802.1X related data */ +// struct eapol_state_machine *eapol_sm; + + /* IEEE 802.11f (IAPP) related data */ +// struct ieee80211_mgmt *last_assoc_req; + +// u32 acct_session_id_hi; +// u32 acct_session_id_lo; +// time_t acct_session_start; +// int acct_session_started; +// int acct_terminate_cause; /* Acct-Terminate-Cause */ +// int acct_interim_interval; /* Acct-Interim-Interval */ + +// unsigned long last_rx_bytes; +// unsigned long last_tx_bytes; +// u32 acct_input_gigawords; /* Acct-Input-Gigawords */ +// u32 acct_output_gigawords; /* Acct-Output-Gigawords */ + +// u8 *challenge; /* IEEE 802.11 Shared Key Authentication Challenge */ + + struct wpa_state_machine *wpa_sm; +// struct rsn_preauth_interface *preauth_iface; + + struct hostapd_ssid *ssid; /* SSID selection based on (Re)AssocReq */ +// struct hostapd_ssid *ssid_probe; /* SSID selection based on ProbeReq */ + +// int vlan_id; + /* PSKs from RADIUS authentication server */ +// struct hostapd_sta_wpa_psk_short *psk; + +// char *identity; /* User-Name from RADIUS */ +// char *radius_cui; /* Chargeable-User-Identity from RADIUS */ + +// struct ieee80211_ht_capabilities *ht_capabilities; +// struct ieee80211_vht_capabilities *vht_capabilities; + +#ifdef CONFIG_IEEE80211W + int sa_query_count; /* number of pending SA Query requests; + * 0 = no SA Query in progress */ + int sa_query_timed_out; + u8 *sa_query_trans_id; /* buffer of WLAN_SA_QUERY_TR_ID_LEN * + * sa_query_count octets of pending SA Query + * transaction identifiers */ + struct os_time sa_query_start; +#endif /* CONFIG_IEEE80211W */ + +#ifdef CONFIG_INTERWORKING +#define GAS_DIALOG_MAX 8 /* Max concurrent dialog number */ + struct gas_dialog_info *gas_dialog; + u8 gas_dialog_next; +#endif /* CONFIG_INTERWORKING */ + +// struct wpabuf *wps_ie; /* WPS IE from (Re)Association Request */ +// struct wpabuf *p2p_ie; /* P2P IE from (Re)Association Request */ +// struct wpabuf *hs20_ie; /* HS 2.0 IE from (Re)Association Request */ + +// struct os_time connected_time; + +#ifdef CONFIG_SAE + enum { SAE_INIT, SAE_COMMIT, SAE_CONFIRM } sae_state; + u16 sae_send_confirm; +#endif /* CONFIG_SAE */ +}; + + +/* Default value for maximum station inactivity. After AP_MAX_INACTIVITY has + * passed since last received frame from the station, a nullfunc data frame is + * sent to the station. If this frame is not acknowledged and no other frames + * have been received, the station will be disassociated after + * AP_DISASSOC_DELAY seconds. Similarly, the station will be deauthenticated + * after AP_DEAUTH_DELAY seconds has passed after disassociation. */ +#define AP_MAX_INACTIVITY (5 * 60) +#define AP_DISASSOC_DELAY (1) +#define AP_DEAUTH_DELAY (1) +/* Number of seconds to keep STA entry with Authenticated flag after it has + * been disassociated. */ +#define AP_MAX_INACTIVITY_AFTER_DISASSOC (1 * 30) +/* Number of seconds to keep STA entry after it has been deauthenticated. */ +#define AP_MAX_INACTIVITY_AFTER_DEAUTH (1 * 5) + + +struct hostapd_data; + +int ap_for_each_sta(struct hostapd_data *hapd, + int (*cb)(struct hostapd_data *hapd, struct sta_info *sta, + void *ctx), + void *ctx); +struct sta_info * ap_get_sta(struct hostapd_data *hapd, const u8 *sta); +void ap_sta_hash_add(struct hostapd_data *hapd, struct sta_info *sta); +void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta); +void hostapd_free_stas(struct hostapd_data *hapd); +void ap_handle_timer(void *eloop_ctx, void *timeout_ctx); +void ap_sta_session_timeout(struct hostapd_data *hapd, struct sta_info *sta, + u32 session_timeout); +void ap_sta_no_session_timeout(struct hostapd_data *hapd, + struct sta_info *sta); +struct sta_info * ap_sta_add(struct hostapd_data *hapd, const u8 *addr); +void ap_sta_disassociate(struct hostapd_data *hapd, struct sta_info *sta, + u16 reason); +void ap_sta_deauthenticate(struct hostapd_data *hapd, struct sta_info *sta, + u16 reason); +#ifdef CONFIG_WPS +int ap_sta_wps_cancel(struct hostapd_data *hapd, + struct sta_info *sta, void *ctx); +#endif /* CONFIG_WPS */ +int ap_sta_bind_vlan(struct hostapd_data *hapd, struct sta_info *sta, + int old_vlanid); +void ap_sta_start_sa_query(struct hostapd_data *hapd, struct sta_info *sta); +void ap_sta_stop_sa_query(struct hostapd_data *hapd, struct sta_info *sta); +int ap_check_sa_query_timeout(struct hostapd_data *hapd, struct sta_info *sta); +void ap_sta_disconnect(struct hostapd_data *hapd, struct sta_info *sta, + const u8 *addr, u16 reason); + +void ap_sta_set_authorized(struct hostapd_data *hapd, + struct sta_info *sta, int authorized); +static inline int ap_sta_is_authorized(struct sta_info *sta) +{ + return sta->flags & WLAN_STA_AUTHORIZED; +} + +void ap_sta_deauth_cb(struct hostapd_data *hapd, struct sta_info *sta); +void ap_sta_disassoc_cb(struct hostapd_data *hapd, struct sta_info *sta); + +#endif /* STA_INFO_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/state_machine.h b/tools/sdk/include/wpa_supplicant/wpa/state_machine.h new file mode 100644 index 00000000..ce8c51e7 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/state_machine.h @@ -0,0 +1,138 @@ +/* + * wpa_supplicant/hostapd - State machine definitions + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + * + * This file includes a set of pre-processor macros that can be used to + * implement a state machine. In addition to including this header file, each + * file implementing a state machine must define STATE_MACHINE_DATA to be the + * data structure including state variables (enum machine_state, + * Boolean changed), and STATE_MACHINE_DEBUG_PREFIX to be a string that is used + * as a prefix for all debug messages. If SM_ENTRY_MA macro is used to define + * a group of state machines with shared data structure, STATE_MACHINE_ADDR + * needs to be defined to point to the MAC address used in debug output. + * SM_ENTRY_M macro can be used to define similar group of state machines + * without this additional debug info. + */ + +#ifndef STATE_MACHINE_H +#define STATE_MACHINE_H + +/** + * SM_STATE - Declaration of a state machine function + * @machine: State machine name + * @state: State machine state + * + * This macro is used to declare a state machine function. It is used in place + * of a C function definition to declare functions to be run when the state is + * entered by calling SM_ENTER or SM_ENTER_GLOBAL. + */ +#define SM_STATE(machine, state) \ +static void ICACHE_FLASH_ATTR sm_ ## machine ## _ ## state ## _Enter(STATE_MACHINE_DATA *sm, \ + int global) + +/** + * SM_ENTRY - State machine function entry point + * @machine: State machine name + * @state: State machine state + * + * This macro is used inside each state machine function declared with + * SM_STATE. SM_ENTRY should be in the beginning of the function body, but + * after declaration of possible local variables. This macro prints debug + * information about state transition and update the state machine state. + */ +#define SM_ENTRY(machine, state) \ +if (!global || sm->machine ## _state != machine ## _ ## state) { \ + sm->changed = TRUE; \ + wpa_printf(MSG_DEBUG, STATE_MACHINE_DEBUG_PREFIX ": " #machine \ + " entering state " #state); \ +} \ +sm->machine ## _state = machine ## _ ## state; + +/** + * SM_ENTRY_M - State machine function entry point for state machine group + * @machine: State machine name + * @_state: State machine state + * @data: State variable prefix (full variable: prefix_state) + * + * This macro is like SM_ENTRY, but for state machine groups that use a shared + * data structure for more than one state machine. Both machine and prefix + * parameters are set to "sub-state machine" name. prefix is used to allow more + * than one state variable to be stored in the same data structure. + */ +#define SM_ENTRY_M(machine, _state, data) \ +if (!global || sm->data ## _ ## state != machine ## _ ## _state) { \ + sm->changed = TRUE; \ + wpa_printf(MSG_DEBUG, STATE_MACHINE_DEBUG_PREFIX ": " \ + #machine " entering state " #_state); \ +} \ +sm->data ## _ ## state = machine ## _ ## _state; + +/** + * SM_ENTRY_MA - State machine function entry point for state machine group + * @machine: State machine name + * @_state: State machine state + * @data: State variable prefix (full variable: prefix_state) + * + * This macro is like SM_ENTRY_M, but a MAC address is included in debug + * output. STATE_MACHINE_ADDR has to be defined to point to the MAC address to + * be included in debug. + */ +#define SM_ENTRY_MA(machine, _state, data) \ +if (!global || sm->data ## _ ## state != machine ## _ ## _state) { \ + sm->changed = TRUE; \ + wpa_printf(MSG_DEBUG, STATE_MACHINE_DEBUG_PREFIX ": " MACSTR " " \ + #machine " entering state " #_state"\n", \ + MAC2STR(STATE_MACHINE_ADDR)); \ +} \ +sm->data ## _ ## state = machine ## _ ## _state; + +/** + * SM_ENTER - Enter a new state machine state + * @machine: State machine name + * @state: State machine state + * + * This macro expands to a function call to a state machine function defined + * with SM_STATE macro. SM_ENTER is used in a state machine step function to + * move the state machine to a new state. + */ +#define SM_ENTER(machine, state) \ +sm_ ## machine ## _ ## state ## _Enter(sm, 0) + +/** + * SM_ENTER_GLOBAL - Enter a new state machine state based on global rule + * @machine: State machine name + * @state: State machine state + * + * This macro is like SM_ENTER, but this is used when entering a new state + * based on a global (not specific to any particular state) rule. A separate + * macro is used to avoid unwanted debug message floods when the same global + * rule is forcing a state machine to remain in on state. + */ +#define SM_ENTER_GLOBAL(machine, state) \ +sm_ ## machine ## _ ## state ## _Enter(sm, 1) + +/** + * SM_STEP - Declaration of a state machine step function + * @machine: State machine name + * + * This macro is used to declare a state machine step function. It is used in + * place of a C function definition to declare a function that is used to move + * state machine to a new state based on state variables. This function uses + * SM_ENTER and SM_ENTER_GLOBAL macros to enter new state. + */ +#define SM_STEP(machine) \ +static void ICACHE_FLASH_ATTR sm_ ## machine ## _Step(STATE_MACHINE_DATA *sm) + +/** + * SM_STEP_RUN - Call the state machine step function + * @machine: State machine name + * + * This macro expands to a function call to a state machine step function + * defined with SM_STEP macro. + */ +#define SM_STEP_RUN(machine) sm_ ## machine ## _Step(sm) + +#endif /* STATE_MACHINE_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa.h b/tools/sdk/include/wpa_supplicant/wpa/wpa.h new file mode 100644 index 00000000..2a1adfc5 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa.h @@ -0,0 +1,193 @@ +/* + * wpa_supplicant - WPA definitions + * Copyright (c) 2003-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef WPA_H +#define WPA_H + +#include "c_types.h" +#include "os_type.h" +#include "common.h" +#include "ets_sys.h" +#include "wpa/defs.h" +#include "wpa/wpa_common.h" + +//#include "net80211/ieee80211_var.h" +//#include "net80211/ieee80211_node.h" + +#define WPA_SM_STATE(_sm) ((_sm)->wpa_state) + +struct wpa_sm; + +int wpa_sm_rx_eapol(u8 *src_addr, u8 *buf, u32 len); + +#define WPA_ASSERT ASSERT + +struct install_key { + int mic_errors_seen; /* Michael MIC errors with the current PTK */ + int keys_cleared; + enum wpa_alg alg; + u8 addr[ETH_ALEN]; + int key_idx; + int set_tx; + u8 seq[10]; + u8 key[32]; +}; + +/** + * struct wpa_sm - Internal WPA state machine data + */ +struct wpa_sm { + u8 pmk[PMK_LEN]; + size_t pmk_len; + +// char *passphrase; //wlan password +// u8 *ssid; //wlan network name +// size_t ssid_len; + + struct wpa_ptk ptk, tptk; + int ptk_set, tptk_set; + u8 snonce[WPA_NONCE_LEN]; + u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */ + int renew_snonce; + u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN]; + int rx_replay_counter_set; + u8 request_counter[WPA_REPLAY_COUNTER_LEN]; + +// void *network_ctx; + + unsigned int pairwise_cipher; + unsigned int group_cipher; + unsigned int key_mgmt; + unsigned int mgmt_group_cipher; + + int rsn_enabled; /* Whether RSN is enabled in configuration */ + + int countermeasures; /*TKIP countermeasures state flag, 1:in countermeasures state*/ + os_timer_t cm_timer; + + u8 *assoc_wpa_ie; /* Own WPA/RSN IE from (Re)AssocReq */ + size_t assoc_wpa_ie_len; + + u8 eapol_version; + + int wpa_ptk_rekey; + u8 own_addr[ETH_ALEN]; + + u8 bssid[ETH_ALEN]; + + unsigned int proto; + enum wpa_states wpa_state; + + u8 *ap_wpa_ie, *ap_rsn_ie; + size_t ap_wpa_ie_len, ap_rsn_ie_len; + + struct install_key install_ptk; + struct install_key install_gtk; + int key_entry_valid; //present current avaliable entry for bssid, for pairkey:0,5,10,15,20, gtk: pairkey_no+i (i:1~4) + +// char *msg; //send eapol msg buff +// size_t msg_len; //msg length:6 + sizeof(eth) + data_len + +// struct netif *ifp; + struct pbuf *pb; + + void (* sendto) (struct pbuf *pb); + void (*config_assoc_ie) (uint8 proto, u8 *assoc_buf, u32 assoc_wpa_ie_len); + void (*install_ppkey) (enum wpa_alg alg, uint8 *addr, int key_idx, int set_tx, + uint8 *seq, size_t seq_len, uint8 *key, size_t key_len, int key_entry_valid); + void (*wpa_deauthenticate)(uint8 reason_code); + void (*wpa_neg_complete)(); + struct wpa_gtk_data gd; //used for calllback save param + uint16 key_info; //used for txcallback param +}; + +struct l2_ethhdr { + u8 h_dest[ETH_ALEN]; + u8 h_source[ETH_ALEN]; + be16 h_proto; +} STRUCT_PACKED; + +/** + * set_key - Configure encryption key + * @ifname: Interface name (for multi-SSID/VLAN support) + * @priv: private driver interface data + * @alg: encryption algorithm (%WPA_ALG_NONE, %WPA_ALG_WEP, + * %WPA_ALG_TKIP, %WPA_ALG_CCMP, %WPA_ALG_IGTK, %WPA_ALG_PMK); + * %WPA_ALG_NONE clears the key. + * @addr: address of the peer STA or ff:ff:ff:ff:ff:ff for + * broadcast/default keys + * @key_idx: key index (0..3), usually 0 for unicast keys; 0..4095 for + * IGTK + * @set_tx: configure this key as the default Tx key (only used when + * driver does not support separate unicast/individual key + * @seq: sequence number/packet number, seq_len octets, the next + * packet number to be used for in replay protection; configured + * for Rx keys (in most cases, this is only used with broadcast + * keys and set to zero for unicast keys) + * @seq_len: length of the seq, depends on the algorithm: + * TKIP: 6 octets, CCMP: 6 octets, IGTK: 6 octets + * @key: key buffer; TKIP: 16-byte temporal key, 8-byte Tx Mic key, + * 8-byte Rx Mic Key + * @key_len: length of the key buffer in octets (WEP: 5 or 13, + * TKIP: 32, CCMP: 16, IGTK: 16) + * + * Returns: 0 on success, -1 on failure + * + * Configure the given key for the kernel driver. If the driver + * supports separate individual keys (4 default keys + 1 individual), + * addr can be used to determine whether the key is default or + * individual. If only 4 keys are supported, the default key with key + * index 0 is used as the individual key. STA must be configured to use + * it as the default Tx key (set_tx is set) and accept Rx for all the + * key indexes. In most cases, WPA uses only key indexes 1 and 2 for + * broadcast keys, so key index 0 is available for this kind of + * configuration. + * + * Please note that TKIP keys include separate TX and RX MIC keys and + * some drivers may expect them in different order than wpa_supplicant + * is using. If the TX/RX keys are swapped, all TKIP encrypted packets + * will tricker Michael MIC errors. This can be fixed by changing the + * order of MIC keys by swapping te bytes 16..23 and 24..31 of the key + * in driver_*.c set_key() implementation, see driver_ndis.c for an + * example on how this can be done. + */ + + +/** + * send_eapol - Optional function for sending EAPOL packets + * @priv: private driver interface data + * @dest: Destination MAC address + * @proto: Ethertype + * @data: EAPOL packet starting with IEEE 802.1X header + * @data_len: Size of the EAPOL packet + * + * Returns: 0 on success, -1 on failure + * + * This optional function can be used to override l2_packet operations + * with driver specific functionality. If this function pointer is set, + * l2_packet module is not used at all and the driver interface code is + * responsible for receiving and sending all EAPOL packets. The + * received EAPOL packets are sent to core code with EVENT_EAPOL_RX + * event. The driver interface is required to implement get_mac_addr() + * handler if send_eapol() is used. + */ + +#define KEYENTRY_TABLE_MAP(key_entry_valid) ((key_entry_valid)%5) + +void pp_michael_mic_failure(uint16 isunicast); + +void wpa_sm_set_state(enum wpa_states state); + +#endif /* WPA_H */ + diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_auth.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_auth.h new file mode 100644 index 00000000..c7299234 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_auth.h @@ -0,0 +1,292 @@ +/* + * hostapd - IEEE 802.11i-2004 / WPA Authenticator + * Copyright (c) 2004-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef WPA_AUTH_H +#define WPA_AUTH_H + +#include "wpa/defs.h" +#include "wpa/eapol_common.h" +#include "wpa/wpa_common.h" + +#ifdef _MSC_VER +#pragma pack(push, 1) +#endif /* _MSC_VER */ + +/* IEEE Std 802.11r-2008, 11A.10.3 - Remote request/response frame definition + */ +struct ft_rrb_frame { + u8 frame_type; /* RSN_REMOTE_FRAME_TYPE_FT_RRB */ + u8 packet_type; /* FT_PACKET_REQUEST/FT_PACKET_RESPONSE */ + le16 action_length; /* little endian length of action_frame */ + u8 ap_address[ETH_ALEN]; + /* + * Followed by action_length bytes of FT Action frame (from Category + * field to the end of Action Frame body. + */ +} STRUCT_PACKED; + +#define RSN_REMOTE_FRAME_TYPE_FT_RRB 1 + +#define FT_PACKET_REQUEST 0 +#define FT_PACKET_RESPONSE 1 +/* Vendor-specific types for R0KH-R1KH protocol; not defined in 802.11r */ +#define FT_PACKET_R0KH_R1KH_PULL 200 +#define FT_PACKET_R0KH_R1KH_RESP 201 +#define FT_PACKET_R0KH_R1KH_PUSH 202 + +#define FT_R0KH_R1KH_PULL_DATA_LEN 44 +#define FT_R0KH_R1KH_RESP_DATA_LEN 76 +#define FT_R0KH_R1KH_PUSH_DATA_LEN 88 + +struct ft_r0kh_r1kh_pull_frame { + u8 frame_type; /* RSN_REMOTE_FRAME_TYPE_FT_RRB */ + u8 packet_type; /* FT_PACKET_R0KH_R1KH_PULL */ + le16 data_length; /* little endian length of data (44) */ + u8 ap_address[ETH_ALEN]; + + u8 nonce[16]; + u8 pmk_r0_name[WPA_PMK_NAME_LEN]; + u8 r1kh_id[FT_R1KH_ID_LEN]; + u8 s1kh_id[ETH_ALEN]; + u8 pad[4]; /* 8-octet boundary for AES key wrap */ + u8 key_wrap_extra[8]; +} STRUCT_PACKED; + +struct ft_r0kh_r1kh_resp_frame { + u8 frame_type; /* RSN_REMOTE_FRAME_TYPE_FT_RRB */ + u8 packet_type; /* FT_PACKET_R0KH_R1KH_RESP */ + le16 data_length; /* little endian length of data (76) */ + u8 ap_address[ETH_ALEN]; + + u8 nonce[16]; /* copied from pull */ + u8 r1kh_id[FT_R1KH_ID_LEN]; /* copied from pull */ + u8 s1kh_id[ETH_ALEN]; /* copied from pull */ + u8 pmk_r1[PMK_LEN]; + u8 pmk_r1_name[WPA_PMK_NAME_LEN]; + le16 pairwise; + u8 pad[2]; /* 8-octet boundary for AES key wrap */ + u8 key_wrap_extra[8]; +} STRUCT_PACKED; + +struct ft_r0kh_r1kh_push_frame { + u8 frame_type; /* RSN_REMOTE_FRAME_TYPE_FT_RRB */ + u8 packet_type; /* FT_PACKET_R0KH_R1KH_PUSH */ + le16 data_length; /* little endian length of data (88) */ + u8 ap_address[ETH_ALEN]; + + /* Encrypted with AES key-wrap */ + u8 timestamp[4]; /* current time in seconds since unix epoch, little + * endian */ + u8 r1kh_id[FT_R1KH_ID_LEN]; + u8 s1kh_id[ETH_ALEN]; + u8 pmk_r0_name[WPA_PMK_NAME_LEN]; + u8 pmk_r1[PMK_LEN]; + u8 pmk_r1_name[WPA_PMK_NAME_LEN]; + le16 pairwise; + u8 pad[6]; /* 8-octet boundary for AES key wrap */ + u8 key_wrap_extra[8]; +} STRUCT_PACKED; + +#ifdef _MSC_VER +#pragma pack(pop) +#endif /* _MSC_VER */ + + +/* per STA state machine data */ + +struct wpa_authenticator; +struct wpa_state_machine; +struct rsn_pmksa_cache_entry; +struct eapol_state_machine; + + +struct ft_remote_r0kh { + struct ft_remote_r0kh *next; + u8 addr[ETH_ALEN]; + u8 id[FT_R0KH_ID_MAX_LEN]; + size_t id_len; + u8 key[16]; +}; + + +struct ft_remote_r1kh { + struct ft_remote_r1kh *next; + u8 addr[ETH_ALEN]; + u8 id[FT_R1KH_ID_LEN]; + u8 key[16]; +}; + + +struct wpa_auth_config { + int wpa; + int wpa_key_mgmt; + int wpa_pairwise; + int wpa_group; + int wpa_group_rekey; + int wpa_strict_rekey; + int wpa_gmk_rekey; + int wpa_ptk_rekey; + int rsn_pairwise; + int rsn_preauth; + int eapol_version; + int peerkey; + int wmm_enabled; + int wmm_uapsd; + int disable_pmksa_caching; + int okc; + int tx_status; +#ifdef CONFIG_IEEE80211W + enum mfp_options ieee80211w; +#endif /* CONFIG_IEEE80211W */ +#ifdef CONFIG_IEEE80211R +#define SSID_LEN 32 + u8 ssid[SSID_LEN]; + size_t ssid_len; + u8 mobility_domain[MOBILITY_DOMAIN_ID_LEN]; + u8 r0_key_holder[FT_R0KH_ID_MAX_LEN]; + size_t r0_key_holder_len; + u8 r1_key_holder[FT_R1KH_ID_LEN]; + u32 r0_key_lifetime; + u32 reassociation_deadline; + struct ft_remote_r0kh *r0kh_list; + struct ft_remote_r1kh *r1kh_list; + int pmk_r1_push; + int ft_over_ds; +#endif /* CONFIG_IEEE80211R */ + int disable_gtk; + int ap_mlme; +}; + +typedef enum { + LOGGER_DEBUG, LOGGER_INFO, LOGGER_WARNING +} logger_level; + +typedef enum { + WPA_EAPOL_portEnabled, WPA_EAPOL_portValid, WPA_EAPOL_authorized, + WPA_EAPOL_portControl_Auto, WPA_EAPOL_keyRun, WPA_EAPOL_keyAvailable, + WPA_EAPOL_keyDone, WPA_EAPOL_inc_EapolFramesTx +} wpa_eapol_variable; + +struct wpa_auth_callbacks { + void *ctx; + void (*logger)(void *ctx, const u8 *addr, logger_level level, + const char *txt); + void (*disconnect)(void *ctx, const u8 *addr, u16 reason); + int (*mic_failure_report)(void *ctx, const u8 *addr); + void (*set_eapol)(void *ctx, const u8 *addr, wpa_eapol_variable var, + int value); + int (*get_eapol)(void *ctx, const u8 *addr, wpa_eapol_variable var); + const u8 * (*get_psk)(void *ctx, const u8 *addr, const u8 *prev_psk); + int (*get_msk)(void *ctx, const u8 *addr, u8 *msk, size_t *len); + int (*set_key)(void *ctx, int vlan_id, enum wpa_alg alg, + const u8 *addr, int idx, u8 *key, size_t key_len); + int (*get_seqnum)(void *ctx, const u8 *addr, int idx, u8 *seq); + int (*send_eapol)(void *ctx, const u8 *addr, const u8 *data, + size_t data_len, int encrypt); + int (*for_each_sta)(void *ctx, int (*cb)(struct wpa_state_machine *sm, + void *ctx), void *cb_ctx); + int (*for_each_auth)(void *ctx, int (*cb)(struct wpa_authenticator *a, + void *ctx), void *cb_ctx); + int (*send_ether)(void *ctx, const u8 *dst, u16 proto, const u8 *data, + size_t data_len); +#ifdef CONFIG_IEEE80211R + struct wpa_state_machine * (*add_sta)(void *ctx, const u8 *sta_addr); + int (*send_ft_action)(void *ctx, const u8 *dst, + const u8 *data, size_t data_len); + int (*add_tspec)(void *ctx, const u8 *sta_addr, u8 *tspec_ie, + size_t tspec_ielen); +#endif /* CONFIG_IEEE80211R */ +}; + +struct wpa_authenticator * wpa_init(const u8 *addr, + struct wpa_auth_config *conf, + struct wpa_auth_callbacks *cb); +int wpa_init_keys(struct wpa_authenticator *wpa_auth); +void wpa_deinit(struct wpa_authenticator *wpa_auth); +int wpa_reconfig(struct wpa_authenticator *wpa_auth, + struct wpa_auth_config *conf); + +enum { + WPA_IE_OK, WPA_INVALID_IE, WPA_INVALID_GROUP, WPA_INVALID_PAIRWISE, + WPA_INVALID_AKMP, WPA_NOT_ENABLED, WPA_ALLOC_FAIL, + WPA_MGMT_FRAME_PROTECTION_VIOLATION, WPA_INVALID_MGMT_GROUP_CIPHER, + WPA_INVALID_MDIE, WPA_INVALID_PROTO +}; + +int wpa_validate_wpa_ie(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, + const u8 *wpa_ie, size_t wpa_ie_len/*, + const u8 *mdie, size_t mdie_len*/); +int wpa_auth_uses_mfp(struct wpa_state_machine *sm); +struct wpa_state_machine * +wpa_auth_sta_init(struct wpa_authenticator *wpa_auth, const u8 *addr); +int wpa_auth_sta_associated(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm); +void wpa_auth_sta_no_wpa(struct wpa_state_machine *sm); +void wpa_auth_sta_deinit(struct wpa_state_machine *sm); +void wpa_receive(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, + u8 *data, size_t data_len); +typedef enum { + WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH, + WPA_REAUTH_EAPOL, WPA_ASSOC_FT +} wpa_event; +void wpa_remove_ptk(struct wpa_state_machine *sm); +int wpa_auth_sm_event(struct wpa_state_machine *sm, wpa_event event); +void wpa_auth_sm_notify(struct wpa_state_machine *sm); +void wpa_gtk_rekey(struct wpa_authenticator *wpa_auth); +int wpa_get_mib(struct wpa_authenticator *wpa_auth, char *buf, size_t buflen); +int wpa_get_mib_sta(struct wpa_state_machine *sm, char *buf, size_t buflen); +void wpa_auth_countermeasures_start(struct wpa_authenticator *wpa_auth); +int wpa_auth_pairwise_set(struct wpa_state_machine *sm); +int wpa_auth_get_pairwise(struct wpa_state_machine *sm); +int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm); +int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm); +int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm, + struct rsn_pmksa_cache_entry *entry); +struct rsn_pmksa_cache_entry * +wpa_auth_sta_get_pmksa(struct wpa_state_machine *sm); +void wpa_auth_sta_local_mic_failure_report(struct wpa_state_machine *sm); +const u8 * wpa_auth_get_wpa_ie(struct wpa_authenticator *wpa_auth, + size_t *len); +int wpa_auth_pmksa_add(struct wpa_state_machine *sm, const u8 *pmk, + int session_timeout, struct eapol_state_machine *eapol); +int wpa_auth_pmksa_add_preauth(struct wpa_authenticator *wpa_auth, + const u8 *pmk, size_t len, const u8 *sta_addr, + int session_timeout, + struct eapol_state_machine *eapol); +int wpa_auth_sta_set_vlan(struct wpa_state_machine *sm, int vlan_id); +void wpa_auth_eapol_key_tx_status(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, int ack); + +#ifdef CONFIG_IEEE80211R +u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8 *pos, + size_t max_len, int auth_alg, + const u8 *req_ies, size_t req_ies_len); +void wpa_ft_process_auth(struct wpa_state_machine *sm, const u8 *bssid, + u16 auth_transaction, const u8 *ies, size_t ies_len, + void (*cb)(void *ctx, const u8 *dst, const u8 *bssid, + u16 auth_transaction, u16 resp, + const u8 *ies, size_t ies_len), + void *ctx); +u16 wpa_ft_validate_reassoc(struct wpa_state_machine *sm, const u8 *ies, + size_t ies_len); +int wpa_ft_action_rx(struct wpa_state_machine *sm, const u8 *data, size_t len); +int wpa_ft_rrb_rx(struct wpa_authenticator *wpa_auth, const u8 *src_addr, + const u8 *data, size_t data_len); +void wpa_ft_push_pmk_r1(struct wpa_authenticator *wpa_auth, const u8 *addr); +#endif /* CONFIG_IEEE80211R */ + +void wpa_wnmsleep_rekey_gtk(struct wpa_state_machine *sm); +void wpa_set_wnmsleep(struct wpa_state_machine *sm, int flag); +int wpa_wnmsleep_gtk_subelem(struct wpa_state_machine *sm, u8 *pos); +int wpa_wnmsleep_igtk_subelem(struct wpa_state_machine *sm, u8 *pos); + +int wpa_auth_uses_sae(struct wpa_state_machine *sm); + +#endif /* WPA_AUTH_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_auth_i.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_auth_i.h new file mode 100644 index 00000000..53ad8ea9 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_auth_i.h @@ -0,0 +1,234 @@ +/* + * hostapd - IEEE 802.11i-2004 / WPA Authenticator: Internal definitions + * Copyright (c) 2004-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef WPA_AUTH_I_H +#define WPA_AUTH_I_H + +/* max(dot11RSNAConfigGroupUpdateCount,dot11RSNAConfigPairwiseUpdateCount) */ +#define RSNA_MAX_EAPOL_RETRIES 4 + +struct wpa_group; + +struct wpa_stsl_negotiation { + struct wpa_stsl_negotiation *next; + u8 initiator[ETH_ALEN]; + u8 peer[ETH_ALEN]; +}; + + +struct wpa_state_machine { + struct wpa_authenticator *wpa_auth; + struct wpa_group *group; + + u8 addr[ETH_ALEN]; + + enum { + WPA_PTK_INITIALIZE, WPA_PTK_DISCONNECT, WPA_PTK_DISCONNECTED, + WPA_PTK_AUTHENTICATION, WPA_PTK_AUTHENTICATION2, + WPA_PTK_INITPMK, WPA_PTK_INITPSK, WPA_PTK_PTKSTART, + WPA_PTK_PTKCALCNEGOTIATING, WPA_PTK_PTKCALCNEGOTIATING2, + WPA_PTK_PTKINITNEGOTIATING, WPA_PTK_PTKINITDONE + } wpa_ptk_state; + + enum { + WPA_PTK_GROUP_IDLE = 0, + WPA_PTK_GROUP_REKEYNEGOTIATING, + WPA_PTK_GROUP_REKEYESTABLISHED, + WPA_PTK_GROUP_KEYERROR + } wpa_ptk_group_state; + + Boolean Init; + Boolean DeauthenticationRequest; + Boolean AuthenticationRequest; + Boolean ReAuthenticationRequest; + Boolean Disconnect; + int TimeoutCtr; + int GTimeoutCtr; + Boolean TimeoutEvt; + Boolean EAPOLKeyReceived; + Boolean EAPOLKeyPairwise; + Boolean EAPOLKeyRequest; + Boolean MICVerified; + Boolean GUpdateStationKeys; + u8 ANonce[WPA_NONCE_LEN]; + u8 SNonce[WPA_NONCE_LEN]; + u8 PMK[PMK_LEN]; + struct wpa_ptk PTK; + Boolean PTK_valid; + Boolean pairwise_set; + int keycount; + Boolean Pair; + struct wpa_key_replay_counter { + u8 counter[WPA_REPLAY_COUNTER_LEN]; + Boolean valid; + } key_replay[RSNA_MAX_EAPOL_RETRIES], + prev_key_replay[RSNA_MAX_EAPOL_RETRIES]; + Boolean PInitAKeys; /* WPA only, not in IEEE 802.11i */ + Boolean PTKRequest; /* not in IEEE 802.11i state machine */ + Boolean has_GTK; + Boolean PtkGroupInit; /* init request for PTK Group state machine */ + + u8 *last_rx_eapol_key; /* starting from IEEE 802.1X header */ + size_t last_rx_eapol_key_len; + + unsigned int changed:1; + unsigned int in_step_loop:1; + unsigned int pending_deinit:1; + unsigned int started:1; + unsigned int mgmt_frame_prot:1; + unsigned int rx_eapol_key_secure:1; + unsigned int update_snonce:1; +#ifdef CONFIG_IEEE80211R + unsigned int ft_completed:1; + unsigned int pmk_r1_name_valid:1; +#endif /* CONFIG_IEEE80211R */ + unsigned int is_wnmsleep:1; + + u8 req_replay_counter[WPA_REPLAY_COUNTER_LEN]; + int req_replay_counter_used; + + u8 *wpa_ie; + size_t wpa_ie_len; + + enum { + WPA_VERSION_NO_WPA = 0 /* WPA not used */, + WPA_VERSION_WPA = 1 /* WPA / IEEE 802.11i/D3.0 */, + WPA_VERSION_WPA2 = 2 /* WPA2 / IEEE 802.11i */ + } wpa; + int pairwise; /* Pairwise cipher suite, WPA_CIPHER_* */ + int wpa_key_mgmt; /* the selected WPA_KEY_MGMT_* */ +// struct rsn_pmksa_cache_entry *pmksa; + +// u32 dot11RSNAStatsTKIPLocalMICFailures; +// u32 dot11RSNAStatsTKIPRemoteMICFailures; + +#ifdef CONFIG_IEEE80211R + u8 xxkey[PMK_LEN]; /* PSK or the second 256 bits of MSK */ + size_t xxkey_len; + u8 pmk_r1_name[WPA_PMK_NAME_LEN]; /* PMKR1Name derived from FT Auth + * Request */ + u8 r0kh_id[FT_R0KH_ID_MAX_LEN]; /* R0KH-ID from FT Auth Request */ + size_t r0kh_id_len; + u8 sup_pmk_r1_name[WPA_PMK_NAME_LEN]; /* PMKR1Name from EAPOL-Key + * message 2/4 */ + u8 *assoc_resp_ftie; +#endif /* CONFIG_IEEE80211R */ + + int pending_1_of_4_timeout; +}; + + +/* per group key state machine data */ +struct wpa_group { + struct wpa_group *next; + int vlan_id; + + Boolean GInit; + int GKeyDoneStations; + Boolean GTKReKey; + int GTK_len; + int GN, GM; + Boolean GTKAuthenticator; + u8 Counter[WPA_NONCE_LEN]; + + enum { + WPA_GROUP_GTK_INIT = 0, + WPA_GROUP_SETKEYS, WPA_GROUP_SETKEYSDONE + } wpa_group_state; + + u8 GMK[WPA_GMK_LEN]; + u8 GTK[2][WPA_GTK_MAX_LEN]; + u8 GNonce[WPA_NONCE_LEN]; + Boolean changed; + Boolean first_sta_seen; + Boolean reject_4way_hs_for_entropy; +#ifdef CONFIG_IEEE80211W + u8 IGTK[2][WPA_IGTK_LEN]; + int GN_igtk, GM_igtk; +#endif /* CONFIG_IEEE80211W */ +}; + + +struct wpa_ft_pmk_cache; + +/* per authenticator data */ +struct wpa_authenticator { + struct wpa_group *group; + +// unsigned int dot11RSNAStatsTKIPRemoteMICFailures; +// u32 dot11RSNAAuthenticationSuiteSelected; +// u32 dot11RSNAPairwiseCipherSelected; +// u32 dot11RSNAGroupCipherSelected; +// u8 dot11RSNAPMKIDUsed[PMKID_LEN]; +// u32 dot11RSNAAuthenticationSuiteRequested; /* FIX: update */ +// u32 dot11RSNAPairwiseCipherRequested; /* FIX: update */ +// u32 dot11RSNAGroupCipherRequested; /* FIX: update */ +// unsigned int dot11RSNATKIPCounterMeasuresInvoked; +// unsigned int dot11RSNA4WayHandshakeFailures; + +// struct wpa_stsl_negotiation *stsl_negotiations; + + struct wpa_auth_config conf; +// struct wpa_auth_callbacks cb; + + u8 *wpa_ie; + size_t wpa_ie_len; + + u8 addr[ETH_ALEN]; + +// struct rsn_pmksa_cache *pmksa; +// struct wpa_ft_pmk_cache *ft_pmk_cache; +}; + + +int wpa_write_rsn_ie(struct wpa_auth_config *conf, u8 *buf, size_t len, + const u8 *pmkid); +#if 0 +void wpa_auth_logger(struct wpa_authenticator *wpa_auth, const u8 *addr, + logger_level level, const char *txt); +void wpa_auth_vlogger(struct wpa_authenticator *wpa_auth, const u8 *addr, + logger_level level, const char *fmt, ...); +#endif +void __wpa_send_eapol(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, int key_info, + const u8 *key_rsc, const u8 *nonce, + const u8 *kde, size_t kde_len, + int keyidx, int encr, int force_version); +int wpa_auth_for_each_sta(struct wpa_authenticator *wpa_auth, + int (*cb)(struct wpa_state_machine *sm, void *ctx), + void *cb_ctx); +int wpa_auth_for_each_auth(struct wpa_authenticator *wpa_auth, + int (*cb)(struct wpa_authenticator *a, void *ctx), + void *cb_ctx); + +#ifdef CONFIG_PEERKEY +int wpa_stsl_remove(struct wpa_authenticator *wpa_auth, + struct wpa_stsl_negotiation *neg); +void wpa_smk_error(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, struct wpa_eapol_key *key); +void wpa_smk_m1(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, struct wpa_eapol_key *key); +void wpa_smk_m3(struct wpa_authenticator *wpa_auth, + struct wpa_state_machine *sm, struct wpa_eapol_key *key); +#endif /* CONFIG_PEERKEY */ + +#ifdef CONFIG_IEEE80211R +int wpa_write_mdie(struct wpa_auth_config *conf, u8 *buf, size_t len); +int wpa_write_ftie(struct wpa_auth_config *conf, const u8 *r0kh_id, + size_t r0kh_id_len, + const u8 *anonce, const u8 *snonce, + u8 *buf, size_t len, const u8 *subelem, + size_t subelem_len); +int wpa_auth_derive_ptk_ft(struct wpa_state_machine *sm, const u8 *pmk, + struct wpa_ptk *ptk, size_t ptk_len); +struct wpa_ft_pmk_cache * wpa_ft_pmk_cache_init(void); +void wpa_ft_pmk_cache_deinit(struct wpa_ft_pmk_cache *cache); +void wpa_ft_install_ptk(struct wpa_state_machine *sm); +#endif /* CONFIG_IEEE80211R */ + +#endif /* WPA_AUTH_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_auth_ie.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_auth_ie.h new file mode 100644 index 00000000..49991395 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_auth_ie.h @@ -0,0 +1,50 @@ +/* + * hostapd - WPA/RSN IE and KDE definitions + * Copyright (c) 2004-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef WPA_AUTH_IE_H +#define WPA_AUTH_IE_H + +struct wpa_eapol_ie_parse { + const u8 *wpa_ie; + size_t wpa_ie_len; + const u8 *rsn_ie; + size_t rsn_ie_len; + const u8 *pmkid; + const u8 *gtk; + size_t gtk_len; + const u8 *mac_addr; + size_t mac_addr_len; +#ifdef CONFIG_PEERKEY + const u8 *smk; + size_t smk_len; + const u8 *nonce; + size_t nonce_len; + const u8 *lifetime; + size_t lifetime_len; + const u8 *error; + size_t error_len; +#endif /* CONFIG_PEERKEY */ +#ifdef CONFIG_IEEE80211W + const u8 *igtk; + size_t igtk_len; +#endif /* CONFIG_IEEE80211W */ +#ifdef CONFIG_IEEE80211R + const u8 *mdie; + size_t mdie_len; + const u8 *ftie; + size_t ftie_len; +#endif /* CONFIG_IEEE80211R */ +}; + +int wpa_parse_kde_ies(const u8 *buf, size_t len, + struct wpa_eapol_ie_parse *ie); +u8 * wpa_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len, + const u8 *data2, size_t data2_len); +int wpa_auth_gen_wpa_ie(struct wpa_authenticator *wpa_auth); + +#endif /* WPA_AUTH_IE_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_common.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_common.h new file mode 100644 index 00000000..480cf0e2 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_common.h @@ -0,0 +1,332 @@ +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2008, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#include "os.h" +#ifndef WPA_COMMON_H +#define WPA_COMMON_H + +#define WPA_MAX_SSID_LEN 32 + +/* IEEE 802.11i */ +#define PMKID_LEN 16 +#define PMK_LEN 32 +#define WPA_REPLAY_COUNTER_LEN 8 +#define WPA_NONCE_LEN 32 +#define WPA_KEY_RSC_LEN 8 +#define WPA_GMK_LEN 32 +#define WPA_GTK_MAX_LEN 32 + +#define WPA_SELECTOR_LEN 4 +#define WPA_VERSION 1 +#define RSN_SELECTOR_LEN 4 +#define RSN_VERSION 1 + +#define RSN_SELECTOR(a, b, c, d) \ + ((((u32) (a)) << 24) | (((u32) (b)) << 16) | (((u32) (c)) << 8) | \ + (u32) (d)) + +#define WPA_AUTH_KEY_MGMT_NONE RSN_SELECTOR(0x00, 0x50, 0xf2, 0) +#define WPA_AUTH_KEY_MGMT_UNSPEC_802_1X RSN_SELECTOR(0x00, 0x50, 0xf2, 1) +#define WPA_AUTH_KEY_MGMT_PSK_OVER_802_1X RSN_SELECTOR(0x00, 0x50, 0xf2, 2) +#define WPA_CIPHER_SUITE_NONE RSN_SELECTOR(0x00, 0x50, 0xf2, 0) +#define WPA_CIPHER_SUITE_WEP40 RSN_SELECTOR(0x00, 0x50, 0xf2, 1) +#define WPA_CIPHER_SUITE_TKIP RSN_SELECTOR(0x00, 0x50, 0xf2, 2) +#if 0 +#define WPA_CIPHER_SUITE_WRAP RSN_SELECTOR(0x00, 0x50, 0xf2, 3) +#endif +#define WPA_CIPHER_SUITE_CCMP RSN_SELECTOR(0x00, 0x50, 0xf2, 4) +#define WPA_CIPHER_SUITE_WEP104 RSN_SELECTOR(0x00, 0x50, 0xf2, 5) + + +#define RSN_AUTH_KEY_MGMT_UNSPEC_802_1X RSN_SELECTOR(0x00, 0x0f, 0xac, 1) +#define RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X RSN_SELECTOR(0x00, 0x0f, 0xac, 2) +#ifdef CONFIG_IEEE80211R +#define RSN_AUTH_KEY_MGMT_FT_802_1X RSN_SELECTOR(0x00, 0x0f, 0xac, 3) +#define RSN_AUTH_KEY_MGMT_FT_PSK RSN_SELECTOR(0x00, 0x0f, 0xac, 4) +#endif /* CONFIG_IEEE80211R */ +#define RSN_AUTH_KEY_MGMT_802_1X_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 5) +#define RSN_AUTH_KEY_MGMT_PSK_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 6) + +#define RSN_CIPHER_SUITE_NONE RSN_SELECTOR(0x00, 0x0f, 0xac, 0) +#define RSN_CIPHER_SUITE_WEP40 RSN_SELECTOR(0x00, 0x0f, 0xac, 1) +#define RSN_CIPHER_SUITE_TKIP RSN_SELECTOR(0x00, 0x0f, 0xac, 2) +#if 0 +#define RSN_CIPHER_SUITE_WRAP RSN_SELECTOR(0x00, 0x0f, 0xac, 3) +#endif +#define RSN_CIPHER_SUITE_CCMP RSN_SELECTOR(0x00, 0x0f, 0xac, 4) +#define RSN_CIPHER_SUITE_WEP104 RSN_SELECTOR(0x00, 0x0f, 0xac, 5) +#ifdef CONFIG_IEEE80211W +#define RSN_CIPHER_SUITE_AES_128_CMAC RSN_SELECTOR(0x00, 0x0f, 0xac, 6) +#endif /* CONFIG_IEEE80211W */ +#define RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED RSN_SELECTOR(0x00, 0x0f, 0xac, 7) +#define RSN_CIPHER_SUITE_GCMP RSN_SELECTOR(0x00, 0x0f, 0xac, 8) + +/* EAPOL-Key Key Data Encapsulation + * GroupKey and PeerKey require encryption, otherwise, encryption is optional. + */ +#define RSN_KEY_DATA_GROUPKEY RSN_SELECTOR(0x00, 0x0f, 0xac, 1) +#if 0 +#define RSN_KEY_DATA_STAKEY RSN_SELECTOR(0x00, 0x0f, 0xac, 2) +#endif +#define RSN_KEY_DATA_MAC_ADDR RSN_SELECTOR(0x00, 0x0f, 0xac, 3) +#define RSN_KEY_DATA_PMKID RSN_SELECTOR(0x00, 0x0f, 0xac, 4) +#ifdef CONFIG_PEERKEY +#define RSN_KEY_DATA_SMK RSN_SELECTOR(0x00, 0x0f, 0xac, 5) +#define RSN_KEY_DATA_NONCE RSN_SELECTOR(0x00, 0x0f, 0xac, 6) +#define RSN_KEY_DATA_LIFETIME RSN_SELECTOR(0x00, 0x0f, 0xac, 7) +#define RSN_KEY_DATA_ERROR RSN_SELECTOR(0x00, 0x0f, 0xac, 8) +#endif /* CONFIG_PEERKEY */ +#ifdef CONFIG_IEEE80211W +#define RSN_KEY_DATA_IGTK RSN_SELECTOR(0x00, 0x0f, 0xac, 9) +#endif /* CONFIG_IEEE80211W */ + +#define WPA_OUI_TYPE RSN_SELECTOR(0x00, 0x50, 0xf2, 1) + +#define RSN_SELECTOR_PUT(a, val) WPA_PUT_BE32((u8 *) (a), (val)) +#define RSN_SELECTOR_GET(a) WPA_GET_BE32((const u8 *) (a)) + +#define RSN_NUM_REPLAY_COUNTERS_1 0 +#define RSN_NUM_REPLAY_COUNTERS_2 1 +#define RSN_NUM_REPLAY_COUNTERS_4 2 +#define RSN_NUM_REPLAY_COUNTERS_16 3 + +#ifdef _MSC_VER +#pragma pack(push, 1) +#endif /* _MSC_VER */ + +#ifdef CONFIG_IEEE80211W +#define WPA_IGTK_LEN 16 +#endif /* CONFIG_IEEE80211W */ + + +/* IEEE 802.11, 7.3.2.25.3 RSN Capabilities */ +#define WPA_CAPABILITY_PREAUTH BIT(0) +#define WPA_CAPABILITY_NO_PAIRWISE BIT(1) +/* B2-B3: PTKSA Replay Counter */ +/* B4-B5: GTKSA Replay Counter */ +#define WPA_CAPABILITY_MFPR BIT(6) +#define WPA_CAPABILITY_MFPC BIT(7) +#define WPA_CAPABILITY_PEERKEY_ENABLED BIT(9) + + +/* IEEE 802.11r */ +#define MOBILITY_DOMAIN_ID_LEN 2 +#define FT_R0KH_ID_MAX_LEN 48 +#define FT_R1KH_ID_LEN 6 +#define WPA_PMK_NAME_LEN 16 + + +/* IEEE 802.11, 8.5.2 EAPOL-Key frames */ +#define WPA_KEY_INFO_TYPE_MASK ((u16) (BIT(0) | BIT(1) | BIT(2))) +#define WPA_KEY_INFO_TYPE_HMAC_MD5_RC4 BIT(0) +#define WPA_KEY_INFO_TYPE_HMAC_SHA1_AES BIT(1) +#define WPA_KEY_INFO_TYPE_AES_128_CMAC 3 +#define WPA_KEY_INFO_KEY_TYPE BIT(3) /* 1 = Pairwise, 0 = Group key */ +/* bit4..5 is used in WPA, but is reserved in IEEE 802.11i/RSN */ +#define WPA_KEY_INFO_KEY_INDEX_MASK (BIT(4) | BIT(5)) +#define WPA_KEY_INFO_KEY_INDEX_SHIFT 4 +#define WPA_KEY_INFO_INSTALL BIT(6) /* pairwise */ +#define WPA_KEY_INFO_TXRX BIT(6) /* group */ +#define WPA_KEY_INFO_ACK BIT(7) +#define WPA_KEY_INFO_MIC BIT(8) +#define WPA_KEY_INFO_SECURE BIT(9) +#define WPA_KEY_INFO_ERROR BIT(10) +#define WPA_KEY_INFO_REQUEST BIT(11) +#define WPA_KEY_INFO_ENCR_KEY_DATA BIT(12) /* IEEE 802.11i/RSN only */ +#define WPA_KEY_INFO_SMK_MESSAGE BIT(13) + + +struct wpa_eapol_key { + u8 type; + /* Note: key_info, key_length, and key_data_length are unaligned */ + u8 key_info[2]; /* big endian */ + u8 key_length[2]; /* big endian */ + u8 replay_counter[WPA_REPLAY_COUNTER_LEN]; + u8 key_nonce[WPA_NONCE_LEN]; + u8 key_iv[16]; + u8 key_rsc[WPA_KEY_RSC_LEN]; + u8 key_id[8]; /* Reserved in IEEE 802.11i/RSN */ + u8 key_mic[16]; + u8 key_data_length[2]; /* big endian */ + /* followed by key_data_length bytes of key_data */ +} STRUCT_PACKED; + +/** + * struct wpa_ptk - WPA Pairwise Transient Key + * IEEE Std 802.11i-2004 - 8.5.1.2 Pairwise key hierarchy + */ +struct wpa_ptk { + u8 kck[16]; /* EAPOL-Key Key Confirmation Key (KCK) */ + u8 kek[16]; /* EAPOL-Key Key Encryption Key (KEK) */ + u8 tk1[16]; /* Temporal Key 1 (TK1) */ + union { + u8 tk2[16]; /* Temporal Key 2 (TK2) */ + struct { + u8 tx_mic_key[8]; + u8 rx_mic_key[8]; + } auth; + } u; +} STRUCT_PACKED; + +struct wpa_gtk_data { + enum wpa_alg alg; + int tx, key_rsc_len, keyidx; + u8 gtk[32]; + int gtk_len; +}; + + +/* WPA IE version 1 + * 00-50-f2:1 (OUI:OUI type) + * 0x01 0x00 (version; little endian) + * (all following fields are optional:) + * Group Suite Selector (4 octets) (default: TKIP) + * Pairwise Suite Count (2 octets, little endian) (default: 1) + * Pairwise Suite List (4 * n octets) (default: TKIP) + * Authenticated Key Management Suite Count (2 octets, little endian) + * (default: 1) + * Authenticated Key Management Suite List (4 * n octets) + * (default: unspec 802.1X) + * WPA Capabilities (2 octets, little endian) (default: 0) + */ + +struct wpa_ie_hdr { + u8 elem_id; + u8 len; + u8 oui[4]; /* 24-bit OUI followed by 8-bit OUI type */ + u8 version[2]; /* little endian */ +} STRUCT_PACKED; + + +/* 1/4: PMKID + * 2/4: RSN IE + * 3/4: one or two RSN IEs + GTK IE (encrypted) + * 4/4: empty + * 1/2: GTK IE (encrypted) + * 2/2: empty + */ + +/* RSN IE version 1 + * 0x01 0x00 (version; little endian) + * (all following fields are optional:) + * Group Suite Selector (4 octets) (default: CCMP) + * Pairwise Suite Count (2 octets, little endian) (default: 1) + * Pairwise Suite List (4 * n octets) (default: CCMP) + * Authenticated Key Management Suite Count (2 octets, little endian) + * (default: 1) + * Authenticated Key Management Suite List (4 * n octets) + * (default: unspec 802.1X) + * RSN Capabilities (2 octets, little endian) (default: 0) + * PMKID Count (2 octets) (default: 0) + * PMKID List (16 * n octets) + * Management Group Cipher Suite (4 octets) (default: AES-128-CMAC) + */ + +struct rsn_ie_hdr { + u8 elem_id; /* WLAN_EID_RSN */ + u8 len; + u8 version[2]; /* little endian */ +} STRUCT_PACKED; + + +#ifdef CONFIG_PEERKEY +enum { + STK_MUI_4WAY_STA_AP = 1, + STK_MUI_4WAY_STAT_STA = 2, + STK_MUI_GTK = 3, + STK_MUI_SMK = 4 +}; + +enum { + STK_ERR_STA_NR = 1, + STK_ERR_STA_NRSN = 2, + STK_ERR_CPHR_NS = 3, + STK_ERR_NO_STSL = 4 +}; +#endif /* CONFIG_PEERKEY */ + +struct rsn_error_kde { + be16 mui; + be16 error_type; +} STRUCT_PACKED; + +#ifdef CONFIG_IEEE80211W +struct wpa_igtk_kde { + u8 keyid[2]; + u8 pn[6]; + u8 igtk[WPA_IGTK_LEN]; +} STRUCT_PACKED; +#endif /* CONFIG_IEEE80211W */ + +#ifdef CONFIG_IEEE80211R +struct rsn_mdie { + u8 mobility_domain[MOBILITY_DOMAIN_ID_LEN]; + u8 ft_capab; +} STRUCT_PACKED; + +#define RSN_FT_CAPAB_FT_OVER_DS BIT(0) +#define RSN_FT_CAPAB_FT_RESOURCE_REQ_SUPP BIT(1) + +struct rsn_ftie { + u8 mic_control[2]; + u8 mic[16]; + u8 anonce[WPA_NONCE_LEN]; + u8 snonce[WPA_NONCE_LEN]; + /* followed by optional parameters */ +} STRUCT_PACKED; + +#define FTIE_SUBELEM_R1KH_ID 1 +#define FTIE_SUBELEM_GTK 2 +#define FTIE_SUBELEM_R0KH_ID 3 +#define FTIE_SUBELEM_IGTK 4 + +struct rsn_rdie { + u8 id; + u8 descr_count; + le16 status_code; +} STRUCT_PACKED; + +#endif /* CONFIG_IEEE80211R */ + +struct wpa_ie_data { + int proto; + int pairwise_cipher; + int group_cipher; + int key_mgmt; + int capabilities; + size_t num_pmkid; + const u8 *pmkid; + int mgmt_group_cipher; +}; + +const char * wpa_cipher_txt(int cipher); + +int wpa_parse_wpa_ie_rsn(const u8 *rsn_ie, size_t rsn_ie_len, + struct wpa_ie_data *data); + +int wpa_eapol_key_mic(const u8 *key, int ver, const u8 *buf, size_t len, + u8 *mic); +int wpa_compare_rsn_ie(int ft_initial_assoc, + const u8 *ie1, size_t ie1len, + const u8 *ie2, size_t ie2len); + +void wpa_pmk_to_ptk(const u8 *pmk, size_t pmk_len, const char *label, + const u8 *addr1, const u8 *addr2, + const u8 *nonce1, const u8 *nonce2, + u8 *ptk, size_t ptk_len, int use_sha256); + +void rsn_pmkid(const u8 *pmk, size_t pmk_len, const u8 *aa, const u8 *spa, + u8 *pmkid, int use_sha256); + +#endif /* WPA_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_debug.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_debug.h new file mode 100644 index 00000000..b78a657e --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_debug.h @@ -0,0 +1,193 @@ +/* + * wpa_supplicant/hostapd / Debug prints + * Copyright (c) 2002-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef WPA_DEBUG_H +#define WPA_DEBUG_H + + +enum { MSG_MSGDUMP, MSG_DEBUG, MSG_INFO, MSG_WARNING, MSG_ERROR }; + +/** EAP authentication completed successfully */ +#define WPA_EVENT_EAP_SUCCESS "CTRL-EVENT-EAP-SUCCESS " + +int wpa_debug_open_file(const char *path); +void wpa_debug_close_file(void); + +/** + * wpa_debug_printf_timestamp - Print timestamp for debug output + * + * This function prints a timestamp in seconds_from_1970.microsoconds + * format if debug output has been configured to include timestamps in debug + * messages. + */ +void wpa_debug_print_timestamp(void); + +/** + * wpa_printf - conditional printf + * @level: priority level (MSG_*) of the message + * @fmt: printf format string, followed by optional arguments + * + * This function is used to print conditional debugging and error messages. The + * output may be directed to stdout, stderr, and/or syslog based on + * configuration. + * + * Note: New line '\n' is added to the end of the text when printing to stdout. + */ +//#define DEBUG_PRINT +//#define MSG_PRINT + +/** + * wpa_hexdump - conditional hex dump + * @level: priority level (MSG_*) of the message + * @title: title of for the message + * @buf: data buffer to be dumped + * @len: length of the buf + * + * This function is used to print conditional debugging and error messages. The + * output may be directed to stdout, stderr, and/or syslog based on + * configuration. The contents of buf is printed out has hex dump. + */ +#ifdef DEBUG_PRINT +#define wpa_printf(level,fmt, args...) ets_printf(fmt,## args) + +static inline void wpa_hexdump_ascii(int level, const char *title, const u8 *buf, size_t len) +{ + +} + +static inline void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf, size_t len) +{ +} + + +void wpa_hexdump(int level, const char *title, const u8 *buf, size_t len); + +static inline void wpa_hexdump_buf(int level, const char *title, + const struct wpabuf *buf) +{ + wpa_hexdump(level, title, wpabuf_head(buf), wpabuf_len(buf)); +} + +/** + * wpa_hexdump_key - conditional hex dump, hide keys + * @level: priority level (MSG_*) of the message + * @title: title of for the message + * @buf: data buffer to be dumped + * @len: length of the buf + * + * This function is used to print conditional debugging and error messages. The + * output may be directed to stdout, stderr, and/or syslog based on + * configuration. The contents of buf is printed out has hex dump. This works + * like wpa_hexdump(), but by default, does not include secret keys (passwords, + * etc.) in debug output. + */ +void wpa_hexdump_key(int level, const char *title, const u8 *buf, size_t len); + + +static inline void wpa_hexdump_buf_key(int level, const char *title, + const struct wpabuf *buf) +{ + wpa_hexdump_key(level, title, wpabuf_head(buf), wpabuf_len(buf)); +} + +/** + * wpa_hexdump_ascii - conditional hex dump + * @level: priority level (MSG_*) of the message + * @title: title of for the message + * @buf: data buffer to be dumped + * @len: length of the buf + * + * This function is used to print conditional debugging and error messages. The + * output may be directed to stdout, stderr, and/or syslog based on + * configuration. The contents of buf is printed out has hex dump with both + * the hex numbers and ASCII characters (for printable range) are shown. 16 + * bytes per line will be shown. + */ +void wpa_hexdump_ascii(int level, const char *title, const u8 *buf, + size_t len); + +/** + * wpa_hexdump_ascii_key - conditional hex dump, hide keys + * @level: priority level (MSG_*) of the message + * @title: title of for the message + * @buf: data buffer to be dumped + * @len: length of the buf + * + * This function is used to print conditional debugging and error messages. The + * output may be directed to stdout, stderr, and/or syslog based on + * configuration. The contents of buf is printed out has hex dump with both + * the hex numbers and ASCII characters (for printable range) are shown. 16 + * bytes per line will be shown. This works like wpa_hexdump_ascii(), but by + * default, does not include secret keys (passwords, etc.) in debug output. + */ +void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf, + size_t len); +#else +#define wpa_printf(level,fmt, args...) +#define wpa_hexdump(...) +#define wpa_hexdump_buf(...) +#define wpa_hexdump_key(...) +#define wpa_hexdump_buf_key(...) +#define wpa_hexdump_ascii(...) +#define wpa_hexdump_ascii_key(...) +#endif + +#define wpa_auth_logger +#define wpa_auth_vlogger + +/** + * wpa_msg - Conditional printf for default target and ctrl_iface monitors + * @ctx: Pointer to context data; this is the ctx variable registered + * with struct wpa_driver_ops::init() + * @level: priority level (MSG_*) of the message + * @fmt: printf format string, followed by optional arguments + * + * This function is used to print conditional debugging and error messages. The + * output may be directed to stdout, stderr, and/or syslog based on + * configuration. This function is like wpa_printf(), but it also sends the + * same message to all attached ctrl_iface monitors. + * + * Note: New line '\n' is added to the end of the text when printing to stdout. + */ +void wpa_msg(void *ctx, int level, const char *fmt, ...) PRINTF_FORMAT(3, 4); + +/** + * wpa_msg_ctrl - Conditional printf for ctrl_iface monitors + * @ctx: Pointer to context data; this is the ctx variable registered + * with struct wpa_driver_ops::init() + * @level: priority level (MSG_*) of the message + * @fmt: printf format string, followed by optional arguments + * + * This function is used to print conditional debugging and error messages. + * This function is like wpa_msg(), but it sends the output only to the + * attached ctrl_iface monitors. In other words, it can be used for frequent + * events that do not need to be sent to syslog. + */ +void wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...) +PRINTF_FORMAT(3, 4); + +typedef void (*wpa_msg_cb_func)(void *ctx, int level, const char *txt, + size_t len); + +typedef void (*eloop_timeout_handler)(void *eloop_data, void *user_ctx); + +int eloop_cancel_timeout(eloop_timeout_handler handler, + void *eloop_data, void *user_data); + +int eloop_register_timeout(unsigned int secs, unsigned int usecs, + eloop_timeout_handler handler, + void *eloop_data, void *user_data); + + +#endif /* WPA_DEBUG_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_i.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_i.h new file mode 100644 index 00000000..a43c33d3 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_i.h @@ -0,0 +1,89 @@ +/* + * Internal WPA/RSN supplicant state machine definitions + * Copyright (c) 2004-2010, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef WPA_I_H +#define WPA_I_H + +/** + * set_key - Configure encryption key + * @ifname: Interface name (for multi-SSID/VLAN support) + * @priv: private driver interface data + * @alg: encryption algorithm (%WPA_ALG_NONE, %WPA_ALG_WEP, + * %WPA_ALG_TKIP, %WPA_ALG_CCMP, %WPA_ALG_IGTK, %WPA_ALG_PMK); + * %WPA_ALG_NONE clears the key. + * @addr: address of the peer STA or ff:ff:ff:ff:ff:ff for + * broadcast/default keys + * @key_idx: key index (0..3), usually 0 for unicast keys; 0..4095 for + * IGTK + * @set_tx: configure this key as the default Tx key (only used when + * driver does not support separate unicast/individual key + * @seq: sequence number/packet number, seq_len octets, the next + * packet number to be used for in replay protection; configured + * for Rx keys (in most cases, this is only used with broadcast + * keys and set to zero for unicast keys) + * @seq_len: length of the seq, depends on the algorithm: + * TKIP: 6 octets, CCMP: 6 octets, IGTK: 6 octets + * @key: key buffer; TKIP: 16-byte temporal key, 8-byte Tx Mic key, + * 8-byte Rx Mic Key + * @key_len: length of the key buffer in octets (WEP: 5 or 13, + * TKIP: 32, CCMP: 16, IGTK: 16) + * + * Returns: 0 on success, -1 on failure + * + * Configure the given key for the kernel driver. If the driver + * supports separate individual keys (4 default keys + 1 individual), + * addr can be used to determine whether the key is default or + * individual. If only 4 keys are supported, the default key with key + * index 0 is used as the individual key. STA must be configured to use + * it as the default Tx key (set_tx is set) and accept Rx for all the + * key indexes. In most cases, WPA uses only key indexes 1 and 2 for + * broadcast keys, so key index 0 is available for this kind of + * configuration. + * + * Please note that TKIP keys include separate TX and RX MIC keys and + * some drivers may expect them in different order than wpa_supplicant + * is using. If the TX/RX keys are swapped, all TKIP encrypted packets + * will tricker Michael MIC errors. This can be fixed by changing the + * order of MIC keys by swapping te bytes 16..23 and 24..31 of the key + * in driver_*.c set_key() implementation, see driver_ndis.c for an + * example on how this can be done. + */ + +typedef void (* WPA_SEND_FUNC)(struct pbuf *pb); + +typedef void (* WPA_SET_ASSOC_IE)(uint8 proto, u8 *assoc_buf, u32 assoc_wpa_ie_len); + +typedef void (*WPA_INSTALL_KEY) (enum wpa_alg alg, uint8 *addr, int key_idx, int set_tx, + uint8 *seq, size_t seq_len, uint8 *key, size_t key_len, int key_entry_valid); + +typedef void (*WPA_DEAUTH)(uint8 reason_code); + +typedef void (*WPA_NEG_COMPLETE)(); + +void wpa_register(char * payload, WPA_SEND_FUNC snd_func, \ + WPA_SET_ASSOC_IE set_assoc_ie_func, \ + WPA_INSTALL_KEY ppinstallkey, \ + WPA_DEAUTH wpa_deauth, \ + WPA_NEG_COMPLETE wpa_neg_complete); + +#include "pp/esf_buf.h" +void eapol_txcb(esf_buf_t *eb); + +void wpa_set_profile(uint32 wpa_proto); + +void wpa_set_bss(char *macddr, char * bssid, uint8 pairwise_cipher, uint8 group_cipher, char *passphrase, u8 *ssid, size_t ssid_len); + +int wpa_sm_rx_eapol(u8 *src_addr, u8 *buf, u32 len); +#endif /* WPA_I_H */ + diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpa_ie.h b/tools/sdk/include/wpa_supplicant/wpa/wpa_ie.h new file mode 100644 index 00000000..94518d84 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpa_ie.h @@ -0,0 +1,56 @@ +/* + * wpa_supplicant - WPA/RSN IE and KDE definitions + * Copyright (c) 2004-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef WPA_IE_H +#define WPA_IE_H + +struct wpa_eapol_ie_parse { + const u8 *wpa_ie; + size_t wpa_ie_len; + const u8 *rsn_ie; + size_t rsn_ie_len; + const u8 *pmkid; + const u8 *gtk; + size_t gtk_len; + const u8 *mac_addr; + size_t mac_addr_len; +#ifdef CONFIG_PEERKEY + const u8 *smk; + size_t smk_len; + const u8 *nonce; + size_t nonce_len; + const u8 *lifetime; + size_t lifetime_len; + const u8 *error; + size_t error_len; +#endif /* CONFIG_PEERKEY */ +#ifdef CONFIG_IEEE80211W + const u8 *igtk; + size_t igtk_len; +#endif /* CONFIG_IEEE80211W */ +#ifdef CONFIG_IEEE80211R + const u8 *mdie; + size_t mdie_len; + const u8 *ftie; + size_t ftie_len; + const u8 *reassoc_deadline; + const u8 *key_lifetime; +#endif /* CONFIG_IEEE80211R */ +}; + +int wpa_supplicant_parse_ies(const u8 *buf, size_t len, + struct wpa_eapol_ie_parse *ie); +int wpa_gen_wpa_ie(struct wpa_sm *sm, u8 *wpa_ie, size_t wpa_ie_len); + +#endif /* WPA_IE_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpabuf.h b/tools/sdk/include/wpa_supplicant/wpa/wpabuf.h new file mode 100644 index 00000000..cccfcc80 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpabuf.h @@ -0,0 +1,168 @@ +/* + * Dynamic data buffer + * Copyright (c) 2007-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef WPABUF_H +#define WPABUF_H + +/* + * Internal data structure for wpabuf. Please do not touch this directly from + * elsewhere. This is only defined in header file to allow inline functions + * from this file to access data. + */ +struct wpabuf { + size_t size; /* total size of the allocated buffer */ + size_t used; /* length of data in the buffer */ + u8 *ext_data; /* pointer to external data; NULL if data follows + * struct wpabuf */ + /* optionally followed by the allocated buffer */ +}; + + +int wpabuf_resize(struct wpabuf **buf, size_t add_len); +struct wpabuf * wpabuf_alloc(size_t len); +struct wpabuf * wpabuf_alloc_ext_data(u8 *data, size_t len); +struct wpabuf * wpabuf_alloc_copy(const void *data, size_t len); +struct wpabuf * wpabuf_dup(const struct wpabuf *src); +void wpabuf_free(struct wpabuf *buf); +void * wpabuf_put(struct wpabuf *buf, size_t len); +struct wpabuf * wpabuf_concat(struct wpabuf *a, struct wpabuf *b); +struct wpabuf * wpabuf_zeropad(struct wpabuf *buf, size_t len); +void wpabuf_printf(struct wpabuf *buf, char *fmt, ...) PRINTF_FORMAT(2, 3); + + +/** + * wpabuf_size - Get the currently allocated size of a wpabuf buffer + * @buf: wpabuf buffer + * Returns: Currently allocated size of the buffer + */ +static inline size_t wpabuf_size(const struct wpabuf *buf) +{ + return buf->size; +} + +/** + * wpabuf_len - Get the current length of a wpabuf buffer data + * @buf: wpabuf buffer + * Returns: Currently used length of the buffer + */ +static inline size_t wpabuf_len(const struct wpabuf *buf) +{ + return buf->used; +} + +/** + * wpabuf_tailroom - Get size of available tail room in the end of the buffer + * @buf: wpabuf buffer + * Returns: Tail room (in bytes) of available space in the end of the buffer + */ +static inline size_t wpabuf_tailroom(const struct wpabuf *buf) +{ + return buf->size - buf->used; +} + +/** + * wpabuf_head - Get pointer to the head of the buffer data + * @buf: wpabuf buffer + * Returns: Pointer to the head of the buffer data + */ +static inline const void * wpabuf_head(const struct wpabuf *buf) +{ + if (buf->ext_data) + return buf->ext_data; + return buf + 1; +} + +static inline const u8 * wpabuf_head_u8(const struct wpabuf *buf) +{ + return wpabuf_head(buf); +} + +/** + * wpabuf_mhead - Get modifiable pointer to the head of the buffer data + * @buf: wpabuf buffer + * Returns: Pointer to the head of the buffer data + */ +static inline void * wpabuf_mhead(struct wpabuf *buf) +{ + if (buf->ext_data) + return buf->ext_data; + return buf + 1; +} + +static inline u8 * wpabuf_mhead_u8(struct wpabuf *buf) +{ + return wpabuf_mhead(buf); +} + +static inline void wpabuf_put_u8(struct wpabuf *buf, u8 data) +{ + u8 *pos = wpabuf_put(buf, 1); + *pos = data; +} + +static inline void wpabuf_put_le16(struct wpabuf *buf, u16 data) +{ + u8 *pos = wpabuf_put(buf, 2); + WPA_PUT_LE16(pos, data); +} + +static inline void wpabuf_put_le32(struct wpabuf *buf, u32 data) +{ + u8 *pos = wpabuf_put(buf, 4); + WPA_PUT_LE32(pos, data); +} + +static inline void wpabuf_put_be16(struct wpabuf *buf, u16 data) +{ + u8 *pos = wpabuf_put(buf, 2); + WPA_PUT_BE16(pos, data); +} + +static inline void wpabuf_put_be24(struct wpabuf *buf, u32 data) +{ + u8 *pos = wpabuf_put(buf, 3); + WPA_PUT_BE24(pos, data); +} + +static inline void wpabuf_put_be32(struct wpabuf *buf, u32 data) +{ + u8 *pos = wpabuf_put(buf, 4); + WPA_PUT_BE32(pos, data); +} + +static inline void wpabuf_put_data(struct wpabuf *buf, const void *data, + size_t len) +{ + if (data) + os_memcpy(wpabuf_put(buf, len), data, len); +} + +static inline void wpabuf_put_buf(struct wpabuf *dst, + const struct wpabuf *src) +{ + wpabuf_put_data(dst, wpabuf_head(src), wpabuf_len(src)); +} + +static inline void wpabuf_set(struct wpabuf *buf, const void *data, size_t len) +{ + buf->ext_data = (u8 *) data; + buf->size = buf->used = len; +} + +static inline void wpabuf_put_str(struct wpabuf *dst, const char *str) +{ + wpabuf_put_data(dst, str, os_strlen(str)); +} + +#endif /* WPABUF_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa/wpas_glue.h b/tools/sdk/include/wpa_supplicant/wpa/wpas_glue.h new file mode 100644 index 00000000..7e254a2d --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa/wpas_glue.h @@ -0,0 +1,31 @@ +/* + * WPA Supplicant - Glue code to setup EAPOL and RSN modules + * Copyright (c) 2003-2008, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef WPAS_GLUE_H +#define WPAS_GLUE_H + +u8 * wpa_sm_alloc_eapol(struct wpa_sm *sm, u8 type, + const void *data, u16 data_len, + size_t *msg_len, void **data_pos); + +int wpa_sm_mlme_setprotection(struct wpa_sm *sm, const u8 *addr, + int protect_type, int key_type); + +void wpa_sm_deauthenticate(struct wpa_sm *sm, uint8 reason_code); + +void wpa_sm_disassociate(struct wpa_sm *sm, int reason_code); + +int wpa_sm_get_beacon_ie(struct wpa_sm *sm); + +#endif /* WPAS_GLUE_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap.h new file mode 100644 index 00000000..e2cd2dd8 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap.h @@ -0,0 +1,24 @@ +/* + * EAP peer state machine functions (RFC 4137) + * Copyright (c) 2004-2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_H +#define EAP_H + +#include "wpa/defs.h" +#include "eap/eap_defs.h" + +struct eap_sm; + +struct eap_method_type { + int vendor; + u32 method; +}; + +const u8 * eap_get_eapKeyData(struct eap_sm *sm, size_t *len); + +#endif /* EAP_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_common.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_common.h new file mode 100644 index 00000000..38c57100 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_common.h @@ -0,0 +1,23 @@ +/* + * EAP common peer/server definitions + * Copyright (c) 2004-2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_COMMON_H +#define EAP_COMMON_H + +#include "wpa/wpabuf.h" + +int eap_hdr_len_valid(const struct wpabuf *msg, size_t min_payload); +const u8 * eap_hdr_validate(int vendor, EapType eap_type, + const struct wpabuf *msg, size_t *plen); +struct wpabuf * eap_msg_alloc(int vendor, EapType type, size_t payload_len, + u8 code, u8 identifier); +void eap_update_len(struct wpabuf *msg); +u8 eap_get_id(const struct wpabuf *msg); +EapType eap_get_type(const struct wpabuf *msg); + +#endif /* EAP_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_config.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_config.h new file mode 100644 index 00000000..f35cbf43 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_config.h @@ -0,0 +1,220 @@ +/* + * EAP peer configuration data + * Copyright (c) 2003-2013, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_CONFIG_H +#define EAP_CONFIG_H + +/** + * struct eap_peer_config - EAP peer configuration/credentials + */ +struct eap_peer_config { + /** + * identity - EAP Identity + * + * This field is used to set the real user identity or NAI (for + * EAP-PSK/PAX/SAKE/GPSK). + */ + u8 *identity; + + /** + * identity_len - EAP Identity length + */ + size_t identity_len; + + /** + * password - Password string for EAP + * + * This field can include either the plaintext password (default + * option) or a NtPasswordHash (16-byte MD4 hash of the unicode + * presentation of the password) if flags field has + * EAP_CONFIG_FLAGS_PASSWORD_NTHASH bit set to 1. NtPasswordHash can + * only be used with authentication mechanism that use this hash as the + * starting point for operation: MSCHAP and MSCHAPv2 (EAP-MSCHAPv2, + * EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP). + * + * In addition, this field is used to configure a pre-shared key for + * EAP-PSK/PAX/SAKE/GPSK. The length of the PSK must be 16 for EAP-PSK + * and EAP-PAX and 32 for EAP-SAKE. EAP-GPSK can use a variable length + * PSK. + */ + u8 *password; + + /** + * password_len - Length of password field + */ + size_t password_len; + + /** + * ca_cert - File path to CA certificate file (PEM/DER) + * + * This file can have one or more trusted CA certificates. If ca_cert + * and ca_path are not included, server certificate will not be + * verified. This is insecure and a trusted CA certificate should + * always be configured when using EAP-TLS/TTLS/PEAP. Full path to the + * file should be used since working directory may change when + * wpa_supplicant is run in the background. + * + * Alternatively, a named configuration blob can be used by setting + * this to blob://blob_name. + * + * Alternatively, this can be used to only perform matching of the + * server certificate (SHA-256 hash of the DER encoded X.509 + * certificate). In this case, the possible CA certificates in the + * server certificate chain are ignored and only the server certificate + * is verified. This is configured with the following format: + * hash:://server/sha256/cert_hash_in_hex + * For example: "hash://server/sha256/ + * 5a1bc1296205e6fdbe3979728efe3920798885c1c4590b5f90f43222d239ca6a" + * + * On Windows, trusted CA certificates can be loaded from the system + * certificate store by setting this to cert_store://name, e.g., + * ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT". + * Note that when running wpa_supplicant as an application, the user + * certificate store (My user account) is used, whereas computer store + * (Computer account) is used when running wpasvc as a service. + */ + u8 *ca_cert; + + /** + * ca_path - Directory path for CA certificate files (PEM) + * + * This path may contain multiple CA certificates in OpenSSL format. + * Common use for this is to point to system trusted CA list which is + * often installed into directory like /etc/ssl/certs. If configured, + * these certificates are added to the list of trusted CAs. ca_cert + * may also be included in that case, but it is not required. + */ + u8 *ca_path; + + /** + * client_cert - File path to client certificate file (PEM/DER) + * + * This field is used with EAP method that use TLS authentication. + * Usually, this is only configured for EAP-TLS, even though this could + * in theory be used with EAP-TTLS and EAP-PEAP, too. Full path to the + * file should be used since working directory may change when + * wpa_supplicant is run in the background. + * + * Alternatively, a named configuration blob can be used by setting + * this to blob://blob_name. + */ + u8 *client_cert; + + /** + * private_key - File path to client private key file (PEM/DER/PFX) + * + * When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be + * commented out. Both the private key and certificate will be read + * from the PKCS#12 file in this case. Full path to the file should be + * used since working directory may change when wpa_supplicant is run + * in the background. + * + * Windows certificate store can be used by leaving client_cert out and + * configuring private_key in one of the following formats: + * + * cert://substring_to_match + * + * hash://certificate_thumbprint_in_hex + * + * For example: private_key="hash://63093aa9c47f56ae88334c7b65a4" + * + * Note that when running wpa_supplicant as an application, the user + * certificate store (My user account) is used, whereas computer store + * (Computer account) is used when running wpasvc as a service. + * + * Alternatively, a named configuration blob can be used by setting + * this to blob://blob_name. + */ + u8 *private_key; + + /** + * private_key_passwd - Password for private key file + * + * If left out, this will be asked through control interface. + */ + u8 *private_key_passwd; + + char *phase1; + + /** + * pin - PIN for USIM, GSM SIM, and smartcards + * + * This field is used to configure PIN for SIM and smartcards for + * EAP-SIM and EAP-AKA. In addition, this is used with EAP-TLS if a + * smartcard is used for private key operations. + * + * If left out, this will be asked through control interface. + */ + char *pin; + + /** + * fragment_size - Maximum EAP fragment size in bytes (default 1398) + * + * This value limits the fragment size for EAP methods that support + * fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set + * small enough to make the EAP messages fit in MTU of the network + * interface used for EAPOL. The default value is suitable for most + * cases. + */ + int fragment_size; + +#define EAP_CONFIG_FLAGS_PASSWORD_NTHASH BIT(0) +#define EAP_CONFIG_FLAGS_EXT_PASSWORD BIT(1) + /** + * flags - Network configuration flags (bitfield) + * + * This variable is used for internal flags to describe further details + * for the network parameters. + * bit 0 = password is represented as a 16-byte NtPasswordHash value + * instead of plaintext password + * bit 1 = password is stored in external storage; the value in the + * password field is the name of that external entry + */ + u32 flags; + + /** + * ocsp - Whether to use/require OCSP to check server certificate + * + * 0 = do not use OCSP stapling (TLS certificate status extension) + * 1 = try to use OCSP stapling, but not require response + * 2 = require valid OCSP stapling response + */ + int ocsp; +}; + + +/** + * struct wpa_config_blob - Named configuration blob + * + * This data structure is used to provide storage for binary objects to store + * abstract information like certificates and private keys inlined with the + * configuration data. + */ +struct wpa_config_blob { + /** + * name - Blob name + */ + char *name; + + /** + * data - Pointer to binary data + */ + u8 *data; + + /** + * len - Length of binary data + */ + size_t len; + + /** + * next - Pointer to next blob in the configuration + */ + struct wpa_config_blob *next; +}; + +#endif /* EAP_CONFIG_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_defs.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_defs.h new file mode 100644 index 00000000..10995d38 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_defs.h @@ -0,0 +1,92 @@ +/* + * EAP server/peer: Shared EAP definitions + * 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_DEFS_H +#define EAP_DEFS_H + +/* RFC 3748 - Extensible Authentication Protocol (EAP) */ + +#ifdef _MSC_VER +#pragma pack(push, 1) +#endif /* _MSC_VER */ + +struct eap_hdr { + u8 code; + u8 identifier; + be16 length; /* including code and identifier; network byte order */ + /* followed by length-4 octets of data */ +} STRUCT_PACKED; + + +#ifdef _MSC_VER +#pragma pack(pop) +#endif /* _MSC_VER */ + +enum { EAP_CODE_REQUEST = 1, EAP_CODE_RESPONSE = 2, EAP_CODE_SUCCESS = 3, + EAP_CODE_FAILURE = 4 }; + +/* EAP Request and Response data begins with one octet Type. Success and + * Failure do not have additional data. */ + +/* + * EAP Method Types as allocated by IANA: + * http://www.iana.org/assignments/eap-numbers + */ +typedef enum { + EAP_TYPE_NONE = 0, + EAP_TYPE_IDENTITY = 1 /* RFC 3748 */, + EAP_TYPE_NOTIFICATION = 2 /* RFC 3748 */, + EAP_TYPE_NAK = 3 /* Response only, RFC 3748 */, + EAP_TYPE_MD5 = 4, /* RFC 3748 */ + EAP_TYPE_OTP = 5 /* RFC 3748 */, + EAP_TYPE_GTC = 6, /* RFC 3748 */ + EAP_TYPE_TLS = 13 /* RFC 2716 */, + EAP_TYPE_LEAP = 17 /* Cisco proprietary */, + EAP_TYPE_SIM = 18 /* RFC 4186 */, + EAP_TYPE_TTLS = 21 /* RFC 5281 */, + EAP_TYPE_AKA = 23 /* RFC 4187 */, + EAP_TYPE_PEAP = 25 /* draft-josefsson-pppext-eap-tls-eap-06.txt */, + EAP_TYPE_MSCHAPV2 = 26 /* draft-kamath-pppext-eap-mschapv2-00.txt */, + EAP_TYPE_TLV = 33 /* draft-josefsson-pppext-eap-tls-eap-07.txt */, + EAP_TYPE_TNC = 38 /* TNC IF-T v1.0-r3; note: tentative assignment; + * type 38 has previously been allocated for + * EAP-HTTP Digest, (funk.com) */, + EAP_TYPE_FAST = 43 /* RFC 4851 */, + EAP_TYPE_PAX = 46 /* RFC 4746 */, + EAP_TYPE_PSK = 47 /* RFC 4764 */, + EAP_TYPE_SAKE = 48 /* RFC 4763 */, + EAP_TYPE_IKEV2 = 49 /* RFC 5106 */, + EAP_TYPE_AKA_PRIME = 50 /* RFC 5448 */, + EAP_TYPE_GPSK = 51 /* RFC 5433 */, + EAP_TYPE_PWD = 52 /* RFC 5931 */, + EAP_TYPE_EKE = 53 /* RFC 6124 */, + EAP_TYPE_EXPANDED = 254 /* RFC 3748 */ +} EapType; + + +/* SMI Network Management Private Enterprise Code for vendor specific types */ +enum { + EAP_VENDOR_IETF = 0, + EAP_VENDOR_MICROSOFT = 0x000137 /* Microsoft */, + EAP_VENDOR_WFA = 0x00372A /* Wi-Fi Alliance */, + EAP_VENDOR_HOSTAP = 39068 /* hostapd/wpa_supplicant project */ +}; + +struct eap_expand { + u8 vendor_id[3]; + be32 vendor_type; + u8 opcode; +} STRUCT_PACKED; + +#define EAP_VENDOR_UNAUTH_TLS EAP_VENDOR_HOSTAP +#define EAP_VENDOR_TYPE_UNAUTH_TLS 1 + +#define EAP_MSK_LEN 64 +#define EAP_EMSK_LEN 64 + +#endif /* EAP_DEFS_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_i.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_i.h new file mode 100644 index 00000000..a4779d13 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_i.h @@ -0,0 +1,88 @@ +/* + * EAP peer state machines internal structures (RFC 4137) + * 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_I_H +#define EAP_I_H + +#include "wpa/wpabuf.h" +#include "eap.h" +#include "eap_common.h" +#include "eap_config.h" + +/* RFC 4137 - EAP Peer state machine */ + +typedef enum { + DECISION_FAIL, DECISION_COND_SUCC, DECISION_UNCOND_SUCC +} EapDecision; + +typedef enum { + METHOD_NONE, METHOD_INIT, METHOD_CONT, METHOD_MAY_CONT, METHOD_DONE +} EapMethodState; + +/** + * struct eap_method_ret - EAP return values from struct eap_method::process() + * + * These structure contains OUT variables for the interface between peer state + * machine and methods (RFC 4137, Sect. 4.2). eapRespData will be returned as + * the return value of struct eap_method::process() so it is not included in + * this structure. + */ +struct eap_method_ret { + /** + * ignore - Whether method decided to drop the current packed (OUT) + */ + Boolean ignore; + + /** + * methodState - Method-specific state (IN/OUT) + */ + EapMethodState methodState; + + /** + * decision - Authentication decision (OUT) + */ + EapDecision decision; + + /** + * allowNotifications - Whether method allows notifications (OUT) + */ + Boolean allowNotifications; +}; + +#define CLIENT_CERT_NAME "CLC" +#define CA_CERT_NAME "CAC" +#define PRIVATE_KEY_NAME "PVK" +#define BLOB_NAME_LEN 3 +#define BLOB_NUM 2 + +/** + * struct eap_sm - EAP state machine data + */ +struct eap_sm { + void *eap_method_priv; + + void *ssl_ctx; + + unsigned int workaround; +///////////////////////////////////////////////// + struct pbuf *outbuf; + struct wpa_config_blob blob[BLOB_NUM]; + struct eap_peer_config config; + u8 current_identifier; + u8 ownaddr[ETH_ALEN]; +#ifdef USE_WPA2_TASK +#define SIG_WPA2_NUM 2 + u8 wpa2_sig_cnt[SIG_WPA2_NUM]; +#endif + u8 finish_state; +}; + +struct eap_peer_config * eap_get_config(struct eap_sm *sm); +const struct wpa_config_blob * eap_get_config_blob(struct eap_sm *sm, const char *name); + +#endif /* EAP_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls.h new file mode 100644 index 00000000..a8a386f2 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls.h @@ -0,0 +1,25 @@ +/* + * EAP peer: EAP-TLS/PEAP/TTLS/FAST common functions + * Copyright (c) 2004-2009, 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_TLS_H +#define EAP_TLS_H + +#include "eap_i.h" +#include "eap_common.h" +#include "eap.h" +#include "wpa/wpabuf.h" + +void * eap_tls_init(struct eap_sm *sm); +void eap_tls_deinit(struct eap_sm *sm, void *priv); +struct wpabuf * eap_tls_process(struct eap_sm *sm, void *priv, + struct eap_method_ret *ret, + const struct wpabuf *reqData); + +u8 * eap_tls_getKey(struct eap_sm *sm, void *priv, size_t *len); + +#endif /* EAP_TLS_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls_common.h b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls_common.h new file mode 100644 index 00000000..1a5e0f89 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/eap_peer/eap_tls_common.h @@ -0,0 +1,131 @@ +/* + * EAP peer: EAP-TLS/PEAP/TTLS/FAST common functions + * Copyright (c) 2004-2009, 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EAP_TLS_COMMON_H +#define EAP_TLS_COMMON_H + +/** + * struct eap_ssl_data - TLS data for EAP methods + */ +struct eap_ssl_data { + /** + * conn - TLS connection context data from tls_connection_init() + */ + struct tls_connection *conn; + + /** + * tls_out - TLS message to be sent out in fragments + */ + struct wpabuf *tls_out; + + /** + * tls_out_pos - The current position in the outgoing TLS message + */ + size_t tls_out_pos; + + /** + * tls_out_limit - Maximum fragment size for outgoing TLS messages + */ + size_t tls_out_limit; + + /** + * tls_in - Received TLS message buffer for re-assembly + */ + struct wpabuf *tls_in; + + /** + * tls_in_left - Number of remaining bytes in the incoming TLS message + */ + size_t tls_in_left; + + /** + * tls_in_total - Total number of bytes in the incoming TLS message + */ + size_t tls_in_total; + + /** + * phase2 - Whether this TLS connection is used in EAP phase 2 (tunnel) + */ + int phase2; + + /** + * include_tls_length - Whether the TLS length field is included even + * if the TLS data is not fragmented + */ + int include_tls_length; + + /** + * eap - EAP state machine allocated with eap_peer_sm_init() + */ + struct eap_sm *eap; + + /** + * ssl_ctx - TLS library context to use for the connection + */ + void *ssl_ctx; + + /** + * eap_type - EAP method used in Phase 1 (EAP_TYPE_TLS/PEAP/TTLS/FAST) + */ + u8 eap_type; +}; + + +/* EAP TLS Flags */ +#define EAP_TLS_FLAGS_LENGTH_INCLUDED 0x80 +#define EAP_TLS_FLAGS_MORE_FRAGMENTS 0x40 +#define EAP_TLS_FLAGS_START 0x20 +#define EAP_TLS_VERSION_MASK 0x07 + + /* could be up to 128 bytes, but only the first 64 bytes are used */ +#define EAP_TLS_KEY_LEN 64 + +/* dummy type used as a flag for UNAUTH-TLS */ +#define EAP_UNAUTH_TLS_TYPE 255 + + +int eap_peer_tls_ssl_init(struct eap_sm *sm, struct eap_ssl_data *data, + struct eap_peer_config *config, u8 eap_type); +void eap_peer_tls_ssl_deinit(struct eap_sm *sm, struct eap_ssl_data *data); +u8 * eap_peer_tls_derive_key(struct eap_sm *sm, struct eap_ssl_data *data, + const char *label, size_t len); +u8 * eap_peer_tls_derive_session_id(struct eap_sm *sm, + struct eap_ssl_data *data, u8 eap_type, + size_t *len); +int eap_peer_tls_process_helper(struct eap_sm *sm, struct eap_ssl_data *data, + EapType eap_type, int peap_version, + u8 id, const u8 *in_data, size_t in_len, + struct wpabuf **out_data); +struct wpabuf * eap_peer_tls_build_ack(u8 id, EapType eap_type, + int peap_version); +int eap_peer_tls_reauth_init(struct eap_sm *sm, struct eap_ssl_data *data); +int eap_peer_tls_status(struct eap_sm *sm, struct eap_ssl_data *data, + char *buf, size_t buflen, int verbose); +const u8 * eap_peer_tls_process_init(struct eap_sm *sm, + struct eap_ssl_data *data, + EapType eap_type, + struct eap_method_ret *ret, + const struct wpabuf *reqData, + size_t *len, u8 *flags); +void eap_peer_tls_reset_input(struct eap_ssl_data *data); +void eap_peer_tls_reset_output(struct eap_ssl_data *data); +int eap_peer_tls_decrypt(struct eap_sm *sm, struct eap_ssl_data *data, + const struct wpabuf *in_data, + struct wpabuf **in_decrypted); +int eap_peer_tls_encrypt(struct eap_sm *sm, struct eap_ssl_data *data, + EapType eap_type, int peap_version, u8 id, + const struct wpabuf *in_data, + struct wpabuf **out_data); +int eap_peer_select_phase2_methods(struct eap_peer_config *config, + const char *prefix, + struct eap_method_type **types, + size_t *num_types); +int eap_peer_tls_phase2_nak(struct eap_method_type *types, size_t num_types, + struct eap_hdr *hdr, struct wpabuf **resp); + +#endif /* EAP_TLS_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/asn1.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/asn1.h new file mode 100644 index 00000000..6342c4cc --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/asn1.h @@ -0,0 +1,66 @@ +/* + * ASN.1 DER parsing + * Copyright (c) 2006, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef ASN1_H +#define ASN1_H + +#define ASN1_TAG_EOC 0x00 /* not used with DER */ +#define ASN1_TAG_BOOLEAN 0x01 +#define ASN1_TAG_INTEGER 0x02 +#define ASN1_TAG_BITSTRING 0x03 +#define ASN1_TAG_OCTETSTRING 0x04 +#define ASN1_TAG_NULL 0x05 +#define ASN1_TAG_OID 0x06 +#define ASN1_TAG_OBJECT_DESCRIPTOR 0x07 /* not yet parsed */ +#define ASN1_TAG_EXTERNAL 0x08 /* not yet parsed */ +#define ASN1_TAG_REAL 0x09 /* not yet parsed */ +#define ASN1_TAG_ENUMERATED 0x0A /* not yet parsed */ +#define ASN1_TAG_UTF8STRING 0x0C /* not yet parsed */ +#define ANS1_TAG_RELATIVE_OID 0x0D +#define ASN1_TAG_SEQUENCE 0x10 /* shall be constructed */ +#define ASN1_TAG_SET 0x11 +#define ASN1_TAG_NUMERICSTRING 0x12 /* not yet parsed */ +#define ASN1_TAG_PRINTABLESTRING 0x13 +#define ASN1_TAG_TG1STRING 0x14 /* not yet parsed */ +#define ASN1_TAG_VIDEOTEXSTRING 0x15 /* not yet parsed */ +#define ASN1_TAG_IA5STRING 0x16 +#define ASN1_TAG_UTCTIME 0x17 +#define ASN1_TAG_GENERALIZEDTIME 0x18 /* not yet parsed */ +#define ASN1_TAG_GRAPHICSTRING 0x19 /* not yet parsed */ +#define ASN1_TAG_VISIBLESTRING 0x1A +#define ASN1_TAG_GENERALSTRING 0x1B /* not yet parsed */ +#define ASN1_TAG_UNIVERSALSTRING 0x1C /* not yet parsed */ +#define ASN1_TAG_BMPSTRING 0x1D /* not yet parsed */ + +#define ASN1_CLASS_UNIVERSAL 0 +#define ASN1_CLASS_APPLICATION 1 +#define ASN1_CLASS_CONTEXT_SPECIFIC 2 +#define ASN1_CLASS_PRIVATE 3 + + +struct asn1_hdr { + const u8 *payload; + u8 identifier, class, constructed; + unsigned int tag, length; +}; + +#define ASN1_MAX_OID_LEN 20 +struct asn1_oid { + unsigned long oid[ASN1_MAX_OID_LEN]; + size_t len; +}; + + +int asn1_get_next(const u8 *buf, size_t len, struct asn1_hdr *hdr); +int asn1_parse_oid(const u8 *buf, size_t len, struct asn1_oid *oid); +int asn1_get_oid(const u8 *buf, size_t len, struct asn1_oid *oid, + const u8 **next); +void asn1_oid_to_str(struct asn1_oid *oid, char *buf, size_t len); +unsigned long asn1_bit_string_to_long(const u8 *buf, size_t len); + +#endif /* ASN1_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/bignum.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/bignum.h new file mode 100644 index 00000000..f25e2678 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/bignum.h @@ -0,0 +1,38 @@ +/* + * Big number math + * Copyright (c) 2006, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef BIGNUM_H +#define BIGNUM_H + +struct bignum; + +struct bignum * bignum_init(void); +void bignum_deinit(struct bignum *n); +size_t bignum_get_unsigned_bin_len(struct bignum *n); +int bignum_get_unsigned_bin(const struct bignum *n, u8 *buf, size_t *len); +int bignum_set_unsigned_bin(struct bignum *n, const u8 *buf, size_t len); +int bignum_cmp(const struct bignum *a, const struct bignum *b); +int bignum_cmp_d(const struct bignum *a, unsigned long b); +int bignum_add(const struct bignum *a, const struct bignum *b, + struct bignum *c); +int bignum_sub(const struct bignum *a, const struct bignum *b, + struct bignum *c); +int bignum_mul(const struct bignum *a, const struct bignum *b, + struct bignum *c); +int bignum_mulmod(const struct bignum *a, const struct bignum *b, + const struct bignum *c, struct bignum *d); +int bignum_exptmod(const struct bignum *a, const struct bignum *b, + const struct bignum *c, struct bignum *d); + +#endif /* BIGNUM_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/libtommath.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/libtommath.h new file mode 100644 index 00000000..c0409b5e --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/libtommath.h @@ -0,0 +1,3443 @@ +/* + * Minimal code for RSA support from LibTomMath 0.41 + * http://libtom.org/ + * http://libtom.org/files/ltm-0.41.tar.bz2 + * This library was released in public domain by Tom St Denis. + * + * The combination in this file may not use all of the optimized algorithms + * from LibTomMath and may be considerable slower than the LibTomMath with its + * default settings. The main purpose of having this version here is to make it + * easier to build bignum.c wrapper without having to install and build an + * external library. + * + * If CONFIG_INTERNAL_LIBTOMMATH is defined, bignum.c includes this + * libtommath.c file instead of using the external LibTomMath library. + */ +#include "c_types.h" +#include "os.h" +#include "stdarg.h" + +#ifdef MEMLEAK_DEBUG +static const char mem_debug_file[] ICACHE_RODATA_ATTR = __FILE__; +#endif + +#ifndef CHAR_BIT +#define CHAR_BIT 8 +#endif + +#define BN_MP_INVMOD_C +#define BN_S_MP_EXPTMOD_C /* Note: #undef in tommath_superclass.h; this would + * require BN_MP_EXPTMOD_FAST_C instead */ +#define BN_S_MP_MUL_DIGS_C +#define BN_MP_INVMOD_SLOW_C +#define BN_S_MP_SQR_C +#define BN_S_MP_MUL_HIGH_DIGS_C /* Note: #undef in tommath_superclass.h; this + * would require other than mp_reduce */ + +#ifdef LTM_FAST + +/* Use faster div at the cost of about 1 kB */ +#define BN_MP_MUL_D_C + +/* Include faster exptmod (Montgomery) at the cost of about 2.5 kB in code */ +#define BN_MP_EXPTMOD_FAST_C +#define BN_MP_MONTGOMERY_SETUP_C +#define BN_FAST_MP_MONTGOMERY_REDUCE_C +#define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C +#define BN_MP_MUL_2_C + +/* Include faster sqr at the cost of about 0.5 kB in code */ +#define BN_FAST_S_MP_SQR_C + +#else /* LTM_FAST */ + +#define BN_MP_DIV_SMALL +#define BN_MP_INIT_MULTI_C +#define BN_MP_CLEAR_MULTI_C +#define BN_MP_ABS_C +#endif /* LTM_FAST */ + +/* Current uses do not require support for negative exponent in exptmod, so we + * can save about 1.5 kB in leaving out invmod. */ +#define LTM_NO_NEG_EXP + +/* from tommath.h */ + +#ifndef MIN + #define MIN(x,y) ((x)<(y)?(x):(y)) +#endif + +#ifndef MAX + #define MAX(x,y) ((x)>(y)?(x):(y)) +#endif + +#define OPT_CAST(x) (x *) + +typedef unsigned long mp_digit; +typedef u64 mp_word; + +#define DIGIT_BIT 28 +#define MP_28BIT + + +#define XMALLOC os_malloc +#define XFREE os_free +#define XREALLOC os_realloc + + +#define MP_MASK ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1)) + +#define MP_LT -1 /* less than */ +#define MP_EQ 0 /* equal to */ +#define MP_GT 1 /* greater than */ + +#define MP_ZPOS 0 /* positive integer */ +#define MP_NEG 1 /* negative */ + +#define MP_OKAY 0 /* ok result */ +#define MP_MEM -2 /* out of mem */ +#define MP_VAL -3 /* invalid input */ + +#define MP_YES 1 /* yes response */ +#define MP_NO 0 /* no response */ + +typedef int mp_err; + +/* define this to use lower memory usage routines (exptmods mostly) */ +#define MP_LOW_MEM + +/* default precision */ +#ifndef MP_PREC + #ifndef MP_LOW_MEM + #define MP_PREC 32 /* default digits of precision */ + #else + #define MP_PREC 8 /* default digits of precision */ + #endif +#endif + +/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */ +#define MP_WARRAY (1 << (sizeof(mp_word) * CHAR_BIT - 2 * DIGIT_BIT + 1)) + +/* the infamous mp_int structure */ +typedef struct { + int used, alloc, sign; + mp_digit *dp; +} mp_int; + + +/* ---> Basic Manipulations <--- */ +#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO) +#define mp_iseven(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO) +#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO) + + +/* prototypes for copied functions */ +#define s_mp_mul(a, b, c) s_mp_mul_digs(a, b, c, (a)->used + (b)->used + 1) +static int s_mp_exptmod(mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode); +static int s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs); +static int s_mp_sqr(mp_int * a, mp_int * b); +static int s_mp_mul_high_digs(mp_int * a, mp_int * b, mp_int * c, int digs); + +static int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs); + +#ifdef BN_MP_INIT_MULTI_C +static int mp_init_multi(mp_int *mp, ...); +#endif +#ifdef BN_MP_CLEAR_MULTI_C +static void mp_clear_multi(mp_int *mp, ...); +#endif +static int mp_lshd(mp_int * a, int b); +static void mp_set(mp_int * a, mp_digit b); +static void mp_clamp(mp_int * a); +static void mp_exch(mp_int * a, mp_int * b); +static void mp_rshd(mp_int * a, int b); +static void mp_zero(mp_int * a); +static int mp_mod_2d(mp_int * a, int b, mp_int * c); +static int mp_div_2d(mp_int * a, int b, mp_int * c, mp_int * d); +static int mp_init_copy(mp_int * a, mp_int * b); +static int mp_mul_2d(mp_int * a, int b, mp_int * c); +#ifndef LTM_NO_NEG_EXP +static int mp_div_2(mp_int * a, mp_int * b); +static int mp_invmod(mp_int * a, mp_int * b, mp_int * c); +static int mp_invmod_slow(mp_int * a, mp_int * b, mp_int * c); +#endif /* LTM_NO_NEG_EXP */ +static int mp_copy(mp_int * a, mp_int * b); +static int mp_count_bits(mp_int * a); +static int mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d); +static int mp_mod(mp_int * a, mp_int * b, mp_int * c); +static int mp_grow(mp_int * a, int size); +static int mp_cmp_mag(mp_int * a, mp_int * b); +#ifdef BN_MP_ABS_C +static int mp_abs(mp_int * a, mp_int * b); +#endif +static int mp_sqr(mp_int * a, mp_int * b); +static int mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d); +static int mp_reduce_2k_setup_l(mp_int *a, mp_int *d); +static int mp_2expt(mp_int * a, int b); +static int mp_reduce_setup(mp_int * a, mp_int * b); +static int mp_reduce(mp_int * x, mp_int * m, mp_int * mu); +static int mp_init_size(mp_int * a, int size); +#ifdef BN_MP_EXPTMOD_FAST_C +static int mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode); +#endif /* BN_MP_EXPTMOD_FAST_C */ +#ifdef BN_FAST_S_MP_SQR_C +static int fast_s_mp_sqr (mp_int * a, mp_int * b); +#endif /* BN_FAST_S_MP_SQR_C */ +#ifdef BN_MP_MUL_D_C +static int mp_mul_d (mp_int * a, mp_digit b, mp_int * c); +#endif /* BN_MP_MUL_D_C */ + + + +/* functions from bn_.c */ + + +/* reverse an array, used for radix code */ +static void ICACHE_FLASH_ATTR +bn_reverse (unsigned char *s, int len) +{ + int ix, iy; + unsigned char t; + + ix = 0; + iy = len - 1; + while (ix < iy) { + t = s[ix]; + s[ix] = s[iy]; + s[iy] = t; + ++ix; + --iy; + } +} + + +/* low level addition, based on HAC pp.594, Algorithm 14.7 */ +static int ICACHE_FLASH_ATTR +s_mp_add (mp_int * a, mp_int * b, mp_int * c) +{ + mp_int *x; + int olduse, res, min, max; + + /* find sizes, we let |a| <= |b| which means we have to sort + * them. "x" will point to the input with the most digits + */ + if (a->used > b->used) { + min = b->used; + max = a->used; + x = a; + } else { + min = a->used; + max = b->used; + x = b; + } + + /* init result */ + if (c->alloc < max + 1) { + if ((res = mp_grow (c, max + 1)) != MP_OKAY) { + return res; + } + } + + /* get old used digit count and set new one */ + olduse = c->used; + c->used = max + 1; + + { + register mp_digit u, *tmpa, *tmpb, *tmpc; + register int i; + + /* alias for digit pointers */ + + /* first input */ + tmpa = a->dp; + + /* second input */ + tmpb = b->dp; + + /* destination */ + tmpc = c->dp; + + /* zero the carry */ + u = 0; + for (i = 0; i < min; i++) { + /* Compute the sum at one digit, T[i] = A[i] + B[i] + U */ + *tmpc = *tmpa++ + *tmpb++ + u; + + /* U = carry bit of T[i] */ + u = *tmpc >> ((mp_digit)DIGIT_BIT); + + /* take away carry bit from T[i] */ + *tmpc++ &= MP_MASK; + } + + /* now copy higher words if any, that is in A+B + * if A or B has more digits add those in + */ + if (min != max) { + for (; i < max; i++) { + /* T[i] = X[i] + U */ + *tmpc = x->dp[i] + u; + + /* U = carry bit of T[i] */ + u = *tmpc >> ((mp_digit)DIGIT_BIT); + + /* take away carry bit from T[i] */ + *tmpc++ &= MP_MASK; + } + } + + /* add carry */ + *tmpc++ = u; + + /* clear digits above oldused */ + for (i = c->used; i < olduse; i++) { + *tmpc++ = 0; + } + } + + mp_clamp (c); + return MP_OKAY; +} + + +/* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */ +static int ICACHE_FLASH_ATTR +s_mp_sub (mp_int * a, mp_int * b, mp_int * c) +{ + int olduse, res, min, max; + + /* find sizes */ + min = b->used; + max = a->used; + + /* init result */ + if (c->alloc < max) { + if ((res = mp_grow (c, max)) != MP_OKAY) { + return res; + } + } + olduse = c->used; + c->used = max; + + { + register mp_digit u, *tmpa, *tmpb, *tmpc; + register int i; + + /* alias for digit pointers */ + tmpa = a->dp; + tmpb = b->dp; + tmpc = c->dp; + + /* set carry to zero */ + u = 0; + for (i = 0; i < min; i++) { + /* T[i] = A[i] - B[i] - U */ + *tmpc = *tmpa++ - *tmpb++ - u; + + /* U = carry bit of T[i] + * Note this saves performing an AND operation since + * if a carry does occur it will propagate all the way to the + * MSB. As a result a single shift is enough to get the carry + */ + u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1)); + + /* Clear carry from T[i] */ + *tmpc++ &= MP_MASK; + } + + /* now copy higher words if any, e.g. if A has more digits than B */ + for (; i < max; i++) { + /* T[i] = A[i] - U */ + *tmpc = *tmpa++ - u; + + /* U = carry bit of T[i] */ + u = *tmpc >> ((mp_digit)(CHAR_BIT * sizeof (mp_digit) - 1)); + + /* Clear carry from T[i] */ + *tmpc++ &= MP_MASK; + } + + /* clear digits above used (since we may not have grown result above) */ + for (i = c->used; i < olduse; i++) { + *tmpc++ = 0; + } + } + + mp_clamp (c); + return MP_OKAY; +} + + +/* init a new mp_int */ +static int ICACHE_FLASH_ATTR +mp_init (mp_int * a) +{ + int i; + + /* allocate memory required and clear it */ + a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * MP_PREC); + if (a->dp == NULL) { + return MP_MEM; + } + + /* set the digits to zero */ + for (i = 0; i < MP_PREC; i++) { + a->dp[i] = 0; + } + + /* set the used to zero, allocated digits to the default precision + * and sign to positive */ + a->used = 0; + a->alloc = MP_PREC; + a->sign = MP_ZPOS; + + return MP_OKAY; +} + + +/* clear one (frees) */ +static void ICACHE_FLASH_ATTR +mp_clear (mp_int * a) +{ + int i; + + /* only do anything if a hasn't been freed previously */ + if (a->dp != NULL) { + /* first zero the digits */ + for (i = 0; i < a->used; i++) { + a->dp[i] = 0; + } + + /* free ram */ + XFREE(a->dp); + + /* reset members to make debugging easier */ + a->dp = NULL; + a->alloc = a->used = 0; + a->sign = MP_ZPOS; + } +} + + +/* high level addition (handles signs) */ +static int ICACHE_FLASH_ATTR +mp_add (mp_int * a, mp_int * b, mp_int * c) +{ + int sa, sb, res; + + /* get sign of both inputs */ + sa = a->sign; + sb = b->sign; + + /* handle two cases, not four */ + if (sa == sb) { + /* both positive or both negative */ + /* add their magnitudes, copy the sign */ + c->sign = sa; + res = s_mp_add (a, b, c); + } else { + /* one positive, the other negative */ + /* subtract the one with the greater magnitude from */ + /* the one of the lesser magnitude. The result gets */ + /* the sign of the one with the greater magnitude. */ + if (mp_cmp_mag (a, b) == MP_LT) { + c->sign = sb; + res = s_mp_sub (b, a, c); + } else { + c->sign = sa; + res = s_mp_sub (a, b, c); + } + } + return res; +} + + +/* high level subtraction (handles signs) */ +static int ICACHE_FLASH_ATTR +mp_sub (mp_int * a, mp_int * b, mp_int * c) +{ + int sa, sb, res; + + sa = a->sign; + sb = b->sign; + + if (sa != sb) { + /* subtract a negative from a positive, OR */ + /* subtract a positive from a negative. */ + /* In either case, ADD their magnitudes, */ + /* and use the sign of the first number. */ + c->sign = sa; + res = s_mp_add (a, b, c); + } else { + /* subtract a positive from a positive, OR */ + /* subtract a negative from a negative. */ + /* First, take the difference between their */ + /* magnitudes, then... */ + if (mp_cmp_mag (a, b) != MP_LT) { + /* Copy the sign from the first */ + c->sign = sa; + /* The first has a larger or equal magnitude */ + res = s_mp_sub (a, b, c); + } else { + /* The result has the *opposite* sign from */ + /* the first number. */ + c->sign = (sa == MP_ZPOS) ? MP_NEG : MP_ZPOS; + /* The second has a larger magnitude */ + res = s_mp_sub (b, a, c); + } + } + return res; +} + + +/* high level multiplication (handles sign) */ +static int ICACHE_FLASH_ATTR +mp_mul (mp_int * a, mp_int * b, mp_int * c) +{ + int res, neg; + neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; + + /* use Toom-Cook? */ +#ifdef BN_MP_TOOM_MUL_C + if (MIN (a->used, b->used) >= TOOM_MUL_CUTOFF) { + res = mp_toom_mul(a, b, c); + } else +#endif +#ifdef BN_MP_KARATSUBA_MUL_C + /* use Karatsuba? */ + if (MIN (a->used, b->used) >= KARATSUBA_MUL_CUTOFF) { + res = mp_karatsuba_mul (a, b, c); + } else +#endif + { + /* can we use the fast multiplier? + * + * The fast multiplier can be used if the output will + * have less than MP_WARRAY digits and the number of + * digits won't affect carry propagation + */ +#ifdef BN_FAST_S_MP_MUL_DIGS_C + int digs = a->used + b->used + 1; + + if ((digs < MP_WARRAY) && + MIN(a->used, b->used) <= + (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) { + res = fast_s_mp_mul_digs (a, b, c, digs); + } else +#endif +#ifdef BN_S_MP_MUL_DIGS_C + res = s_mp_mul (a, b, c); /* uses s_mp_mul_digs */ +#else +#error mp_mul could fail + res = MP_VAL; +#endif + + } + c->sign = (c->used > 0) ? neg : MP_ZPOS; + return res; +} + + +/* d = a * b (mod c) */ +static int ICACHE_FLASH_ATTR +mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) +{ + int res; + mp_int t; + + if ((res = mp_init (&t)) != MP_OKAY) { + return res; + } + + if ((res = mp_mul (a, b, &t)) != MP_OKAY) { + mp_clear (&t); + return res; + } + res = mp_mod (&t, c, d); + mp_clear (&t); + return res; +} + + +/* c = a mod b, 0 <= c < b */ +static int ICACHE_FLASH_ATTR +mp_mod (mp_int * a, mp_int * b, mp_int * c) +{ + mp_int t; + int res; + + if ((res = mp_init (&t)) != MP_OKAY) { + return res; + } + + if ((res = mp_div (a, b, NULL, &t)) != MP_OKAY) { + mp_clear (&t); + return res; + } + + if (t.sign != b->sign) { + res = mp_add (b, &t, c); + } else { + res = MP_OKAY; + mp_exch (&t, c); + } + + mp_clear (&t); + return res; +} + + +/* this is a shell function that calls either the normal or Montgomery + * exptmod functions. Originally the call to the montgomery code was + * embedded in the normal function but that wasted a lot of stack space + * for nothing (since 99% of the time the Montgomery code would be called) + */ +static int ICACHE_FLASH_ATTR +mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y) +{ + int dr; + + /* modulus P must be positive */ + if (P->sign == MP_NEG) { + return MP_VAL; + } + + /* if exponent X is negative we have to recurse */ + if (X->sign == MP_NEG) { +#ifdef LTM_NO_NEG_EXP + return MP_VAL; +#else /* LTM_NO_NEG_EXP */ +#ifdef BN_MP_INVMOD_C + mp_int tmpG, tmpX; + int err; + + /* first compute 1/G mod P */ + if ((err = mp_init(&tmpG)) != MP_OKAY) { + return err; + } + if ((err = mp_invmod(G, P, &tmpG)) != MP_OKAY) { + mp_clear(&tmpG); + return err; + } + + /* now get |X| */ + if ((err = mp_init(&tmpX)) != MP_OKAY) { + mp_clear(&tmpG); + return err; + } + if ((err = mp_abs(X, &tmpX)) != MP_OKAY) { + mp_clear_multi(&tmpG, &tmpX, NULL); + return err; + } + + /* and now compute (1/G)**|X| instead of G**X [X < 0] */ + err = mp_exptmod(&tmpG, &tmpX, P, Y); + mp_clear_multi(&tmpG, &tmpX, NULL); + return err; +#else +#error mp_exptmod would always fail + /* no invmod */ + return MP_VAL; +#endif +#endif /* LTM_NO_NEG_EXP */ + } + +/* modified diminished radix reduction */ +#if defined(BN_MP_REDUCE_IS_2K_L_C) && defined(BN_MP_REDUCE_2K_L_C) && defined(BN_S_MP_EXPTMOD_C) + if (mp_reduce_is_2k_l(P) == MP_YES) { + return s_mp_exptmod(G, X, P, Y, 1); + } +#endif + +#ifdef BN_MP_DR_IS_MODULUS_C + /* is it a DR modulus? */ + dr = mp_dr_is_modulus(P); +#else + /* default to no */ + dr = 0; +#endif + +#ifdef BN_MP_REDUCE_IS_2K_C + /* if not, is it a unrestricted DR modulus? */ + if (dr == 0) { + dr = mp_reduce_is_2k(P) << 1; + } +#endif + + /* if the modulus is odd or dr != 0 use the montgomery method */ +#ifdef BN_MP_EXPTMOD_FAST_C + if (mp_isodd (P) == 1 || dr != 0) { + return mp_exptmod_fast (G, X, P, Y, dr); + } else { +#endif +#ifdef BN_S_MP_EXPTMOD_C + /* otherwise use the generic Barrett reduction technique */ + return s_mp_exptmod (G, X, P, Y, 0); +#else +#error mp_exptmod could fail + /* no exptmod for evens */ + return MP_VAL; +#endif +#ifdef BN_MP_EXPTMOD_FAST_C + } +#endif +} + + +/* compare two ints (signed)*/ +static int ICACHE_FLASH_ATTR +mp_cmp (mp_int * a, mp_int * b) +{ + /* compare based on sign */ + if (a->sign != b->sign) { + if (a->sign == MP_NEG) { + return MP_LT; + } else { + return MP_GT; + } + } + + /* compare digits */ + if (a->sign == MP_NEG) { + /* if negative compare opposite direction */ + return mp_cmp_mag(b, a); + } else { + return mp_cmp_mag(a, b); + } +} + + +/* compare a digit */ +static int ICACHE_FLASH_ATTR +mp_cmp_d(mp_int * a, mp_digit b) +{ + /* compare based on sign */ + if (a->sign == MP_NEG) { + return MP_LT; + } + + /* compare based on magnitude */ + if (a->used > 1) { + return MP_GT; + } + + /* compare the only digit of a to b */ + if (a->dp[0] > b) { + return MP_GT; + } else if (a->dp[0] < b) { + return MP_LT; + } else { + return MP_EQ; + } +} + + +#ifndef LTM_NO_NEG_EXP +/* hac 14.61, pp608 */ +static int ICACHE_FLASH_ATTR +mp_invmod (mp_int * a, mp_int * b, mp_int * c) +{ + /* b cannot be negative */ + if (b->sign == MP_NEG || mp_iszero(b) == 1) { + return MP_VAL; + } + +#ifdef BN_FAST_MP_INVMOD_C + /* if the modulus is odd we can use a faster routine instead */ + if (mp_isodd (b) == 1) { + return fast_mp_invmod (a, b, c); + } +#endif + +#ifdef BN_MP_INVMOD_SLOW_C + return mp_invmod_slow(a, b, c); +#endif + +#ifndef BN_FAST_MP_INVMOD_C +#ifndef BN_MP_INVMOD_SLOW_C +#error mp_invmod would always fail +#endif +#endif + return MP_VAL; +} +#endif /* LTM_NO_NEG_EXP */ + + +/* get the size for an unsigned equivalent */ +static int ICACHE_FLASH_ATTR +mp_unsigned_bin_size (mp_int * a) +{ + int size = mp_count_bits (a); + return (size / 8 + ((size & 7) != 0 ? 1 : 0)); +} + + +#ifndef LTM_NO_NEG_EXP +/* hac 14.61, pp608 */ +static int ICACHE_FLASH_ATTR +mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c) +{ + mp_int x, y, u, v, A, B, C, D; + int res; + + /* b cannot be negative */ + if (b->sign == MP_NEG || mp_iszero(b) == 1) { + return MP_VAL; + } + + /* init temps */ + if ((res = mp_init_multi(&x, &y, &u, &v, + &A, &B, &C, &D, NULL)) != MP_OKAY) { + return res; + } + + /* x = a, y = b */ + if ((res = mp_mod(a, b, &x)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_copy (b, &y)) != MP_OKAY) { + goto LBL_ERR; + } + + /* 2. [modified] if x,y are both even then return an error! */ + if (mp_iseven (&x) == 1 && mp_iseven (&y) == 1) { + res = MP_VAL; + goto LBL_ERR; + } + + /* 3. u=x, v=y, A=1, B=0, C=0,D=1 */ + if ((res = mp_copy (&x, &u)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_copy (&y, &v)) != MP_OKAY) { + goto LBL_ERR; + } + mp_set (&A, 1); + mp_set (&D, 1); + +top: + /* 4. while u is even do */ + while (mp_iseven (&u) == 1) { + /* 4.1 u = u/2 */ + if ((res = mp_div_2 (&u, &u)) != MP_OKAY) { + goto LBL_ERR; + } + /* 4.2 if A or B is odd then */ + if (mp_isodd (&A) == 1 || mp_isodd (&B) == 1) { + /* A = (A+y)/2, B = (B-x)/2 */ + if ((res = mp_add (&A, &y, &A)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_sub (&B, &x, &B)) != MP_OKAY) { + goto LBL_ERR; + } + } + /* A = A/2, B = B/2 */ + if ((res = mp_div_2 (&A, &A)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_div_2 (&B, &B)) != MP_OKAY) { + goto LBL_ERR; + } + } + + /* 5. while v is even do */ + while (mp_iseven (&v) == 1) { + /* 5.1 v = v/2 */ + if ((res = mp_div_2 (&v, &v)) != MP_OKAY) { + goto LBL_ERR; + } + /* 5.2 if C or D is odd then */ + if (mp_isodd (&C) == 1 || mp_isodd (&D) == 1) { + /* C = (C+y)/2, D = (D-x)/2 */ + if ((res = mp_add (&C, &y, &C)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_sub (&D, &x, &D)) != MP_OKAY) { + goto LBL_ERR; + } + } + /* C = C/2, D = D/2 */ + if ((res = mp_div_2 (&C, &C)) != MP_OKAY) { + goto LBL_ERR; + } + if ((res = mp_div_2 (&D, &D)) != MP_OKAY) { + goto LBL_ERR; + } + } + + /* 6. if u >= v then */ + if (mp_cmp (&u, &v) != MP_LT) { + /* u = u - v, A = A - C, B = B - D */ + if ((res = mp_sub (&u, &v, &u)) != MP_OKAY) { + goto LBL_ERR; + } + + if ((res = mp_sub (&A, &C, &A)) != MP_OKAY) { + goto LBL_ERR; + } + + if ((res = mp_sub (&B, &D, &B)) != MP_OKAY) { + goto LBL_ERR; + } + } else { + /* v - v - u, C = C - A, D = D - B */ + if ((res = mp_sub (&v, &u, &v)) != MP_OKAY) { + goto LBL_ERR; + } + + if ((res = mp_sub (&C, &A, &C)) != MP_OKAY) { + goto LBL_ERR; + } + + if ((res = mp_sub (&D, &B, &D)) != MP_OKAY) { + goto LBL_ERR; + } + } + + /* if not zero goto step 4 */ + if (mp_iszero (&u) == 0) + goto top; + + /* now a = C, b = D, gcd == g*v */ + + /* if v != 1 then there is no inverse */ + if (mp_cmp_d (&v, 1) != MP_EQ) { + res = MP_VAL; + goto LBL_ERR; + } + + /* if its too low */ + while (mp_cmp_d(&C, 0) == MP_LT) { + if ((res = mp_add(&C, b, &C)) != MP_OKAY) { + goto LBL_ERR; + } + } + + /* too big */ + while (mp_cmp_mag(&C, b) != MP_LT) { + if ((res = mp_sub(&C, b, &C)) != MP_OKAY) { + goto LBL_ERR; + } + } + + /* C is now the inverse */ + mp_exch (&C, c); + res = MP_OKAY; +LBL_ERR:mp_clear_multi (&x, &y, &u, &v, &A, &B, &C, &D, NULL); + return res; +} +#endif /* LTM_NO_NEG_EXP */ + + +/* compare maginitude of two ints (unsigned) */ +static int ICACHE_FLASH_ATTR +mp_cmp_mag (mp_int * a, mp_int * b) +{ + int n; + mp_digit *tmpa, *tmpb; + + /* compare based on # of non-zero digits */ + if (a->used > b->used) { + return MP_GT; + } + + if (a->used < b->used) { + return MP_LT; + } + + /* alias for a */ + tmpa = a->dp + (a->used - 1); + + /* alias for b */ + tmpb = b->dp + (a->used - 1); + + /* compare based on digits */ + for (n = 0; n < a->used; ++n, --tmpa, --tmpb) { + if (*tmpa > *tmpb) { + return MP_GT; + } + + if (*tmpa < *tmpb) { + return MP_LT; + } + } + return MP_EQ; +} + + +/* reads a unsigned char array, assumes the msb is stored first [big endian] */ +static int ICACHE_FLASH_ATTR +mp_read_unsigned_bin (mp_int * a, const unsigned char *b, int c) +{ + int res; + + /* make sure there are at least two digits */ + if (a->alloc < 2) { + if ((res = mp_grow(a, 2)) != MP_OKAY) { + return res; + } + } + + /* zero the int */ + mp_zero (a); + + /* read the bytes in */ + while (c-- > 0) { + if ((res = mp_mul_2d (a, 8, a)) != MP_OKAY) { + return res; + } + +#ifndef MP_8BIT + a->dp[0] |= *b++; + a->used += 1; +#else + a->dp[0] = (*b & MP_MASK); + a->dp[1] |= ((*b++ >> 7U) & 1); + a->used += 2; +#endif + } + mp_clamp (a); + return MP_OKAY; +} + + +/* store in unsigned [big endian] format */ +static int ICACHE_FLASH_ATTR +mp_to_unsigned_bin (mp_int * a, unsigned char *b) +{ + int x, res; + mp_int t; + + if ((res = mp_init_copy (&t, a)) != MP_OKAY) { + return res; + } + + x = 0; + while (mp_iszero (&t) == 0) { +#ifndef MP_8BIT + b[x++] = (unsigned char) (t.dp[0] & 255); +#else + b[x++] = (unsigned char) (t.dp[0] | ((t.dp[1] & 0x01) << 7)); +#endif + if ((res = mp_div_2d (&t, 8, &t, NULL)) != MP_OKAY) { + mp_clear (&t); + return res; + } + } + bn_reverse (b, x); + mp_clear (&t); + return MP_OKAY; +} + + +/* shift right by a certain bit count (store quotient in c, optional remainder in d) */ +static int ICACHE_FLASH_ATTR +mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d) +{ + mp_digit D, r, rr; + int x, res; + mp_int t; + + + /* if the shift count is <= 0 then we do no work */ + if (b <= 0) { + res = mp_copy (a, c); + if (d != NULL) { + mp_zero (d); + } + return res; + } + + if ((res = mp_init (&t)) != MP_OKAY) { + return res; + } + + /* get the remainder */ + if (d != NULL) { + if ((res = mp_mod_2d (a, b, &t)) != MP_OKAY) { + mp_clear (&t); + return res; + } + } + + /* copy */ + if ((res = mp_copy (a, c)) != MP_OKAY) { + mp_clear (&t); + return res; + } + + /* shift by as many digits in the bit count */ + if (b >= (int)DIGIT_BIT) { + mp_rshd (c, b / DIGIT_BIT); + } + + /* shift any bit count < DIGIT_BIT */ + D = (mp_digit) (b % DIGIT_BIT); + if (D != 0) { + register mp_digit *tmpc, mask, shift; + + /* mask */ + mask = (((mp_digit)1) << D) - 1; + + /* shift for lsb */ + shift = DIGIT_BIT - D; + + /* alias */ + tmpc = c->dp + (c->used - 1); + + /* carry */ + r = 0; + for (x = c->used - 1; x >= 0; x--) { + /* get the lower bits of this word in a temp */ + rr = *tmpc & mask; + + /* shift the current word and mix in the carry bits from the previous word */ + *tmpc = (*tmpc >> D) | (r << shift); + --tmpc; + + /* set the carry to the carry bits of the current word found above */ + r = rr; + } + } + mp_clamp (c); + if (d != NULL) { + mp_exch (&t, d); + } + mp_clear (&t); + return MP_OKAY; +} + + +static int ICACHE_FLASH_ATTR +mp_init_copy (mp_int * a, mp_int * b) +{ + int res; + + if ((res = mp_init (a)) != MP_OKAY) { + return res; + } + return mp_copy (b, a); +} + + +/* set to zero */ +static void ICACHE_FLASH_ATTR +mp_zero (mp_int * a) +{ + int n; + mp_digit *tmp; + + a->sign = MP_ZPOS; + a->used = 0; + + tmp = a->dp; + for (n = 0; n < a->alloc; n++) { + *tmp++ = 0; + } +} + + +/* copy, b = a */ +static int ICACHE_FLASH_ATTR +mp_copy (mp_int * a, mp_int * b) +{ + int res, n; + + /* if dst == src do nothing */ + if (a == b) { + return MP_OKAY; + } + + /* grow dest */ + if (b->alloc < a->used) { + if ((res = mp_grow (b, a->used)) != MP_OKAY) { + return res; + } + } + + /* zero b and copy the parameters over */ + { + register mp_digit *tmpa, *tmpb; + + /* pointer aliases */ + + /* source */ + tmpa = a->dp; + + /* destination */ + tmpb = b->dp; + + /* copy all the digits */ + for (n = 0; n < a->used; n++) { + *tmpb++ = *tmpa++; + } + + /* clear high digits */ + for (; n < b->used; n++) { + *tmpb++ = 0; + } + } + + /* copy used count and sign */ + b->used = a->used; + b->sign = a->sign; + return MP_OKAY; +} + + +/* shift right a certain amount of digits */ +static void ICACHE_FLASH_ATTR +mp_rshd (mp_int * a, int b) +{ + int x; + + /* if b <= 0 then ignore it */ + if (b <= 0) { + return; + } + + /* if b > used then simply zero it and return */ + if (a->used <= b) { + mp_zero (a); + return; + } + + { + register mp_digit *bottom, *top; + + /* shift the digits down */ + + /* bottom */ + bottom = a->dp; + + /* top [offset into digits] */ + top = a->dp + b; + + /* this is implemented as a sliding window where + * the window is b-digits long and digits from + * the top of the window are copied to the bottom + * + * e.g. + + b-2 | b-1 | b0 | b1 | b2 | ... | bb | ----> + /\ | ----> + \-------------------/ ----> + */ + for (x = 0; x < (a->used - b); x++) { + *bottom++ = *top++; + } + + /* zero the top digits */ + for (; x < a->used; x++) { + *bottom++ = 0; + } + } + + /* remove excess digits */ + a->used -= b; +} + + +/* swap the elements of two integers, for cases where you can't simply swap the + * mp_int pointers around + */ +static void ICACHE_FLASH_ATTR +mp_exch (mp_int * a, mp_int * b) +{ + mp_int t; + + t = *a; + *a = *b; + *b = t; +} + + +/* trim unused digits + * + * This is used to ensure that leading zero digits are + * trimed and the leading "used" digit will be non-zero + * Typically very fast. Also fixes the sign if there + * are no more leading digits + */ +static void ICACHE_FLASH_ATTR +mp_clamp (mp_int * a) +{ + /* decrease used while the most significant digit is + * zero. + */ + while (a->used > 0 && a->dp[a->used - 1] == 0) { + --(a->used); + } + + /* reset the sign flag if used == 0 */ + if (a->used == 0) { + a->sign = MP_ZPOS; + } +} + + +/* grow as required */ +static int ICACHE_FLASH_ATTR +mp_grow (mp_int * a, int size) +{ + int i; + mp_digit *tmp; + + /* if the alloc size is smaller alloc more ram */ + if (a->alloc < size) { + /* ensure there are always at least MP_PREC digits extra on top */ + size += (MP_PREC * 2) - (size % MP_PREC); + + /* reallocate the array a->dp + * + * We store the return in a temporary variable + * in case the operation failed we don't want + * to overwrite the dp member of a. + */ + tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * size); + if (tmp == NULL) { + /* reallocation failed but "a" is still valid [can be freed] */ + return MP_MEM; + } + + /* reallocation succeeded so set a->dp */ + a->dp = tmp; + + /* zero excess digits */ + i = a->alloc; + a->alloc = size; + for (; i < a->alloc; i++) { + a->dp[i] = 0; + } + } + return MP_OKAY; +} + + +#ifdef BN_MP_ABS_C +/* b = |a| + * + * Simple function copies the input and fixes the sign to positive + */ +static int ICACHE_FLASH_ATTR +mp_abs (mp_int * a, mp_int * b) +{ + int res; + + /* copy a to b */ + if (a != b) { + if ((res = mp_copy (a, b)) != MP_OKAY) { + return res; + } + } + + /* force the sign of b to positive */ + b->sign = MP_ZPOS; + + return MP_OKAY; +} +#endif + + +/* set to a digit */ +static void ICACHE_FLASH_ATTR +mp_set (mp_int * a, mp_digit b) +{ + mp_zero (a); + a->dp[0] = b & MP_MASK; + a->used = (a->dp[0] != 0) ? 1 : 0; +} + + +#ifndef LTM_NO_NEG_EXP +/* b = a/2 */ +static int ICACHE_FLASH_ATTR +mp_div_2(mp_int * a, mp_int * b) +{ + int x, res, oldused; + + /* copy */ + if (b->alloc < a->used) { + if ((res = mp_grow (b, a->used)) != MP_OKAY) { + return res; + } + } + + oldused = b->used; + b->used = a->used; + { + register mp_digit r, rr, *tmpa, *tmpb; + + /* source alias */ + tmpa = a->dp + b->used - 1; + + /* dest alias */ + tmpb = b->dp + b->used - 1; + + /* carry */ + r = 0; + for (x = b->used - 1; x >= 0; x--) { + /* get the carry for the next iteration */ + rr = *tmpa & 1; + + /* shift the current digit, add in carry and store */ + *tmpb-- = (*tmpa-- >> 1) | (r << (DIGIT_BIT - 1)); + + /* forward carry to next iteration */ + r = rr; + } + + /* zero excess digits */ + tmpb = b->dp + b->used; + for (x = b->used; x < oldused; x++) { + *tmpb++ = 0; + } + } + b->sign = a->sign; + mp_clamp (b); + return MP_OKAY; +} +#endif /* LTM_NO_NEG_EXP */ + + +/* shift left by a certain bit count */ +static int ICACHE_FLASH_ATTR +mp_mul_2d (mp_int * a, int b, mp_int * c) +{ + mp_digit d; + int res; + + /* copy */ + if (a != c) { + if ((res = mp_copy (a, c)) != MP_OKAY) { + return res; + } + } + + if (c->alloc < (int)(c->used + b/DIGIT_BIT + 1)) { + if ((res = mp_grow (c, c->used + b / DIGIT_BIT + 1)) != MP_OKAY) { + return res; + } + } + + /* shift by as many digits in the bit count */ + if (b >= (int)DIGIT_BIT) { + if ((res = mp_lshd (c, b / DIGIT_BIT)) != MP_OKAY) { + return res; + } + } + + /* shift any bit count < DIGIT_BIT */ + d = (mp_digit) (b % DIGIT_BIT); + if (d != 0) { + register mp_digit *tmpc, shift, mask, r, rr; + register int x; + + /* bitmask for carries */ + mask = (((mp_digit)1) << d) - 1; + + /* shift for msbs */ + shift = DIGIT_BIT - d; + + /* alias */ + tmpc = c->dp; + + /* carry */ + r = 0; + for (x = 0; x < c->used; x++) { + /* get the higher bits of the current word */ + rr = (*tmpc >> shift) & mask; + + /* shift the current word and OR in the carry */ + *tmpc = ((*tmpc << d) | r) & MP_MASK; + ++tmpc; + + /* set the carry to the carry bits of the current word */ + r = rr; + } + + /* set final carry */ + if (r != 0) { + c->dp[(c->used)++] = r; + } + } + mp_clamp (c); + return MP_OKAY; +} + + +#ifdef BN_MP_INIT_MULTI_C +static int ICACHE_FLASH_ATTR +mp_init_multi(mp_int *mp, ...) +{ + mp_err res = MP_OKAY; /* Assume ok until proven otherwise */ + int n = 0; /* Number of ok inits */ + mp_int* cur_arg = mp; + va_list args; + + va_start(args, mp); /* init args to next argument from caller */ + while (cur_arg != NULL) { + if (mp_init(cur_arg) != MP_OKAY) { + /* Oops - error! Back-track and mp_clear what we already + succeeded in init-ing, then return error. + */ + va_list clean_args; + + /* end the current list */ + va_end(args); + + /* now start cleaning up */ + cur_arg = mp; + va_start(clean_args, mp); + while (n--) { + mp_clear(cur_arg); + cur_arg = va_arg(clean_args, mp_int*); + } + va_end(clean_args); + res = MP_MEM; + break; + } + n++; + cur_arg = va_arg(args, mp_int*); + } + va_end(args); + return res; /* Assumed ok, if error flagged above. */ +} +#endif + + +#ifdef BN_MP_CLEAR_MULTI_C +static void ICACHE_FLASH_ATTR +mp_clear_multi(mp_int *mp, ...) +{ + mp_int* next_mp = mp; + va_list args; + va_start(args, mp); + while (next_mp != NULL) { + mp_clear(next_mp); + next_mp = va_arg(args, mp_int*); + } + va_end(args); +} +#endif + + +/* shift left a certain amount of digits */ +static int ICACHE_FLASH_ATTR +mp_lshd (mp_int * a, int b) +{ + int x, res; + + /* if its less than zero return */ + if (b <= 0) { + return MP_OKAY; + } + + /* grow to fit the new digits */ + if (a->alloc < a->used + b) { + if ((res = mp_grow (a, a->used + b)) != MP_OKAY) { + return res; + } + } + + { + register mp_digit *top, *bottom; + + /* increment the used by the shift amount then copy upwards */ + a->used += b; + + /* top */ + top = a->dp + a->used - 1; + + /* base */ + bottom = a->dp + a->used - 1 - b; + + /* much like mp_rshd this is implemented using a sliding window + * except the window goes the otherway around. Copying from + * the bottom to the top. see bn_mp_rshd.c for more info. + */ + for (x = a->used - 1; x >= b; x--) { + *top-- = *bottom--; + } + + /* zero the lower digits */ + top = a->dp; + for (x = 0; x < b; x++) { + *top++ = 0; + } + } + return MP_OKAY; +} + + +/* returns the number of bits in an int */ +static int ICACHE_FLASH_ATTR +mp_count_bits (mp_int * a) +{ + int r; + mp_digit q; + + /* shortcut */ + if (a->used == 0) { + return 0; + } + + /* get number of digits and add that */ + r = (a->used - 1) * DIGIT_BIT; + + /* take the last digit and count the bits in it */ + q = a->dp[a->used - 1]; + while (q > ((mp_digit) 0)) { + ++r; + q >>= ((mp_digit) 1); + } + return r; +} + + +/* calc a value mod 2**b */ +static int ICACHE_FLASH_ATTR +mp_mod_2d (mp_int * a, int b, mp_int * c) +{ + int x, res; + + /* if b is <= 0 then zero the int */ + if (b <= 0) { + mp_zero (c); + return MP_OKAY; + } + + /* if the modulus is larger than the value than return */ + if (b >= (int) (a->used * DIGIT_BIT)) { + res = mp_copy (a, c); + return res; + } + + /* copy */ + if ((res = mp_copy (a, c)) != MP_OKAY) { + return res; + } + + /* zero digits above the last digit of the modulus */ + for (x = (b / DIGIT_BIT) + ((b % DIGIT_BIT) == 0 ? 0 : 1); x < c->used; x++) { + c->dp[x] = 0; + } + /* clear the digit that is not completely outside/inside the modulus */ + c->dp[b / DIGIT_BIT] &= + (mp_digit) ((((mp_digit) 1) << (((mp_digit) b) % DIGIT_BIT)) - ((mp_digit) 1)); + mp_clamp (c); + return MP_OKAY; +} + + +#ifdef BN_MP_DIV_SMALL + +/* slower bit-bang division... also smaller */ +static int ICACHE_FLASH_ATTR +mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d) +{ + mp_int ta, tb, tq, q; + int res, n, n2; + + /* is divisor zero ? */ + if (mp_iszero (b) == 1) { + return MP_VAL; + } + + /* if a < b then q=0, r = a */ + if (mp_cmp_mag (a, b) == MP_LT) { + if (d != NULL) { + res = mp_copy (a, d); + } else { + res = MP_OKAY; + } + if (c != NULL) { + mp_zero (c); + } + return res; + } + + /* init our temps */ + if ((res = mp_init_multi(&ta, &tb, &tq, &q, NULL) != MP_OKAY)) { + return res; + } + + + mp_set(&tq, 1); + n = mp_count_bits(a) - mp_count_bits(b); + if (((res = mp_abs(a, &ta)) != MP_OKAY) || + ((res = mp_abs(b, &tb)) != MP_OKAY) || + ((res = mp_mul_2d(&tb, n, &tb)) != MP_OKAY) || + ((res = mp_mul_2d(&tq, n, &tq)) != MP_OKAY)) { + goto LBL_ERR; + } + + while (n-- >= 0) { + if (mp_cmp(&tb, &ta) != MP_GT) { + if (((res = mp_sub(&ta, &tb, &ta)) != MP_OKAY) || + ((res = mp_add(&q, &tq, &q)) != MP_OKAY)) { + goto LBL_ERR; + } + } + if (((res = mp_div_2d(&tb, 1, &tb, NULL)) != MP_OKAY) || + ((res = mp_div_2d(&tq, 1, &tq, NULL)) != MP_OKAY)) { + goto LBL_ERR; + } + } + + /* now q == quotient and ta == remainder */ + n = a->sign; + n2 = (a->sign == b->sign ? MP_ZPOS : MP_NEG); + if (c != NULL) { + mp_exch(c, &q); + c->sign = (mp_iszero(c) == MP_YES) ? MP_ZPOS : n2; + } + if (d != NULL) { + mp_exch(d, &ta); + d->sign = (mp_iszero(d) == MP_YES) ? MP_ZPOS : n; + } +LBL_ERR: + mp_clear_multi(&ta, &tb, &tq, &q, NULL); + return res; +} + +#else + +/* integer signed division. + * c*b + d == a [e.g. a/b, c=quotient, d=remainder] + * HAC pp.598 Algorithm 14.20 + * + * Note that the description in HAC is horribly + * incomplete. For example, it doesn't consider + * the case where digits are removed from 'x' in + * the inner loop. It also doesn't consider the + * case that y has fewer than three digits, etc.. + * + * The overall algorithm is as described as + * 14.20 from HAC but fixed to treat these cases. +*/ +static int ICACHE_FLASH_ATTR +mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d) +{ + mp_int q, x, y, t1, t2; + int res, n, t, i, norm, neg; + + /* is divisor zero ? */ + if (mp_iszero (b) == 1) { + return MP_VAL; + } + + /* if a < b then q=0, r = a */ + if (mp_cmp_mag (a, b) == MP_LT) { + if (d != NULL) { + res = mp_copy (a, d); + } else { + res = MP_OKAY; + } + if (c != NULL) { + mp_zero (c); + } + return res; + } + + if ((res = mp_init_size (&q, a->used + 2)) != MP_OKAY) { + return res; + } + q.used = a->used + 2; + + if ((res = mp_init (&t1)) != MP_OKAY) { + goto LBL_Q; + } + + if ((res = mp_init (&t2)) != MP_OKAY) { + goto LBL_T1; + } + + if ((res = mp_init_copy (&x, a)) != MP_OKAY) { + goto LBL_T2; + } + + if ((res = mp_init_copy (&y, b)) != MP_OKAY) { + goto LBL_X; + } + + /* fix the sign */ + neg = (a->sign == b->sign) ? MP_ZPOS : MP_NEG; + x.sign = y.sign = MP_ZPOS; + + /* normalize both x and y, ensure that y >= b/2, [b == 2**DIGIT_BIT] */ + norm = mp_count_bits(&y) % DIGIT_BIT; + if (norm < (int)(DIGIT_BIT-1)) { + norm = (DIGIT_BIT-1) - norm; + if ((res = mp_mul_2d (&x, norm, &x)) != MP_OKAY) { + goto LBL_Y; + } + if ((res = mp_mul_2d (&y, norm, &y)) != MP_OKAY) { + goto LBL_Y; + } + } else { + norm = 0; + } + + /* note hac does 0 based, so if used==5 then its 0,1,2,3,4, e.g. use 4 */ + n = x.used - 1; + t = y.used - 1; + + /* while (x >= y*b**n-t) do { q[n-t] += 1; x -= y*b**{n-t} } */ + if ((res = mp_lshd (&y, n - t)) != MP_OKAY) { /* y = y*b**{n-t} */ + goto LBL_Y; + } + + while (mp_cmp (&x, &y) != MP_LT) { + ++(q.dp[n - t]); + if ((res = mp_sub (&x, &y, &x)) != MP_OKAY) { + goto LBL_Y; + } + } + + /* reset y by shifting it back down */ + mp_rshd (&y, n - t); + + /* step 3. for i from n down to (t + 1) */ + for (i = n; i >= (t + 1); i--) { + if (i > x.used) { + continue; + } + + /* step 3.1 if xi == yt then set q{i-t-1} to b-1, + * otherwise set q{i-t-1} to (xi*b + x{i-1})/yt */ + if (x.dp[i] == y.dp[t]) { + q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1); + } else { + mp_word tmp; + tmp = ((mp_word) x.dp[i]) << ((mp_word) DIGIT_BIT); + tmp |= ((mp_word) x.dp[i - 1]); + tmp /= ((mp_word) y.dp[t]); + if (tmp > (mp_word) MP_MASK) + tmp = MP_MASK; + q.dp[i - t - 1] = (mp_digit) (tmp & (mp_word) (MP_MASK)); + } + + /* while (q{i-t-1} * (yt * b + y{t-1})) > + xi * b**2 + xi-1 * b + xi-2 + + do q{i-t-1} -= 1; + */ + q.dp[i - t - 1] = (q.dp[i - t - 1] + 1) & MP_MASK; + do { + q.dp[i - t - 1] = (q.dp[i - t - 1] - 1) & MP_MASK; + + /* find left hand */ + mp_zero (&t1); + t1.dp[0] = (t - 1 < 0) ? 0 : y.dp[t - 1]; + t1.dp[1] = y.dp[t]; + t1.used = 2; + if ((res = mp_mul_d (&t1, q.dp[i - t - 1], &t1)) != MP_OKAY) { + goto LBL_Y; + } + + /* find right hand */ + t2.dp[0] = (i - 2 < 0) ? 0 : x.dp[i - 2]; + t2.dp[1] = (i - 1 < 0) ? 0 : x.dp[i - 1]; + t2.dp[2] = x.dp[i]; + t2.used = 3; + } while (mp_cmp_mag(&t1, &t2) == MP_GT); + + /* step 3.3 x = x - q{i-t-1} * y * b**{i-t-1} */ + if ((res = mp_mul_d (&y, q.dp[i - t - 1], &t1)) != MP_OKAY) { + goto LBL_Y; + } + + if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) { + goto LBL_Y; + } + + if ((res = mp_sub (&x, &t1, &x)) != MP_OKAY) { + goto LBL_Y; + } + + /* if x < 0 then { x = x + y*b**{i-t-1}; q{i-t-1} -= 1; } */ + if (x.sign == MP_NEG) { + if ((res = mp_copy (&y, &t1)) != MP_OKAY) { + goto LBL_Y; + } + if ((res = mp_lshd (&t1, i - t - 1)) != MP_OKAY) { + goto LBL_Y; + } + if ((res = mp_add (&x, &t1, &x)) != MP_OKAY) { + goto LBL_Y; + } + + q.dp[i - t - 1] = (q.dp[i - t - 1] - 1UL) & MP_MASK; + } + } + + /* now q is the quotient and x is the remainder + * [which we have to normalize] + */ + + /* get sign before writing to c */ + x.sign = x.used == 0 ? MP_ZPOS : a->sign; + + if (c != NULL) { + mp_clamp (&q); + mp_exch (&q, c); + c->sign = neg; + } + + if (d != NULL) { + mp_div_2d (&x, norm, &x, NULL); + mp_exch (&x, d); + } + + res = MP_OKAY; + +LBL_Y:mp_clear (&y); +LBL_X:mp_clear (&x); +LBL_T2:mp_clear (&t2); +LBL_T1:mp_clear (&t1); +LBL_Q:mp_clear (&q); + return res; +} + +#endif + + +#ifdef MP_LOW_MEM + #define TAB_SIZE 32 +#else + #define TAB_SIZE 256 +#endif + +static int ICACHE_FLASH_ATTR +s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode) +{ + mp_int M[TAB_SIZE], res, mu; + mp_digit buf; + int err, bitbuf, bitcpy, bitcnt, mode, digidx, x, y, winsize; + int (*redux)(mp_int*,mp_int*,mp_int*); + + /* find window size */ + x = mp_count_bits (X); + if (x <= 7) { + winsize = 2; + } else if (x <= 36) { + winsize = 3; + } else if (x <= 140) { + winsize = 4; + } else if (x <= 450) { + winsize = 5; + } else if (x <= 1303) { + winsize = 6; + } else if (x <= 3529) { + winsize = 7; + } else { + winsize = 8; + } + +#ifdef MP_LOW_MEM + if (winsize > 5) { + winsize = 5; + } +#endif + + /* init M array */ + /* init first cell */ + if ((err = mp_init(&M[1])) != MP_OKAY) { + return err; + } + + /* now init the second half of the array */ + for (x = 1<<(winsize-1); x < (1 << winsize); x++) { + if ((err = mp_init(&M[x])) != MP_OKAY) { + for (y = 1<<(winsize-1); y < x; y++) { + mp_clear (&M[y]); + } + mp_clear(&M[1]); + return err; + } + } + + /* create mu, used for Barrett reduction */ + if ((err = mp_init (&mu)) != MP_OKAY) { + goto LBL_M; + } + + if (redmode == 0) { + if ((err = mp_reduce_setup (&mu, P)) != MP_OKAY) { + goto LBL_MU; + } + redux = mp_reduce; + } else { + if ((err = mp_reduce_2k_setup_l (P, &mu)) != MP_OKAY) { + goto LBL_MU; + } + redux = mp_reduce_2k_l; + } + + /* create M table + * + * The M table contains powers of the base, + * e.g. M[x] = G**x mod P + * + * The first half of the table is not + * computed though accept for M[0] and M[1] + */ + if ((err = mp_mod (G, P, &M[1])) != MP_OKAY) { + goto LBL_MU; + } + + /* compute the value at M[1<<(winsize-1)] by squaring + * M[1] (winsize-1) times + */ + if ((err = mp_copy (&M[1], &M[1 << (winsize - 1)])) != MP_OKAY) { + goto LBL_MU; + } + + for (x = 0; x < (winsize - 1); x++) { + /* square it */ + if ((err = mp_sqr (&M[1 << (winsize - 1)], + &M[1 << (winsize - 1)])) != MP_OKAY) { + goto LBL_MU; + } + + /* reduce modulo P */ + if ((err = redux (&M[1 << (winsize - 1)], P, &mu)) != MP_OKAY) { + goto LBL_MU; + } + } + + /* create upper table, that is M[x] = M[x-1] * M[1] (mod P) + * for x = (2**(winsize - 1) + 1) to (2**winsize - 1) + */ + for (x = (1 << (winsize - 1)) + 1; x < (1 << winsize); x++) { + if ((err = mp_mul (&M[x - 1], &M[1], &M[x])) != MP_OKAY) { + goto LBL_MU; + } + if ((err = redux (&M[x], P, &mu)) != MP_OKAY) { + goto LBL_MU; + } + } + + /* setup result */ + if ((err = mp_init (&res)) != MP_OKAY) { + goto LBL_MU; + } + mp_set (&res, 1); + + /* set initial mode and bit cnt */ + mode = 0; + bitcnt = 1; + buf = 0; + digidx = X->used - 1; + bitcpy = 0; + bitbuf = 0; + + for (;;) { + /* grab next digit as required */ + if (--bitcnt == 0) { + /* if digidx == -1 we are out of digits */ + if (digidx == -1) { + break; + } + /* read next digit and reset the bitcnt */ + buf = X->dp[digidx--]; + bitcnt = (int) DIGIT_BIT; + } + + /* grab the next msb from the exponent */ + y = (buf >> (mp_digit)(DIGIT_BIT - 1)) & 1; + buf <<= (mp_digit)1; + + /* if the bit is zero and mode == 0 then we ignore it + * These represent the leading zero bits before the first 1 bit + * in the exponent. Technically this opt is not required but it + * does lower the # of trivial squaring/reductions used + */ + if (mode == 0 && y == 0) { + continue; + } + + /* if the bit is zero and mode == 1 then we square */ + if (mode == 1 && y == 0) { + if ((err = mp_sqr (&res, &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, &mu)) != MP_OKAY) { + goto LBL_RES; + } + continue; + } + + /* else we add it to the window */ + bitbuf |= (y << (winsize - ++bitcpy)); + mode = 2; + + if (bitcpy == winsize) { + /* ok window is filled so square as required and multiply */ + /* square first */ + for (x = 0; x < winsize; x++) { + if ((err = mp_sqr (&res, &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, &mu)) != MP_OKAY) { + goto LBL_RES; + } + } + + /* then multiply */ + if ((err = mp_mul (&res, &M[bitbuf], &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, &mu)) != MP_OKAY) { + goto LBL_RES; + } + + /* empty window and reset */ + bitcpy = 0; + bitbuf = 0; + mode = 1; + } + } + + /* if bits remain then square/multiply */ + if (mode == 2 && bitcpy > 0) { + /* square then multiply if the bit is set */ + for (x = 0; x < bitcpy; x++) { + if ((err = mp_sqr (&res, &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, &mu)) != MP_OKAY) { + goto LBL_RES; + } + + bitbuf <<= 1; + if ((bitbuf & (1 << winsize)) != 0) { + /* then multiply */ + if ((err = mp_mul (&res, &M[1], &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, &mu)) != MP_OKAY) { + goto LBL_RES; + } + } + } + } + + mp_exch (&res, Y); + err = MP_OKAY; +LBL_RES:mp_clear (&res); +LBL_MU:mp_clear (&mu); +LBL_M: + mp_clear(&M[1]); + for (x = 1<<(winsize-1); x < (1 << winsize); x++) { + mp_clear (&M[x]); + } + return err; +} + + +/* computes b = a*a */ +static int ICACHE_FLASH_ATTR +mp_sqr (mp_int * a, mp_int * b) +{ + int res; + +#ifdef BN_MP_TOOM_SQR_C + /* use Toom-Cook? */ + if (a->used >= TOOM_SQR_CUTOFF) { + res = mp_toom_sqr(a, b); + /* Karatsuba? */ + } else +#endif +#ifdef BN_MP_KARATSUBA_SQR_C +if (a->used >= KARATSUBA_SQR_CUTOFF) { + res = mp_karatsuba_sqr (a, b); + } else +#endif + { +#ifdef BN_FAST_S_MP_SQR_C + /* can we use the fast comba multiplier? */ + if ((a->used * 2 + 1) < MP_WARRAY && + a->used < + (1 << (sizeof(mp_word) * CHAR_BIT - 2*DIGIT_BIT - 1))) { + res = fast_s_mp_sqr (a, b); + } else +#endif +#ifdef BN_S_MP_SQR_C + res = s_mp_sqr (a, b); +#else +#error mp_sqr could fail + res = MP_VAL; +#endif + } + b->sign = MP_ZPOS; + return res; +} + + +/* reduces a modulo n where n is of the form 2**p - d + This differs from reduce_2k since "d" can be larger + than a single digit. +*/ +static int ICACHE_FLASH_ATTR +mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d) +{ + mp_int q; + int p, res; + + if ((res = mp_init(&q)) != MP_OKAY) { + return res; + } + + p = mp_count_bits(n); +top: + /* q = a/2**p, a = a mod 2**p */ + if ((res = mp_div_2d(a, p, &q, a)) != MP_OKAY) { + goto ERR; + } + + /* q = q * d */ + if ((res = mp_mul(&q, d, &q)) != MP_OKAY) { + goto ERR; + } + + /* a = a + q */ + if ((res = s_mp_add(a, &q, a)) != MP_OKAY) { + goto ERR; + } + + if (mp_cmp_mag(a, n) != MP_LT) { + s_mp_sub(a, n, a); + goto top; + } + +ERR: + mp_clear(&q); + return res; +} + + +/* determines the setup value */ +static int ICACHE_FLASH_ATTR +mp_reduce_2k_setup_l(mp_int *a, mp_int *d) +{ + int res; + mp_int tmp; + + if ((res = mp_init(&tmp)) != MP_OKAY) { + return res; + } + + if ((res = mp_2expt(&tmp, mp_count_bits(a))) != MP_OKAY) { + goto ERR; + } + + if ((res = s_mp_sub(&tmp, a, d)) != MP_OKAY) { + goto ERR; + } + +ERR: + mp_clear(&tmp); + return res; +} + + +/* computes a = 2**b + * + * Simple algorithm which zeroes the int, grows it then just sets one bit + * as required. + */ +static int ICACHE_FLASH_ATTR +mp_2expt (mp_int * a, int b) +{ + int res; + + /* zero a as per default */ + mp_zero (a); + + /* grow a to accommodate the single bit */ + if ((res = mp_grow (a, b / DIGIT_BIT + 1)) != MP_OKAY) { + return res; + } + + /* set the used count of where the bit will go */ + a->used = b / DIGIT_BIT + 1; + + /* put the single bit in its place */ + a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT); + + return MP_OKAY; +} + + +/* pre-calculate the value required for Barrett reduction + * For a given modulus "b" it calulates the value required in "a" + */ +static int ICACHE_FLASH_ATTR +mp_reduce_setup (mp_int * a, mp_int * b) +{ + int res; + + if ((res = mp_2expt (a, b->used * 2 * DIGIT_BIT)) != MP_OKAY) { + return res; + } + return mp_div (a, b, a, NULL); +} + + +/* reduces x mod m, assumes 0 < x < m**2, mu is + * precomputed via mp_reduce_setup. + * From HAC pp.604 Algorithm 14.42 + */ +static int ICACHE_FLASH_ATTR +mp_reduce (mp_int * x, mp_int * m, mp_int * mu) +{ + mp_int q; + int res, um = m->used; + + /* q = x */ + if ((res = mp_init_copy (&q, x)) != MP_OKAY) { + return res; + } + + /* q1 = x / b**(k-1) */ + mp_rshd (&q, um - 1); + + /* according to HAC this optimization is ok */ + if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) { + if ((res = mp_mul (&q, mu, &q)) != MP_OKAY) { + goto CLEANUP; + } + } else { +#ifdef BN_S_MP_MUL_HIGH_DIGS_C + if ((res = s_mp_mul_high_digs (&q, mu, &q, um)) != MP_OKAY) { + goto CLEANUP; + } +#elif defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C) + if ((res = fast_s_mp_mul_high_digs (&q, mu, &q, um)) != MP_OKAY) { + goto CLEANUP; + } +#else + { +#error mp_reduce would always fail + res = MP_VAL; + goto CLEANUP; + } +#endif + } + + /* q3 = q2 / b**(k+1) */ + mp_rshd (&q, um + 1); + + /* x = x mod b**(k+1), quick (no division) */ + if ((res = mp_mod_2d (x, DIGIT_BIT * (um + 1), x)) != MP_OKAY) { + goto CLEANUP; + } + + /* q = q * m mod b**(k+1), quick (no division) */ + if ((res = s_mp_mul_digs (&q, m, &q, um + 1)) != MP_OKAY) { + goto CLEANUP; + } + + /* x = x - q */ + if ((res = mp_sub (x, &q, x)) != MP_OKAY) { + goto CLEANUP; + } + + /* If x < 0, add b**(k+1) to it */ + if (mp_cmp_d (x, 0) == MP_LT) { + mp_set (&q, 1); + if ((res = mp_lshd (&q, um + 1)) != MP_OKAY) { + goto CLEANUP; + } + if ((res = mp_add (x, &q, x)) != MP_OKAY) { + goto CLEANUP; + } + } + + /* Back off if it's too big */ + while (mp_cmp (x, m) != MP_LT) { + if ((res = s_mp_sub (x, m, x)) != MP_OKAY) { + goto CLEANUP; + } + } + +CLEANUP: + mp_clear (&q); + + return res; +} + + +/* multiplies |a| * |b| and only computes up to digs digits of result + * HAC pp. 595, Algorithm 14.12 Modified so you can control how + * many digits of output are created. + */ +static int ICACHE_FLASH_ATTR +s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) +{ + mp_int t; + int res, pa, pb, ix, iy; + mp_digit u; + mp_word r; + mp_digit tmpx, *tmpt, *tmpy; + + /* can we use the fast multiplier? */ + if (((digs) < MP_WARRAY) && + MIN (a->used, b->used) < + (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) { + return fast_s_mp_mul_digs (a, b, c, digs); + } + + if ((res = mp_init_size (&t, digs)) != MP_OKAY) { + return res; + } + t.used = digs; + + /* compute the digits of the product directly */ + pa = a->used; + for (ix = 0; ix < pa; ix++) { + /* set the carry to zero */ + u = 0; + + /* limit ourselves to making digs digits of output */ + pb = MIN (b->used, digs - ix); + + /* setup some aliases */ + /* copy of the digit from a used within the nested loop */ + tmpx = a->dp[ix]; + + /* an alias for the destination shifted ix places */ + tmpt = t.dp + ix; + + /* an alias for the digits of b */ + tmpy = b->dp; + + /* compute the columns of the output and propagate the carry */ + for (iy = 0; iy < pb; iy++) { + /* compute the column as a mp_word */ + r = ((mp_word)*tmpt) + + ((mp_word)tmpx) * ((mp_word)*tmpy++) + + ((mp_word) u); + + /* the new column is the lower part of the result */ + *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); + + /* get the carry word from the result */ + u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); + } + /* set carry if it is placed below digs */ + if (ix + iy < digs) { + *tmpt = u; + } + } + + mp_clamp (&t); + mp_exch (&t, c); + + mp_clear (&t); + return MP_OKAY; +} + + +/* Fast (comba) multiplier + * + * This is the fast column-array [comba] multiplier. It is + * designed to compute the columns of the product first + * then handle the carries afterwards. This has the effect + * of making the nested loops that compute the columns very + * simple and schedulable on super-scalar processors. + * + * This has been modified to produce a variable number of + * digits of output so if say only a half-product is required + * you don't have to compute the upper half (a feature + * required for fast Barrett reduction). + * + * Based on Algorithm 14.12 on pp.595 of HAC. + * + */ +static int ICACHE_FLASH_ATTR +fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs) +{ + int olduse, res, pa, ix, iz; + mp_digit W[MP_WARRAY]; + register mp_word _W; + + /* grow the destination as required */ + if (c->alloc < digs) { + if ((res = mp_grow (c, digs)) != MP_OKAY) { + return res; + } + } + + /* number of output digits to produce */ + pa = MIN(digs, a->used + b->used); + + /* clear the carry */ + _W = 0; + for (ix = 0; ix < pa; ix++) { + int tx, ty; + int iy; + mp_digit *tmpx, *tmpy; + + /* get offsets into the two bignums */ + ty = MIN(b->used-1, ix); + tx = ix - ty; + + /* setup temp aliases */ + tmpx = a->dp + tx; + tmpy = b->dp + ty; + + /* this is the number of times the loop will iterrate, essentially + while (tx++ < a->used && ty-- >= 0) { ... } + */ + iy = MIN(a->used-tx, ty+1); + + /* execute loop */ + for (iz = 0; iz < iy; ++iz) { + _W += ((mp_word)*tmpx++)*((mp_word)*tmpy--); + + } + + /* store term */ + W[ix] = ((mp_digit)_W) & MP_MASK; + + /* make next carry */ + _W = _W >> ((mp_word)DIGIT_BIT); + } + + /* setup dest */ + olduse = c->used; + c->used = pa; + + { + register mp_digit *tmpc; + tmpc = c->dp; + for (ix = 0; ix < pa+1; ix++) { + /* now extract the previous digit [below the carry] */ + *tmpc++ = W[ix]; + } + + /* clear unused digits [that existed in the old copy of c] */ + for (; ix < olduse; ix++) { + *tmpc++ = 0; + } + } + mp_clamp (c); + return MP_OKAY; +} + + +/* init an mp_init for a given size */ +static int ICACHE_FLASH_ATTR +mp_init_size (mp_int * a, int size) +{ + int x; + + /* pad size so there are always extra digits */ + size += (MP_PREC * 2) - (size % MP_PREC); + + /* alloc mem */ + a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size); + if (a->dp == NULL) { + return MP_MEM; + } + + /* set the members */ + a->used = 0; + a->alloc = size; + a->sign = MP_ZPOS; + + /* zero the digits */ + for (x = 0; x < size; x++) { + a->dp[x] = 0; + } + + return MP_OKAY; +} + + +/* low level squaring, b = a*a, HAC pp.596-597, Algorithm 14.16 */ +static int ICACHE_FLASH_ATTR +s_mp_sqr (mp_int * a, mp_int * b) +{ + mp_int t; + int res, ix, iy, pa; + mp_word r; + mp_digit u, tmpx, *tmpt; + + pa = a->used; + if ((res = mp_init_size (&t, 2*pa + 1)) != MP_OKAY) { + return res; + } + + /* default used is maximum possible size */ + t.used = 2*pa + 1; + + for (ix = 0; ix < pa; ix++) { + /* first calculate the digit at 2*ix */ + /* calculate double precision result */ + r = ((mp_word) t.dp[2*ix]) + + ((mp_word)a->dp[ix])*((mp_word)a->dp[ix]); + + /* store lower part in result */ + t.dp[ix+ix] = (mp_digit) (r & ((mp_word) MP_MASK)); + + /* get the carry */ + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); + + /* left hand side of A[ix] * A[iy] */ + tmpx = a->dp[ix]; + + /* alias for where to store the results */ + tmpt = t.dp + (2*ix + 1); + + for (iy = ix + 1; iy < pa; iy++) { + /* first calculate the product */ + r = ((mp_word)tmpx) * ((mp_word)a->dp[iy]); + + /* now calculate the double precision result, note we use + * addition instead of *2 since it's easier to optimize + */ + r = ((mp_word) *tmpt) + r + r + ((mp_word) u); + + /* store lower part */ + *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); + + /* get carry */ + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); + } + /* propagate upwards */ + while (u != ((mp_digit) 0)) { + r = ((mp_word) *tmpt) + ((mp_word) u); + *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); + u = (mp_digit)(r >> ((mp_word) DIGIT_BIT)); + } + } + + mp_clamp (&t); + mp_exch (&t, b); + mp_clear (&t); + return MP_OKAY; +} + + +/* multiplies |a| * |b| and does not compute the lower digs digits + * [meant to get the higher part of the product] + */ +static int ICACHE_FLASH_ATTR +s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs) +{ + mp_int t; + int res, pa, pb, ix, iy; + mp_digit u; + mp_word r; + mp_digit tmpx, *tmpt, *tmpy; + + /* can we use the fast multiplier? */ +#ifdef BN_FAST_S_MP_MUL_HIGH_DIGS_C + if (((a->used + b->used + 1) < MP_WARRAY) + && MIN (a->used, b->used) < (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) { + return fast_s_mp_mul_high_digs (a, b, c, digs); + } +#endif + + if ((res = mp_init_size (&t, a->used + b->used + 1)) != MP_OKAY) { + return res; + } + t.used = a->used + b->used + 1; + + pa = a->used; + pb = b->used; + for (ix = 0; ix < pa; ix++) { + /* clear the carry */ + u = 0; + + /* left hand side of A[ix] * B[iy] */ + tmpx = a->dp[ix]; + + /* alias to the address of where the digits will be stored */ + tmpt = &(t.dp[digs]); + + /* alias for where to read the right hand side from */ + tmpy = b->dp + (digs - ix); + + for (iy = digs - ix; iy < pb; iy++) { + /* calculate the double precision result */ + r = ((mp_word)*tmpt) + + ((mp_word)tmpx) * ((mp_word)*tmpy++) + + ((mp_word) u); + + /* get the lower part */ + *tmpt++ = (mp_digit) (r & ((mp_word) MP_MASK)); + + /* carry the carry */ + u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); + } + *tmpt = u; + } + mp_clamp (&t); + mp_exch (&t, c); + mp_clear (&t); + return MP_OKAY; +} + + +#ifdef BN_MP_MONTGOMERY_SETUP_C +/* setups the montgomery reduction stuff */ +static int ICACHE_FLASH_ATTR +mp_montgomery_setup (mp_int * n, mp_digit * rho) +{ + mp_digit x, b; + +/* fast inversion mod 2**k + * + * Based on the fact that + * + * XA = 1 (mod 2**n) => (X(2-XA)) A = 1 (mod 2**2n) + * => 2*X*A - X*X*A*A = 1 + * => 2*(1) - (1) = 1 + */ + b = n->dp[0]; + + if ((b & 1) == 0) { + return MP_VAL; + } + + x = (((b + 2) & 4) << 1) + b; /* here x*a==1 mod 2**4 */ + x *= 2 - b * x; /* here x*a==1 mod 2**8 */ +#if !defined(MP_8BIT) + x *= 2 - b * x; /* here x*a==1 mod 2**16 */ +#endif +#if defined(MP_64BIT) || !(defined(MP_8BIT) || defined(MP_16BIT)) + x *= 2 - b * x; /* here x*a==1 mod 2**32 */ +#endif +#ifdef MP_64BIT + x *= 2 - b * x; /* here x*a==1 mod 2**64 */ +#endif + + /* rho = -1/m mod b */ + *rho = (unsigned long)(((mp_word)1 << ((mp_word) DIGIT_BIT)) - x) & MP_MASK; + + return MP_OKAY; +} +#endif + + +#ifdef BN_FAST_MP_MONTGOMERY_REDUCE_C +/* computes xR**-1 == x (mod N) via Montgomery Reduction + * + * This is an optimized implementation of montgomery_reduce + * which uses the comba method to quickly calculate the columns of the + * reduction. + * + * Based on Algorithm 14.32 on pp.601 of HAC. +*/ +int ICACHE_FLASH_ATTR +fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho) +{ + int ix, res, olduse; + mp_word W[MP_WARRAY]; + + /* get old used count */ + olduse = x->used; + + /* grow a as required */ + if (x->alloc < n->used + 1) { + if ((res = mp_grow (x, n->used + 1)) != MP_OKAY) { + return res; + } + } + + /* first we have to get the digits of the input into + * an array of double precision words W[...] + */ + { + register mp_word *_W; + register mp_digit *tmpx; + + /* alias for the W[] array */ + _W = W; + + /* alias for the digits of x*/ + tmpx = x->dp; + + /* copy the digits of a into W[0..a->used-1] */ + for (ix = 0; ix < x->used; ix++) { + *_W++ = *tmpx++; + } + + /* zero the high words of W[a->used..m->used*2] */ + for (; ix < n->used * 2 + 1; ix++) { + *_W++ = 0; + } + } + + /* now we proceed to zero successive digits + * from the least significant upwards + */ + for (ix = 0; ix < n->used; ix++) { + /* mu = ai * m' mod b + * + * We avoid a double precision multiplication (which isn't required) + * by casting the value down to a mp_digit. Note this requires + * that W[ix-1] have the carry cleared (see after the inner loop) + */ + register mp_digit mu; + mu = (mp_digit) (((W[ix] & MP_MASK) * rho) & MP_MASK); + + /* a = a + mu * m * b**i + * + * This is computed in place and on the fly. The multiplication + * by b**i is handled by offseting which columns the results + * are added to. + * + * Note the comba method normally doesn't handle carries in the + * inner loop In this case we fix the carry from the previous + * column since the Montgomery reduction requires digits of the + * result (so far) [see above] to work. This is + * handled by fixing up one carry after the inner loop. The + * carry fixups are done in order so after these loops the + * first m->used words of W[] have the carries fixed + */ + { + register int iy; + register mp_digit *tmpn; + register mp_word *_W; + + /* alias for the digits of the modulus */ + tmpn = n->dp; + + /* Alias for the columns set by an offset of ix */ + _W = W + ix; + + /* inner loop */ + for (iy = 0; iy < n->used; iy++) { + *_W++ += ((mp_word)mu) * ((mp_word)*tmpn++); + } + } + + /* now fix carry for next digit, W[ix+1] */ + W[ix + 1] += W[ix] >> ((mp_word) DIGIT_BIT); + } + + /* now we have to propagate the carries and + * shift the words downward [all those least + * significant digits we zeroed]. + */ + { + register mp_digit *tmpx; + register mp_word *_W, *_W1; + + /* nox fix rest of carries */ + + /* alias for current word */ + _W1 = W + ix; + + /* alias for next word, where the carry goes */ + _W = W + ++ix; + + for (; ix <= n->used * 2 + 1; ix++) { + *_W++ += *_W1++ >> ((mp_word) DIGIT_BIT); + } + + /* copy out, A = A/b**n + * + * The result is A/b**n but instead of converting from an + * array of mp_word to mp_digit than calling mp_rshd + * we just copy them in the right order + */ + + /* alias for destination word */ + tmpx = x->dp; + + /* alias for shifted double precision result */ + _W = W + n->used; + + for (ix = 0; ix < n->used + 1; ix++) { + *tmpx++ = (mp_digit)(*_W++ & ((mp_word) MP_MASK)); + } + + /* zero oldused digits, if the input a was larger than + * m->used+1 we'll have to clear the digits + */ + for (; ix < olduse; ix++) { + *tmpx++ = 0; + } + } + + /* set the max used and clamp */ + x->used = n->used + 1; + mp_clamp (x); + + /* if A >= m then A = A - m */ + if (mp_cmp_mag (x, n) != MP_LT) { + return s_mp_sub (x, n, x); + } + return MP_OKAY; +} +#endif + + +#ifdef BN_MP_MUL_2_C +/* b = a*2 */ +static int ICACHE_FLASH_ATTR +mp_mul_2(mp_int * a, mp_int * b) +{ + int x, res, oldused; + + /* grow to accommodate result */ + if (b->alloc < a->used + 1) { + if ((res = mp_grow (b, a->used + 1)) != MP_OKAY) { + return res; + } + } + + oldused = b->used; + b->used = a->used; + + { + register mp_digit r, rr, *tmpa, *tmpb; + + /* alias for source */ + tmpa = a->dp; + + /* alias for dest */ + tmpb = b->dp; + + /* carry */ + r = 0; + for (x = 0; x < a->used; x++) { + + /* get what will be the *next* carry bit from the + * MSB of the current digit + */ + rr = *tmpa >> ((mp_digit)(DIGIT_BIT - 1)); + + /* now shift up this digit, add in the carry [from the previous] */ + *tmpb++ = ((*tmpa++ << ((mp_digit)1)) | r) & MP_MASK; + + /* copy the carry that would be from the source + * digit into the next iteration + */ + r = rr; + } + + /* new leading digit? */ + if (r != 0) { + /* add a MSB which is always 1 at this point */ + *tmpb = 1; + ++(b->used); + } + + /* now zero any excess digits on the destination + * that we didn't write to + */ + tmpb = b->dp + b->used; + for (x = b->used; x < oldused; x++) { + *tmpb++ = 0; + } + } + b->sign = a->sign; + return MP_OKAY; +} +#endif + + +#ifdef BN_MP_MONTGOMERY_CALC_NORMALIZATION_C +/* + * shifts with subtractions when the result is greater than b. + * + * The method is slightly modified to shift B unconditionally up to just under + * the leading bit of b. This saves a lot of multiple precision shifting. + */ +static int ICACHE_FLASH_ATTR +mp_montgomery_calc_normalization (mp_int * a, mp_int * b) +{ + int x, bits, res; + + /* how many bits of last digit does b use */ + bits = mp_count_bits (b) % DIGIT_BIT; + + if (b->used > 1) { + if ((res = mp_2expt (a, (b->used - 1) * DIGIT_BIT + bits - 1)) != MP_OKAY) { + return res; + } + } else { + mp_set(a, 1); + bits = 1; + } + + + /* now compute C = A * B mod b */ + for (x = bits - 1; x < (int)DIGIT_BIT; x++) { + if ((res = mp_mul_2 (a, a)) != MP_OKAY) { + return res; + } + if (mp_cmp_mag (a, b) != MP_LT) { + if ((res = s_mp_sub (a, b, a)) != MP_OKAY) { + return res; + } + } + } + + return MP_OKAY; +} +#endif + + +#ifdef BN_MP_EXPTMOD_FAST_C +/* computes Y == G**X mod P, HAC pp.616, Algorithm 14.85 + * + * Uses a left-to-right k-ary sliding window to compute the modular exponentiation. + * The value of k changes based on the size of the exponent. + * + * Uses Montgomery or Diminished Radix reduction [whichever appropriate] + */ + +static int ICACHE_FLASH_ATTR +mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int redmode) +{ + mp_int M[TAB_SIZE], res; + mp_digit buf, mp; + int err, bitbuf, bitcpy, bitcnt, mode, digidx, x, y, winsize; + + /* use a pointer to the reduction algorithm. This allows us to use + * one of many reduction algorithms without modding the guts of + * the code with if statements everywhere. + */ + int (*redux)(mp_int*,mp_int*,mp_digit); + + /* find window size */ + x = mp_count_bits (X); + if (x <= 7) { + winsize = 2; + } else if (x <= 36) { + winsize = 3; + } else if (x <= 140) { + winsize = 4; + } else if (x <= 450) { + winsize = 5; + } else if (x <= 1303) { + winsize = 6; + } else if (x <= 3529) { + winsize = 7; + } else { + winsize = 8; + } + +#ifdef MP_LOW_MEM + if (winsize > 5) { + winsize = 5; + } +#endif + + /* init M array */ + /* init first cell */ + if ((err = mp_init(&M[1])) != MP_OKAY) { + return err; + } + + /* now init the second half of the array */ + for (x = 1<<(winsize-1); x < (1 << winsize); x++) { + if ((err = mp_init(&M[x])) != MP_OKAY) { + for (y = 1<<(winsize-1); y < x; y++) { + mp_clear (&M[y]); + } + mp_clear(&M[1]); + return err; + } + } + + /* determine and setup reduction code */ + if (redmode == 0) { +#ifdef BN_MP_MONTGOMERY_SETUP_C + /* now setup montgomery */ + if ((err = mp_montgomery_setup (P, &mp)) != MP_OKAY) { + goto LBL_M; + } +#else + err = MP_VAL; + goto LBL_M; +#endif + + /* automatically pick the comba one if available (saves quite a few calls/ifs) */ +#ifdef BN_FAST_MP_MONTGOMERY_REDUCE_C + if (((P->used * 2 + 1) < MP_WARRAY) && + P->used < (1 << ((CHAR_BIT * sizeof (mp_word)) - (2 * DIGIT_BIT)))) { + redux = fast_mp_montgomery_reduce; + } else +#endif + { +#ifdef BN_MP_MONTGOMERY_REDUCE_C + /* use slower baseline Montgomery method */ + redux = mp_montgomery_reduce; +#else + err = MP_VAL; + goto LBL_M; +#endif + } + } else if (redmode == 1) { +#if defined(BN_MP_DR_SETUP_C) && defined(BN_MP_DR_REDUCE_C) + /* setup DR reduction for moduli of the form B**k - b */ + mp_dr_setup(P, &mp); + redux = mp_dr_reduce; +#else + err = MP_VAL; + goto LBL_M; +#endif + } else { +#if defined(BN_MP_REDUCE_2K_SETUP_C) && defined(BN_MP_REDUCE_2K_C) + /* setup DR reduction for moduli of the form 2**k - b */ + if ((err = mp_reduce_2k_setup(P, &mp)) != MP_OKAY) { + goto LBL_M; + } + redux = mp_reduce_2k; +#else + err = MP_VAL; + goto LBL_M; +#endif + } + + /* setup result */ + if ((err = mp_init (&res)) != MP_OKAY) { + goto LBL_M; + } + + /* create M table + * + + * + * The first half of the table is not computed though accept for M[0] and M[1] + */ + + if (redmode == 0) { +#ifdef BN_MP_MONTGOMERY_CALC_NORMALIZATION_C + /* now we need R mod m */ + if ((err = mp_montgomery_calc_normalization (&res, P)) != MP_OKAY) { + goto LBL_RES; + } +#else + err = MP_VAL; + goto LBL_RES; +#endif + + /* now set M[1] to G * R mod m */ + if ((err = mp_mulmod (G, &res, P, &M[1])) != MP_OKAY) { + goto LBL_RES; + } + } else { + mp_set(&res, 1); + if ((err = mp_mod(G, P, &M[1])) != MP_OKAY) { + goto LBL_RES; + } + } + + /* compute the value at M[1<<(winsize-1)] by squaring M[1] (winsize-1) times */ + if ((err = mp_copy (&M[1], &M[1 << (winsize - 1)])) != MP_OKAY) { + goto LBL_RES; + } + + for (x = 0; x < (winsize - 1); x++) { + if ((err = mp_sqr (&M[1 << (winsize - 1)], &M[1 << (winsize - 1)])) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&M[1 << (winsize - 1)], P, mp)) != MP_OKAY) { + goto LBL_RES; + } + } + + /* create upper table */ + for (x = (1 << (winsize - 1)) + 1; x < (1 << winsize); x++) { + if ((err = mp_mul (&M[x - 1], &M[1], &M[x])) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&M[x], P, mp)) != MP_OKAY) { + goto LBL_RES; + } + } + + /* set initial mode and bit cnt */ + mode = 0; + bitcnt = 1; + buf = 0; + digidx = X->used - 1; + bitcpy = 0; + bitbuf = 0; + + for (;;) { + /* grab next digit as required */ + if (--bitcnt == 0) { + /* if digidx == -1 we are out of digits so break */ + if (digidx == -1) { + break; + } + /* read next digit and reset bitcnt */ + buf = X->dp[digidx--]; + bitcnt = (int)DIGIT_BIT; + } + + /* grab the next msb from the exponent */ + y = (mp_digit)(buf >> (DIGIT_BIT - 1)) & 1; + buf <<= (mp_digit)1; + + /* if the bit is zero and mode == 0 then we ignore it + * These represent the leading zero bits before the first 1 bit + * in the exponent. Technically this opt is not required but it + * does lower the # of trivial squaring/reductions used + */ + if (mode == 0 && y == 0) { + continue; + } + + /* if the bit is zero and mode == 1 then we square */ + if (mode == 1 && y == 0) { + if ((err = mp_sqr (&res, &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, mp)) != MP_OKAY) { + goto LBL_RES; + } + continue; + } + + /* else we add it to the window */ + bitbuf |= (y << (winsize - ++bitcpy)); + mode = 2; + + if (bitcpy == winsize) { + /* ok window is filled so square as required and multiply */ + /* square first */ + for (x = 0; x < winsize; x++) { + if ((err = mp_sqr (&res, &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, mp)) != MP_OKAY) { + goto LBL_RES; + } + } + + /* then multiply */ + if ((err = mp_mul (&res, &M[bitbuf], &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, mp)) != MP_OKAY) { + goto LBL_RES; + } + + /* empty window and reset */ + bitcpy = 0; + bitbuf = 0; + mode = 1; + } + } + + /* if bits remain then square/multiply */ + if (mode == 2 && bitcpy > 0) { + /* square then multiply if the bit is set */ + for (x = 0; x < bitcpy; x++) { + if ((err = mp_sqr (&res, &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, mp)) != MP_OKAY) { + goto LBL_RES; + } + + /* get next bit of the window */ + bitbuf <<= 1; + if ((bitbuf & (1 << winsize)) != 0) { + /* then multiply */ + if ((err = mp_mul (&res, &M[1], &res)) != MP_OKAY) { + goto LBL_RES; + } + if ((err = redux (&res, P, mp)) != MP_OKAY) { + goto LBL_RES; + } + } + } + } + + if (redmode == 0) { + /* fixup result if Montgomery reduction is used + * recall that any value in a Montgomery system is + * actually multiplied by R mod n. So we have + * to reduce one more time to cancel out the factor + * of R. + */ + if ((err = redux(&res, P, mp)) != MP_OKAY) { + goto LBL_RES; + } + } + + /* swap res with Y */ + mp_exch (&res, Y); + err = MP_OKAY; +LBL_RES:mp_clear (&res); +LBL_M: + mp_clear(&M[1]); + for (x = 1<<(winsize-1); x < (1 << winsize); x++) { + mp_clear (&M[x]); + } + return err; +} +#endif + + +#ifdef BN_FAST_S_MP_SQR_C +/* the jist of squaring... + * you do like mult except the offset of the tmpx [one that + * starts closer to zero] can't equal the offset of tmpy. + * So basically you set up iy like before then you min it with + * (ty-tx) so that it never happens. You double all those + * you add in the inner loop + +After that loop you do the squares and add them in. +*/ + +static int ICACHE_FLASH_ATTR +fast_s_mp_sqr (mp_int * a, mp_int * b) +{ + int olduse, res, pa, ix, iz; + mp_digit W[MP_WARRAY], *tmpx; + mp_word W1; + + /* grow the destination as required */ + pa = a->used + a->used; + if (b->alloc < pa) { + if ((res = mp_grow (b, pa)) != MP_OKAY) { + return res; + } + } + + /* number of output digits to produce */ + W1 = 0; + for (ix = 0; ix < pa; ix++) { + int tx, ty, iy; + mp_word _W; + mp_digit *tmpy; + + /* clear counter */ + _W = 0; + + /* get offsets into the two bignums */ + ty = MIN(a->used-1, ix); + tx = ix - ty; + + /* setup temp aliases */ + tmpx = a->dp + tx; + tmpy = a->dp + ty; + + /* this is the number of times the loop will iterrate, essentially + while (tx++ < a->used && ty-- >= 0) { ... } + */ + iy = MIN(a->used-tx, ty+1); + + /* now for squaring tx can never equal ty + * we halve the distance since they approach at a rate of 2x + * and we have to round because odd cases need to be executed + */ + iy = MIN(iy, (ty-tx+1)>>1); + + /* execute loop */ + for (iz = 0; iz < iy; iz++) { + _W += ((mp_word)*tmpx++)*((mp_word)*tmpy--); + } + + /* double the inner product and add carry */ + _W = _W + _W + W1; + + /* even columns have the square term in them */ + if ((ix&1) == 0) { + _W += ((mp_word)a->dp[ix>>1])*((mp_word)a->dp[ix>>1]); + } + + /* store it */ + W[ix] = (mp_digit)(_W & MP_MASK); + + /* make next carry */ + W1 = _W >> ((mp_word)DIGIT_BIT); + } + + /* setup dest */ + olduse = b->used; + b->used = a->used+a->used; + + { + mp_digit *tmpb; + tmpb = b->dp; + for (ix = 0; ix < pa; ix++) { + *tmpb++ = W[ix] & MP_MASK; + } + + /* clear unused digits [that existed in the old copy of c] */ + for (; ix < olduse; ix++) { + *tmpb++ = 0; + } + } + mp_clamp (b); + return MP_OKAY; +} +#endif + + +#ifdef BN_MP_MUL_D_C +/* multiply by a digit */ +static int ICACHE_FLASH_ATTR +mp_mul_d (mp_int * a, mp_digit b, mp_int * c) +{ + mp_digit u, *tmpa, *tmpc; + mp_word r; + int ix, res, olduse; + + /* make sure c is big enough to hold a*b */ + if (c->alloc < a->used + 1) { + if ((res = mp_grow (c, a->used + 1)) != MP_OKAY) { + return res; + } + } + + /* get the original destinations used count */ + olduse = c->used; + + /* set the sign */ + c->sign = a->sign; + + /* alias for a->dp [source] */ + tmpa = a->dp; + + /* alias for c->dp [dest] */ + tmpc = c->dp; + + /* zero carry */ + u = 0; + + /* compute columns */ + for (ix = 0; ix < a->used; ix++) { + /* compute product and carry sum for this term */ + r = ((mp_word) u) + ((mp_word)*tmpa++) * ((mp_word)b); + + /* mask off higher bits to get a single digit */ + *tmpc++ = (mp_digit) (r & ((mp_word) MP_MASK)); + + /* send carry into next iteration */ + u = (mp_digit) (r >> ((mp_word) DIGIT_BIT)); + } + + /* store final carry [if any] and increment ix offset */ + *tmpc++ = u; + ++ix; + + /* now zero digits above the top */ + while (ix++ < olduse) { + *tmpc++ = 0; + } + + /* set used count */ + c->used = a->used + 1; + mp_clamp(c); + + return MP_OKAY; +} +#endif diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs1.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs1.h new file mode 100644 index 00000000..ed64defa --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs1.h @@ -0,0 +1,22 @@ +/* + * PKCS #1 (RSA Encryption) + * Copyright (c) 2006-2009, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef PKCS1_H +#define PKCS1_H + +int pkcs1_encrypt(int block_type, struct crypto_rsa_key *key, + int use_private, const u8 *in, size_t inlen, + u8 *out, size_t *outlen); +int pkcs1_v15_private_key_decrypt(struct crypto_rsa_key *key, + const u8 *in, size_t inlen, + u8 *out, size_t *outlen); +int pkcs1_decrypt_public_key(struct crypto_rsa_key *key, + const u8 *crypt, size_t crypt_len, + u8 *plain, size_t *plain_len); + +#endif /* PKCS1_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs5.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs5.h new file mode 100644 index 00000000..20ddadc4 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs5.h @@ -0,0 +1,16 @@ +/* + * PKCS #5 (Password-based Encryption) + * Copyright (c) 2009, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef PKCS5_H +#define PKCS5_H + +u8 * pkcs5_decrypt(const u8 *enc_alg, size_t enc_alg_len, + const u8 *enc_data, size_t enc_data_len, + const char *passwd, size_t *data_len); + +#endif /* PKCS5_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs8.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs8.h new file mode 100644 index 00000000..bebf840b --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/pkcs8.h @@ -0,0 +1,16 @@ +/* + * PKCS #8 (Private-key information syntax) + * Copyright (c) 2006-2009, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef PKCS8_H +#define PKCS8_H + +struct crypto_private_key * pkcs8_key_import(const u8 *buf, size_t len); +struct crypto_private_key * +pkcs8_enc_key_import(const u8 *buf, size_t len, const char *passwd); + +#endif /* PKCS8_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/rsa.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/rsa.h new file mode 100644 index 00000000..c236a9df --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/rsa.h @@ -0,0 +1,23 @@ +/* + * RSA + * Copyright (c) 2006, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef RSA_H +#define RSA_H + +struct crypto_rsa_key; + +struct crypto_rsa_key * +crypto_rsa_import_public_key(const u8 *buf, size_t len); +struct crypto_rsa_key * +crypto_rsa_import_private_key(const u8 *buf, size_t len); +size_t crypto_rsa_get_modulus_len(struct crypto_rsa_key *key); +int crypto_rsa_exptmod(const u8 *in, size_t inlen, u8 *out, size_t *outlen, + struct crypto_rsa_key *key, int use_private); +void crypto_rsa_free(struct crypto_rsa_key *key); + +#endif /* RSA_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tls.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tls.h new file mode 100644 index 00000000..983999b5 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tls.h @@ -0,0 +1,537 @@ +/* + * SSL/TLS interface definition + * Copyright (c) 2004-2013, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLS_H +#define TLS_H + +struct tls_connection; + +struct tls_keys { + const u8 *master_key; /* TLS master secret */ + size_t master_key_len; + const u8 *client_random; + size_t client_random_len; + const u8 *server_random; + size_t server_random_len; +}; + +enum tls_event { + TLS_CERT_CHAIN_SUCCESS, + TLS_CERT_CHAIN_FAILURE, + TLS_PEER_CERTIFICATE, + TLS_ALERT +}; + +/* + * Note: These are used as identifier with external programs and as such, the + * values must not be changed. + */ +enum tls_fail_reason { + TLS_FAIL_UNSPECIFIED = 0, + TLS_FAIL_UNTRUSTED = 1, + TLS_FAIL_REVOKED = 2, + TLS_FAIL_NOT_YET_VALID = 3, + TLS_FAIL_EXPIRED = 4, + TLS_FAIL_SUBJECT_MISMATCH = 5, + TLS_FAIL_ALTSUBJECT_MISMATCH = 6, + TLS_FAIL_BAD_CERTIFICATE = 7, + TLS_FAIL_SERVER_CHAIN_PROBE = 8 +}; + +union tls_event_data { + struct { + int depth; + const char *subject; + enum tls_fail_reason reason; + const char *reason_txt; + const struct wpabuf *cert; + } cert_fail; + + struct { + int depth; + const char *subject; + const struct wpabuf *cert; + const u8 *hash; + size_t hash_len; + } peer_cert; + + struct { + int is_local; + const char *type; + const char *description; + } alert; +}; + +struct tls_config { + const char *opensc_engine_path; + const char *pkcs11_engine_path; + const char *pkcs11_module_path; + int fips_mode; + int cert_in_cb; + + void (*event_cb)(void *ctx, enum tls_event ev, + union tls_event_data *data); + void *cb_ctx; +}; + +#define TLS_CONN_ALLOW_SIGN_RSA_MD5 BIT(0) +#define TLS_CONN_DISABLE_TIME_CHECKS BIT(1) +#define TLS_CONN_DISABLE_SESSION_TICKET BIT(2) +#define TLS_CONN_REQUEST_OCSP BIT(3) +#define TLS_CONN_REQUIRE_OCSP BIT(4) + +/** + * struct tls_connection_params - Parameters for TLS connection + * @ca_cert: File or reference name for CA X.509 certificate in PEM or DER + * format + * @ca_cert_blob: ca_cert as inlined data or %NULL if not used + * @ca_cert_blob_len: ca_cert_blob length + * @ca_path: Path to CA certificates (OpenSSL specific) + * @subject_match: String to match in the subject of the peer certificate or + * %NULL to allow all subjects + * @altsubject_match: String to match in the alternative subject of the peer + * certificate or %NULL to allow all alternative subjects + * @client_cert: File or reference name for client X.509 certificate in PEM or + * DER format + * @client_cert_blob: client_cert as inlined data or %NULL if not used + * @client_cert_blob_len: client_cert_blob length + * @private_key: File or reference name for client private key in PEM or DER + * format (traditional format (RSA PRIVATE KEY) or PKCS#8 (PRIVATE KEY) + * @private_key_blob: private_key as inlined data or %NULL if not used + * @private_key_blob_len: private_key_blob length + * @private_key_passwd: Passphrase for decrypted private key, %NULL if no + * passphrase is used. + * @dh_file: File name for DH/DSA data in PEM format, or %NULL if not used + * @dh_blob: dh_file as inlined data or %NULL if not used + * @dh_blob_len: dh_blob length + * @engine: 1 = use engine (e.g., a smartcard) for private key operations + * (this is OpenSSL specific for now) + * @engine_id: engine id string (this is OpenSSL specific for now) + * @ppin: pointer to the pin variable in the configuration + * (this is OpenSSL specific for now) + * @key_id: the private key's id when using engine (this is OpenSSL + * specific for now) + * @cert_id: the certificate's id when using engine + * @ca_cert_id: the CA certificate's id when using engine + * @flags: Parameter options (TLS_CONN_*) + * @ocsp_stapling_response: DER encoded file with cached OCSP stapling response + * or %NULL if OCSP is not enabled + * + * TLS connection parameters to be configured with tls_connection_set_params() + * and tls_global_set_params(). + * + * Certificates and private key can be configured either as a reference name + * (file path or reference to certificate store) or by providing the same data + * as a pointer to the data in memory. Only one option will be used for each + * field. + */ +struct tls_connection_params { + const char *ca_cert; + const u8 *ca_cert_blob; + size_t ca_cert_blob_len; + const char *ca_path; + const char *subject_match; + const char *altsubject_match; + const char *client_cert; + const u8 *client_cert_blob; + size_t client_cert_blob_len; + const char *private_key; + const u8 *private_key_blob; + size_t private_key_blob_len; + const char *private_key_passwd; + const char *dh_file; + const u8 *dh_blob; + size_t dh_blob_len; + + /* OpenSSL specific variables */ + int engine; + const char *engine_id; + const char *pin; + const char *key_id; + const char *cert_id; + const char *ca_cert_id; + + unsigned int flags; + const char *ocsp_stapling_response; +}; + + +/** + * tls_init - Initialize TLS library + * @conf: Configuration data for TLS library + * Returns: Context data to be used as tls_ctx in calls to other functions, + * or %NULL on failure. + * + * Called once during program startup and once for each RSN pre-authentication + * session. In other words, there can be two concurrent TLS contexts. If global + * library initialization is needed (i.e., one that is shared between both + * authentication types), the TLS library wrapper should maintain a reference + * counter and do global initialization only when moving from 0 to 1 reference. + */ +void * tls_init(void); + +/** + * tls_deinit - Deinitialize TLS library + * @tls_ctx: TLS context data from tls_init() + * + * Called once during program shutdown and once for each RSN pre-authentication + * session. If global library deinitialization is needed (i.e., one that is + * shared between both authentication types), the TLS library wrapper should + * maintain a reference counter and do global deinitialization only when moving + * from 1 to 0 references. + */ +void tls_deinit(void *tls_ctx); + +/** + * tls_get_errors - Process pending errors + * @tls_ctx: TLS context data from tls_init() + * Returns: Number of found error, 0 if no errors detected. + * + * Process all pending TLS errors. + */ +int tls_get_errors(void *tls_ctx); + +/** + * tls_connection_init - Initialize a new TLS connection + * @tls_ctx: TLS context data from tls_init() + * Returns: Connection context data, conn for other function calls + */ +struct tls_connection * tls_connection_init(void *tls_ctx); + +/** + * tls_connection_deinit - Free TLS connection data + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * + * Release all resources allocated for TLS connection. + */ +void tls_connection_deinit(void *tls_ctx, struct tls_connection *conn); + +/** + * tls_connection_established - Has the TLS connection been completed? + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: 1 if TLS connection has been completed, 0 if not. + */ +int tls_connection_established(void *tls_ctx, struct tls_connection *conn); + +/** + * tls_connection_shutdown - Shutdown TLS connection + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: 0 on success, -1 on failure + * + * Shutdown current TLS connection without releasing all resources. New + * connection can be started by using the same conn without having to call + * tls_connection_init() or setting certificates etc. again. The new + * connection should try to use session resumption. + */ +int tls_connection_shutdown(void *tls_ctx, struct tls_connection *conn); + +enum { + TLS_SET_PARAMS_ENGINE_PRV_VERIFY_FAILED = -3, + TLS_SET_PARAMS_ENGINE_PRV_INIT_FAILED = -2 +}; + +/** + * tls_connection_set_params - Set TLS connection parameters + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @params: Connection parameters + * Returns: 0 on success, -1 on failure, + * TLS_SET_PARAMS_ENGINE_PRV_INIT_FAILED (-2) on possible PIN error causing + * PKCS#11 engine failure, or + * TLS_SET_PARAMS_ENGINE_PRV_VERIFY_FAILED (-3) on failure to verify the + * PKCS#11 engine private key. + */ +int __must_check +tls_connection_set_params(void *tls_ctx, struct tls_connection *conn, + const struct tls_connection_params *params); + +/** + * tls_global_set_params - Set TLS parameters for all TLS connection + * @tls_ctx: TLS context data from tls_init() + * @params: Global TLS parameters + * Returns: 0 on success, -1 on failure, + * TLS_SET_PARAMS_ENGINE_PRV_INIT_FAILED (-2) on possible PIN error causing + * PKCS#11 engine failure, or + * TLS_SET_PARAMS_ENGINE_PRV_VERIFY_FAILED (-3) on failure to verify the + * PKCS#11 engine private key. + */ +int __must_check tls_global_set_params( + void *tls_ctx, const struct tls_connection_params *params); + +/** + * tls_global_set_verify - Set global certificate verification options + * @tls_ctx: TLS context data from tls_init() + * @check_crl: 0 = do not verify CRLs, 1 = verify CRL for the user certificate, + * 2 = verify CRL for all certificates + * Returns: 0 on success, -1 on failure + */ +int __must_check tls_global_set_verify(void *tls_ctx, int check_crl); + +/** + * tls_connection_set_verify - Set certificate verification options + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @verify_peer: 1 = verify peer certificate + * Returns: 0 on success, -1 on failure + */ +int __must_check tls_connection_set_verify(void *tls_ctx, + struct tls_connection *conn, + int verify_peer); + +/** + * tls_connection_get_keys - Get master key and random data from TLS connection + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @keys: Structure of key/random data (filled on success) + * Returns: 0 on success, -1 on failure + */ +int __must_check tls_connection_get_keys(void *tls_ctx, + struct tls_connection *conn, + struct tls_keys *keys); + +/** + * tls_connection_prf - Use TLS-PRF to derive keying material + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @label: Label (e.g., description of the key) for PRF + * @server_random_first: seed is 0 = client_random|server_random, + * 1 = server_random|client_random + * @out: Buffer for output data from TLS-PRF + * @out_len: Length of the output buffer + * Returns: 0 on success, -1 on failure + * + * This function is optional to implement if tls_connection_get_keys() provides + * access to master secret and server/client random values. If these values are + * not exported from the TLS library, tls_connection_prf() is required so that + * further keying material can be derived from the master secret. If not + * implemented, the function will still need to be defined, but it can just + * return -1. Example implementation of this function is in tls_prf_sha1_md5() + * when it is called with seed set to client_random|server_random (or + * server_random|client_random). + */ +int __must_check tls_connection_prf(void *tls_ctx, + struct tls_connection *conn, + const char *label, + int server_random_first, + u8 *out, size_t out_len); + +/** + * tls_connection_handshake - Process TLS handshake (client side) + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @in_data: Input data from TLS server + * @appl_data: Pointer to application data pointer, or %NULL if dropped + * Returns: Output data, %NULL on failure + * + * The caller is responsible for freeing the returned output data. If the final + * handshake message includes application data, this is decrypted and + * appl_data (if not %NULL) is set to point this data. The caller is + * responsible for freeing appl_data. + * + * This function is used during TLS handshake. The first call is done with + * in_data == %NULL and the library is expected to return ClientHello packet. + * This packet is then send to the server and a response from server is given + * to TLS library by calling this function again with in_data pointing to the + * TLS message from the server. + * + * If the TLS handshake fails, this function may return %NULL. However, if the + * TLS library has a TLS alert to send out, that should be returned as the + * output data. In this case, tls_connection_get_failed() must return failure + * (> 0). + * + * tls_connection_established() should return 1 once the TLS handshake has been + * completed successfully. + */ +struct wpabuf * tls_connection_handshake(void *tls_ctx, + struct tls_connection *conn, + const struct wpabuf *in_data, + struct wpabuf **appl_data); + +struct wpabuf * tls_connection_handshake2(void *tls_ctx, + struct tls_connection *conn, + const struct wpabuf *in_data, + struct wpabuf **appl_data, + int *more_data_needed); + +/** + * tls_connection_server_handshake - Process TLS handshake (server side) + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @in_data: Input data from TLS peer + * @appl_data: Pointer to application data pointer, or %NULL if dropped + * Returns: Output data, %NULL on failure + * + * The caller is responsible for freeing the returned output data. + */ +struct wpabuf * tls_connection_server_handshake(void *tls_ctx, + struct tls_connection *conn, + const struct wpabuf *in_data, + struct wpabuf **appl_data); + +/** + * tls_connection_encrypt - Encrypt data into TLS tunnel + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @in_data: Plaintext data to be encrypted + * Returns: Encrypted TLS data or %NULL on failure + * + * This function is used after TLS handshake has been completed successfully to + * send data in the encrypted tunnel. The caller is responsible for freeing the + * returned output data. + */ +struct wpabuf * tls_connection_encrypt(void *tls_ctx, + struct tls_connection *conn, + const struct wpabuf *in_data); + +/** + * tls_connection_decrypt - Decrypt data from TLS tunnel + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @in_data: Encrypted TLS data + * Returns: Decrypted TLS data or %NULL on failure + * + * This function is used after TLS handshake has been completed successfully to + * receive data from the encrypted tunnel. The caller is responsible for + * freeing the returned output data. + */ +struct wpabuf * tls_connection_decrypt(void *tls_ctx, + struct tls_connection *conn, + const struct wpabuf *in_data); + +struct wpabuf * tls_connection_decrypt2(void *tls_ctx, + struct tls_connection *conn, + const struct wpabuf *in_data, + int *more_data_needed); + +/** + * tls_connection_resumed - Was session resumption used + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: 1 if current session used session resumption, 0 if not + */ +int tls_connection_resumed(void *tls_ctx, struct tls_connection *conn); + +enum { + TLS_CIPHER_NONE, + TLS_CIPHER_RC4_SHA /* 0x0005 */, + TLS_CIPHER_AES128_SHA /* 0x002f */, + TLS_CIPHER_RSA_DHE_AES128_SHA /* 0x0031 */, + TLS_CIPHER_ANON_DH_AES128_SHA /* 0x0034 */ +}; + +/** + * tls_connection_set_cipher_list - Configure acceptable cipher suites + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @ciphers: Zero (TLS_CIPHER_NONE) terminated list of allowed ciphers + * (TLS_CIPHER_*). + * Returns: 0 on success, -1 on failure + */ +int __must_check tls_connection_set_cipher_list(void *tls_ctx, + struct tls_connection *conn, + u8 *ciphers); + +/** + * tls_get_cipher - Get current cipher name + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @buf: Buffer for the cipher name + * @buflen: buf size + * Returns: 0 on success, -1 on failure + * + * Get the name of the currently used cipher. + */ +int __must_check tls_get_cipher(void *tls_ctx, struct tls_connection *conn, + char *buf, size_t buflen); + +/** + * tls_connection_enable_workaround - Enable TLS workaround options + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: 0 on success, -1 on failure + * + * This function is used to enable connection-specific workaround options for + * buffer SSL/TLS implementations. + */ +int __must_check tls_connection_enable_workaround(void *tls_ctx, + struct tls_connection *conn); + +/** + * tls_connection_client_hello_ext - Set TLS extension for ClientHello + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * @ext_type: Extension type + * @data: Extension payload (%NULL to remove extension) + * @data_len: Extension payload length + * Returns: 0 on success, -1 on failure + */ +int __must_check tls_connection_client_hello_ext(void *tls_ctx, + struct tls_connection *conn, + int ext_type, const u8 *data, + size_t data_len); + +/** + * tls_connection_get_failed - Get connection failure status + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * + * Returns >0 if connection has failed, 0 if not. + */ +int tls_connection_get_failed(void *tls_ctx, struct tls_connection *conn); + +/** + * tls_connection_get_read_alerts - Get connection read alert status + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: Number of times a fatal read (remote end reported error) has + * happened during this connection. + */ +int tls_connection_get_read_alerts(void *tls_ctx, struct tls_connection *conn); + +/** + * tls_connection_get_write_alerts - Get connection write alert status + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: Number of times a fatal write (locally detected error) has happened + * during this connection. + */ +int tls_connection_get_write_alerts(void *tls_ctx, + struct tls_connection *conn); + +/** + * tls_connection_get_keyblock_size - Get TLS key_block size + * @tls_ctx: TLS context data from tls_init() + * @conn: Connection context data from tls_connection_init() + * Returns: Size of the key_block for the negotiated cipher suite or -1 on + * failure + */ +int tls_connection_get_keyblock_size(void *tls_ctx, + struct tls_connection *conn); + +/** + * tls_capabilities - Get supported TLS capabilities + * @tls_ctx: TLS context data from tls_init() + * Returns: Bit field of supported TLS capabilities (TLS_CAPABILITY_*) + */ +unsigned int tls_capabilities(void *tls_ctx); + +typedef int (*tls_session_ticket_cb) +(void *ctx, const u8 *ticket, size_t len, const u8 *client_random, + const u8 *server_random, u8 *master_secret); + +int __must_check tls_connection_set_session_ticket_cb( + void *tls_ctx, struct tls_connection *conn, + tls_session_ticket_cb cb, void *ctx); + +int tls_prf_sha1_md5(const u8 *secret, size_t secret_len, const char *label, + const u8 *seed, size_t seed_len, u8 *out, size_t outlen); + +#endif /* TLS_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client.h new file mode 100644 index 00000000..8ec85f1a --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client.h @@ -0,0 +1,54 @@ +/* + * TLS v1.0/v1.1/v1.2 client (RFC 2246, RFC 4346, RFC 5246) + * Copyright (c) 2006-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_CLIENT_H +#define TLSV1_CLIENT_H + +#include "tlsv1_cred.h" + +struct tlsv1_client; + +int tlsv1_client_global_init(void); +void tlsv1_client_global_deinit(void); +struct tlsv1_client * tlsv1_client_init(void); +void tlsv1_client_deinit(struct tlsv1_client *conn); +int tlsv1_client_established(struct tlsv1_client *conn); +int tlsv1_client_prf(struct tlsv1_client *conn, const char *label, + int server_random_first, u8 *out, size_t out_len); +u8 * tlsv1_client_handshake(struct tlsv1_client *conn, + const u8 *in_data, size_t in_len, + size_t *out_len, u8 **appl_data, + size_t *appl_data_len, int *need_more_data); +int tlsv1_client_encrypt(struct tlsv1_client *conn, + const u8 *in_data, size_t in_len, + u8 *out_data, size_t out_len); +struct wpabuf * tlsv1_client_decrypt(struct tlsv1_client *conn, + const u8 *in_data, size_t in_len, + int *need_more_data); +int tlsv1_client_get_cipher(struct tlsv1_client *conn, char *buf, + size_t buflen); +int tlsv1_client_shutdown(struct tlsv1_client *conn); +int tlsv1_client_resumed(struct tlsv1_client *conn); +int tlsv1_client_hello_ext(struct tlsv1_client *conn, int ext_type, + const u8 *data, size_t data_len); +int tlsv1_client_get_keys(struct tlsv1_client *conn, struct tls_keys *keys); +int tlsv1_client_get_keyblock_size(struct tlsv1_client *conn); +int tlsv1_client_set_cipher_list(struct tlsv1_client *conn, u8 *ciphers); +int tlsv1_client_set_cred(struct tlsv1_client *conn, + struct tlsv1_credentials *cred); +void tlsv1_client_set_time_checks(struct tlsv1_client *conn, int enabled); + +typedef int (*tlsv1_client_session_ticket_cb) +(void *ctx, const u8 *ticket, size_t len, const u8 *client_random, + const u8 *server_random, u8 *master_secret); + +void tlsv1_client_set_session_ticket_cb(struct tlsv1_client *conn, + tlsv1_client_session_ticket_cb cb, + void *ctx); + +#endif /* TLSV1_CLIENT_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client_i.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client_i.h new file mode 100644 index 00000000..55fdcf8d --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_client_i.h @@ -0,0 +1,84 @@ +/* + * TLSv1 client - internal structures + * Copyright (c) 2006-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_CLIENT_I_H +#define TLSV1_CLIENT_I_H + +struct tlsv1_client { + enum { + CLIENT_HELLO, SERVER_HELLO, SERVER_CERTIFICATE, + SERVER_KEY_EXCHANGE, SERVER_CERTIFICATE_REQUEST, + SERVER_HELLO_DONE, CLIENT_KEY_EXCHANGE, CHANGE_CIPHER_SPEC, + SERVER_CHANGE_CIPHER_SPEC, SERVER_FINISHED, ACK_FINISHED, + ESTABLISHED, FAILED + } state; + + struct tlsv1_record_layer rl; + + u8 session_id[TLS_SESSION_ID_MAX_LEN]; + size_t session_id_len; + u8 client_random[TLS_RANDOM_LEN]; + u8 server_random[TLS_RANDOM_LEN]; + u8 master_secret[TLS_MASTER_SECRET_LEN]; + + u8 alert_level; + u8 alert_description; + + unsigned int certificate_requested:1; + unsigned int session_resumed:1; + unsigned int session_ticket_included:1; + unsigned int use_session_ticket:1; + unsigned int disable_time_checks:1; + + struct crypto_public_key *server_rsa_key; + + struct tls_verify_hash verify; + +#define MAX_CIPHER_COUNT 30 + u16 cipher_suites[MAX_CIPHER_COUNT]; + size_t num_cipher_suites; + + u16 prev_cipher_suite; + + u8 *client_hello_ext; + size_t client_hello_ext_len; + + /* The prime modulus used for Diffie-Hellman */ + u8 *dh_p; + size_t dh_p_len; + /* The generator used for Diffie-Hellman */ + u8 *dh_g; + size_t dh_g_len; + /* The server's Diffie-Hellman public value */ + u8 *dh_ys; + size_t dh_ys_len; + + struct tlsv1_credentials *cred; + + tlsv1_client_session_ticket_cb session_ticket_cb; + void *session_ticket_cb_ctx; + + struct wpabuf *partial_input; +}; + + +void tls_alert(struct tlsv1_client *conn, u8 level, u8 description); +void tlsv1_client_free_dh(struct tlsv1_client *conn); +int tls_derive_pre_master_secret(u8 *pre_master_secret); +int tls_derive_keys(struct tlsv1_client *conn, + const u8 *pre_master_secret, size_t pre_master_secret_len); +u8 * tls_send_client_hello(struct tlsv1_client *conn, size_t *out_len); +u8 * tlsv1_client_send_alert(struct tlsv1_client *conn, u8 level, + u8 description, size_t *out_len); +u8 * tlsv1_client_handshake_write(struct tlsv1_client *conn, size_t *out_len, + int no_appl_data); +int tlsv1_client_process_handshake(struct tlsv1_client *conn, u8 ct, + const u8 *buf, size_t *len, + u8 **out_data, size_t *out_len); + +#endif /* TLSV1_CLIENT_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_common.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_common.h new file mode 100644 index 00000000..f28c0cdc --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_common.h @@ -0,0 +1,261 @@ +/* + * TLSv1 common definitions + * Copyright (c) 2006-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_COMMON_H +#define TLSV1_COMMON_H + +#include "crypto/crypto.h" + +#define TLS_VERSION_1 0x0301 /* TLSv1 */ +#define TLS_VERSION_1_1 0x0302 /* TLSv1.1 */ +#define TLS_VERSION_1_2 0x0303 /* TLSv1.2 */ +#ifdef CONFIG_TLSV12 +#define TLS_VERSION TLS_VERSION_1_2 +#else /* CONFIG_TLSV12 */ +#ifdef CONFIG_TLSV11 +#define TLS_VERSION TLS_VERSION_1_1 +#else /* CONFIG_TLSV11 */ +#define TLS_VERSION TLS_VERSION_1 +#endif /* CONFIG_TLSV11 */ +#endif /* CONFIG_TLSV12 */ +#define TLS_RANDOM_LEN 32 +#define TLS_PRE_MASTER_SECRET_LEN 48 +#define TLS_MASTER_SECRET_LEN 48 +#define TLS_SESSION_ID_MAX_LEN 32 +#define TLS_VERIFY_DATA_LEN 12 + +/* HandshakeType */ +enum { + TLS_HANDSHAKE_TYPE_HELLO_REQUEST = 0, + TLS_HANDSHAKE_TYPE_CLIENT_HELLO = 1, + TLS_HANDSHAKE_TYPE_SERVER_HELLO = 2, + TLS_HANDSHAKE_TYPE_NEW_SESSION_TICKET = 4 /* RFC 4507 */, + TLS_HANDSHAKE_TYPE_CERTIFICATE = 11, + TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE = 12, + TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST = 13, + TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE = 14, + TLS_HANDSHAKE_TYPE_CERTIFICATE_VERIFY = 15, + TLS_HANDSHAKE_TYPE_CLIENT_KEY_EXCHANGE = 16, + TLS_HANDSHAKE_TYPE_FINISHED = 20, + TLS_HANDSHAKE_TYPE_CERTIFICATE_URL = 21 /* RFC 4366 */, + TLS_HANDSHAKE_TYPE_CERTIFICATE_STATUS = 22 /* RFC 4366 */ +}; + +/* CipherSuite */ +#define TLS_NULL_WITH_NULL_NULL 0x0000 /* RFC 2246 */ +#define TLS_RSA_WITH_NULL_MD5 0x0001 /* RFC 2246 */ +#define TLS_RSA_WITH_NULL_SHA 0x0002 /* RFC 2246 */ +#define TLS_RSA_EXPORT_WITH_RC4_40_MD5 0x0003 /* RFC 2246 */ +#define TLS_RSA_WITH_RC4_128_MD5 0x0004 /* RFC 2246 */ +#define TLS_RSA_WITH_RC4_128_SHA 0x0005 /* RFC 2246 */ +#define TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 0x0006 /* RFC 2246 */ +#define TLS_RSA_WITH_IDEA_CBC_SHA 0x0007 /* RFC 2246 */ +#define TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 0x0008 /* RFC 2246 */ +#define TLS_RSA_WITH_DES_CBC_SHA 0x0009 /* RFC 2246 */ +#define TLS_RSA_WITH_3DES_EDE_CBC_SHA 0x000A /* RFC 2246 */ +#define TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 0x000B /* RFC 2246 */ +#define TLS_DH_DSS_WITH_DES_CBC_SHA 0x000C /* RFC 2246 */ +#define TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 0x000D /* RFC 2246 */ +#define TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 0x000E /* RFC 2246 */ +#define TLS_DH_RSA_WITH_DES_CBC_SHA 0x000F /* RFC 2246 */ +#define TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 0x0010 /* RFC 2246 */ +#define TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 0x0011 /* RFC 2246 */ +#define TLS_DHE_DSS_WITH_DES_CBC_SHA 0x0012 /* RFC 2246 */ +#define TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 0x0013 /* RFC 2246 */ +#define TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 0x0014 /* RFC 2246 */ +#define TLS_DHE_RSA_WITH_DES_CBC_SHA 0x0015 /* RFC 2246 */ +#define TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 0x0016 /* RFC 2246 */ +#define TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 0x0017 /* RFC 2246 */ +#define TLS_DH_anon_WITH_RC4_128_MD5 0x0018 /* RFC 2246 */ +#define TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 0x0019 /* RFC 2246 */ +#define TLS_DH_anon_WITH_DES_CBC_SHA 0x001A /* RFC 2246 */ +#define TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 0x001B /* RFC 2246 */ +#define TLS_RSA_WITH_AES_128_CBC_SHA 0x002F /* RFC 3268 */ +#define TLS_DH_DSS_WITH_AES_128_CBC_SHA 0x0030 /* RFC 3268 */ +#define TLS_DH_RSA_WITH_AES_128_CBC_SHA 0x0031 /* RFC 3268 */ +#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA 0x0032 /* RFC 3268 */ +#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA 0x0033 /* RFC 3268 */ +#define TLS_DH_anon_WITH_AES_128_CBC_SHA 0x0034 /* RFC 3268 */ +#define TLS_RSA_WITH_AES_256_CBC_SHA 0x0035 /* RFC 3268 */ +#define TLS_DH_DSS_WITH_AES_256_CBC_SHA 0x0036 /* RFC 3268 */ +#define TLS_DH_RSA_WITH_AES_256_CBC_SHA 0x0037 /* RFC 3268 */ +#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA 0x0038 /* RFC 3268 */ +#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA 0x0039 /* RFC 3268 */ +#define TLS_DH_anon_WITH_AES_256_CBC_SHA 0x003A /* RFC 3268 */ +#define TLS_RSA_WITH_NULL_SHA256 0x003B /* RFC 5246 */ +#define TLS_RSA_WITH_AES_128_CBC_SHA256 0x003C /* RFC 5246 */ +#define TLS_RSA_WITH_AES_256_CBC_SHA256 0x003D /* RFC 5246 */ +#define TLS_DH_DSS_WITH_AES_128_CBC_SHA256 0x003E /* RFC 5246 */ +#define TLS_DH_RSA_WITH_AES_128_CBC_SHA256 0x003F /* RFC 5246 */ +#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 0x0040 /* RFC 5246 */ +#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 0x0067 /* RFC 5246 */ +#define TLS_DH_DSS_WITH_AES_256_CBC_SHA256 0x0068 /* RFC 5246 */ +#define TLS_DH_RSA_WITH_AES_256_CBC_SHA256 0x0069 /* RFC 5246 */ +#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 0x006A /* RFC 5246 */ +#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 0x006B /* RFC 5246 */ +#define TLS_DH_anon_WITH_AES_128_CBC_SHA256 0x006C /* RFC 5246 */ +#define TLS_DH_anon_WITH_AES_256_CBC_SHA256 0x006D /* RFC 5246 */ + +/* CompressionMethod */ +#define TLS_COMPRESSION_NULL 0 + +/* HashAlgorithm */ +enum { + TLS_HASH_ALG_NONE = 0, + TLS_HASH_ALG_MD5 = 1, + TLS_HASH_ALG_SHA1 = 2, + TLS_HASH_ALG_SHA224 = 3, + TLS_HASH_ALG_SHA256 = 4, + TLS_HASH_ALG_SHA384 = 5, + TLS_HASH_ALG_SHA512 = 6 +}; + +/* SignatureAlgorithm */ +enum { + TLS_SIGN_ALG_ANONYMOUS = 0, + TLS_SIGN_ALG_RSA = 1, + TLS_SIGN_ALG_DSA = 2, + TLS_SIGN_ALG_ECDSA = 3, +}; + +/* AlertLevel */ +#define TLS_ALERT_LEVEL_WARNING 1 +#define TLS_ALERT_LEVEL_FATAL 2 + +/* AlertDescription */ +#define TLS_ALERT_CLOSE_NOTIFY 0 +#define TLS_ALERT_UNEXPECTED_MESSAGE 10 +#define TLS_ALERT_BAD_RECORD_MAC 20 +#define TLS_ALERT_DECRYPTION_FAILED 21 +#define TLS_ALERT_RECORD_OVERFLOW 22 +#define TLS_ALERT_DECOMPRESSION_FAILURE 30 +#define TLS_ALERT_HANDSHAKE_FAILURE 40 +#define TLS_ALERT_BAD_CERTIFICATE 42 +#define TLS_ALERT_UNSUPPORTED_CERTIFICATE 43 +#define TLS_ALERT_CERTIFICATE_REVOKED 44 +#define TLS_ALERT_CERTIFICATE_EXPIRED 45 +#define TLS_ALERT_CERTIFICATE_UNKNOWN 46 +#define TLS_ALERT_ILLEGAL_PARAMETER 47 +#define TLS_ALERT_UNKNOWN_CA 48 +#define TLS_ALERT_ACCESS_DENIED 49 +#define TLS_ALERT_DECODE_ERROR 50 +#define TLS_ALERT_DECRYPT_ERROR 51 +#define TLS_ALERT_EXPORT_RESTRICTION 60 +#define TLS_ALERT_PROTOCOL_VERSION 70 +#define TLS_ALERT_INSUFFICIENT_SECURITY 71 +#define TLS_ALERT_INTERNAL_ERROR 80 +#define TLS_ALERT_USER_CANCELED 90 +#define TLS_ALERT_NO_RENEGOTIATION 100 +#define TLS_ALERT_UNSUPPORTED_EXTENSION 110 /* RFC 4366 */ +#define TLS_ALERT_CERTIFICATE_UNOBTAINABLE 111 /* RFC 4366 */ +#define TLS_ALERT_UNRECOGNIZED_NAME 112 /* RFC 4366 */ +#define TLS_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE 113 /* RFC 4366 */ +#define TLS_ALERT_BAD_CERTIFICATE_HASH_VALUE 114 /* RFC 4366 */ + +/* ChangeCipherSpec */ +enum { + TLS_CHANGE_CIPHER_SPEC = 1 +}; + +/* TLS Extensions */ +#define TLS_EXT_SERVER_NAME 0 /* RFC 4366 */ +#define TLS_EXT_MAX_FRAGMENT_LENGTH 1 /* RFC 4366 */ +#define TLS_EXT_CLIENT_CERTIFICATE_URL 2 /* RFC 4366 */ +#define TLS_EXT_TRUSTED_CA_KEYS 3 /* RFC 4366 */ +#define TLS_EXT_TRUNCATED_HMAC 4 /* RFC 4366 */ +#define TLS_EXT_STATUS_REQUEST 5 /* RFC 4366 */ +#define TLS_EXT_SESSION_TICKET 35 /* RFC 4507 */ + +#define TLS_EXT_PAC_OPAQUE TLS_EXT_SESSION_TICKET /* EAP-FAST terminology */ + + +typedef enum { + TLS_KEY_X_NULL, + TLS_KEY_X_RSA, + TLS_KEY_X_RSA_EXPORT, + TLS_KEY_X_DH_DSS_EXPORT, + TLS_KEY_X_DH_DSS, + TLS_KEY_X_DH_RSA_EXPORT, + TLS_KEY_X_DH_RSA, + TLS_KEY_X_DHE_DSS_EXPORT, + TLS_KEY_X_DHE_DSS, + TLS_KEY_X_DHE_RSA_EXPORT, + TLS_KEY_X_DHE_RSA, + TLS_KEY_X_DH_anon_EXPORT, + TLS_KEY_X_DH_anon +} tls_key_exchange; + +typedef enum { + TLS_CIPHER_NULL, + TLS_CIPHER_RC4_40, + TLS_CIPHER_RC4_128, + TLS_CIPHER_RC2_CBC_40, + TLS_CIPHER_IDEA_CBC, + TLS_CIPHER_DES40_CBC, + TLS_CIPHER_DES_CBC, + TLS_CIPHER_3DES_EDE_CBC, + TLS_CIPHER_AES_128_CBC, + TLS_CIPHER_AES_256_CBC +} tls_cipher; + +typedef enum { + TLS_HASH_NULL, + TLS_HASH_MD5, + TLS_HASH_SHA, + TLS_HASH_SHA256 +} tls_hash; + +struct tls_cipher_suite { + u16 suite; + tls_key_exchange key_exchange; + tls_cipher cipher; + tls_hash hash; +}; + +typedef enum { + TLS_CIPHER_STREAM, + TLS_CIPHER_BLOCK +} tls_cipher_type; + +struct tls_cipher_data { + tls_cipher cipher; + tls_cipher_type type; + size_t key_material; + size_t expanded_key_material; + size_t block_size; /* also iv_size */ + enum crypto_cipher_alg alg; +}; + + +struct tls_verify_hash { + struct crypto_hash *md5_client; + struct crypto_hash *sha1_client; + struct crypto_hash *sha256_client; + struct crypto_hash *md5_server; + struct crypto_hash *sha1_server; + struct crypto_hash *sha256_server; + struct crypto_hash *md5_cert; + struct crypto_hash *sha1_cert; + struct crypto_hash *sha256_cert; +}; + + +const struct tls_cipher_suite * tls_get_cipher_suite(u16 suite); +const struct tls_cipher_data * tls_get_cipher_data(tls_cipher cipher); +int tls_server_key_exchange_allowed(tls_cipher cipher); +int tls_parse_cert(const u8 *buf, size_t len, struct crypto_public_key **pk); +int tls_verify_hash_init(struct tls_verify_hash *verify); +void tls_verify_hash_add(struct tls_verify_hash *verify, const u8 *buf, + size_t len); +void tls_verify_hash_free(struct tls_verify_hash *verify); +int tls_version_ok(u16 ver); +const char * tls_version_str(u16 ver); +int tls_prf(u16 ver, const u8 *secret, size_t secret_len, const char *label, + const u8 *seed, size_t seed_len, u8 *out, size_t outlen); + +#endif /* TLSV1_COMMON_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_cred.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_cred.h new file mode 100644 index 00000000..68fbdc92 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_cred.h @@ -0,0 +1,40 @@ +/* + * TLSv1 credentials + * Copyright (c) 2006-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_CRED_H +#define TLSV1_CRED_H + +struct tlsv1_credentials { + struct x509_certificate *trusted_certs; + struct x509_certificate *cert; + struct crypto_private_key *key; + + /* Diffie-Hellman parameters */ + u8 *dh_p; /* prime */ + size_t dh_p_len; + u8 *dh_g; /* generator */ + size_t dh_g_len; +}; + + +struct tlsv1_credentials * tlsv1_cred_alloc(void); +void tlsv1_cred_free(struct tlsv1_credentials *cred); +int tlsv1_set_ca_cert(struct tlsv1_credentials *cred, const char *cert, + const u8 *cert_blob, size_t cert_blob_len, + const char *path); +int tlsv1_set_cert(struct tlsv1_credentials *cred, const char *cert, + const u8 *cert_blob, size_t cert_blob_len); +int tlsv1_set_private_key(struct tlsv1_credentials *cred, + const char *private_key, + const char *private_key_passwd, + const u8 *private_key_blob, + size_t private_key_blob_len); +int tlsv1_set_dhparams(struct tlsv1_credentials *cred, const char *dh_file, + const u8 *dh_blob, size_t dh_blob_len); + +#endif /* TLSV1_CRED_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_record.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_record.h new file mode 100644 index 00000000..48abcb0d --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_record.h @@ -0,0 +1,71 @@ +/* + * TLSv1 Record Protocol + * Copyright (c) 2006-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_RECORD_H +#define TLSV1_RECORD_H + +#include "crypto/crypto.h" + +#define TLS_MAX_WRITE_MAC_SECRET_LEN 32 +#define TLS_MAX_WRITE_KEY_LEN 32 +#define TLS_MAX_IV_LEN 16 +#define TLS_MAX_KEY_BLOCK_LEN (2 * (TLS_MAX_WRITE_MAC_SECRET_LEN + \ + TLS_MAX_WRITE_KEY_LEN + TLS_MAX_IV_LEN)) + +#define TLS_SEQ_NUM_LEN 8 +#define TLS_RECORD_HEADER_LEN 5 + +/* ContentType */ +enum { + TLS_CONTENT_TYPE_CHANGE_CIPHER_SPEC = 20, + TLS_CONTENT_TYPE_ALERT = 21, + TLS_CONTENT_TYPE_HANDSHAKE = 22, + TLS_CONTENT_TYPE_APPLICATION_DATA = 23 +}; + +struct tlsv1_record_layer { + u16 tls_version; + + u8 write_mac_secret[TLS_MAX_WRITE_MAC_SECRET_LEN]; + u8 read_mac_secret[TLS_MAX_WRITE_MAC_SECRET_LEN]; + u8 write_key[TLS_MAX_WRITE_KEY_LEN]; + u8 read_key[TLS_MAX_WRITE_KEY_LEN]; + u8 write_iv[TLS_MAX_IV_LEN]; + u8 read_iv[TLS_MAX_IV_LEN]; + + size_t hash_size; + size_t key_material_len; + size_t iv_size; /* also block_size */ + + enum crypto_hash_alg hash_alg; + enum crypto_cipher_alg cipher_alg; + + u8 write_seq_num[TLS_SEQ_NUM_LEN]; + u8 read_seq_num[TLS_SEQ_NUM_LEN]; + + u16 cipher_suite; + u16 write_cipher_suite; + u16 read_cipher_suite; + + struct crypto_cipher *write_cbc; + struct crypto_cipher *read_cbc; +}; + + +int tlsv1_record_set_cipher_suite(struct tlsv1_record_layer *rl, + u16 cipher_suite); +int tlsv1_record_change_write_cipher(struct tlsv1_record_layer *rl); +int tlsv1_record_change_read_cipher(struct tlsv1_record_layer *rl); +int tlsv1_record_send(struct tlsv1_record_layer *rl, u8 content_type, u8 *buf, + size_t buf_size, const u8 *payload, size_t payload_len, + size_t *out_len); +int tlsv1_record_receive(struct tlsv1_record_layer *rl, + const u8 *in_data, size_t in_len, + u8 *out_data, size_t *out_len, u8 *alert); + +#endif /* TLSV1_RECORD_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server.h new file mode 100644 index 00000000..a18c69e3 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server.h @@ -0,0 +1,48 @@ +/* + * TLS v1.0/v1.1/v1.2 server (RFC 2246, RFC 4346, RFC 5246) + * Copyright (c) 2006-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_SERVER_H +#define TLSV1_SERVER_H + +#include "tlsv1_cred.h" + +struct tlsv1_server; + +int tlsv1_server_global_init(void); +void tlsv1_server_global_deinit(void); +struct tlsv1_server * tlsv1_server_init(struct tlsv1_credentials *cred); +void tlsv1_server_deinit(struct tlsv1_server *conn); +int tlsv1_server_established(struct tlsv1_server *conn); +int tlsv1_server_prf(struct tlsv1_server *conn, const char *label, + int server_random_first, u8 *out, size_t out_len); +u8 * tlsv1_server_handshake(struct tlsv1_server *conn, + const u8 *in_data, size_t in_len, size_t *out_len); +int tlsv1_server_encrypt(struct tlsv1_server *conn, + const u8 *in_data, size_t in_len, + u8 *out_data, size_t out_len); +int tlsv1_server_decrypt(struct tlsv1_server *conn, + const u8 *in_data, size_t in_len, + u8 *out_data, size_t out_len); +int tlsv1_server_get_cipher(struct tlsv1_server *conn, char *buf, + size_t buflen); +int tlsv1_server_shutdown(struct tlsv1_server *conn); +int tlsv1_server_resumed(struct tlsv1_server *conn); +int tlsv1_server_get_keys(struct tlsv1_server *conn, struct tls_keys *keys); +int tlsv1_server_get_keyblock_size(struct tlsv1_server *conn); +int tlsv1_server_set_cipher_list(struct tlsv1_server *conn, u8 *ciphers); +int tlsv1_server_set_verify(struct tlsv1_server *conn, int verify_peer); + +typedef int (*tlsv1_server_session_ticket_cb) +(void *ctx, const u8 *ticket, size_t len, const u8 *client_random, + const u8 *server_random, u8 *master_secret); + +void tlsv1_server_set_session_ticket_cb(struct tlsv1_server *conn, + tlsv1_server_session_ticket_cb cb, + void *ctx); + +#endif /* TLSV1_SERVER_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server_i.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server_i.h new file mode 100644 index 00000000..1f61533a --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/tlsv1_server_i.h @@ -0,0 +1,71 @@ +/* + * TLSv1 server - internal structures + * Copyright (c) 2006-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef TLSV1_SERVER_I_H +#define TLSV1_SERVER_I_H + +struct tlsv1_server { + enum { + CLIENT_HELLO, SERVER_HELLO, SERVER_CERTIFICATE, + SERVER_KEY_EXCHANGE, SERVER_CERTIFICATE_REQUEST, + SERVER_HELLO_DONE, CLIENT_CERTIFICATE, CLIENT_KEY_EXCHANGE, + CERTIFICATE_VERIFY, CHANGE_CIPHER_SPEC, CLIENT_FINISHED, + SERVER_CHANGE_CIPHER_SPEC, SERVER_FINISHED, + ESTABLISHED, FAILED + } state; + + struct tlsv1_record_layer rl; + + u8 session_id[TLS_SESSION_ID_MAX_LEN]; + size_t session_id_len; + u8 client_random[TLS_RANDOM_LEN]; + u8 server_random[TLS_RANDOM_LEN]; + u8 master_secret[TLS_MASTER_SECRET_LEN]; + + u8 alert_level; + u8 alert_description; + + struct crypto_public_key *client_rsa_key; + + struct tls_verify_hash verify; + +#define MAX_CIPHER_COUNT 30 + u16 cipher_suites[MAX_CIPHER_COUNT]; + size_t num_cipher_suites; + + u16 cipher_suite; + + struct tlsv1_credentials *cred; + + int verify_peer; + u16 client_version; + + u8 *session_ticket; + size_t session_ticket_len; + + tlsv1_server_session_ticket_cb session_ticket_cb; + void *session_ticket_cb_ctx; + + int use_session_ticket; + + u8 *dh_secret; + size_t dh_secret_len; +}; + + +void tlsv1_server_alert(struct tlsv1_server *conn, u8 level, u8 description); +int tlsv1_server_derive_keys(struct tlsv1_server *conn, + const u8 *pre_master_secret, + size_t pre_master_secret_len); +u8 * tlsv1_server_handshake_write(struct tlsv1_server *conn, size_t *out_len); +u8 * tlsv1_server_send_alert(struct tlsv1_server *conn, u8 level, + u8 description, size_t *out_len); +int tlsv1_server_process_handshake(struct tlsv1_server *conn, u8 ct, + const u8 *buf, size_t *len); + +#endif /* TLSV1_SERVER_I_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/tls/x509v3.h b/tools/sdk/include/wpa_supplicant/wpa2/tls/x509v3.h new file mode 100644 index 00000000..91a35baf --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/tls/x509v3.h @@ -0,0 +1,123 @@ +/* + * X.509v3 certificate parsing and processing + * Copyright (c) 2006-2011, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef X509V3_H +#define X509V3_H + +#include "asn1.h" + +struct x509_algorithm_identifier { + struct asn1_oid oid; +}; + +struct x509_name_attr { + enum x509_name_attr_type { + X509_NAME_ATTR_NOT_USED, + X509_NAME_ATTR_DC, + X509_NAME_ATTR_CN, + X509_NAME_ATTR_C, + X509_NAME_ATTR_L, + X509_NAME_ATTR_ST, + X509_NAME_ATTR_O, + X509_NAME_ATTR_OU + } type; + char *value; +}; + +#define X509_MAX_NAME_ATTRIBUTES 20 + +struct x509_name { + struct x509_name_attr attr[X509_MAX_NAME_ATTRIBUTES]; + size_t num_attr; + char *email; /* emailAddress */ + + /* from alternative name extension */ + char *alt_email; /* rfc822Name */ + char *dns; /* dNSName */ + char *uri; /* uniformResourceIdentifier */ + u8 *ip; /* iPAddress */ + size_t ip_len; /* IPv4: 4, IPv6: 16 */ + struct asn1_oid rid; /* registeredID */ +}; + +struct x509_certificate { + struct x509_certificate *next; + enum { X509_CERT_V1 = 0, X509_CERT_V2 = 1, X509_CERT_V3 = 2 } version; + unsigned long serial_number; + struct x509_algorithm_identifier signature; + struct x509_name issuer; + struct x509_name subject; + os_time_t not_before; + os_time_t not_after; + struct x509_algorithm_identifier public_key_alg; + u8 *public_key; + size_t public_key_len; + struct x509_algorithm_identifier signature_alg; + u8 *sign_value; + size_t sign_value_len; + + /* Extensions */ + unsigned int extensions_present; +#define X509_EXT_BASIC_CONSTRAINTS (1 << 0) +#define X509_EXT_PATH_LEN_CONSTRAINT (1 << 1) +#define X509_EXT_KEY_USAGE (1 << 2) +#define X509_EXT_SUBJECT_ALT_NAME (1 << 3) +#define X509_EXT_ISSUER_ALT_NAME (1 << 4) + + /* BasicConstraints */ + int ca; /* cA */ + unsigned long path_len_constraint; /* pathLenConstraint */ + + /* KeyUsage */ + unsigned long key_usage; +#define X509_KEY_USAGE_DIGITAL_SIGNATURE (1 << 0) +#define X509_KEY_USAGE_NON_REPUDIATION (1 << 1) +#define X509_KEY_USAGE_KEY_ENCIPHERMENT (1 << 2) +#define X509_KEY_USAGE_DATA_ENCIPHERMENT (1 << 3) +#define X509_KEY_USAGE_KEY_AGREEMENT (1 << 4) +#define X509_KEY_USAGE_KEY_CERT_SIGN (1 << 5) +#define X509_KEY_USAGE_CRL_SIGN (1 << 6) +#define X509_KEY_USAGE_ENCIPHER_ONLY (1 << 7) +#define X509_KEY_USAGE_DECIPHER_ONLY (1 << 8) + + /* + * The DER format certificate follows struct x509_certificate. These + * pointers point to that buffer. + */ + const u8 *cert_start; + size_t cert_len; + const u8 *tbs_cert_start; + size_t tbs_cert_len; +}; + +enum { + X509_VALIDATE_OK, + X509_VALIDATE_BAD_CERTIFICATE, + X509_VALIDATE_UNSUPPORTED_CERTIFICATE, + X509_VALIDATE_CERTIFICATE_REVOKED, + X509_VALIDATE_CERTIFICATE_EXPIRED, + X509_VALIDATE_CERTIFICATE_UNKNOWN, + X509_VALIDATE_UNKNOWN_CA +}; + +void x509_certificate_free(struct x509_certificate *cert); +struct x509_certificate * x509_certificate_parse(const u8 *buf, size_t len); +void x509_name_string(struct x509_name *name, char *buf, size_t len); +int x509_name_compare(struct x509_name *a, struct x509_name *b); +void x509_certificate_chain_free(struct x509_certificate *cert); +int x509_certificate_check_signature(struct x509_certificate *issuer, + struct x509_certificate *cert); +int x509_certificate_chain_validate(struct x509_certificate *trusted, + struct x509_certificate *chain, + int *reason, int disable_time_checks); +struct x509_certificate * +x509_certificate_get_subject(struct x509_certificate *chain, + struct x509_name *name); +int x509_certificate_self_signed(struct x509_certificate *cert); + +#endif /* X509V3_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/utils/base64.h b/tools/sdk/include/wpa_supplicant/wpa2/utils/base64.h new file mode 100644 index 00000000..91eb8741 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/utils/base64.h @@ -0,0 +1,17 @@ +/* + * Base64 encoding/decoding (RFC1341) + * Copyright (c) 2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef BASE64_H +#define BASE64_H + +unsigned char * _base64_encode(const unsigned char *src, size_t len, + size_t *out_len); +unsigned char * _base64_decode(const unsigned char *src, size_t len, + size_t *out_len); + +#endif /* BASE64_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password.h b/tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password.h new file mode 100644 index 00000000..e3e46ea0 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password.h @@ -0,0 +1,33 @@ +/* + * External password backend + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EXT_PASSWORD_H +#define EXT_PASSWORD_H + +struct ext_password_data; + +#ifdef CONFIG_EXT_PASSWORD + +struct ext_password_data * ext_password_init(const char *backend, + const char *params); +void ext_password_deinit(struct ext_password_data *data); + +struct wpabuf * ext_password_get(struct ext_password_data *data, + const char *name); +void ext_password_free(struct wpabuf *pw); + +#else /* CONFIG_EXT_PASSWORD */ + +#define ext_password_init(b, p) ((void *) 1) +#define ext_password_deinit(d) do { } while (0) +#define ext_password_get(d, n) (NULL) +#define ext_password_free(p) do { } while (0) + +#endif /* CONFIG_EXT_PASSWORD */ + +#endif /* EXT_PASSWORD_H */ diff --git a/tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password_i.h b/tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password_i.h new file mode 100644 index 00000000..043e7312 --- /dev/null +++ b/tools/sdk/include/wpa_supplicant/wpa2/utils/ext_password_i.h @@ -0,0 +1,23 @@ +/* + * External password backend - internal definitions + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +#ifndef EXT_PASSWORD_I_H +#define EXT_PASSWORD_I_H + +#include "ext_password.h" + +struct ext_password_backend { + const char *name; + void * (*init)(const char *params); + void (*deinit)(void *ctx); + struct wpabuf * (*get)(void *ctx, const char *name); +}; + +struct wpabuf * ext_password_alloc(size_t len); + +#endif /* EXT_PASSWORD_I_H */ diff --git a/tools/sdk/include/xtensa-debug-module/eri.h b/tools/sdk/include/xtensa-debug-module/eri.h new file mode 100644 index 00000000..33e4dd09 --- /dev/null +++ b/tools/sdk/include/xtensa-debug-module/eri.h @@ -0,0 +1,31 @@ +#ifndef ERI_H +#define ERI_H + +#include + +/* + The ERI is a bus internal to each Xtensa core. It connects, amongst others, to the debug interface, where it + allows reading/writing the same registers as available over JTAG. +*/ + + +/** + * @brief Perform an ERI read + * @param addr : ERI register to read from + * + * @return Value read + */ +uint32_t eri_read(int addr); + + +/** + * @brief Perform an ERI write + * @param addr : ERI register to write to + * @param data : Value to write + * + * @return Value read + */ +void eri_write(int addr, uint32_t data); + + +#endif \ No newline at end of file diff --git a/tools/sdk/include/xtensa-debug-module/trax.h b/tools/sdk/include/xtensa-debug-module/trax.h new file mode 100644 index 00000000..c1b3608e --- /dev/null +++ b/tools/sdk/include/xtensa-debug-module/trax.h @@ -0,0 +1,62 @@ +#include "soc/dport_reg.h" +#include "sdkconfig.h" +#include "esp_err.h" +#include "eri.h" +#include "xtensa-debug-module.h" + + +typedef enum { + TRAX_DOWNCOUNT_WORDS, + TRAX_DOWNCOUNT_INSTRUCTIONS +} trax_downcount_unit_t; + +typedef enum { + TRAX_ENA_NONE = 0, + TRAX_ENA_PRO, + TRAX_ENA_APP, + TRAX_ENA_PRO_APP, + TRAX_ENA_PRO_APP_SWAP +} trax_ena_select_t; + + +/** + * @brief Enable the trax memory blocks to be used as Trax memory. + * + * @param pro_cpu_enable : true if Trax needs to be enabled for the pro CPU + * @param app_cpu_enable : true if Trax needs to be enabled for the pro CPU + * @param swap_regions : Normally, the pro CPU writes to Trax mem block 0 while + * the app cpu writes to block 1. Setting this to true + * inverts this. + * + * @return esp_err_t. Fails with ESP_ERR_NO_MEM if Trax enable is requested for 2 CPUs + * but memmap only has room for 1, or if Trax memmap is disabled + * entirely. + */ +int trax_enable(trax_ena_select_t ena); + +/** + * @brief Start a Trax trace on the current CPU + * + * @param units_until_stop : Set the units of the delay that gets passed to + * trax_trigger_traceend_after_delay. One of TRAX_DOWNCOUNT_WORDS + * or TRAX_DOWNCOUNT_INSTRUCTIONS. + * + * @return esp_err_t. Fails with ESP_ERR_NO_MEM if Trax is disabled. + */ +int trax_start_trace(trax_downcount_unit_t units_until_stop); + + +/** + * @brief Trigger a Trax trace stop after the indicated delay. If this is called + * before and the previous delay hasn't ended yet, this will overwrite + * that delay with the new value. The delay will always start at the time + * the function is called. + * + * @param delay : The delay to stop the trace in, in the unit indicated to + * trax_start_trace. Note: the trace memory has 4K words available. + * + * @return esp_err_t + */ +int trax_trigger_traceend_after_delay(int delay); + + diff --git a/tools/sdk/include/xtensa-debug-module/xtensa-debug-module.h b/tools/sdk/include/xtensa-debug-module/xtensa-debug-module.h new file mode 100644 index 00000000..61b21825 --- /dev/null +++ b/tools/sdk/include/xtensa-debug-module/xtensa-debug-module.h @@ -0,0 +1,75 @@ +#ifndef XTENSA_DEBUG_MODULE_H +#define XTENSA_DEBUG_MODULE_H + +/* +ERI registers / OCD offsets and field definitions +*/ + +#define ERI_DEBUG_OFFSET 0x100000 + +#define ERI_TRAX_OFFSET (ERI_DEBUG_OFFSET+0) +#define ERI_PERFMON_OFFSET (ERI_DEBUG_OFFSET+0x1000) +#define ERI_OCDREG_OFFSET (ERI_DEBUG_OFFSET+0x2000) +#define ERI_MISCDBG_OFFSET (ERI_DEBUG_OFFSET+0x3000) +#define ERI_CORESIGHT_OFFSET (ERI_DEBUG_OFFSET+0x3F00) + +#define ERI_TRAX_TRAXID (ERI_TRAX_OFFSET+0x00) +#define ERI_TRAX_TRAXCTRL (ERI_TRAX_OFFSET+0x04) +#define ERI_TRAX_TRAXSTAT (ERI_TRAX_OFFSET+0x08) +#define ERI_TRAX_TRAXDATA (ERI_TRAX_OFFSET+0x0C) +#define ERI_TRAX_TRAXADDR (ERI_TRAX_OFFSET+0x10) +#define ERI_TRAX_TRIGGERPC (ERI_TRAX_OFFSET+0x14) +#define ERI_TRAX_PCMATCHCTRL (ERI_TRAX_OFFSET+0x18) +#define ERI_TRAX_DELAYCNT (ERI_TRAX_OFFSET+0x1C) +#define ERI_TRAX_MEMADDRSTART (ERI_TRAX_OFFSET+0x20) +#define ERI_TRAX_MEMADDREND (ERI_TRAX_OFFSET+0x24) + +#define TRAXCTRL_TREN (1<<0) //Trace enable. Tracing starts on 0->1 +#define TRAXCTRL_TRSTP (1<<1) //Trace Stop. Make 1 to stop trace. +#define TRAXCTRL_PCMEN (1<<2) //PC match enable +#define TRAXCTRL_PTIEN (1<<4) //Processor-trigger enable +#define TRAXCTRL_CTIEN (1<<5) //Cross-trigger enable +#define TRAXCTRL_TMEN (1<<7) //Tracemem Enable. Always set. +#define TRAXCTRL_CNTU (1<<9) //Post-stop-trigger countdown units; selects when DelayCount-- happens. + //0 - every 32-bit word written to tracemem, 1 - every cpu instruction +#define TRAXCTRL_TSEN (1<<11) //Undocumented/deprecated? +#define TRAXCTRL_SMPER_SHIFT 12 //Send sync every 2^(9-smper) messages. 7=reserved, 0=no sync msg +#define TRAXCTRL_SMPER_MASK 0x7 //Synchronization message period +#define TRAXCTRL_PTOWT (1<<16) //Processor Trigger Out (OCD halt) enabled when stop triggered +#define TRAXCTRL_PTOWS (1<<17) //Processor Trigger Out (OCD halt) enabled when trace stop completes +#define TRAXCTRL_CTOWT (1<<20) //Cross-trigger Out enabled when stop triggered +#define TRAXCTRL_CTOWS (1<<21) //Cross-trigger Out enabled when trace stop completes +#define TRAXCTRL_ITCTO (1<<22) //Integration mode: cross-trigger output +#define TRAXCTRL_ITCTIA (1<<23) //Integration mode: cross-trigger ack +#define TRAXCTRL_ITATV (1<<24) //replaces ATID when in integration mode: ATVALID output +#define TRAXCTRL_ATID_MASK 0x7F //ARB source ID +#define TRAXCTRL_ATID_SHIFT 24 +#define TRAXCTRL_ATEN (1<<31) //ATB interface enable + +#define TRAXSTAT_TRACT (1<<0) //Trace active flag. +#define TRAXSTAT_TRIG (1<<1) //Trace stop trigger. Clears on TREN 1->0 +#define TRAXSTAT_PCMTG (1<<2) //Stop trigger caused by PC match. Clears on TREN 1->0 +#define TRAXSTAT_PJTR (1<<3) //JTAG transaction result. 1=err in preceding jtag transaction. +#define TRAXSTAT_PTITG (1<<4) //Stop trigger caused by Processor Trigger Input. Clears on TREN 1->0 +#define TRAXSTAT_CTITG (1<<5) //Stop trigger caused by Cross-Trigger Input. Clears on TREN 1->0 +#define TRAXSTAT_MEMSZ_SHIFT 8 //Traceram size inducator. Usable trace ram is 2^MEMSZ bytes. +#define TRAXSTAT_MEMSZ_MASK 0x1F +#define TRAXSTAT_PTO (1<<16) //Processor Trigger Output: current value +#define TRAXSTAT_CTO (1<<17) //Cross-Trigger Output: current value +#define TRAXSTAT_ITCTOA (1<<22) //Cross-Trigger Out Ack: current value +#define TRAXSTAT_ITCTI (1<<23) //Cross-Trigger Input: current value +#define TRAXSTAT_ITATR (1<<24) //ATREADY Input: current value + +#define TRAXADDR_TADDR_SHIFT 0 //Trax memory address, in 32-bit words. +#define TRAXADDR_TADDR_MASK 0x1FFFFF //Actually is only as big as the trace buffer size max addr. +#define TRAXADDR_TWRAP_SHIFT 21 //Amount of times TADDR has overflown +#define TRAXADDR_TWRAP_MASK 0x3FF +#define TRAXADDR_TWSAT (1<<31) //1 if TWRAP has overflown, clear by disabling tren. + +#define PCMATCHCTRL_PCML_SHIFT 0 //Amount of lower bits to ignore in pc trigger register +#define PCMATCHCTRL_PCML_MASK 0x1F +#define PCMATCHCTRL_PCMS (1<<31) //PC Match Sense, 0 - match when procs PC is in-range, 1 - match when + //out-of-range + + +#endif \ No newline at end of file diff --git a/tools/sdk/ld/esp32.common.ld b/tools/sdk/ld/esp32.common.ld index a3c63678..aafafbb4 100644 --- a/tools/sdk/ld/esp32.common.ld +++ b/tools/sdk/ld/esp32.common.ld @@ -3,8 +3,38 @@ ENTRY(call_start_cpu0); SECTIONS { + /* RTC fast memory holds RTC wake stub code, + including from any source file named rtc_wake_stub*.c + */ + .rtc.text : + { + . = ALIGN(4); + *(.rtc.literal .rtc.text) + *rtc_wake_stub*.o(.literal .text .literal.* .text.*) + } >rtc_iram_seg + + /* RTC slow memory holds RTC wake stub + data/rodata, including from any source file + named rtc_wake_stub*.c + */ + .rtc.data : + { + *(.rtc.data) + *(.rtc.rodata) + *rtc_wake_stub*.o(.data .rodata .data.* .rodata.* .bss .bss.*) + } > rtc_slow_seg + + /* RTC bss, from any source file named rtc_wake_stub*.c */ + .rtc.bss (NOLOAD) : + { + _rtc_bss_start = ABSOLUTE(.); + *rtc_wake_stub*.o(.bss .bss.*) + *rtc_wake_stub*.o(COMMON) + _rtc_bss_end = ABSOLUTE(.); + } > rtc_slow_seg + /* Send .iram0 code to iram */ - .iram0.vectors : + .iram0.vectors : { /* Vectors go to IRAM */ _init_start = ABSOLUTE(.); @@ -47,6 +77,7 @@ SECTIONS _iram_text_start = ABSOLUTE(.); *(.iram1 .iram1.*) *libfreertos.a:(.literal .text .literal.* .text.*) + *libesp32.a:panic.o(.literal .text .literal.* .text.*) *libphy.a:(.literal .text .literal.* .text.*) *librtc.a:(.literal .text .literal.* .text.*) *libpp.a:(.literal .text .literal.* .text.*) @@ -92,6 +123,7 @@ SECTIONS KEEP(*(.gnu.linkonce.s2.*)) KEEP(*(.jcr)) *(.dram1 .dram1.*) + *libesp32.a:panic.o(.rodata .rodata.*) _data_end = ABSOLUTE(.); . = ALIGN(4); _heap_start = ABSOLUTE(.); @@ -153,16 +185,4 @@ SECTIONS _text_end = ABSOLUTE(.); _etext = .; } >iram0_2_seg - - .rtc.text : - { - . = ALIGN(4); - *(.rtc.literal .rtc.text) - } >rtc_iram_seg - - .rtc.data : - { - *(.rtc.data) - *(.rtc.rodata) - } > rtc_slow_seg } diff --git a/tools/sdk/lib/libbt.a b/tools/sdk/lib/libbt.a index 905f09df696152148afbdf3430a3ac9c85415dfc..b31698bfc9341436b04a86671781a988d4422bd7 100644 GIT binary patch delta 29 ecmZ1=us~pfG`ppNseyr^(L^On7;|INK6U_bA_t%V delta 29 ecmZ1=us~pfG`qQ(p@Er^`9vj47;|INK6U_cJO{V{ diff --git a/tools/sdk/lib/libcoexist.a b/tools/sdk/lib/libcoexist.a new file mode 100644 index 0000000000000000000000000000000000000000..2670c564b316e2365bbec1a2a76e77d6643bf639 GIT binary patch literal 1910 zcmY$iNi0gvu;bEKKm~>-<`!lKrp9Il3JL~bDP&SX!N?3OsGy*bz{SA8z{tSB5SN^v zT9H{?5?_!}8K0S#S;D}8B%+tEub_a-R6_#;GZPa91w(UFsJRJT^{zf{jEo?I8Nh&% zAr5Q}n8U!pV8X({z`)GFU;-AB1G6qLe6T;m@WCF;ff8np42D1dD={;K6|pq_ z_|M~cK!ITe$Ano52NW1)a)3ECJ15K%0CO8Z{IB_WK!IUW27|&Pg~oUPA8;_NWomp2 zqIrZG-+*W(X9n314DQa(Rtg%)Mft_WCHeU|x_<5o7Acmd$%!eN3MP6MdZr9K3=9kk z(C~>UNzE%xjQ7k-%V!7;c8zy*3ikI24RMY4@eFYda`XwdHQ;h|^0YMo1tM81f)m7&t(*UU6k^Nn#R%UU5kg zgwBAmaxzO&ixPA6kRl5beR?IS6(tOMDTyVC40=h$#SD5ysX2*YQ7np+ii^Rb@aT_E z%SlXU&`ZwG%}vcKVbH4p`(G~;UJm7 z_@Dqm2r+{L1)0x`;DD14C=nrqm?41$7hq=KgtI{mW(H{7fH+|NJm545ih?i(1_mJp zRt6!c9EcKNU|`S$F`yX4w}rAn6o`+UNg&}4%0I=aCGq8%X_@i4`6;RK`FS~&3`MEw znZ+fkMe)fQnFVF$pl}B3jZZ3x&&W*Ah%YG0%m!Z mEc=6zf#Cx*FK|Qc0_6cvX#tB{kir*C3=IAt1{8zL0WkqtQrAZS literal 0 HcmV?d00001 diff --git a/tools/sdk/lib/libcore.a b/tools/sdk/lib/libcore.a index d25bf275dc413ab45dc886a201cd65b246371a8b..3c14f4370449cde0907bd6d3e3a02b2db82ff497 100644 GIT binary patch delta 7597 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 diff --git a/tools/sdk/lib/libcrypto.a b/tools/sdk/lib/libcrypto.a deleted file mode 100644 index 7fa6b49342863c67af6d8af062e81ac3981f3f8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129180 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�J$TAibb-j$q;- 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

!Ph%hjK$|!Kz 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 delta 23290 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 diff --git a/tools/sdk/lib/libexpat.a b/tools/sdk/lib/libexpat.a index 46c23e1e010368f28b77740e2404552348ab7ef3..ba0b94266f759f3faf0e48aa25f9374ef7f6f709 100644 GIT binary patch delta 236 zcmaE|+ULn?p9#|JmIkH<28L!El{~qiY}4s{>)FJbJGk0AxER|zxR}~IxR~2JxLDdd zxLCJ$aIw`dfvIfgThF$gZ#{eBS*VB^SZ{kz4M%%V4QG2#4Oe?l4R?D_4NrSd4R3o- z4PSdt4S#!2jllMv8bR}ADB89^P!g(V#t>S=xLrd-=rSX+g!pzzEun2Ls6ub^gwouQ Ng~YZOY!xa=000I`NYnrT delta 236 zcmaE|+ULn?p9#|J=4OTl#wLavl{~qiY=h~1>)FJbJGk0AxER|zxR}~IxR~2JxLDdd zxLCJ$aIw`dfvIfgThF$gZ#{eBS*VC1SZ{kz4M%%V4QG2#4Oe?l4R?D_4NrSd4R3o- z4PSdt4S#!2jllMv8bR}ADB89^P!g(V#t>S=xLrd-=rSX+g!pzzEun2Ls6ub^gwouQ Ng~YZOY!xa=000V|NZkMc diff --git a/tools/sdk/lib/libfreertos.a b/tools/sdk/lib/libfreertos.a index 95e9c4567fb6a1260495680f0f72b3fdde4ae4a3..acf936ebc3bb871edc6144fe8c3259c812f2382f 100644 GIT binary patch delta 193743 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�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�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 G`vw3*QWC%b diff --git a/tools/sdk/lib/liblog.a b/tools/sdk/lib/liblog.a index d105489d144fe7ff400270d62f129b72d09acee0..9a000b9590e70fa1e8fc48f9b7d43a1ce1c8c7ae 100644 GIT binary patch delta 577 zcmcb%l=0J2#tG8wmIkH<28I?Bl~yZ3nF3PuJB3JMB_1_ov(CLo@rg~i18 z>Wn>`#TmU>8RaG?v+47w+A=aQFmtjpFmS1Fp2t?h%BVhBnnzaA@(2q91EU_}4h9AW zA4UcS69xtb#yRQi3=CEhtPBi{#*-s?au}^AALEJEwaH{;VBm=o;9y|j>tSGEV6ff8 z$iTp+$aa%~fk6!<3L+TT*Mg)b`|;{A+D)$Im1MM?Je^mQ(QfiVUJ)_7H4F?4JgFe< zCqO!MK<3y@e$6W>X>Y>Fz`%Qj$((_K!M=rofq~DF<1mQ5S(fh!Q;Z&?y(BZA6}L63 zx}>MDAfphQgT!WK&lLP~UwIYM3us$~fgAH5{x4NVaSg9>s2y6^Q z&~CD$pa`S=<}kre9E@)^drGl#F_{={4p3obV>U5lm>8qBxlYSNfw5xpaW8+ymdWDY z{)`hQr+fP|#!TMseVkEaa=ni~W5ne1KIM!llihv&8A~Ql_npreu-V+to{=$Ta=E`h z delta 583 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ƘfbrfGgy=X0YTE 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 delta 129906 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%0D4sMdlOo3d}Q{5yrn5HpI?+4M> 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 delta 13149 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 aWp2I6>)%OBXgD%3NP|ZGq4q!r*cku{c!+)g diff --git a/tools/sdk/lib/libnet80211.a b/tools/sdk/lib/libnet80211.a index 2daf10d9c45a46f5f68e6932050ae0c55e6cb460..15228c7f42aaf629ffde91e71d233d5df1129984 100644 GIT binary patch delta 102162 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%0AI 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 delta 99357 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�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 delta 9322 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 Q*)d0&wMCSHK@lVm04MYk@&Et; diff --git a/tools/sdk/lib/libnghttp.a b/tools/sdk/lib/libnghttp.a index f58aa094c2ca9bd6f807c804f1022755cc6ec509..cae301310861565735fe7c01901615a47fdb4901 100644 GIT binary patch delta 466 zcmezOBKF^l*a_0?mIkH<2F9ivmDG)(Y@^KqMyA_goXG)3Vw)Gelum;QOjo!lBHn)6 zpK<$beAt)mMx;TTSpduz9ZQ|SWmvUaSKov^9$9c>Q zCe&^q%GGWl%H3`t%F}Kj%G+)r%GYin%HM7vDzM!^RPg0rs7ljz1!1A>3c|v=Suhch qE84Sag|}zbip+LI5*6RBykF#-AWWoP;i5>p!bQ>T3KzxV76Skx433Ea delta 466 zcmezOBKF^l*a_0?=4OTl#%6{amDG(OY*UNP0Y;|VVVubUMq-;6y_8Oa2~1bGC?ei| z+n;g!ZGR@CiKxQb51HDvA2M&(e#kQE1xyNL#P(Y!S-%HDMJz#PNNoQg&DQG*69Oxm zmB{8k1zDv1-&eNn|Gu))22 ru4vDy72cjzD>B;=NmP8h@_vzTf>05|c7=-~?Ftt~w<}x}i(3o;^yH68 diff --git a/tools/sdk/lib/libnvs_flash.a b/tools/sdk/lib/libnvs_flash.a index 20dab259b9fde1e0190326facd8acf78cd4348f9..ffa6c738ccbd581109de099fd75ed01232e4fa6e 100644 GIT binary patch delta 255242 zcmeBJu6FOd+63u(O9N8_17iyX1p@^TKqeIwj7%*oK%xo?30w>e48aTxT*s)3>xnRs z>Fp^7Vlea8ItEg4J*gVlq{|p!n7uWPfmFkHr+@8d6x+OrF^zGuBeN)@ z^K`*nW)Tk4dCV-nc6 z`5IRg%VY&^mdytIb-aRWIm9$rH8?sXdV)HI+87xaChwM!=5AzQc)-D+$iT3IY4So5 z#mRqU)FxjL=a?)aWVkt2Hl2;}!t};>OybiooMe{R{6*P>N&LZj1_l-e5MW_EDbB#a z5-rWZz@Rdo|%z>f#(ItAq>2t zoD2+N27D*f85p?C_AoIp@E_A)U|`|$-p0hhATU##fq~1nLyCccK@cR)4L237D;U5fG8WF8GE z_GTXj2CjlnlXW#@AncOQlLItl7#B>=)sSL;V#2_{RX2BXpN1KGmm&iL*W}%kPiyEf zs!#r*A;Y8^zFACjKcg0lF#`i5pE~ynPr=`4B}51U$ZhWFcvT=ObumV5Pu5cD*R+* zU=V)>;V5whFffQeVEik|z`&^B3zB)x_=%l?fsyM5I|GA4pg#kH_zQ?yg(g1+2Jx2= zX$4D=%qyr&7D(nbRL0exL5)HD4OFTOB=r_5)d%9dgUSeKPOjB6W;{B1qnsy$sZOCu%b=NLqptKciO1DMm{^1_qNL6$S=IDOtv5ZUzP=kgZZ0jQx|B8Oqn^m@_a)xiFS;GcYhJ@rN)l zNVzeB^fQ|J*)lLlc``B{=Vo9y3$p8gKLZ1UDp=T`k?|fk1H((0u+SWC1_lO*mPkg% zU)&4~Ts#a6>>w>*IiX+?xPmxFMrj@f25pdndW4E&AmbrMq%tzv@GvmAgH(VOoI%KC zFfvB)Ffb&;V2~5lyjx(8D%{g7%urUFfh*GVPIGc zQB%*rAOtoXqG%%H5d)~AJv5d^to1EZ`e)Q(nO28M2sB2Zv4 zsBsuDFi7oSEZ1dVU|hhq zW-KOY0bDVU&;Btj`3+^pOEqPW3aM+kP$S^Q~Dq%*3$x}_`>sQz?FbKW{@ zAEk^T#;*sNVvaEWi?thz_vCuYe#122Xzm zhF>5Funw+neprnB;S*qB5UCenU|{zL8D<5JCk93p0R{$rm?$JLt-(@UjP?Qy3|??4 zuz?UMUdAW^28L9)R4B+m8&IAU3}RfT$iM({RjmL6LkC<5Shr2HpAQ3rU=(9IH$=?> z0S1QEa5Z3K)P%Sh7z8UB>zx@Gm<|XqFr0?VgG^;Wgt0A)$|Q5?`WZ3|41(*x1tuhY zH1i5FFbE4WFtA61+yxPAQxarg(1i&KB_d=xZ3Gz@+~G1g2$`-hK?a6IxJ(g3W!oX;H!kK}gUQmFEu|k-Ep$=r=3XqdkLE?fUOpN`) z3=H#O!bl+j)+i{)#JEA2fnhgX!8(v;h@1iw;~8NFhU;*-Eg(5?K`fZXr02@OunSaa zd=O@+XZQ_Q1U3MosF2A)7^+A_gn>aG)a(a2P6%v}8mJX3IGd@&oPmMSM1+CC9xe|u zm%*NaD_EF;!LUgT)QI`XmLLLa#Qb6d6>bcMwxDW}y^yuJ9xheH`rixMJdrX7HBX|s z85o#ZB0)WbvO^*a3|ck93=AJ&O&E|GEh#Ss22cY_3)FA{g}IirF9QR}90q1nZ?H}& zQ3eK9(*Onr&PtG8hx=>{49`Ru7~X)K{5293E~o}qhcGap8vGU{0y6kb1gKgG(gqnk z)f#T_^m8EBS%ot&ScOhbuokbk3T0prl8R(tU~uA-XJBBO3=-%UWnj<>V+1K;V9@$t z%)l^bIs=0cND4xLx!_)qqmCH^gR}uiYAs0DQdb5Bc95BKVi_119KU!lFi5+AWKUzt zIz7{=hgr!ehHmAbWE3mGT(FhS4}%yOm@))GrW%8^sWBnB6s!&;1#u~e%itVu0N0U< zqC*OY=NMdOOzyW4XUv_v+(zE|uLA>vpa#ooP#R(2dc?}W;C@Aefx+XxJp+TxGv~4XfvqCAZ*~sz#x}yy{m8H!`L z#}VwF$zSXgpw9Uv!N9;E$-uxK33ZN^y|Fjg36X1T85s6UFfe#aGBAXJl%#^XPgg-2 z*uW}cjWih;PDwB@fx(xNE!7>Qgq6*jfx(Z3H8Zb-!Iy>gupLMV zs}KW-VtK&^rXGobw6i>zobMnfw8asmn z>)$9dFenKMfkrAowUm<3dr1ZcRyIur1|?BRkmy<&1_mXuZy-@Udj*d7-0dy)#IQt|>^MQjvi{NzVbqjQ3+;P%;EtS^{#45!lkp{0t1r z++fi>1qKFXo}D1IqR|WtDgx>to2FPr9neJk)U94m0@6rN|It= zU}j)F=FY&N;{Oq3>lq6M29@9=AZAzq1B0p<3s?yY1A~OB?oJs727zyr=Q!yx%1%D* zWEuJ(f`LKR9AZO5Fav|C1&GZeAQQsCplS(Xa|lSuF)*lFf!I6(Ol}Mes@5R3fIxsQ z1B0p!h%F-EsL#NlY71gZ2;7()>8z@@-Hd@j)w4sEfq_9_638?!5W6AvkU0Z`s!y~G zr~@C{F?orzCf_$h1_srTt6-&!){}2LyVa}tGB9wc7R$;pFbEWa%q{^j83f)bFfgc= zg6v^o@Mi%9gW*IO28Iu+MU0v93=GQ7AorCqf)p?)f0kxoP_1TcQ)FOZQI->db2yYA zI>0$R%73gF7*uP)dIXe%#TXb=>nAU85y_0RV_;Bi28+umzxH8ZP;Fs6AjQC-5Fejg zz@Xa3cv*>oK}9)VnSnvIgYk(H1A~TgTPOpAY8P0Kj`A7_1_sq$Fvmc7Umyd6Y9He+ zDFy};<-ME?45||tUnwy#SSZU+mUWe6jGJuks>b+da-6FqpK}xggX(-nUS$S`7s@9l zx4QZ;_D#Oz>Mj{%&A^~~^tJ*6gNA@xGy{X`iT?@=3_1cECmXrx^QnP?`J%ic1A~iz zSit0bH!;KCp!mH33XTAQr7{c*syEL|Gcbe*w5l;Ms6Ge)B{+dtbp{62N1)^sBk*PN zHn&acSF{)yRAm|SHYhSMD1&248O&x-UOBnnT}?X66qK@T8P9>_ z4MA?Q1G5>FqbFZ*mt;IU`IWmYUx6+IgMexnqk<9xgYu=xq8{$``@9(#RFlC0!l2x$ z%D|wS!U%E%i}E*6xTS(QJjyQG3=FDiV2+5gBq-j}84oKlFvuuNGBGfyW`KiNMY+(O zfk8DBtV~1sq7DOtY8IGdpj;x$z@VB9=2$4-0V&G?aab4}l&dD+_lT8fcVl2s(~whU zU|`M*VPN1Ge(I&kSU8#ATT(3Bf`LI}5y%n|Rj4Hl zj&~>9d51W>j9_5UxCk=810)4EUr1OP)XcbG$-toT2qe86n>3^0r^B zs$PLqf!qgnB-D_@AnUJ!q*>G$7?5Rn11IbINH8i*_VAIDo(4*ik*B2?7{WoyKn$>2 z2FL%C8-08kwI-kUkz}l&{L;rrj8~3dHIJwW)+2)}e1A|6|jT8gJA(&zz5R1W|1!Rfi3y^%3vlIivBUE`u3HQmoezHvR z?vr)=WEtO0_VSZsyfHb`PfqNuHUoo(1ISOs8Vn3Vps;0dJUe-=pB&@*$$R|d7%e8> z_LE~QpZv>DPW)yV1B1pjkYZL%sB2{y9G^_q_ZO8GQ)OV#hyuC86eb5w1q_b2C&&9s znkIu1ND)Xr6HWfEBm;v+2}q_HE&~dB2FHh!*ZONkig_|HXo`Rhks!@l&{P0dW6a(R44R7IT8u@5fk9I(5v1T)AOnM@dJc&B zd9p!(C}Zzrw*ZBDV>t!}O-pdKwkwo@LDQ}mq~fbG1B0gh3=lIsl7T_f3+(j@kj>uU z%5J|E1A}G=SoFUj1A}HLSTqD=M;usmmpTK3W;|H*sxt$FW(K%6uD4@g(98ta#>vJE z44N}1KMfG5uLRk)axuuZjZ6#-nyc1HgW47X0cN0vgTQYe1_ow9Rt5$OElF7&1_l8> zW(Ec=X;2}`AW)^kz@Q}qVzUS=W@2E_k_E9j1QzQtFlfnv*gOLFxfvL=Um#sVUGll6nd)B5xo7_`hl z_M7W4FbIJHR|r%AF(hraVPMcQchX^C@Mrm;#lXONMVWy?TY?S5Tx!k0pd%}&#lVol zqGR}1o`IoUhk?O+2B=l)eTIjDfsuigQ;dN@$0SaNfx+?XCx2T3vsg--q! zL4a3* zfx*CLrzWVaw%473!N9i3h=GAo;F=2qgMl4LoJrt;Is=1&J&4ULkg3GLVBi2sVl2_w zsg(={j*)H*3>-OcjTjgt7;>M2%r^(=_0Du-U|`6*1M0{y=4;jaGcXwVRe~lB`9&^* zEDB)UYs|oK-I#%az0Qq+K?r2N5Xf=}3zRY#ASz=SpBpnUyoIS`5PiVNz+jL#MUH_1 z8ftGbVPMz=GJGn?!O~zs zgQH-9$?v1Y>MfbHO&J(?W`kr){unYa7}|hBuA$_$90P-)Er=~E@Kl+B!O$M$C=LN8 z2L=X1hnH>)3_Q|@*cccLtyD}I7})QE3}D~_Ijq#1g@M7)`KKEL15;VK7z2Z$i-9Qv z0|S!?$Sa02jFF}c4DldMnx3G6HIYfS3=D>{jQOSv3{?-17z`C``571(H<>ap?1ifVON&<7F)$b^p7Ug20Pz{G znldmvg)6BCiGdAc5K961UP&f^fr0U-DFefQm?8#au)9_H%orFX%@`QiH9>Zpf~LvJ zK?Bc*YOazD3?M#eKn6*cfh*61fq~yWfPsO>NM6*OfuZcLIRk@{B`D4qn96MA7IKw28LfCX^@#hU`L2YdoVB<8B01t zlPI4#0|PrqHvr!N9H#sfJ%)M)BUdnw zC4Z(X1A~zpn8T5Og^_{5$OFt_%=ZjtU@-CobC@dUIxsL8d4o9&0{JgNp7#Z%aYluF zP=Yst6dQF_%uEanM*d)R_4z!}3=Bqr6F@=8P$d=0z+e;v=G0r4?Ga>PFnRW$oS!3`S2tG6GDc^&n+WXM2Kj1dAU7gVD3t$u@Di^(R3ddi7M3 zfx(WcOwWsf!RQSr)E$`0Zo4or7`+9hA0MXtNg%V{gIvSJkiSodfx+kln4^$?0%YY! zFvp=96jzKtEf^U7TQD%Ng9bVoMBjrvoYkPfzyNX=qqrplgRCV31N(C?1_p+DQ2~&{ z@;4YTFo3EdMpH`$1_zKdNHZjbh=Nuz7!^JjfhvixWMD`JDFK-v^cG}{Xp9mAgHiDh z4ycl9O9qBEkP;+QZc8yR7?ti-gDRP4$-uDJk_F_<$=UHLBG!&jiK~_j3|}C6CvQxZ zm12=+U@)qDq5_rXv0`9Qv;t}K1Z4oJJNgU^M%Bq)P-#mm1_nQbbUj$QHiHE!oo2ye zU^s}7-OR?oU^Iu(1Y~7B0|VntD+Y%9AZbuwFo?dfXJ9azCoTq(W?*3aZpFax7a^-| z!oXm(ph*-eD{9TapkNL5EdzrPc)(f|RN5IWy2=byVqwj|U7_Px&g&?IXsJLJdjQ}OYQRNY1!28KOwbs*<6i2Y<>U@*Fz63)QDbit;cf#Cs)JlJ6j1yjQq7>usk zsXn2FC8npGhh8Mr|68T=h83=A49QVDhp46IX) z7#LV&SiKn-$_{ZbFtAu@+k&dvGSH|IOT9IS$HP?i5j3x41DYz4U@GgkWME*i1(i%P zOl90|3=AxGAdUj0%wn+zaa5RC_c}5#u*h0?GcbsNEM!q&oNvp(uoUE?51{!FaM{74 zv^5eE8jO2w85qvOWWi;JP(8>f22nl(1_l-tLt6%h7Fz}e#;3Ln46k7d8ER7VQW#h? zA1Xm*ne7-DIPDl1*ddnukY`|E(fi~GnXh3~v}0gUN65}sWME)1F0p_*!QPI6!4)nm z{-WNAfq}(h88kaFMZ%>R_{CWn7-CrEd|Vh9GWdNM7+6>pTJ0DZyg{`O1Gq+GWMJNG z&cGnUs=D8ffq{oF0Mu@MrN+R(st#_43V_;QtQw%Uq=YO;n>9U23GBu00xFKe^9qH>7E?}gAP+!qCNuyYjRHz z1A_&mK4DGCv14F}V5$Z=m{HE2fkDNdfq{J|XbF#qp(O(Ys~)3?Jp+S1Occ^^5@ld# zU|`KM(2{`$O}IS+Lpn?iBz7Q?^NN{)fz_zW2CA;!o`GQsTphSz1T7&D+7Gf&6jX|{ zn*1??DqdsHz;GI(cydm>qA07`F;l42V|xY$P*ah8=j08kay}WLv2+VQC#bBH0|SGJ z1JoaoMmV@R4z>?e5HpB^3Vv2AWth8s92gi9Av!<>e?3^*;~Xc{z)A-OhE9kytYin7 z#UQHT!oa}lyI&KkZlMDM!x|KI3}T>yk=6eqXw}sL2L^^?Flh#{5CaAV*1$8MC1JN5 z7#JSFWkl=eIWaJ>hW(O;q)VnB4h#(c;L>8=plFQV!_C0JB;?4zAmIr0DuXDfMq-V1 zW`($i2{b|C50ga?2+%A(q(-V;2uew|;5s_Xk%6JU-jRWUBZL7ohXGCt5Un6D3%!V9 zU|^`-Z^ppD3ehmjk%3`7L_KII8(qC}G)R3Js8bJ7f69@8;XXt?Xf_00eH=)AeQlTw z+=5?@3=I5EU5n4+t{0#@&D16LpA#K4dbQ4i|b zgVfhUJ8@ti2ZK6(wO1A38oHbq80JGX=z#_RLAeDfgsfsfJ}v>pAjHSJoER9+L)3$Y zjzAV5n_mi651QR#bp}VlE2nw}hW`)^*rMP=0>}bkAqEDh1}RY2+8G=|*rLE85u|0LVB!*sR|KgVtw)B-rE`OI#Qjs$3Wt*uR5{DiK~G1_m}& z#x55IhN&=7NZD8qDjV6fSGq&;AY%h#uN(sdn`xylXw=FPwC2k|2UHxLg18A3!winy zUJMKdMj+v5E({Fy(98$PZH}s}3=9xGe<6B6vCQD8q6X6==?V@CkgyOq!#UP+z_b`Z z?2NdZH zj%flgJrbayn-B(&un;)^Io9aGwCF?RKylB|$hZJBDgq8@jt~Zrm=HMsF@UEdBi$g= zk&+DT43VH=OwiB|cz%)}qM&lJWsYn;sC&i*s+s*+sz6FN-RQA$=fq_{D#9?8o&IGMvJnzQ9aMg{0f&DRPM1v!Q0W_q+;Lif0{8>QbB#|H^ zL8BXBdu15-e>*cU@GvXzcrq}Q^@TAoFxP(qnaIFY7RJKB!2B7+VPPuk&gsEYGNY9Y-V_=W~$?kM#VAv0m zl>>FQMP~&uFfh**^MLBT?#{q)7bMGrkX-~?*8tZ0)t!OiH%Jz&S8TQ_0|WE&3jz!b zjQk$;3=E4+e%J6g7~xCG*vyNCpOw9>y*Y28IbB`yrtTZd@|oS`Y-4Ug5#OunuMd zgJ=cFW%nbkA?T`z zFtB*S{L2x-P!CEh4E`*jL=pr}IYBI-VK#pj6;B2RE|9Q43#e}&#FA;kz!1a&8r<_| z0d@WTSwQ1NL12V_PKyoLjtH9vT0;2p` zK%*)A`AQ573dZ7~(E@`DYzz#>o}i%*rhFq21_omSIGYhDcX42=9<3=E=P3=Hgd zK+-j!bPv{w$zz8-Es1u=%q*@?v1%f(S_2 zPF`OiRu2kb{x(T)5%9zhRs?(kMGm|K0CCVtfM!Ne5x~N%&Inossn-Eo(au;l4>TNB z0#eSvBmz>vtj(C^&A?FL&A`C^4b<&|i0U#ncr!3`dowW9gM}fh_C>8M85o%LFR?Q) zfckBWi@g~b*1>dwXLcAwS6VSJFqCVBn`5J zL39hqi*c_d85lqT$++ByfnhC37NQv}oBTSQfdMpBzvEpiMDj5@vy z4CXKyNOVC9^FMZ=Rc5{n3}L9!kkWecY|wxnD97dbGBA|DlrTVKXUNnuGcdgJV_;zH z@nv9`1d{&X$H2eI(dfn>pYp@sRwFa`$3 zN4^XUFF-P2ePWQZ{1Foa1LGfG1_mZShI*J^A%%IXECU0hm>&a!njbV2gg{9V>S0J> z{!W#Ffzis3fx#6;4XiNV;Ra2cv3?8;$uK35fdb}RTlJx`)qV^NjR^apg*m8L0u>01 zGyNDC=7ThYy#y`H|5!lN+;%?(hP`lEXko4k^43K^28Qb(8L)@BK#u1KVE|=v27eaN zI7<))8LRi?y(L)^>HZ81T%g1j#BxE9fgyzDnEER0O^M%UN%t%2F5)B3=GF% zGD09zU@eg|EDQ{cw*wd$o}o%ZlIP@Z4TgG#(jW!~#(x0}3@m{R4D4XTA<{GSOc@xe zL9#M|3=B#j*~TD5;yvQe0MTm|$iUzLl7;96w^J6~w1n!72xMT01IdE*LKAN_BLf3t zQ6K|DMLkFgtPz@e?Oi~*C6Iw(5<&)&ct2}1Ffc9)WMJ3^lM(6%6&>$VyGhj8a#Jii7fdQn4@ogXj!)K5&^5~7hIEh&*iMcRhE_X0XtUr^5Cg*tkPAS@F^Fyp zW~gT{mUrX;w+k2;L7Ru!f*Bat*MT}|&}M;Q2-IV8!3+$VFj;W5&j4!{YzOT*vkPWm z0Bv4l2N@2Q7Xl4V!I}lrJ)m`cMlfu0u%1^n5Y#UC&I*-+HVe4;pnPz%0AvWfS-{xB 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 delta 250550 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

46RUc(DmTm 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 z zU5dn>Q;)=1gv36H#6FM2X0Sn6%!b64Lt?8Sv2Bpppldu}(H#X92m3z($^rSm0*PIR z#GZ}BUWmlriNxNI#J-HgzKO(si^TqH0~(!yBm@R-(2zcqEr`U{L}KeBu>+CV;YjQ{ zBz6lDdm$2gIh68j*84NiXyHz6EQ`eV3{#Qu)N<^}BshK7(N5?d9Ct&PMsLSnlh zu>+9UF%I>JpeRI=s6%3RBeAC;u@@t;Hz2Y1BC#(bvELxEKf&0bDq3W^|2YovdPhfu zTilV@6-ewlB=&kFHfRw)EFC^X5`T`w<^ye6hX$Ys659;Ib^?dK4TJ+`M`Ekd?{xn29OCt>k%TrPv5z9LPb0BGM?%8fE&w_$1nS0WBz8LzdkPYJArkv0gbhhi zpo?8#hJJ!bfc^9ziOu7J2yj6pHfRerOs_VQxC;{73yGbK#LjdPnS675Lr`AF=g zNbJ2xY|xTzm?Lf@i9bYQe??;dhOt5GT0m#Zz%+}3mSjMK)EJ3vIsN(t4(0kXB%wYe z_7o)c8YDJo-!IJQQ%K?$kl5;Oh=4UlVmlzQeIaZ}Y?VSd;23H|V)r7kXCbkdA+a|j zv3DY|FCww8BeB0Cu_fG*V#~}O;c6Qsb|4Zv9EqKT#Lhrs7a_5$k=U(B><2J5$p3F( z90mr4pGa&r4}^n6kk}eXY*Qq*HxfGyiJgPQ?nGkudoVDF!s2oblEkLz+?P3&RbL

?26*Q%LOlNbJu@?4J-e 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­9y)@)!PGNL&cYX*igOeL2T%}-e!50vdN#D24N`M6(kN-698gE%}GFFr-9f| zHH9EHbndSdWDbFAaSVPYe?)n zAU0I*a}XOk5BM6S7s_T7N2CWqB(^w+4b`gzVngQv)x;SXgrRI3kT}#{A0&1lhz(Vf zio`Ahv7u%*g4obG!B&u&Q1)z)IMmG5NbC(DHdM_KB=%Jh8*1hq5F0cg&A`C$0AwbV z%^`t^cYY8XIzI?n(T@Mn6s_6o;p>uzIAT?0- z5|B95FRMUosQQf{HgvvkD@Z+*eGViJRdW}K{Q|^>&hfngsfV(eBoT4P0b)b-g4&O; zIX-bo1_oi!z&ry3gDyx7)ID|}HdMVQhz*^~^98AgvXepLQ1y)KUaG{^bF&q4Q`0(hLm3 zP_`OK9I9R$#D)vp{U<+*uw-J(S%J5{Igp zhQwY7VuL1j7#J9qg49FVyFubm^ACd9P`xKWZ0H=>8IXD?`zc5qs^$w4`!|RUofrEL zQV(TI$RNT;4T)`v#I^ykq4Q!6G7JpDP1!PuZ~9*hm@uE5x!rYDRIYP!MLpz0aM232)1 zHfYZ>j14O0U~Evffw4hJ5XJ@t6O0XtLKqvgjvB@WuU&`w1++IACJx#Y0b_%XZefIu zd4i55g0aE#bWm~78flm~=(YtI8$3@3RRg-!045H)p#a9-51J!`j*)`Sr)Gq*Pa%n) zLt=yXctXcQ!E_G^$DC>wNsJ8Vpq5j2+siW~+82390CXst3MR2;ld6UtTssez7p zg6G$uY+WRALnO8{hz%X*bVp+QA+bT{y)#19fY%a3$1uTbiJ|O#ka{S)7>Nx!>zxrQ z-iRa)o`ZvmgZDf_+0&5JfX;!3=>^ZtLDhiHgNKQ)M^e8TiM{JjN zIt~e*uY|He>rr9jmY_AMFm?@+`UWI+7ZSSAgXeak>OpHJ8KG?Onn@^I8Z>7LY9KH$FvugZ)sWa)NNn)B zN2q%6x<@G69Z8Kh5*u`<0V8z05wxZe#s;lvgt5VE8lh_HKzgC>3aoI>y_8#BN7ocO$Xqg4ocp*@Z}K@H#!H_!=bfZAk20NbG}1?4wBR z^GNK=NbFlk?0ZOT&>B2OsJ-Adcu@9dBsJfW*qoqs0#G%)NNf=#HfVhv%uMi_I;eUT zBsF?SY$GJLB@){fiS3WX4n|@}A+h6-*r`bDOeA&%hz%Xzu0diqBeC0&*fT+FQ0IVw zfnhEZdkGSI1rmD~hz%W!-iO3Kio^!5wScO*j3j;?iG2@={RoNu1;mDqWB)*6|3_jo zgVr-Z)d(T6#gN#tNNhzUwlRne9qTqnV%s6HosifeAU3GO#K6D+Ui$%M$0La+Be9D> zZ0J~b84|k|iQS0Ao(y6`$GWE@vF9PN7a_5?fY{Kn?j1<%{YdP?NbE}>Hgrt;8WQ_1 z68j+%`!k3Q9moET#0IY+fr>MM)>J^*A|N(&>{Fle6zNF2&ujKp4!#NG*F zL&u``BC(Gku}>heZ-Lm*vFLk9?59ZVmq_g2NbLVeY&Ou^4A8;43=9n1AU4!Yek8US zhz(UE4Pryp$Rn}AYg(Xcw2{R1k=SM+HdKu@hz&Kz9*OM+Vnfw{*TX>7_=Ciu>@W}; zswNu5hKk1{vC}|osG4jL8>%KBiCqR_L)BD+*ibd~NbEKc8>*%o#D=QrM`BL{v7u@} zYiwZW#mxtaL)C-V+d$Q%|L9Z8fy?6s>U9P?FM2))p�P&NKY>@W};swNu5 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

HM|TA z6BzlGKt|s?&db0sg^_;_$kO{aco`UGF!J978SnsP=^RFWZ;(9?|L`&}EMVl12XP*O zf@%pPg8+yYWZ+~0m6t-G+5%L{@qid$f`OCeFB=1c5U8NHXJ=sG0TUn|k1L4l4I;o? zB~U5L$+DdRR1{AGlMP@}oSlJz8&pQ}fJ6}l11AfpPT&R=nLJ=4zy!zw22PeDkSM__`1 zljR0T6jYpoE#O%L(gk(^$UX#@fs^GONF}H+1Z%}fFmSR+a4;}%gNjq02}sqS69)r> z5U45y6|OwpAdA2u0b((5vViJYArKo>#zKMz6o?F*Eae;w48kCXfl5$NBuxaF4=O^z z?qlF&Sp*UQm80MQWZ-1k46kN~JC z1`B`*22Pe|AW=}s#Ip;Mj{krJKqW8_sIp?uAbp%HJ3$ISRRBZ|6buj+SUref;AFW4QUt0RAek50MgKukpt=F# zEwB`rfNGWEVPN0}RTmI>u#dog0~e1_MOHk}1Olo`AVC9G1C@>kNrOsEQ02k{)(DDy z22Pebkm)OU7#MiK1XL8Hmy=}%NDfr#Kx_udL4pRPl!23F3&>QEdq8y&q&xtr0fh`q z22@9YLjzRQ!304S6wfS3B4y@o zWSI+6532njMuD;}I1eyzvTWjIU=Rl7Cs2I|Dm%}D3;?+RR1HFcADps5X2Q(7$IHMV zVh-v9v4T2*ppGQt98gnQ^gUP*lrkBEL_cvbFfg)$Il*F}-lGsd1A{nYG+Qx)hl+=q zIAauB5tzlmAYlwr%MI#b!MdP~bI$WIFi5H}GB7Z5gTe?@riuD7gSeoyz!)t04#5e5 z*v1XEEmSHNWE?N3GTFcf>gkGUGcYh{K&>wYTMDtB>;Hc#1_lu!1_lO3L0B)BaSkIt z1B2*9c90+_9WVw-yE1^>9>rS3zyZ=Bqs7d?z{bYI530rwFfuU6?qy_PVD$#s0VyOv zE@6;EI7AR+7^5nmFgG)wG@l@&5SxHF0|S!^12?xFH!~jt1G5+dGoKZ=HMgfQ0|Sc~ z12YGV!wOZz!N9=A!pO}H5@!@bg285p=l z8Pz30N_kirK*sV4GcxmWv%(DE(3xU38e0-}r{t%9K82qBO`p28r$uqY#h zA)?1FnCK+Iz#xIF z-%}XH1W6NqQ7nfL0_kU9U;rgE zT~Mqu1c4}hPdkTD)m za@Et*hoH>7cKLIGc$5BGcYo?3h1Ut@eJ;M zp$g6lCVCcnrV6^bAg?DU=HwJB=;oHBR+Q)#rzV$V=I80=WR|2BC4$7$6?FZL6m-+_ z@^v%wK*6XBnrHzjDn^>D1ci#R5hV0Mv)kZlfS}a$c!ng8{M=N~5(x&V|Dj$7$9+i! zD6^&JfznK35koR~CL1LiV9c68vI=Ov3p8jBnU!MD&&bbB)lW`K(=RDXP1OgL9p-w5 z`rr}*#7N3dEJ}$_&QD3zPb??^$BKSI0Z1J~fm0B82}LO+UNiGbEI^T0gp^g1lJm>r zL5?h`0B0poC?pm^(i_?wFEsc;kyBCu8s~>3Vo(wVdkdPmK@&RQIglby5P@O=k_tfu z1vv463@ECI&(DizC@M(?&2z>VrGk@IWjq5k1i|qMOXr~Zd~jA_NXpO8fzI_oY)dRH z$p>2oTaN)QPYOX90i2{kMu6Rc8gXEE6s5!$XJn?8fRZKH!=OM1r#X<9(sJVwMFPq~ z7*J>$8-Xo^&X&NlFw(3?I<$OncJy<0^l>ryNMM=BDPxGeBl;p;O?{;Duxc zNZw3LDvmEn1r<>s7a`?T&~gfpvmrCgp!v0UNVx`52P!YXS=jSDkjD}61-1f| z&OiwjDV>2FQ(6$uP@Gwn3aXDGu16^!VR4BxZ5Ph~@*Aj@0Ofj!*T6P_d;^-UWC(Wg ziT6(~Ni9K?5-{bkq5`->q-4m^Da zO5n(jf+QtSN{6H|P}L32&#u^=8K%aD$~nj;=;DmXzECzixR(LAlC;Atk>w zDJPWyHrWoz3=F{`jv=AJ48p{1_M*B1%&8 ziWB2K^V0GeLW5o79i4*xeL_QA<9$3sT!S2af^7}B9GyIE4M3|i!HrA?@cbUA<75Ek zgBpY&%%TAzK@&*~pk^Vs;VB4iW->5{LZm=VeYk#5zZ29<1@)~!O;u1M7Nm?rgMk5N zHlqe)W)Y?a)`aB%Dby>j%q>YwV$drtDT2@$Fc!2{WY8;0%}LY)RhSHVpj5%2msDH~ z6$LjN;?s%}b5l`7GC_f%2a!!oN-9b%Ly^wOPe$P<7J*g~q8bXScNm~X6qgh+=q2ap z=BDPAFz8i)16&Vc2iS2HC3-oTB~T+PO7sef@(Vz|L&KoZf(fxOeEbh%gJ@<@%NxXi zVrFpILph)cHwIP&2h3+f9Njc%w2GXpo21)-Q3cp(fZ$;`kHWkD!r@a!yv z4I-Jr=>f!oU}gqTj}^iOk<8#(TM!F^nc*|KFuoWAJ2bU{Qj`z_6N(A}1_lPuoFgnX zf#fY9TEQep9@GN{a~K#HKzx4&M9KoG2Q^srk{M9yMsTa7%p6=LgNg!>8gTYQDm_3& z9Y_vbOd!^Tff_c5mNo+rWceWVS2$M4NQ<;C}=_#q!$$S4xssWRt5$a1_*}f^#GMNPn zwn%J{yJ2d)k;H?L*pW!=1SB?S))A&R2T8mUiQR+52F<3y)UQPn-+{zFip0K(#0F)4 zm|j*;mmTUCZX~uK5?ca^t&GGrLt?uiv7?aKsYvVsBz83t`ydhYo4~)&n0vaNP zxF0lO3=>yF5;sC(gJ$4iYP^ud!;siXNbEc$b`=u44T(Joi9HXAy$XrF4T*gSiG2=< zeH)4W0*U<>8U zHIjG-5_>8Vdl3?QJra8l5*xHi2xjIrB=N^cY|t1uObsU=0|TtCv0M(D67PACM z92(cENNghz8(NnIg4j?s(I7TdJRWKesGiLNi9^+tfY{LHTP27M6>mdgPex)dKw@tM zv7zQ)0I{KZuYuT5@mo-PL3RF9kT_J$ClDK|hKV03PLbG}NNiA!289EN289KT4KfbK z2DKt#Y;b!3L_pg!u1T&xnC@w%u&@xU?9|IcX;Psra z-WEt6rViv65F6Ci1BrXcGcbVM2x^akoCcBug#);~1@3ErR537ALnt^2vJ1p9Wnf?c zg)MaTB~EqrP=A2*fN%|{_X=V_G00vJ6SUwE#D=+Vg**cTC{97{1NjXk2XY^%?Fn-O zNFQhp*$k8bK^!EzK}6tI%Lz0L3N9JWyW)BnL8Y3YtHz3o3sCl4t57IwJh=D94K5aqnW29!@y7h zG6;%c=AAK9S{SGVdjBoP`-i+GgQce)}Api zNWs=XL(4}{kRqG+LXLqU4yFmo?fM3=Rpt;Hz82g9whA1wA{@3B+}zj_v?QFUwcs`~ zpf$gcz8wRD27?@fGy|wCGjn86Iy6tAp@e5A4^z7(yW;Qv3LOhHI6zCkLGmsS7!v+7 z{Q1xDff*E;prVrrv`$>1r0LMS29P!bgAxaalA2%bmRu7*|DVvYpo61fl|kdD{}Vs` zKcK*Hf}>%J;Dk8>2jBnSprmkMrosUQhM61(6c}c3Ojso_@ij=zN{(5RAIub7_!7j? zM^W46+~098vZrDE|A;Bi+HoV~eop&;k~)O+3=j0Dw532O`MB6AMua z2?B_qG)xfW`$J$qfvo4rg*o6Y?_VCU_276wCd?ce41fPuT96{+)%Y6}cOA?;HBB0t zJkoc0-h%9Sz`?-XbjK@Ah-cxa|BatPO4=A17#b8x+CKf)VCK4ved8B!4p?3Sc<^9VIvHJ%!B}?{+sd#EnRtMSr=l`MwNgm8R(oQOxJTW}AJbVvW z7#7T$aABrk)4DYuzy5FNZ20hFQ$xSuhp&na{|_|$SLXSlpiuIC1(Ta0LmEHRF;#{I zGY>ev`9JBTtb^yK3G)pdToos{9B6P+Zg6qlW~9>i=>M~RMxG80=3hT}xWTSU;qke& zfO*4fg%2M}9xySmu`zTogHoi{q6I037O+6%9&j*hQ&RkR`Tw&PMxK5RX0QKn-8DS6 zZ@D3QWj|;zql!CxQGj@tVS(p?iO2ps9g&?dWs`%y;e@G*4xUhV@$hdmVq&}XpY7p) z2C%w4*wy{zXx#LFn-SBo^Z(thL4yw*eP)RaJS;qFjeq~!vM88Mwz4of91!^Pza?V_ z;|x|F;ZGdQy=)52lP76v)pE=fEckz5(t_Vb3w|k7PUf+gA-I?MEXP|Gh34i(3(|RV zKYS?B<#@o!FoUs!^%Ey^lZMt_=C>>$DIcEP2OJEIPyX*^*3y{76x_i&>wA-i)>)`D zNaq6%hEGhv5v-ri|4~xaTC^a2FY{S8p4_)Aufo4GuM}v+7fsg(>ELqTWLM3WdLqiE0Xn?$V!V1TR zh7#+GJltm)I}=qI7!q&%=i&BXj%)&&Bfcu(2^RFn|;vP++KFl6Kip zE>I8(s&^xq0=N8ka40#Tz>vv$K!G8GX#rFm%$X1hs^KG<(oEK5I7%B!r+EY#7?fl> zx^HG`+x1`e1B1^)P`l&9|Nr0}Z}0yHfcby_gZ9P!{J-%hxVq<1P%vRwB)DOwz=T;K zOQCI?Me7+13`!Qv6qqm>Np#~|kb4?Tz{(L4790~_{7*<=nP4n%U>oDaXa5bXL7E_q z4^G3!{|gFO3@ijblrtKXgCr_JO(hG?fPj((iv<>#f`lwNWj}!W7@#zA-~mGdXq+9^ zzK13uFlFY*u<+Y|9`43ppjwJY$neYm#4rCHzx)qc&v1+pq(oXtL7{}ZsiC2ShjT5< zbO}~93EfHH7EcFrK!-pBq$S6EK!ITgTjNWRDQQNh7C!yo_#DIrwb?*TDCV^+0W$>} zIzevhgerajQsDL+oR0rD|NqbMkRgHPAwvSkLvXu};RdM9`JaK|&I5*o2M-t$o;+Yk zc=3QC;mrevgbxoG623fONZ@(MkRb4oAwlCILxRpjhJ*_b7!qV2G9+Aiz>uKukRd_k zAw$B62Mh^k9xx<`JY-0a0OglNhDyf5NB<`=nt)u*-uUqUgas}Ms{|Xm1sb}*E@Y1s z%v2PMjN@TFcwST$MwHZcZ<2d#pim>3QyFudSlkZ@qQ zzVO2blMB}jK69+-T%D*)p5 zEo|roTg}zRg{qnxB#lcow{&PgLy5G~^c_rYH~#amHg5U9aN~bnR-X2nZweb7w{K@^ z%V1crd%+Iw1>6jZtN%Y@VK}f=@Dnr0**BONq#YPeENplu_~D(xfnx?B?!JW=&IlaX z4RXp(Cbx8kjSK#_F@VTVEDQlm4S>Za52!50+Vo=i?$AVoL$9bCY2E(@O{sMW5+f9+70q!9l zd`fvhBa20J-7?FDP-BExg3SP*4gkj(ZnAcrMWJPNA^@ zkf}!)0Jl(#y4cGSe|f zhQROt9e@1)`1Ak6@Bc4;{eNh||C-+olN{9~O?y_VX~v{kGPNl%v}rM1=mNQ725S)$ z1IQsc3lp*pCZvH&`SyhkZJ>1D$=asH0C(^VUVKV`+qMu|Ve?C`S^%nL%y%#yI|K?YP{RP!KWY5;U&#a3 zcm}nDkoh1*u=WS2oeJWcC4$;P3JN7+pE(+T{#Q_%a6o}!1&8(|rS%LGCX^^>2`FfS z0!WiX@zZ}EZt%E@m676y{{{x2cAF(==wt?m(jo?!GEn1!Luu`Q1x--vO_O80uYktc)n%;PgYtYvJx z32KUf+A1J7BD)#nr{AFdb_WNKG^mdc>TH0zND325#9whNP+&Q;2&8Y*g8#bQ#~2uR zq;`9#oi~;FvIT!h$mb6DE|v2D~P|`hV~hsEnGyxohWwl>!?klq`U>pm@Lm zF=-J4QoC^l$E3CYC(Hu*Y$kXp4&*!rjth*S;e0SV;~_%=$h`~;EPW2C)wI#xEcXJ2(ib5HhK7KYu*sth16doUT^|8HOd zaxr`i3p9ppmdMcf_kX2e1qYAxBy}yGTIdMPTizl@lLwp(6Tg82nRC+u#wHCl$aqZC zg82=r1b8^wr!%?5FzE1JxTSED@!*^PHw1ZR&*k8$Yv0Y(7R+#9#ex-F3%D3~q!u|b zd|Ht7$(do13xf>TB3Fh$wH78$EWt}KguSymjJZSr_@Tf=pnYlsz%a>)4Xl7|k_#J;)FM~5MZRo54$4$5a${TM z&*mlp_5(ZE5A2g%*m<-Txw0?vWnaPg4g&}lmvm3y9JZ9XMnMQ0VF+xa;gQl z!-Nt`4)2cTGw%Ih^boXAJox7S!Z-hUxOslc*vS;_>S^L&Xy2)O;f5dsufvB66WjL* zU$`L{%gey(U=T2of!D#|!o+qX)(aO(+87uDE|l!*y5zwiy*q985wt!#Y(mAtmN|ie zp@9eF-v9qU{Qv)-A2b96>d83#|NsBK*+YgvaQ`NQRY9S|Ax*%*pd>7eU6p}>XGzgP zfs60|FFNS7>7d1-gL;n+N_{%0QpxBksLH@_@#X(b2Q3yIbOQ0=lBx_08}I+`Wpg?x z)iq@iCqvh4P?^$^HsdYNDNslF&i}@{pzKt^R#5Pz0n%4vYrOhDgSEj;!IQP|+JDFE zAo&PTuhGF(fI&&nK?zd)9Z+EK;848q-@w2`K}FzzF{1*c!2}wBw%|}a{a-;DuF!%* z@dO(G=zj%eP$tymko{oL0PauyPAh&CBG`@k-;6Z#%jz(|+ zrwMZD3Qolr{~KTaSI`1G7SvCLm1&AkK)N8^W2UAh3@|%X!3zZy@BMF5VrbHE1P>YU z@InS~c_Cv!d%%KC8ctxEM;a#0&9i6Gf^@K8lZF9k6z=T*MM?~pBp41!Fm94ynk2#8 zq-DM-kV#;n!lgilLxGHw0wIIpO&X?9ZN{LX9VR6uL(o8u7LPYtIs?tkBKM=s9x^B$ z6wqY6_~Sp%B2B?XsEJ3Ffx+?9f5XrJd6ZO3aWNFmO1NPTEn9t4&5ptAn||No!^DFl$xIA~M?T=s+1 znk6y>e*T~M`M=`l|2!g2uAs6xf(?|YKtu&7b5^i5zWpB%Uf~8D?a$&5GtUc3XWHhs0Q1_yZ<-d{XYSrP=n3D zpkxD-&%^qmSTHD&p`f6I=TOi>27|?*dIU7>!8U0u<3L;bbwsZ$<}xrpt@!HyF?NP_ zX>sn|8+I>HeD;6ChA&#$r*|tTeA%#}gpH9w@$vr{ZyqT~O0@x%e;`{CIN<>}|04t- zZ--4xI{6EXw!LgU6NkbAmCc2iX@da1{JoeN0=zk43oH$@*5h&0&c!Z!~j%d+< z$CDfX{h#>fe+Nf{i*l2Oox>J|MGF|6B0-Z)3JXdMHk2@|Qie1$AYldZ4yc_28mleY z#KFk0NSTL6m4Tu0*MB9CK!hq#o`KW{|DS`}M<6}F{!jezpNFf7gJF>;!;gB-CVoO|hJnljvAZd}2Eq#No@ zke{G!Z$|LhYE}x6Q&V#kQY(^EQ&Wl+jB<+=6&1M{7&2{DQ*;y<7z`>@D?l`8DK12W z0lZ-Wv{qUHY>1+QY6=&_OKt`RSsn%kWgZ5GD9~9fJPZu8co-P2@Gvm&@iH)Y@iH)g z`W??j7#O%j85q<>85lf785lA}85p`m85mZJGBBJIWng#@UL4H82!`Do&x`FrqbKWO6M zGg}xj&nsKN!~kBIk8b`NCI*ILEan?9GcbVHg`kq-APhRn z2JA0{J0%1e7^L9lBhGoV5MluDNPzeYA?|@gJV%Iu0kl30q8?$sj4%U3FBbP)5oTa$ z$0D90!oaW%?jD3WI${hAeQ@;%@i$@&3}4{l1@Q0@kziop!(t9-`*#`^^;aYr7>co| zPmpF{0Idmw_zMvZU!<|SzeR?DK@V;|Lj4{Y$Xb4Mb3Vv0Fo4#@po@FRGBA{5G3SUZ zYP_u0f$RoiU|?bV$IZaND9*sZuobjAh=GCOJZRNED4#NNu!9bpV`K{fonXhrep8Tv zfr*KgpPzw&IReDy1+^KOSlHiz&e~&P^8`$dP-?g%}u^Fpk`F0G;gzIdTuQe2Gc^EXbWK?5bR# zljcCD>M4Rmm=}SZp!5pk$UTqpp?&>D8#^UfVtM4nSp_C7cT&dk6N&bJa|PS18`28KvJIW`6c=HBDX3=Hvn7larXnES6YGcc6%^$IdDFi!xv zr-{!2WS$DLcMYFDNX;}5doABv zkecZrx2@yL1hHp;!ej$qA;@1dL4Mi72iji2JbOAL1H(2xkPDgTh_iqWqI(W<=iD`n zpo8cxfWm4Xh`pDu4dk!+AoKSz@Pmv11*ZTnBj~J6evp$vK?>#zGl2P^pak<7A$(A9 zg89r0{2*gMK?LS=L--&^fca2)P*8#Sj12sX7#SEq!3E~CGVp^A0|5mYm@f{|4+<(U zpA#Yv3N9EQubnmr&j8GPy>HG4tg zS&(oCc?BGfd=Ng!J77K&B%VNC0`plRe2_E2e0B(bJ*fBqr7K zz9ta63d9!SE9YcjV5#Qj2A#0k%L6)L)0-P~!e%1*xfP z#Gb)-4RpfbJTYF-37epOU@Y@N>;-)DKuzTZ_Pn4IHcLTj7H0B-PS|V&nZF3+&NY0; zK;gW&nHO}z=0(uqgiAo|EquE{alLdNFQ{M(1&J@)!3!$b{(;iQa!?vLz-J1ox>kVL zNBB}eeq4Ey7j(jA0Lc7RAitmCs{y%xH7GPL@XY|(wFV@9g%5n>?OITlyuoJxQooLo z4|Kw&2FT3yATuBEfljYw*#Kfc;fn*gVWSWq=!DG;Ab)KFiNE1X1nJ!j+I8`P&mW|B z3uxEH7rsQ0JGZ9uflk;2pUt?fiI0Kdk5D1VU)w=?85o7^K#6q+h{M7t1lsY%vJ=GN zU=*qVMg5-Xe4rCHg_uEcws#F5=!8w7Dv+LiXZS!TYzm2iOxypM4|Kw&5a^skmIEN~ z$uJ6uf#T{Qh@-$LWCt?f5Qw9~D0BlPbNDYG=!8unK2VZ50`j^JqtG>wrAKA?K__eq zxq~>zK*t-KFbd58#rE+Se$WYsRyG_2`I?UoZ|pN zcTf;?!lqCL$msi*1VJZk3e|(0^8jS&97Z7(kkJpn34%`86e_J>t5CP`?0Tpg+ET9$y z8w;qMXJY|Xzicdm+zbqypfZvRB#Iyy*jNHVQlKJ}3v2|K09nAm#*zb)0_9pRsKM>r z3=E>6OadxOxj+mA!NA5c1Ed~QnsR|QL_i487FGr}mhB)ZP~pl2YNUb*1~!&UAW=|p z3bud?)Kr1E0%RY8%fQC+0;CdD7=pFpBpBFOgm@SjI6=iJ7pNryR>{D|V#CA0APTY? zRJd}1np==S0I?X@Sb{*(AU3Fsg~)&ck%5h+kcWXm4CF9S2?~m&Zjkw)A{6XC1~!&C zAOTQ03U)dJ8_QadVW4fTph6Vv00hCn#mB?J6#v210%XyFhs3-;t zfC&aRmIokFP|3t~2Gm+$WBCRW0F}U8><|G^Cx{bN^ny)>cmxzTFnQ1(IZ;pw2NlVX zSOx_&ET$~@7#KJ~B{U?tfg02dY%Jj*QBYY8F%RTKn1)mcCvzjR`Z(aS>)< zP}~7>c`7KaI)M%?31MVlFw|jSFcD^8P-Bc@G-OZ*9fb-K0&$HP7*q~|Hcx+m4Iwkm zu@Plp(AdJrz)%U+6U)T$S&cD<(NK*sn$bXwF^Y*JnLz_I+O-HQAJ1r^#u&$Fq{bM_ zXbMtj08(fSR+zz{agULK;WSjCAxNPaNTC^~!Y_;r3}2uMjX?@cKnlSont)6+1e=(| zpux$+z#uCE@=iR+QE?z57DU7_8lxx#U2NfotPt!*Baqdo3Qd?881kVC4M0|d-DnO{ zXn|s)Cldq145&ghH(H@61RV--5ULRDYjcoiz$T)42Gj(81yu;P8tiMZLQ51AJDC_5 zghe5~HV3)U0A!*u$c-opH9`F=rXmJ4#&|}5xH=P%I&j3mf{{V%1St71Gs5Nw80ToO z0*wIjGQwsD80Q#@F)(PHU}9kCh1v}Ei!t10RKI|3I@yM-5FCt%sD@ds@rj9n;XYI$ z*wdyU6Twl9;zkV)W(EchF^H$ZR^w2pDGM64gm@ZkAP$=uwC936t;7hM=wO_~A{ zlgYrS$_Of8k{K8nbp1hUAbilEgQ_EF_Ctq(p#toZC`K0s4bVvP956SI5fQcK$T6mx z0vd1BVPMz{Ru{zzntNbi&})G>^*&fM9+Yq5K-nr5#EM}=2~o|N5VfGV1bZJx$TMhz z4wq+SV}i}oFwRkwU|`S(o%zkk1}@z|J8X5eKxGLB6R4zq2J&bOsAPli6&V>AbZ3F& zIhjBK0Xm^Y?e@04FhF@P%s;G@UuZED3HRyd=@<$(5TtO5Vlzo;2;6p z9?J+$;-DghsTfqqGI69cXoRpbFdV>C1qu=*RVAzp49_uCffYo9$taLvniD|x@_>?e z9FmPpWejSJNU9jLH-om}&SiqlzA?_}kYZra-vcV&=Yl=(8B`m1aWXJ4LimiqhG!76 zj3I^>k$9no*N}K&`k-4cp!(#Q7#K8mu`)2Mk_3fAJlki+Addf1@R%?J6*u6b(*#^< zr!i<;U}a#q4pGetuE;=&!38on+E5ig19g3+z(%u{fNDLEVsOa_E+kMD|6yfdFoY^D zg((IX0N}KWs#u7Pfguj6xD2KkT$F;{3@%DxZr0QQ%?Fi(ic)Za3a#Y8?nP0^VDt}E z>n>-4&2KW!k&$6w(1>7TU^oG>3>=xrWrYza3&CvC$Yo<-_y|!6Dh!}`4O~@$^BP=X z3mXH2v@|$mphhBmimGw}8v}zYib_O5g=+a$HU@@#h)PgWjsqJEEss#l)H?+VkYa|} zP{rUX5QqJG4Vo+ycXJ7zjVtAnl zjy(fViUTVI6%vew3=GCDpu>Rpm|=6vjB|8k85s1zEjvDDP;=0MiGjfo-0I_F2DSPa zgY|2<7#JA&m_c31M35|Kl{u8p7^-2$&cM(o0}A|Da6XJ-D`s#|aZm#}t%!j^4?L|` z#IO*oB#Nnofx*NBG}BkaU=jeKRY9YcpepAGL=B?>gI)$ms)XS+SOgmL;FJpvdswBZ zR|QeVAq%oU22@)_gBm?iOdLrJniD{hpz;8!ADl+bKuHXypTX!gC_L1dVRPz?b56)X zsy+>7P>ByZqsp`%R4_vLOcO&OORER+Mk3oEJuxc`cMl^Vs z85m66K?Z3tgXT4uCOR8{x)F?8%%Cx2}rV(0hClxt10jV+6_4d2JplQ6N7dR=Oq6fl17uUhGyDSO`G)p!o)Ua0o#7-$C*_LCF-tmtbXJ&~F4KJqRCk zL4$rYsCfY4hk>dQMNp_f_)HTS^xZ*S%1PktQ3{&H%Vc1j0_IHt9eAkC01E#*%&=7? zjB^fx+z3vIcff8eV`E@21RHV(tc@`k)YQBOW={tl7Nb2CRK@;ghAlW@obyb9fx(a; zi`(p!SX`v3=F!zK_@Cf__pi}45pxa-WWMpK$Edd69Yi5 z=KyPt2Hjk@1>|^6ux8yYAnUona-d{sULgco0%S1-WTPSrsI9eCk%2*kL7hXGfgwT% zlt!YMCI&DtFj#_)^s+Kc7#OTf!Tn8WnTc8EG8pxMa-1p)Y`qTS zoO?f0Mh&nf@gV+bP*`Y!V+PdzR8 z!oUEEptBGmP+g(!DZ;=2idlFbcn?aQ#VoK@L5y>*DKjt_f=hv77Em5w3^D`-HY1c5 zYzR*OP+o}PPEay}@2546g}5S;QMe5Q%eL|Y8@BGW_`P`p=yIR`=h za{-mLjVz#A19X>@F6hD)#tyK&C?^AhMvDjo!+vFuU!gs890jixq%R!_f7ee@VK>Q=1@f8UF z7l;q8z#x2IE(Qiue^AL#%nGuJX<~rc4lxD>P>I994;u3>RzVcaH$X|EpB1+BigC^Z zRR#wAZqR)Z{j8vIt5Plo2K@)1tO4Oqq$E3XW+AmwDp8dQ)&owiv9MdE%COQ*dlAf$~??n}XvP z#$Qlx#s=#5$}%vhs)#c%fKqj*DmcPGn$;NNm?y5PS7VHYbXwIIV?cI*dK(ixK&f+L zkQ!4V3#bjmRLH)ROTEK_4(ut`bIXJBMy2C+eLH&KFt0W=n7HbsJg0n`Q3*eb!m5TFM3A1JLs zGd#G>Xbq~kVGU7@OA-tWl~9G?7AvB0304Sc2Bb4+FiJ8obb=Lv%PGoq+)o-w(hs29IwT7aHFX zE+{S_@%<328Wd%a_bY1+-vFHC7T5>GkR$r^bU!AU4vA7}S^w z8JH(7sAo`}A_=MSCxeZNVk%}}P+tHQQ)7fx?hM+3paSDHD{Pq|9 zcS4o5Ld7^V7}WPkLCSJa&Hz~=3mT4wEuCbX6RXLg@-{XwmtVkX#PPsTarS_};O;NkOP@bGyR4+De#6mTU2=FjF~V6Xv&cqtPo#2G_$ z!EN~p@R<4@9tH+eaLri>9#>}!v3LopC!4^-Fc&mIO#=(ij1OZASmY5z1T@sc*ajB) z0uiwS6|L=H5jHK5E;A_^28Jvh1_o6f83qPW;A?7uJQf2gpctc=iWnGFEoB%OYIGPF zY{4?%l&aw+!@v*;=Es1$ywOPNgJc*O`g9l=a>4RoGt44n7#J3Sj;z*x0_v6YGr^X- zGR}Fe#lT<)4w-&%NH7K&g2M&M3x;$v`@sRh7@`5{A)W!747C$9F26yBfdQ0O)ZkZu zsUckfrY#Ptz@{<5meMlL(bR_7ISp#3`UR-}K|KsmuLFL8m{ToiXh@R{w&0d=j#CP# zC^cb&EwyEwqx}PvZ`|2ni)}Q34DMtZcQ~paq+t5g=#K z(l|zT&?+zINuWH%0a|$H@(z@CI6)(gkSYY+!`Y<`EdzxaTx>!0E!Qe-1_p=%7tnfT zMsCn5K&SvONCgkbUZ{X1sO`s#B(M}@A0Lvy0#Lm0BMAtAiUk3LfGcPiojD!U(|}B+ zx&7v3U|?5@A42tDtlw!hoDsK`BLq!2&6*g3^fygF8}M z6`{@rXRsU0*hRrNm~p6qFD~N*-9N@C%)r0}xyXzg`5rVL*!5?S>&@WzqoH4K#t6N* zOhA#rQ&^vyfk6=UIy52F`_F_S_n(34Vg^x={g7+V#9;TIi6br*QnzlVfEt6lM}--gsE44E1_-q> z+zbqcNU{Vf8pL9GWyh9D3H-d2Nh;~r?D7qn}Vks$~~ zfy!1E6a~i23=Ec_DH{fZ`5+oJNyWy%ky6AUGatmx2HnZXz>x~#gV=dceg&fp{8~Sd zx;W54AwyIKGXn!i2_r)kXov=cLGw#8ph}w|2t?flE#E|O0%&MS0<0h&bhf%2Xa@pA zJwpY9()=D41_sa|0TYA4d=L%N%*0?1x0#29fdQg5B!Y#30W>$o#!$~t!k{#N2~;a1 zL&zBx1_qE$M)0|xAU839W~so3w=+bUvoJ6?f~}7NSqD)FcRgql$P(0eUXK5EGsc5(AmR4;KH-7zC35yNZE< z0W=S@9c)Grh}sEe#)Bv=(27PBt3hfPfE9#;D42q9c<_LRvB3=th9D5N7_?Fl#RQOo z7|{3zLkNh1DF}g^02<{K0F6L07|aLJpv9n!48b5u7PPT}p}2lNh@lQ@&@lwVe6gH^ zfnh&X8;Ay7BhJVW@_~baK?C5DubX3J{U}pOb+BG(ZY+Er?Fw z0v(KDI3GkefY}Cc!$700pxdHBYL&Sd7(gSe%nU{K^Fa)d21bS;5Cs}p1&f0iAVU}# zK-Z0cy{!)#`2d@XY=8(;;&APS}c5he%)A;=04 zsS>0Bv~HG>ArwS`OkiS|2v1WWX^_>73}GM&DjflKJp%&+Ncsn8;F=*EL_wuNV~SuE zAZZcMHYtXQEFc;r&&UAUCIprS34u%n1tEyu3-(DUh}sX@qQOwgI3L6~1>rEv2Qfh2 z0BHcxyLmx3QH6r2y`X&@APpeKDF}yQK8W#<7ZiyG^Fg#VsEN%G)4<2T06ssTAqI35 z{!NG|=rnt6(3T#C3dZ>$2512uGeZT#d=SHrA7TuM{sd~fGX#OCFQEMz3`LCdK@89$ zY-WZc26zO5hNf*m?P!J|5M=~fmyMFBr3D!nKr$d7foM?giIE`+M5%&y!7x-Y&Id6J zARL6rpmF9pP$!ll2t;v#F6Bir8KhtlSV1s|f+;{G4bTWNNGm%-5reUuGShqz2Q)U! z0Wt?H0*)mH28IPf3=B)bW(BPfVqmxoX2MITCqfJiA3^)<7!bJwq~w|qsQf5q;P@d0 z4-nAsvYjv})`CD3XqbqRAreG^T9}LsK_Ds)tRNCZt;FybXv{batN>oI1PC)QfE2Sb zR5BRL%?B|-`q&`;fZJUz3|Ujf#!$^r$)JQHUJo`gvPqbMp&!BoQPYJ%aSl3(9ug89 zA`A=~A`A>13?&R6svPwQe_a=5V6YMasWzAoqMbqA4TdNX1zG~d$Pf)Nfq~(LFayIo z(Cx?!6%4+rh6p1-!_0YLZQ&qFN(^KgA}7uhVPMz+wE;wf_DnM}M1UyJ)@e`z0@1u; zpumj~5@TSHfG}Yeg9dv+h9I>kKwOYnNJ5}NUu&?&AP}`n479@&xyaEMV_rSnO)JxuEm{n7z4v1Gzkxo1jsCqLC8A55@7Qf7#Qls7#KhVLrS%^3TLnTy8`5?Mo65=#T1_sbbBDj`)QlRF84XE`CV%`RGZ9!ZR^B$Co z)E35O0I10V()|={GrR-!#V$`Gy?-j4N_GM8q@0p zn*gu-5JK>x4kQG!fRO=g4@d)QAD~5=fdM3nWHM;{PC*9jHV{=UgC3F~1^QqG!5|8z z01=WRG7JooGN8}{uVDi*L1_%B4Gv0ikV^zWbIFi6gzdiu@fHYx;sLxqiRjzF_0X;f z*H0}ehTQ+1oRL`oy6ieJFOjV4!l5^WqTCLiT2dTeTnW8#9Ks!2%C|UgMpEm2~5_3 zWtlix!8eU_FfcMOv4G^@d}cj24%P?~w8EMU{PI6>E|Gk}`D%rMVL!p%X}CBUfx_BP0gEJ$90sbPWy7#lMKNRo}2iBlMC z4#-uv7{Qu_Kr+nCP>0GfFfwO>{VfI-hxn2i>{l*MX|QI{^^u@h0EZqpKI%a_z${3p zGjW2P%LX+QqMnHvrk;rzrXC~)iX|qn$_!2^21e#uur0hG6Pe4v@lXR6;RlOA;z0u% zlb}Fn=41iug0Mm9qLvdBlgwcCwP0T`gVP9%4YIKoEW!*nzZRU*n87MxY>*mQ&`W@Q zt-!#@e1w5h1svWW%OGB@2gevpDM%cWY?#2tF>(rm9mfvN03caLaNO2_9S4gskeX_+ z2rH7VDsWt}fl~nsCqLK`AQPCtkpasXAQ4z>gHjnICn%di+=eX9gOt{o!R&Jk;BbXF z9TKh(HaMP`>%gfT<_%D|GID})4n!70Lh>af?eKDjGB7d=f;~_PCfUJcCD>yyHYgz2 z!7)||CSl^B1PozA+yE&dV77zG0~StQaH#;w&y1Wx;5-b8B@oF9j&lyMcm>!-Mov&p zt_KG<2iPUxRL5KemW2d#9oP+QU=f&Ipa89gst2*_z`+giDa6-x;Pk=*)>{QmM-USj z!Kn$^?~t+yQeKpU!!sAGUJ0BmSdhXW5^WHZVJ-pr6qX)AE@1@w5t5`}@dXMQMsRL} zxdf!L3hZWB($NN&wIFeJa6YT%6kuRvW&^tf78;=wA2X+r6d?4Wl@e#z$^xjw+yIFS2pbaGjL`BD z-F!w)kT0shzK{hMH;~-N0*!Z2nqdLg)!_PrnGKw-knMt~huH$kiLjUgl@*w21Co{? zDUB5r%b;3=4N^TpnBYQ@fr*8QnVAz*8!>{5J_T^G21%9W;8YB$w_t7oRhUfR^uhrS z^?GnBhPV!rZy;qr1vp(p>H|m(!32#TP>4d@#Q|~`^VWKBfdeThAcYAy`$Jp_4i7eF zW^jQ6aRemTVIG7S2g;tXj00jrq6`u>kfaL{f#?OB12dnMfsu_FQjRl&3mi*uaRCbg zP}FdOy;=@-14JAgc+BkJ=!R6b1%qFhzO*zgaj8jR3Mc*GfW&59T5LPWMSeEGeIFinK;CJh&iBy2Jtr}q9G~ot5Bp0%L>hg0LakfEVmeCQzmV`H7j0QyJ=yda!#TDP0X8#o_A zybmEE^#!bH4bsI9F4ZBXLA(hw0Ti_`HpqoAHYlI(KEZ~d?$vH5+ zpsgc%1?!T_?1jhPkfX%;Za46eH%fyV|8hAJ=#Dd8ajzz)t# z5H%1HF0dMiS7B{QkOg25LyIz4Jq8M9uuGUBD%rrj6iBqgq5`BBRx^Xxkg^0~Bcy1D z_>={jS|MscBt#9Q-7$fk6V%Co1QyI_P)2~UAss13NUZ=07)U7sW`Wg!S>QN@vOsBv z6&yqm2Scm_tA%!)VL2L-EkNp7K-DXfen?7Thc;lC89;mnM#kdQlK6t8(&G5s)ZBQ6 z;>@bllFEWqhJuXBc+>$0kiw#h2WZgxn#U+VFCGp9LIZ#KZq$ZW7=jNxR#xsB&nrW0ApO}(T!~i~x6Y6TP zV?bd9mH{a#FUl-Q4N6UqXUNIVFNiNFPcA9Si7zNmNiB&7pTrrTn4Dai%aER05)V>e zl$w|lpPN{m&5&6bpITfJ4|6a>QAK89JV;q?W--Kj=JCZjsi_6=1&Kw8xy4{V6qm^@u_)WQ;X8#(-SlE;tNxfKv9=hV!@CEu?y@rka|R5$LHsyFcg>M7l0zDBtI`T zo&n(^aNrkJK#a>xtbm6x+{(nfM3CVn6)DN_C7^JID=DgoFUm|S1}BT0{JeC9%)Al? zurrGiOH$*L5|gv@)6y8qQc{eK(79Ajkuy$dbe& zP@op%m!}rRXXa&=K*F&!37pL0lhe{6&V(p{xib?Kj9_nqQb?J(K|EL+NPj#yh9S{` z;FrMS0-Sh2X|^~sJufvyAvq(l2&@+t(aFh)kmv;s;}una-2^cmnm{26pee2>Ej}?X z5fUYkBvw)pk0c1magfYY0!mM?bOkkxp`;?dpu7kc0r4o#1Ua7}$kof$IV9fGFNC2q z582U4CGjOiiOJcZqyi2dNYrN*f@tJq0!towsX5R{0R;j>QAK=eMG1%kCE)n{f)Y?# zj4w-11ci7JI9kC;6cMkmObs(JJ~y*CnISnNH8~qhRQjwGdE>OS`lv`YaszqHKukz(r{6jkIVg7YY-hykkshZV@zFss1zc~M1tN^(A=t}LnmS4Z&NoRbI2&5$y; z1Xh@V{Q`*-uwOy7WqeTu*a}cJ2`Xj5i8r1Bocka)f=cV8r1+%b;&^bdfL#Sj{h&ku z3Sna-25`bm&Mg3yET}wVNVJ0E78Iqq#Ud|Zbl4#{@}79H#M<1 z9$d+SGBwCzP!RyCjUd$^LqUFdd}(n}JW7d?RKfsm9~7fjQJDpxQZF7 zN~r*HB-j(F6(#XGsb#4-prQdJ3UWF){f9#9E1&$lbkDpJG#d>e?Fvx4iUHJS14XqV zoMprSYM6i`2AWX886Om2kQPyKVo`iberZWO14^7Hrli308AEPHl~HDDYHBP%9B!!XRf+ zcfU{tX9W{I3q4Z>-CR%(N>0qlDOS+UElI5?(Jf9*F3HT#)6K~&Ni9kQiKi>*`Wq?e zrsd`9X6AvimTp>U9#~N^Bo07n0#fRMnwa1$04WYZ$)>0R>>q|;7oT|l8W|3&;lz0*UOOB5vVEzH{u|*LuwvUhDS-7ka8Q6IN{N40Iq~VO)iiVK#>Bg3}JZ^ zocN$M5=abWUrr9R36z@00O>H4fa*w4vl$fEpo9p{j7gw&Jglz)c6f4b0RyCa6Yl8k z8X5pD5I}`lQE^E;*eFo+A<8;XR|O`LR32|)08SsE{ji7oF+$;xG1CTlbloL_>l$I6` zZJ&X3fHNLgOFTGkz$p%rIUp8+odIop6oJZbhWsLMfWX2XWL0TFJcE8ler~FMa$1^x zNl|L5KFF!&dWQPo!Ux1i%1M`k#-LUu*b59rX^@6hNd-8ogGz+NB5=2ZAsy80bt}z-^p_w$ga;)9 zyscT19}j7Of?7Oa`=O;WxME4pPfdfAhagWv8)3-BGPrRD$@kzO1E)5yU|McGqGZ8V zEJ9KjIHQ4+Go-KqI|1xYaDo7(U`Y81uEle5;wwN!9HgC>R03}0L;8~-o8g5HIMEs# z#g{v_N3*B`6wu(>80=7RK!8RaK*J@_WDIUwLx)X3t$s*~ z%`A#f&8q;XR8Tqx=?1kNzy>ftdq|*xjQC;{UI{}8NeGE7{E7}NiZ-lfKK}~04;t89e>Nfz_0>z#xDZ{1L$ZE z(2Xc_m>C#A^aB>qGDZdl&`AoQHA6aV5IzSxgkAzVV1R*v0kqW{WG-m2H0UZm&93K2xN8fPz99pVH;{$U2V_CZsz7U6HLULe+uTpiO}w@u{GzD;O9U zKy1*q5}5fjpm7K?A9g+<$V||YaWFL?Hs~-6koZy%0Wx0$5$_RHRSXPZ zzk`l=Qpm+tj3ACdG zrUsTbKx#l6L_k;SfYg9?hrrap@(oB0==dqnQbCZKcF>VZP`7omF)%nn{Q^3|36`$d z*g>X1;sTcMK<0q9l7LR-0ht5ZM*>m>iZ5861gQZXBLrG!4^ji#O#<2%3-Y54c!LEb zErRxWfZ`3L2DIO!3hD;XHWILz&>bA0>ybcuPb29C?co494s@RkXPA3<9zK;SB<3 z(2@Nh`$1u3!Og&+4Go`U@IC~H`6=9xD|JBXLC0)^&1Ya>0I}VmZU${d5QORlU3Udj z17d^9HjurbE3jbVAT}r;fy6=AV!^~gY*@YnU6lnB2eD!56F`v#4IdEO3hD;Xm0B?M zAT~@Kbj=n_9K?o+gRb6!iG$cMaSvY5N>Pa4L05CZ#9Melsv+VaHfVV@C`>@RDtw@R z2VF}5QUwZ65F3_GK-(=~;vhC?&ksm1Xzv9~9K^1G`USMbLKj);{{nB{fSB`#pMk+0s@@sAl>;K~A^@qYK<4LwDoJQK zgV?aNF&#<$3;{%%IgBKJM1X<87HU3dO9&{QL1u!szkqxL%F8U!`V*8sB?K85VD%1Y z69_1efYb+o5*5@9AU3E@0f|>2iG$cMw=D+mG=cbKi6Fvl=aIxOAc_A*G6%#qg@!+9 zvkA=2pe-vfH^b_BkegvACV|vBgDOXmJ2e;>VC?{q8rXqJAT_~AYCvrSkRL&6GQeA6 z7{Hgffwru)Lfrt`Py);QpiL_nFHEb0xJJO>YTvaHXz{u+FAli zk08B1!XTXxaS$7phC!P}Kr*0s0ku~^aRD;(0(kQY#BHD>h)SVu1056uN**9HBf(oT zAa!>%$Wzd8fVFo(=74r~fL4`*+y>fi0lFp%q!+Yz18gq? zYA@(|JeW9$4XQUm>OoiL!Nfsqm^q+p^kCv3HcT9JwH{0y#DMlfZDxckaz}(gLasJn#v$HXhREF zjRpe)tPKjX3$zmhR4#$s1lni;x=s$H9@IXCsRyw^=`IH~|fZIZ_M^ zuyD92g=kxXHbj8k$-uw>VuSAD1-Tz|1SQB$5F4~d1FS}afdSOM1|?UJT`}N|5s-8a z+DQS+M{Uxe9VQSzfHpON;tpii6ln$qP|*Q06SS!UY$gK(1BeYPw-10ApfF)zU;wc} z)fPxSs67u>uL0SD0cy*E-0(yi(H;P8hyY#B2eJ#a8v>>t)&~Hohn@WaQnLxP{Q+c` z1_J}Ee*jVgJF5ev2Gn1GnFC_O>;;|3VFwLcJy}TI2XZHz5T#3Tm2;*uf=odIJ(2S^$8ic)hD^+02%40_=Ht6oxZF@s)FK8OR-XQ*ca zRRj@(a=0&ShX`kYoU*OHe3)I>JH>Obq%AkWMe?u2T@-g@J(q)OiKnaSGzY z_xUnFGG{8nIPf4sJ_7>-tYZpN59(mRI;0?e7id5NdeP=}j|0d!X>ObIBoo-!~nz&dLn{og>HbLd^CAU-Ejf&i(PWn^Fgb;>~IfaDDr z85m%lD-hoSsvblMGO#cNGcquMI#!@NPeJl2j0_C0&J2hTx;+WhSpnT~3gWjgLbgDI z?luMSK^=Js=$)n@{wk2cpbifMsK8`p*vH7g0Bbmb1<7lHE~-N^&k=N!CK5k{iGcyskO390AoZzC z3=E*g3F!U@5Wf^USOlsp1sOj5Z-(+g6$OYtm5G4?R4Ie*LItT`#l*k>syIP+pn~`Z zm>3vf6(fibI=UWI@uh(WP?#9*f$RsJ&<2g)uS^UKpb7_c$0HI=AfBky<`UG;P4P<4;3?G@W?M{NEI|e z16gf_b?y@+2p(dE45xy|F~Rep@D)gi(QC-60`LM0kS+)pJP?X8B?FSjvR(nSvEIxNEtg16EC2@| zcx)Ctf(jqyhA9D=1saKlhazaICJC~x3=*oTxiERiOdpa0(D*OdSWtxrwh1&Ki#(YI zaxStMToGc<2{a=GQ-%-)*$J5d1TAa=i8G*06oDq$U~`_Jl@eg1ArTCA6KG%>W;SSG zJGBHda-W)qFdJ+}VgX11H1rP&1h7}Y0S4lMC#Eq6{vjcOum-FN6dGVl!Mb6KP+)T= z*cUgU>H#?uJpK+71`Vu3k|4-Thz~)lE1|Oqpd^7j)d@)t&@p)EvM1!E1(8RZu!gO> z$}E5_K?Lant!+X#8aBs=Ar4w92#P+;m7O3_wD;>ahz&L80*DP&9|2-Rn<^n7HdJo_hz(VL1hkRc2;@oz z22dx15$a9@kT_JY4iZ}f#Dd-KnLG%hpFfcHJMg>6w{2(?|%?Z%vd#IWNAU4!q zPzQ?zm@Cu`FF-q6pkeX^i47XO zWQ2-u0G;y#wQCKC4NV(7AT~6tbx5y}RszXfH3)VznXLFol_5jV(8PI4$| z0uuWbl)ZpWZ#b3mt8^F!GWI2jm(plndtAOU5A&VLGqvO(ns=%^=OqqaAn_Gk3=FYQagh3CD0>YT149oIdpeX2(mNN*-oVAca14ok5y}Rs0bRfe zGJgxG)4>aICy31rWrNfRLfJdG7#OUO*q}=>L3%-IK$nAq*n7Ab7|Nh(K9ww z?=wiv0WJoH4N!3q`wWzQ1Qdo)_6aTq2GFU-AoX{+7#Orbm-{j?Fn}g1K$9CF@iSbY zYw00w2C<`|YA$dwFccxNYoTn=2~(g65Rl$0Tnr2=q2eI+MkxCR7X!m-B=%(}8>H8U zA7a-NE(QjBDEk5ELI)`O1s4ND8kDUiz`y{SFag;GQquz!2eGF>*&sEb$rF$okeU0S z;vn`hC>x{(G?4;Q12X?TR2;<-gM38~O5GpPp$iQF%WpfBJF!(~* zph=EWC>wOd)&eB<86@@(B(}8>#4n)sf;W^6YDa*M&jQ&SBgDWk4Jw`>#J~VLYzrg~ zI#C*QG8TvpYLC2vssXh}*`RhA=u!cY8W4LeR2c-=q!GadJr3Q@)C#*YQuug#Rsv^h%qq4K-FImV_?XKvO(s6 z4qF1Lxgy5EPy-deA;!Qk3(CGD#=x){%6=fmz;GDKej>)ea2d*eA;!QUE&*{5XtF^H z%6=lwz@P<{7$3?5MS7jXuL04V#1I0Hj0l+7T) zz>olCvq&&7ltI}X5)2HWgZn{#;gMiqxCIplwf$WrA#MZp2|$NQfz*Kd3JFkgP#GhFjVE7Id z2Tg?hg0ewF5c`2N14BDhJ*Xeq1!aT! zk^7-+&_oF6JaUkFP#^R&R2^$DwS{1PN#|3FJ=D zJdPivL)Cx|?_CLHgZdV0pls0DzE_}ZP=De&lnpY+0opGBEmQ(wkeQ%< z0jR$y0-DujU|pV$ilXXn~OelnrXb`-0e@&LebT5y%|Sf+5hYH6S)< zQ4#2FB@i352uU8=_EzO&U{HdxLH!2M;vhz7Sg}Cc)gUnt8y1E-P;t=0AkaCgATvRW zfj)rx>`=X4P&FVi5F4f!bVMsiJ*a*D1xbAvR6R%x#D=N=fuyD!ss+jzHOl!;Kzc!oY>q(NqM&0;k3-p@ z#YU>oHX*1Tst#p?+LfSt#zA^P=arg5+h(8zIuTGdsI3yl!#RbX+EoyOxvO#S+FDM(ds6`9fz5;@7WbUQRC+(3&?KnqeBL4zBhNnvQ)2_(iO%)r166}NzjgBF*7jxh!41uZDK z3l#?~3IUz-2@(gfKO%|$LSlm!n83;zd1yNdBnD!`${9nDIA|3U=-_4$n~8w|v;f5( zi48hpR0K4c2Rf@2D!xpFfnhO}4O(mgT6h9-&pr_bhTTwcP&*BDQYc6qq(&6lE&{1d zhO$8mFF@yAg4BQ(QglPbK?^VDL)oB(7obBhL25vYGq!@nwLqmU0|RIp5+n|4AA#;x z5&^9)U|?WS1hsiUD;XFV7_2~S(CP@#coc}u#J~Vrgb@Z}gI47-FfjCi+9A-z5}+G~ zL_n)h7#J92LG1@ih+R=2Hq=be;tNJ-InW0ZXJTLgiGkR#JUay{4qA|50UGm!s-FcF z2Z@2$F!i8C8L;>gg0?Y0VjwmwzA8cDP&Y3Gv6&bcK#MjmfXs*1JDZ{6ATbadrgt|; z92(aLL2M?-Vvb`_HfX`eIVc;{-U0DJVGBAD^BR&k=rB!?I7p2#w2c8;2vP`TgBEl2 zLD`^o%|s|0w15M&7z7q>)1l%ZF%TOT4j^?P^Fi$z&;_F+HjwZKE#hDVO`d`3XJ{J( zBnCRbk{c?n2@(gbegVzpg2t#pD`OcL7>q&UObiS!q#sQ4R@8qi(p3=9lDP&FVi z5Stq+{sE-M8RCW@s2Y$Mh|LWZUkehqhp0IVVnf{k@+-(Mpv50K&^8HZF~=$>8??v+ zq>B+cUJ9C@gt0*jGGJ`b0v8w?G&c!jgT`86Y|t<+j16k*z}TR%R~Q>qeZttFu~!%y zH1-N(gNh*-8#ML`V}p_%j17ts7#kGyFg9q8AIA0owS}Pm0{Kyx1F}#a=BldO_|5VVGWYH-prJ+zZOOFgD1YAiW?rf-p=k zvO7TwVL<9Z>l6Z^_JY`;wF)4;pmrk&!}Nj{Lc#o-0#y%Mvyh3z1}!ZC=>^?<3BoYF zparQgy`WQ|LH2^yH-N4`gt0q7=5R1D^e{j$OfP6`9Hw^)NDUJM185=sOeFRK5SxR6 zVF?2S!}P8|3TM#RH^?r~qI}SL2^bqRh7NKwXq+5`VR}L1<1l+cuMJc^X#IyH5*yUN0O|E%WMBYcn7si= zdO>p&Ape5aibO*7g4hWlHV0&m0<@L{rZ)pgZw^Qe69WTiT}dGly8^`KU|^_WgkYH7 z1|+?p^(P>EK?~eFLF$rp0v*c=QDQy3u_rWZ8-0gGQy9subDtyftHQqRP|0AjBI zu{jtRKvyY(Fih_TBzw1j)G$HTvg|}+9{{mA7#NN)LNHA42_(H|Kx&vE>s&4(v2TFb z91IM17$F#@7kp71G>)Et)G$HT#Jogee*m#L7#O}VLNH7(X#EV#zkfh#pzCEoVj#bR z*3NJ+F))DQmxqag0fb?C1wi+GLG1;h5)U324!#0~(lIT#o~>v=#JrZ)n~-WZS? z==vPcUD_ZwgVyR~fW$c%7;-@22vQHt3k4uH)W0PlHK2Ji&~=PR>;@2gL}Cko*r2{N zXbb=}o&eP=0b)b_3tAfmic`>fB}I^WP~HdKdJkfAFff3|96%W6W>EbBv)2Tq29yV7 zAvYF*%mJ-)0U5&(UM`BM#V$Vln zuSQ~TM`9mFVxLE1-$r6TM`C|QV*f{CbA$2=G#tc{*vd$3eIzz$ToD#88lZI`P`$=T zYiJgqZ&PQTbBeC0&*prdi^O4xAk=UR$2{5-EMiM`d#J-KhevZWcjKuzr z#O4Owv<3B}I1*bKiLH;swnk#RBe8>#*c*`8yOG!@kl0s{*x>7Ip>BACB>n@5%>r7t z163n{#Fjx~Yap>fZB|%VfyPu}Y#$^w5lHM5Bz6H3y9SBffyADI#9n~JUW3Hmfy6$7 z#0FhI4|C5QB=HwW>@P@c&~kT}deB-B7+V6gt_d0@DoAVtB(@C_+XIOmg2YZhV&@>S zE0EYNNbCtn>^Vqm(3%pM+dykdU~Eu39>zX{r2YmH`w0^J0}}fW5}O0GDHiHq5hONf z+#6=T4wAS9659od4O-s={VxrAX{eNbLPc>@!I0n@H?uNbJu@Y|yQcF!%FI-WVml(S{gBwv zNbC$GHt1@4m|aas;{8Z$&^jKNnw3c6+mP6Yk=UTMCNTAPk;MOkHhn_R*IlK4L)HVbH7DAaABIRH>Q6Fjy75{H^8 z3t~gOpsn!QANz5{Ihy2C<=P{DmR@1@)(+ki@Hy*o%?apmh~6GruB<%YoLx zLd|qXVizE>XCko=A+cX0u|-4~7+~hxg4j?uyMWkG^FfEIzv7zFiISZKE?2*L1Ky0Xb&^2AK^cjUD9uHze?QKJ1uSH^CL}G*1 zZNS{G1X_0ub%Q2|4K+ts0^)wq7#(O$2+Uq*kQ%6aKx;x^;vpb$s5$W9g~7@8u9J0r0Jk=XG_ z>|7*v1&9rGe=Ud&wRbfV`vwx56?A(TR1Ij&2`p^mk;FSeY^XaYfY?y=Q=}k%0k!q! zBZ;3xVt+zn%Yf!4pnBbq*ab-JIY{giNNmt}1k7!+p#1_+_o#r_P%|}TAnpN;d4lFp zVDW1QQUeVWXAm2zHxP*(17btfB!bvbHTfVm)ck%V_97(qDkL^&11`*+N0G!q>qTJV zoS=OZP&0KwY^YtJwIeV!ptU2QatYLS^8u-Wx-AgIhN@3MVwZy0P&HK`HdIY3hz%77 ztvP{($y6lqSs*r4{YoVEHYD~@B=!Xm8*1iN5F4uZ5fb|Y68j$#n_G^70p8oi6L%zbF%o+c5_>%o`zDADb;AP?8*0uIIY@c{jX%E!i9^-=0g@!vp=$a-Y^XU)Kx}9^zY4^Lif=|@9|5tUYEFUJP&KzfY^eEUb8t0!15{If;0AfSUSqfr9 z#rJ^NQ1L?`HdOp1hz&LKEYwWUzSbKcaj2T-NbGkYHdOs5sCv*o*S{cfsCphnMA!<0 z*iiN2iV!!0_Q5KF#G&eSL2Rhoj6iItxGjhc6?X!$q2j(EHdH(a#DTgd*idmH5F4sq7Q}{%D}mThaRVf_HHZyW z;{akq-IfSqL)B-1*ii8tB}g2B=10mw;!rhBAU4#Tb`TpXJ_*Ezicbfzq2h}`Y^eBh z5F2X#E+qCjB=&s}8>;sihz(W$3hExv-sZ0$ai|(*WkmQ0BC+L>*t$q;Yb3TChz)g{ zH;4^2GYW}a1Y$$gl!Mq%HBBHkRJAU0Hu7>Es3BMo9h#nnJ;sJJ$W4HY*7v7zGDAU0Io z4aA0udxO|e@hA`*>dq1n8!BE6VnfC2RUqyM%}I5E#Gz`Yg4j?qXMxyI@ueU(RD3fM zdk2UORdWQ1eICSys=oqaL+!l*wHLG&=`Khds`m{N`!^DsTNROJq>t%1Z2 zL}FJVvAdAilaSckL2RhK`#@}{y@%8w_Ja2Cp9P6S)!ad1zeZyJMq+cTBZV6h+XTdh z#)~D04Yex*#D<1R1BeY3pMu0*2x3F)^c5gB)IIA#Y^eIp>JT@B4$avI5{Ife31UO- zJqKb##czVxQ1N>pHdOpA5}Q>6k&n1QY^WMBB(^RR+Zu`O24X|a_Xe?{?uN$8CL|cq2jtAHgxZ~5r_>H zcSd4IBC)fP*tJOPekArnBsOR+9Ml&E(V($Z7#oz_VQkP@hcGs1-Wmaeg>(HS21-9M{q!)A!5zL*SxqcYi8%b{z5<3ow4VvGF zsn0|bFF<00&MkteX+{!nM`HIOu_qz1mmsmhYr~-KUymfd8Hv3Mi48jM2xjjkB=KuV z?9WJS&{_hR`hQ5`OrW(iP?2BsLQ(B3{^#*b+!=86-An4GhdKbtG|fBsOS03`~s^lDHcZI}C{(g~U!oVy7ap zOOe=>NbE)=b}JGabhZf04WM})7<&Pdnk7i=)ky61NbDU*>^(^Aqe$$NNbHM9?5jxZ zJ4kHM+8&sDULuLVMPh$LV*f&7GqEAX7ZRHni7kl4mOx^I)&;@rRYnq5M`DA{UV*6r z%^|_qptD(EY)2&Zo=9w8Bz6cA8?>efrZ*8uJQayuhQzKyVmBhOTann)k=V15*o%?a z%aPdYkl34$*t?O~`;pk7^++%`UqKSTjl{l>#QuoH{))u@gTw}{S%R4<#EytZF(kG! z5?dXKZHvTqL}G*1FTu?8K@yKfV#gz~^O4xaNbGhbb~h4x5)ykF5_>KZdm$1VwB8Bk z9?;o3F!p97HQSNcCz04^k=S>T*bk7{uaVgAk=V=}i0}lR^8>S28cAFpiLHjj)IL3^2D z?mUVlein&+5s3{t!w9DS4wCp2B=!p=HfSvtO#NphaVAbg__HCgMUmK&NNmtqNHB9i zXCcAZ#z<<+k=UL{Y+odHC=xpoiCu)mE<yk=VPD*q}9IFf)%M ziJwDaUqWKvMq=MbVuR*KVdi{65@+E?gc}DETL6hIg2a|aV#_134UpKN^RHlbStE(t zBe4UK*r7=57$i36>@1i$MM&ahNbEW!b`ui27l}O)i9H92y#R^58Hv3eiM=0*eHe*- z8i@@$zYFHhdr0Dskl3JeyEH8e?MvouACa zz)%g^YXfD2#@K|Q>^9I|T`0R7bP)-Z4H|FLfU-ens^~%4pna&Iy^$dEmxA`=L&ZUE z2aQdE#P2gOFt|a*LH+>kg#?L%&V3Amii6I5jDWIP7#SEq<5VCupuL-*{f{6v=&Z*q zs2b2X8EBjeB(BTIz)%Ji2c7!}+V=<&2aSP&_NRc@pnaAdP&J@EE}$_hka!|=pCgD3 zIswOv%UUSAm63q~G=2rr3tGbo+Rq4LgU*cH4^;!&?|2l- zKFP?ya2m?K$H>3{+QSG^588Wp9V!kQqq+-a%P}!9JchDOm>3v9`xZg!LHqgML&f8m z7#O}n*`U35zoG0-(4G<|NE!pJ)ntdVL2EKWV_zV1Kx|Oj1hGM9TY~l{g4m#aZ=f+T z5c@6@1A{75FK8@B8_MPYowW{SgZ77+L)m7`3=FnVHt5_-XDHi|nSlZ1ZjhOv@fgtF zLl7Hu{!KJg4d@(A&{!Er9CS7gXulzd-NMYkkOx%*8Y2Pu6C@5gQ?m*xew3Mk0kp>u zBn}$?0F9f0*iV@m7(n|9L2S_3IiPVf5F0cW0@_yyVuQ}inFlooH0A+16BQ&5I*)S` zR2+2H4QQVrNL+@6f#DETT#ki-0Tf;!anKn%=b+-C^L1`O*`V_~A3@omGj>4x{y^%Z zSQr>UVG3f$urM%y_Wgm_pfh>?LDhrK@B!`h1BowZVPN0_ofFE$zyLa@2Q*d&5(l0C zBL)=*?X3ar?*oa0&H+_|ii6JY0i8nx5(lmG)Pst@W?^6e?db!FgU$!Ff{K4)VPF95 z=>v&_#wXmM;;gI;44{2{AaQn928JN0I2S7e11K&*;{2?T^NT=iAyx(k(3z+pwg@W& zLl#uMBr5|0XlxB6uENT|PzDv(VP#;bfwDpSc$%PW&=^Jslx@k%zyKOs1L?J4Wnh>B z6$hPT3c5rNBwoVGzyKO&1F=D449lTvX0tLdtc9{cXPs__vbV4@Fzke~x3e-Z?1!>< zu`)1#(iX@Z&=|vMsQ7+X1_scW8%X>DD+9xIsQ7hO28O#(_AOQh22ffAsd>iA!0-|( z{(_Z(;XRc7nw5d!E0q0*m4V?ml>HC1mxu+De?jN=vP0QIYzz#%P_`$;LI|IWEDBFykfngq$?ZD2! zums8m^~F~~*#Ybf3>%>AP<94}ZBTYLI|IWWC>ykn^bnK{I?MJ1lnpw|_8gQA>K}vh z705lO*%=r>V|^g@Id;e;fgtu(b_RxLQ1v(285rI`*>~9)7(jUpqz2T7{s9$##?HX- z56XVY&cMLJ3P}T?b8|s?45XfygMmQ+Dh@jHN({=D;9y_?jR%6%fcnHrP;t=yAq^-y ziGzVb56VvAU|=wTveP&i7_6Xd&|V@3D7%e=fdMo&2r{#SgMq;ZDn5~efguRWp3A|& z5CLT`;9y{ggR(*W;}j?xwBINT%3jXFz)%2XujXK2D1)*={pK1d8?+~>3CiBg!NAY~ zWpCqPVCaLgcY@9-fU-eng3W@mk8m(BfW{I*ZU&tjwhSr`I!|m3lnv@zZ-TP#axgG} z#u7p5?{hFP?1PGf&IvvOWxwTMU^oS3f8bzX0Ofg*`mY=e4A-FIpnf)JED22U-V331~_i-{Xs6g4EbBjTjPlD7e;$&a|jU|HEt2h}L%%Exx zb22d4K-nia85o?PY*1g>1IoV0$-v-;#0HHeg3JM}%Z-AHgU&)ufU-qF=gLCas$2{V zIZ(D1=$u<98`M9pfU-enveiM^u3QWZptGhy=7Y{%>w=1d&P$#EWrO<1)1d5BE(V4< zPO1H&RHyNHW{VFi>8>VtyD8$o7%=3-#j0u=|HwY&?;{=vn-Z~)5w4LW}q$_Dj8 z&p_FrGutjf*`V{7Z$R0g^O)~J*`V{7pFr6f+zbq_plr~&Z6Ba)&^d44plr}NZ=f+r zklR4#HZ!q9(g3Lc2RdIHBo6B5@j=C}fzEz|vO#CNNkQ45ex3r94LY+~4ax?c)2st! zgU)6)g0exEL0UlBpbH@Fplr~kk1kL)=%Pn2C>wOSBd81oxd(LCTo_b*FE0Z_43rHz z|2PTCzRkYW zmFXZh=&U?YISyij&d2)%Rj(t!!0-dg2Az-h56T9en+G~09i$#~Rvs4zBt3x6#{-r7 zAn`8(kTVrQY|z?l8K@d*K?VjTC|g#Lfk6Yx2A!X$2W5lK&@+LuwFMa%te|YrxyTMs zHt1YrHz*r)F0v1lZ7#^b5Cmm|&dQ5`vO#C=#X;Giv-m)D49IPu^Y^l#;-EA43ZQJz zxyqn%SCAT2AqIvTs5od%coUQjI!75)_kh%Z)_(Uv#X)B(Pl2*QYrJPc+4({Y44`@l zq#ksJA82eA#0IUYUISHAEyTdE3CgY$Vqn+-Wj6~kFzkb}TZI@HKy?X7FX)`+Q&4fx z9z@W2@*r{0na$Ur;!A}X7(nB+An_GK3=E)svLNJN~5(4}KiP;t;2Zv`kDbSAVKlnvT<2pY2m zsRx}kXap6v7G_`oommeOcNb=0u!D;G2{SObK-r)(q(OUcL29Cf85jbf;&H+Z3}H|< z=xpg2C>wOPbP|+ZB+S5&0cDp9Gce>q*_FZ!3?)!@lQ865eUSO>!VCuJIYby3PC~^&XIh_!vPDH07_LIu;vx(Tx1ns%*@_RLY*i5k2GIC0 z$Q%t328Op#aXk?R2GAa1kT~dU?4M9^a}fpx&>5s4aVrr925v4$UIv}TC6A;Q1_8h-|f&l6!_0M)4=_5u+GhDfLy5IY{q2Av5Bs$W5BKxcSo zL&Z0UFff4XSCIH75e5d(xHO2pMTCK&9;ya(CS)s=4Z66r8_K>S!oV;Q%DySWz%U)k zz9YiGFc-?c4?2qy$_AYm4%*iYG9Prg>3XR6cM%4Ltx)!V&>59bHt0<8gHSf;(o@jb zHAt_RCJ-l!4(XR2;M~_BE6ZI-C3>lnvS! z`yI*#?S=gdWygs!FfemN;u>^*IVY42x;&L1$}SgWU=W3}>qQwDK;zpWdqHQMD?-IV zm#V5m+0#TB7<8fRd7=yq#!xos9CS-48+6$!XsjD#&Q4JV23M%~K~V+`JV_^6QWrNNx{SIaKi7_zzg|a7#F))C}%t7`}7Gq%G46ac2 zFEIuNZz%h(7y|=nj2)yGbe1aUZVnI|w0{9~9|wrdCeFYB8gB=&L1)+(LiM_fGcc4x z*@5B=47E^ph&Tg7Gn5TF+a5ID4$=!c&%Pfj4mz)ODwI7{oPhx}4i8eZPMm>ZAyj;y zI0M59DEpi^1H(Ef8?;Yh3zQ8y&wdw_4LZXfG$s!+2Xux#=uQw28?;~f3{;J^1Ovk* zC>wO1{S7D^w0HR)lnpx1{t1*FA;G}#3d#nZXa51pPL^O`_y%QXOE56}fwDp8+%xe) z;wN+z8#c(SAv1T1Y|t71`=RUyk_-$- zq3oxU3=F5C>{pTu3>Ts7_mT_@*P-k$pgRJf>_3tW43DAg|B?(0FQII9DF%l3P&Sto z1H)G+n^%f~;Wv~m0NRJm2Z?LY8NKXKwuBS|122><3);^OW$Q{YFi1k#&Qc5v@=!MD z&H>Pw+n{jslVV`dhKh$tF)$cH+0jxA4CYXFoD>6tEtH)m#lYYUWfw{@FnB`Q#Zn9m z{!ljP{(?{_yGDwEAs))^mttT@g|b0s2xmjtOQaYW3Zd+kQVa~`Q1)sm1_n@{3gk}E zxx&p*@tsl(44qIm=v?6`Q1)Rd28P*CHs~zjg-|x={NUwKHs}oDwNUn3DF%kkP&TVH z1H(=zTUMHZ;Ruusx>w;0lx-@_z;Fr52JKt90cC^kShxper%5v~Jb|(^r5PArLD|{T z3=AKjY|y#I-=J*JewIH_Hs~B;Z8|&q}OG(g#g zG7JoDP&Vj}2+;jLAa{DnFfdGlii6HS2K8M*;-I@D=0U}?WEdEhK-r)@DXXAt(47(+ zplr~c65F8cUKs|4Jy162Jb*(`_9Phwh7(ZsY#9cIb5Qm?83u+cQ1(I@28LTu_Hr2p zh6hkKXs^mMC>wNV#TzL5kPHLECny_qmcUOa8+4b&e<&NYSA|so67QgUEx4g<(7hId zQ1)*b1_p5``=1O0gCdj-I`3H<$_Cwi0Xowj6h5H4FYKY>ptA}*p={7S82(VUoGb%F zD3lG_3lj}xgYLvggt9?*Vx&XapmPgyq3keO28LoN8+1QLC6t{n%fL_%W!K9xFmyuM zptB14p={6@)Kj7CwXzHhv!QIzUYq$)Ht0SL(ArIKc$ z!_*+3b^HU#&7e7Ym>T3WjgjL8`J8a%xIjMl8#(-u&+$eMbI`rzFuRb$8FZI2OdL6E zLHA$6#F4{u4wCzk!w_^|BTPMVxPk6ggoz`E6=)p*OdL6U{ver;93~>5b0eW)i+qN& z4w5+X`OGdz;>c$&#~_I#pQ{Yo^8#}Z@|np!Na~T#Lk8`0fvHD6>v#{6dgODAuONvd zpHchT8h1 zk8(H#2dzJViBCWh2i>m;69?V931e?TQgZ-_ zeFlkr1Bv|viTweI{RfE++Lr+{Uj%d>Ce&XFNNgP>wgnQ~1&Iw>ivTkRwB`WD2F=gH z*q}LC7#lPX3uA-kUSVv|d@GC%nq!5rLG!9GHfSyt#sP8b_BzX@Z5<}_h!&^#uL4Vt@zu|e~dFg9q862=D2OTyTo zxkwlrH2(-=gZ3}L*r0hv7#lRV2xEih6Jc!793qSjnm2^8L34#LHfVkj#s|HfVkg#sR_z4Vo8&u|acTFg9rZ z3&s`!ov{fG6VN;tOdK?~1!IHevtVq{92SfXnzw?nL333wHfVkd#sR?w z_XJ~u=9^$_&>Rzt4VqViu|ac5Fg9rZ2*w7@8Nt|~c_J7aG&clegXV)^Y|tDKj18Li zfw4hzJuo(Ceh0<|&FR3{pm`h^8#H$VV}s^vU~JGF4U7$%mw~ZCb1^VBX#NGp2FbQ($b+914sLnm2*5L31TAHfVkX#{L32M-&>r450Hip==%`wgeJe z1&IwlQxvKmbT2Q=Ob;YAAxP{5Bz6uGy8?;bg2bMH#GZr1UV+5kg2V=`KZm&ie7-2u zZJ>LCVd9|sfMIOVePb{-Xigo*<^Y|~3Dqlt#8yCJgXYm;>MfAOU69zId32Z>&^mJ% z8+_I%)cg`8^`N!oFg2iig<)*a-M}z5=-yu#8+2bUj19U&7sdwNi3?+c?yQBeL3hf+ z*r2;wVQkPGJd6!m9}Z)K)`Y{@GTex>7eMptFmce@Zy4JFNsSK@I|7LfnsvM93(bqEEi@DX#5s*{~xHm3L3M8 zu|easFg9px7RCmtBL+)@`U4CMpehlp9CUvXm;og~XB~i;pzFXG(bSy>T@(P41l=VM zr9u5BkRDLq6eJ`u8?^YDfdRDk8WiLpIZ&Sqe18A~1E?tqQpUgxIs*^Pf)F6PKrGPp zVW7Sp_P`fDA*D1NGlQdSK?+>|tOCkcWgb=u8Tb z9LT&%Bt0M_?)xz?fZD(yHVA{l0z`xFQUEca_;wHj18967$^~_$!OV83-(mLl+-6`X z5r)_cI&uSMFSs8I)&U`Q#xpR0#y2252Do{kdmBJ{VCFHrXJ7!OAyBx0#z{bOAb)_z z5MY`a7#MEGGcYUxDS(Q>`~fvclr3enzl5ka?iHKR|LI^Fa55!15YM|MH0p44^R;5F3PH=7DHf z9s-Fkn8d&^frWtqR3w1*XMoHDMGq)#Bb#S1oq++gejKC+ghA$j=z@&O_~eYtg7`9X zy?lKI1w#{aGXqOAQxi)C1yci41sG{)U|?ouqM%@CY-wR;p`f6kkib>%>f^=;Iv@mO z5IDZ#;OPq_6eG(7E@&WSn+AgdgDiu=0mcL~M~23K|0gYEIH16=f@8ugg#!u{iazm`eH$8wS9rN(z41-*EmMx{}koBW=gq0}2c?ST-I5Y0qGpFries zv!Q}YBBJvuhg2F83K=yI2n>FjTODEXr(XW86?K;JD_0K?O)- zB}l4+MPTNFhK3U92#`9KhNXfxIR&OISdj2#;llq1$^}+(7Nmg`XF|OCaURIw6)Xt} zr2-ub9?t&%lS3eM0mR^!tOXScfipk~DnY6}K;~DlIyjVAPgywWf5S{cfwlz)$^|AQ zd|Al>HI-GsWdRRI*Oa6s8kU^i9a3psW@Ls@+Vr_#Cz1&!cipgmvf7BqhS z&m##63Z$ZjLE->o!vFvEpuEoX|NsBL3=9nn3^vRO0f!kFK<1k{GA#W5U-3K0tsPt& zfBsj{0C`7~>wp472bbcf{|Xu)@51=+(d6GC%b(yrpunKP)&5E8;tP;@Gq`yq4$M3- z-IkFD99mor4JGYAdBimSu`x36aJVrr@JJ}$|G#M6LQo=OQd+lQ!h|W4ZvJVQsl0q8 zE68t}!95-d3JDEL%HRkMVF3F_zTy9WGe?F7CFQ1d3n%{i-@b@@(z=KVlY%Eqn6hD} zU?a>wD>xLi1Qce1+&>fS01g=@1x*lFlLKVl>Q$gq*bsFzxGY@A(93RMP{PCB&`{!; zn2=E7%VZhY>6lq)%dX4b%cA9)#KKVEP{NR=oIY7}Mj>}*`XW9aW@#k_g_2z6x6Eup z3=BF}=Bv0T9ey-nLP^rXA8ecq8=wB?k=l^FDPh_K1~CVQtc46x4h%CFa;Ht0eBeTw zU_!!|2@^^fUMeq(OO&&6v+@=!RGiC_ zknp8p)dKbu?h{-L+XQ#**~#U`z>vwc!*NZv*3v~>3_A)LRw=JkTzK;TPDV|^z3gY% z82&4FHqM;bcnnlZ&zRWJxFRqip=9|qQ4Pm6N(&GC-^(&{V&egbq#Fx^w6S!#(}H>f zgA#XfCbvWXV*v>KX& zPyiLuD>&vnn)vg-;?MuEtN@O8AC87jP^5G+$$ns%`1!x$$Nv*%ff6Ak(wLgo?{DY? z@xclh6reZ7GBB7qG6Xa=F&HZcOup!_;!`e@gT*O@ zVZo9EJWSJ9nV?9%2YFc9n1T6JfYdJoHAV(Ttpue52}utWpZyOI`X#`i#b7YYKy3oZ zV+;%o@~y8yN2D=$oB{g{lw3gh3giw37i9&75(9%TJj<4;FeNPzas2W>h=oz?sX&@2 zlbbU`nko~UGlNb~nkjGNXOOK64tzPV;me%ad)d}9^T?)t{=f0X|AbY78+L74u-cLo4+K8_&%@Qh+N2@zfP>+Xi0&npm^o+WtX<2zmo4?f|A}}0Cv*u;n6as$-*CcI z#fF&&jxjLsaIWQS647T+Qs!3Lw1DAx2CI4m(}JCoJ6L(7VCEQHVo8FT^Yr!qiKo!b z0cB3k2`d$vM2yhP(1Mv^e2FCkWCqCfOP~Kw+zB!xAp_)=gjB_bG_YIP*0MQ?nDTHx zPmxp)5nHfrG8+p6gHBJ|q5m>#+z$Si>0vwYpFx9_$4W^_B8Ke&6NBR_P^qB-Dh?x9 z6f|5Jgd7;u78)2`Qe5(1!B_x9stPDT>na{lYC*Jt?*uS_ro}k^|NsB~|NH;ocv-*? z>0dobU`V)=z>x4Dfgu5O-zx*CamB#I@c%!!bqMBxA`^to7BXyn{hudh(LssEU!aIe zd;v3lA{SOEL zC3XuY#XJ8Mlobqbf;^?k+{>&8W?3-LH%niEbb@JM%TT+4mnz!#7zHXh!E zYyLNBglsw}z_aEp?*k5oIjKBaD;XEA_`jFs&_b5G>~ER>GBvIP1sRXB4NCH|MK!kJz!@jQe#-OfU!tDaMKco2kZ=uvq0Xj;3z0pTr+jyjQ_ECn$&i~~aTn(Pe+{Ok5C1J_mE!cRZnv{i$7F0aoU??bY_F&^-HYg8X(deWS zxtIMc>jM^s850*pGN>7eODicjl%$C;wQcxs)9iHQuMLNT#pGja|7)Y(ye~5vRff3Xf z0?qY;(%k?5|Ls9(6~u;NGeyRUKmS{9?BL{)GSU$6JXqjR;*==1(PQ`B??bU6yag1xwW84fJb;OOT*&kNr(RRvP@`hZfGc(c=Lbf#{~{0 z9h_@Ic(j@{^!9QcTF3wj_sjozv^zkYCJj9vs|Oqme?A=p4GJ*K*x00@cSw?PFY|!| zEj(HvwI}}1*x12!g0o3OZ_xr~gUt#D4zxVrU~pq*Xi^lJq$t{yC}8=}jhjJDNS;Ty zar=MEhm#bAEIu|R3at3p@z7vqGmrCv=EniD%4d6@1fbxiDev1lQ~qClQSfxHW+{68km zz_3Y}fhX$E^hFCQ7OWOvSfzaE)B+xf1MSUgJPw_D0cOovap=?o5Nq<86^l;&;E`Ey zd@_$!PY#b4Xn#IW)Jnz^3l|*}xY+vtN8_SI#zzMw3YIH?oY(?#;-ZN>nCKZuwm;0>Clzj0Rbi8#)h`>bRj0TEB`evT0E3i z(!8jkP-4D`scp}HkA+Q&!qP6D3mp_n+BY$|wf~=({-1|SgHuUK-~khZ><6WV3`&7K zN(&j<_WlPARWd-*p#lRaeS*?odRkiA%SGLKAhrbPBJ3Il2D3(ngoKhxM+JovPsYf^ zOhp5Ok~2+?AOC9_dIq{NF$BK*pR}MMGBDGSht!Fi~#{p+?W_T92-IxM6d<~JPB)(b1P<;5jdfFLX!kTxde+eDC>4GHWV*7 z!CrXh|A7f#4;=Usc1f(wmSKkA!fXE*bV3xeNmmv$lynMCy!`(WXJ9QS!#m|?c}#7Y z3_L5IYjDa)@Vw-aZ)0R&knxa_~cO%1!79;|BmxcUF7yQ{jj?`n5^n7ir2iA@tGDqgs6c;KL7L%-pLnFkuq9B|`f zcy#Uy&v_Zi2lFTMMDVPC&_B81Ow)wBO%rxEHFPyST>Ssk-Q9P)c0c&LY4_;|XEuHK zqPKpk_guK*Ki2h6OCEb~h|#Nw~t2@D#*c!gA}~s@)0K92*w1 z+Hp~>9 zwRDDI1Y6afSw||acJ02k>cD}L2kZ>eE***v4khhdn2t67m;Ep?_y5Ae|4ot%3rYn7 zk{#Q(GqJV*Ki2<$WA6WeWXBDq0&dO!8CEcM2=eeRn6Y5T&J{0@E&LBEBo`zwB!CA+ zL5qVx2@nZ`>UdE9>VN(J|B&>kpiq)&X!z}a*e7A0W0{ORmOR^LDrO2MzWd+!9#kOD zV1qU-*+8vTwkBnUiLd@QX&6A-pOex+rCA5_q6G|18YT}o7$!dX-^9uAX2qIK9n7#Q zal>kb&O}h1sB-{RCpIavZCI@UsTJKogI!^V_#1EhpR|PG2FHb)0(a&fy!wAF@1_L} zor#kYSydSrIud6Df(L(Qax`A}KLgbJ-NCW&-2X|MCJR=BngJ_0c(@*LGPrRtAS_+W zjcjK}BCH<1A^1Y^2jgCrv#e{GR2djv7@lRh%lemnEfWvu+Bu9!XhAwi>M!2|HU^$b9=1%zOvRak$CmtWoCWvPOoXQvWiTvS z!0>>RVd4Z(kcw%1a=QSIUk1>4)PLqb3=BKKjW1aAnk6zg{`?;Z?vrP*7#MsB2op&B z{$D}iO9EtAfCW`iHkfLq&w1Pe3&G}z{All$;Bfv>Es2c1xyoK znl~{r@M!XI+3-GEz|C-4`S@DVPp4iuoqoZ6VvWX!1tkX>N*p$n9AjlTt|#Jjg7MQS zi9@F)zFBZMG?aj3HF zW=(Qt0F71|hu!!Gb|5T}k@6HM>B5A~7BVRQ`0x1RzmXDygRwxEu@a=|8^pAaAyhf& z=&OJr#h{~d0RbfpuFBJnFzPtFD=P;beHjo?5^$k}Ay+veUGYNNfrNAxHx`CV3tr|j z$MPNn#V*fX93aG|6;jVZ18_9UkA2X_T$GEQQuIj~r8X5b{I+6xy-W;#w{s^i%<({K_~Jx}Sz zUH_ZTO7MJ7$WjQ1QkbbYiK(HXp`@TnAt9k8AfUvFslte<@)J|lBc|$^f}MqDxmVBb zgpAfSY2TDTck;@bZSpsH*ED?>)%f`F1Frtd5VX%TRQXyd0}pGE2g5N&1|PQYWlTvP4ALFbC79aI|Ic7Fa;mg&oDrDh zRPN+d5uxZ|n54+Ku=>A|Q?1bgg-K2|MnR6BoT?r_5(QGJ2EIVe9>Y0X2GHO=f6V71SJUuP?|FXi}Nt4OK|cCHJ!M?quHR@43YpP zI;0*K*o;I5#b5sofBpAhGG}3GQ)Vdq@!v_E!AZs70SklUxBn6Bi$oYUi7*DKnmu4; z@L=bW4pPzIuv)=MMehMC0}rHNh7^%342iG*$1*t`W9wi)B*p-0pGxs)gL*LRYZ;p~ z+#YZ+@NjfZTqMcRHFZ&>7r3<0PU{YJpLWiJebE92Cl!+iEDRp(kmAyV$-o5cQ}9@W zg2ERb4uxYS3L8S^a%8V;k7imhp+vePE#uQEO$CJ#sOLbFi3|+jG6CdO7&dccaQyM# z@W+1*76T=LFeOeSmg2&1{~3&xjSg!Ce)(@;@Fi(Mg;wh#2?idH1=mUz90+Ncp^&|^ zJ%(um)Rx9K|8LDaB*DnTG2ueVfoCNRGZYRS2tiTus^&c1cn5j1cn5G z1cn5&L{MN&0vBlu79>DRwYQTP85O_%U&II=duD2wDY#&!0>ezfhK4WD%9g2#k#!Lx z(~K{LN`ezQ6hNx( zgDP;ykPj#jLG1zt1_rZ42F1Vs4S$0qJ(wm5J32U(PS_AK;aG_-=N!(UlNWf}cszN8 z0;V-5Eno^zYc^1tut><=VCDp+1q@o1P2yf!g-ziM+Dd6nACv?^6+;oER%l|pP%ii( zjnN@gupvz$AY4H~%~2s#;XsYm4X7xf|&vnCV@JUpqV3ZIt;i_qOjnLfkBDGfiFF4dwLi)E2p0Sr^_Y#0XilE zwj2~zjtq@||0^u`(xkz#X+cAihO~h}$pa1shE>W8o0S{CgOUJ9%MKgn1kkWB184+= z0d$HD%mlD~ia-80{s4vd3?{?x|6y?q8Xsmd?~nqyl&SF(y0}ss3j>c9WL5~O^u61c z|B5gFYcOdjL7E&qT8+;^Zh*-j`wkwqVF0=3e?8+b(D?YD{~a7177sWW8h`zt2#$47 zV+z!?frJOlr95XC!LEn#LFJD^iQ&)xcP3ddH-7tXq$~p(F7XI@z|63g2{J4w`=Nt* z;)nmBp)r|7o8zycIWpkk3h@$Ubc$526#OF@EWj^LOFr3rZY0FBLqmH@~c0FNi` z2l@9GXtYVmgQ4-~e@Nn3!I37UH1XSi#c!yircLV^8af3UAfsVSvL7bC|F8HCec%+N zMCRv&4v^CzSqU`H4GSX>ZRQBdPmRC-ADR?(X_ES;8KCKa#-AV`D@{^|I~Al9j6w4S zzdbVkVT-m2@nm#Aa{QKU-JUg zj%S+q`F}$fC}caC4k$3};N+2N{O}(-F9RAnTEQ{#?f*;b7DAf&;9=wy91~xHLKHT# z-1y@EL~uE@gQM}u{|y_aY`XpDkVI6&Zskpp42#w+XqcmXeKqT%brB0z2QObKF=6I} zS*tdk`X{|=!>+{}CMh<|RGt(Ob&QK)`YMf0CqHao#XafF7l>dRE5m|S6IRXKbn@S% zlZ+d7B9t#Y`+w66^+j9^b7n1C*SK6$e$l#yRWm27XPq@`!bHVM5$eZ4Guhp%r)#lp zI{jn&N})*+>OF@I5By&=L*0VeNLld#GpNj+!Nem0%Z1-GH5nOY|gF9=4oSN}(_PMA=VkR?zsQ!rts!oo}cgH)pr zC@@UQU{Khk@PL)!5c8ge=l)+j_y6I!|DRZF_cAe@QEog7irB_8AQBNUOenqujaMQI zfcB%n_@MCm-|+wc5>QyxANUXIr-SE!AZ;N5(0Ds2US9oI*zm=JS@Gq61s8!Hmmuaf zZSo9>&;A!a|F6Neh@DYM$^II|H~!~x{bgFq z0#Xi9tikMf@_&-^8iyc-Nak3!#*6jO1xG+YN<*li!zzIVOF?0~lEd-L{~+eI zpn{ym@YMf+fD{7@0fA7##uNVyOhGCvK{FK|9EL~#8<>Fkph-p#4#Pue{QYSBJ#aoW zw2?bwus{XX--!%?kTxSLsLhzfQ^Z=_`0YPKxpL8QErs&nf`TuVjJ8Y-6$(5oJjeF3 z7;KxY!(_u|pf)*|CA-Z%h^Zl=MA{`S<&)#f|A#~vc~}lyE1AmzYBP4a$1pWafJol* zbZ{tfa66E}nBcOY!9{u65{5?$D%|yW-m-v3f%ts+K;xIbd;z;BoX(auKFhwAX)oKQ z1r0p>1_mXKS3!wJyIf6~iS6Ehrz1DkGBrF==3zQ`?!Usj;J?gZm5}tM!D@I6G#;+W z3i5Tr3C08l4hDw*-~a!wIRT#IZiLMf?%+sRBsgga!-Q1=lUDynni2=KH8?hY{(tb} z|A0k;2UZDe&=gS6QkeJw6oHzc(AVJHut{LUDo|{!GoPkVxj^$2Fi zqyH6;!h}FWP7zFwhyEKLh6#aGc`z#;_#b!xlotbB6cqP^OoFV?U^3kE-@ruxOez@e z21_tSFgx!0uej^KdnKIUFbapE&WqgDcoRkeLx2jy))R&c?3)2B89u zUH=;(V^d($SPV=B0^9z>*3vk({10pe1ziV=Vaxx32vF>RSIcxT2R8n9Y=jAcVyA;8 zu6$n}|p|SEm)PW$i5gd+X|9O<5(G7B+2gk%BSolEr1`tm| zIM9%Ta8PBIfcywv$>PC*T!e8N#)AVf9u|lo4|;GK#=r_LC_fUU3e=e3RApe`k!p+r z#jORCk#gn(W(Ex=B_%ma42Y`!Wv`X%8N%5)?5SSTa?5O z<$&stU;igDF*GqTPI6{Qvyg?1Q!Q9fBGbvEFF6abJU^O{2PJI8r z>9C;oqO;5mHxxE;F-Wi45$Q;GggZ@877@%T;##fbb@jFj1Nsr){B^|nw+gCG1)Yp`aj9pW)hR_B4?{f z&bEin_)I!v2eWq(C$DtJA`jllVIi0_@Xrh>M#8RCAr4O|5tJ}KK|d7r41%68Xx^{%CZEL){PJUH)W-P z$*9H$|C_Qxz@%H_{r^o_l8yKOcb;mz_rLR2E@B-apJM#S-;3pDMss&BjYDWg-?!(mmHNZIjUT8R6XRVcF0lvkfX*XN6k%+TALiT zn;e;%99f$jIhq`Knj8h297UQO#V0v3C^<4ua%59-icjlax|FaXkybf$jb&6*r77daY&GBs#EVlAU8 z1B2qB|BZ+K&tPik6zF7XJOPRy&@>3s#C`v#cd$(8Q0QdZULn7TDR2|hI?zbOZskVE z!Xu`}?f=1=K*6WD|RK>9!!RF3@p&%@-z9K@sH(A4bs z`+t}5C+6S|mQUyZHEC$Q1?lIJ=CQf7fbGMFk_Q|N9xR`jgN;QEA7 zX=wN|VRu8r?gI*E8X9&hH=H@J@WcOxGs+3tf(MkKD{Em(;J}7M3D7y~Af^Y@F3{d+ z(7EfNebJ!v)Iocnr!X=wfc83r&NK(9B^QIj`|1CMkN$ox$yY^#>*gv;*S5Toi;Hs7%WzR8VPP~xKDZoG7{Xs*(BI8l zi2*G37gda(mj|@;o#7kkj509>1`#m^230Wz1~V}R26r(Ah7d6ZhD0$2hCDF_hDtGz zHx$5o5Hj;pQY)+!R8thn5_3vZtrQF@R4b4O)fA8%nB)TK%1x|@PfyIu18D&X6jfvv zS}7Ezl~mY*bm}M+r4?1!R;X6!C?uAY*s7-JC?q98r9d3j6fTC6{F20+_=55xTh*Kt z9fjP?JSZcv0>XglOi7N<1RIf(9A9V)(#nvRpIMx0rI4GNSPYiQ$*YlBmfy0oI>JVJl#>$g+#w z!z$3;6R^DqcP6khFgRfm2kpt0VPt^%D*)~<&|YLYEb2jfjzRmf(CtlOXJE+2q8_w= zw-RnX!aX}U85knr;e)W(fro)19WFkB5f=Uz_!t<{;NlK&cP0ojFl>XHj}SKyW?GPrt#_z?*P2Jl`ja6BU1A0f%W0J>8IVlP6RMT!CBBxpP$%u$eHU;t%G zh6VNt(A27A7^Ap_Yrh;DCyECYiiJe?rIp+}B^;Sv_}E94m%Kzk<9&3Pe@ zUA=%J0|ThNfUe#}iGkr3+xu>ggBsjkg!w6&3=E(xo#^J6XfZIT!Od9!&vyyh4B&NZ=<4TaGcb5zG5-bV z-f}GB96AgPzHo6wI9$+SU;yo@gPHH)2&&LQMI{R(=saRZ&;iNPpq$3Qz_1B=aX1qr z$30dC1|~)}P+DSQVvm+&U|?cm)dd|qc~pXdfr;0Lfq{XEg&lOPDiaGU=(Y+b4pz`X zg-jgmeZn9)7GFLF1||-ct-K5j%vVJj7??ys7k#soS}-t)fmqC-`$m|=L7O+37qc)h zFiC)zEX5WKOi~~gbG;M;1Cz8d$XBI?W(-U+ASN^D1a&4^(0*2yVvwjDh{+6UJ2J_G ze9FYa4mzxjrPSDnfk_c0!hD~Hfq_X0)Cpu|Va?1dVPGi+Nh*Uxn7cuKQvox51Q{5Z zW`Nwr#=_202Js^3CUJHa(EZmOOpF|B*%%nuS-cn-7&t-K{&0crx#k9GW?*OWXJlaD zVPUuJWn^IB-NVbkz`$!L!oa}Ddl?j%yxLL>3@p48r9g)`g04suU|_ZvW?*1;23g3= z4+>jXuwVXx+D4vW&pzj8U|{wI1vX2tp&0{nC}@u(OR%vK19LdYR+dl;2IfeRg)G4q z49wA>aAOGtsf=9=N^PMamGSEsL5>Dp>%;e2l7Zm>b8QJT0|S4b2m=Fi-E~l6;GYPJ zrFxJs3x63q0|Rpd=mZ)b{v-hg2IfZ4Z6_xDp!1WMn?O5AE%;?X;>}B#85pei!^9aF zm|H<7&^Ylg2C>@?GB7as@r#4}(GCj60RD4)3=GU2(-;^S0{MM87#Ns4LE=IDpff6% zyN)n3Fa-01&Ov1EzQWAF5YBHY!N9=W^Msj!A(9_-)&g@c=*FCQ{^wE*49xv3EDQ|g z{2xGSCV<@2#Loxv%R~_t28I@X4mJh`=1HKMy^kMsmkaY`6BY)BDf|}93=GUuLH4fU z2i;A|JPpKN%U{pJz`#5mHuG%IZA;tuL3KUz z92XV_h8_IvAUDjt$p|`eE`AiV^fV>Olb2A8lQc?&D0|S`P$iVzl zl7WGF0cbY@-(?mCh8*TaJ**52{1Tw>SPXJJ1OI+d{4W8q8TogE;&2&A2^0TEP&h3I zu?6|1L2Ih9DYr11_tKCAp05k8$eNY1jJ_K2c4nG zd=#XFiN6RGuE#(Lg^m9y$c@KAYS{UAfb#GO5SxP^bPg5sNf4V8bj&aV^C=LUi~k5H z4o`#F-2B|26739#&BHGNVxI-EdHGdA>~kPCAHNZZeICT-=jQ_DhzlUL0Dm+n-Y$aJ zg8cHJIKKp93-MnBx&JcAZNiW+y1)iad&~^Xmq8JK^*QKDlQ3=uh82t~#oRm$4E&(w znJlGdprHl+%b=pL48&&PUj;f8y+mozNbrXXGcd5!fR3z?;RhW;%u?IV14^u|d<+aMb&Gfy7*zPf#26S@ z>NoQ+Flg}ii!v~4-vm}3i9EP0{N>G z#17yGHw?Q#>=1rQkX_v%b_74@kb9OM5Ictdgb)J*OK&bO149Bo=%8bkz8+o%h7^7W zka$1H{0#n00t^f+6PEEZFy!!ifXtr=(p$j)2xR6YklRZ5Z-K-ogZx#&e;MSqDcgA& z7;5<6a56BkOa-wU_!sgsFtAKJ!3!#!L6>E*Ouxy?z|g_}9~4$Ie(*9d^zi$G{5bOm zF9X8_err&8&JpJW724lGX3hn%XYk8{E+?7?I<|HWKj^YJmiZv|0)BNC1_qV|34EYq zLU*$%KFHrcb1ReW&f**7kILj)K-_P*R z1-XCqZ$1Ww3;bLl^=m-lSNL~<;&H7YKLf)Jeshq2*D3KcFx=sv2vV~iWaa~YP~}dWuq}a1H%h`50Jk$fyCeNg9bxbHV5-FFnr+O57N7(h@XMs3qNQEk7a8I zKLf)Le$c`EEZY|IGcf!SmIbBf?I67jjKZK3wpn(7I4q39pd;8=c7iw@jKUle3=AxL zcJMPW@GuGsg5qrNS$+lv0Y+iaNh>V--tsdrh%gFo2f1WFivXw*E?fZ$rUM}F$uJ7n zf%3;e5J!Pg_z1{=Lm-X{qwow+EFP8o5wZfh;|0C&0j9z$m;^ zoPmMm7^wUK;XY8e@-)a&4@TjCpe%9by#ND)52LUj4+8_sSrI`7h5$z4r66VJ^aU9hLKuZX z*9Ebh2e~bRQ8*72oEQ8B85m+1g+GJh=wgW=149C%a3IJ9mnI7`Fr+Yo2fJ7g%5*d zZs>w;9AOk*3i85DCm{xg21em!Tnr2>w`znK7+M&GK}X-S+@3DPz|g@cTn!4hJDY?U z7YwZ6bA8Q583c^MeQKn-yi zFtD?LZb1UaC8#U~>p>6<>@5F4=7Wk;geZc=z|JDe$G`yA4k~65GH5IYb{5b{;#{Ee z7flL{%fQZ(1~L*9WuTIn8x&(;f`Of70v`hd7pP1I3qXi%kQiMB(gb3IifM=pNGAh3 z%TbUfP{GU%4a55&0Z@s|4Ju$6*jYdabaR1@3Y7OF%P?pyHkz!~pppq!m=;gUy14%07_jOOSye6TqU}AT9$t3rHV3%N39UP!#}? z0|f(w1y&Ct7}#09f)s(O21w>bc9E1I0|OVRZh&|TECnW@T1`Rnpy~o55B3q*Z{Xq) zswh+tnm|BR2_$I1YM|0pAZbvE394KW6!yU=HI_kV>#DL_iv>D-SHm03QBgoC6+#V*ChF36`A$mX*n5V4Me*l1WNRMq;PI z*wV?M!yqAQ7^Ip&PRL{fd4n-rgn>aaOp<|tF_R4xMUu@RCuOpMvYq5)euVf(L%U|`G!8z3!&#Eu3XnVAC?XOK7t3I#uQ#zK${n?NS{v4eCoNa%x3lZ|F)?1sxk zLu6!iL6(CqEoK1C@G#DiEd=Qc0nKYc1mv_p*4<`;P4+O(Q4(Wdkk4dbyvqb?rhsY$ z1<*|kjQ7BN&>)}!59k&R2;Yo}fk6>;b2j6BCXi0%i4)3|GC_g!fC(IVil8f!86Pu& zZUkbQ=%H9F$iTq(oC$OhkN^+ph^qOMS$IIlRL!5vqA1MFz`*#DDF-wvG;vA2Vg<NOzLMwve;1G-$7cr>kX#E$<0mH2^*$Utpu?^}f}soy z42)lxCV)-fQ7`=)6rjJDriw8zDDDA;%Ri=BV7UqPil9j-MrLNv9Y07mi-K)dzRJMB zu*9B$fmw`!L4`4f(M5$Znw1%}xLSoVim6D1LG>F{1ws~dq8wNjw1f{7vPNRi9`=6* z0T3S)K;TgZW(H1>99R$(OkhDq22OWSD1cOgf(Ig>*YJY%Y&+&T}ya2K8lp3=E9z%%BDXV~_^uk`E{k6p8ASA+n$%g)xLd z4RjA7;}lldv>)RfK5+&HjYdWW2F59@puE5jnix<6U2Vju$POC(0wp`fIi?_G0o)7> zjEd|aWuUXY88ksRvoTh)gDOwh#319G1aSrih3}xKsbvQpGam>tQS-Ja0|R3#SScu) zKy!tRb5@8mFldz+FfjJAgPk7((bosom(R?=pa4GKvmacfECZRN2D&ycc1;rqfL3btVfiAOS zECp3ovsoAz^rCqg7#Pby+@mZE4Eh2fb1Og&VAGcdnNta3GwO+e3f5|n^+K!+40>-s zH%-@oxWOQ1>hoIu20i+Og zU9~dkZ0HmA3=F)I;FQl)#-PF&%~Z~y!WhL03M>W{ra~5`A`r#EJkf`ZL3Jk^0|Q70 zNL>j;9poTGPLPibWrZ0SU=y{BbD|^}7>u-p85kIYjPJ5BFo2E)Gy(BN*gyr5A*j-T zP2V!kX_I7NFmVxPU{GgcU;v%c3E_dx#AaYH0~PA9DP6`nmqBWoL>L${*%%m1KttJ} zYiEt5K(P{Hqz0lw&5cAD7*>OB&9)O^V7SP}z+mA8k_ck3JP)dP zgntmk2N(YBY#>`e$4M(p0F`MSV7;JYp%v6X5#GrL8nw3OU|>+VCeFaX2;qZ=J5^?>y=aWODheFmK$KM~B|DaF7b%3uu&GG&lapcFraO--7C!2}dE z+FT3_CZM451~EW^7YAa1g0ql|fx#H2#|9LDHlV<>0R^0@AqN8kD3VkdV;K!W2>_H_ zqL_+7aS668i~};I%s7j!4`x{l$Y_vdtGGaSCW$aGn1C$00I~?C9$}F=$f7@73=FD? zaLb~>$r9O~c^u$Pb_|S**uKH+0bSDv_LM0%vOUq<3=GCF^=S6Ab2BiguEb*x=xR_< zLC?5~Elvg+c(b^nfp-AKo@XF?VCvEA0gW1{g07~91Rjci>=ZZ{81C6KFxZ3c|1OgO z<-;gO0|xsU91IMtP_7|^J?IqfDNwEvgM$et0|O{uGDa~PGcX8%%H7Q}&?E-+DHjAk?d>E=jba82T3U|=d{a0jc62I(#Ui4-wJLPZQ1>{oCxFqDD0F-*mv zl9!o_g%M;x2?K-uUM>cPF0f=Y$R>~j?9XvAFw8>}d&I@Sa0DzC2eLgDM8q&!fwJdB z2NlLBX08SN49cJ^1uC`~(7(vc-RpDk}U@B+u0&9q7=3-!hNGQi}Ln@DI zuuL4-vRGyZTNM??7-lX80g$7il@IvTF8gWR3=Cah#bAR$qtHwx46DE*F-)bPFatY3 z3S>Kj>s64&MGSkv^56o);SEGcg)tuNTl5G63q~<O~! z22PNinhYp4?q-B73SyiSrNqFX0nS>x89}LXIv)drMl&ce?`8zGCANb22SIfpgnt#p z2i--?xSJ7_r@n&tpb-`*Uxc55LBj@AYeVEs_!$@!!I@((Bgii1i5>L{n?UC8V+7^a zIFS5mP@7^u*gWQmd+HUpf?5kO{)&19P$FT3@EiFd{Q(GX5kCWiLLex+Lijg9{3cLK z9Kr`(uq6$yc_4ggVUYhJY=uXl8tVYq)^Gs^1_fSFj)w621Q-|;=YjYK8MBla7?>wE z)XSIT7BDa#Vg%*aqXG;JR^gyB<`g3+YiBEhYAiQUi*m0b1A|p0D3`wnOSOTeR1NqT z7(Up8Q!mTJ3H59$jB%i#P+^P(rEnF-7?z1MK%!Bg1i@6u0d ziAXsKw6wv2f#DHU$d1AO4i5vvUoaPx3>iTg*$9+mjTr3Tfu^yPK$=mdj2Y}f7fb4b zrJ^Cph|!3_UV)c^!3jmsn8B`>mw|!Ffq}tcCTM|25vbY3XutrO;`qeAbf5i1_lLrkXi^o48#ZB8_NjcD+)6(D1h#Fgz`bx zMoWWihw`Pxvb` zK&cSI2d%c1P6SnSVqkYG`h)BdX9DFTrimd6;H!lsm_X40YG5nmgDMmVKUI{0L7^Pv zWe6WMQK?XckiP|zF9T%`h`gv61A{^hg6|39gO=ejLgYamJ%v-Ch8ctp>cu*I5C9jP zDvU9lB@7dN*pxW_OEECGgKx&_Wr8g%WSnE84l8qd!O38Y7z2X_Xl)8(FF4|_g81Ns z0O5ZF@xciJ!Z!eQjKB$@7aYb}AU-%DK;##QGcZVB1%*vNSYAOM)MtaRZ-L}ag37ar zOrR#eH0bmIMkw1K6xL97ASfY0*{q;W$t18_rNQw&8602ISs-(!fa5|MT*ggh0<{1X zz~$o{u-(5veMWHkI2X+4lVD&_0GE&R;C%b7f(#6sR6)5E+;+Ms$iQ$6%th3lPXrkl zZlQ`Pa|$sqfSOI;!QwH{E)Qcg6GsDsy`c~T1DhJ$OjjWW1}QKXVJ0YD>!FG%rwTDJ z@G3AcB!k7{nI}3xiYgB_P*F9}g-wMKR&#;tTBaff2IUeVNXDNE(F7{OK*gI6NDsK0 zivib_(Dp?U1A}Xy5Ca2K3Bz)*29T#cra?qp*MaCFhPz;ycu>Wt!WajtwPP8LKkn@gUQ1s`ca$2AKtN6N8!nC=tzKhOK>N zoa3p%z@PzY95K#f1`RkWNiZ;IfLn$TzOw|RdYZ=!8kb0sU|^8RVqk>ulw3erAHvR4 z0Ie~EN~{B=i3y7^Xq5-O?>>`B0+uIpjQ$Z{DN*N3^ zzA3fpkX4A-H{s5;+>g64SXBlF=p5TV8%ILG#D7v!GUp% z8B``Q25F>$a?vqn&_Dxd*&V1nKEVtsyw^yAYFtnO1K}r1F)%2ofcm#5nL+t-5okH> zNl=)aWCpEVVwxD>1saNF6=8r39-d`3NfKsY0A2ZN3=_1;69#qW7~~8<@%E4zwg#DT z&P*)^1_f}uJpsoXqcj5pWCRw%2RZC1IL<_*85m@;85kivX>c?_+2AOGvcd833>+T{ zOE^G-h+uCefy@OB^)fyO^A#FFaSmaZNi#4goCDQ&5dIMm{}3o1Ux2*~TFEO7x;B9k z!iQ8b5O$ah1A{a;&R>G#TpAqX5Vpb}P_VsX290;OfmZPz2L(EWKNqAg8C3j1_zK#f zWc3=Xb}vXR=!$Vh2>&8T?GsQn2;m#=6JcObV`5;ingufO9XJ7nYJn5b5s;Jv1B0us zC<6mi8AG8KJOR08K!jRgLiG%)H^dkiKuHHaFvGyWUPpfx)Cln1KOw zVXDOpP{|s^U%LsK=ThMep^{UDL6uwfk8f-ff2&Xk%grL2;aj~99%GYM1km123Jts!c@u-stxiV zyy$cV-9FA#!jOY1Y(GJqfuR8^25y2GGT6@&XJD8B7K>t<7{K7V7i4k?!yR%*0nRvc?DW2yiJ&ap+S~`!TgXg1H(cPzZp|Bbp3Py4a42s~a3gI(GNrSt<5S}!+2MlF@ z0A)fb8=UGPY*4udVJTRG()bz{P*>GWj)6g;1C*vAd{B4M*jR#r0n{O~;sbSyx3Pc< zqPaStbmR^4G3Z8hP|uZdGs{yQ1_l$5mviJ87)(KeV1F-=V_+}``THh_0rK}p5Ci0M zad}XV2b&WOx}6-R3esxEL7VL%5!^JjzD)6FwU8!%fO%k8jNDx%K|Fy z926KB6oWwxhy5(j0t^)V`@st(5oMM6PKwzA+QV&*2on-;lF0&M1sT0Bn z8E}pTRI^-CfTUsw?~?)pg95mAf$-TBL9IPdyg~SCAU?SCg77UBVHxB+I9)JJ41i2r zod+ilNCk2MJo)4U(h4qYE`pbPHr1?Iq;2z?Ch|OD2#KW3>X-cd88Q_5*!#9oWKS}F&Z&=C`yAz>r{21 zQjoqSgU=R_{i5u!9V?7;)YgECVpDe5UKPeUfrbnW8emtOg56o9#K7PNIzsQF0Rw~8 zYEWfl1)g?UYXB+_T<3tSDrPtUu^iO6R9zy?z)%QwdlZPz;08JrlEn~J`x~%!kCPzn zMGUGJ5qcO67#Mu7NHc)WbYXBs)23_)w)GB3TQP&FAt>xXEkD&KNCp@(FnI2fhDaGQ zFc^a7R6%t$Xx9znoE$?22BQ>EX%NI<2$~FqZMGPm4$9$MK%0OxPl2lLwczO=*ajWOIj;>F7*r2~?luPx zC`7R`Lk`JOI|j0AGdpa{4&$6GBL)VIAD|}3X7(~628OF3OF#?F86o^{phOi9ipI_C zpb2%x5DiI?6E?GhiZF3y1_t%HprH(iYQ`}2Zirc+$#lkWP;s;i>{tuX4Nz)wAjxCw zu$@7Sb6$e14+GUo$JjxQzCvXN28}#W#ykf0^CV>k1_eiut`lG{ZU*rSK-C(Ae+R@D z1tk&)|2>F*8D!o`uzm#<1_qA^Iq*;=gMS;yrT^Gr8;}_1WEn#m;|v@i%Og}68051U z7$Ll^DzLdcMh;NL^$ob+93XR8ltFb5C=VqXgOUQYFH_3E z;1MJb&K?Y$pn6RWe5a!=2W-0&VcYbr7@ z)H5(JD1e4D7?Z)#xLcKh!PQ0)9OTcz)`B{h46Y#{p>hUUQ?SRt{Y}VdDa=PPtjwUj zsGusG!xq$k1od1&)fs41Dg>$xG`JPVTFMBnm!Ma5V-7B>_+qz6l(He4u;_VS+mBpoScT2k8(sbAURI zkkkWV8;2?}Fq~vyU_frb#hHPMPB+kX_lD-EQk7sSYf#&+PKkkmAJiu6=Gbe-z+ek% z+Zn?I!ELfLY77iEpthYks6EE2&cFa}(Mqa=npt2oKqVt+>XosZgVP+^uCq{QU@(SB zfX(p-=>(b60b+p6+6rQT+ICOCW~shaVqmZU=Q{8RKr9nS186V2)xFfxb zaM&Axwt~uC1hqnzaKN@EGS1m-!N6bznto&4!vQKqcAJ9&*NP2PG9LkpoP~&hwu>lTS1Tuj-6u5$22gdN{7a32fy0r3VG%@@(U8G| zNgZ5*dvJm1A_fM{Vo;SJ#R&>h*fveZIrl6W7!>A$3V#`}OfV=YEkQGhjOt*|!gg*l z&WW)E6_23NO?6HXJ68iz5om(d^=U9LD6oNQAqan;CIf@Q4N(5j0vjx%#lT>krp^F5 z9Sdb%I?xgnnszzrkSR~l7Q2NE3=C?9AibwJVLL<_=S;U`U{H?+wf#?Vf|i^y2C4qg zfHbQ>1rKPtMokQqt#5O}wvRH-*>1_eV3(`Oz#s*>FUZmW6!-tZ4u)+dWt=n13g)r@ zV2^=hKy&zvT%c7Ziq4?WVdess*Vf{ zrdFUt5ChH%kSYzNk-_e(76Svw7s|i17#Khy9}HF)1(D^|W?*n~WMHrp&}Lu&rEohV z(C$?S1_sp#ZO9xMq%33vo6gGo1$2QJXkc02Fv2=YZ!A>KQme%^o=+ zkiTuXVB2IF=SW&JFxb~LhuwP zZ0L|d?iVPuoVZ{cZyD#bS~D;}#&=z~KyI-=r_I2SU=8v^9Jt<#WyE6P6Oe_V`A-xz zsCKF8fQH^ZxnP@l8RzV=W?)d~1?5yvE>JpW46^&8&A_nUih;rIr#1rv$kz;-KSAy3 zATCfT&jH=<%Qz>?2DE$#l;%RXjxaJXfQDqWQW+RSxj-^Z69eSSQj!@M!?-|Q$PCcH zmntZ+L-^Go{(ex>gz%?>_ z=)mGRij^61b_{rzV3iGYfRLR*?j|TI)3{(ek{RdRvt?jV-~#2#46vs^YB4Yr`ftO^z5wFSGG zl^Jx#41=;IR9F!r4A$-n6*Gm3fwTug#e5)QtjwU}X&96fp~49eVNeaNoC6grfr^2& zmqNw5A!4k|pi^xalzX7U^C7}u+h;(+2nL!8QFsN>T3WM_yMA- z6(a~S0(9FC*a#;(s1a-oE|wr8M2+k~Mu3`70cSwT@+N00SOip0v$Nc0V_*mbEk(%iT$VwKEM=kGX&azIzf^T5DE@5Ffa((L%qYq5V#u@0LqN^An$-2A7}zf{wknc z2ys+kKB#O~1C`uR0Xt9wTm!U&7b*Z=Q>q2(C_n{3OVJp$kp%YeFfcIcA_>d|WjZ~O zV<1|BrhsO-^+9<%_>(vTgE}Jv!$Ern25u088_WXj9%f)?Id0Fu5E8nDkAZ(gNPsv@q*e&q9|=WP`5{vA?&pP z0|T2kXmEfV)ad{d3}I5BJ*erR9y(-UIdZQa)X5QL2z$!Sz`z!_)&aDA2(*eERJekd zfpde!zywH)fgL=!6%JZi$QB7|sfeO9i$LuYQ3m8@5vZXe%3uYm)1b{FP&-AG!3wEa z1Zr)FGFTxsi$FE3C_}_a9tH*uR!}MqZWn<>0H{`jL;xtDxxo<-8P3kYz~%!Q

C7 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 Kga#YDZ3O^FNtC7l literal 85192 zcmY$iNi0gvu;bEKKm~>-=EfGr#zvNw3JL~bDP&SX!N|fGBA}4K#lXPO#K6FP2Z4n; z7#Ic<&Jkf?7)kiu3I>LO!9i}$8Hss$sX4)^ISd6EmGQ|LiFxU%U@8wPR8$dPl$ll> zpPI*zo>~&0X_Opal$w|lpPN{m%}|t>8=st!SpXLfN=*j~79^Dx$EW2NC8x&c=BK1G z6r~m95+W;#4R4kJ~^q}!~iS+QY zoLUkOHZ~=(BoU-4IlrhVHMt}{1!QwlNjxlAVe$|Yz*<1@5f2uJDauXFg$RJ13yO`z zl$0Wnv1l5wngVhQ*i5kQjB;p4}+n@i3vJr1+AG_>2-GgZSjsJg_M!$txujnzl14 z!Eu(CpIMxmmXn`f1Xc?PJ+NRrLKI{%x>$N@9w;G#EiVB%6RaO5jEK1BR2FFHGMLgI@P>#tg#1KkJW+*R$ z+Y9n^QVBS7f>UQw5{d>;G=k&G+yE?I0yP`r+>(m;qBKy9fGq?iKA1cx11FWlmsF%A zgEKQI*(N1{ot2UVQJ4wJaygi$#wV4)1XD88Atr-D50qZPNek>AsIQCiOF&_SE|ij4 zj8Y_kgDM`S)BwdISR1k^IGyIECKkt|#1*KV%P5D4L826t0zrN%sVFEff&@MTC`%+K z=7GbK0iqw07IO0Q3!nmtMMa5~PJ|!8-PD(L)5<~*w_xPg3l2nGG)bz~alGGw_4N!(;IXF!+ zl!6L$a6z7#l9LK{Jji=R`MGJOdCBqMVhf8A3?&uu$@zKU=!G#s(F$XOif=?6kds=L z3aK(mDxm4CBtJegFD11CoT%m1m^4@vmOSIj%ncYyDnJ<~B{iuu9bQ?1L`o_$ z3&Eg6N32DwddXkcKVpa3V$%uEy%49!fS zZb{&(clB{&WMpK30Y-*61_Y0RL4t*Wfq|KU!33;8gMpuc2h1{aWMEjN%&=Lx@z4JU z91OA_z@iKcW{wOB3%)RHg^KeqL1oMw85;lnS6EQe!O^6l1kvH{>};i=kzABtTwIc$ zpQG#Nu3(X3X_}mvqN!k_XQ5{bwo8G50qmlPlGME7#CXrVw0wrpVAps@r(l1d&=A*n zAI}iiAV;5ITLUgfCr?`gP(Ou%fdS-j2`FswR3GzQgZAFP*PG$*I zV?~KxK~a7I$TEDG8SF=d3TANFBJ)9Efy`$`aKK4{4UNx^#^*rebAfFDnF5$@jV$3Aq`T`fYKR(9%JP_!Tf@x2015+;e?jhs`8Ns8 zymt%?3>6@QpcrOeESh->m?7#w=7EwX%sfzDgoO#nh%`n9hHMZ6iect~Xi&IAg&D3e zGBAM3dQcwbgxUp4uOK$Ec}JKS7$RVrkld~h9ZiDOg@o!VBO?n?m8GDdK)9}I2m=>T z@VZKffgkJ!Ge-ucL-Q0GN_ckiFtuBexWFn{8^{|8nH%$j^afniYw!-JWE8K^zc#H~awNH7PL|SO^?YU@%HzP<;EJM;K%wlYs@ueU?nJ9~xi$uX%hxfnf%R;^Y4Y zmLQduAZK?l89w?CQ>J+PztI9FkQ15AnLHOQU~GH{s^k@K|8KkvvSbF+TIPmMfr&T& z8{Ygsp#x-gCrEh*+@i*7APr!<4KMzOxCmrD$oZf)g5tmbixwnzF!69VX=w1sTw3t? z0S7||)1n0#O&VG});v5su{?S_{a`_!+$IgJx4erMWPl~)A%Z?2L7qhml6a(fVm~cl zhKNcxX=vT$e#`xr8zf@`739$cDdt5MT(lqwWRo;c4^J&m-lqi&V5M-;H9WCAemwSI zK^|$IS|t5GU_rRbIXtyIei-`a@YwS3@zg)yV9;RV;Zai30y#&T$M-Fd%>M^W46+~0 z98ua#ivRxeNOv&t*di=Cw15R{6OS}B03goife7;O#6pxpf&d~Y4HE?U{t(ztAnSQ@ zVGel9`K;-SJ8j z;#v6Vf8%G6k~T&Lh6aU_wom^xn0a)Sl(hcxLcHnoXaU0mCI$^=9%&w1sNFtqdH-@l z?EV2w$&!6yDxTVt)j@Xu`M+pEk_R)7w3CV^PYh2j58ne8h6S@GT$m}?v~JDEum2l5 z8$SHl)X;DE;j3c9{{s#Gm3e+BD3p9(!Q^JhkjBq+OqF55%ma>Z{!cn7>)^R*!hAyq zSH%e~2O3MZ zSm1eJ;<5iuM`R~V+2r7FIAN-ygD2EoJp9{?nAmRpXM6ac0jzEhc6EO_8aMslX2f*t z{C~G=(BK0{pIIUU4-1c4)p}Bd{f^?qT4*pilxz$Lt0l zN}4pZ7A;8Q0m<0%=z&Ffyqh$%96pr1X!d z09jY0uEpcc1InFx3ZE1nup=@d1Gw*^`1ijN6Qkmv|7pUm9ZcYS|Cbq5_JG`?12UV5 zhp$OP>n|V35#Bs8Ji1^(xKCnuY9B3NGx)6VfPLx_Ka) zfq|jt*8l%U9xx<$JY+~PYh+OT@!#>se+woDV}USc@xbr@6TkiEdEyzU!5YNIkP*mJ ztE8kA6Y`cfAf@>%^IvAL#hHN*m>3-2{^zOHU|F;vNl8hIN18|HE$?6E2TTlskNzvZ z_#f$*_~gG68^anCo+C{Q{w%!v-`qs;K(kR32dS#@ z)PTfT84fWr7BMm;F)}xtVPq&53}R&INGv#`kZ?w!AyklIm0*L5U=kyf!!Lz^GYZ-- zq;DkrSBT}v<>6u3w4PznB8Ew8|37$8a^XS=8ymwMku(wZSl(QIHf9EfSUw&$Hbw@9 zT%K4^6<)z4?Xsa3{y;_!HbD;80L7VOS)%VWz-@Ss(|18$&ZV7OiJ6Feq6tQ((emB+-p;L2hd> z0V_vHSa3{y@joGfWrDH5fo+TvpZzzm25EvcP&f@A|1T(DF|ZK$P|j#j4w9(kJfOf} z!5I)xvS6{m0#lHXC8z8MP*MV=p92pV5NVG^0}spZ;%r4q}7ab)aSz^IDdGnF0-+AjO?f#ScIV+@6Ee`2Xhr{}~=K zB(OYWNZ@z~Zu>FZcmN7-28KHi7!n>lU`TlKfFa?<1BQe*4;T_YJYY!p@_-?M=OIIa zz(a-vjfV^gIu98VE<9jJka@_EaOD9*g2F?F1eJ#j2`3&fB%FD`kRbAqAwdF^ml7E& z84Dl%pTuYaay5J7!~YW&xFoC+Z0Htf=mNWtJyI}JQ7kf!hxOpC{~Pc8UwG?(FDuXY znr{u49eZNcWcAy`7#JS33Vvb&wPauLFi1EsTwnO%gUN+!1|W9-!UuN+E|-NftCN@0x7w^@WM5N2M+!X+E`xZ9zg01Fi<3d%<4U)#Cnp-+FprJ%s zY5EQ(w;TU?SR1$eU%2tVE-O!a%{PUOj@!30wPi3Y*u7u}_X2JP#nt~Gu`nFiD)@;R z;^eyCzD$`!^Q>w+ZaIPCl&?;1(pL! zf{!4Yxfz7On*R$PIA-wRzruwx0w59ng$g<#&6?b75eyqA|9AWN{}2nq#!3HCH8-3Q z1gYM!@WB~{4ciPrY@LM{b_*Qr_^+T1*3ZM{!2r_PLafdzxXw09u+DN~b>_l#vT1{L zW)iD29r6Sq>iYntwcBFL8sS+k**|kjxhv*cn{7!UAI7UFhH};NS}iZcipBE|8)d z{0=T)IhTbOj0Fr#KysG+2aFwioYjOw*|ZoO)&D=R5QLa`f`viYfx&g5gP*~L3nn1; z-Gv8^2pl-8a8V9a7@p)kDEt2s*xVC5P!+Zd54Z?i6#wsF3^tmVO^d-$^#6eaDi6*G zI)UAJgPB3bfx#5yP6r2*3zr2zT$hCoz6uw)K&E=~UgZ1_buBMQg)vygk%b2iD;P3^ zRGegP6JbCxk_}`A%t#O$>^-O(*bbc$fSQM*?gEm*2NW1ivPpL|94L|AExl^`9wxR` z|2-5f4jz2K1Sz;J_uLEM4i*}^7fh6hg#F5D9UaVr)U)GA!O`tN`OLnUvU3Ijvq<$nbQ zA_R4ugy>+CU}!u}l!ko}4ac|{7#JG&5T#`kM2l8^6FWo0B}X+`v!1wX1#offh0P@STg=qc)d5YUjk)Z+ZAs&26c|heWLM<0QwOno73=9{${xvj+ zT<8F~;sq}#ahEN;#KKTe3NDU&7e06{(C|*7u>s_dmmJbc3I&jCvz>`;@_*S63m!|HJS9FMj=hXunq**exDKNBYFbl=I^ zro{kv@C;sjN_mgTgX#~c=Vq|rQ_FHp1X(Q~KDB(uI1x^$;7@|McFw{HvkeMnf?eCT z5L#jLORri0s%6Y~FdaJt3ND6>hYSg@wgsqt3LEc)w1vP){6dFg!-0|uH&Vslu&}@2 zlKoKg`!BZ}s7=8m{g=D(!~aF=K_!j`$A!5QCQK+5^7Nm4=fO^SlJbxZ=Fz|4+PiH!o!f^2Ef1cGm zvNC*gIofwK9gAf+uwuaqt_55Smz)?DEl67A%y7wt;gKuD55`Gu3@Z*k@@JUj#lRNA zaLI}B(}JW=&Wt=-i(D9G$%R$M>j&c^SJp-T ztRN+7x zHS9kaWug|jvM=&y2bsY>$&3A%IKw0-j!z3xJ~?ynR4sDh_`xWXwaArYkv|7W3CAQa z4mN&n%h8m6r7l8#!6c#x#dNA{FJE^Gg*eqI*4C?ziF~dZBAR->ji=04x zAs%i}{}7}GB*F^P!_DIZ>J70lSTHYgVmDG&1Hlgpx<#Otgbb`s9P%0vjM1g$vZIDu|NlSy|NoyKG@Jt}9UT7u|9{`?A!xcN@cVzB zDM<$f79F(RbkO9`LG6I63Xcv-emba>$>@~GsLH?q5ngoAHj~j)@GdJvQk8*WxB|IEwS)2|^c1>Bt$ktc(6$MG3&c}}S^Ff=~=@Awc@SVVw2Z4Ryi3`&9y zN{}MxfC7UDhvKdO1_mYyDgpQ}3aBskfFVKW0Yiep1BQeJka2ECkwAt7h6EjK*mXdkdf&o4O6Hl zW6(GYlai7lXjDau#~U?WfC2)!ziRf7LFu3X&*Y0g{%bN?3c?cvJi-G%{dfHQpNA>w zpo!M9q=U9v)0$Knk`8JsY->2g&CsNwwuzHr5f_8fA;t$B412lOvOxN(=9A7Ye1_Cl zMNW^PI*x&Xf$9JM|9{OK861E9PlWXGSsH)-PlyD?ZzRhB1%?WiiC;iDazZ&ss1hW! zf@2{#a(1vND3mN%4GR2~An^`Rq;#+>TK9iJ2S{-z%UV!|n6n8q$-vV1=zoF|NLUl3 zR)eJh!RcW6U@WM#oDb#NGLC}}vNeEo$8!y;wH@BcNJl$2~AFfr(Ifem2Tq|EbTy9QGj zH{-&O{~JGo$|0W9im(13V`pfW7U$l*VfO;XXa6^B_@bqKdbfhYmkk?A*ccfUAODZ> z=8=LYkQ%7H$P}dA!NaqOgOOp8vMK|E;`jdxzy06D6u_`sx$zswCdDuR7cEF>`~qTk zF!4x(M)g6%i+qss9VV0mnzDchxqbf6V8aYbipW+mB!K40P(;9C;P~}_<2O*id$2fu z1_g(KL5Y$_fRV=xrzs2&Ya8GHXHZh!#KGurL;+GZG8ilSa;;@S5(!V6fz2V6f+5U?}5ZV5s3?VA#gP!0>^GfkBIxfgz2TfuTv5fnlLA1H%zv28O4? z3=AA13=G;L3=DoE3=H`q3=ES*7#OySFfd#b0Z-C0GJqgx;u$pQ3#ygCt2dY+%V`=Q zVZ{I%U;~Y9gSeoHYuYd50oe$0;S%T)hY5@j7cGFgOoEw#0py}7Q2GW719;lMhZUku zg$=@IV299i*df#GE}W2Q`7fLh{v0j_2GANB1wjS|kbMC{5cxks5PhK4L7*x04WbbH zLc}2A6T}$6p;99bS(>s!0-{et5<uELK>o9K?Xv*$Uxi+3Rw_F zS*WA|k&^*tJmcUPj0QDvC(_ml#v00)1nu{b3i(io5B}@zq#ZWck(6t8OMOw@dw}8|r zz}O(SGcz!NmhFIyi)V%`A_JxD1ZK!`6_7jAVCFC|Fo4*)P`^xuiEA)0z|s`R{3Xl` z44`E)ATtG65dIZnVPKGj>eUA&5RktZ7#KioYp8e@k~oMBT5AAu1E`M=G7sdo78V8u zHK_VkQ1e0JYgiZaW7g(O_VJrE`$m9mC5`T;&{)B^pAr5Me6DP!vAT^-!0F*UA?gX(x zaRhQ_3?~D_45&LnWd%$Phz-kk99)nx0hIJ5xFE~gKyEhY0djq); zaazR%aRbOpHC&MV3~~>sJc8K;VuQ*ikb8KzA>j`)--DZh0W_oqQXkBX2)7V!1_o`Y zUG+%f4crV2dQkCoAdS#41hL&-YS|Gn<@iQ<;L(OdE2e}fGra^32Tx{k?#N8Ht1_nc@`lm?hL2Q_~m;l0G z5&{eipyhNRH^d7d%t;V{l;I%p4p0RN^$Um%OBoe4^xCW4Uq6y)~^s5nS{4op1*0|ST+s&_!*Q;@_#Y?#~j3nKh- zKoH@!*GS@Tki^A76&%Pt3=9k)wkb3{`v@W2><3e$!N35j-(mSTMF>*Ag7R;M5M)Uz z$o(xa^$ZLQAU3Ed1G%{yY9=Vp_6jjDSxAgoKHM*f4QWvl1o_V#CYpv)hKMHCuGptg`G1H&4q-$Cs$uw5Dq3?MeBE&zr39+-Lt z28IKoh&a6?3R>+4X$y&nfpkLhBZv*+g5pIB!~ogLz`y`vgSa4Z2M_})4q}6%8zdeC z6W3s1fVB%jZio?sw7Wol%oAf^0EGiceLs?VSo;yAeuEeTgD=!yf5i~>T{WoU0NJa- zzyND!g4K&NFnouqUk<9UplU#EP*9c!so5a`@gFE{ACQ35J0SPGltAQbHA!eVXfQCq z+N~hH4w4KEpf(;z{a#5#9(*Cmzz_*d^NyfKDb!w2TNe~%AiWV%(D-6tV2F`|v~57< zG)W=q#8xRtyo1CiNFnN-g)lQ27#KioSoygJNgTum#Wg5AL2YZ04?uM{hz;}m4Jm}* zA4ox#rGo4NwZUQPL2OXaf!rJ*ji|>Hq!}36p<(+R`lJ8Ym% z(QYUo)BuL)h9nr!z64}GsIdU+@PNz%H8^1%9S|R6F04}n;)5Et8qAP&*dYE?m|+YM z^A|8MFn~HBhK!&Bg^6Jsn*2!y1_oFs0HpsGsM7~+@Pqho(bR+X34j{=m!SRu?PGv7 z+Cl17pg|6z1Q}Qu%o!ONKn?a5sQn&{3=FV_F-Uy`BLf4d;oAZ=FN2YR0n|_xW`nr5 zl97P{)G&~O>hEJ@U;tILpbiO0|2$CVP?&+?H&lKdhz~8~LGqw=IiNxurv5reo`C@z z(}E12{y&BCL4^;9{~hE$F$M->sC#&r7#Ki>>uD%o3B-pMo*?tJm>3v9g<~32-hqjM z0aW;b!U-fF&IBpMKpj93KaYul0al=Z__d%C09sfGGO#lAGBGf~3J{R|Jg7V<8bF29 zMl}9DH2xJd{tG4s23TPOG7q#b3s$gz_@c}V46s53#0PIg2krAFW7mCZNpXBiYEEKh zd}%QQVuuW5V?Ai+83Sn7AcRZOW_*yr1x1;8C28zRB6#Cv{Gi#skGdxtIiBH>2ivO!*@6s89kBiDMfoN1p#8mIu`+Ye z$qC@|Ct&+JF~mX13$(`zWF*=_0HBJP5nAc0$S^Q4LK|nGN}LheFnS}+z`zLYjDZ>e zjG#?O3=9k&Na8LaHdMU>hz&Kz2E>M{zaoV&=K_cgRdWW!hUR%t0|sVq2$FaJhz)gv z4~PxbyG4S5ff1^A0}^`;hz(T_Y7jDlMwb{E7}kh0Ffc*~xmJMKP&HG;7#Lt`K#fvH zbx>)=zz_ivhq6J9TbP<1q6m9IgQKwU0d19pnGfm&!Ne1U5b8H@A>6s>6F;F&WAT}AwHe_aCSPo@_;^7#S zJ%^cr;XRZM+T+H>0x=UbSgQkNd$2GtfH269An|snI7t0+C>u0DyB^90iJyeBLFz9- z*&sE~p=?kZ`2uBw(ufZ$#9om2R45yiru5k$;-Iu<3T1=RU=5TF8bIY{ho}LiQ%NWr zlztCG*`RcN49Z@?&cJXH$_C|wD^NBlAN+x`LE<7D5Hmr8tm07i4t53x(BLX496;(d zq2deJ85qo=>@DmJ46aZ%Xpl7q$_ANPfW$rnWxwEH0IlW&?}-JmA0UbUg0lCpGccHP zLfixLiv^So@=H9F4H{%kg0ek085pKP**=^M4C|rn08R#m-B5N2Cj-N2C_93afkB!J zVm_#x(15aka56AxL)m{g85s1SY*4vk0%hBCF)-vq*`Ts#CX@{tpcUkXm@{2r4E9j=3N8kQ04N(Ym|6p6-{fXsSdGMf0cG#tVqka;WrNB> z(BLX4j<#?yFqrW`+;E*2GRFrJ-vhE2D((cG_XCL^;9_7XhKhsKg9cYY;zzg`7%HLS zAocZ7_6aTqh80Nc%}_Q-?@lQD3>O2#BP8})C>x~aGn9RSi-AFg7vfG3TOG;D72lzoSbf#D1i`vsK!02GE$_7g4!hIdf* z4=x48gZUPJppaEf!T_80p zpyD9*1}Gb(1~fPfQUfyc7E~O>egtKM)PM$xL25wea|=M+0AdS6*&sEbL1T~_4sHep zJE%B_9Rp?a2{JIWBC$6hvF{+UL4(6EbJ#$Gy^IVDAah)xY|vz?JCv;<$iUzQWg7@G zF!(~*I)V%g0Z_JzAOk}tlnolhod{*y3o$V4L1Mo^Vv7ht{0LH$4P}D{cRQf$i9!qv zAPjP6h!6wATBvx05Cg+eC_6@of#DUD4Qi*b3q#BVwO=x!Y*4#q9+V9lusn#weuTtk z6@lmlsnI}Udn2(yC)I)615(qEB)$oWeHn?(E($Rd)Xq8yWrGGg&p_E*L>U-3#2{)w z?J_|q+fR&vK^=*0i^PtHvO#USBq$ry*4qYUgW7{1plnckP(&PJ{tPh&25~5Rju-=j zDU`iHjDf)q%3dPIzz_#zuMlHk$b+)ih%qp1hO$8encJZ325|<4V^DUBI0M5)D7!

zY^XSB@O2)PeNc*lVI`Ce65k1BgTz4try#u^QVa}_q2i!E$44j|)Gzr0WrO-9%+e6I zf%-0{P&S)114A;D4H`gAgR(*Wo;)ZU)bDA7vO#^LrBF7g&vXRJ_K{{__zY!(`dHtf zY)~IdTLxk;s2^qnWrO->-cUBE-v*jH0{I2h9q@v-dqM4J(D)fh9JKHOG!_P8gBC12 zfvN$uiyfeCRM6rD(BcP1=mZ{Uy*5ZaNDRd0hKgSREslV)%b|KfVjwn54QLSp%p7BA z8x3q~$_`**U|0xcgWAYTplr}$hci$% zs9k&>$_ANZ0d3QQ76^ba$PJ+O?N5+6XjGknfx!#ZMui@&a}LC2WMBYIyemQ5il9k; z9Vi>r{)_~%p#$!q$$gNSph^3SAaOzw~1x?B`Lc>h~ z+QtKkf!MI{^ni+kCgi=LY|tb;52#NH)td$t2Z@2$FugfYaZtNa07-ojR2(D*V#Cyn zAgP%QRRaLR9fx!{lRspq-oS|$`d&dvjmI&czUQ$|nW} zhN~bpX!e(Zf#EHP4I0p3U|`^Z*1w?1OhFJEG?5FMR0Y+ipn-4(1_oUa8#M94z`(Ew z#0IT)Vqjpn2Vz6b1WjVX{3QgfH$h?`Hq2iVP;t=2<{r@47c~FMLB&C0AT~_>Y>+tA zJ@Y_pMg|7ZBfXa3HK4&91_p+AAU0^_83O|YXtEM!&R>u?BSZ|uhM98*H0}qjgE*meB}fd!hSe{i zNlZr2N)ZMIh6bn_kQj)~4HcgX5{KFw0vex$9=tUlB+kgd01^YSxuN0_AT^-L6b1%{ z9Z)qOF%X*@Djow;16m=(z`(E%ss<%P9g4$a!anPbU z7#lQy31frC9ARwGSR{-M8fS#DL1T+BHfTH%#s;;wVC)-6_C7#jzd&Mx&Z~l{M-Fr3 zw1gba$Y}#PY?0#{IXppom0;#0haqU55GIZsZlL*5m^gA+%|UWAa`=G8WMS%&!vxee zg^44F1E_rq6G!$tsJ#ml=U`-DfU!Yk5{#{YB(8(Rwm@RLAh83G*fB_K(A+P~%n~H= z1|)V55_<*`dkGSI0}^`=68i)a8+0Za%&rGW;%|`HKakigObEXVAhBhT*cwP|6C^fh zP8epF50ZEU5<3NnU4X={L1K3xv8N!hLF3~v^VcAW??7UM&Q^n|xqu{o2Z;@uD~750 zf+P-_Glq%tfchHHd<`0lhlzvw8!)y3k{TN%wg(bB1c?pm!@%_BAc8@Ky!l7G$4V*2F=;P)EFR%+aR$$kk}ze>;xos4idWpiQR(4 zo`A%jgT!8e#NL9$K7hnNgT%gp#D0Rr{(!{(gTw}{^MUzM1T<#~4F?4zwhj{80*UQ{ z#124W#~`sYkk};@!u4-$I@5*svE1ali`{t3ng%_qUwCy>;G=E7j&50J#)AhCZS zu~|SH0igaBKw^W&3t;AGAc>nGu^o`uK1l2cBz6iC8#H$YGqVOsyaS0n1&O@?iM5*u_z7|fglNaAOZ*f)^aPmtIjkl3KPK$tn8 zF(4QlH2wl(gT{qmY#q>84K$rtAhBJL*a1lF7$kNE61xP6-GIdIL1NE9VuR)vVQv7; z3&Pl-`9ByNG=~RcgXY*^Y|wldj18L8g0VsKVK6pm9tg%30BsC``VlnO2@}^q5(kY( z!NeVq#C?$15lHM5Bz6H38#EsZGp7SddTkl-b;v*#+k@ml7-S}h25po9>4A3t89?gVKoU?4vKJ)p2kN&#*FA!y1Y{W)K>a}w z8-zjXKs0E5EQk&B#{+lBS;C~sow=85)KUfjeO(1q55*x(-EX%;~1H^!0kXaxmsJ{ks1I&FFJQx^2eHW1XK>MUX zav=AC*6G6Zfb_kVV_>iWNq{&=c2z>pM~0c_;ssF$G7q%(2xcB={sI;kAS2YZA&bsI zY!HUo1)^bb0}|h$&A`yW3|TM_b05fT(8_0I^9=ME7<7;XK<0q-gOlS&&a~?Ur>y}1SBRX z!e9ZS|AR(iJ~RAhbYZXo@kPZL9Kf^)gG&NKf<*vBf=K{F!heQ8|NsC013HTX6f_KG z4>=4U|5v)m(!uOuoFN>cEaS8B!T(c>Iv+VD2__}+2PFwKeg$n&cf9@I@Wy}7O^)F6 z@;nbY-u%CoNyf)=k>{nxcOV75j69q(IlMdCC;f1|^8esfknbWuClF+?1O${=mo}6O z78HCrkS36j4myJ%lSLqO0S`yg5(}xcu4yYcyQZ$>^zKO8@fLKNAj`&MAnh3}6DE{O zcQ#ZoZb%adJn|o=^MC?F2J6Lr{}U2G=RSI{dY1{zTyT@KpFQ@=% ztOQAQun5dt(9lpK9RWTGqG74vO-_Mn3l=1NS-9~3fpUSBoCRqh#o)shGFU#&13A2c zB_W|ypku+q+5dlX2!t+x82pm8ph6*V21o(;5D5>E`4y}V4kgx87Eb!#FjG*VZNY(Z zfe8s;R&qd1WfgE)z{AlsC25Iip6!336K5$IR|38n}Z?`bzV8fFSMR{j?#UT`2(V1mJyPWAxExhE`;FmmlOn!(&< zHj~-ABYegua8!WK(S*iB2IGcM0mGdC0bw8?gHMsj0G;(%!JLp#A{_<_C|AJ)#{~+L z{@>&j=vd(3@THRDfD1^mCrF(Ki0EK;a3~c>Tkw-@!wvy~)CCP8j4#7I0bc zG4%h$(Eks^{$C9HzmlbwanmA(6&wwxK}T+_{~N*Qd{}~xOF6-@@CWFSPQ$PN z8@32qSuZ#vaNsb==#!wMJTyT{EI1Y{7BGDO-)cAXqz{nH3=YFL@Pox=KjhdjgU&Jk z4$Aj`|8M*YisTs_3JNR%ix`p43I)3jbPhU5-9PYofC>ydIBF~(EE1eB8-Apy?1z8@ zj0pi3z~zV{*su;JrF9D%8m2Ve_|wp#tiFO%XY(#30uD1UfXoM-4f_4R;&+f+JGeIf{I8$^3PerN@j@M3il6=~ zXn+C&#($3{{{~t91UKk}6R!48N*7;%%$vc@BXMBnf$6r4JmApcYG^2F|H&h!@sEv> zfrrD5fq_Rt@&5ls>lT6%8I#hw1rsJrnRN3{!%XGnD_KE)(+uwMP*6x{P*Mg5S_lK! zKk^O#LFchHC@D9sTR8F8|Mo@Plh#E{m=ru=!jug&1sh@hS;3*8C7=K~E(z=a4jCrc z@nazKREdoPQYYZ41X zfkO#HnsWMNULI!f$*H-_Z<&t?GU%9@FXR4n_|beExqz@+Kb1gl`iV z#2gqh7cxjXF#KQ0o%Z4LfeUGZ2?<|5d?;afue>ad`_uW~A3l`u#DV7DA3XTN!@nYN z!K4Y7BpDc%C}-tnqIW9f3I1@#67CGO%(Zb$ydMCx+Net@RcIYEto|JPVTQo(!v*kJ{@^?SJ}(BWe9ohZKmRNK{12-G!SU_G0XvRJ_5;Jj&;J!af{u2B z-7PSKscHTGhE7mo>|~Pt02=ED#m}7p@HtBy;KO;}{|DD$3-}orK<$nv2@DB$5*QL5 zBrqhDfE0ro2n%a+r1EI3WL&u7|6Z0u z3t8^6zh(Z*)VL0mWO$TqSSr|fc#G5pcQiU2D0$2KmzPKC0XsvH8pEOmj792!o0c#< zU}tEY1@e9cM?tybnyCwC{GT}e|G}9cp&y`d_QVeng5@_xO)Q%fcC;630kW zfJdq+QP?Sw;{h`R&nrl~D+BRG|r^ujb~2W&s|dwJZ&bnkOCp*UK`Y zskxz{q;ul}hmsEVH6lD(O&WR&b}1ZM2s%HggPq5!NkflE8^Zn5?8e2wFr%_V0ys8Fr%=8{RAgSr4?B80S5ycGeeW2z$8V%&V!l@+qf9igk^bz8h8EI zTsY&Q#>UQrD>im4RG8V!W3-@Ya_2%fCI-bV|0gL5YaX;*$iu;H%p=t~(V(lj^P1c7W!_mN? zM5oI#(4ni@;vf%Gr{f)=j=-K9ixx603S?On$hvU$e>ZW4MZyd=-5YiZFzi;A>EVex zE-iKF^aCDV9*F}tnlBtEIn%T0^p6cEntAMcczFDFuy4{fnv^K|C{g4AH^asW|5qg5 zaD1dF(tYqRV`D$aNsA`3Y?{c*uu5=}qUeTI3O!dk3LCa9kWO34osdv+jESM6v0>{1 z>Clzj0Rbi8`a;`yx)4*_jsF@GEfz{EX--s7C^6r}>BLP=y`rJ*Kcrl3JUNzb9ikD&AAG!;7?-Iy2{Ccgi#!8p@VQ;~<+#wb9!IYKbp zh{>&rA@RfiSZ0MnNA@J%4#S4>1x4bF1qDysm>6alPAFec!Cp}CWaH!i2Os`lB+YQ3 zU7%pHx#7!kDS zY1h$GI3>8?%z*`K9&mT8>S$>A!V}f7>cE9tO%3mw7W{8&=x$oL|NpDEUHxqA3{5A# zHZ**RUh&{nQ^Vb+1-qLX`kNMR|9|1#frjn_3-)bVaAVVkjfxN68(z4m*wAnI;Piop zy9e0#7;;uTST|wA=?M*Yn+}{2Z1~@FV3pv8JqH?B{eST4z^!+`emC6T)Ua>Uh0BT? zHiNW(_z%+i;qHMB#;^?bMGI;sG^8w;DKOy)%Y?5iul`SX=Gd@+<<V3mfmI;$sR_&hku3-twgLxBH?Jjtr(y*AN;S)Fg|!E=*Gmr!!fb;|EC2FZ#h1c zGd7$NTyU4M>+Y%L9f}ofv-Wl!nsNQts#m)Y94L9f$snyXLr_7XWcntiwzmJW9~OYl zCv*TUo&cp92>xIH|39d%1>MsF5;1FJs08UrNGLJ<{y)q~fM*BKc^o!MtF#!X!)Ehc0aT}PGW>9S5qN`fFUwh0$Z2dp1kbYEWqr%GmWhX3l>yX&%3$|k z4m|STNyQ`}4AkC;WM8xZw7J-W*-6Fl0Skke6SoHQ4@K}bD(O7ZJb!p}dHBFtvV$3N z#2i>;(SmeP70L{~G-IVAk2L5$kw4&TGkExUR=nl!WOUp7pJC#v{|i@v>X8$iJD3-& z5!j?{0tzBdkS}<+9&j@>&W8nzSmj5y3;%hz4$l9-;FiLs1r09)KP9rLGB8Y>`F{tf zCv}2z;q?ETv`rSQ0l9o7Cs;oyoZKL1_<~NH{QsZ%4+Fyva3cs5mmqAG2s-O95ZnjK zU@5GvRt!=#X=U|?1f5UsFanWI6P!iAZF3qln(bTCdxQ)mcPP+E{@w4kJeP`z7+=X;2ShV#HI4U{UXfPgfuAZTILQu)M zUWX~kxh%-J+{wA(lXKN1=h{QgbxOewC}{?C=IY=77EDIU1`n7S41fQ3Qes%dT)j!y z!AZsJ0SiM1)20QClQi@mF>|?3nr9Eccf)}I;E+gP=exYczOqoUHtmb!|{l- zXpy7?!#m|i=d>O?__AO@NW%<;?49jVOdFtvZ2b72hvSko<6e#n-%2iA2+2O(9?NuK z1H^`3yEkko*)a3KgP98&W-9aWJ=bJ?w4h?bJLip0{~vt%Ux$}RzVQjDZG++p&>|>M zUBSS>z>&a^z>~m`AdmpQx5n@X=-BiiWl)2|y;X<-d^{)QlvxdC2PXwjW+h?INy6?y z!fr{zUXJhnHwk+b2|IvJ;AKhJ1S%mMP6}=aW!#XaaAAdD!M2is7=?m@kPT@H3qlnx zY!_5m=IG#5YIyg5;luw*f$Wn4S(^gcAhJpe7@UrF% zXb0UT)%f?n!h$bN8Vs8jG&E^Q8yJ*;HX^P9UrhTQ6jz`NXm^0lGKItw0|Uc9R)h)Q z^Gg+f{BQgLa@Y(e!|(rL{crHyb>YndQjB-sxg%o9KS=aFjCkXhsz$e^UW zXaOj`Etu1Ugw`@CDa(S6Am(a(4RT}~Cxel)EDsl`izNlQ!zRs0Sn<(+j4K2c@BRm0 zAqcwd4^+W|@AZS-X9uG}Yx>}hg`7dI`1gO~@BfD;1zeh>zG()-!tbEr#s?e>N|V$< z2?AL)I9?Y128Bq|0)|6U3|*TJc{3d1Wa!#@$eTgBLwi;B%ruW@ieLWoum(9Z201er z2?YfS1s50#1{fEW-~_y z#jpQsUVw&Zm?nPy-_Ql}BKUU09h^K;jUWC)$2vjX^c5Tv-~PX}ZXvXh2O3XX!7=eA z_)O$kAbm4A8ejaM2p;&`!O{5S|Aq}yHr@VnNFtzNxALY)hDGZZG|W-HzM6H>x`+j< zgO{(Am@sp~tW}#%{gYm`Vb|gflN1|fDo=_CIL5^=eU-+hlOMLP;+}No3q-Jum0`iE z39DvqI{9zXNyZI35y}^y{l963`XVldIkOh6Yh11=zi3^1Z^`66q2mUXbp>Dx!q^$S=eACSgCLRe`ZU9FRH0+>bMxfQG z$RP)gGsW-!4Z-849!#);15}CVS{}tc< z4_d&;!?u={hZ}MxFi&_=5Cad}4CY0e3JttEhC<`5|4AMU(k{`V+Dd6Aizi;4n=l@O20St$fL8;hz1-g19tqh?1JQsk+o&Pgj0MU&9AcX-`5hOn|7%B6x zE_3GOY2i^dS78cT!07nqzu}wz9W09`t2b#VDu8dud&E5L;>-UZU;aP%?7#H82M}Cvz29>Lk96?+bjko?s%><=;j=&qB)>A-~K*3DGfSC#rEDNvx4^oW=4@2%{dcexy z!E%Us#lnmKjZ~8MGBKP{e!$Gocn(yGAO!(vL<;IT(0Ks}CYS}9YXvhH7{Fokzv2J? zC7^JrKLGAyf$}KmxB}3rzM%UdU;kIw@Wq2!@zs9?7l9s^Am(Xp@(hX3{};aaufev6 zol!~2{w&J_CWZ<&#V7wO$`3yIfAPuxzbtE+WN!2HJz!@j1b57(U&V6$W!lSpmz_uI z!GjW228Il_Am`~BWe4y4zjz0%-sU#Xxd&_v(ytEQ{GZG9muW2vNI68Y2D9U-|4Gi% z9D)=gnPb@+Fa3AC1Pa*|9036-4WWV#s{|G-1%>BI4#%_qgP5m-N`4l@)BghkQVc8v z1VRNHPyRPB1*xzE%>a6E7#{l%%_pG3!-K={FdF{=oDU6JP{SS;a7eUSB17Ph|As&Q zYp@z934|r_6tNaHe*4c*u3U6nOQAftpx{d-qb*ZIg#r%?&#}EM2HPgEGVrobzk#FaaWY%hSQ3#KG-A24jND zf(94mX-gO$EvRtU<9W*h>TUD+@`2U|`0@qpo^U!_+W0K{TBf~hmlibe@EaJEG+qUz z5bbg`WhSC1qBS`_BjTIgcFPjpwmof z0vAyA3vnWc;r#y-7yUOd5pbOQKX4K31};z%@Zd0<1(ukJBFbqv{eR;OkiP;TleD19 zK7!L}eS?FmfXz{4K@P|M{}U(vcW?#U2Qo8)!?6d2&)L}Z-yl@LvGaceWEcT#8jFFc zKw#^C*fg_a%m2U@Q0R5A7&iY8hyXI?A|w>c>SV6@v~5E$C86Vr7sHO>$w7c4?pT$(JkWkm9D3DvQ=X zf{8b=GD*91r6svAEplPqKIOU7NrS*!|C0`BIV@2?H8SXs!K9NGFn!W4)2DoLVzOvr zig0qaNMf=KV)9RNwoGEOYI62#Vv2NP3TSfnZ(@r2#1#05Dd-YY@FAvueyE-|$eR6hx|1Hpj>X?j4~9Fs03 zFw7KO`1}8)lQIVs7@9O0mUnyuT^IrGKY^7af|aH$NSuT2RC)Y=B}e1q|4muiVA7)T z(f_6_OE78O`0#&IRvMU$YJBj&DJuj_x;5Va-+2l|+-ki4zbQ+k@!tQYEO9U?(|GrP zQ!sIKIwq2#C;qom}h*REa^!7t6q@8H z+~g?Qn2BzO^)1~97Q%cia&BxeB`Kf$Wi5xqv|0?wMC8$iyYY(If@xM zDl0ka`Ye)2QG#NSSD>+&yIa(??S{W^1Qats4lA~FZqxmIA(?yO(iyV!O96=+m z8ldZ#)`D&tYCHvUy5Yh9iD> zq`HI2a0lqtcW~E`;o$cF7q|a^#LT#G^Z!i?svCEJlz_q%+Ajp%1)mPNhD3|Uh9{SY z@6&>6@GUuu7NkS2?)8C))d&pbnN#=l?Zn zXuV|ujWtX2*j!q`2D*isgTaI46LXM}3g~)j9%&vQp4_)g517ICBt!B-nh?7x^xkAB z9nYY^$nX~oLAJ6m7%-SHSTHy+xG;Edcu0V@fiZxNsAghdW?*4pWl&&HWKd#IW>5iD zOfeiW5}?!VL1*A1>0=0B2w?ziyh9g9=R?%RfY!hL7Y3dF3t9K}pP7Z>|4$JH$m+?D z3=9mP7{Fqn&B6?z9bXVJeqJ6HkfZkqF)$n#Vqmx-#K7=Uh=BogKsBo{1A~w-1B1LU z1A~?@1B0nB14CwBN@|6bf@+FFSz=CUs+EF4g=z&7p_&4c1C!vxRC5z6;?ol|^FUfa z0!0;>g;okhX(bi5Ae}l2MQKG9w%|)p5=%esa6WPsfop4nVkIm0x+XE6=WO8 zNerMhj%BGu#hLkFXX+@Z7DF-k+7*W2)B*)VV+A7vLo)^=11keVD^m*w26ty?D+P_@ zqWt3GlKlJ}T|ajPixf-KeT@t%2U`3#}KuJMje z!Tvs>A+GU0o*}M5jy}P*23(F#p0);H7l9%fau_fuazJZ1K0)((KfbCuaI%|x9fdRA!1Y{0qp9iR89>C7P0NURPTI&wl%bLIg zIf#7?AA|<&y$9J71KRHnIv*BvCkz7vg9~VnImkQ_h&?=F5c@r#7o1dxLES74vEM`- za-j+6%oUKmG7^yWnKcrS^Xd*rLd@AB1yTP*3bHmAbfyQ$eGak^^DN{b`WDDBFo5+;t{3>6dy1(AU3F<3Q_|)3l9_zp!f!zsRvr~3^MZ<0|NtS zeKhC*YS4a3ka`dsw4d=jXblbkko_NF!32|kc)gk zYPKP%0kL5R%b#F_q;-%QP<{uyM+1@fL4LWw25~dU{coU`wt&>XgPEzpzyK>FK4A+n@ZTSx^&q3}1u|aG4LE#2E^BU#`5F2z<2FM&;&?0@P zIUqKuMhA(za3kyj?TY~&lLHc;i=-aJ23?8)GXDgUde9ygxLrI944|V=L3&kr5Mdh( zO7Kv7L2M8gq$VE30EufbFu>{wP?)svAoBil(Eb;Y8V1OjfuN&4KzfgY&H#jl?M;|D z3=9k)HmKeKsbS?sTyi1I3u+}n@|y@Rq8w1=g_QFk^`^X#x(mc^1qCM5UJx5p7K6n1 zB8h|8TcK_!f}V!~iVF}MrhXM4qznM*1=WGzu+m^)0I@;q(Lnyaz{kMQ1C93>P+t%_AE>s#Dekj`2{3yAOguxpm4Jgfs|t)HmEHJc7q0_T?a}+ATvWm5NRet1ae^+$edCnb81Bx z7+~cO=rR{jegc^}O9atAIfdk&Gtl-T$ow}V;44%aKxPVxGBAMlXMyw1E>xK>2(7o5~zPc?N3m>08--vZIgo1e1I6Foe5G8YMa8$1hGNR z1F7$Uwp~H$LFX8P)}VsaUx1m5hR5(iyI18o=h7)Tr309YlNf*)Mf^m2~y(#Q_sM_;3JN>7^MiNo`Hb@ z#D=vKKxY?%{m8(;0AhoV;s%+297#Qh4e~q4FSlXh8j$l6K}{f#`iDs3PsAA*VB#;4 z#6fL(m^*)nBhn1$97R|g3Dn*PyGMh80mO!-F&zm=It1BeA%UpZK>Y%kdJr4bmIH;u z5(&h`YBr$E0t!zC1_lrtmJS1v#6fJ3Q$c>rkVKR-J(7@e9+Y1DBq0~6fYi*CM8ww` zNkqK^I^zlE9#CHe)E@x3=Z+-8zYioK7v6#Vq9}zh2YfaoG(CgPPXwC-I_F0Uk~cy2 zg3f*dwbeoF4N?%df!LcsjTw+1H5eFReIt;)2c!^b<`I$_P`?SZhYqAhLK@*V8EHuW z3*5WD#Y^R;XT(_+IEfP7wP6 zs38G$1BeaU;Rh0bE{kX0Ra;JwJ0|RL9D9CN|kko+s zmY}oAL26RuAs2gs{8Ay0sP|bE5SI@cC@?U9?hXODM;%0f+zGlA3EDRWnWLiwsrx{7 zMIosH^;=ek z1ob;?7dVd)UW2AKg;6QIVx06O0jq-GY9Idjw??M#sPDm6q~Wvv>dd;^8y zCYXAV!BC7mRsdpy!V=Wp1F=DRK*~UDP%wbT2S9949RgDW>JNdc43IdejRPtJL2Qsd z5Qec~;vgE7r$FK$Ghu8{TNP9egTyJhyeTy&Q4e-o6NHA};Po2yKqyuk#%ToGzKXo&#>C=Oub zD$6sV658Y=_we?rxRLRyf4m4O+0*Ad81 zpu3L57#SEqeep=B|1?4OMsP7Om_zwCNI?!thkF$=*|yN8?^{(J})S9BbhJ3#J~V*Z^}d6qszp=0Bb{n^xHBq zFu>Y~Aifux{%9r!22h(2RIY;LL3cSpjR&WPYLI!*b{t5)p9#`V>xa5$4w`vunGo$P zkov<+4B)e=LHQcQ2c!ImI0%RG;Flc^} zN8@Xw@j>TxL6w8!(;ZDdnuUP@R)>S^%VuF<$WdZokcNh57n=I%EDQ{wdKFZSfYdKT zli!8LKZVA>g~tDg#%Bg46sUti;U$g6*GJ=n&f$V82m23n{uVMn4^4dw8h<7$0|TtC z2l;0mn*4rN1_n^wt_%&2%V_eq(D;u)^AT#0Ivix)TUG`JSbYuR|72xg0M*l=`Vzzk zjhTY$b#VG&WdL6%mXcYVn3R(mpO~Hu=BMVNa6#8L6(p4w$LFTzGUTS_CKptKm6aD| zmZXAbqQEksi^-Cb;!7&xGfIpM;*(SJz^afhmx@oxOa}{sriao~OX9&(NohIx`9)yi zY=oJfoR|}zSqQ$!3t1>78S|zr@I6lKl0>Vv62D3roo|FWZN=bsqWEO&D ziqb$XE~$We7scxMq!O5WQZm!Qu@2@ZXC&sO6{Qwpga$+a^`bFQ9Kmn51N#z59(1J` za$;dX=74+#F|o`%9&vFUC_RDAK^6s1K7wW^QBzWCVhZR2HgHOUBrZ@YEU5s^g2ty7 z73CL!HG+btq@tj_D83-EC^46zxIDf%IWZ3$VGLl+@sMN+n)ZYWBo-AVRzle&nYpR? zr6uucIf>~|q0GF@5{8n*B9PILNJ~mg&dyIu16x>BQIr;+k_=@hB_Y`0P>xSe%>(-! z*DZUX#0rXq_}t9mWQLT26p(v!QbE_Ufnx}kY9ZMK6uY3vjt4ucsKU@NDW?eRIdHZ} zN`gv2(n?81d~#v|LnD`A91_nlGeR>6neF2Gm1jL5wJpf{ZCI=Z97$iV!(9Q3lJ0U=9 zP)82b#sINF7qEfOF9)%sAhjz8hz%N;0?jdl*r3inND9OT4FZGu4ay7*urs`WfY_jk zJkb0hhz%NS1dStt*r3h{0|Ubw5F6BCVPIf*0b+w101ONaPe5$YU>E3KR}dRI*Kh~K z1`SYy&I<>zLANk7Ffd#Ju|b1QpuPl%9S(9B1H%~*8#FM&z`$?<#14gs9|5sJlhF(e z3Yg_sHq`wuKx}9@fX4Y? zc7e`^huO6Qss>~iXuJ@n=7uB#10!fK0u=8cHY{vGY*42Z6xSd&)cggYv+$v6=789i z5dY2qu|bnoptT?%HdMU^hz**YVqjoU0kNUt3Q%@317zG6<1l!}6vDNF3@0&{#N3Jqwa}2WYGvss=Rn5A*LG5kxs~0mO#72Q>cxGN+7zfgu1Y z4w}pJfwKERL)C!pk${;4 znok3IRzj# zG_9r}u|adTpnfvQFQ9uyU||KiqXZ@nKIamu7j*v}OdPa62*w7V$qI@@(E1M0S^y{; ze1?26VPARQ(DhHmKhUQv*u+Fg7U3!q}iOU(k36$o-(9Ne~+} zG`${F7BfQ5Z`coIgUq-JWrN1uKx>6S>Otc+ccJ2-#dx4a_8@VP{ZFCdp!Eiz^B+Ot zpyG}NdT$S?sC0(1LB)O;lnpxjJ`KtSZMv(5vO(je`=M;m5E*C;17s$sqWS|B2d(Ae zg5Grr>Pv&hJ3wkc+Ye2k;x!Bm44^Z@LE=G73=E)qqd{!YnThkEYC!YL_n>U>8S&8j zd_Za24$7Xwz`)=LWrNPycY(4&=g7N5*`RT#`A{}!Ezu$|K|rY1A{u04O+A24`qYa66HYI#ViaAAPmwA zx{q@;R2;NsXdRRdItzOnls$)qf#DdGJ%NRR;Tn`Zg@u9P8I%n=FZ&;qy?}**K@Qaa zWMp6ftr=2=vcYSHplr~Y+L=%`XboL8lnv@P*Fo7atPBhvp={9F9VXEIMT`s#T5Jpq zp#Cbz{h;+ju=|c2*%%nop=v;9J;Uzy1m%MzP;pTH*bHTZ*7010vO(*3n4$L|f!F0g z*3=FNU%~d2u6@4a%dS^N&I5BiI=jUPHw}=Q4kU zvO(g%q3i^91_oZxjycdh?CcB-5>R#uI|D;HlnvT;z6;9EVP{|foi_|JzW}rb2zt*_ z2|ELWB$QnPx@#25u3%?ifZfs5!p^{;0~POJXJCNc(F7`cKzDtD%mkeW9Sv2J$;rR~ zTH^x}2kG4i70=;dV7LNhgZy$G%AUZ^!0-mj2C3JD-mL^G7eQzAg3JMxg>g`E5iSM> z(7C)IaZq`A2`Ua+#{;@=5iHKlz`zN;L&=<*fdO_eD5&hzLJ|k9HfRk^Jd_PuHv_v5^8gGY>?hYC>x}HF_aBji?a;M z?h#;M0Nq^$vUh?21H%cZIH>-=3T1=Z1;wDXGmH!jpmszVlnrV}R72UIw#G3i`;H(3 z!v!QZ>`qHiTVn(Cjww((=z;3Z$MNi7kV~R!3qRA+f!o z>@Z;lhS^XysNJ*-$_BNkqCxA386oRVnxJeC5e9}GP&TMtwj0U@wb$N5*`PKZ=-w+( z7+wLbO@ZERbwh-KAr#66we=#PY*2e}9+dq+gn{8Ul>G$M)&t!=#mK<$LWF@q7|I5% zH3^2YLG8-vP&R12$Sf$kMvQ@B5tQ8^#=x)(%5D*3U^ok9gVu#SfU>uWF))DmAUA{B ztqh>Mtr#IzxF zUk+u1)@p2ovKu5A7!E_(EfNe2m!a$q2?mB|P3=FV4HZMprFt|d+y`&fzVxeqMzbX%jT?=J{)K7u3LFTW3vO(s9 z@A6`Vtmile6$kaJx`R#X)`LG$buW_vO#_Nbx<~_uYVZI2Du014v-rpWEdDOL&are7#Q9_ z*$OfY4Bw$_&>f-7vXF4rkYQjDhO%{J7#NhHYy%kv24g7OM23MO9?AxdHzYyXF0u>^ z1yD9*b5rl(1Ef+=6FNdpfxK+P_}~{14Aj4Z6n9P z&;n(<$T2WfgVw5m=2_(!80w(xC2|Z5ZBX_KIR=JlQ1%)*28NkX_69iyhLuqE7C8on zHBj~rIR=J3Q1%`<28R7m_5nEth7(Zs5jh5it5Eg{IR=K?Q1%%)28M@F_60cxhSyN` z6*&fmcTn~XIR*wE1&H78$T2YRL)oA)At@;PfgA%v1eEooDe~@Ef zsDQG+fWiUFW|3!LXoRwVfWivO=8c?Je^DBD7wfx!yOwvlIG@Pe`(JOjgjC_6!(fk9sh>SiSdhI}X+G;X&D$_9<+ z{f4qZ<9u^K>xLK^7(i=`G*uvaL2HKepzJ-$3=AevHfZe73d#nJDLO#eps_|bC>t~e z=>uh7P-b8Vg0ewlmJv|)4P^#~I4B!5#+eLdKLG9hfwDnkqIpm@XsomZ$_9<0RzcYx zlo=QrpzJTo3=C~hHfSui2g?4V%)l@S$_5=IKOM?uQDI=117(B8dKW_3JSq$f%b{!m z6$Xa2P_~E)1H)!08#Ikd^nIJI`n;W`L z9(=zXlnvT32vP$Q1F>Oh{z1o2Kzp35q2n8%Jxyk|sRlZ3 z0NU4-4DF|b_744qvO#-(xS@S*(7qrEC>zvg2hDwh+ymM>WDgbhU}azcVURdz|4$B7 z9Mq403}u7%=X`^*LH%`IXkQ!Dmyd?BL3?lVpls0I8_*sgM$n`*0|P@JR2(D*V#C%d z&xMME_T(&rvO#_MEuir(sNU63agZ2@4buy{uLEsv7j0;N9JJrY3d#oUx0wWGgZ9;&g0eyTYQT3ZLEU)|Dh?6@ zv0?5MhxVO8`)%fc#`>V@?V#cyF%TQ3J`^er>Z2z^*`R$mc~CZJ56?^}8?+B+A(XwG zlYwCglnvSo1loVY2we;64()@3#6WCrsQ5;xIB4(91t=S|uLgucVGHViyFvTcp#3f2 zJA9yegQ4OeF%TPOW-e45v`+@K=LTdBXpc<~R2;+x-9G~oKgG?!um>s*+Iw>h$_9z6 zfc6GK*P4RvVg{)PiGkSMP;pTIA0!Uit0NEXn}h6Cg0eyOgYKCDsWIbWU@(S?gZ2eE zLfP&-3=A$%HfV3s3@CdA4+Fz4C>u03uoub(?Rz-^WrOzQe1ft;dvE?i*`WP7ve3Rf zXgt6G$_DMj34*dgdu+m?Y|uWOA5b=EkIfQj{~cu4awr?LFX$eW4cZT*2koU^oL}gVv=9Ffh17`_Z7iH?bf#be%J3 z9}FXC@R)&t;Sflik%0ju24ZtV#a}_iL3?9DpnYo4-k6n8HfXQQIw%{ozvU5>4cgQ4 z9EmLi?MH*eMWJla9vBcGLHjr6K-r*u9qXZN zP`@0sFN6_v84)N9q2eI1Lm~_e+)(k~P;t<{4n|O48+tD^3y2L`6a~7A2gC*~><7(* zfY_k1CQ$|k(7p{u=pDbH`=dc&1rh_XxuN2lpnYo4evDI4_6IQr2GAZ3M$kq@1_p*p zP;rnLh|LWZzY7%y>74+YKZ1&Xf{KI0Kx~+L&^^>3H-O9!h4!66do4hFG8jRdc^McO zvY_H1F%X*@D&7SZ2kpUd0nJ-M#iv8XL1G{_OuYw^npIFWATbadre*_F9Mq==?YDr{ zM}pA)GDr->hLyd3P;t=y3UO%vR{^x&8p;Okod98wA3^119JEIw2+9WUi-590 z`zWHJ>=G#khAJo`u^=|Id;sl-U<6GDF)%RP1&M>kRHY$oZm75? zv_A;i=P(h(1}*3X-A#?e&Vu&cKzj^kLD`@^42z&_(B6jaP&Q}}!+t0mw720BlnvU$ za0AK)?OOotnSkY~|4?y|7>EtaQ|!>b9HP@p zbAk3Pfc7*nf-ctrtx16PQ$S)MIc})9C{!G@w;@BGfq@aUke-2o0mKKzFGvi;=7x&r zfYg8%K{GHgSU~lH#6WCrsCWTL4QO(Wfq}sRssd#=AakH)@)M{UkQj&!%hxYJYM|{yc4)r?BnD!`%BV$9anK%&r64wF z!2kmT1BfpInn(qu83x2%e4y+Knxh5z0OUj%8Ah`#$GzX>zG*u5{gQ_%!!`Prc9*hk- zqZP)c^}Xw$`}SaVfv%o{u|ey>VQc|LM0$`wVk6&4u7MbFmdF#1I^#V#F66* zw1)&HK6(#4C74+)3Sd*C7AFnSL>BpgQXfro^{u)YT#+MWlk$%EAk;CtYq;-K+)m^kRJZy4Ky z2hnEe*gZ(>8A$9U zNbC(r>^(^A6G&{(x~)FOb+@kl3I@ z8DZ*q_z`JX0*S4H#0JgXz|`9yiF+WiLy*`BNbDRWb_Ei<1&KWYi9H92y#k571&MtC zi4B@3g1PMmlK2xO_6H>PA0#%10K)GgNNfcpwho95-9ur4#CAbq2OzOykk}bW>=Gn) z0}>mweiXJR0<=yP#$Eza1KME4z`(EpiM8C@Oh>=ck%m^#qd2#5_D>jH^qcrY-4)@*>bu7QFIBnKK-0Zqk#%!7J^;e{Fl z18Cd>qz8mS>OeGTyAWtB4yGOf;=AT|iY)PeTd zfY>nix#Tb~fW}@x?gNDZNDkyachHz0^bA*!{wwMX44fbfKpfC`I#eFCeGViH8V3SN z-PM4ckqBagFh~xBK|{HqeJvm{FxG^edkbbm%>uCtk=P)U*}MQJ1_n`3M1V9Q zxn1ATQUMtlnwT3~7#kZ|S}G_Q8WrshUq4GCQJu0C#zuz~<=W*lg! z5o!YiLkwu&BQs=AA!rAo5CcC0=-lsyFE*UhB^25%IeCQCPDr_d!eG*Z1w2aAC3q(- zRNyh1F2M@AM~ufw_5)}<+RTwb>Ck_Lh7zTP4BtFB6o3C$=$N1+0X|0@WSP$c2GH=| z|Bp6;44-X4AqjSd!v_eP!K{(N@!NkMEen>tTt>=zpv#1r87x?Mtc;YQcMCH!@Q7+E z7J~0ZGW_tL&4YoVgXO`4FHIVHXZdCZ-gJCvxR;g33Usw5=mPX64ZXdrJX&W#7eexA zK`!qCT|L9J@c#dT4uJ(7pxY$CcUW~WZM+Q<+R&kJ!|{dTj6l$p+n^ghI+)BkzJv8_ zyb8L8Vg=KNRRYsE7%wz@$@P9&|q}=(wZ*(0kaycgTP;0O+jyMuuMY z!tehlf^VB!!QRjSx~vj(s}eitwi@<@pZ_nI3A$rrCc9H2TNC(BQ^)uJ6%KsSVBwK! zQqtqm2Azt}Vz5|2Ny$7QpyUA)Lx*ERLP?s0vIa}T4h176{e~3^N=kYUm>G6Bg0G4_ zaNx^Y?gvZ^Zfpz;GaS=2g+WF^F7$?&M5riL4zgJiG}8B~2QF zXPNi1g6=Pe+#1KD)p#CsaDN924_A|h?*k5o1&b6LRw++f{KC80= ziYr04%pXu-&}2uBSWtNg8jA;=uLUdTAhC@~nmuGF{QRFss)K#g0;VPneWOG{1qINR z?+y-M0s=}B5=s^rglHc0ycm=ykh!pzOYE>J50g?Nzkvgbmy&^@Bgk{Y|202qu=8js zDS@sDZ)htyw2+}GQ3!O87(0)Z5-83<`J0Ks;v>(uZ^n!~VICi~RTK$_+}&PKn$+EFJ8J4l_1s=p8tyxJi-YP$oUtuuC^JG=lQcj>d)qUz$Q07cF3Zz{#-UBIH7b4)z@fn>2zKEnqx!Pykf2ES$4q z(^Q5-QyCYo{@=I(6!i;N{@>wvA`o)ZeFys@MV2OwfCn55%a?J^m>9;%0WLW^*jEHX zh1FiLnK5**uW*F&m#Ixs6l$FLe?mvYBo2lqMV5xnrb&vz4IL9cbO&`@N!bk)*$gOdlI(Dtq{!FMv7n*j!v);tOLhce zQ3f`2(&B$S921P4Cnz~fyEGUFHz);nY;g&;C?ArXikHjdwww=wRAm*rXB6BXySj0SCjK z;2G>4;xh$16(>z$Xqv(}v$3;qh2Swxh8cn@*e5h5ESQ+kzLKqJ3d2gl&c+>z9pW1% zCNykJn7*2A(iFx{#hHa2Opt`L%u29>X$3ok^UO-!4YY8zgK330Oyog_;0(o1_L<@x zjWY_HLKr56FoMEpMqmefLub>BL}=PdJJ67(jL^5tN@PZ0hd8o|&;t#j%9|GdlQy2= z$iuNA&3Qwpvw=ZLLt1b{Xz=vSOviTocY6Z4JqJ{lfM#MrGy?;t^4o~BXU?1nWE2HW z^MVCIcMyI1ANcLR2eab0{{b!nVJ6}oOg!44t4Ub?axYqt#goGWDoCM%XIVD zRR=cQIdI^F;DUvY4rdl!Xmp%4YePrFglUcq?T!bII!-!yyy?X8LuZb!V0M_f$f0AA zgU_M~lS>+!OB|d_0-_WqIR{O04sLP|X>tyAat?EH4i8FZSi~III0uwGJwO-2IH_py zNb{`WspW~|;RlDwq6O&?!8w-}us>SB3Ja4@%wbNjyJBj1avy<%>JxLA2b1)FxJ1vT z1#FKNFo5otVPWuK`otU#mx@8?3HM;)$uUyVlKy{}XVHRm9%&vvkPc=B3y_nHltE59 z19cKJg9a0iH1uZmJs`oqpc-8ELwZ_T+RH`VdS;Fc+{OkCCEqdxCowT7F)=c%RAx|8 zUZ8ZKjg^6CWxJ);Bql~BCMLLW(}~{=O-+g){x_^QRM6O@ps2V&>A);dT*>O1PC36iU>TczAetq|}TYmQP}L6KCMr)h5QU ziJehFX#(VS+733YD@__PixxE4oIbRG;nG>B2OJD(&U=*97?hMeLA5PQK#)Qti|mI@ z?2J4-Jg*w>gCbmm?c(kKN=guYJUkDW7><4V&%l!fR@8VMq@;sQL1_ZQa2_6r*=#rd z!`t&9kC`oGFk)iRZ1ia{-{NKX`@iC^|3S287Bp-+ zD8M75v-Z(J!A}b<9rX9qo5lz zLz>9GNsNNppoaJ)N5M@eUu@V=!sEfi=Cq(HXn`h!wQ_=Suz^7d!%Ss{#mdu{uufV~ zHOWzM2GbX9SI5Nds#-d`Hmo|ZV4}{ zotM-2^}iB_of{8>5;N;D5XtPu&7j20c#M-liJ8rfgF%Uz{>&(0=}0EQ0b=@N47nk;G({IVZ-E}Kip@H{q`Pyo59 z@y`EA91d=542?JcPvUT71Lcaw>;ETlIJq%0G+y~XiNksNCJrMGd!xhu3^bcTTEJeg z31CPlo3ZN-h-20Wx_mtmbfp!~SEmIM3JoQo`!m~3SydSr+87uXF*9g2F7jZIR+2V$ zpY*`+`F22|M16~BFRR)jcBMm~d)X9vn?Zd$W;W1elpJ$81au}e zEDBk*XcHI1gB5}dQVtBO7fN@mnwi$|9Ml70mOkTcoVI5N%wa4E3<;q7%o!N||2Ioy zFfb@_a46wn3;g+ib>T5C28KnP4B0b5Zs};B{;7jCdtsAC)Lv##r(i+Jswr8G6DA~p z?xs&uOXJ9H%$nr(`9A}L6C*RYmCvNa$k^b*=-{frU@T~00=q)|F{s04$>hYyYQ)H* z`0#&&i{JqTh6pAD7X`z6{|!uWcj7>S2gPQM42nPh8~*$cx|5#4Nkxw*YSRKna4~;K zm=VO+26bmZMfD;O-}wOxLnG)a;)YcloK(ygo#J`G!r=Jke+Sbf7KV*4|1-=~p2^6= zIa9DnBXQA!1|FG93$z{`6aZyx4u&R1fk`L6EIOgJ$c15oLx~Kh`%W_tCK=C$&I3*= zsR!@;UvyAlFLRTl0MveD_h>L35@rPT52SdsAzeq%9idQPAShV>EeEpxt znTKgD=#n#TW35%7mW`Hj*yVrPhoY4Z99n$fkYa<5@_~dBHYNrhw!#Ph&$8*VS+FiT zC}5bnvH&!>i`G3=b|6a~cEDSZDKP(ZvP$KB%#USp$uzTSL7r_mi z4Wy^Afd+gwp879iDWf9O&Xd)6{=eZ_P$Zw=She`TZUK<$w1rAhOob=^Z%6};QDkx? zu`@)l!b`#+)kLqyGaI30Y7Qvu&&7elo|R!nqnGon$xbYBNt|&(%#o9rBbttAF{CLo zxF`oi9%yoBaBw@|9qPW6GlJQ1Gw3c;Pozo<+93ypCa7QT$YA*EzvHj}P0FCgw0noE zDg(n_rbP?bpfu-ozZx6vW^Z#HjfA|H8-rHJEsKl$4UdvCh*08Y|*qm;k0hBL@r& zIvorN799);|NsBDk9h!+Z(#WU|Nj4g2Ou#}PGVp%OJs2T_}}m&C^#cn6h9zeD;&XO z`1XI|TbK}&1{+VUl9Cpvp_a{~%`@lI0!C1c$;P7%x?GQM(SmHAIU8;(Jou;ZfQcdS z!G9Uh#i1RniueB;Sb$>1k`**O!PI!?zu}$#4V|D73dmp*v*OMF3K}3KnjkGRm>aMC zSG)#O0ur)dGO$n$a|XGxgQ@1SfdxpjC1k*fM;U576VIx~)1bN-Gz08lLoef`g91tt4B8!9#s&sorqB2U^%2PB+B|dK@`74y;4y&=)|^iYY9LEAL5_}K zQQY!h+gL#rEW%=-^aWPFL8Bf@L2{W9F9U-yXb=>VCSc_V=#ug;Y>D6hN3bnYO?$w_ z(D?0tEZ1@iO%FC6YbTZ12P_O3Y`$DcYOxDH{O7TLz{ap($$<}Ef($Oo+Aa=GiVZG; zkVeeG$Nw82{-5~h|DiJmn>ZMxJ2rVTNY6Yz<5LC`L#Uva>w*O(t6U7s6r7UOEkPqy zD-4(uY)&vHtX{QBtK$q~!hd@P2LCrl{6J$?KS4pN!K9#I`mIS$@f(QO!KC>0e?x~d zw8f?jYO#T9Ohs@i>0kmi02`h(bSSqkVr{z7(9of*_~w7Zd~lOcS#bim%L@*l3ycXn zK=%Fr4_axj5Cgq)`PctRt3ej6;80LtN!TPfVU@sw)d~~8g2cer!mi+K{QQ68=l>0> zK=&#)egaE?E`MFYQNuZ5mH>~`f|;PyGLr*r4d|X%Xat~8pn3}=jr0jdjyoSNT4*sTk;n4l0}cjTu1$)3jZgot zxM&msYKN{;TExUK@zMVWs{}z!q*cm`A{m+%Cx}CZ)U}NHHoZAV@JFAc2P?AfSXtaxVwNQso6ZCmVE5Zm zhQc%;EaO|9m+EeXIx~s ztK86#uu^g1vi~<3XF7H!GF(+=_^;f!5|j_cF3T9s`yVi&WD|4pCFaZ~=6r_T$_#gv z7crM^xa-W&q1VpR*2iyMd<+%Crk)y(* zg9=TFf|C*j9wqWU;Ac3*ymAqv!X!n3CPl#)4;P#{uxjQe3C2Yd3=d`=IQ4GAgpxM#5)2dW9#|9{JfWdvQ*h9Q1trHoiKmy9;g+&b)^#nG zhUF!9qIh;)*J5HbXJA;NykNOvL)U@w7ff!(42PIkG%>HNV4ra2z<~oLT{DZ+lNQGP z-^3hn$a%#i=ary4@7Wm|qy860gA(}+jwa?5(5=MmT{9<4NN8HmFkwPTLzh59rvj)E z#x8b@z0m7_q7PUt`=cog3tj#@i7_-WuP9;;m@va}6BEOsSqz_;S0;%uGH5D$3eGs_ zaS^ol+FV&dAz`8O|4znC#hHelj+TK+iEPlQasc@kl#v3B{;%Z#r%)!h@c(Qn|JSkx z>Ozt%6I;yxWAVrXMxZ>C$l&<*f8+1}lT;WENw6%EV0|RPbV-7F6Gy-#&8SC?43``k z4>>X|a%2`*sPKT3!GmSvr~ghW$qc8I*D^g|VQ4T`HrP`6`x4GksI zN?|wt$$kLUQJ_#p$Dq7!mI!K?D=3tJsuKfvfBv7f3VfOTf&~ea)-xc6Z1x5pg z0C#%}BOMxE;0l@m26gU0qkN!A@Gqc(8Fct06XXKMGti4Xcd#*lTXPm1kV{?Ga6$Ms z+>px$6?h>0ExeEmlR%3?K+RGSe#qr2JNO|N!+;hCfG*Vg0NRMkz`)QT1es9&A`CGX zw5b!cX+Z?E;gW%Yp+*#P>Cy}6MN9#b5O=+hgxCYh03Zy$Y=i-FAsZ7C4Vr`pn+Ltf z1!Ol!JxCnH2B`(@;R0Pu1!IH41gu5_a!D8{d_WhrfEF2m&W{AC^8+bhU|;}U`~nI) zP^JK>0c~;tt7l+f03DtP(gRWt-uM7g&%nU2k^ylcBr7B0q8>xg>@!pihz;6r4RV`5 zXwwH&Jb)46N02z^P)Cq6Kz;$SL1*iN#A_KD;Fp!%K{6A>2A%Z_Qu7feuED?ni*u0s zLARZO_F#eB><=P9_G&ON1TaD352Pl83353D$cP*!28Md*g*mU0E{1)>1i7FIWEU$l z;xauUX2>N}An{<(f_9Mk3=9k*%#cZTka#LH0|V&nUJ!c+Gvt6<5c?FU0|rtLx-66# z;hrZjHUs366AP$&OjsBgK=B09+r$D%Hz4*r7D&8;*ymUv7yE$N7g!h=vY_e2iWPDR z4@lgD6_U0=Y|vp1pkM)oc@QfkZG*&$#6fIWyia3gU;r%!0jW973OU>tq~;te zXv!X9H|UTDb*R0vY>3N06W9>pmJ7X11!PV)(xt3DYz*Kx zVd5GL44`}rPM;bK411s#v4Y|ebg%ucvS_+oEmNh22eQzGG`jh90mpk5F2LxY$S0I z8+6$qNc}}5aS$6M2Ew0_%>Tm8zyL~bAbX`jizh*03pxOq2NFjh^>UzDXOKAPl16CR z4syQ+4+HqFcaUDtp^Y%VgV;{cFgXO%3)+Cs1G&r-WG47VO^}%&O}vl`5<%i-ybKJW z^SMFn4qn8iyVF4n9ii$$3n@Y4pCC2Mk;GT;~1X2&G$YJ6jHcT8;xx>UkY?wHx zvWJO-*f4QW0{|utV#CBijRKfBhz%3x1I-me-3elY>M)Sst&qe)Y)}+{#6fe5Aoqg& z>%j-PL9G2Kg5x9tFK%7NkA~Nqs7kdJr3Q20Tc8IaED}T?td8!N35k|3Ts3 z!v`q`K<=0WWrNg%7J|b32x5cII01>DXyAbUXzK0)WxgX}d2Es_MO0c`;1M_h8A#ScmIApe3Ec7pbcgUsB9 zWG1Zb0y6UgKLZ13b1BG7(4m92?rc z0=bz*2$5%FKoJLWC#VgAbg?a{9R`jI4M>{|RDXf=ZV^IqzYqfh=-?%g`(uO=mjHt< zeFc@tAUCWOW?%sA(Fd_VfdU_77pRRP3~48V%oIVoxK%;~Qb&W#OcO!W^%WwB@_(iX z#P1+8XM+k-sF|>~BFM}w&3|5LEd2*M^aC1hLZF5a)Ern_6J(Bt zC<8+vwEa+tqz2Ru1+^B=I$33=E(Py+Pul;t+R&*lD1KAJi@o8+3Ua zNE~!%CdgeNyFQ6S%2g1bQ37#+p@anFk~fh0LlTg12B|+HfoP9i1vQ|d=7ZRvWCl_X zIwTVo&LB3(Y>+sptqvB~U|;~TL1hsr+`dRKFn~4~gVcc!^nk_%s7()34`PGT5=ecH zBm)DiExH?Y_&?MQdn6(G17sKIpiI!YI3V_O=z;E_@*mbe0Gabe5|UOy_Nsy^R;W23 zJ3$!McK{8Wg4iG$RE>hzK2WtFHYJxC=BFf1aY!OQ?^9D`9ptBH=`Q;!E6C~+?^ml^pD`jF}h=bn!1v+OQ zbQj`o=v{1}t{F%R2!l%T&7k{3*ccc}q3S_*z=7mI7$grmpC8oR1a*l(=05>RKru-E zD+2=qs7cuhy*rMVk%1wGn}OjFln=V&4yqjNU(mjP5FgYe6l7pwZ~@(Q$iu+U1+_nz zk%0l!gn`{nn9az*0IE{kpyq+@G6Yq1lc0RiU521)Y8RBhmXU!0RP~ra%{u_PYf*@S z0d#IZ$o=O*@=-3XBen}<<23WBP z;)Cuk1f@Dqb_3n*X9r?Hi&PLF)U5=iGLW$#elimS1E?6)0C)A67z&~4K~{povzZBU z1~2F=43POVm>|UzO#d1t1_n@3Q4MwPL6CZAmItXn&jjgq!PJ8<1}Y))5~1|?f{aSH z(!64*E~Gn(P;T7<-NuA;PZ;RlA+*cSN-98?Af==xm8PdcuUbOf3kJSE3H6FI}CeVFFu$!o0@_DH_@sKN^K(|gY zK&~%KN&=0!rRKqJKPo6Miih2|1-elQc`z^@dYu*Sd(}YhDXD-O39=Y^!4oKqkS|;V z-y;U{8Q5OX4O^fq*^uwZ0+|E~1CSdaH&3D7sFj*qP?T6wS_HbeE3Y`dC^az!ehXAm zQas3uP}hP?0XYTzwk?nwAa}x*mVmW_1j>sbW1UFODJe<>U9(r3izJqun8N@v6Xnu3 z29R4pwjqZZ*yPN-c(5N}0SLAU?0ryBrx)dy=B1$BMFuh_6LgPSaS7z=I#9m(0IDuQ z^)v$mLkfruJ)0;2#0K>lK+Qi8TabZa5d#B51c)sT85Rivu|b73=w2rY1_nk!Nb~Ux zhz;#xfvR4GBWi#vLR! z_#6yq*j_;rzktLB4OPR;i2)5oLfrgzrJwp!)11 zlnvToBLqE%7PS9M56ZS@WMJ@tvZEOp7?Ppv3`Pcqn@~1rI2lxDgX{wBuL9N2AU4Q< zg3vQ;LH^c(vO(bis$)TFKy8>3sCWny149p#9l^xFumH*ih2;w<8#I&)!XUi~pgW17 z=iHRZawiu%0|P(wOj=MHEP}G|{0U`)(r*%!ZNtF;zh4HF#^*rAL217VdN!;F2LnSblpVmqz|aY0 z`*1KYoP(YL`+|#s;Wd;E8mg3rp3Ay{i-92?$_C}FBq-Z~n}MMS$_C}XQYaggFDszz zMs5a%$xt?E*lz}u{f(P};Q^El%F`d9?ET!3dt5-_0~&@jg`TYnDi186Y*2Yn3uPbS zVPF6a{ejej)HFlIL2C9x*?hbV46rj=L2S@IXpnk2UIvEK(DPS8We;dL4kQjLlkPyp zL3@`$!*MY2=Sbpjp==dC28Pc_?4L;N|43|B=sB(+^`NtdL1u#3l2CDwy&yhF98^Yv zhRZ-~khmXIO*S6`18BGmCLWF?4jL|li6A9|K7sJu6UvXl847}B9^3w{QME+`wc2YLpSEyE8z zlNNM8IX?r#WvDo)4!H(pgX$I*=oz!1I!6@B2GvWlP&TMuiiWa5b=N*98&s!VfU-e# z-DM~nR0qC=vO#sD7-)D3G(<1Rz#t7}gTyVNY*1Yq17(Bmg#itDfx-|pvu8&qqSpc|r^fpdm7l`5;*y$40cfV5+Mc#(7C!G_pA_NUw149m!4Qe;#L)oCI*&-+#)VA6V zWrK#_jzZZBL>L&(LfK117#N;F*(*dK_u7Npyhen90Xzi9$iT2cgn>aDG{p<5!$cVv zoSU+kL)oDA;4vs0G(`6n$_BL=|3cZIwxkO5 z>|9VAGXTooAjZIu3}u%?&*lZW6C@5Af&;NZ?b8)dH6ZcLP&P<>8 zvZshLFr0(3LE^CcbU^K23FsNQAaf$1Y>=8{C>u0fmj`8o#M_~4P@DQKlnuHcM;m%} zE~wpY3uUhmWngfCve$?*Fl0j6Aot`z*&s8^p=^-*mq6K|wmfL)59D`HSY3jOgN7=v zL)jql$51v%9CjxTsDJPaDh}!&s6o%&{UE`>kPl^phWEOlY*0S~bXG6OE>Qmib~bN} zBm=_=s2WgzWe1cE8tMZL{ejej`ZORuhz&Xu_&Zb$XxQ%;lnv?wu|m(_eFGgb1gQsg zF+jt6AU0@Z6Vx08u|Z1!Kuum48+0Tzj13wR1hGNGfuP}DM(FgwWoY{iBnD!0L&dp3 z>6(#&0W`fY3uS|*^g-=8kU5}fd{BE1#0E{>gW7W-HfYSN397z>k%0j;wgVCewegNY z#X-~fb3yGf=urMq5Sx*K0W{_Q4$20#(LmGmFn8)e+hZUx5F6%BFQ_Gv0)wmozRUL7h95(BZhq2h0l)R;ikfW$y-m>O58IB2@w3(5vfzk}{a z1cfbVdLMTG0%*E^0aOjBZFv*Q22Ig}&R7Gf2Z@_P+moO+D(wD5(DDI$sJJT|1A_;Y z4VuOWpVtRZ?xX~rOU}T6xRVhi2D+aSroI%azM74Jp#sVV zEp4cSvO!A#K=)a~%xQ*-gTz2=m^t^L;-IO1(2@XH9C<+7z#uUY8x}{P`xims0Gjr% zhpGWh`%i|lLG9?QPIh|79o}G`-IZ zZ4ZN{^wXhi&>ah)dksN;m*HVx0P#hjd9V$t1~f(A3uS|*-zPxXpecIL)ITF=Zi9h= zVIfo;BnD!0L&ahDGJx9NA)x*>RQv{1JxC11hN+K0QUkk}0VD=u!_*i-+u@*gI_xe* z@KijsZ48>O*M+h{Q}IzyHfSoo5{V7EF9GCt&{X^cs5of)9mEHTgVfK1ii6movy4FE zplNC`XxkOkzLrN~>qFU~HnkCy4Vu0-g|b0ya2qHa)V_9vvO#TXP+J^iK4=PhF;pBh zjl2xR2Cejl-bV~l1DbX|0}^LsU;s@cUxc#3XA42wy`U*&UML$h1?>c7gWA%d^M63* zfToE3pzT=D^e^b1L|B}jf{KI0Kx|m}KY@yarhK1+*r2&81_lNYA7rMaAOpiUkT__) z7Xt$WGqmjrnie*LvO(?N`%pG$%2ycLo&>d3#XxLmI+O#kLGxh@3=C>WY&|5l84}wP z#D?lkfwmz*Q@fyPUs(QXhl+#5Kx|n4nhF&MP5*9&vO&|oYS6YHXxi2i$_7pCf~I{L zLF-N!7#P5OP<VRJ*po1p4J)4!nm8bIL#YD<2Fii6sZUqS6UX#9#o+gH+J3=9%b zHmLm~2W5lWeTq;vXzEf6$_BMtbfN4JF$RVzC>zx7n+;`yrdvU6K9Czg)2*OsUszen z4{d{i#6WCVSqf4IQV*IAh26yfnvzX`s;?4fV90>7LG8P2C>zw?D@S7Q0F85k8YB!1 z45y&tATbb|8!G-2Dh`^?h25D5n$Bg0w!t_h7#P@~Y><0|plpyDQ79WEo`%HU1F{!d zPwj$=gTz2=m>iaH~4Qd-cfU-eh>kVy>fu?+Gp=?k)t^f=DCXJO*tsb;7+s9gsW2dx@_u|aJ< z7#mc)!q}j(Q5YMv6c)w?js3ycptd874H^f8u|e~hFgAFZ0MrdOpmTemY-IO?rr2TX zk==>xHe~l8y8+o=WV=9ZRG68dIa3%LG)4(ygT^RfY|xk^j13xdgt0+wSr{91#uSVV zIvoJUro}n!$l-$=kH}$y952Y>fE>=qeg}=i!rYAPU(h%yOdQ#dptHPS;-hDngJOh% z0dy}KEKHVw#?PVYc>@xA4-$Ly40A}hjhcK zXBZ-}6_D7Veke@61(LW65<38i9fQQqKw_65u^W)sJxJ^sNbDs@><38fH%RQ!Gt43B1k}HV#p&o7=8!NE0o`2)EpHW&*g8mT3naD+5<38i4eGPQ!Zrg* zyab8efW+=WVuS8hgy~&^B)$QOy$6YX0*QSEiTwbH{RWBs1BuN7>a#=rD}clvJ;NN5 z9!AeFhlIoE8Rn310F6(<@+N3L7{&(8>B88c@gNvG1vFj+&0hsbY|wZUObzJ%P8fR% zl9~lbY|vezFf}`n#E&4cFCek+AhBN{u|advFmo6{TT!5H1KlkO6DRr%bLjdI@EPV% zHuwy4C>wl+Ig||vJ;Eet88*mCp!JL()u4VJh=yTMKNQ3UE#pR42U}_kl831S^L>idAY!XWct&W)6UY!3qI0b!6Fhz4yf1N9|g>Y}6|OQS(@ zAPikf!vH!z7^DY!y(2@66azybNC2b=dWJ5D3)(IRqG9?rNHZ`*LDhgLko!P1Xo)|F z4fBV9I|Bpg4ku7w7PK=ABnR>b`Z>c~p!@1U20$^$E)YgPXINJTvMm&<48BSk{hZ-c z8Hl~;>OlQFkQ-p`yWq~i0J?VzeR@COfwI*@sw zWkxXbK+CFNaRD-8q9$?Y3`=M+FgQTBK*HPyG8?ol2id#`T?U4Su*d<8Er2XxU|`TU zwg8_R3?m4gGi(MuWmrLh@HxYvyT}-j&Kc$eHPqalovjo!l8f?-i%atJb9DXO6)aLL zO_LK-G!;zrEc8r4xtRexgaKM!SdyAooEYz!mzK{E8tfYH=oIYl6B^G<0YfECMnQgh6EpD9?fg85kJCL0hC?9Hcacp0@iLAZr?7NJALdG{f}-3_sVyz)VYQ zM7rUddsvKxpe4v;#@*tqh6WbKW|JR^sVnxVFfcGMGccGifPe;rDuWV3oJFxx~C=cqBVj?I(q@@kq&>?i6f1 z3YMBWm#ayUQLIWzOpSHX5tYURU{Ti&K`}2$hlDSaj;S0_VA#P?bV_Byf-MtQO#Uw+ z%3GAd*ti*_PGhR$g2@V!qV;P*yp^sUf-@M!P6;1SV94N5ociCvVT*#AfP<65N{Iss z44xbwoIS@CC;nfcB&eXGpvl?B#Gu#*=QYj+nX#6+aSn)XoDCv%S!F*o&H}MkOzrV% zoB?LJ_INc;2eH<&HckW4hIRG-d6=A(|4O?!CI6NEkQVIQI1wb_SovQ`g-OhbwXqMx zZR`b+8Y*j z1Y~1U5{IRU(E_H%5|9|k&SDV5Vv=Jps%;Dl1O7MWg5*|+hDm*3JNSR0_y5K$kO14! z|FR#Ze>};UT5sma!0pT<%ERrjwRwX>iCQxI8J9F?S2tUR6+(@VK#EsPYJ3Q$of;p2 z=(S9Z_d#^yJrLQ`qIm7U2NSo8Qxd~k=EhqfF$gL9fgvr}V8x`pEQc1zK$2kNRgkpf z>Hlk)EmSmBESnnZ!3i!GSM`#Y-&6S5&-Er z0b+plG#7MCa`Iqs@?doGU~=+ccJg3x@?drHU~}?dckhOZ?1vRXjoU!16_Xmbf@!D5Eg*U=6C|-h$hIT@K^8M8Feq%^ zEB%gW?21_nk31_qFfCIbTl69WUoRj3#T0|Ub~sF)H1 z1H%ml1_rh14&Kb-^;`@L3?Ly6Mh1pSQ1&d4IiMndfq?V^XnNvoB*gqEfd5KAotcWF))Zh#iuYaFvvjJ8xWcq zKx`|h_$wxepFw)xFflL)LdE|gsRyxnpyHg&pdb`sU;t?VaX{)oA;HZ&`QTf%`WR@~ zr7$osNI}D{4x|O*a0U?D2x`^_1_lP0rw>5&fs8%Kz`y`f12XzE)C`dLSExA1I(0^b zyEPdZ7`!278Z(q2g(`>*i`2PD;vhE2aF9Xs87DvdWi&ZnVdL}*Ul{c_8!N^$3Khqf zRKzEhro|`bGD=O~XTvBy`L3ExC@2b`E*D{9U;u?A$amaOaa#rk29P)?$}sn!Y>>vCFW-u}^h=9~EFfepM*`Uyx4rM=KWMJ3=WrJ)w z4P}Eu=o*v_QUl6lAag(=RWHW`F%;w`GbkJ6@jNIS&j513F{m#=rO8Ps8&sN{fwDoNa~{eD z?1L=pw+;gbje+-Z&3M__RG1P-y0dBXvVqjo^B?k+T zq0r>>4XPO=24ZtV#ce=ppvj5}8oVGe5F2KW14s=h8!<32@Icjo#6WCrka#@<1A{13 z0u($hAPt}r5L7-u#X(|Hj0_CiP;nKgI4GDsKJe8 z0QO;EV5nz=8tMg=011NFFv~)q;vmhS0+kVzAQ%`JnxNt!F%X*@DjouI5Y)^CP&FVi z5F2LZ8mRaiCWd;3lTZ#QRYrg`L*o*ZQbBPE5(BYeaS6(`jL_Wn2C5e%24cfiGkQK^#vgN8KH(sKou2$iU=kK2ACpHiU&CkRCkqt426b} z0aQIm48(?okPTEERKHb#)I&qU9x4tJ1F=CNF_}eIpxzZK0jlglY?wg}AkEOA4u`4% ziGkR#pl$)Ffm)CNRRac$R`UKvmxWME(bNrHR{5(Kef zj+g}10IHRHKpLQyfqVy24-x~hVU|q*sexwExlp|zF%TP;b*F&TK+V~}1T6zVf*?y^ z2F(B|f(G?As6ikx5F6&WIUqIA5IO}_0}=zVVIi~tqy}o)WvCjE7>EtF3zPTv?4oaXakko@ZUZ9WwiGkQK^`JU~5mXU?;sB%`TGv#A3N%&*a8qCz zs0lkv24x#o1_ls20*MVOI6&$_jgw-idQhVUR0)E_L2OV01F=C36_EX~ z1P)3&AaRfwhz(8P_24=mrU(@OAVr{>4a9~j0=I-lvt1Bxn; z8ju)>4O0WEtY9_$Jg^7qAvH3H1B+Ks(1SFCd62&j4~2$Pu8%BB&P+bKQTa29Owt z%?)w^0|Nu7HiS8j6`DRkVjwomaiH1|<~T8^8ju)>4Rf3W14BIn%ysfmMW8AY#0I$z z6!0KNfgA^Fn1X6Un8iU*^&l}28)h-6283Ch3{?XX1F>NigDN_Rz4Z(XIZ#C)K@b~e zF{pNfC8#o}8ju)>4NFj<+6|_r4ypzu24ch1fGRPVnl`8!kQj)~?E)?TLA4l6Q6E$h zNDRb=83d}uV7{LMRRa>6GC9_uMpX+GSPTqKpg3cL^g%#uZm2jYOEIcV{%0W0s|HaC zicChX>3koU#6z_qLg4%X>R*8j0hJou5OGjmV}y!>4T6e;GBZpZR9G;ABq3TD7`Z3+ z8TK>EOqMee_XOo51_lOD%7cVE0|Th26k&&mf!MHM2PHN}s1rdY6i5w748-PEn_P!5 z?KsGl?2zOLV#87ZD4D@*xeZkV5(BYewt!L@quS(qM&goCyFk4ukX=U^7#Kilicw}V zpE2C!pcDi%Qv?+D>=q>U1P~jPA{ZDL=78AHDrW_V4NW{-Kx}B@ zIRIkwOcs>Tn|`5;QDbw0c?ct;!Q`zL%B-NKSj%+BiHyRNKUfHGCI~Vx#4s{2C{O0J zlxKYbYBob89V`Vn_Xt6XaOKI7mhx<%0Sj*C$#s@WoL7Vx80N5nbgi_MXXRmGV3l>)*d}LLsd0+PF)*Ys zfdpq-$uk;EPTV9u`GS=Is{uO$0}Dj&f_W_UAisl$06;07oq^#4G^Rko290ZmC5(`) ziL6coCdmM)azW~MVo?WbR)OR|7^dYSD8Yd2V_<+pi2?ice~QdvqPG}fA|T}q48fp` zGTm?zqp&DA!9hg9WH%@mf~D%8GeVpI${rxO3I#|q2Q}(JEfkQopgjH)YAr|&2=8WR zU^oNw6R6+-2{JG+d_gnsfC5Av$UIOT2{R8gw8G55FxlRQldYYbfq{u>vY(9-Zx1g6 z!viJ;22kxNHN8=ZS(-IRfPvu)*s+s0*a#zyNN;{%BV7mOZ)V)h!O7^dnd?Y7Gp`F| z_>b-Xe}={f(;YW43QzueOnP#HIM4K)Q;Z^;?;L-{#JG0y@l&$m8ya7OM#|X!|JP)` z!?f_h|BVm+A6m9^^Y2r$1Q?ShPrDt=7_j-(Z8Ijml*SKGl?)8uk~iz!JG&NY_jbk} z#yAcrXF6jKqr~>wDU3#(P!Z7J`Svq&8S7IdEg1BYii`D~k20zdO<0jR+CkMhjdn4lc6*-w<1&xkXw+rH6?d37&S2*!7|wM9>v8cE4ai;Cd)$ ziVp)LHavF@10yYQJuM940mDx*Ffh{+ z8a7?>FtOc+2wgF%Hsks(hZHHl%e zruc!$AH|iY2cBXos5eVw;9=zv<1P+pRVZj{Zm3XbI{d34b#g&LNkT$N_;il&X{>6_ zOl=+vJW@K{jW_>4;9!X564R1hw1B7aI*7MYw3kcll?;z$r|P6oHXbRN)188i7r`=9 z=W=xjifKuUiL)*`qSAO4Ea=)HDE3RzA>qrUV=4#g6&QAK6rEC;uwcu?9skd=OqeaO zV5Y(W1%{a%dzq3#x!1B+N;Dn->C>3%xbc4m(*hSk2R8*zCO095wJe>2GZ`Cqfn-;@ zb_mX36zdW>pukYUp}6e7gTodDbpZz_g_RNq6c{`?JUDxfDK7fIKuJ(RMM0CZjfp{V z{{IC^^$>33Dv%*-nHyJv=*ATwQkPZsL*sG~YsJ(aug0ZdmTQk!;}Q^SEoBeawmW7aqlc%u7B*(h{5zHW8x+-`w%YI;!PE3BBr!!2{B@hMmwLf-nnmf1o> zQ{$L8D9NT3%R|-N1FM0MNf$wiEHo{S@i8zkq&0hXOyc33gK?4v(Cs81^wRFic=z zU{GRUVDMvvXyt&i?V;kmNa7&2GE{s6k~oMh02M#L$iTn_Vb?R9Vq{;Q-&216zW29OlUVk0JmdQT<>1{tWDRFG>K7#KimKx|8>_&g?vM?m5Wm>3v%pyF%5 z>UAI*Kpa7+#9pujL>$BhaY2sT&onvFU#;E(8b~$_3=E){0!e!@Fff=wwKqWJLH0E= zFfb@W19B0h)B?M2DO4O}>@lc3Nc{;01_ocKIiidZcZ1Z3gFFxM+vG0ATbm1%niw~8 zsaP;hkDJ3dVS1DRlL4drWMQ>ZR#4PwPwrLoW&^qJHpAw7YWa+el9T;3g6pLrv1i1< zz#sw*2oReaDsBrEk6~b70L2s|C}bHJ7(lTMQV$XXvALn*A|Q{-Ld^7l>II2`*xXQY z36L77dO486AcH`HAU4b(kUXRGWIIi9PpDHsB|M`X#ON}p(I7Dpn;R;wf@E|JR1HWB z#O9WnJWo@OQDyqXH%v11ppb?6NfKhHEF%Mh2n&R52W5k}-ca@oMh1oqC>x}z9?Aw8 z)dgjP)PPbu$Q)3jx&##mh0`l28x$V(N=y*TK>l=qvOyC5P&Oz$BA{%L=6)y}4h z1H&PxI7ke{=7x%&f{KG2qXPf=U=L zFff4FFblpx#X%Z=LfN3g22{l}LJj>76$god*f7gDp+ODO3(lLM(g&0uq2dL7<3dU|;|hpCEHUVjwm*RD1_iFQ`Zbm6nW9 z@m)~y00xG71`r3P;Sf{;RP2TzS#Sg@4iW>gVd^80)SQ8;0f~XwFg2ib1acgxXa;3$ zMra5<0jsZPU;qh%IItl40G4220F~bfAPYcQgMoqJGgKTT24cfPA_b%dYUod>8ju)> z4Kp(Xqy`%7+|V2W663CCVqky;JGh2}S_UeLK&}Rff!Hw1OrV;rm>3w$p=?k+Pyn(3 z>Ije=NH0hX#D+P-4XPeg0hNH%%P=sQf(j6jPeB?$f*>}`vI>wQXki%y)eI5~nw+aA zUJo(`qzhE0f!Huz;5r8Clx(OjkQj&!b4m-yWN3KQLDhi7Kx|lWbb!=AgQFd)1|$Yz zbIX8oE&~HY4@eQziHo6%Kw=;^tegk65E!9q)P_%*cs(?xk5C`TukYOMRP$LCYL% zPgI4d1o?}R6T$`uls1G73PeUwGnoMrNia2_SY-q?Z(%6|suyfBR2-Dd7&)iM3A2bZ za!t-N?Prvp{Ld8L{sH+K7RPfy4rPag1c(ibV{k}7owy9D1|$YzbE{5{GlQFU94ZS6 z0}vY)mY_-xX3K4;8ju)>4YLJQxiP9v-e)E*3AGCp8zSrs3`ZFl7(lfeqx9r=2)jUa z7|cu&P}s9GFo48BY?zs#Jje(&O$n+7BnD!0t8Vr)H)fjta3S*?LpDf2*MM68P<96r zdkPX8)HGpao4#%lbGa%ga2XgFRG1kUU~ysqVnf5;2E^u`tSF&3O^sP$+B8Ov%}1<5 z7#TIDZ){`~o~&alzzWLTEt5A|3r`NQ72v$V&%hAF$iSd9IoDR6@xkO?TXjwoK}e)4 zP2OuO&-#ObfnopTgZ9GHd6bw1IDG^e7hpNHQ>ha)#36wRZAMDy);w*{N}wNHH*^Fo6vEYbVbd!p6WL z0@h$+FTfPSHaX8;%&LbGl7^WfVZ{JaqyZ}FpnMo}A%?oi`|QPpb}~YGR-hCI(h)99>45mNaz$B8x$iM)y4U}X+vNL2L zQ4earfvN_O94HTfS_{zr3`iNneKrOL518{obq!dQf#D9Cc@IG5F++Ny@{>RAlV(-t zVqkbRol%8ZnOB5|f#CuZ0|TgyCpp=1zclL;J_d#_(-UVgiA=V2L>WukoZ~26hdj8n zdCC5d9E?tzr=2KgW^~%jcgBTTes$v~P}iC5|9^%wPstg~>NA;+nKCSV_J8BE|A&^X zn_PHalyUp!_Vcp@7=tD&JqTv>-(2>SOsP;YH#axk{(+6D9o4Lu zLA8TN$+oW%WqC diff --git a/tools/sdk/lib/librtc.a b/tools/sdk/lib/librtc.a old mode 100755 new mode 100644 index 39a9bb981423a2b45f5b2b70bef32907e7aaf73f..e3e2473ac76c0d5b465f6f5cf15b0b79ab2c06c0 GIT binary patch literal 322822 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�!VzAHU;a0K0U0`jE$}le_k!|s25aMo{|#xN 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%0AN|J@iF7^IC23`)3_6%Ei&l1XC!~l~&#>(J$ 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 Ya3bY3kQr+f7#KiX4nb@X2AKn*0X6ahSO5S3 literal 108990 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 Ds-B{* diff --git a/tools/sdk/lib/libspi_flash.a b/tools/sdk/lib/libspi_flash.a index 4c6ae885006ebf927ce24996b42d84ad2afd04b3..9f54120b6d0a008063b4685066390aca11a066f0 100644 GIT binary patch literal 89448 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 F0{}5h`9}Z% literal 26768 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 diff --git a/tools/sdk/lib/libtcpip_adapter.a b/tools/sdk/lib/libtcpip_adapter.a index ede42cab3c5ea9395f3859268da13beec7697ef7..fe743ddc1daa79056decca46308495c881806e58 100644 GIT binary patch delta 1074 zcmZ2=lljt3<_Xg5mIkH<2F8{fm6kKX*pn|XNiv#Ge#NB0xM8y}^FL1MEi7x9dAJWP zsA*(ic)-En@yRJ!j)#RO&5es;vI?&jU&Nf~X!=a<)6irL+q^@=m~S$Rx#;8t z28x2}3=9m03=9lR3@SdG9ZE|%*F_`Ee{cs0kQ2F7+4q>7(i_90*D$ns5r<<5S!ZvA|3!0=V4%A0I|6XA>vUWad}9X zfJB5<88)-_WjfY>;$dJAl4oE51=tTLTNC6jUWhozkvvc~C?Lh4Y><75P<9vt1A_*X z4f2d0lpV{!z+eJpgFI*fWv75#z`(%3sLQbV>UmZkMu*9_Z~HSAOxC{R&p2gr^&Njk zgUP4w_%m*qEPdCX@yX=uyZ($8lXu_sXAGFkeb1k9!{q3D{)~GjufFHc_-69&d;W|9 zlfCczGs;Y!eczukV)EnHw%$-&S38B-=Neg+c%3>I;I4sz<`=l+Z(lOI3V zW=xyR|3aB@$zWoE`qhF{qmP~F2ldHkxWia_0Oe()rXOx-j{ZgGVWpeRLb;cW$ zXTMZuoId&ROLfK*lV877XFM=j_?0?i&}8dZ>Wm?ilV7Pba!u}jrOxOudGjlERv|M6 z2HVN^Un#Rb*vr76GMW9gGNb=w?bqszuO|n;R%g_iT>Tnk_Tty-Oe|+7pLwmu_-FFx m*XoQfCQH9jXFM|5`Hec`g2~x$)Flp-GBDJGQZ_8YpfmsqtR4^m delta 1103 zcmca~lX=xm<_Xg5=4OTlW+vtvm6kKX*pn|XNirHwe#NB0*s)od`5&in3d>q%9_~X6 zrZh4zJm6s9Nn_)hti!7%6vSi`u5yWoN%jK+gCYZi><5O;DZI}Z851{q^Pgapwq=`l zmyv;iuecrMg zA{ZDL7#V^n?TX1$10w?y3llRVC+lQ(H&t#n21e!zP7ukt+1!m= z#Znz?C<6nG=73sc$iTn=vNQ@R4-yACjuk4NI9Wbfdh)s~&du|)ezG!~7+P+gUGScr zF>!KtMKPGmSUFXsUWI{yK}4Q`A%KB_0i<2T9^^;{1|g_8NK6LAwg>r}fdRzkE`X@9 zgNlQ!2C=z)AmScSaUKQ+1`wOO5F#E75|@XB6G%i@m0`1JU#4U1Hy#ECA$bM{kYgBl zA#6|}azWWH3=9mSP_`cf1A`2d4RW*+lpV&vz@PzTgB+~`Wyf#+e4d|&(O@$39e>7z z$-#I08CxbVzT?lRF!}Qxf5s(~o$vZHUYR`ku0Ny36j8o4-(IoH9B3g*s#IWmX6Pky5=v7wZKp`IC(8X%YvLNNdU DCZZoo diff --git a/tools/sdk/lib/libvfs.a b/tools/sdk/lib/libvfs.a index ca039d83af14dd85fd52585c557a239536154d06..ebf33b28a1879ab0db3f7d445adc2a62c7174ad4 100644 GIT binary patch delta 20554 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 delta 19553 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 diff --git a/tools/sdk/lib/libwpa.a b/tools/sdk/lib/libwpa.a index 759e7a0ef079490135c02be5d37e7beb6b63d75c..bb6ff126d7bd3eda51275abb645cc19d8e4a8ea0 100644 GIT binary patch delta 269 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%0AmH|j#wUVrRN&Qy4oWg!&fkZn`4FQ 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 Vfbt2b9f)k+5pf0v(99FMc>rbOjMe}E literal 0 HcmV?d00001 diff --git a/tools/sdk/lib/libxtensa-debug-module.a b/tools/sdk/lib/libxtensa-debug-module.a new file mode 100644 index 0000000000000000000000000000000000000000..00e412400ac6702f5ddc6c801c7aee5149617562 GIT binary patch literal 12062 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 literal 0 HcmV?d00001