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