al_network_ctrl.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. #ifndef __AL_NETWORK_CTRL_H__
  2. #define __AL_NETWORK_CTRL_H__
  3. #include "al_basictypes.h"
  4. #define RECNUM 5
  5. #define APPWDefault {0,0,{0},{0},{0,0,0,0,0,0}}
  6. typedef enum {
  7. e_AL_Network_Mode_None,
  8. e_AL_Network_Mode_Ethernet,
  9. e_AL_Network_Mode_Wireless,
  10. e_AL_Network_Mode_End,
  11. }e_AL_Network_Mode; //mapping to E_MID_NWSI_CONNECT_TYPE
  12. typedef enum { //force sync with E_MID_NWSI_ENCRYPTIONTYPE @ "netsetting_if.h"
  13. e_AL_ENCRYPTIONTYPE_OFF = 0,
  14. e_AL_ENCRYPTIONTYPE_WEP = 0x1,
  15. e_AL_ENCRYPTIONTYPE_WPA = 0x2,
  16. e_AL_ENCRYPTIONTYPE_WPA2 = 0x4,
  17. }e_AL_Encryption_Type; //mapping to E_MID_NWSI_ENCRYPTIONTYPE
  18. typedef enum {
  19. e_AL_IPMode_None,
  20. e_AL_IPMode_Manual,
  21. e_AL_IPMode_Auto,
  22. e_AL_IPMode_End,
  23. }e_AL_IPMode; //mapping to E_MID_NWSI_IP_TYPE
  24. typedef struct _Al_IP_t{
  25. al_uint8 IPA;
  26. al_uint8 IPB;
  27. al_uint8 IPC;
  28. al_uint8 IPD;
  29. }Al_IP_t;
  30. typedef struct _Al_NetMask_t{
  31. al_uint8 MaskA;
  32. al_uint8 MaskB;
  33. al_uint8 MaskC;
  34. al_uint8 MaskD;
  35. }Al_NetMask_t;
  36. typedef struct _Al_Gateway_t{
  37. al_uint8 GwA;
  38. al_uint8 GwB;
  39. al_uint8 GwC;
  40. al_uint8 GwD;
  41. }Al_Gateway_t;
  42. typedef struct _Al_DNS_t{
  43. al_uint8 DNSA;
  44. al_uint8 DNSB;
  45. al_uint8 DNSC;
  46. al_uint8 DNSD;
  47. }Al_DNS_t;
  48. typedef struct _Al_MAC_t{
  49. al_uint8 MACA;
  50. al_uint8 MACB;
  51. al_uint8 MACC;
  52. al_uint8 MACD;
  53. al_uint8 MACE;
  54. al_uint8 MACF;
  55. }Al_MAC_t;
  56. typedef struct _Al_IPSET_t{
  57. Al_IP_t IP;
  58. Al_NetMask_t NetMask;
  59. Al_Gateway_t GateWay;
  60. Al_DNS_t DNS1;
  61. Al_DNS_t DNS2;
  62. }Al_IPSET_t;
  63. typedef struct _Al_APInfo_t{
  64. al_int8 name[64];
  65. al_uint8 channel;
  66. al_int8 quality;
  67. al_uint8 encryption;
  68. Al_MAC_t mac;
  69. al_uint8 conntected;
  70. }Al_APInfo_t;
  71. typedef struct _APPW_t
  72. {
  73. al_uint8 PWlen;
  74. al_uint8 EncryptionType;
  75. al_uint8 Name[64];
  76. al_int8 PassWord[64];
  77. Al_MAC_t mac;
  78. } Al_APPW_t;
  79. typedef struct _Al_WiFiPwd_t
  80. {
  81. al_uint8 curRecAPIndex;
  82. al_uint8 LastRecAPIndex;
  83. Al_APPW_t APPW[RECNUM];
  84. } Al_WiFiPwd_t;
  85. AL_Return_t Al_Network_Ctrl_Init(al_void);
  86. al_void Al_Network_Ctrl_Set_ConnectMode(e_AL_Network_Mode mode);
  87. AL_Return_t Al_Network_Ctrl_Destroy(al_void);
  88. AL_Return_t Al_Network_Ctrl_SetIP(Al_IP_t *pIP);
  89. AL_Return_t Al_Network_Ctrl_SetNetMask(Al_NetMask_t *pNetMask);
  90. AL_Return_t Al_Network_Ctrl_SetGateway(Al_Gateway_t *pGateWay);
  91. AL_Return_t Al_Network_Ctrl_SetDNS(Al_DNS_t *pDNS1,Al_DNS_t *pDNS2);
  92. AL_Return_t Al_Network_Ctrl_SetDhcpStatic(e_AL_Network_Mode cType, e_AL_IPMode ipType, Al_IPSET_t *pIPSet);
  93. AL_Return_t Al_Network_Ctrl_GetIP(Al_IP_t *pIP);
  94. AL_Return_t Al_Network_Ctrl_GetNetMask(Al_NetMask_t *pNetMask);
  95. AL_Return_t Al_Network_Ctrl_GetGateway(Al_Gateway_t *pGateway);
  96. AL_Return_t Al_Network_Ctrl_GetDNS(Al_DNS_t *pDNS1, Al_DNS_t *pDNS2);
  97. AL_Return_t Al_Network_Ctrl_GetMAC(Al_MAC_t *pMac);
  98. al_int32 Al_Network_Ctrl_GetMTU(al_void);
  99. al_int32 Al_Network_Ctrl_GetAPNum(al_void);
  100. al_int32 Al_Network_Ctrl_QueryAPData(al_int32 from, al_int32 to,Al_APInfo_t *pAPInfo);
  101. al_void Al_Network_Ctrl_SetIPMode(e_AL_IPMode IPMode);
  102. AL_Return_t Al_Network_Ctrl_ConnectAP(Al_APInfo_t APInfo, al_uint8 keylen, al_int8 pKey[]);
  103. AL_Return_t Al_Network_Ctrl_DisconnectAP(void);
  104. al_bool AL_Network_Ctrl_GetConnectStatus();
  105. al_bool Al_Network_Ctrl_GetConnectAPData(Al_APInfo_t *pConnectedAPInfo);
  106. AL_Return_t Al_Network_Ctrl_CheckWireless(void);
  107. al_int8 Al_Network_Ctrl_GetAPQuailty(void);
  108. al_int8 Al_Network_Ctrl_GetP2PQuailty(void);
  109. #endif //__AL_NETWORK_CTRL_H__