1*4882a593Smuzhiyun #ifndef __RK_WIFI_H__ 2*4882a593Smuzhiyun #define __RK_WIFI_H__ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #ifdef __cplusplus 5*4882a593Smuzhiyun extern "C" { 6*4882a593Smuzhiyun #endif 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #define RK_WIFI_VERSION "V1.1" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define RK_WIFI_SAVED_INFO_MAX 10 11*4882a593Smuzhiyun #define SSID_BUF_LEN 64 12*4882a593Smuzhiyun #define BSSID_BUF_LEN 20 13*4882a593Smuzhiyun #define STATE_BUF_LEN 20 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun typedef enum { 16*4882a593Smuzhiyun RK_WIFI_State_IDLE = 0, 17*4882a593Smuzhiyun RK_WIFI_State_CONNECTING, 18*4882a593Smuzhiyun RK_WIFI_State_CONNECTFAILED, 19*4882a593Smuzhiyun RK_WIFI_State_CONNECTFAILED_WRONG_KEY, 20*4882a593Smuzhiyun RK_WIFI_State_CONNECTED, 21*4882a593Smuzhiyun RK_WIFI_State_DISCONNECTED, 22*4882a593Smuzhiyun RK_WIFI_State_OPEN, 23*4882a593Smuzhiyun RK_WIFI_State_OFF, 24*4882a593Smuzhiyun RK_WIFI_State_SCAN_RESULTS, 25*4882a593Smuzhiyun RK_WIFI_State_DHCP_OK, 26*4882a593Smuzhiyun } RK_WIFI_RUNNING_State_e; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun typedef enum { 29*4882a593Smuzhiyun NONE = 0, 30*4882a593Smuzhiyun WPA, 31*4882a593Smuzhiyun WEP 32*4882a593Smuzhiyun } RK_WIFI_CONNECTION_Encryp_e; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun typedef struct { 35*4882a593Smuzhiyun int id; 36*4882a593Smuzhiyun char bssid[BSSID_BUF_LEN]; 37*4882a593Smuzhiyun char ssid[SSID_BUF_LEN]; 38*4882a593Smuzhiyun int freq; 39*4882a593Smuzhiyun char mode[20]; 40*4882a593Smuzhiyun char wpa_state[20]; 41*4882a593Smuzhiyun char ip_address[20]; 42*4882a593Smuzhiyun char mac_address[20]; 43*4882a593Smuzhiyun int reason; 44*4882a593Smuzhiyun } RK_WIFI_INFO_Connection_s; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun typedef struct { 47*4882a593Smuzhiyun int id; 48*4882a593Smuzhiyun char bssid[BSSID_BUF_LEN]; 49*4882a593Smuzhiyun char ssid[SSID_BUF_LEN]; 50*4882a593Smuzhiyun char state[STATE_BUF_LEN]; 51*4882a593Smuzhiyun } RK_WIFI_SAVED_INFO_s; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun typedef struct { 54*4882a593Smuzhiyun int count; 55*4882a593Smuzhiyun RK_WIFI_SAVED_INFO_s save_info[RK_WIFI_SAVED_INFO_MAX]; 56*4882a593Smuzhiyun } RK_WIFI_SAVED_INFO; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun typedef int(*RK_wifi_state_callback)(RK_WIFI_RUNNING_State_e state, RK_WIFI_INFO_Connection_s *info); 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun int RK_wifi_register_callback(RK_wifi_state_callback cb); 61*4882a593Smuzhiyun int RK_wifi_running_getState(RK_WIFI_RUNNING_State_e* pState); 62*4882a593Smuzhiyun int RK_wifi_running_getConnectionInfo(RK_WIFI_INFO_Connection_s* pInfo); 63*4882a593Smuzhiyun int RK_wifi_enable(int enable); 64*4882a593Smuzhiyun int RK_wifi_scan(void); 65*4882a593Smuzhiyun char* RK_wifi_scan_r(void); 66*4882a593Smuzhiyun char* RK_wifi_scan_r_sec(const unsigned int cols); 67*4882a593Smuzhiyun int RK_wifi_connect(char* ssid, const char* psk); 68*4882a593Smuzhiyun int RK_wifi_connect_wep(char* ssid, const char* psk); 69*4882a593Smuzhiyun int RK_wifi_connect1(char* ssid, const char* psk, const RK_WIFI_CONNECTION_Encryp_e encryp, const int hide); 70*4882a593Smuzhiyun int RK_wifi_disconnect_network(void); 71*4882a593Smuzhiyun int RK_wifi_restart_network(void); 72*4882a593Smuzhiyun int RK_wifi_set_hostname(const char* name); 73*4882a593Smuzhiyun int RK_wifi_get_hostname(char* name, int len); 74*4882a593Smuzhiyun int RK_wifi_get_mac(char *wifi_mac); 75*4882a593Smuzhiyun int RK_wifi_has_config(void); 76*4882a593Smuzhiyun int RK_wifi_ping(char *address); 77*4882a593Smuzhiyun int RK_wifi_recovery(void); 78*4882a593Smuzhiyun int RK_wifi_airkiss_start(char *ssid, char *password); 79*4882a593Smuzhiyun void RK_wifi_airkiss_stop(void); 80*4882a593Smuzhiyun int RK_wifi_forget_with_ssid(char *ssid); 81*4882a593Smuzhiyun int RK_wifi_cancel(void); 82*4882a593Smuzhiyun int RK_wifi_getSavedInfo(RK_WIFI_SAVED_INFO_s **pInfo, int *ap_cnt); 83*4882a593Smuzhiyun int RK_wifi_connect_with_ssid(char* ssid); 84*4882a593Smuzhiyun int RK_wifi_reset(void); 85*4882a593Smuzhiyun int RK_wifi_get_connected_ap_rssi(void); 86*4882a593Smuzhiyun char *RK_wifi_scan_for_softap(void); 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun #ifdef __cplusplus 89*4882a593Smuzhiyun } 90*4882a593Smuzhiyun #endif 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun #endif 93