Annotation of Gnu-Mach/linux/pcmcia-cs/wireless/ieee802_11.h, revision 1.1

1.1     ! root        1: #ifndef _IEEE802_11_H
        !             2: #define _IEEE802_11_H
        !             3: 
        !             4: #define IEEE802_11_DATA_LEN            2304
        !             5: /* Maximum size for the MA-UNITDATA primitive, 802.11 standard section
        !             6:    6.2.1.1.2.
        !             7: 
        !             8:    The figure in section 7.1.2 suggests a body size of up to 2312
        !             9:    bytes is allowed, which is a bit confusing, I suspect this
        !            10:    represents the 2304 bytes of real data, plus a possible 8 bytes of
        !            11:    WEP IV and ICV. (this interpretation suggested by Ramiro Barreiro) */
        !            12: 
        !            13: 
        !            14: #define IEEE802_11_HLEN                        30
        !            15: #define IEEE802_11_FRAME_LEN           (IEEE802_11_DATA_LEN + IEEE802_11_HLEN)
        !            16: 
        !            17: struct ieee802_11_hdr {
        !            18:        u16 frame_ctl;
        !            19:        u16 duration_id;
        !            20:        u8 addr1[ETH_ALEN];
        !            21:        u8 addr2[ETH_ALEN];
        !            22:        u8 addr3[ETH_ALEN];
        !            23:        u16 seq_ctl;
        !            24:        u8 addr4[ETH_ALEN];
        !            25: } __attribute__ ((packed));
        !            26: 
        !            27: /* Frame control field constants */
        !            28: #define IEEE802_11_FCTL_VERS           0x0002
        !            29: #define IEEE802_11_FCTL_FTYPE          0x000c
        !            30: #define IEEE802_11_FCTL_STYPE          0x00f0
        !            31: #define IEEE802_11_FCTL_TODS           0x0100
        !            32: #define IEEE802_11_FCTL_FROMDS         0x0200
        !            33: #define IEEE802_11_FCTL_MOREFRAGS      0x0400
        !            34: #define IEEE802_11_FCTL_RETRY          0x0800
        !            35: #define IEEE802_11_FCTL_PM             0x1000
        !            36: #define IEEE802_11_FCTL_MOREDATA       0x2000
        !            37: #define IEEE802_11_FCTL_WEP            0x4000
        !            38: #define IEEE802_11_FCTL_ORDER          0x8000
        !            39: 
        !            40: #define IEEE802_11_FTYPE_MGMT          0x0000
        !            41: #define IEEE802_11_FTYPE_CTL           0x0004
        !            42: #define IEEE802_11_FTYPE_DATA          0x0008
        !            43: 
        !            44: /* management */
        !            45: #define IEEE802_11_STYPE_ASSOC_REQ     0x0000
        !            46: #define IEEE802_11_STYPE_ASSOC_RESP    0x0010
        !            47: #define IEEE802_11_STYPE_REASSOC_REQ   0x0020
        !            48: #define IEEE802_11_STYPE_REASSOC_RESP  0x0030
        !            49: #define IEEE802_11_STYPE_PROBE_REQ     0x0040
        !            50: #define IEEE802_11_STYPE_PROBE_RESP    0x0050
        !            51: #define IEEE802_11_STYPE_BEACON                0x0080
        !            52: #define IEEE802_11_STYPE_ATIM          0x0090
        !            53: #define IEEE802_11_STYPE_DISASSOC      0x00A0
        !            54: #define IEEE802_11_STYPE_AUTH          0x00B0
        !            55: #define IEEE802_11_STYPE_DEAUTH                0x00C0
        !            56: 
        !            57: /* control */
        !            58: #define IEEE802_11_STYPE_PSPOLL                0x00A0
        !            59: #define IEEE802_11_STYPE_RTS           0x00B0
        !            60: #define IEEE802_11_STYPE_CTS           0x00C0
        !            61: #define IEEE802_11_STYPE_ACK           0x00D0
        !            62: #define IEEE802_11_STYPE_CFEND         0x00E0
        !            63: #define IEEE802_11_STYPE_CFENDACK      0x00F0
        !            64: 
        !            65: /* data */
        !            66: #define IEEE802_11_STYPE_DATA          0x0000
        !            67: #define IEEE802_11_STYPE_DATA_CFACK    0x0010
        !            68: #define IEEE802_11_STYPE_DATA_CFPOLL   0x0020
        !            69: #define IEEE802_11_STYPE_DATA_CFACKPOLL        0x0030
        !            70: #define IEEE802_11_STYPE_NULLFUNC      0x0040
        !            71: #define IEEE802_11_STYPE_CFACK         0x0050
        !            72: #define IEEE802_11_STYPE_CFPOLL                0x0060
        !            73: #define IEEE802_11_STYPE_CFACKPOLL     0x0070
        !            74: 
        !            75: #define IEEE802_11_SCTL_FRAG           0x000F
        !            76: #define IEEE802_11_SCTL_SEQ            0xFFF0
        !            77: 
        !            78: #endif /* _IEEE802_11_H */
        !            79: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.