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