nl80211.h
1#ifndef __LINUX_NL80211_H
2#define __LINUX_NL80211_H
3/*
4 * 802.11 netlink interface public header
5 *
6 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
7 * Copyright 2008 Michael Wu <flamingice@sourmilk.net>
8 * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com>
9 * Copyright 2008 Michael Buesch <mb@bu3sch.de>
10 * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
12 * Copyright 2008 Colin McCabe <colin@cozybit.com>
13 *
14 * Permission to use, copy, modify, and/or distribute this software for any
15 * purpose with or without fee is hereby granted, provided that the above
16 * copyright notice and this permission notice appear in all copies.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
19 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
20 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
21 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
23 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
24 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
25 *
26 */
27
28#include <linux/types.h>
29
347enum nl80211_commands {
348/* don't change the order or add anything inbetween, this is ABI! */
349 NL80211_CMD_UNSPEC,
350
351 NL80211_CMD_GET_WIPHY, /* can dump */
352 NL80211_CMD_SET_WIPHY,
353 NL80211_CMD_NEW_WIPHY,
354 NL80211_CMD_DEL_WIPHY,
355
356 NL80211_CMD_GET_INTERFACE, /* can dump */
357 NL80211_CMD_SET_INTERFACE,
358 NL80211_CMD_NEW_INTERFACE,
359 NL80211_CMD_DEL_INTERFACE,
360
361 NL80211_CMD_GET_KEY,
362 NL80211_CMD_SET_KEY,
363 NL80211_CMD_NEW_KEY,
364 NL80211_CMD_DEL_KEY,
365
366 NL80211_CMD_GET_BEACON,
367 NL80211_CMD_SET_BEACON,
368 NL80211_CMD_NEW_BEACON,
369 NL80211_CMD_DEL_BEACON,
370
371 NL80211_CMD_GET_STATION,
372 NL80211_CMD_SET_STATION,
373 NL80211_CMD_NEW_STATION,
374 NL80211_CMD_DEL_STATION,
375
376 NL80211_CMD_GET_MPATH,
377 NL80211_CMD_SET_MPATH,
378 NL80211_CMD_NEW_MPATH,
379 NL80211_CMD_DEL_MPATH,
380
381 NL80211_CMD_SET_BSS,
382
383 NL80211_CMD_SET_REG,
384 NL80211_CMD_REQ_SET_REG,
385
386 NL80211_CMD_GET_MESH_PARAMS,
387 NL80211_CMD_SET_MESH_PARAMS,
388
389 NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
390
391 NL80211_CMD_GET_REG,
392
393 NL80211_CMD_GET_SCAN,
394 NL80211_CMD_TRIGGER_SCAN,
395 NL80211_CMD_NEW_SCAN_RESULTS,
396 NL80211_CMD_SCAN_ABORTED,
397
398 NL80211_CMD_REG_CHANGE,
399
400 NL80211_CMD_AUTHENTICATE,
401 NL80211_CMD_ASSOCIATE,
402 NL80211_CMD_DEAUTHENTICATE,
403 NL80211_CMD_DISASSOCIATE,
404
405 NL80211_CMD_MICHAEL_MIC_FAILURE,
406
407 NL80211_CMD_REG_BEACON_HINT,
408
409 NL80211_CMD_JOIN_IBSS,
410 NL80211_CMD_LEAVE_IBSS,
411
412 NL80211_CMD_TESTMODE,
413
414 NL80211_CMD_CONNECT,
415 NL80211_CMD_ROAM,
416 NL80211_CMD_DISCONNECT,
417
418 NL80211_CMD_SET_WIPHY_NETNS,
419
420 NL80211_CMD_GET_SURVEY,
421 NL80211_CMD_NEW_SURVEY_RESULTS,
422
423 NL80211_CMD_SET_PMKSA,
424 NL80211_CMD_DEL_PMKSA,
425 NL80211_CMD_FLUSH_PMKSA,
426
427 NL80211_CMD_REMAIN_ON_CHANNEL,
428 NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL,
429
430 NL80211_CMD_SET_TX_BITRATE_MASK,
431
432 NL80211_CMD_REGISTER_ACTION,
433 NL80211_CMD_ACTION,
434 NL80211_CMD_ACTION_TX_STATUS,
435
436 NL80211_CMD_SET_POWER_SAVE,
437 NL80211_CMD_GET_POWER_SAVE,
438
439 NL80211_CMD_SET_CQM,
440 NL80211_CMD_NOTIFY_CQM,
441
442 NL80211_CMD_SET_CHANNEL,
443
444 /* add new commands above here */
445
446 /* used to define NL80211_CMD_MAX below */
447 __NL80211_CMD_AFTER_LAST,
448 NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
449};
450
451/*
452 * Allow user space programs to use #ifdef on new commands by defining them
453 * here
454 */
455#define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS
456#define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE
457#define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE
458#define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE
459#define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE
460#define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE
461#define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
462#define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT
463
731enum nl80211_attrs {
732/* don't change the order or add anything inbetween, this is ABI! */
733 NL80211_ATTR_UNSPEC,
734
735 NL80211_ATTR_WIPHY,
736 NL80211_ATTR_WIPHY_NAME,
737
738 NL80211_ATTR_IFINDEX,
739 NL80211_ATTR_IFNAME,
740 NL80211_ATTR_IFTYPE,
741
742 NL80211_ATTR_MAC,
743
744 NL80211_ATTR_KEY_DATA,
745 NL80211_ATTR_KEY_IDX,
746 NL80211_ATTR_KEY_CIPHER,
747 NL80211_ATTR_KEY_SEQ,
748 NL80211_ATTR_KEY_DEFAULT,
749
750 NL80211_ATTR_BEACON_INTERVAL,
751 NL80211_ATTR_DTIM_PERIOD,
752 NL80211_ATTR_BEACON_HEAD,
753 NL80211_ATTR_BEACON_TAIL,
754
755 NL80211_ATTR_STA_AID,
756 NL80211_ATTR_STA_FLAGS,
757 NL80211_ATTR_STA_LISTEN_INTERVAL,
758 NL80211_ATTR_STA_SUPPORTED_RATES,
759 NL80211_ATTR_STA_VLAN,
760 NL80211_ATTR_STA_INFO,
761
762 NL80211_ATTR_WIPHY_BANDS,
763
764 NL80211_ATTR_MNTR_FLAGS,
765
766 NL80211_ATTR_MESH_ID,
767 NL80211_ATTR_STA_PLINK_ACTION,
768 NL80211_ATTR_MPATH_NEXT_HOP,
769 NL80211_ATTR_MPATH_INFO,
770
771 NL80211_ATTR_BSS_CTS_PROT,
772 NL80211_ATTR_BSS_SHORT_PREAMBLE,
773 NL80211_ATTR_BSS_SHORT_SLOT_TIME,
774
775 NL80211_ATTR_HT_CAPABILITY,
776
777 NL80211_ATTR_SUPPORTED_IFTYPES,
778
779 NL80211_ATTR_REG_ALPHA2,
780 NL80211_ATTR_REG_RULES,
781
782 NL80211_ATTR_MESH_PARAMS,
783
784 NL80211_ATTR_BSS_BASIC_RATES,
785
786 NL80211_ATTR_WIPHY_TXQ_PARAMS,
787 NL80211_ATTR_WIPHY_FREQ,
788 NL80211_ATTR_WIPHY_CHANNEL_TYPE,
789
790 NL80211_ATTR_KEY_DEFAULT_MGMT,
791
792 NL80211_ATTR_MGMT_SUBTYPE,
793 NL80211_ATTR_IE,
794
795 NL80211_ATTR_MAX_NUM_SCAN_SSIDS,
796
797 NL80211_ATTR_SCAN_FREQUENCIES,
798 NL80211_ATTR_SCAN_SSIDS,
799 NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */
800 NL80211_ATTR_BSS,
801
802 NL80211_ATTR_REG_INITIATOR,
803 NL80211_ATTR_REG_TYPE,
804
805 NL80211_ATTR_SUPPORTED_COMMANDS,
806
807 NL80211_ATTR_FRAME,
808 NL80211_ATTR_SSID,
809 NL80211_ATTR_AUTH_TYPE,
810 NL80211_ATTR_REASON_CODE,
811
812 NL80211_ATTR_KEY_TYPE,
813
814 NL80211_ATTR_MAX_SCAN_IE_LEN,
815 NL80211_ATTR_CIPHER_SUITES,
816
817 NL80211_ATTR_FREQ_BEFORE,
818 NL80211_ATTR_FREQ_AFTER,
819
820 NL80211_ATTR_FREQ_FIXED,
821
822
823 NL80211_ATTR_WIPHY_RETRY_SHORT,
824 NL80211_ATTR_WIPHY_RETRY_LONG,
825 NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
826 NL80211_ATTR_WIPHY_RTS_THRESHOLD,
827
828 NL80211_ATTR_TIMED_OUT,
829
830 NL80211_ATTR_USE_MFP,
831
832 NL80211_ATTR_STA_FLAGS2,
833
834 NL80211_ATTR_CONTROL_PORT,
835
836 NL80211_ATTR_TESTDATA,
837
838 NL80211_ATTR_PRIVACY,
839
840 NL80211_ATTR_DISCONNECTED_BY_AP,
841 NL80211_ATTR_STATUS_CODE,
842
843 NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
844 NL80211_ATTR_CIPHER_SUITE_GROUP,
845 NL80211_ATTR_WPA_VERSIONS,
846 NL80211_ATTR_AKM_SUITES,
847
848 NL80211_ATTR_REQ_IE,
849 NL80211_ATTR_RESP_IE,
850
851 NL80211_ATTR_PREV_BSSID,
852
853 NL80211_ATTR_KEY,
854 NL80211_ATTR_KEYS,
855
856 NL80211_ATTR_PID,
857
858 NL80211_ATTR_4ADDR,
859
860 NL80211_ATTR_SURVEY_INFO,
861
862 NL80211_ATTR_PMKID,
863 NL80211_ATTR_MAX_NUM_PMKIDS,
864
865 NL80211_ATTR_DURATION,
866
867 NL80211_ATTR_COOKIE,
868
869 NL80211_ATTR_WIPHY_COVERAGE_CLASS,
870
871 NL80211_ATTR_TX_RATES,
872
873 NL80211_ATTR_FRAME_MATCH,
874
875 NL80211_ATTR_ACK,
876
877 NL80211_ATTR_PS_STATE,
878
879 NL80211_ATTR_CQM,
880
881 NL80211_ATTR_LOCAL_STATE_CHANGE,
882
883 NL80211_ATTR_AP_ISOLATE,
884
885 /* add attributes here, update the policy in nl80211.c */
886
887 __NL80211_ATTR_AFTER_LAST,
888 NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
889};
890
891/* source-level API compatibility */
892#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
893
894/*
895 * Allow user space programs to use #ifdef on new attributes by defining them
896 * here
897 */
898#define NL80211_CMD_CONNECT NL80211_CMD_CONNECT
899#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
900#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
901#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
902#define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ
903#define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE
904#define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE
905#define NL80211_ATTR_IE NL80211_ATTR_IE
906#define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR
907#define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE
908#define NL80211_ATTR_FRAME NL80211_ATTR_FRAME
909#define NL80211_ATTR_SSID NL80211_ATTR_SSID
910#define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
911#define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
912#define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE
913#define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
914#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
915#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
916#define NL80211_ATTR_KEY NL80211_ATTR_KEY
917#define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
918
919#define NL80211_MAX_SUPP_RATES 32
920#define NL80211_MAX_SUPP_REG_RULES 32
921#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
922#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
923#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
924#define NL80211_HT_CAPABILITY_LEN 26
925
926#define NL80211_MAX_NR_CIPHER_SUITES 5
927#define NL80211_MAX_NR_AKM_SUITES 2
928
947enum nl80211_iftype {
948 NL80211_IFTYPE_UNSPECIFIED,
949 NL80211_IFTYPE_ADHOC,
950 NL80211_IFTYPE_STATION,
951 NL80211_IFTYPE_AP,
952 NL80211_IFTYPE_AP_VLAN,
953 NL80211_IFTYPE_WDS,
954 NL80211_IFTYPE_MONITOR,
955 NL80211_IFTYPE_MESH_POINT,
956
957 /* keep last */
958 __NL80211_IFTYPE_AFTER_LAST,
959 NL80211_IFTYPE_MAX = __NL80211_IFTYPE_AFTER_LAST - 1
960};
961
974enum nl80211_sta_flags {
975 __NL80211_STA_FLAG_INVALID,
976 NL80211_STA_FLAG_AUTHORIZED,
977 NL80211_STA_FLAG_SHORT_PREAMBLE,
978 NL80211_STA_FLAG_WME,
979 NL80211_STA_FLAG_MFP,
980
981 /* keep last */
982 __NL80211_STA_FLAG_AFTER_LAST,
983 NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
984};
985
994 __u32 mask;
995 __u32 set;
996} __attribute__((packed));
997
1012enum nl80211_rate_info {
1013 __NL80211_RATE_INFO_INVALID,
1014 NL80211_RATE_INFO_BITRATE,
1015 NL80211_RATE_INFO_MCS,
1016 NL80211_RATE_INFO_40_MHZ_WIDTH,
1017 NL80211_RATE_INFO_SHORT_GI,
1018
1019 /* keep last */
1020 __NL80211_RATE_INFO_AFTER_LAST,
1021 NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
1022};
1023
1043enum nl80211_sta_info {
1044 __NL80211_STA_INFO_INVALID,
1045 NL80211_STA_INFO_INACTIVE_TIME,
1046 NL80211_STA_INFO_RX_BYTES,
1047 NL80211_STA_INFO_TX_BYTES,
1048 NL80211_STA_INFO_LLID,
1049 NL80211_STA_INFO_PLID,
1050 NL80211_STA_INFO_PLINK_STATE,
1051 NL80211_STA_INFO_SIGNAL,
1052 NL80211_STA_INFO_TX_BITRATE,
1053 NL80211_STA_INFO_RX_PACKETS,
1054 NL80211_STA_INFO_TX_PACKETS,
1055
1056 /* keep last */
1057 __NL80211_STA_INFO_AFTER_LAST,
1058 NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
1059};
1060
1070enum nl80211_mpath_flags {
1071 NL80211_MPATH_FLAG_ACTIVE = 1<<0,
1072 NL80211_MPATH_FLAG_RESOLVING = 1<<1,
1073 NL80211_MPATH_FLAG_SN_VALID = 1<<2,
1074 NL80211_MPATH_FLAG_FIXED = 1<<3,
1075 NL80211_MPATH_FLAG_RESOLVED = 1<<4,
1076};
1077
1094enum nl80211_mpath_info {
1095 __NL80211_MPATH_INFO_INVALID,
1096 NL80211_MPATH_INFO_FRAME_QLEN,
1097 NL80211_MPATH_INFO_SN,
1098 NL80211_MPATH_INFO_METRIC,
1099 NL80211_MPATH_INFO_EXPTIME,
1100 NL80211_MPATH_INFO_FLAGS,
1101 NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
1102 NL80211_MPATH_INFO_DISCOVERY_RETRIES,
1103
1104 /* keep last */
1105 __NL80211_MPATH_INFO_AFTER_LAST,
1106 NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
1107};
1108
1122enum nl80211_band_attr {
1123 __NL80211_BAND_ATTR_INVALID,
1124 NL80211_BAND_ATTR_FREQS,
1125 NL80211_BAND_ATTR_RATES,
1126
1127 NL80211_BAND_ATTR_HT_MCS_SET,
1128 NL80211_BAND_ATTR_HT_CAPA,
1129 NL80211_BAND_ATTR_HT_AMPDU_FACTOR,
1130 NL80211_BAND_ATTR_HT_AMPDU_DENSITY,
1131
1132 /* keep last */
1133 __NL80211_BAND_ATTR_AFTER_LAST,
1134 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
1135};
1136
1137#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
1138
1153enum nl80211_frequency_attr {
1154 __NL80211_FREQUENCY_ATTR_INVALID,
1155 NL80211_FREQUENCY_ATTR_FREQ,
1156 NL80211_FREQUENCY_ATTR_DISABLED,
1157 NL80211_FREQUENCY_ATTR_PASSIVE_SCAN,
1158 NL80211_FREQUENCY_ATTR_NO_IBSS,
1159 NL80211_FREQUENCY_ATTR_RADAR,
1160 NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
1161
1162 /* keep last */
1163 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
1164 NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
1165};
1166
1167#define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER
1168
1175enum nl80211_bitrate_attr {
1176 __NL80211_BITRATE_ATTR_INVALID,
1177 NL80211_BITRATE_ATTR_RATE,
1178 NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE,
1179
1180 /* keep last */
1181 __NL80211_BITRATE_ATTR_AFTER_LAST,
1182 NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1
1183};
1184
1197enum nl80211_reg_initiator {
1198 NL80211_REGDOM_SET_BY_CORE,
1199 NL80211_REGDOM_SET_BY_USER,
1200 NL80211_REGDOM_SET_BY_DRIVER,
1201 NL80211_REGDOM_SET_BY_COUNTRY_IE,
1202};
1203
1220enum nl80211_reg_type {
1221 NL80211_REGDOM_TYPE_COUNTRY,
1222 NL80211_REGDOM_TYPE_WORLD,
1223 NL80211_REGDOM_TYPE_CUSTOM_WORLD,
1224 NL80211_REGDOM_TYPE_INTERSECTION,
1225};
1226
1246enum nl80211_reg_rule_attr {
1247 __NL80211_REG_RULE_ATTR_INVALID,
1248 NL80211_ATTR_REG_RULE_FLAGS,
1249
1250 NL80211_ATTR_FREQ_RANGE_START,
1251 NL80211_ATTR_FREQ_RANGE_END,
1252 NL80211_ATTR_FREQ_RANGE_MAX_BW,
1253
1254 NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
1255 NL80211_ATTR_POWER_RULE_MAX_EIRP,
1256
1257 /* keep last */
1258 __NL80211_REG_RULE_ATTR_AFTER_LAST,
1259 NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
1260};
1261
1275enum nl80211_reg_rule_flags {
1276 NL80211_RRF_NO_OFDM = 1<<0,
1277 NL80211_RRF_NO_CCK = 1<<1,
1278 NL80211_RRF_NO_INDOOR = 1<<2,
1279 NL80211_RRF_NO_OUTDOOR = 1<<3,
1280 NL80211_RRF_DFS = 1<<4,
1281 NL80211_RRF_PTP_ONLY = 1<<5,
1282 NL80211_RRF_PTMP_ONLY = 1<<6,
1283 NL80211_RRF_PASSIVE_SCAN = 1<<7,
1284 NL80211_RRF_NO_IBSS = 1<<8,
1285};
1286
1297enum nl80211_survey_info {
1298 __NL80211_SURVEY_INFO_INVALID,
1299 NL80211_SURVEY_INFO_FREQUENCY,
1300 NL80211_SURVEY_INFO_NOISE,
1301
1302 /* keep last */
1303 __NL80211_SURVEY_INFO_AFTER_LAST,
1304 NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1
1305};
1306
1324enum nl80211_mntr_flags {
1325 __NL80211_MNTR_FLAG_INVALID,
1326 NL80211_MNTR_FLAG_FCSFAIL,
1327 NL80211_MNTR_FLAG_PLCPFAIL,
1328 NL80211_MNTR_FLAG_CONTROL,
1329 NL80211_MNTR_FLAG_OTHER_BSS,
1330 NL80211_MNTR_FLAG_COOK_FRAMES,
1331
1332 /* keep last */
1333 __NL80211_MNTR_FLAG_AFTER_LAST,
1334 NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1
1335};
1336
1393enum nl80211_meshconf_params {
1394 __NL80211_MESHCONF_INVALID,
1395 NL80211_MESHCONF_RETRY_TIMEOUT,
1396 NL80211_MESHCONF_CONFIRM_TIMEOUT,
1397 NL80211_MESHCONF_HOLDING_TIMEOUT,
1398 NL80211_MESHCONF_MAX_PEER_LINKS,
1399 NL80211_MESHCONF_MAX_RETRIES,
1400 NL80211_MESHCONF_TTL,
1401 NL80211_MESHCONF_AUTO_OPEN_PLINKS,
1402 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
1403 NL80211_MESHCONF_PATH_REFRESH_TIME,
1404 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
1405 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
1406 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
1407 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
1408 NL80211_MESHCONF_HWMP_ROOTMODE,
1409
1410 /* keep last */
1411 __NL80211_MESHCONF_ATTR_AFTER_LAST,
1412 NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
1413};
1414
1429enum nl80211_txq_attr {
1430 __NL80211_TXQ_ATTR_INVALID,
1431 NL80211_TXQ_ATTR_QUEUE,
1432 NL80211_TXQ_ATTR_TXOP,
1433 NL80211_TXQ_ATTR_CWMIN,
1434 NL80211_TXQ_ATTR_CWMAX,
1435 NL80211_TXQ_ATTR_AIFS,
1436
1437 /* keep last */
1438 __NL80211_TXQ_ATTR_AFTER_LAST,
1439 NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
1440};
1441
1442enum nl80211_txq_q {
1443 NL80211_TXQ_Q_VO,
1444 NL80211_TXQ_Q_VI,
1445 NL80211_TXQ_Q_BE,
1446 NL80211_TXQ_Q_BK
1447};
1448
1449enum nl80211_channel_type {
1450 NL80211_CHAN_NO_HT,
1451 NL80211_CHAN_HT20,
1452 NL80211_CHAN_HT40MINUS,
1453 NL80211_CHAN_HT40PLUS
1454};
1455
1482enum nl80211_bss {
1483 __NL80211_BSS_INVALID,
1484 NL80211_BSS_BSSID,
1485 NL80211_BSS_FREQUENCY,
1486 NL80211_BSS_TSF,
1487 NL80211_BSS_BEACON_INTERVAL,
1488 NL80211_BSS_CAPABILITY,
1489 NL80211_BSS_INFORMATION_ELEMENTS,
1490 NL80211_BSS_SIGNAL_MBM,
1491 NL80211_BSS_SIGNAL_UNSPEC,
1492 NL80211_BSS_STATUS,
1493 NL80211_BSS_SEEN_MS_AGO,
1494 NL80211_BSS_BEACON_IES,
1495
1496 /* keep last */
1497 __NL80211_BSS_AFTER_LAST,
1498 NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
1499};
1500
1504enum nl80211_bss_status {
1505 NL80211_BSS_STATUS_AUTHENTICATED,
1506 NL80211_BSS_STATUS_ASSOCIATED,
1507 NL80211_BSS_STATUS_IBSS_JOINED,
1508};
1509
1523enum nl80211_auth_type {
1524 NL80211_AUTHTYPE_OPEN_SYSTEM,
1525 NL80211_AUTHTYPE_SHARED_KEY,
1526 NL80211_AUTHTYPE_FT,
1527 NL80211_AUTHTYPE_NETWORK_EAP,
1528
1529 /* keep last */
1530 __NL80211_AUTHTYPE_NUM,
1531 NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1,
1532 NL80211_AUTHTYPE_AUTOMATIC
1533};
1534
1541enum nl80211_key_type {
1542 NL80211_KEYTYPE_GROUP,
1543 NL80211_KEYTYPE_PAIRWISE,
1544 NL80211_KEYTYPE_PEERKEY,
1545};
1546
1552enum nl80211_mfp {
1553 NL80211_MFP_NO,
1554 NL80211_MFP_REQUIRED,
1555};
1556
1557enum nl80211_wpa_versions {
1558 NL80211_WPA_VERSION_1 = 1 << 0,
1559 NL80211_WPA_VERSION_2 = 1 << 1,
1560};
1561
1578enum nl80211_key_attributes {
1579 __NL80211_KEY_INVALID,
1580 NL80211_KEY_DATA,
1581 NL80211_KEY_IDX,
1582 NL80211_KEY_CIPHER,
1583 NL80211_KEY_SEQ,
1584 NL80211_KEY_DEFAULT,
1585 NL80211_KEY_DEFAULT_MGMT,
1586
1587 /* keep last */
1588 __NL80211_KEY_AFTER_LAST,
1589 NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1
1590};
1591
1602enum nl80211_tx_rate_attributes {
1603 __NL80211_TXRATE_INVALID,
1604 NL80211_TXRATE_LEGACY,
1605
1606 /* keep last */
1607 __NL80211_TXRATE_AFTER_LAST,
1608 NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1
1609};
1610
1616enum nl80211_band {
1617 NL80211_BAND_2GHZ,
1618 NL80211_BAND_5GHZ,
1619};
1620
1621enum nl80211_ps_state {
1622 NL80211_PS_DISABLED,
1623 NL80211_PS_ENABLED,
1624};
1625
1639enum nl80211_attr_cqm {
1640 __NL80211_ATTR_CQM_INVALID,
1641 NL80211_ATTR_CQM_RSSI_THOLD,
1642 NL80211_ATTR_CQM_RSSI_HYST,
1643 NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
1644
1645 /* keep last */
1646 __NL80211_ATTR_CQM_AFTER_LAST,
1647 NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1
1648};
1649
1657enum nl80211_cqm_rssi_threshold_event {
1658 NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW,
1659 NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH,
1660};
1661
1662#endif /* __LINUX_NL80211_H */
Messages between wsn and a robot.
Definition er.h:87
struct nl80211_sta_flag_update - station flags mask/set @mask: mask of station flags to set @set: whi...
Definition nl80211.h:993