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 WPA3 33 } RK_WIFI_CONNECTION_Encryp_e; 34 35 typedef struct { 36 int id; 37 char bssid[BSSID_BUF_LEN]; 38 char ssid[SSID_BUF_LEN]; 39 int freq; 40 char mode[20]; 41 char wpa_state[20]; 42 char ip_address[20]; 43 char mac_address[20]; 44 int reason; 45 } RK_WIFI_INFO_Connection_s; 46 47 typedef struct { 48 int id; 49 char bssid[BSSID_BUF_LEN]; 50 char ssid[SSID_BUF_LEN]; 51 char state[STATE_BUF_LEN]; 52 } RK_WIFI_SAVED_INFO_s; 53 54 typedef struct { 55 int count; 56 RK_WIFI_SAVED_INFO_s save_info[RK_WIFI_SAVED_INFO_MAX]; 57 } RK_WIFI_SAVED_INFO; 58 59 typedef int(*RK_wifi_state_callback)(RK_WIFI_RUNNING_State_e state, RK_WIFI_INFO_Connection_s *info); 60 61 int RK_wifi_register_callback(RK_wifi_state_callback cb); 62 int RK_wifi_running_getState(RK_WIFI_RUNNING_State_e* pState); 63 int RK_wifi_running_getConnectionInfo(RK_WIFI_INFO_Connection_s* pInfo); 64 int RK_wifi_enable(int enable); 65 int RK_wifi_scan(void); 66 char* RK_wifi_scan_r(void); 67 char* RK_wifi_scan_r_sec(const unsigned int cols); 68 int RK_wifi_connect(char* ssid, const char* psk); 69 int RK_wifi_connect_wep(char* ssid, const char* psk); 70 int RK_wifi_connect_wpa3(char* ssid, const char* psk); 71 int RK_wifi_connect1(char* ssid, const char* psk, const RK_WIFI_CONNECTION_Encryp_e encryp, const int hide); 72 int RK_wifi_disconnect_network(void); 73 int RK_wifi_restart_network(void); 74 int RK_wifi_set_hostname(const char* name); 75 int RK_wifi_get_hostname(char* name, int len); 76 int RK_wifi_get_mac(char *wifi_mac); 77 int RK_wifi_has_config(void); 78 int RK_wifi_ping(char *address); 79 int RK_wifi_recovery(void); 80 int RK_wifi_airkiss_start(char *ssid, char *password); 81 void RK_wifi_airkiss_stop(void); 82 int RK_wifi_forget_with_ssid(char *ssid); 83 int RK_wifi_cancel(void); 84 int RK_wifi_getSavedInfo(RK_WIFI_SAVED_INFO_s **pInfo, int *ap_cnt); 85 int RK_wifi_connect_with_ssid(char* ssid); 86 int RK_wifi_reset(void); 87 int RK_wifi_get_connected_ap_rssi(void); 88 char *RK_wifi_scan_for_softap(void); 89 90 #ifdef __cplusplus 91 } 92 #endif 93 94 #endif 95