408 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			408 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef CYGONCE_CYG_WIFI_NVT_H
 | |
| #define CYGONCE_CYG_WIFI_NVT_H
 | |
| 
 | |
| //=============================================================================
 | |
| //define NVTWIFI_SIM for simulation
 | |
| //#define NVTWIFI_SIM
 | |
| 
 | |
| //-------------------------------------------------------------------------
 | |
| //NvtWifiECOS API return value
 | |
| #define NVTWIFI_RET_OK           0
 | |
| #define NVTWIFI_RET_OPENED       1
 | |
| #define NVTWIFI_RET_ERR          (-1)
 | |
| #define NVTWIFI_RET_NO_FUNC      (-2)
 | |
| 
 | |
| #define NVTWIFI_TOKEN_PATH       "wifiipc"
 | |
| #define NVTWIFI_MAX_PARAM                6
 | |
| #define NVTWIFI_PARAM_LEN        64
 | |
| 
 | |
| #define NVTWIFI_INTERFACE_VER    16061709
 | |
| 
 | |
| //-------------------------------------------------------------------------
 | |
| //IPC command id and parameters
 | |
| typedef enum {
 | |
| 	NVTWIFI_CMDID_GET_VER_INFO  =   0x00000000,
 | |
| 	NVTWIFI_CMDID_GET_BUILD_DATE,
 | |
| 	NVTWIFI_CMDID_TEST,
 | |
| 	NVTWIFI_CMDID_INIT,
 | |
| 	NVTWIFI_CMDID_INTF_IS_UP,
 | |
| 	NVTWIFI_CMDID_INTF_UP,
 | |
| 	NVTWIFI_CMDID_INTF_DOWN,
 | |
| 	NVTWIFI_CMDID_INTF_CONFIG,
 | |
| 	NVTWIFI_CMDID_INTF_DELETE_ADDR,
 | |
| 	NVTWIFI_CMDID_CONFIG,
 | |
| 	NVTWIFI_CMDID_GET_MAC,
 | |
| 	NVTWIFI_CMDID_SET_MAC,
 | |
| 	NVTWIFI_CMDID_RUN_CMD,
 | |
| 	NVTWIFI_CMDID_REG_STACB,
 | |
| 	NVTWIFI_CMDID_REG_LINKCB,
 | |
| 	NVTWIFI_CMDID_REG_WSCCB,
 | |
| 	NVTWIFI_CMDID_REG_WSC_FLASHCB,
 | |
| 	NVTWIFI_CMDID_REG_P2PCB,
 | |
| 	NVTWIFI_CMDID_STA_CB,
 | |
| 	NVTWIFI_CMDID_LINK_CB,
 | |
| 	NVTWIFI_CMDID_WSCCB,
 | |
| 	NVTWIFI_CMDID_WSC_FLASHCB,
 | |
| 	NVTWIFI_CMDID_P2PCB,
 | |
| 	NVTWIFI_CMDID_SITE_REQ,
 | |
| 	NVTWIFI_CMDID_SITE_RET,
 | |
| 	NVTWIFI_CMDID_P2P_REQ,
 | |
| 	NVTWIFI_CMDID_P2P_RET,
 | |
| 	NVTWIFI_CMDID_P2P_PROVISION,
 | |
| 	NVTWIFI_CMDID_WSCD_CREATE,
 | |
| 	NVTWIFI_CMDID_WSCD_REINIT,
 | |
| 	NVTWIFI_CMDID_WSCD_STOP,
 | |
| 	NVTWIFI_CMDID_WSCD_STATUS,
 | |
| 	NVTWIFI_CMDID_GEN_PIN,
 | |
| 	NVTWIFI_CMDID_THREAD_INFO_BY_NAME,
 | |
| 	NVTWIFI_CMDID_IGNORE_DOWN_UP,
 | |
| 	NVTWIFI_CMDID_SYSREQ_ACK,
 | |
| 	NVTWIFI_CMDID_GET_CONNECT_INFO,
 | |
| 	NVTWIFI_CMDID_UNINIT,
 | |
| 	NVTWIFI_CMDID_INTF_REMOVE,
 | |
| 	NVTWIFI_CMDID_SET_COUNTRY,
 | |
| 	NVTWIFI_CMDID_SET_FREQUENCY,
 | |
| } NVTWIFI_CMDID;
 | |
| 
 | |
| typedef struct {
 | |
| 	NVTWIFI_CMDID CmdId;
 | |
| 	int Arg;
 | |
| } NVTWIFI_MSG;
 | |
| 
 | |
| //-------------------------------------------------------------------------
 | |
| //NVTWIFI definition
 | |
| 
 | |
| typedef struct _NVTWIFI_OPEN_OBJ {
 | |
| 	unsigned int        RcvParamAddr;
 | |
| 	unsigned int        SndParamAddr;
 | |
| } NVTWIFI_OPEN_OBJ;
 | |
| 
 | |
| 
 | |
| #define WIFIIPC_BUF_CHK_SIZE    (4)
 | |
| #define WIFIIPC_BUF_TAG         MAKEFOURCC('W','I','F','I')
 | |
| 
 | |
| #define NVT_MAX_BSS_DESC            (64)
 | |
| #define NVT_WIFIIPC_MAC_ADDR_LEN    (6)
 | |
| #define NVT_MESH_ID_LEN             32
 | |
| 
 | |
| #define NVT_WSC_MAX_SSID_LEN            (64)
 | |
| #define NVT_MAX_WEP_KEY_LEN             (26)
 | |
| #define NVT_MAX_NETWORK_KEY_LEN         (64)
 | |
| #define NVT_PIN_LEN                      (8)
 | |
| #define NVT_MAX_DEVICE_NAME_LEN         (32)
 | |
| 
 | |
| #define NVT_WPS_REINIT_EVENT            1
 | |
| #define NVT_WPS_STATUS_CHANGE_EVENT     2
 | |
| 
 | |
| // for client mode
 | |
| #define NVT_WIFI_LINK_STATUS_DISCONNECTED       0
 | |
| #define NVT_WIFI_LINK_STATUS_CONNECTED          1
 | |
| #define NVT_WIFI_LINK_STATUS_AUTH_FAIL          2
 | |
| #define NVT_WIFI_LINK_STATUS_DISASSOCIATED      3
 | |
| #define NVT_WIFI_LINK_STATUS_DEAUTHENTICATED    4
 | |
| #define NVT_WIFI_LINK_STATUS_HANDSHAKE_TIMEOUT  5
 | |
| #define NVT_WIFI_LINK_STATUS_SACN_ZREO_RESULT   6
 | |
| 
 | |
| // for AP mode
 | |
| #define NVT_WIFI_STA_STATUS_ASSOCIATED      1
 | |
| #define NVT_WIFI_STA_STATUS_REASSOCIATED    2
 | |
| #define NVT_WIFI_STA_STATUS_DISASSOCIATED   3
 | |
| #define NVT_WIFI_STA_STATUS_DEAUTHENTICATED 4
 | |
| #define NVT_WIFI_STA_STATUS_PORT_AUTHORIZED 5
 | |
| #define NVT_WIFI_STA_STATUS_AUTH_FAIL       6
 | |
| #define NVT_WIFI_STA_STATUS_EXPIRED         7
 | |
| #define NVT_WIFI_AP_READY                   8
 | |
| 
 | |
| // for p2p
 | |
| #define NVT_WIFI_P2P_EVENT_BACK2DEV            1
 | |
| #define NVT_WIFI_P2P_EVENT_START_DHCPD      2
 | |
| #define NVT_WIFI_P2P_EVENT_START_DHCPC      3
 | |
| 
 | |
| typedef struct _nvt_wifi_settings {
 | |
| 	int wlan_disable;
 | |
| 	int wps_disable;
 | |
| 	char mode[16];
 | |
| 	char security[32];
 | |
| 	int channel;
 | |
| 	char ssid[NVT_WSC_MAX_SSID_LEN + 1];
 | |
| 	char passphrase[NVT_MAX_NETWORK_KEY_LEN + 1];
 | |
| 	char wep_key1[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	char wep_key2[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	char wep_key3[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	char wep_key4[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	int wep_default_key;
 | |
| 	char wsc_pin[NVT_PIN_LEN + 1];
 | |
| 	int is_configured;
 | |
| 	int config_by_ext_reg;
 | |
| 	int p2pmode;
 | |
| 	char device_name[NVT_MAX_DEVICE_NAME_LEN + 1];
 | |
|     int is_dhcp; // static ip or dhcp for client mode
 | |
|     int auto_ssid_plus_mac;
 | |
| } nvt_wifi_settings;
 | |
| 
 | |
| typedef struct _nvt_wsc_flash_param {
 | |
| 	char SSID[NVT_WSC_MAX_SSID_LEN + 1];
 | |
| 	int WSC_AUTH;     /* WSC_AUTH_OPEN=1, WSC_AUTH_WPAPSK=2, WSC_AUTH_SHARED=4, WSC_AUTH_WPA=8, WSC_AUTH_WPA2=0x10, WSC_AUTH_WPA2PSK=0x20, WSC_AUTH_WPA2PSKMIXED=0x22 */
 | |
| 	char WSC_PSK[NVT_MAX_NETWORK_KEY_LEN + 1];
 | |
| 	int WEP; /* WEP_DISABLED=0, WEP64=1, WEP128=2*/
 | |
| 	char WEP_KEY1[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	char WEP_KEY2[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	char WEP_KEY3[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	char WEP_KEY4[NVT_MAX_WEP_KEY_LEN + 1];
 | |
| 	int WEP_DEFAULT_KEY;
 | |
| 	int WSC_ENC; /* WSC_ENCRYPT_NONE=1, WSC_ENCRYPT_WEP=2, WSC_ENCRYPT_TKIP=4, WSC_ENCRYPT_AES=8, WSC_ENCRYPT_TKIPAES=12 */
 | |
| 	int WSC_CONFIGBYEXTREG; /* CONFIG_BY_INTERNAL_REGISTRAR=1, CONFIG_BY_EXTERNAL_REGISTRAR=2, MANUAL_SETTING_TO_ENROLLEE=3 */
 | |
| 	int WLAN0_P2P_TYPE;
 | |
| } nvt_wsc_flash_param;
 | |
| 
 | |
| struct nvt_bss_desc {
 | |
| 	unsigned char   bssid[NVT_WIFIIPC_MAC_ADDR_LEN];
 | |
| 	unsigned char   ssid[32];
 | |
| 	unsigned char   *ssidptr;           // unused, for backward compatible
 | |
| 	unsigned short  ssidlen;
 | |
| 	unsigned char   meshid[NVT_MESH_ID_LEN];
 | |
| 	unsigned char   *meshidptr;         // unused, for backward compatible
 | |
| 	unsigned short  meshidlen;
 | |
| 	unsigned int    bsstype;
 | |
| 	unsigned short  beacon_prd;
 | |
| 	unsigned char   dtim_prd;
 | |
| 	unsigned int    t_stamp[2];
 | |
| 	unsigned int    ibss_par;
 | |
| 	unsigned short  capability;
 | |
| 	unsigned char   channel;
 | |
| 	unsigned int    basicrate;
 | |
| 	unsigned int    supportrate;
 | |
| 	unsigned char   bdsa[NVT_WIFIIPC_MAC_ADDR_LEN];
 | |
| 	unsigned char   rssi;
 | |
| 	unsigned char   sq;
 | |
|     unsigned int    network;
 | |
| 	/*add for P2P_SUPPORT ; for sync; it exist no matter p2p enabled or not*/
 | |
| 	unsigned char   p2pdevname[33];
 | |
| 	unsigned char   p2prole;
 | |
| 	unsigned short  p2pwscconfig;
 | |
| 	unsigned char   p2paddress[NVT_WIFIIPC_MAC_ADDR_LEN];
 | |
| };
 | |
| 
 | |
| typedef struct _nvt_sitesurvey_status {
 | |
| 	unsigned char number;
 | |
| 	unsigned char pad[3];
 | |
| 	//BssDscr bssdb[MAX_BSS_DESC];
 | |
| 	struct nvt_bss_desc bssdb[NVT_MAX_BSS_DESC];
 | |
| } NVT_SS_STATUS_T, *NVT_SS_STATUS_Tp;
 | |
| 
 | |
| /* Any changed here MUST sync with 8192cd_p2p.h */
 | |
| typedef struct _nvt_p2p_provision_comm {
 | |
| 	unsigned char dev_address[6];
 | |
| 	unsigned short wsc_config_method;
 | |
| 	unsigned char channel;
 | |
| } NVT_P2P_PROVISION_COMM_T, *NVT_P2P_PROVISION_COMM_Tp;
 | |
| 
 | |
| enum NVT_NETWORK_TYPE {
 | |
| 	NVT_WIRELESS_11B = 1,
 | |
| 	NVT_WIRELESS_11G = 2,
 | |
| 	NVT_WIRELESS_11A = 4,
 | |
| 	NVT_WIRELESS_11N = 8,
 | |
| 	NVT_WIRELESS_11AC = 64,
 | |
|     NVT_WIRELESS_24G = 128,
 | |
|     NVT_WIRELESS_5G = 256,
 | |
|     NVT_WIRELESS_32BIT = 512
 | |
| };
 | |
| 
 | |
| typedef enum _NVT_FREQUENCY_TYPE {
 | |
| 	NVT_WIFI_24G = 0,
 | |
| 	NVT_WIFI_5G  = 1
 | |
| } NVT_FREQUENCY_TYPE;
 | |
| 
 | |
| typedef enum _NVT_Capability {
 | |
| 	nvt_cESS        = 0x01,
 | |
| 	nvt_cIBSS       = 0x02,
 | |
| 	nvt_cPollable       = 0x04,
 | |
| 	nvt_cPollReq        = 0x01,
 | |
| 	nvt_cPrivacy        = 0x10,
 | |
| 	nvt_cShortPreamble  = 0x20,
 | |
| } NVT_Capability;
 | |
| 
 | |
| enum nvt_wifi_state {
 | |
|     NVT_WIFI_STATION_STATE  =   0x00000008,
 | |
|     NVT_WIFI_AP_STATE       =   0x00000010,
 | |
|     NVT_WIFI_P2P_SUPPORT    =   0x08000000
 | |
| };
 | |
| 
 | |
| enum nvt_p2p_role_more{
 | |
|     NVT_P2P_DEVICE=1,
 | |
|     NVT_P2P_PRE_CLIENT=2,
 | |
|     NVT_P2P_CLIENT=3,
 | |
|     NVT_P2P_PRE_GO=4,    // after GO nego , we are GO and proceed WSC exchange
 | |
|     NVT_P2P_TMP_GO=5     // after GO nego , we are GO and proceed WSC exchange is done
 | |
| };
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     NVT_WIFI_SEC_INVALID              =0,
 | |
|     NVT_WIFI_SEC_NONE                 =0x01,
 | |
|     NVT_WIFI_SEC_WEP                  =0x02,
 | |
|     NVT_WIFI_SEC_WEP_128              =0x20,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA_PSK              =0x04,
 | |
|     NVT_WIFI_SEC_WPA_1X               =0x05,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA_PSK_AES_TKIP     =0x09,
 | |
|     NVT_WIFI_SEC_WPA_PSK_AES          =0x0A,
 | |
|     NVT_WIFI_SEC_WPA_PSK_TKIP         =0x0B,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA_1X_AES_TKIP      =0x0C,
 | |
|     NVT_WIFI_SEC_WPA_1X_AES           =0x0D,
 | |
|     NVT_WIFI_SEC_WPA_1X_TKIP          =0x0E,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA2_PSK             =0x10,
 | |
|     NVT_WIFI_SEC_WPA2_1X              =0x11,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA2_PSK_AES_TKIP    =0x15,
 | |
|     NVT_WIFI_SEC_WPA2_PSK_AES         =0x16,
 | |
|     NVT_WIFI_SEC_WPA2_PSK_TKIP        =0x17,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA2_1X_AES_TKIP     =0x18,
 | |
|     NVT_WIFI_SEC_WPA2_1X_AES          =0x19,
 | |
|     NVT_WIFI_SEC_WPA2_1X_TKIP         =0x1A,
 | |
| 
 | |
|     NVT_WIFI_SEC_WPA_AUTO_PSK_AES_TKIP    =0x1B,
 | |
|     NVT_WIFI_SEC_WPA_AUTO_PSK_AES         =0x1C,
 | |
|     NVT_WIFI_SEC_WPA_AUTO_PSK_TKIP        =0x1D,
 | |
|     NVT_WIFI_SEC_MAX,
 | |
| }NVT_WIFI_SEC_SETTING;
 | |
| 
 | |
| enum nvt_wifi_wakeup_reason {
 | |
|     NVT_WIFI_WAKEUP_REASON_UNKNOWN               =   0,
 | |
|     NVT_WIFI_WAKEUP_REASON_DATA                  =   1,
 | |
|     NVT_WIFI_WAKEUP_REASON_DISCONNECT            =   2,
 | |
| 	NVT_WIFI_WAKEUP_REASON_NOT_WAKEUP            =   3,
 | |
| 	NVT_WIFI_WAKEUP_REASON_AUTO_RECOVERY_SUCCESS =   4,
 | |
| 	NVT_WIFI_WAKEUP_REASON_AUTO_RECOVERY_FAIL    =   5,
 | |
| 	NVT_WIFI_WAKEUP_REASON_DHCP_OK               =   6,
 | |
| 	NVT_WIFI_WAKEUP_REASON_DHCP_NAK              =   7,
 | |
| 	NVT_WIFI_WAKEUP_REASON_DHCP_No_Resp          =   8,
 | |
| 	NVT_WIFI_WAKEUP_REASON_KEEP_ALIVE_NO_RESP    =   9,
 | |
| };
 | |
| 
 | |
| enum nvt_wifi_sleep_recovery_action {
 | |
|     NVT_WIFI_SLEEP_RECOVERY_ACTION_ALL        =   0,
 | |
|     NVT_WIFI_SLEEP_RECOVERY_ACTION_RECOVER    =   1,
 | |
|     NVT_WIFI_SLEEP_RECOVERY_ACTION_RECONNECT  =   2,
 | |
| 	NVT_WIFI_SLEEP_RECOVERY_ACTION_NONE       =   3,
 | |
| 	NVT_WIFI_SLEEP_RECOVERY_ACTION_FINAL_FAIL =   4,
 | |
| };
 | |
| 
 | |
| typedef enum _NVT_Connect_Info {
 | |
| 	nvt_ci_rssi        = 0x01,
 | |
| } NVT_Connect_Info;
 | |
| 
 | |
| ///////////////////////parameter struct ///////////////
 | |
| typedef struct{
 | |
|     int param1;
 | |
|     int param2;
 | |
|     int param3;
 | |
| }NVTWIFI_PARAM_VALUE;
 | |
| 
 | |
| typedef struct{
 | |
|     char pIntfName[NVTWIFI_PARAM_LEN];
 | |
| }NVTWIFI_PARAM_INTF;
 | |
| 
 | |
| typedef struct{
 | |
|     char pIntfName[NVTWIFI_PARAM_LEN];
 | |
|     int  status;
 | |
| }NVTWIFI_PARAM_STATUS;
 | |
| 
 | |
| typedef struct{
 | |
|     char pIntfName[NVTWIFI_PARAM_LEN];
 | |
|     char string[NVTWIFI_PARAM_LEN];
 | |
|     int  status;
 | |
| }NVTWIFI_PARAM_STATUS2;
 | |
| 
 | |
| typedef struct{
 | |
|     char string1[NVTWIFI_PARAM_LEN];
 | |
|     char string2[NVTWIFI_PARAM_LEN];
 | |
|     char string3[NVTWIFI_PARAM_LEN];
 | |
| }NVTWIFI_PARAM_STRING;
 | |
| 
 | |
| typedef struct{
 | |
|     char param[NVTWIFI_MAX_PARAM][NVTWIFI_PARAM_LEN];
 | |
| }NVTWIFI_PARAM_RUN_CMD;
 | |
| 
 | |
| typedef struct{
 | |
|     char pIntfName[NVTWIFI_PARAM_LEN];
 | |
|     NVT_SS_STATUS_T  status;
 | |
| }NVTWIFI_PARAM_SITE_STATUS;
 | |
| 
 | |
| typedef struct{
 | |
|     char pIntfName[NVTWIFI_PARAM_LEN];
 | |
|     NVT_P2P_PROVISION_COMM_T  status;
 | |
| }NVTWIFI_PARAM_PROVISION_STATUS;
 | |
| 
 | |
| typedef struct {
 | |
|         char pIntfName[NVTWIFI_PARAM_LEN];
 | |
|         char pStaMac[NVTWIFI_PARAM_LEN];
 | |
|         NVT_Connect_Info info;
 | |
|         unsigned char data[NVTWIFI_PARAM_LEN];
 | |
| } NVTWIFI_PARAM_CONNECT_INFO;
 | |
| 
 | |
| typedef struct{
 | |
| 	unsigned char smac[6];
 | |
| 	unsigned char dmac[6];
 | |
|     unsigned char sip[4];
 | |
| 	unsigned char dip[4];
 | |
| 	unsigned int  sport;
 | |
| 	unsigned int  dport;
 | |
| 	unsigned char *payload;
 | |
| 	unsigned int  plen;
 | |
| 	unsigned int  interval;
 | |
| }NVTWIFI_PARAM_KEEP_ALIVE;
 | |
| 
 | |
| typedef struct{
 | |
| 	unsigned char smac[6];
 | |
| 	unsigned char dmac[6];
 | |
|     unsigned char sip[4];
 | |
| 	unsigned char dip[4];
 | |
| 	int           tcp;
 | |
| 	unsigned int  sport;
 | |
| 	unsigned int  dport;
 | |
| 	unsigned char *payload;
 | |
| 	unsigned int  plen;
 | |
| 	unsigned int  interval;
 | |
| }NVTWIFI_PARAM_WAKEUP_PATTERN;
 | |
| 
 | |
| typedef struct{
 | |
| 	char                 ssid[32];
 | |
| 	char                 password[32];
 | |
| 	NVT_WIFI_SEC_SETTING security;
 | |
| 	unsigned char        ip[4];
 | |
| 	int                  reserved;
 | |
| }NVTWIFI_PARAM_EASY_SETUP;
 | |
| 
 | |
| typedef struct{
 | |
| 	unsigned int scan_frequency;
 | |
| 	unsigned int repeat;
 | |
|     unsigned int exponent;
 | |
| 	unsigned int timeout;
 | |
| 	unsigned int action;
 | |
| 	char         ssid[32];
 | |
|     char         security[32];
 | |
| }NVTWIFI_PARAM_SLEEP_RECOVERY;
 | |
| 
 | |
| typedef struct{
 | |
| 	unsigned char current_ip[4];
 | |
| 	unsigned int  lease_time;
 | |
| }NVTWIFI_PARAM_DHCP_OFFLOAD;
 | |
| 
 | |
| #ifndef __externC
 | |
| #ifdef __cplusplus
 | |
| # define __externC extern "C"
 | |
| #else
 | |
| # define __externC extern
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| __externC void NvtWifiECOS_CmdLine(char *szCmd);
 | |
| 
 | |
| #endif // CYGONCE_CYG_WIFI_NVT_H
 | |
| // End of nvtwifi.h
 | 
