Annotation of Gnu-Mach/linux/pcmcia-cs/wireless/ieee802_11.h, revision 1.1.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.