Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelv...
[pandora-kernel.git] / drivers / staging / ath6kl / include / common / wlan_defs.h
1 //------------------------------------------------------------------------------
2 // <copyright file="wlan_defs.h" company="Atheros">
3 //    Copyright (c) 2004-2010 Atheros Corporation.  All rights reserved.
4 // 
5 //
6 // Permission to use, copy, modify, and/or 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.
9 //
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.
17 //
18 //
19 //------------------------------------------------------------------------------
20 //==============================================================================
21 // Author(s): ="Atheros"
22 //==============================================================================
23 #ifndef __WLAN_DEFS_H__
24 #define __WLAN_DEFS_H__
25
26 /*
27  * This file contains WLAN definitions that may be used across both
28  * Host and Target software.  
29  */
30
31 typedef enum {
32     MODE_11A        = 0,   /* 11a Mode */
33     MODE_11G        = 1,   /* 11b/g Mode */
34     MODE_11B        = 2,   /* 11b Mode */
35     MODE_11GONLY    = 3,   /* 11g only Mode */
36 #ifdef SUPPORT_11N
37     MODE_11NA_HT20   = 4,  /* 11a HT20 mode */
38     MODE_11NG_HT20   = 5,  /* 11g HT20 mode */
39     MODE_11NA_HT40   = 6,  /* 11a HT40 mode */
40     MODE_11NG_HT40   = 7,  /* 11g HT40 mode */
41     MODE_UNKNOWN    = 8,
42     MODE_MAX        = 8
43 #else
44     MODE_UNKNOWN    = 4,
45     MODE_MAX        = 4
46 #endif
47 } WLAN_PHY_MODE;
48
49 typedef enum {
50     WLAN_11A_CAPABILITY   = 1,
51     WLAN_11G_CAPABILITY   = 2,
52     WLAN_11AG_CAPABILITY  = 3,
53 }WLAN_CAPABILITY;
54
55 #ifdef SUPPORT_11N
56 typedef unsigned long A_RATEMASK;
57 #else
58 typedef unsigned short A_RATEMASK;
59 #endif
60
61 #ifdef SUPPORT_11N
62 #define IS_MODE_11A(mode)       (((mode) == MODE_11A) || \
63                                  ((mode) == MODE_11NA_HT20) || \
64                                  ((mode) == MODE_11NA_HT40))
65 #define IS_MODE_11B(mode)       ((mode) == MODE_11B)
66 #define IS_MODE_11G(mode)       (((mode) == MODE_11G) || \
67                                  ((mode) == MODE_11GONLY) || \
68                                  ((mode) == MODE_11NG_HT20) || \
69                                  ((mode) == MODE_11NG_HT40))
70 #define IS_MODE_11GONLY(mode)   ((mode) == MODE_11GONLY)
71 #else
72 #define IS_MODE_11A(mode)       ((mode) == MODE_11A)
73 #define IS_MODE_11B(mode)       ((mode) == MODE_11B)
74 #define IS_MODE_11G(mode)       (((mode) == MODE_11G) || \
75                                  ((mode) == MODE_11GONLY))
76 #define IS_MODE_11GONLY(mode)   ((mode) == MODE_11GONLY)
77 #endif /* SUPPORT_11N */
78
79 #endif /* __WLANDEFS_H__ */