123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- #ifndef _NET_INTERFACE_H_
- #define _NET_INTERFACE_H_
- #include "types.h"
- typedef struct _mid_nwsi_ipv4_addr_t_{
- UINT8 A;
- UINT8 B;
- UINT8 C;
- UINT8 D;
- }MID_NWSI_IPv4_Addr_t;
- typedef struct _mid_nwsi_mac_addr_t_{
- UINT8 A;
- UINT8 B;
- UINT8 C;
- UINT8 D;
- UINT8 E;
- UINT8 F;
- }MID_NWSI_MAC_Addr_t;
- typedef enum{
- E_MID_NWSI_CONNECT_TYPE_NONE ,
- E_MID_NWSI_CONNECT_TYPE_ETHERNET ,
- E_MID_NWSI_CONNECT_TYPE_WIRELESS,
- E_MID_NWSI_CONNECT_TYPE_4G,
- E_MID_NWSI_CONNECT_TYPE_END ,
- }E_MID_NWSI_CONNECT_TYPE;
- typedef enum{
- E_MID_NWSI_IP_TYPE_NONE,
- E_MID_NWSI_IP_TYPE_MANUAL, //static ip
- E_MID_NWSI_IP_TYPE_AUTO, //DHCP
- E_MID_NWSI_IP_TYPE_END,
- }E_MID_NWSI_IP_TYPE;
- #define PPPoE_ACCOUNT_NAME_LENGTH 50
- #define PPPoE_PASSWORD_NAME_LENGTH 20
- typedef struct _mid_nwsi_pppoe_account_data_t_{
- INT8 account[PPPoE_ACCOUNT_NAME_LENGTH];
- INT8 pwd[PPPoE_PASSWORD_NAME_LENGTH];
- }MID_NWSI_PPPOE_Account_Data_t;
- //wireless
- typedef enum {
- E_MID_NWSI_WLAN_SCAN_STATE_IDLE,
- E_MID_NWSI_WLAN_SCAN_STATE_SCANNING,
- E_MID_NWSI_WLAN_SCAN_STATE_EXCEPTION,
- }E_MID_NWSI_WLAN_SCAN_STATE;
- typedef enum {
- E_MID_NWSI_WLAN_CONNECT_STATE_OFF,
- E_MID_NWSI_WLAN_CONNECT_STATE_ON,
- E_MID_NWSI_WLAN_CONNECT_STATE_ING,
- E_MID_NWSI_WLAN_CONNECT_STATE_EXCEPTION,
- }E_MID_NWSI_WLAN_CONNECT_STATE;
- typedef enum {
- E_MID_NWSI_ENCRYPTIONTYPE_OFF = 0,
- E_MID_NWSI_ENCRYPTIONTYPE_WEP = 0x1,
- E_MID_NWSI_ENCRYPTIONTYPE_WPA = 0x2,
- E_MID_NWSI_ENCRYPTIONTYPE_WPA2 = 0x4,
- }E_MID_NWSI_ENCRYPTIONTYPE;
- typedef enum {
- E_MID_NWSI_FTPFILETYPE_VIDEO_FILE = 0,
- E_MID_NWSI_FTPFILETYPE_FILE_VERSION = 0x1,
- }E_MID_NWSI_FTPFILETYPE;
- typedef struct _mid_nwsi_apdata_t_
- {
- INT8 APName[64]; // SSID - 172.156.XXX.XXX- ssid max length :32bytes
- UINT8 APChannel;
- INT8 APQuality; // signal quality<=100
- UINT8 APEncryption; // Type : WEP , WPA , WPA2 , or No encryption
- MID_NWSI_MAC_Addr_t APMAC; // BSSID - XX.XX.XX.XX.XX.XX (X: 0~F)
- }MID_NWSI_APData_t;
- typedef struct _mid_nwsi_ap_node_t_{
- MID_NWSI_APData_t *data;
- struct _mid_nwsi_ap_node_t_ *prev;
- struct _mid_nwsi_ap_node_t_ *next;
- UINT8 state; //for list's internal used
- }MID_NWSI_APNode_t;
- typedef struct _mid_nwsi_aplist_t_{
- MID_NWSI_APNode_t head;
- MID_NWSI_APNode_t tail;
- INT32 apNum;
- }MID_NWSI_APList_t;
- typedef struct _mid_nwsi_wlaninfo_t_{ //for app_frmk use
- INT32 APTotalNum;
- MID_NWSI_APData_t *apdatalist;
- }MID_NWSI_WLANINFO_t;
- //callback enum - notice status & get paramters
- typedef enum _e_mid_net_setting_callback_type_ {
- E_MID_NWSI_REPORT_WLAN_AP_ScanStart,
- E_MID_NWSI_REPORT_WLAN_AP_ScanStop,
- E_MID_NWSI_REPORT_WLAN_AP_ListUpdate,
- E_MID_NWSI_REPORT_WLAN_DEVICE_DISABLED,
- E_MID_NWSI_REPORT_WLAN_DEVICE_ENABLED,
- }E_MID_NWSI_REPORT_TYPE;
- typedef enum {
- E_MID_NWSI_AP_STATE_NOT_EXIST,
- E_MID_NWSI_AP_STATE_OLD,
- E_MID_NWSI_AP_STATE_NEW,
- }E_MID_NWSI_AP_STATE;
- typedef enum {
- E_MID_NWSI_INTERFACE_P2P0,
- E_MID_NWSI_INTERFACE_WLAN1,
- }E_MID_NWSI_INTERFACE;
- typedef enum
- {
- Dongle_None = 0,
- Dongle_MTK_7601,
- Dongle_RTK_8188FTV,
- Dongle_RTK_8188EU,
- Dongle_RTK_8723BU,
- Dongle_RTK_8723DU,
- Dongle_RTK_8733BU,
- Dongle_RDA_5995,
- Dongle_ATBM_6032,
- Dongle_ATBM_6132,
- Dongle_AIC_8800,
- Dongle_Max,
- } Dongle_e;
- typedef struct
- {
- Dongle_e eDongle;
- char *P2PName;
- char *eVidInfo;
- char *ePidInfo;
- char *pKoName;
- char *pDongleOutputString;
- } Dongle_Format_t;
- /*
- * Make it easy for customers to add new wifi dongles
- * The order in "g_DongleMap" must be the same as the order in "Dongle_e"
- * parameter eDongle: Which Dongle to use
- * parameter eVidInfo/ePidInfo: dongle info, "cat /proc/usbinfo" can get this information
- * parameter pDongleOutputString: print message only
- */
- static const Dongle_Format_t g_DongleMap[Dongle_Max] =
- {
- {Dongle_None, "null", "null", "null", "null", "null"},
- {Dongle_MTK_7601, "p2p0", "148f", "7601", "mt7601Usta", "MTK_7601"},
- {Dongle_RTK_8188FTV,"wlan1", "0bda", "f179", "8188fu", "RTK_8188FTV"},
- {Dongle_RTK_8188EU, "wlan1", "0bda", "0179", "8188eu", "RTK_8188EU"},
- {Dongle_RTK_8723BU, "wlan1", "0bda", "b720", "8723bu", "RTK_8723BU"},
- {Dongle_RTK_8723DU, "wlan1", "0bda", "d723", "8723du", "RTK_8723DU"},
- {Dongle_RTK_8733BU, "wlan1", "0bda", "b733|f72b", "8733bu", "RTK_8733BU"},
- {Dongle_RDA_5995, "p2p0", "1e04", "8888", "rdawfmac", "RDA_5995"},
- {Dongle_ATBM_6032, "p2p0", "007a", "8888", "atbm_wifi", "ATBM_6032"},
- {Dongle_ATBM_6132, "p2p0", "007a", "8890", "atbm_wifi", "ATBM_6132"},
- {Dongle_AIC_8800, "p2p0", "a69c", "880", "aic8800_fdrv", "AIC8800"},
- };
- #if defined(CONFIG_SUPPORT_MULTI_DONGLE)
- #define WIFI_DONGLE Dongle_Max
- #elif defined(CONFIG_SUPPORT_NORMAL_MTK7601)
- #define WIFI_DONGLE Dongle_MTK_7601
- #elif defined(CONFIG_SUPPORT_RDA5995)
- #define WIFI_DONGLE Dongle_RDA_5995
- #elif defined(CONFIG_SUPPORT_RTL8188)
- #define WIFI_DONGLE Dongle_RTK_8188EU
- #elif defined(CONFIG_SUPPORT_RTL8188FTV)
- #define WIFI_DONGLE Dongle_RTK_8188FTV
- #elif defined(CONFIG_SUPPORT_RTL8723BU)
- #define WIFI_DONGLE Dongle_RTK_8723BU
- #elif defined(CONFIG_SUPPORT_RTL8723DU)
- #define WIFI_DONGLE Dongle_RTK_8723DU
- #elif defined(CONFIG_SUPPORT_RTL8733BU)
- #define WIFI_DONGLE Dongle_RTK_8733BU
- #elif defined(CONFIG_SUPPORT_ATBM6023)
- #define WIFI_DONGLE Dongle_ATBM_6032
- #elif defined(CONFIG_SUPPORT_ATBM6132)
- #define WIFI_DONGLE Dongle_ATBM_6132
- #elif defined(CONFIG_SUPPORT_AIC8800)
- #define WIFI_DONGLE Dongle_AIC_8800
- #endif
- typedef INT32 (*MID_NWSI_CallBack)(E_MID_NWSI_REPORT_TYPE type, void *pParam);
- //IP
- INT32 MID_NWSI_SetIP(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_IPv4_Addr_t addr);
- INT32 MID_NWSI_GetIP(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_IPv4_Addr_t *paddr);
- //Netmask
- INT32 MID_NWSI_SetNetmask(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_IPv4_Addr_t addr);
- INT32 MID_NWSI_GetNetmask(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_IPv4_Addr_t *paddr);
- //Gateway
- INT32 MID_NWSI_SetGateway(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_IPv4_Addr_t addr);
- INT32 MID_NWSI_GetGateway(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_IPv4_Addr_t *paddr);
- //DNS
- INT32 MID_NWSI_SetDNS(MID_NWSI_IPv4_Addr_t dns1, MID_NWSI_IPv4_Addr_t dns2);
- INT32 MID_NWSI_GetDNS(MID_NWSI_IPv4_Addr_t *dns1, MID_NWSI_IPv4_Addr_t *dns2);
- //MTU
- INT32 MID_NWSI_GetMTU(E_MID_NWSI_CONNECT_TYPE type);
- //MAC
- INT32 MID_NWSI_GetMAC(E_MID_NWSI_CONNECT_TYPE type, MID_NWSI_MAC_Addr_t *pmac);
- //PPPoE
- INT32 MID_NWSI_SetPPPoEAccount(MID_NWSI_PPPOE_Account_Data_t data);
- INT32 MID_NWSI_ConnectPPPoE(BOOL bConnect);
- //DHCP
- INT32 MID_NWSI_StopDHCP(void);
- INT32 MID_NWSI_SetDHCP(E_MID_NWSI_CONNECT_TYPE type);
- INT32 MID_NWSI_Init(void);
- INT32 MID_NWSI_ScanWifiAP(BOOL *bAPListUpdate);
- INT32 MID_NWSI_ScanP2PAP(BOOL *bAPListUpdate, E_MID_NWSI_INTERFACE Interface);
- //wireless
- Dongle_e MID_NWSI_WLAN_CheckWifiDongle();
- Dongle_e MID_NWSI_WLAN_GetWifiDongle();
- void MID_NWSI_WLAN_InsertWifiModule(Dongle_e Dongle_Select);
- void MID_NWSI_WLAN_RemoveWifiModule(Dongle_e Dongle_Select);
- INT32 MID_NWSI_WLAN_WiFiEnable(UINT8 bEnable);
- BOOL MID_NWSI_WLAN_IsDevExistence(void);
- INT32 MID_NWSI_WLAN_Disconnect(void);
- MID_NWSI_WLANINFO_t *MID_NWSI_WLAN_GetAPList(void); //for application to get ap list
- INT32 MID_NWSI_WLAN_ConnectSelectedAP(MID_NWSI_APData_t *pAPData, UINT8 keylen, INT8 *pKey);
- void MID_NWSI_DisableConnectMode(void);
- void MID_NWSI_EnableConnectMode(void);
- void MID_NWSI_SetConnectMode(E_MID_NWSI_CONNECT_TYPE type);
- INT32 MID_NWSI_GetConnectMode(void);
- void MID_NWSI_RegisterCB(MID_NWSI_CallBack pfCB);
- void MID_NWSI_UnRegisterCB(void);
- void MID_NWSI_Destory(void);
- UINT8 MID_NWSI_WLAN_GetAPState(void);
- BOOL MID_NWSI_IFStatus(void);
- void MID_NWSI_WLAN_ScanAP();
- BOOL MID_NWSI_P2P_ScanAP(E_MID_NWSI_INTERFACE Interface);
- BOOL MID_FTP_Get(E_MID_NWSI_FTPFILETYPE FILE_TYPE);
- BOOL MID_FTP_Ver_Check(void);
- UINT8 MID_NWSI_WLAN_GetAPState(void);
- void MID_NWSI_SetWPAPid(INT32 pid);
- INT32 MID_NWSI_GetWPAPid(void);
- UINT32 _MID_NWSI_Find_Id_(INT8 *path);
- INT32 _MID_NWSI_Check_File_Exist_(INT8 *fname);
- INT8 _MID_NWSI_Parse_String_MAC_(INT8 *pStr, MID_NWSI_MAC_Addr_t *pMac);
- #endif
|