diff options
author | Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> | 2012-07-02 02:32:35 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-02 09:11:12 -0400 |
commit | b188148c690e15284d5b20d384f950506d02e3e2 (patch) | |
tree | ea09a6e7b610b12ee21d0b334a765b1e36f8ec7e /include/linux/ieee80211.h | |
parent | 90cdc6df71c3716e660f7d99926d5f24b461c6cc (diff) |
wireless: 60g protocol constants
Provide various constants as defined by the 802.11ad:
frame types, IE's, capability bits, action categories
Introduce GCMP cipher, mandatory by 802.11ad
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r-- | include/linux/ieee80211.h | 90 |
1 files changed, 89 insertions, 1 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index abf0e5fe6d24..e02fc682bb68 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -47,6 +47,7 @@ | |||
47 | #define IEEE80211_FCTL_MOREDATA 0x2000 | 47 | #define IEEE80211_FCTL_MOREDATA 0x2000 |
48 | #define IEEE80211_FCTL_PROTECTED 0x4000 | 48 | #define IEEE80211_FCTL_PROTECTED 0x4000 |
49 | #define IEEE80211_FCTL_ORDER 0x8000 | 49 | #define IEEE80211_FCTL_ORDER 0x8000 |
50 | #define IEEE80211_FCTL_CTL_EXT 0x0f00 | ||
50 | 51 | ||
51 | #define IEEE80211_SCTL_FRAG 0x000F | 52 | #define IEEE80211_SCTL_FRAG 0x000F |
52 | #define IEEE80211_SCTL_SEQ 0xFFF0 | 53 | #define IEEE80211_SCTL_SEQ 0xFFF0 |
@@ -54,6 +55,7 @@ | |||
54 | #define IEEE80211_FTYPE_MGMT 0x0000 | 55 | #define IEEE80211_FTYPE_MGMT 0x0000 |
55 | #define IEEE80211_FTYPE_CTL 0x0004 | 56 | #define IEEE80211_FTYPE_CTL 0x0004 |
56 | #define IEEE80211_FTYPE_DATA 0x0008 | 57 | #define IEEE80211_FTYPE_DATA 0x0008 |
58 | #define IEEE80211_FTYPE_EXT 0x000c | ||
57 | 59 | ||
58 | /* management */ | 60 | /* management */ |
59 | #define IEEE80211_STYPE_ASSOC_REQ 0x0000 | 61 | #define IEEE80211_STYPE_ASSOC_REQ 0x0000 |
@@ -70,6 +72,7 @@ | |||
70 | #define IEEE80211_STYPE_ACTION 0x00D0 | 72 | #define IEEE80211_STYPE_ACTION 0x00D0 |
71 | 73 | ||
72 | /* control */ | 74 | /* control */ |
75 | #define IEEE80211_STYPE_CTL_EXT 0x0060 | ||
73 | #define IEEE80211_STYPE_BACK_REQ 0x0080 | 76 | #define IEEE80211_STYPE_BACK_REQ 0x0080 |
74 | #define IEEE80211_STYPE_BACK 0x0090 | 77 | #define IEEE80211_STYPE_BACK 0x0090 |
75 | #define IEEE80211_STYPE_PSPOLL 0x00A0 | 78 | #define IEEE80211_STYPE_PSPOLL 0x00A0 |
@@ -97,6 +100,18 @@ | |||
97 | #define IEEE80211_STYPE_QOS_CFPOLL 0x00E0 | 100 | #define IEEE80211_STYPE_QOS_CFPOLL 0x00E0 |
98 | #define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0 | 101 | #define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0 |
99 | 102 | ||
103 | /* extension, added by 802.11ad */ | ||
104 | #define IEEE80211_STYPE_DMG_BEACON 0x0000 | ||
105 | |||
106 | /* control extension - for IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTL_EXT */ | ||
107 | #define IEEE80211_CTL_EXT_POLL 0x2000 | ||
108 | #define IEEE80211_CTL_EXT_SPR 0x3000 | ||
109 | #define IEEE80211_CTL_EXT_GRANT 0x4000 | ||
110 | #define IEEE80211_CTL_EXT_DMG_CTS 0x5000 | ||
111 | #define IEEE80211_CTL_EXT_DMG_DTS 0x6000 | ||
112 | #define IEEE80211_CTL_EXT_SSW 0x8000 | ||
113 | #define IEEE80211_CTL_EXT_SSW_FBACK 0x9000 | ||
114 | #define IEEE80211_CTL_EXT_SSW_ACK 0xa000 | ||
100 | 115 | ||
101 | /* miscellaneous IEEE 802.11 constants */ | 116 | /* miscellaneous IEEE 802.11 constants */ |
102 | #define IEEE80211_MAX_FRAG_THRESHOLD 2352 | 117 | #define IEEE80211_MAX_FRAG_THRESHOLD 2352 |
@@ -1191,6 +1206,21 @@ struct ieee80211_vht_mcs_info { | |||
1191 | #define WLAN_CAPABILITY_QOS (1<<9) | 1206 | #define WLAN_CAPABILITY_QOS (1<<9) |
1192 | #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) | 1207 | #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) |
1193 | #define WLAN_CAPABILITY_DSSS_OFDM (1<<13) | 1208 | #define WLAN_CAPABILITY_DSSS_OFDM (1<<13) |
1209 | |||
1210 | /* DMG (60gHz) 802.11ad */ | ||
1211 | /* type - bits 0..1 */ | ||
1212 | #define WLAN_CAPABILITY_DMG_TYPE_IBSS (1<<0) /* Tx by: STA */ | ||
1213 | #define WLAN_CAPABILITY_DMG_TYPE_PBSS (2<<0) /* Tx by: PCP */ | ||
1214 | #define WLAN_CAPABILITY_DMG_TYPE_AP (3<<0) /* Tx by: AP */ | ||
1215 | |||
1216 | #define WLAN_CAPABILITY_DMG_CBAP_ONLY (1<<2) | ||
1217 | #define WLAN_CAPABILITY_DMG_CBAP_SOURCE (1<<3) | ||
1218 | #define WLAN_CAPABILITY_DMG_PRIVACY (1<<4) | ||
1219 | #define WLAN_CAPABILITY_DMG_ECPAC (1<<5) | ||
1220 | |||
1221 | #define WLAN_CAPABILITY_DMG_SPECTRUM_MGMT (1<<8) | ||
1222 | #define WLAN_CAPABILITY_DMG_RADIO_MEASURE (1<<12) | ||
1223 | |||
1194 | /* measurement */ | 1224 | /* measurement */ |
1195 | #define IEEE80211_SPCT_MSR_RPRT_MODE_LATE (1<<0) | 1225 | #define IEEE80211_SPCT_MSR_RPRT_MODE_LATE (1<<0) |
1196 | #define IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE (1<<1) | 1226 | #define IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE (1<<1) |
@@ -1200,7 +1230,6 @@ struct ieee80211_vht_mcs_info { | |||
1200 | #define IEEE80211_SPCT_MSR_RPRT_TYPE_CCA 1 | 1230 | #define IEEE80211_SPCT_MSR_RPRT_TYPE_CCA 1 |
1201 | #define IEEE80211_SPCT_MSR_RPRT_TYPE_RPI 2 | 1231 | #define IEEE80211_SPCT_MSR_RPRT_TYPE_RPI 2 |
1202 | 1232 | ||
1203 | |||
1204 | /* 802.11g ERP information element */ | 1233 | /* 802.11g ERP information element */ |
1205 | #define WLAN_ERP_NON_ERP_PRESENT (1<<0) | 1234 | #define WLAN_ERP_NON_ERP_PRESENT (1<<0) |
1206 | #define WLAN_ERP_USE_PROTECTION (1<<1) | 1235 | #define WLAN_ERP_USE_PROTECTION (1<<1) |
@@ -1212,6 +1241,16 @@ enum { | |||
1212 | WLAN_ERP_PREAMBLE_LONG = 1, | 1241 | WLAN_ERP_PREAMBLE_LONG = 1, |
1213 | }; | 1242 | }; |
1214 | 1243 | ||
1244 | /* Band ID, 802.11ad #8.4.1.45 */ | ||
1245 | enum { | ||
1246 | IEEE80211_BANDID_TV_WS = 0, /* TV white spaces */ | ||
1247 | IEEE80211_BANDID_SUB1 = 1, /* Sub-1 GHz (excluding TV white spaces) */ | ||
1248 | IEEE80211_BANDID_2G = 2, /* 2.4 GHz */ | ||
1249 | IEEE80211_BANDID_3G = 3, /* 3.6 GHz */ | ||
1250 | IEEE80211_BANDID_5G = 4, /* 4.9 and 5 GHz */ | ||
1251 | IEEE80211_BANDID_60G = 5, /* 60 GHz */ | ||
1252 | }; | ||
1253 | |||
1215 | /* Status codes */ | 1254 | /* Status codes */ |
1216 | enum ieee80211_statuscode { | 1255 | enum ieee80211_statuscode { |
1217 | WLAN_STATUS_SUCCESS = 0, | 1256 | WLAN_STATUS_SUCCESS = 0, |
@@ -1263,6 +1302,17 @@ enum ieee80211_statuscode { | |||
1263 | WLAN_STATUS_ANTI_CLOG_REQUIRED = 76, | 1302 | WLAN_STATUS_ANTI_CLOG_REQUIRED = 76, |
1264 | WLAN_STATUS_FCG_NOT_SUPP = 78, | 1303 | WLAN_STATUS_FCG_NOT_SUPP = 78, |
1265 | WLAN_STATUS_STA_NO_TBTT = 78, | 1304 | WLAN_STATUS_STA_NO_TBTT = 78, |
1305 | /* 802.11ad */ | ||
1306 | WLAN_STATUS_REJECTED_WITH_SUGGESTED_CHANGES = 39, | ||
1307 | WLAN_STATUS_REJECTED_FOR_DELAY_PERIOD = 47, | ||
1308 | WLAN_STATUS_REJECT_WITH_SCHEDULE = 83, | ||
1309 | WLAN_STATUS_PENDING_ADMITTING_FST_SESSION = 86, | ||
1310 | WLAN_STATUS_PERFORMING_FST_NOW = 87, | ||
1311 | WLAN_STATUS_PENDING_GAP_IN_BA_WINDOW = 88, | ||
1312 | WLAN_STATUS_REJECT_U_PID_SETTING = 89, | ||
1313 | WLAN_STATUS_REJECT_DSE_BAND = 96, | ||
1314 | WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL = 99, | ||
1315 | WLAN_STATUS_DENIED_DUE_TO_SPECTRUM_MANAGEMENT = 103, | ||
1266 | }; | 1316 | }; |
1267 | 1317 | ||
1268 | 1318 | ||
@@ -1422,6 +1472,40 @@ enum ieee80211_eid { | |||
1422 | 1472 | ||
1423 | WLAN_EID_VHT_CAPABILITY = 191, | 1473 | WLAN_EID_VHT_CAPABILITY = 191, |
1424 | WLAN_EID_VHT_OPERATION = 192, | 1474 | WLAN_EID_VHT_OPERATION = 192, |
1475 | |||
1476 | /* 802.11ad */ | ||
1477 | WLAN_EID_NON_TX_BSSID_CAP = 83, | ||
1478 | WLAN_EID_WAKEUP_SCHEDULE = 143, | ||
1479 | WLAN_EID_EXT_SCHEDULE = 144, | ||
1480 | WLAN_EID_STA_AVAILABILITY = 145, | ||
1481 | WLAN_EID_DMG_TSPEC = 146, | ||
1482 | WLAN_EID_DMG_AT = 147, | ||
1483 | WLAN_EID_DMG_CAP = 148, | ||
1484 | WLAN_EID_DMG_OPERATION = 151, | ||
1485 | WLAN_EID_DMG_BSS_PARAM_CHANGE = 152, | ||
1486 | WLAN_EID_DMG_BEAM_REFINEMENT = 153, | ||
1487 | WLAN_EID_CHANNEL_MEASURE_FEEDBACK = 154, | ||
1488 | WLAN_EID_AWAKE_WINDOW = 157, | ||
1489 | WLAN_EID_MULTI_BAND = 158, | ||
1490 | WLAN_EID_ADDBA_EXT = 159, | ||
1491 | WLAN_EID_NEXT_PCP_LIST = 160, | ||
1492 | WLAN_EID_PCP_HANDOVER = 161, | ||
1493 | WLAN_EID_DMG_LINK_MARGIN = 162, | ||
1494 | WLAN_EID_SWITCHING_STREAM = 163, | ||
1495 | WLAN_EID_SESSION_TRANSITION = 164, | ||
1496 | WLAN_EID_DYN_TONE_PAIRING_REPORT = 165, | ||
1497 | WLAN_EID_CLUSTER_REPORT = 166, | ||
1498 | WLAN_EID_RELAY_CAP = 167, | ||
1499 | WLAN_EID_RELAY_XFER_PARAM_SET = 168, | ||
1500 | WLAN_EID_BEAM_LINK_MAINT = 169, | ||
1501 | WLAN_EID_MULTIPLE_MAC_ADDR = 170, | ||
1502 | WLAN_EID_U_PID = 171, | ||
1503 | WLAN_EID_DMG_LINK_ADAPT_ACK = 172, | ||
1504 | WLAN_EID_QUIET_PERIOD_REQ = 175, | ||
1505 | WLAN_EID_QUIET_PERIOD_RESP = 177, | ||
1506 | WLAN_EID_EPAC_POLICY = 182, | ||
1507 | WLAN_EID_CLISTER_TIME_OFF = 183, | ||
1508 | WLAN_EID_ANTENNA_SECTOR_ID_PATTERN = 190, | ||
1425 | }; | 1509 | }; |
1426 | 1510 | ||
1427 | /* Action category code */ | 1511 | /* Action category code */ |
@@ -1438,7 +1522,10 @@ enum ieee80211_category { | |||
1438 | WLAN_CATEGORY_MESH_ACTION = 13, | 1522 | WLAN_CATEGORY_MESH_ACTION = 13, |
1439 | WLAN_CATEGORY_MULTIHOP_ACTION = 14, | 1523 | WLAN_CATEGORY_MULTIHOP_ACTION = 14, |
1440 | WLAN_CATEGORY_SELF_PROTECTED = 15, | 1524 | WLAN_CATEGORY_SELF_PROTECTED = 15, |
1525 | WLAN_CATEGORY_DMG = 16, | ||
1441 | WLAN_CATEGORY_WMM = 17, | 1526 | WLAN_CATEGORY_WMM = 17, |
1527 | WLAN_CATEGORY_FST = 18, | ||
1528 | WLAN_CATEGORY_UNPROT_DMG = 20, | ||
1442 | WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, | 1529 | WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, |
1443 | WLAN_CATEGORY_VENDOR_SPECIFIC = 127, | 1530 | WLAN_CATEGORY_VENDOR_SPECIFIC = 127, |
1444 | }; | 1531 | }; |
@@ -1686,6 +1773,7 @@ enum ieee80211_sa_query_action { | |||
1686 | #define WLAN_CIPHER_SUITE_CCMP 0x000FAC04 | 1773 | #define WLAN_CIPHER_SUITE_CCMP 0x000FAC04 |
1687 | #define WLAN_CIPHER_SUITE_WEP104 0x000FAC05 | 1774 | #define WLAN_CIPHER_SUITE_WEP104 0x000FAC05 |
1688 | #define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06 | 1775 | #define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06 |
1776 | #define WLAN_CIPHER_SUITE_GCMP 0x000FAC08 | ||
1689 | 1777 | ||
1690 | #define WLAN_CIPHER_SUITE_SMS4 0x00147201 | 1778 | #define WLAN_CIPHER_SUITE_SMS4 0x00147201 |
1691 | 1779 | ||