/* * Copyright (C) 2015-2018 Alibaba Group Holding Limited */ #ifndef __AWS_LIB_H__ #define __AWS_LIB_H__ #include <stdint.h> #if defined(__cplusplus) /* If this is a C++ compiler, use C linkage */ extern "C" { #endif /* auth type */ enum AWS_AUTH_TYPE { AWS_AUTH_TYPE_OPEN, AWS_AUTH_TYPE_SHARED, AWS_AUTH_TYPE_WPAPSK, AWS_AUTH_TYPE_WPA8021X, AWS_AUTH_TYPE_WPA2PSK, AWS_AUTH_TYPE_WPA28021X, AWS_AUTH_TYPE_WPAPSKWPA2PSK, AWS_AUTH_TYPE_MAX = AWS_AUTH_TYPE_WPAPSKWPA2PSK, AWS_AUTH_TYPE_INVALID = 0xff, }; /* encry type */ enum AWS_ENC_TYPE { AWS_ENC_TYPE_NONE, AWS_ENC_TYPE_WEP, AWS_ENC_TYPE_TKIP, AWS_ENC_TYPE_AES, AWS_ENC_TYPE_TKIPAES, AWS_ENC_TYPE_MAX = AWS_ENC_TYPE_TKIPAES, AWS_ENC_TYPE_INVALID = 0xff, }; /* link type */ enum AWS_LINK_TYPE { AWS_LINK_TYPE_NONE, AWS_LINK_TYPE_PRISM, AWS_LINK_TYPE_80211_RADIO, AWS_LINK_TYPE_80211_RADIO_AVS }; /* 鍚姩涓€閿厤缃戞湇鍔�, 璇ュ嚱鏁颁細block锛岀洿鍒伴厤缃戞垚鍔熸垨鑰呰秴鏃堕€€鍑�, * 瓒呮椂鏃堕棿鐢盿ws_timeout_period_ms璁剧疆 * 鍙傛暟锛� * pk: product key * dn: device name * ds: device security * ps: product security */ void aws_start(char *pk, char *dn, char *ds, char *ps); /* {璇ュ嚱鏁板ぇ鑷存祦绋嬪涓�: * init(); * platform_monitor_open(); * aws_main_thread_func(); * platform_monitor_close(); * destroy(); * } * aws_start杩斿洖鍚庯紝璋冪敤璇ュ嚱鏁帮紝鑾峰彇ssid鍜宲asswd绛変俊鎭� * aws鎴愬姛鏃讹紝ssid & passwd涓€瀹氫細杩斿洖闈濶ULL瀛楃涓�, 浣哹ssid鍜宎uth, encry, channel * 鏈夊彲鑳戒細杩斿洖NULL鎴栬€匢NVALID鍊�(鍙栧喅浜庢槸鍚﹁兘鍦╳ifi鍒楄〃閲屾悳绱㈠懡涓�) * aws澶辫触瓒呮椂鍚庯紝璇ュ嚱鏁颁細杩斿洖0, 涓旀墍鏈夊弬鏁颁负NULL鎴朓NVALID VALUE * * auth defined by enum AWS_AUTH_TYPE * encry defined by enum AWS_ENC_TYPE * * 杩斿洖鍊硷細1--鎴愬姛锛�0--澶辫触 */ int aws_get_ssid_passwd(char *ssid, char *passwd, uint8_t *bssid, uint8_t *token, char *auth, char *encry, uint8_t *channel); /* 閰嶇綉缁撴潫锛堟垚鍔熸垨澶辫触锛夊悗锛岃皟鐢ㄨ鍑芥暟锛岄噴鏀鹃厤缃戝簱鍗犵敤鐨勮祫婧� */ void aws_destroy(void); #if defined(__cplusplus) /* If this is a C++ compiler, use C linkage */ } #endif #endif