summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h
diff options
context:
space:
mode:
authorRoman Yeryomin <roman@advem.lv>2012-09-13 00:40:35 +0300
committerRoman Yeryomin <roman@advem.lv>2012-12-03 00:13:21 +0200
commit5deb3317cb51ac52de922bb55f8492624018906d (patch)
treec2fbe6346699d9bb0f2100490c3029519bb8fde8 /target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h
parent0239d37124f9184b478a42de8a7fa1bc85a6a6fe (diff)
Add realtek target files
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h')
-rw-r--r--target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h670
1 files changed, 670 insertions, 0 deletions
diff --git a/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h
new file mode 100644
index 000000000..b0801e360
--- /dev/null
+++ b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_security.h
@@ -0,0 +1,670 @@
+/*
+ * Header file defines the interface with AUTH daemon (802.1x authenticator)
+ *
+ * $Id: 8192cd_security.h,v 1.3.2.1 2010/12/01 13:38:00 button Exp $
+ *
+ * Copyright (c) 2009 Realtek Semiconductor Corp.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef _8192CD_SECURITY_H_
+#define _8192CD_SECURITY_H_
+
+#include "./8192cd_cfg.h"
+
+#ifdef INCLUDE_WPS
+#include "./wps/wsc.h"
+#endif
+
+typedef struct _DOT11_QUEUE_NODE
+{
+ unsigned short ItemSize;
+ unsigned char Item[MAXDATALEN];
+}DOT11_QUEUE_NODE;
+
+typedef struct _DOT11_QUEUE
+{
+ int Head;
+ int Tail;
+ int NumItem;
+ int MaxItem;
+ DOT11_QUEUE_NODE ItemArray[MAXQUEUESIZE];
+}DOT11_QUEUE;
+
+typedef unsigned char DOT11_KEY_RSC[8];
+
+typedef enum{
+ DOT11_KeyType_Group = 0,
+ DOT11_KeyType_Pairwise = 1
+} DOT11_KEY_TYPE;
+
+typedef enum{
+ DOT11_EAPOL_GROUP_INDEX = 0,
+ DOT11_EAPOL_PAIRWISE_INDEX = 3
+} DOT11_EAPOL_KEY_INDEX;
+
+typedef enum{
+ DOT11_KeyUsage_ENC,
+ DOT11_KeyUsage_MIC
+} DOT11_KEY_USAGE;
+
+typedef enum{
+ DOT11_Role_Auth,
+ DOT11_Role_Supp
+} DOT11_ROLE;
+
+typedef enum{
+ DOT11_VARIABLE_MACEnable,
+ DOT11_VARIABLE_SystemAuthControl,
+ DOT11_VARIABLE_AuthControlledPortStatus,
+ DOT11_VARIABLE_AuthControlledPortControl,
+ DOT11_VARIABLE_AuthenticationType,
+ DOT11_VARIABLE_KeyManagement,
+ DOT11_VARIABLE_MulticastCipher,
+ DOT11_VARIABLE_UnicastCipher
+} DOT11_VARIABLE_TYPE;
+
+typedef enum{
+ DOT11_SysAuthControl_Disabled,
+ DOT11_SysAuthControl_Enabled
+} DOT11_SYSTEM_AUTHENTICATION_CONTROL;
+
+typedef enum{
+ DOT11_PortControl_ForceUnauthorized,
+ DOT11_PortControl_ForceAuthorized,
+ DOT11_PortControl_Auto
+} DOT11_PORT_CONTROL;
+
+typedef enum{
+ DOT11_PortStatus_Unauthorized,
+ DOT11_PortStatus_Authorized,
+ DOT11_PortStatus_Guest
+}DOT11_PORT_STATUS;
+
+typedef enum{
+ DOT11_Association_Fail,
+ DOT11_Association_Success
+}DOT11_ASSOCIATION_RESULT;
+
+typedef enum{
+ DOT11_AuthKeyType_RSN = 1,
+ DOT11_AuthKeyType_PSK = 2,
+ DOT11_AuthKeyType_NonRSN802dot1x = 3
+} DOT11_AUTHKEY_TYPE;
+
+typedef enum{
+ DOT11_AuthKeyType_RSN_MAP = 1,
+ DOT11_AuthKeyType_PSK_MAP = 2,
+ DOT11_AuthKeyType_NonRSN802dot1x_MAP = 4
+} DOT11_AUTHKEY_TYPE_MAP;
+
+typedef enum{
+ DOT11_Ioctl_Query = 0,
+ DOT11_Ioctl_Set = 1
+} DOT11_Ioctl_Flag;
+
+typedef enum{
+ DOT11_ENC_NONE = 0,
+ DOT11_ENC_WEP40 = 1,
+ DOT11_ENC_TKIP = 2,
+ DOT11_ENC_WRAP = 3,
+ DOT11_ENC_CCMP = 4,
+ DOT11_ENC_WEP104= 5,
+ DOT11_ENC_WAPI= 6
+} DOT11_ENC_ALGO;
+
+typedef enum{
+ DOT11_ENC_NONE_MAP = 1,
+ DOT11_ENC_WEP40_MAP = 2,
+ DOT11_ENC_TKIP_MAP = 4,
+ DOT11_ENC_WRAP_MAP = 8,
+ DOT11_ENC_CCMP_MAP = 16,
+ DOT11_ENC_WEP104_MAP= 32
+} DOT11_ENC_ALGO_MAP;
+
+
+typedef enum{
+ DOT11_EVENT_NO_EVENT = 1,
+ DOT11_EVENT_REQUEST = 2,
+ DOT11_EVENT_ASSOCIATION_IND = 3,
+ DOT11_EVENT_ASSOCIATION_RSP = 4,
+ DOT11_EVENT_AUTHENTICATION_IND = 5,
+ DOT11_EVENT_REAUTHENTICATION_IND = 6,
+ DOT11_EVENT_DEAUTHENTICATION_IND = 7,
+ DOT11_EVENT_DISASSOCIATION_IND = 8,
+ DOT11_EVENT_DISCONNECT_REQ = 9,
+ DOT11_EVENT_SET_802DOT11 = 10,
+ DOT11_EVENT_SET_KEY = 11,
+ DOT11_EVENT_SET_PORT = 12,
+ DOT11_EVENT_DELETE_KEY = 13,
+ DOT11_EVENT_SET_RSNIE = 14,
+ DOT11_EVENT_GKEY_TSC = 15,
+ DOT11_EVENT_MIC_FAILURE = 16,
+ DOT11_EVENT_ASSOCIATION_INFO = 17,
+ DOT11_EVENT_INIT_QUEUE = 18,
+ DOT11_EVENT_EAPOLSTART = 19,
+
+ DOT11_EVENT_ACC_SET_EXPIREDTIME = 31,
+ DOT11_EVENT_ACC_QUERY_STATS = 32,
+ DOT11_EVENT_ACC_QUERY_STATS_ALL = 33,
+ DOT11_EVENT_REASSOCIATION_IND = 34,
+ DOT11_EVENT_REASSOCIATION_RSP = 35,
+ DOT11_EVENT_STA_QUERY_BSSID = 36,
+ DOT11_EVENT_STA_QUERY_SSID = 37,
+ DOT11_EVENT_EAP_PACKET = 41,
+
+#ifdef RTL_WPA2_PREAUTH
+ DOT11_EVENT_EAPOLSTART_PREAUTH = 45,
+ DOT11_EVENT_EAP_PACKET_PREAUTH = 46,
+#endif
+
+ DOT11_EVENT_WPA2_MULTICAST_CIPHER = 47,
+ DOT11_EVENT_WPA_MULTICAST_CIPHER = 48,
+
+#ifdef WIFI_SIMPLE_CONFIG
+ DOT11_EVENT_WSC_SET_IE = 55,
+ DOT11_EVENT_WSC_PROBE_REQ_IND = 56,
+ DOT11_EVENT_WSC_PIN_IND = 57,
+ DOT11_EVENT_WSC_ASSOC_REQ_IE_IND = 58,
+ /* WPS2DOTX */
+ /* support Assigned MAC Addr,Assigned SSID,dymanic change STA's PIN code, 2011-0505 */
+ DOT11_EVENT_WSC_SET_MY_PIN = 102,
+ DOT11_EVENT_WSC_SPEC_SSID = 103,
+ DOT11_EVENT_WSC_SPEC_MAC_IND = 104,
+ /* support Assigned MAC Addr,Assigned SSID,dymanic change STA's PIN code, 2011-0505 */
+ /* WPS2DOTX */
+
+#ifdef INCLUDE_WPS
+
+ DOT11_EVENT_WSC_SET_MIB=42,
+ DOT11_EVENT_WSC_GET_MIB=43,
+ DOT11_EVENT_REQUEST_F_INCLUDE_WPS=44,
+
+
+ DOT11_EVENT_WSC_INIT_IND = 70,
+ DOT11_EVENT_WSC_EXIT_IND = 71,
+ DOT11_EVENT_WSC_TERM_IND = 72,
+ DOT11_EVENT_WSC_GETCONF_IND = 73,
+ DOT11_EVENT_WSC_PUTCONF_IND = 74,
+ DOT11_EVENT_WSC_LEDCONTROL_IND = 75,
+ DOT11_EVENT_WSC_SENDMSG_IND = 76,
+ DOT11_EVENT_WSC_PUTCONF = 77,
+ DOT11_EVENT_WSC_SOAP = 78,
+ DOT11_EVENT_WSC_PIN = 79,
+ DOT11_EVENT_WSC_PBC = 80,
+ DOT11_EVENT_WSC_SYS = 81,
+ DOT11_EVENT_WSC_PUTWLANREQUEST_IND = 82,
+ DOT11_EVENT_WSC_PUTPKT = 83,
+ DOT11_EVENT_WSC_GETDEVINFO = 84,
+ DOT11_EVENT_WSC_M2M4M6M8 = 85,
+ DOT11_EVENT_WSC_PUTWLANRESPONSE = 86,
+ DOT11_EVENT_WSC_PUTMESSAGE = 87,
+ DOT11_EVENT_WSC_PUTWLREQ_PROBEIND = 88,
+ DOT11_EVENT_WSC_PUTWLREQ_STATUSIND = 89,
+#endif
+#ifdef CONFIG_RTL_COMAPI_CFGFILE
+ DOT11_EVENT_WSC_START_IND = 90,
+ //EV_MODE, EV_STATUS, EV_MEHOD, EV_STEP, EV_OOB
+ DOT11_EVENT_WSC_MODE_IND = 91,
+ DOT11_EVENT_WSC_STATUS_IND = 92,
+ DOT11_EVENT_WSC_METHOD_IND = 93,
+ DOT11_EVENT_WSC_STEP_IND = 94,
+ DOT11_EVENT_WSC_OOB_IND = 95,
+#endif
+#endif
+#ifdef CONFIG_RTK_MESH
+ DOT11_EVENT_PATHSEL_GEN_RREQ = 59,
+ DOT11_EVENT_PATHSEL_GEN_RERR = 60,
+ DOT11_EVENT_PATHSEL_RECV_RREQ = 61,
+ DOT11_EVENT_PATHSEL_RECV_RREP = 62,
+ DOT11_EVENT_PATHSEL_RECV_RERR = 63,
+ DOT11_EVENT_PATHSEL_RECV_RREP_ACK = 64,
+ DOT11_EVENT_PATHSEL_RECV_PANN = 65,
+ DOT11_EVENT_PATHSEL_RECV_RANN = 66,
+#endif // CONFIG_RTK_MESH
+#ifdef CONFIG_RTL_WAPI_SUPPORT
+ DOT11_EVENT_WAPI_INIT_QUEUE =67,
+ DOT11_EVENT_WAPI_READ_QUEUE = 68,
+ DOT11_EVENT_WAPI_WRITE_QUEUE =69,
+#endif
+#if defined(CONFIG_RTL_COMAPI_CFGFILE) && defined(WIFI_SIMPLE_CONFIG)
+ DOT11_EVENT_WSC_START_IND = 70,
+ //EV_MODE, EV_STATUS, EV_MEHOD, EV_STEP, EV_OOB
+ DOT11_EVENT_WSC_MODE_IND = 71,
+ DOT11_EVENT_WSC_STATUS_IND = 72,
+ DOT11_EVENT_WSC_METHOD_IND = 73,
+ DOT11_EVENT_WSC_STEP_IND = 74,
+ DOT11_EVENT_WSC_OOB_IND = 75,
+#endif
+
+} DOT11_EVENT;
+
+#ifdef WIFI_SIMPLE_CONFIG
+enum {SET_IE_FLAG_BEACON=1, SET_IE_FLAG_PROBE_RSP=2, SET_IE_FLAG_PROBE_REQ=3,
+ SET_IE_FLAG_ASSOC_RSP=4, SET_IE_FLAG_ASSOC_REQ=5};
+#endif
+
+typedef struct _DOT11_GENERAL{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char *Data;
+}DOT11_GENERAL;
+
+typedef struct _DOT11_NOEVENT{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+}DOT11_NO_EVENT;
+
+typedef struct _DOT11_REQUEST{
+ unsigned char EventId;
+}DOT11_REQUEST;
+
+typedef struct _DOT11_WPA2_MULTICAST_CIPHER{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char MulticastCipher;
+}DOT11_WPA2_MULTICAST_CIPHER;
+
+typedef struct _DOT11_WPA_MULTICAST_CIPHER{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char MulticastCipher;
+}DOT11_WPA_MULTICAST_CIPHER;
+
+typedef struct _DOT11_ASSOCIATION_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned short RSNIELen;
+ char RSNIE[MAXRSNIELEN]; // include ID and Length by kenny
+}DOT11_ASSOCIATION_IND;
+
+typedef struct _DOT11_ASSOCIATION_RSP{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned char Status;
+}DOT11_ASSOCIATIIN_RSP;
+
+typedef struct _DOT11_REASSOCIATION_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned short RSNIELen;
+ char RSNIE[MAXRSNIELEN];
+ char OldAPaddr[MACADDRLEN];
+}DOT11_REASSOCIATION_IND;
+
+typedef struct _DOT11_REASSOCIATION_RSP{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned char Status;
+ char CurrAPaddr[MACADDRLEN];
+}DOT11_REASSOCIATIIN_RSP;
+
+typedef struct _DOT11_AUTHENTICATION_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+}DOT11_AUTHENTICATION_IND;
+
+typedef struct _DOT11_REAUTHENTICATION_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+}DOT11_REAUTHENTICATION_IND;
+
+#ifdef WIFI_SIMPLE_CONFIG
+typedef struct _DOT11_PROBE_REQUEST_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned short ProbeIELen;
+ char ProbeIE[PROBEIELEN];
+}DOT11_PROBE_REQUEST_IND;
+
+typedef struct _DOT11_WSC_ASSOC_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned short AssocIELen;
+ char AssocIE[PROBEIELEN];
+ unsigned char wscIE_included;
+}DOT11_WSC_ASSOC_IND;
+
+typedef struct _DOT11_GETSET_MIB {
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char cmd[50];
+}DOT11_GETSET_MIB;
+
+#endif
+
+typedef struct _DOT11_DEAUTHENTICATION_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned long tx_packets; // == transmited packets
+ unsigned long rx_packets; // == received packets
+ unsigned long tx_bytes; // == transmited bytes
+ unsigned long rx_bytes; // == received bytes
+ unsigned long Reason;
+}DOT11_DEAUTHENTICATION_IND;
+
+typedef struct _DOT11_DISASSOCIATION_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned long tx_packets; // == transmited packets
+ unsigned long rx_packets; // == received packets
+ unsigned long tx_bytes; // == transmited bytes
+ unsigned long rx_bytes; // == received bytes
+ unsigned long Reason;
+}DOT11_DISASSOCIATION_IND;
+
+typedef struct _DOT11_DISCONNECT_REQ{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned short Reason;
+ char MACAddr[MACADDRLEN];
+}DOT11_DISCONNECT_REQ;
+
+typedef struct _DOT11_SET_802DOT11{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char VariableType;
+ unsigned char VariableValue;
+ char MACAddr[MACADDRLEN];
+}DOT11_SET_802DOT11;
+
+typedef struct _DOT11_SET_KEY{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned long KeyIndex;
+ unsigned long KeyLen;
+ unsigned char KeyType;
+ unsigned char EncType;
+ unsigned char MACAddr[MACADDRLEN];
+ DOT11_KEY_RSC KeyRSC;
+ unsigned char KeyMaterial[64];
+}DOT11_SET_KEY;
+
+typedef struct _DOT11_DELETE_KEY{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+ unsigned char KeyType;
+}DOT11_DELETE_KEY;
+
+typedef struct _DOT11_SET_RSNIE{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned short Flag;
+ unsigned short RSNIELen;
+ char RSNIE[MAXRSNIELEN];
+ char MACAddr[MACADDRLEN];
+}DOT11_SET_RSNIE;
+
+typedef struct _DOT11_SET_PORT{
+ unsigned char EventId;
+ unsigned char PortStatus;
+ unsigned char PortType;
+ unsigned char MACAddr[MACADDRLEN];
+}DOT11_SET_PORT;
+
+typedef struct _DOT11_GKEY_TSC{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char KeyTSC[8];
+}DOT11_GKEY_TSC;
+
+typedef struct _DOT11_MIC_FAILURE{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+}DOT11_MIC_FAILURE;
+
+typedef struct _DOT11_STA_QUERY_BSSID{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned long IsValid;
+ char Bssid[MACADDRLEN];
+}DOT11_STA_QUERY_BSSID;
+
+typedef struct _DOT11_STA_QUERY_SSID{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned long IsValid;
+ char ssid[32];
+ int ssid_len;
+}DOT11_STA_QUERY_SSID;
+
+typedef struct _DOT11_EAPOL_START{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ char MACAddr[MACADDRLEN];
+}DOT11_EAPOL_START;
+
+typedef struct _DOT11_SET_EXPIREDTIME{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char MACAddr[MACADDRLEN];
+ unsigned long ExpireTime;
+}DOT11_SET_EXPIREDTIME;
+
+typedef struct _DOT11_QUERY_STATS{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char MACAddr[MACADDRLEN];
+ unsigned long IsSuccess;
+ unsigned long tx_packets; // == transmited packets
+ unsigned long rx_packets; // == received packets
+ unsigned long tx_bytes; // == transmited bytes
+ unsigned long rx_bytes; // == received bytes
+}DOT11_QUERY_STATS;
+
+typedef struct _DOT11_EAP_PACKET{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned short packet_len;
+ unsigned char packet[1550];
+}DOT11_EAP_PACKET;
+
+#ifdef INCLUDE_WPS
+#ifndef CONFIG_MSC
+typedef struct _DOT11_EVENT_PACKET{
+ unsigned char EventId;
+ unsigned char EventType;
+ unsigned short packet_len;
+ unsigned char packet[1550];
+}DOT11_EVENT_PACKET;
+#endif
+#endif
+
+typedef DOT11_ASSOCIATION_IND DOT11_AUTH_IND;
+
+#ifdef WIFI_SIMPLE_CONFIG
+typedef struct _DOT11_WSC_PIN_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char code[256];
+} DOT11_WSC_PIN_IND;
+
+#ifdef CONFIG_RTL_COMAPI_CFGFILE
+typedef struct _DOT11_WSC_IND{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned int value;
+} DOT11_WSC_IND;
+#endif //CONFIG_RTL_COMAPI_CFGFILE
+#endif
+
+#define DOT11_AI_REQFI_CAPABILITIES 1
+#define DOT11_AI_REQFI_LISTENINTERVAL 2
+#define DOT11_AI_REQFI_CURRENTAPADDRESS 4
+
+#define DOT11_AI_RESFI_CAPABILITIES 1
+#define DOT11_AI_RESFI_STATUSCODE 2
+#define DOT11_AI_RESFI_ASSOCIATIONID 4
+
+typedef struct _DOT11_ASSOCIATION_INFO
+{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+ unsigned char SupplicantAddress[MACADDRLEN];
+ UINT32 Length;
+ UINT16 AvailableRequestFixedIEs;
+ struct _DOT11_AI_REQFI {
+ UINT16 Capabilities;
+ UINT16 ListenInterval;
+ char CurrentAPAddress[MACADDRLEN];
+ } RequestFixedIEs;
+ UINT32 RequestIELength;
+ UINT32 OffsetRequestIEs;
+ UINT16 AvailableResponseFixedIEs;
+ struct _DOT11_AI_RESFI {
+ UINT16 Capabilities;
+ UINT16 StatusCode;
+ UINT16 AssociationId;
+ } ResponseFixedIEs;
+ UINT32 ResponseIELength;
+ UINT32 OffsetResponseIEs;
+} DOT11_ASSOCIATION_INFO, *PDOT11_ASSOCIATION_INFO;
+
+typedef struct _DOT11_INIT_QUEUE
+{
+ unsigned char EventId;
+ unsigned char IsMoreEvent;
+} DOT11_INIT_QUEUE, *PDOT11_INIT_QUEUE;
+
+
+//*------The following are defined to handle the event Queue for security event--------*/
+// For Event Queue related function
+void DOT11_InitQueue(DOT11_QUEUE *q);
+#ifndef WITHOUT_ENQUEUE
+int DOT11_EnQueue(unsigned long task_priv, DOT11_QUEUE *q, unsigned char *item, int itemsize);
+int DOT11_DeQueue(unsigned long task_priv, DOT11_QUEUE *q, unsigned char *item, int *itemsize);
+#endif
+void DOT11_PrintQueue(DOT11_QUEUE *q);
+char *DOT11_ErrMsgQueue(int err);
+#define DOT11_IsEmptyQueue(q) (q->NumItem==0 ? 1:0)
+#define DOT11_IsFullQueue(q) (q->NumItem==q->MaxItem? 1:0)
+#define DOT11_NumItemQueue(q) q->NumItem
+
+
+typedef enum{
+ ERROR_BUFFER_TOO_SMALL = -1,
+ ERROR_INVALID_PARA = -2,
+ ERROR_INVALID_RSNIE = -13,
+ ERROR_INVALID_MULTICASTCIPHER = -18,
+ ERROR_INVALID_UNICASTCIPHER = -19,
+ ERROR_INVALID_AUTHKEYMANAGE = -20,
+ ERROR_UNSUPPORTED_RSNEVERSION = -21,
+ ERROR_INVALID_CAPABILITIES = -22
+} INFO_ERROR;
+
+#define RSN_STRERROR_BUFFER_TOO_SMALL "Input Buffer too small"
+#define RSN_STRERROR_INVALID_PARAMETER "Invalid RSNIE Parameter"
+#define RSN_STRERROR_INVALID_RSNIE "Invalid RSNIE"
+#define RSN_STRERROR_INVALID_MULTICASTCIPHER "Multicast Cipher is not valid"
+#define RSN_STRERROR_INVALID_UNICASTCIPHER "Unicast Cipher is not valid"
+#define RSN_STRERROR_INVALID_AUTHKEYMANAGE "Authentication Key Management Protocol is not valid"
+#define RSN_STRERROR_UNSUPPORTED_RSNEVERSION "Unsupported RSNE version"
+#define RSN_STRERROR_INVALID_CAPABILITIES "Invalid RSNE Capabilities"
+
+#define DOT11_s2n(s,c) (*((c))=(unsigned char)(((s)>> 8)&0xff), \
+ *((c)+1)=(unsigned char)(((s) )&0xff))
+
+#define DOT11_n2s(c,s) (s =((unsigned short)(*((c))))<< 8, \
+ s|=((unsigned short)(*((c)+1))))
+
+#define DOT11_lc2s(bc,s) (s = ((unsigned short)(*((bc)+1)))<< 8, \
+ s |= ((unsigned short)(*((bc)))))
+
+
+void DOT11_Dump(char *fun, UINT8 *buf, int size, char *comment);
+
+typedef enum _COUNTERMEASURE_TEST
+{
+ TEST_TYPE_PAIRWISE_ERROR = 0,
+ TEST_TYPE_GROUP_ERROR = 1,
+ TEST_TYPE_SEND_BAD_UNICAST_PACKET = 2,
+ TEST_TYPE_SEND_BAD_BROADCAST_PACKET = 3
+} COUNTERMEASURE_TEST;
+
+#define MIC_TIMER_PERIOD RTL_SECONDS_TO_JIFFIES(60) //unit: 10 milli-seconds
+#define REJECT_ASSOC_PERIOD RTL_SECONDS_TO_JIFFIES(60)
+
+
+//*---------- The followings are for processing of RSN Information Element------------*/
+#define RSN_ELEMENT_ID 0xDD
+#define RSN_VER1 0x01
+#define DOT11_MAX_CIPHER_ALGORITHMS 0x0a
+#define DOT11_GROUPFLAG 0x02
+#define DOT11_REPLAYBITSSHIFT 2
+#define DOT11_REPLAYBITS 3
+#define IsPairwiseUsingDefaultKey(Cap) ((Cap[0] & DOT11_GROUPFLAG)?TRUE:FALSE)
+#define IsPreAuthentication(Cap) ((Cap[0] & 0x01)?TRUE:FALSE)
+#define DOT11_GetNumOfRxTSC(Cap) (2<<((Cap[0] >> DOT11_REPLAYBITSSHIFT) & DOT11_REPLAYBITS))
+
+#if defined(PACK_STRUCTURE)
+#pragma pack(1)
+#endif
+
+typedef struct _DOT11_RSN_IE_HEADER {
+ UINT8 ElementID;
+ UINT8 Length;
+ UINT8 OUI[4];
+ UINT16 Version;
+}DOT11_RSN_IE_HEADER;
+
+
+typedef struct _DOT11_RSN_IE_SUITE{
+ UINT8 OUI[3];
+ UINT8 Type;
+}DOT11_RSN_IE_SUITE;
+
+
+typedef struct _DOT11_RSN_IE_COUNT_SUITE{
+
+ UINT16 SuiteCount;
+ DOT11_RSN_IE_SUITE dot11RSNIESuite[DOT11_MAX_CIPHER_ALGORITHMS];
+}DOT11_RSN_IE_COUNT_SUITE, *PDOT11_RSN_IE_COUNT_SUITE;
+
+typedef union _DOT11_RSN_CAPABILITY{
+
+ UINT16 shortData;
+ UINT8 charData[2];
+
+#ifdef RTL_WPA2
+ struct
+ {
+ unsigned short Reserved1:2; // B7 B6
+ unsigned short GtksaReplayCounter:2; // B5 B4
+ unsigned short PtksaReplayCounter:2; // B3 B2
+ unsigned short NoPairwise:1; // B1
+ unsigned short PreAuthentication:1; // B0
+ unsigned short Reserved2:8;
+ }field;
+#else
+ struct
+ {
+ unsigned short PreAuthentication:1;
+ unsigned short PairwiseAsDefaultKey:1;
+ unsigned short NumOfReplayCounter:2;
+ unsigned short Reserved:12;
+ }field;
+#endif
+
+}DOT11_RSN_CAPABILITY;
+
+#if defined(PACK_STRUCTURE)
+#pragma pack()
+#endif
+
+#endif // _8192CD_SECURITY_H_
+