1/************************************************************/
2/*  Version 2.4     by Cheni      2015/5/27		    */
3/*  HW Control Info                                         */
4/************************************************************/
5/************************************************************/
6/*  Version 2.3     by Cheni      2014/01/15	            */
7/*  AAE and API Level Info                                  */
8/************************************************************/
9/************************************************************/
10/*  Version 2.2     by Cheni	  2012/11/1		    */
11/*  AppHttpPort Info                                        */
12/************************************************************/
13/************************************************************/
14/*  Version 2.1     by Cheni      2012/5/31		    */
15/*  Webdav Info						    */
16/************************************************************/
17
18/************************************************************/
19/*  Version 2.0     by Cheni      2012/2/24                 */
20/*  Webdav Info						    */
21/************************************************************/
22
23/************************************************************/
24/*  Version 1.9     by Roly      2009/7/24                  */
25/*  Add LAN IP and Static Route List Info		    */
26/************************************************************/
27
28/************************************************************/
29/*  Version 1.8     by Jiahao      2007/2/13                */
30/*  Add AUTHENTICATION_WPA_PSK2 for WL520gu		    */
31/************************************************************/
32
33/************************************************************/
34/*  Version 1.7     by ChenI      2005/6/14                 */
35/*  Add DISK_STATUS_INSTALLING for WL700g		    */
36/************************************************************/
37
38/************************************************************/
39/*  Version 1.6     by ChenI      2005/5/27                 */
40/*  Add STORAGE_INFO_T for WL700g			    */
41/************************************************************/
42
43/************************************************************/
44/*  Version 1.5     by Yuhsin_Lee 2005/3/24 15:02           */
45/************************************************************/
46
47/* Defintion of Communcation Protocol of ASUS's network devices */
48/* $Id: iboxcom.h,v 1.2 2007/04/24 11:15:16 shinjung Exp $								*/
49
50#ifndef __IBOX_COMMON__
51#define __IBOX_COMMON__
52#include "shared.h"
53
54#pragma pack(1)
55
56/****************************************/
57/*              FOR LINUX               */
58/****************************************/
59#ifndef  WIN32
60#define ULONG   unsigned long
61#define DWORD   unsigned long
62#define BYTE    char
63#define PBYTE   char *
64#define WORD    unsigned short
65#define INT     int
66#endif //#ifndef  WIN32
67
68#define SVRPORT 9999
69#define OTSPORT 9998
70#define OTS_IPADD "192.168.1.1"
71#define WLHDD_SUPPORT 1
72//Define Error Code
73
74/************ Use Internally in Program************/
75#define	ERR_SUCCESS				0
76
77/************ Use Internally in Program************/
78
79#define	ERR_BASE				100
80
81
82//Use For Network Communication Protocol
83
84//Packet Type Section
85#define NET_SERVICE_ID_BASE	        (10)
86#define NET_SERVICE_ID_LPT_EMU	    (NET_SERVICE_ID_BASE + 1)
87#define NET_SERVICE_ID_IBOX_INFO	(NET_SERVICE_ID_BASE + 2)
88
89
90//Packet Type Section
91#define NET_PACKET_TYPE_BASE	    (20)
92#define NET_PACKET_TYPE_CMD	        (NET_PACKET_TYPE_BASE + 1)
93#define NET_PACKET_TYPE_RES	        (NET_PACKET_TYPE_BASE + 2)
94
95//Command ID Section
96//#define NET_CMD_ID_BASE		30
97//#define NET_CMD_ID_GETINFO	NET_CMD_ID_BASE + 1
98
99enum  NET_CMD_ID
100{                               // Decimal      Hexadecimal
101	NET_CMD_ID_BASE = 30,       //  30              0x1E
102	NET_CMD_ID_GETINFO,         //  31              0x1F
103	NET_CMD_ID_GETINFO_EX,      //  32              0x20
104	NET_CMD_ID_GETINFO_SITES,   //  33              0x21
105	NET_CMD_ID_SETINFO,         //  34              0x22
106	NET_CMD_ID_SETSYSTEM,       //  35              0x23
107	NET_CMD_ID_GETINFO_PROF,    //  36              0x24
108	NET_CMD_ID_SETINFO_PROF,    //  37              0x25
109    	NET_CMD_ID_CHECK_PASS,      //  38              0x26
110#ifdef BTN_SETUP
111	NET_CMD_ID_SETKEY_EX,	    //  39		0x27
112	NET_CMD_ID_QUICKGW_EX,	    //  40 		0x28
113	NET_CMD_ID_EZPROBE,	    //  41		0x29
114#endif
115	NET_CMD_ID_MANU_BASE=50,    //  50		0x32
116	NET_CMD_ID_MANU_CMD,	    //  51		0x33
117	NET_CMD_ID_GETINFO_MANU,    //  52              0x34
118	NET_CMD_ID_GETINFO_EX2,     //  53              0x35
119	NET_CMD_ID_MAXIMUM
120};
121
122enum  NET_RES_OP
123{
124	NET_RES_OK = 0x0000,
125	NET_RES_ERR_PASSWORD = 0x0100,
126	NET_RES_ERR_FIELD_UNDEF = 0x0200
127};
128
129//Packet Header Structure
130typedef struct iboxPKT
131{
132	BYTE		ServiceID;
133	BYTE		PacketType;
134	WORD		OpCode;
135	DWORD 		Info; // Or Transaction ID
136} IBOX_COMM_PKT_HDR;
137
138typedef struct iboxPKTRes
139{
140	BYTE		ServiceID;
141	BYTE		PacketType;
142	WORD		OpCode;
143	DWORD 		Info; // Or Transaction ID
144} IBOX_COMM_PKT_RES;
145
146typedef struct iboxPKTEx
147{
148	BYTE		ServiceID;
149	BYTE		PacketType;
150	WORD		OpCode;
151	DWORD 		Info; // Or Transaction ID
152	BYTE		MacAddress[6];
153	BYTE		Password[32];   //NULL terminated string, string length:1~31, cannot be NULL string
154} IBOX_COMM_PKT_HDR_EX;
155
156typedef struct iboxPKTExRes
157{
158	BYTE		ServiceID;
159	BYTE		PacketType;
160	WORD		OpCode;
161	DWORD 		Info; // Or Transaction ID
162	BYTE		MacAddress[6];
163} IBOX_COMM_PKT_RES_EX;
164
165//structure in IBOX_COMM_PKT_HDR.Info
166//--------------------------------------------
167//|Product Info| Not used						|
168//--------------------------------------------
169//   1 bytes       3 bytes
170
171//Define the constants used in IBOX_COMM_PKT_HDR.Info
172#define INFO_WL500 0x00010000
173#define INFO_WL510 0x00020000
174#define INFO_PDU_LENGTH	512
175
176#define WAVESERVER			// eric++
177
178//Extended Fields Definition
179typedef struct PktGetInfo
180{
181  	BYTE PrinterInfo[128];
182	BYTE SSID[32];
183  	BYTE NetMask[32];
184  	BYTE ProductID[32];
185  	BYTE FirmwareVersion[16];
186  	BYTE OperationMode;
187  	BYTE MacAddress[6];
188  	BYTE Regulation;
189} PKT_GET_INFO;
190
191#ifdef WAVESERVER			// eric++
192#define WS_INFO_FILENAME		"/tmp/waveserver.info"
193
194// appended to the PKT_GET_INFO;
195// at offset 0x100 (sizeof (IBOX_COMM_PKT_RES) + sizeof (PKT_GET_INFO))
196typedef struct ws_info_t	{
197	BYTE Name[4];		// 'W' + 'S' + Major version number + Minor version number
198	WORD Channel;
199	WORD SampleRate;
200	union   {
201		unsigned char SampleSize;
202		struct {
203			unsigned char s8:1,     /* bit0, Sample Size  8-bits */
204			s16:1,		  	/* bit1, Sample Size 16-bits */
205			s24:1,		  	/* bit2, Sample Size 24-bits */
206			s32:1,		  	/* bit3, Sample Size 32-bits */
207			rsvd:3,		 	/* bit4~6, Reserved */
208			cflag:1;		/* bit7, Connection Flag */
209		} b;
210	} u;
211	BYTE Compress;
212	BYTE Reserved[6];
213} WS_INFO_T;
214#endif
215
216#define EXTEND_MAGIC			0x8082
217#define EXTEND_CAP_WEBDAV 		0x0001
218#define EXTEND_CAP_SYNC			0x0002
219#define EXTEND_CAP_MEDIA		0x0004
220
221#define EXTEND_CAP_AAE_BASIC		0x0010
222#define EXTEND_CAP_HWCTRL		0x0020
223#define EXTEND_CAP_SWCTRL		0x0040
224
225#define EXTEND_WEBDAV_TYPE_HTTP		0x00
226#define EXTEND_WEBDAV_TYPE_HTTPS	0x01
227#define EXTEND_WEBDAV_TYPE_BOTH		0x02
228
229#ifdef RTCONFIG_ROG
230#define EXTEND_API_LEVEL		2
231#else
232#define EXTEND_API_LEVEL                1
233#endif
234
235typedef struct webdav_info_t {
236	BYTE EnableWebDav;
237	BYTE HttpType;
238	WORD HttpPort;
239	BYTE EnableDDNS;
240	BYTE HostName[64];
241  	DWORD WANIPAddr;
242	BYTE WANState;
243	BYTE isNotDefault;
244	WORD HttpsPort;
245} WEBDAV_INFO_T;
246
247typedef struct hwctrl_info_t {
248        BYTE EnableLed;
249        BYTE EnableBuzz;
250	BYTE Reserved[14];
251} HWCTRL_INFO_T;
252
253typedef struct swctrl_info_t {
254	BYTE ROGAPILevel;
255	BYTE AiHOMEAPILevel;
256	BYTE AiProtectionAPILevel;
257	BYTE Reserved[13];
258} SWCTRL_INFO_T;
259
260typedef struct device_info_t {
261	WEBDAV_INFO_T wt;
262	HWCTRL_INFO_T hw;
263	SWCTRL_INFO_T sw;
264} DEVICE_INFO_T;
265
266typedef struct storage_info_t {
267	WORD MagicWord;
268	WORD ExtendCap;
269	union {
270		WEBDAV_INFO_T wt;
271		DEVICE_INFO_T dev;
272		BYTE Reserved[128];
273	} u;
274	WORD AppHttpPort;      	/* Port for accessing app UI */
275	BYTE AppAPILevel;	/* API level for app */
276	BYTE EnableAAE;
277	BYTE AAEDeviceID[64];
278} STORAGE_INFO_T;
279
280typedef struct PktGetInfoEx1
281{
282	BYTE FieldCount;
283  	WORD FieldID;
284} PKT_GET_INFO_EX1;
285
286typedef struct Profiles
287{
288	BYTE mode;
289  	BYTE chan;
290   	BYTE ssid[32];
291  	BYTE rate;
292  	BYTE wep;
293  	BYTE wepkeylen;  /* 0: 40 bit, 1: 128 bit */
294   	BYTE wepkey1[16];  /* only up to 13 bits used */
295  	BYTE wepkey2[16] ;  /* only up to 13 bits used */
296  	BYTE wepkey3[16] ;  /* only up to 13 bits used */
297  	BYTE wepkey4[16];  /* only up to 13 bits used */
298  	BYTE wepkeyactive;
299  	BYTE sharedkeyauth;
300   	BYTE brgmacclone;
301  	BYTE preamble;
302	BYTE Reserve[55];
303} PROFILES;
304
305typedef struct PktGetInfoProf
306{
307	BYTE StartIndex;
308  	BYTE Count;
309  	union
310  	{
311  	   PROFILES Profiles[2];
312  	   struct
313  	   {
314  	   	BYTE ButtonType;
315  		BYTE ButtonMode;
316  		BYTE ProfileCount;
317  	   } ProfileControl;
318  	} p;
319} PKT_GET_INFO_PROFILE;
320
321typedef struct PktGetInfoSta
322{
323	BYTE mode;
324  	BYTE chan;
325   	BYTE ssid[32];
326  	BYTE rate;
327  	BYTE wep;
328  	BYTE wepkeylen;  /* 0: 40 bit, 1: 128 bit */
329   	BYTE wepkey1[16];  /* only up to 13 bits used */
330  	BYTE wepkey2[16] ;  /* only up to 13 bits used */
331  	BYTE wepkey3[16] ;  /* only up to 13 bits used */
332  	BYTE wepkey4[16];  /* only up to 13 bits used */
333  	BYTE wepkeyactive;
334  	BYTE sharedkeyauth;
335   	BYTE brgmacclone;
336  	BYTE preamble;
337	BYTE buttonMode;
338  	BYTE buttonType;
339  	BYTE profileCount;
340  	BYTE connectionStatus;
341  	DWORD IPAddr;
342  	DWORD Mask;
343  	DWORD Gateway;
344  	BYTE Dhcp;
345  	BYTE Reserve[38]; //51-13=38
346} PKT_GET_INFO_STA;	// total 173
347
348/*
349=======================================================
350definition in these 2 data structure (EA mode)
351typedef struct Profiles
352typedef struct PktGetInfoSta
353
354                wep     wepkeylen   sharedkeyauth
355open-none       0       0           0
356open-wep64      1       0           0
357open-wep128     1       1           0
358shared-wep64    1       0           1
359shared-wep128   1       1           1
360wpa-tkip        0       1           not used
361
362//enum STA_VIRTUAL_WEP_KEYLEN_TYPE
363=======================================================
364*/
365
366typedef struct InfoSite
367{
368	BYTE SSID[32];
369	BYTE Channel;
370	BYTE Type;
371	BYTE Wep; //enum  SITE_ENCRYPTION
372	BYTE Status;
373	BYTE BSSID[6];
374	BYTE RSSI;
375	BYTE Flag;
376	BYTE Reserve[16];
377} SITES;
378
379typedef struct PktGetInfoSite
380{
381	BYTE Count;
382	BYTE Index;
383  	SITES Sites[8];
384} PKT_GET_INFO_SITES;
385
386typedef struct PktGetInfoAP
387{
388	BYTE SSID[32];
389  	BYTE Channel;
390  	BYTE Auth;
391  	BYTE Encrypt;
392  	BYTE Key[64];
393  	BYTE DefaultKey;
394  	DWORD IPAddr;
395  	DWORD Mask;
396  	DWORD Gateway;
397  	BYTE Dhcp;
398  	BYTE WdsMode;
399  	BYTE WdsMAC[6*6];
400  	BYTE WdsNo;
401  	BYTE Reserve[9];
402} PKT_GET_INFO_AP;	// total 224 bytes
403
404typedef struct iboxPKTCmd
405{
406	WORD		len;
407	BYTE		cmd[420];
408} PKT_SYSCMD;		// total 422 bytes
409
410typedef struct iboxPKTCmdRes
411{
412	WORD		len;
413	BYTE		res[420];
414} PKT_SYSCMD_RES;	// total 422 bytes
415
416#ifdef BTN_SETUP
417// what is included in PKT_SET_INFO_GW_QUICK, OR these 3 flags
418#define QFCAP_WIRELESS 		0x01
419#define QFCAP_ISP		0x02
420#define QFCAP_WIRELESS2		0x04
421#define QFCAP_GET		0x40
422#define QFCAP_FINISH		0x80
423#define QFCAP_REBOOT		0x20
424#define MAX_DHKEY_LEN		192
425
426enum ACK_TYPE
427{
428	QUICK_ACK=0x00,
429	QUICK_NACK
430};
431
432enum ISP_TYPE
433{
434	ISP_TYPE_DHCPCLIENT=0x00,
435	ISP_TYPE_PPPOE,
436	ISP_TYPE_PPTP,
437	ISP_TYPE_STATICIP,
438	ISP_TYPE_BIGPOND,
439	ISP_TYPE_L2TP               //added by Minyen
440};
441
442enum PPTP_OPTION
443{
444    PPTP_OPTION_NO=0x00,
445    PPTP_OPTION_NOENCRYPT,
446    PPTP_OPTION_MPPE40,
447    PPTP_OPTION_MPPE56,
448    PPTP_OPTION_MPPE128
449};
450
451enum  MULTICAST_RATE
452{
453    MULTICAST_RATE_AUTO=0x00,
454    MULTICAST_RATE_1,
455    MULTICAST_RATE_2,
456    MULTICAST_RATE_5,
457    MULTICAST_RATE_6,
458    MULTICAST_RATE_9,
459    MULTICAST_RATE_11,
460    MULTICAST_RATE_12,
461    MULTICAST_RATE_18,
462    MULTICAST_RATE_24,
463    MULTICAST_RATE_36,
464    MULTICAST_RATE_48,
465    MULTICAST_RATE_54
466};
467
468enum WAN_BRIDGE_PORT
469{
470    WAN_BRIDGE_NONE=0x00,
471    WAN_BRIDGE_LAN1,
472    WAN_BRIDGE_LAN2,
473    WAN_BRIDGE_LAN3,
474    WAN_BRIDGE_LAN4,
475    WAN_BRIDGE_LAN3LAN4
476};
477
478enum PACKET_NUM
479{
480	SR_PACKET_1=0x01,
481	SR_PACKET_2,
482	SR_PACKET_3
483};
484
485typedef struct PktEZProbeInfo
486{
487	BYTE isNotDefault;  // 0/1, is in default state ?
488	BYTE isSetByOts;    // 0/1, is in EZSetup default state ?
489	BYTE isWAN;         // 0/1, is WAN connected ?
490	BYTE isDHCP;        // Not used now
491	BYTE isPPPOE;	    // Not used now
492	BYTE Auth;	    // Authentication Method
493	BYTE Wds;	    // WDS Mode, in WDS_MODE
494	BYTE Acl;	    // ACL Mode, in ACL_MODE
495  	BYTE ProductID[32]; // Not used now
496  	BYTE FirmwareVersion[16]; // Not used now
497	STORAGE_INFO_T StorageInfo;
498} PKT_EZPROBE_INFO;
499
500typedef struct PktSetInfoGWQuickKey
501{
502	BYTE Auth;
503	BYTE Encrypt;
504	BYTE KeyLen;	//default: 0
505	BYTE Key[MAX_DHKEY_LEN];
506} PKT_SET_INFO_GW_QUICK_KEY;
507
508typedef struct TempWirelessStruct {
509	BYTE TempSSID[32];
510	BYTE TempKey[32];      // AES Key, 256 bits = 32 bytes
511	BYTE SuggestSSID[32];  // If SSID = NULL String, use this one
512	BYTE SuggestKey[64];   // If Key = NULL String, use this one
513} TEMP_WIRELESS_STRUCT;
514
515typedef struct TempWireless
516{
517  	union
518  	{
519  	   BYTE SharedKey[MAX_DHKEY_LEN*2];
520	   TEMP_WIRELESS_STRUCT WirelessStruct;
521	} u;
522} TEMP_WIRELESS;
523
524typedef struct GWQuickWireless
525{
526	BYTE SSID[32];
527	BYTE Auth;		// as enum in AP_AUTHENTICATION
528  	BYTE Encrypt;	// as enum is AP_ENCRYPTION
529  	BYTE Key[64];
530	BYTE DefaultKey;
531} GW_QUICK_WIRELESS;
532
533typedef struct GWQuickISP
534{
535  	BYTE ISPType;		// as enum in ISP_TYPE
536  	BYTE UserName[64];  // NOTE: max length: 64! 0~63: null-terminated, 64: NOT null-terminated
537  	BYTE Password[64];  // NOTE: max length: 64! 0~63: null-terminated, 64: NOT null-terminated
538  	BYTE MAC[12];		// MAC in xxxxxxxxxxxx
539	BYTE HostName[32];	// Name                 // NOTE: max length: 32! 0~31: null-terminated, 32: NOT null-terminated
540	BYTE BPServer[32];	// IP address or Name   // NOTE: max length: 32! 0~31: null-terminated, 32: NOT null-terminated
541  	DWORD IPAddr;
542  	DWORD Mask;
543  	DWORD Gateway;
544	DWORD DNSServer1;
545	DWORD DNSServer2;
546	BYTE TimeZone[16];	// as string in Linux setting
547	BYTE PPTPOption;        // PPTP options
548	BYTE DHCPRoute;         // 0/1
549	BYTE MulticastRoute;    // 0/1
550	BYTE StaticRoute;       // 0/1
551	BYTE MulticastRate;     // multi-cast rate
552	BYTE WANBridgePort;     // WAN Bridge Port
553	BYTE PacketNum;		// check next Packet
554	BYTE SRNum;		// Static Route List number
555	DWORD LAN_IPAddr;	// LAN IP address
556	DWORD SR_IPAddr[12];	// Static Route IP address
557	DWORD SR_Mask[12];	// Static Route Mask address
558
559} GW_QUICK_ISP;
560
561typedef struct PktSetInfoGWQuick
562{
563	BYTE QuickFlag;			// 1 byte
564	GW_QUICK_WIRELESS WSetting;	// 99 byte
565	GW_QUICK_ISP ISPSetting;	// 348 byte,total = 46(IBOX_COMM_PKT_HDR_EX) + 1 + 99 + 348 = 494 (max = 512)
566} PKT_SET_INFO_GW_QUICK;
567
568#endif
569// Definition for field ID and type
570enum  ACL_MODE
571{
572	ACL_MODE_DISABLE=0x00,
573	ACL_MODE_ACCEPT,
574	ACL_MODE_REJECT
575};
576
577enum  WDS_MODE
578{
579	WDS_MODE_AP_ONLY=0x00,
580	WDS_MODE_HYBRID,
581	WDS_MODE_WDS_ONLY
582};
583
584enum  OPERATION_MODE
585{
586	OPERATION_MODE_WB=0x00,
587	OPERATION_MODE_AP,
588	OPERATION_MODE_GATEWAY,
589	OPERATION_MODE_ROUTER,
590	OPERATION_MODE_PAIRING
591};
592
593enum AP_AUTHENTICATION
594{
595	AUTHENTICATION_SHARED=0x00,
596	AUTHENTICATION_OPEN,
597   	AUTHENTICATION_WPA_PSK=3, 	//add by Axin
598   	AUTHENTICATION_WPA=4, 		//add by Chen-I
599   	AUTHENTICATION_8021X=5, 	//add by Chen-I
600   	AUTHENTICATION_WPA_PSK2=2, 	//added by Jiahao
601   	AUTHENTICATION_WPA_AUTO=6 	//added by Axin
602};
603
604enum  AP_ENCRYPTION
605{
606	ENCRYPTION_DISABLE=0x00,
607	ENCRYPTION_WEP64,
608	ENCRYPTION_WEP128,
609   	ENCRYPTION_TKIP, 	//add by Axin
610	ENCRYPTION_AES,
611	ENCRYPTION_TKIP_AES
612};
613
614enum DEFAULT_KEY_INDEX
615{
616    DEFAULT_KEY_1=0x1,
617    DEFAULT_KEY_2,
618    DEFAULT_KEY_3,
619    DEFAULT_KEY_4
620};
621
622enum  SITE_ENCRYPTION
623{
624	SITE_ENCRYPTION_DISABLE=0x00,
625	SITE_ENCRYPTION_WEP,
626    SITE_ENCRYPTION_TKIP
627};
628
629enum  STA_STATION_MODE
630{
631	STATION_MODE_INFRA=0x00,
632	STATION_MODE_ADHOC
633#ifdef WLHDD_SUPPORT
634	,
635	STATION_MODE_AP
636#endif
637};
638
639enum STA_AUTHENTICATION
640{
641	STA_AUTHENTICATION_OPEN=0x00,
642	STA_AUTHENTICATION_SHARED
643};
644
645enum  STA_ENCRYPTION
646{
647	STA_ENCRYPTION_DISABLE=0x00,
648	STA_ENCRYPTION_ENABLE
649};
650
651enum  STA_ENCRYPTION_TYPE
652{
653	STA_ENCRYPTION_TYPE_WEP64=0x00,
654	STA_ENCRYPTION_TYPE_WEP128
655};
656
657enum STA_VIRTUAL_WEP_KEYLEN_TYPE
658{
659	STA_VIRTUAL_WEP_KEYLEN_NONE=0x00,
660	STA_VIRTUAL_WEP_KEYLEN_TKIP
661};
662
663enum  STA_CONNECTION_STATUS
664{
665	STATUS_DISCONNECT=0x00,
666	STATUS_CONNECT
667};
668
669enum DHCP_MODE
670{
671	DHCP_DISABLED = 0x00,
672	DHCP_ENABLED
673};
674
675enum  STA_BUTTON_MODE
676{
677	BUTTON_MODE_DISABLE=0x00,
678	BUTTON_MODE_ENABLE
679};
680
681enum  STA_BUTTON_TYPE
682{
683	BUTTON_TYPE_MAX_POWER=0x00,
684	BUTTON_TYPE_MAX_POWER_PROFILE,
685	BUTTON_TYPE_MAX_POWER_ALL,
686	BUTTON_TYPE_PROFILE,
687	BUTTON_TYPE_PROFILE_ONE
688};
689
690enum  STA_PROFILE_INDEX
691{
692	PROFILE_INDEX_START=0x00,
693	PROFILE_INDEX_ERASE
694};
695
696
697enum FIELD_DEFINTION
698{
699	FIELD_GENERAL = 0x0001,
700	FIELD_GENERAL_CONTROL, 		// 1
701	FIELD_GENERAL_OPERATION_MODE, 	// 1
702	FIELD_GENERAL_CURRENT_STA, 	// 160
703	FIELD_GENERAL_CURRENT_AP, 	// 160
704	FIELD_STA = 0x1000,
705	FIELD_STA_SSID,			// 32
706	FIELD_STA_MODE,			// 1
707	FIELD_STA_CHANNEL,		// 1
708	FIELD_STA_AUTH,			// 1
709	FIELD_STA_ENCRYPT,		// 1
710	FIELD_STA_TXRATE,		// 1
711	FIELD_STA_KEY1,			// 32
712	FIELD_STA_KEY2,			// 32
713	FIELD_STA_KEY3,			// 32
714	FIELD_STA_KEY4,			// 32
715	FIELD_STA_DEFAULTKEY,		// 1
716	FIELD_STA_PASSPHRASE,		// 64
717	FIELD_STA_SCANMODE,		// 1
718	FIELD_STA_SCANTYPE,		// 1
719	FIELD_STA_PROFILE,		// 1
720	FIELD_STA_CONNECTION_STATUS = 0x1050, // 1
721	FIELD_WIRELESS = 0x2000,
722	FIELD_WIRELESS_SSID,		// 32
723	FIELD_WIRELESS_CHANNEL,		// 1
724	FIELD_WIRELESS_AUTH,		// 1
725	FIELD_WIRELESS_ENCRYPT,		// 1
726	FIELD_WIRELESS_TXRATE,		// 1
727	FIELD_WIRELESS_KEY1,		// 1
728	FIELD_WIRELESS_KEY2,		// 1
729	FIELD_WIRELESS_KEY3,		// 1
730	FIELD_WIRELESS_KEY4,		// 1
731	FIELD_WIRELESS_DEFAULTKEY,	// 1
732	FIELD_WIRELESS_PASSPHRASE,	// 64
733	FIELD_WIRELESS_BLOCKSSID,	// 1
734	FIELD_WIRELESS_BASICRATE,	// 2
735	FIELD_WIRELESS_PREAMBLE,	// 1
736	FIELD_LAN = 0x2100,
737	FIELD_LAN_CONNECTION_TYPE,	// 1
738	FIELD_LAN_IPADDRESS,		// 32
739	FIELD_LAN_NETMASK,		// 32
740	FIELD_LAN_GATEWAY,		// 32
741	FIELD_WAN = 0x2200,
742	FIELD_WAN_CONNECTION_TYPE	// 1
743#ifdef BTN_SETUP
744	, FIELD_GW_QUICK = 0x2300,
745	FIELD_GW_QUICK_SETUP		// 1
746#endif
747};
748
749#pragma pack()
750#endif //#ifndef __IBOX_COMMON__
751
752
753
754