Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 197065
b: refs/heads/master
c: d20279d
h: refs/heads/master
i:
  197063: a13cd81
v: v3
  • Loading branch information
Ruslan Pisarev authored and Greg Kroah-Hartman committed May 11, 2010
1 parent 73c70b4 commit 33e453e
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 92 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 03a4389c808a552abb734483310b52140491ed00
refs/heads/master: d20279d7d45e3428b2202385e488ea57fbc4ab39
159 changes: 68 additions & 91 deletions trunk/drivers/staging/winbond/mac_structures.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,7 @@ enum enum_MMPDUResultCode
// Define the transmission constants based on W89C32 MAC
// target specification.
//===========================================================*/
typedef enum enum_TxRate
{
typedef enum enum_TxRate {
TXRATE_1M = 0,
TXRATE_2MLONG = 2,
TXRATE_2MSHORT = 3,
Expand Down Expand Up @@ -238,53 +237,48 @@ typedef enum enum_TxRate
#define CAPABILITY_DSSS_OFDM_BIT 0x2000


struct Capability_Information_Element
{
union
{
u16 __attribute__ ((packed)) wValue;
struct Capability_Information_Element {
union {
u16 __attribute__ ((packed)) wValue;
#ifdef _BIG_ENDIAN_ /* 20060926 add by anson's endian */
struct _Capability
{
/* -- 11G -- */
u8 Reserved3 : 2;
u8 DSSS_OFDM : 1;
u8 Reserved2 : 2;
u8 Short_Slot_Time : 1;
u8 Reserved1 : 2;
u8 Channel_Agility : 1;
u8 PBCC : 1;
u8 ShortPreamble : 1;
u8 CF_Privacy : 1;
u8 CF_Poll_Request : 1;
u8 CF_Pollable : 1;
u8 IBSS : 1;
u8 ESS : 1;
struct _Capability {
/* -- 11G -- */
u8 Reserved3:2;
u8 DSSS_OFDM:1;
u8 Reserved2:2;
u8 Short_Slot_Time:1;
u8 Reserved1:2;
u8 Channel_Agility:1;
u8 PBCC:1;
u8 ShortPreamble:1;
u8 CF_Privacy:1;
u8 CF_Poll_Request:1;
u8 CF_Pollable:1;
u8 IBSS:1;
u8 ESS:1;
} __attribute__ ((packed)) Capability;
#else
struct _Capability
{
u8 ESS : 1;
u8 IBSS : 1;
u8 CF_Pollable : 1;
u8 CF_Poll_Request : 1;
u8 CF_Privacy : 1;
u8 ShortPreamble : 1;
u8 PBCC : 1;
u8 Channel_Agility : 1;
u8 Reserved1 : 2;
struct _Capability {
u8 ESS:1;
u8 IBSS:1;
u8 CF_Pollable:1;
u8 CF_Poll_Request:1;
u8 CF_Privacy:1;
u8 ShortPreamble:1;
u8 PBCC:1;
u8 Channel_Agility:1;
u8 Reserved1:2;
/* -- 11G -- */
u8 Short_Slot_Time : 1;
u8 Reserved2 : 2;
u8 DSSS_OFDM : 1;
u8 Reserved3 : 2;
u8 Short_Slot_Time:1;
u8 Reserved2:2;
u8 DSSS_OFDM:1;
u8 Reserved3:2;
} __attribute__ ((packed)) Capability;
#endif
}__attribute__ ((packed)) ;
}__attribute__ ((packed));
} __attribute__ ((packed)) ;
} __attribute__ ((packed));

struct FH_Parameter_Set_Element
{
struct FH_Parameter_Set_Element {
u8 Element_ID;
u8 Length;
u8 Dwell_Time[2];
Expand All @@ -293,29 +287,25 @@ struct FH_Parameter_Set_Element
u8 Hop_Index;
};

struct DS_Parameter_Set_Element
{
struct DS_Parameter_Set_Element {
u8 Element_ID;
u8 Length;
u8 Current_Channel;
};

struct Supported_Rates_Element
{
struct Supported_Rates_Element {
u8 Element_ID;
u8 Length;
u8 SupportedRates[8];
}__attribute__ ((packed));
} __attribute__ ((packed));

struct SSID_Element
{
struct SSID_Element {
u8 Element_ID;
u8 Length;
u8 SSID[32];
}__attribute__ ((packed)) ;
} __attribute__ ((packed)) ;

struct CF_Parameter_Set_Element
{
struct CF_Parameter_Set_Element {
u8 Element_ID;
u8 Length;
u8 CFP_Count;
Expand All @@ -324,8 +314,7 @@ struct CF_Parameter_Set_Element
u8 CFP_DurRemaining[2]; /* in time units */
};

struct TIM_Element
{
struct TIM_Element {
u8 Element_ID;
u8 Length;
u8 DTIM_Count;
Expand All @@ -334,22 +323,19 @@ struct TIM_Element
u8 Partial_Virtual_Bitmap[251];
};

struct IBSS_Parameter_Set_Element
{
struct IBSS_Parameter_Set_Element {
u8 Element_ID;
u8 Length;
u8 ATIM_Window[2];
};

struct Challenge_Text_Element
{
struct Challenge_Text_Element {
u8 Element_ID;
u8 Length;
u8 Challenge_Text[253];
};

struct PHY_Parameter_Set_Element
{
struct PHY_Parameter_Set_Element {
/* int aSlotTime; */
/* int aSifsTime; */
s32 aCCATime;
Expand All @@ -372,13 +358,12 @@ struct PHY_Parameter_Set_Element
};

/* -- 11G -- */
struct ERP_Information_Element
{
struct ERP_Information_Element {
u8 Element_ID;
u8 Length;
#ifdef _BIG_ENDIAN_ /* 20060926 add by anson's endian */
u8 Reserved:5; /* 20060926 add by anson */
u8 Barker_Preamble_Mode:1;
u8 Reserved:5; /* 20060926 add by anson */
u8 Barker_Preamble_Mode:1;
u8 Use_Protection:1;
u8 NonERP_Present:1;
#else
Expand All @@ -389,12 +374,11 @@ struct ERP_Information_Element
#endif
};

struct Extended_Supported_Rates_Element
{
struct Extended_Supported_Rates_Element {
u8 Element_ID;
u8 Length;
u8 ExtendedSupportedRates[255];
}__attribute__ ((packed));
} __attribute__ ((packed));

/* WPA(802.11i draft 3.0) */
#define VERSION_WPA 1
Expand Down Expand Up @@ -564,7 +548,7 @@ struct Management_Frame {
u16 Sequence_Control;
/* Management Frame Body <= 325 bytes */
/* FCS 4 bytes */
}__attribute__ ((packed));
} __attribute__ ((packed));

/* SW-MAC don't Tx/Rx Control-Frame, HW-MAC do it. */
struct Control_Frame {
Expand All @@ -573,7 +557,7 @@ struct Control_Frame {
u8 RA[MAC_ADDR_LENGTH];
u8 TA[MAC_ADDR_LENGTH];
u16 FCS;
}__attribute__ ((packed));
} __attribute__ ((packed));

struct Data_Frame {
struct MAC_frame_control frame_control;
Expand All @@ -585,29 +569,26 @@ struct Data_Frame {
u8 Addr4[MAC_ADDR_LENGTH]; /* only exist when ToDS=FromDS=1 */
/* Data Frame Body <= 2312 */
/* FCS */
}__attribute__ ((packed));
} __attribute__ ((packed));

struct Disassociation_Frame_Body
{
struct Disassociation_Frame_Body {
u16 reasonCode;
}__attribute__ ((packed));
} __attribute__ ((packed));

struct Association_Request_Frame_Body
{
struct Association_Request_Frame_Body {
u16 capability_information;
u16 listenInterval;
u8 Current_AP_Address[MAC_ADDR_LENGTH];/* for reassociation only */
/* SSID (2+32 bytes) */
/* Supported_Rates (2+8 bytes) */
}__attribute__ ((packed));
} __attribute__ ((packed));

struct Association_Response_Frame_Body
{
struct Association_Response_Frame_Body {
u16 capability_information;
u16 statusCode;
u16 Association_ID;
struct Supported_Rates_Element supportedRates;
}__attribute__ ((packed));
} __attribute__ ((packed));

/*struct Reassociation_Request_Frame_Body
{
Expand All @@ -619,22 +600,19 @@ struct Association_Response_Frame_Body
};*/
/* eliminated by WS 07/22/04 comboined with associateion request frame. */

struct Reassociation_Response_Frame_Body
{
struct Reassociation_Response_Frame_Body {
u16 capability_information;
u16 statusCode;
u16 Association_ID;
struct Supported_Rates_Element supportedRates;
}__attribute__ ((packed));
} __attribute__ ((packed));

struct Deauthentication_Frame_Body
{
struct Deauthentication_Frame_Body {
u16 reasonCode;
}__attribute__ ((packed));
} __attribute__ ((packed));


struct Probe_Response_Frame_Body
{
struct Probe_Response_Frame_Body {
u16 Timestamp;
u16 Beacon_Interval;
u16 Capability_Information;
Expand All @@ -643,16 +621,15 @@ struct Probe_Response_Frame_Body
// PHY parameter Set (DS Parameters)
// CF parameter Set
// IBSS parameter Set */
}__attribute__ ((packed));
} __attribute__ ((packed));

struct Authentication_Frame_Body
{
struct Authentication_Frame_Body {
u16 algorithmNumber;
u16 sequenceNumber;
u16 statusCode;
/* NB: don't include ChallengeText in this structure
// struct Challenge_Text_Element sChallengeTextElement; // wkchen added */
}__attribute__ ((packed));
} __attribute__ ((packed));


#endif /* _MAC_Structure_H_ */
Expand Down

0 comments on commit 33e453e

Please sign in to comment.