Loading drivers/net/wireless/airo.c +49 −41 Original line number Diff line number Diff line Loading @@ -496,39 +496,41 @@ typedef struct { * so all rid access should use the read/writeXXXRid routines. */ /* This is redundant for x86 archs, but it seems necessary for ARM */ #pragma pack(1) /* This structure came from an email sent to me from an engineer at aironet for inclusion into this driver */ typedef struct { typedef struct WepKeyRid WepKeyRid; struct WepKeyRid { __le16 len; __le16 kindex; u8 mac[ETH_ALEN]; __le16 klen; u8 key[16]; } WepKeyRid; } __attribute__ ((packed)); /* These structures are from the Aironet's PC4500 Developers Manual */ typedef struct { typedef struct Ssid Ssid; struct Ssid { __le16 len; u8 ssid[32]; } Ssid; } __attribute__ ((packed)); typedef struct { typedef struct SsidRid SsidRid; struct SsidRid { __le16 len; Ssid ssids[3]; } SsidRid; } __attribute__ ((packed)); typedef struct { typedef struct ModulationRid ModulationRid; struct ModulationRid { __le16 len; __le16 modulation; #define MOD_DEFAULT cpu_to_le16(0) #define MOD_CCK cpu_to_le16(1) #define MOD_MOK cpu_to_le16(2) } ModulationRid; } __attribute__ ((packed)); typedef struct { typedef struct ConfigRid ConfigRid; struct ConfigRid { __le16 len; /* sizeof(ConfigRid) */ __le16 opmode; /* operating mode */ #define MODE_STA_IBSS cpu_to_le16(0) Loading Loading @@ -649,9 +651,10 @@ typedef struct { #define MAGIC_STAY_IN_CAM (1<<10) u8 magicControl; __le16 autoWake; } ConfigRid; } __attribute__ ((packed)); typedef struct { typedef struct StatusRid StatusRid; struct StatusRid { __le16 len; u8 mac[ETH_ALEN]; __le16 mode; Loading Loading @@ -707,21 +710,23 @@ typedef struct { #define STAT_LEAPFAILED 91 #define STAT_LEAPTIMEDOUT 92 #define STAT_LEAPCOMPLETE 93 } StatusRid; } __attribute__ ((packed)); typedef struct { typedef struct StatsRid StatsRid; struct StatsRid { __le16 len; __le16 spacer; __le32 vals[100]; } StatsRid; } __attribute__ ((packed)); typedef struct { typedef struct APListRid APListRid; struct APListRid { __le16 len; u8 ap[4][ETH_ALEN]; } APListRid; } __attribute__ ((packed)); typedef struct { typedef struct CapabilityRid CapabilityRid; struct CapabilityRid { __le16 len; char oui[3]; char zero; Loading @@ -748,17 +753,18 @@ typedef struct { __le16 bootBlockVer; __le16 requiredHard; __le16 extSoftCap; } CapabilityRid; } __attribute__ ((packed)); /* Only present on firmware >= 5.30.17 */ typedef struct { typedef struct BSSListRidExtra BSSListRidExtra; struct BSSListRidExtra { __le16 unknown[4]; u8 fixed[12]; /* WLAN management frame */ u8 iep[624]; } BSSListRidExtra; } __attribute__ ((packed)); typedef struct { typedef struct BSSListRid BSSListRid; struct BSSListRid { __le16 len; __le16 index; /* First is 0 and 0xffff means end of list */ #define RADIO_FH 1 /* Frequency hopping radio type */ Loading Loading @@ -789,33 +795,37 @@ typedef struct { /* Only present on firmware >= 5.30.17 */ BSSListRidExtra extra; } BSSListRid; } __attribute__ ((packed)); typedef struct { BSSListRid bss; struct list_head list; } BSSListElement; typedef struct { typedef struct tdsRssiEntry tdsRssiEntry; struct tdsRssiEntry { u8 rssipct; u8 rssidBm; } tdsRssiEntry; } __attribute__ ((packed)); typedef struct { typedef struct tdsRssiRid tdsRssiRid; struct tdsRssiRid { u16 len; tdsRssiEntry x[256]; } tdsRssiRid; } __attribute__ ((packed)); typedef struct { u16 len; u16 state; u16 multicastValid; typedef struct MICRid MICRid; struct MICRid { __le16 len; __le16 state; __le16 multicastValid; u8 multicast[16]; u16 unicastValid; __le16 unicastValid; u8 unicast[16]; } MICRid; } __attribute__ ((packed)); typedef struct { typedef struct MICBuffer MICBuffer; struct MICBuffer { __be16 typelen; union { Loading @@ -830,15 +840,13 @@ typedef struct { } u; __be32 mic; __be32 seq; } MICBuffer; } __attribute__ ((packed)); typedef struct { u8 da[ETH_ALEN]; u8 sa[ETH_ALEN]; } etherHead; #pragma pack() #define TXCTL_TXOK (1<<1) /* report if tx is ok */ #define TXCTL_TXEX (1<<2) /* report if tx fails */ #define TXCTL_802_3 (0<<3) /* 802.3 packet */ Loading Loading
drivers/net/wireless/airo.c +49 −41 Original line number Diff line number Diff line Loading @@ -496,39 +496,41 @@ typedef struct { * so all rid access should use the read/writeXXXRid routines. */ /* This is redundant for x86 archs, but it seems necessary for ARM */ #pragma pack(1) /* This structure came from an email sent to me from an engineer at aironet for inclusion into this driver */ typedef struct { typedef struct WepKeyRid WepKeyRid; struct WepKeyRid { __le16 len; __le16 kindex; u8 mac[ETH_ALEN]; __le16 klen; u8 key[16]; } WepKeyRid; } __attribute__ ((packed)); /* These structures are from the Aironet's PC4500 Developers Manual */ typedef struct { typedef struct Ssid Ssid; struct Ssid { __le16 len; u8 ssid[32]; } Ssid; } __attribute__ ((packed)); typedef struct { typedef struct SsidRid SsidRid; struct SsidRid { __le16 len; Ssid ssids[3]; } SsidRid; } __attribute__ ((packed)); typedef struct { typedef struct ModulationRid ModulationRid; struct ModulationRid { __le16 len; __le16 modulation; #define MOD_DEFAULT cpu_to_le16(0) #define MOD_CCK cpu_to_le16(1) #define MOD_MOK cpu_to_le16(2) } ModulationRid; } __attribute__ ((packed)); typedef struct { typedef struct ConfigRid ConfigRid; struct ConfigRid { __le16 len; /* sizeof(ConfigRid) */ __le16 opmode; /* operating mode */ #define MODE_STA_IBSS cpu_to_le16(0) Loading Loading @@ -649,9 +651,10 @@ typedef struct { #define MAGIC_STAY_IN_CAM (1<<10) u8 magicControl; __le16 autoWake; } ConfigRid; } __attribute__ ((packed)); typedef struct { typedef struct StatusRid StatusRid; struct StatusRid { __le16 len; u8 mac[ETH_ALEN]; __le16 mode; Loading Loading @@ -707,21 +710,23 @@ typedef struct { #define STAT_LEAPFAILED 91 #define STAT_LEAPTIMEDOUT 92 #define STAT_LEAPCOMPLETE 93 } StatusRid; } __attribute__ ((packed)); typedef struct { typedef struct StatsRid StatsRid; struct StatsRid { __le16 len; __le16 spacer; __le32 vals[100]; } StatsRid; } __attribute__ ((packed)); typedef struct { typedef struct APListRid APListRid; struct APListRid { __le16 len; u8 ap[4][ETH_ALEN]; } APListRid; } __attribute__ ((packed)); typedef struct { typedef struct CapabilityRid CapabilityRid; struct CapabilityRid { __le16 len; char oui[3]; char zero; Loading @@ -748,17 +753,18 @@ typedef struct { __le16 bootBlockVer; __le16 requiredHard; __le16 extSoftCap; } CapabilityRid; } __attribute__ ((packed)); /* Only present on firmware >= 5.30.17 */ typedef struct { typedef struct BSSListRidExtra BSSListRidExtra; struct BSSListRidExtra { __le16 unknown[4]; u8 fixed[12]; /* WLAN management frame */ u8 iep[624]; } BSSListRidExtra; } __attribute__ ((packed)); typedef struct { typedef struct BSSListRid BSSListRid; struct BSSListRid { __le16 len; __le16 index; /* First is 0 and 0xffff means end of list */ #define RADIO_FH 1 /* Frequency hopping radio type */ Loading Loading @@ -789,33 +795,37 @@ typedef struct { /* Only present on firmware >= 5.30.17 */ BSSListRidExtra extra; } BSSListRid; } __attribute__ ((packed)); typedef struct { BSSListRid bss; struct list_head list; } BSSListElement; typedef struct { typedef struct tdsRssiEntry tdsRssiEntry; struct tdsRssiEntry { u8 rssipct; u8 rssidBm; } tdsRssiEntry; } __attribute__ ((packed)); typedef struct { typedef struct tdsRssiRid tdsRssiRid; struct tdsRssiRid { u16 len; tdsRssiEntry x[256]; } tdsRssiRid; } __attribute__ ((packed)); typedef struct { u16 len; u16 state; u16 multicastValid; typedef struct MICRid MICRid; struct MICRid { __le16 len; __le16 state; __le16 multicastValid; u8 multicast[16]; u16 unicastValid; __le16 unicastValid; u8 unicast[16]; } MICRid; } __attribute__ ((packed)); typedef struct { typedef struct MICBuffer MICBuffer; struct MICBuffer { __be16 typelen; union { Loading @@ -830,15 +840,13 @@ typedef struct { } u; __be32 mic; __be32 seq; } MICBuffer; } __attribute__ ((packed)); typedef struct { u8 da[ETH_ALEN]; u8 sa[ETH_ALEN]; } etherHead; #pragma pack() #define TXCTL_TXOK (1<<1) /* report if tx is ok */ #define TXCTL_TXEX (1<<2) /* report if tx fails */ #define TXCTL_802_3 (0<<3) /* 802.3 packet */ Loading