Callback iv_update_beacon could be called before a beacon was allocated
[ralink_drivers/rt2860_fbsd8.git] / rt2860_rxdesc.h
blob2b756593a2797122795c0008183f35c848225370
2 /*-
3 * Copyright (c) 2009-2010 Alexander Egorenkov <egorenar@gmail.com>
4 * Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr>
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 #ifndef _RT2860_RXDESC_H_
20 #define _RT2860_RXDESC_H_
22 #define RT2860_RXDESC_SDL0_DDONE (1 << 15)
24 #define RT2860_RXDESC_FLAGS_LAST_AMSDU (1 << 19)
25 #define RT2860_RXDESC_FLAGS_CIPHER_ALG (1 << 18)
26 #define RT2860_RXDESC_FLAGS_PLCP_RSSIL (1 << 17)
27 #define RT2860_RXDESC_FLAGS_DECRYPTED (1 << 16)
28 #define RT2860_RXDESC_FLAGS_AMPDU (1 << 15)
29 #define RT2860_RXDESC_FLAGS_L2PAD (1 << 14)
30 #define RT2860_RXDESC_FLAGS_RSSI (1 << 13)
31 #define RT2860_RXDESC_FLAGS_HTC (1 << 12)
32 #define RT2860_RXDESC_FLAGS_AMSDU (1 << 11)
33 #define RT2860_RXDESC_FLAGS_CRC_ERR (1 << 8)
34 #define RT2860_RXDESC_FLAGS_MYBSS (1 << 7)
35 #define RT2860_RXDESC_FLAGS_BCAST (1 << 6)
36 #define RT2860_RXDESC_FLAGS_MCAST (1 << 5)
37 #define RT2860_RXDESC_FLAGS_U2M (1 << 4)
38 #define RT2860_RXDESC_FLAGS_FRAG (1 << 3)
39 #define RT2860_RXDESC_FLAGS_NULL_DATA (1 << 2)
40 #define RT2860_RXDESC_FLAGS_DATA (1 << 1)
41 #define RT2860_RXDESC_FLAGS_BA (1 << 0)
43 #define RT2860_RXDESC_FLAGS_CIPHER_ERR_SHIFT 9
44 #define RT2860_RXDESC_FLAGS_CIPHER_ERR_MASK 0x3
45 #define RT2860_RXDESC_FLAGS_CIPHER_ERR_NONE 0
46 #define RT2860_RXDESC_FLAGS_CIPHER_ERR_ICV 1
47 #define RT2860_RXDESC_FLAGS_CIPHER_ERR_MIC 2
48 #define RT2860_RXDESC_FLAGS_CIPHER_ERR_INVALID_KEY 3
50 #define RT2860_RXDESC_FLAGS_PLCP_SIGNAL_SHIFT 20
51 #define RT2860_RXDESC_FLAGS_PLCP_SIGNAL_MASK 0xfff
53 struct rt2860_rxdesc
55 uint32_t sdp0;
56 uint16_t sdl1;
57 uint16_t sdl0;
58 uint32_t sdp1;
59 uint32_t flags;
60 } __packed;
62 #endif /* #ifndef _RT2860_RXDESC_H_ */