wpa_supplicant / hostapd 2.0

nl80211_copy.h

00001 #ifndef __LINUX_NL80211_H
00002 #define __LINUX_NL80211_H
00003 /*
00004  * 802.11 netlink interface public header
00005  *
00006 \par Copyright
00007 Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
00008  * Copyright 2008 Michael Wu <flamingice@sourmilk.net>
00009  * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com>
00010  * Copyright 2008 Michael Buesch <m@bues.ch>
00011  * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
00012  * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
00013  * Copyright 2008 Colin McCabe <colin@cozybit.com>
00014  *
00015  * Permission to use, copy, modify, and/or distribute this software for any
00016  * purpose with or without fee is hereby granted, provided that the above
00017  * copyright notice and this permission notice appear in all copies.
00018  *
00019  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
00020  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
00021  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
00022  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00023  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00024  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
00025  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
00026  *
00027  */
00028 
00029 #include <linux/types.h>
00030 
00560 enum nl80211_commands {
00561 /* don't change the order or add anything between, this is ABI! */
00562         NL80211_CMD_UNSPEC,
00563 
00564         NL80211_CMD_GET_WIPHY,          /* can dump */
00565         NL80211_CMD_SET_WIPHY,
00566         NL80211_CMD_NEW_WIPHY,
00567         NL80211_CMD_DEL_WIPHY,
00568 
00569         NL80211_CMD_GET_INTERFACE,      /* can dump */
00570         NL80211_CMD_SET_INTERFACE,
00571         NL80211_CMD_NEW_INTERFACE,
00572         NL80211_CMD_DEL_INTERFACE,
00573 
00574         NL80211_CMD_GET_KEY,
00575         NL80211_CMD_SET_KEY,
00576         NL80211_CMD_NEW_KEY,
00577         NL80211_CMD_DEL_KEY,
00578 
00579         NL80211_CMD_GET_BEACON,
00580         NL80211_CMD_SET_BEACON,
00581         NL80211_CMD_START_AP,
00582         NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP,
00583         NL80211_CMD_STOP_AP,
00584         NL80211_CMD_DEL_BEACON = NL80211_CMD_STOP_AP,
00585 
00586         NL80211_CMD_GET_STATION,
00587         NL80211_CMD_SET_STATION,
00588         NL80211_CMD_NEW_STATION,
00589         NL80211_CMD_DEL_STATION,
00590 
00591         NL80211_CMD_GET_MPATH,
00592         NL80211_CMD_SET_MPATH,
00593         NL80211_CMD_NEW_MPATH,
00594         NL80211_CMD_DEL_MPATH,
00595 
00596         NL80211_CMD_SET_BSS,
00597 
00598         NL80211_CMD_SET_REG,
00599         NL80211_CMD_REQ_SET_REG,
00600 
00601         NL80211_CMD_GET_MESH_CONFIG,
00602         NL80211_CMD_SET_MESH_CONFIG,
00603 
00604         NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
00605 
00606         NL80211_CMD_GET_REG,
00607 
00608         NL80211_CMD_GET_SCAN,
00609         NL80211_CMD_TRIGGER_SCAN,
00610         NL80211_CMD_NEW_SCAN_RESULTS,
00611         NL80211_CMD_SCAN_ABORTED,
00612 
00613         NL80211_CMD_REG_CHANGE,
00614 
00615         NL80211_CMD_AUTHENTICATE,
00616         NL80211_CMD_ASSOCIATE,
00617         NL80211_CMD_DEAUTHENTICATE,
00618         NL80211_CMD_DISASSOCIATE,
00619 
00620         NL80211_CMD_MICHAEL_MIC_FAILURE,
00621 
00622         NL80211_CMD_REG_BEACON_HINT,
00623 
00624         NL80211_CMD_JOIN_IBSS,
00625         NL80211_CMD_LEAVE_IBSS,
00626 
00627         NL80211_CMD_TESTMODE,
00628 
00629         NL80211_CMD_CONNECT,
00630         NL80211_CMD_ROAM,
00631         NL80211_CMD_DISCONNECT,
00632 
00633         NL80211_CMD_SET_WIPHY_NETNS,
00634 
00635         NL80211_CMD_GET_SURVEY,
00636         NL80211_CMD_NEW_SURVEY_RESULTS,
00637 
00638         NL80211_CMD_SET_PMKSA,
00639         NL80211_CMD_DEL_PMKSA,
00640         NL80211_CMD_FLUSH_PMKSA,
00641 
00642         NL80211_CMD_REMAIN_ON_CHANNEL,
00643         NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL,
00644 
00645         NL80211_CMD_SET_TX_BITRATE_MASK,
00646 
00647         NL80211_CMD_REGISTER_FRAME,
00648         NL80211_CMD_REGISTER_ACTION = NL80211_CMD_REGISTER_FRAME,
00649         NL80211_CMD_FRAME,
00650         NL80211_CMD_ACTION = NL80211_CMD_FRAME,
00651         NL80211_CMD_FRAME_TX_STATUS,
00652         NL80211_CMD_ACTION_TX_STATUS = NL80211_CMD_FRAME_TX_STATUS,
00653 
00654         NL80211_CMD_SET_POWER_SAVE,
00655         NL80211_CMD_GET_POWER_SAVE,
00656 
00657         NL80211_CMD_SET_CQM,
00658         NL80211_CMD_NOTIFY_CQM,
00659 
00660         NL80211_CMD_SET_CHANNEL,
00661         NL80211_CMD_SET_WDS_PEER,
00662 
00663         NL80211_CMD_FRAME_WAIT_CANCEL,
00664 
00665         NL80211_CMD_JOIN_MESH,
00666         NL80211_CMD_LEAVE_MESH,
00667 
00668         NL80211_CMD_UNPROT_DEAUTHENTICATE,
00669         NL80211_CMD_UNPROT_DISASSOCIATE,
00670 
00671         NL80211_CMD_NEW_PEER_CANDIDATE,
00672 
00673         NL80211_CMD_GET_WOWLAN,
00674         NL80211_CMD_SET_WOWLAN,
00675 
00676         NL80211_CMD_START_SCHED_SCAN,
00677         NL80211_CMD_STOP_SCHED_SCAN,
00678         NL80211_CMD_SCHED_SCAN_RESULTS,
00679         NL80211_CMD_SCHED_SCAN_STOPPED,
00680 
00681         NL80211_CMD_SET_REKEY_OFFLOAD,
00682 
00683         NL80211_CMD_PMKSA_CANDIDATE,
00684 
00685         NL80211_CMD_TDLS_OPER,
00686         NL80211_CMD_TDLS_MGMT,
00687 
00688         NL80211_CMD_UNEXPECTED_FRAME,
00689 
00690         NL80211_CMD_PROBE_CLIENT,
00691 
00692         NL80211_CMD_REGISTER_BEACONS,
00693 
00694         NL80211_CMD_UNEXPECTED_4ADDR_FRAME,
00695 
00696         NL80211_CMD_SET_NOACK_MAP,
00697 
00698         NL80211_CMD_CH_SWITCH_NOTIFY,
00699 
00700         /* add new commands above here */
00701 
00702         /* used to define NL80211_CMD_MAX below */
00703         __NL80211_CMD_AFTER_LAST,
00704         NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
00705 };
00706 
00707 /*
00708  * Allow user space programs to use #ifdef on new commands by defining them
00709  * here
00710  */
00711 #define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS
00712 #define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE
00713 #define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE
00714 #define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE
00715 #define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE
00716 #define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE
00717 #define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
00718 #define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT
00719 
00720 #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
00721 
00722 /* source-level API compatibility */
00723 #define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG
00724 #define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG
00725 #define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE
00726 
01229 enum nl80211_attrs {
01230 /* don't change the order or add anything between, this is ABI! */
01231         NL80211_ATTR_UNSPEC,
01232 
01233         NL80211_ATTR_WIPHY,
01234         NL80211_ATTR_WIPHY_NAME,
01235 
01236         NL80211_ATTR_IFINDEX,
01237         NL80211_ATTR_IFNAME,
01238         NL80211_ATTR_IFTYPE,
01239 
01240         NL80211_ATTR_MAC,
01241 
01242         NL80211_ATTR_KEY_DATA,
01243         NL80211_ATTR_KEY_IDX,
01244         NL80211_ATTR_KEY_CIPHER,
01245         NL80211_ATTR_KEY_SEQ,
01246         NL80211_ATTR_KEY_DEFAULT,
01247 
01248         NL80211_ATTR_BEACON_INTERVAL,
01249         NL80211_ATTR_DTIM_PERIOD,
01250         NL80211_ATTR_BEACON_HEAD,
01251         NL80211_ATTR_BEACON_TAIL,
01252 
01253         NL80211_ATTR_STA_AID,
01254         NL80211_ATTR_STA_FLAGS,
01255         NL80211_ATTR_STA_LISTEN_INTERVAL,
01256         NL80211_ATTR_STA_SUPPORTED_RATES,
01257         NL80211_ATTR_STA_VLAN,
01258         NL80211_ATTR_STA_INFO,
01259 
01260         NL80211_ATTR_WIPHY_BANDS,
01261 
01262         NL80211_ATTR_MNTR_FLAGS,
01263 
01264         NL80211_ATTR_MESH_ID,
01265         NL80211_ATTR_STA_PLINK_ACTION,
01266         NL80211_ATTR_MPATH_NEXT_HOP,
01267         NL80211_ATTR_MPATH_INFO,
01268 
01269         NL80211_ATTR_BSS_CTS_PROT,
01270         NL80211_ATTR_BSS_SHORT_PREAMBLE,
01271         NL80211_ATTR_BSS_SHORT_SLOT_TIME,
01272 
01273         NL80211_ATTR_HT_CAPABILITY,
01274 
01275         NL80211_ATTR_SUPPORTED_IFTYPES,
01276 
01277         NL80211_ATTR_REG_ALPHA2,
01278         NL80211_ATTR_REG_RULES,
01279 
01280         NL80211_ATTR_MESH_CONFIG,
01281 
01282         NL80211_ATTR_BSS_BASIC_RATES,
01283 
01284         NL80211_ATTR_WIPHY_TXQ_PARAMS,
01285         NL80211_ATTR_WIPHY_FREQ,
01286         NL80211_ATTR_WIPHY_CHANNEL_TYPE,
01287 
01288         NL80211_ATTR_KEY_DEFAULT_MGMT,
01289 
01290         NL80211_ATTR_MGMT_SUBTYPE,
01291         NL80211_ATTR_IE,
01292 
01293         NL80211_ATTR_MAX_NUM_SCAN_SSIDS,
01294 
01295         NL80211_ATTR_SCAN_FREQUENCIES,
01296         NL80211_ATTR_SCAN_SSIDS,
01297         NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */
01298         NL80211_ATTR_BSS,
01299 
01300         NL80211_ATTR_REG_INITIATOR,
01301         NL80211_ATTR_REG_TYPE,
01302 
01303         NL80211_ATTR_SUPPORTED_COMMANDS,
01304 
01305         NL80211_ATTR_FRAME,
01306         NL80211_ATTR_SSID,
01307         NL80211_ATTR_AUTH_TYPE,
01308         NL80211_ATTR_REASON_CODE,
01309 
01310         NL80211_ATTR_KEY_TYPE,
01311 
01312         NL80211_ATTR_MAX_SCAN_IE_LEN,
01313         NL80211_ATTR_CIPHER_SUITES,
01314 
01315         NL80211_ATTR_FREQ_BEFORE,
01316         NL80211_ATTR_FREQ_AFTER,
01317 
01318         NL80211_ATTR_FREQ_FIXED,
01319 
01320 
01321         NL80211_ATTR_WIPHY_RETRY_SHORT,
01322         NL80211_ATTR_WIPHY_RETRY_LONG,
01323         NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
01324         NL80211_ATTR_WIPHY_RTS_THRESHOLD,
01325 
01326         NL80211_ATTR_TIMED_OUT,
01327 
01328         NL80211_ATTR_USE_MFP,
01329 
01330         NL80211_ATTR_STA_FLAGS2,
01331 
01332         NL80211_ATTR_CONTROL_PORT,
01333 
01334         NL80211_ATTR_TESTDATA,
01335 
01336         NL80211_ATTR_PRIVACY,
01337 
01338         NL80211_ATTR_DISCONNECTED_BY_AP,
01339         NL80211_ATTR_STATUS_CODE,
01340 
01341         NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
01342         NL80211_ATTR_CIPHER_SUITE_GROUP,
01343         NL80211_ATTR_WPA_VERSIONS,
01344         NL80211_ATTR_AKM_SUITES,
01345 
01346         NL80211_ATTR_REQ_IE,
01347         NL80211_ATTR_RESP_IE,
01348 
01349         NL80211_ATTR_PREV_BSSID,
01350 
01351         NL80211_ATTR_KEY,
01352         NL80211_ATTR_KEYS,
01353 
01354         NL80211_ATTR_PID,
01355 
01356         NL80211_ATTR_4ADDR,
01357 
01358         NL80211_ATTR_SURVEY_INFO,
01359 
01360         NL80211_ATTR_PMKID,
01361         NL80211_ATTR_MAX_NUM_PMKIDS,
01362 
01363         NL80211_ATTR_DURATION,
01364 
01365         NL80211_ATTR_COOKIE,
01366 
01367         NL80211_ATTR_WIPHY_COVERAGE_CLASS,
01368 
01369         NL80211_ATTR_TX_RATES,
01370 
01371         NL80211_ATTR_FRAME_MATCH,
01372 
01373         NL80211_ATTR_ACK,
01374 
01375         NL80211_ATTR_PS_STATE,
01376 
01377         NL80211_ATTR_CQM,
01378 
01379         NL80211_ATTR_LOCAL_STATE_CHANGE,
01380 
01381         NL80211_ATTR_AP_ISOLATE,
01382 
01383         NL80211_ATTR_WIPHY_TX_POWER_SETTING,
01384         NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
01385 
01386         NL80211_ATTR_TX_FRAME_TYPES,
01387         NL80211_ATTR_RX_FRAME_TYPES,
01388         NL80211_ATTR_FRAME_TYPE,
01389 
01390         NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
01391         NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT,
01392 
01393         NL80211_ATTR_SUPPORT_IBSS_RSN,
01394 
01395         NL80211_ATTR_WIPHY_ANTENNA_TX,
01396         NL80211_ATTR_WIPHY_ANTENNA_RX,
01397 
01398         NL80211_ATTR_MCAST_RATE,
01399 
01400         NL80211_ATTR_OFFCHANNEL_TX_OK,
01401 
01402         NL80211_ATTR_BSS_HT_OPMODE,
01403 
01404         NL80211_ATTR_KEY_DEFAULT_TYPES,
01405 
01406         NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION,
01407 
01408         NL80211_ATTR_MESH_SETUP,
01409 
01410         NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX,
01411         NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX,
01412 
01413         NL80211_ATTR_SUPPORT_MESH_AUTH,
01414         NL80211_ATTR_STA_PLINK_STATE,
01415 
01416         NL80211_ATTR_WOWLAN_TRIGGERS,
01417         NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED,
01418 
01419         NL80211_ATTR_SCHED_SCAN_INTERVAL,
01420 
01421         NL80211_ATTR_INTERFACE_COMBINATIONS,
01422         NL80211_ATTR_SOFTWARE_IFTYPES,
01423 
01424         NL80211_ATTR_REKEY_DATA,
01425 
01426         NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS,
01427         NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN,
01428 
01429         NL80211_ATTR_SCAN_SUPP_RATES,
01430 
01431         NL80211_ATTR_HIDDEN_SSID,
01432 
01433         NL80211_ATTR_IE_PROBE_RESP,
01434         NL80211_ATTR_IE_ASSOC_RESP,
01435 
01436         NL80211_ATTR_STA_WME,
01437         NL80211_ATTR_SUPPORT_AP_UAPSD,
01438 
01439         NL80211_ATTR_ROAM_SUPPORT,
01440 
01441         NL80211_ATTR_SCHED_SCAN_MATCH,
01442         NL80211_ATTR_MAX_MATCH_SETS,
01443 
01444         NL80211_ATTR_PMKSA_CANDIDATE,
01445 
01446         NL80211_ATTR_TX_NO_CCK_RATE,
01447 
01448         NL80211_ATTR_TDLS_ACTION,
01449         NL80211_ATTR_TDLS_DIALOG_TOKEN,
01450         NL80211_ATTR_TDLS_OPERATION,
01451         NL80211_ATTR_TDLS_SUPPORT,
01452         NL80211_ATTR_TDLS_EXTERNAL_SETUP,
01453 
01454         NL80211_ATTR_DEVICE_AP_SME,
01455 
01456         NL80211_ATTR_DONT_WAIT_FOR_ACK,
01457 
01458         NL80211_ATTR_FEATURE_FLAGS,
01459 
01460         NL80211_ATTR_PROBE_RESP_OFFLOAD,
01461 
01462         NL80211_ATTR_PROBE_RESP,
01463 
01464         NL80211_ATTR_DFS_REGION,
01465 
01466         NL80211_ATTR_DISABLE_HT,
01467         NL80211_ATTR_HT_CAPABILITY_MASK,
01468 
01469         NL80211_ATTR_NOACK_MAP,
01470 
01471         NL80211_ATTR_INACTIVITY_TIMEOUT,
01472 
01473         NL80211_ATTR_RX_SIGNAL_DBM,
01474 
01475         NL80211_ATTR_BG_SCAN_PERIOD,
01476 
01477         /* add attributes here, update the policy in nl80211.c */
01478 
01479         __NL80211_ATTR_AFTER_LAST,
01480         NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
01481 };
01482 
01483 /* source-level API compatibility */
01484 #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
01485 #define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
01486 
01487 /*
01488  * Allow user space programs to use #ifdef on new attributes by defining them
01489  * here
01490  */
01491 #define NL80211_CMD_CONNECT NL80211_CMD_CONNECT
01492 #define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
01493 #define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
01494 #define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
01495 #define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ
01496 #define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE
01497 #define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE
01498 #define NL80211_ATTR_IE NL80211_ATTR_IE
01499 #define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR
01500 #define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE
01501 #define NL80211_ATTR_FRAME NL80211_ATTR_FRAME
01502 #define NL80211_ATTR_SSID NL80211_ATTR_SSID
01503 #define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
01504 #define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
01505 #define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE
01506 #define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
01507 #define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
01508 #define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
01509 #define NL80211_ATTR_KEY NL80211_ATTR_KEY
01510 #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
01511 #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
01512 
01513 #define NL80211_MAX_SUPP_RATES                  32
01514 #define NL80211_MAX_SUPP_HT_RATES               77
01515 #define NL80211_MAX_SUPP_REG_RULES              32
01516 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY       0
01517 #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY     16
01518 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY     24
01519 #define NL80211_HT_CAPABILITY_LEN               26
01520 
01521 #define NL80211_MAX_NR_CIPHER_SUITES            5
01522 #define NL80211_MAX_NR_AKM_SUITES               2
01523 
01546 enum nl80211_iftype {
01547         NL80211_IFTYPE_UNSPECIFIED,
01548         NL80211_IFTYPE_ADHOC,
01549         NL80211_IFTYPE_STATION,
01550         NL80211_IFTYPE_AP,
01551         NL80211_IFTYPE_AP_VLAN,
01552         NL80211_IFTYPE_WDS,
01553         NL80211_IFTYPE_MONITOR,
01554         NL80211_IFTYPE_MESH_POINT,
01555         NL80211_IFTYPE_P2P_CLIENT,
01556         NL80211_IFTYPE_P2P_GO,
01557 
01558         /* keep last */
01559         NUM_NL80211_IFTYPES,
01560         NL80211_IFTYPE_MAX = NUM_NL80211_IFTYPES - 1
01561 };
01562 
01584 enum nl80211_sta_flags {
01585         __NL80211_STA_FLAG_INVALID,
01586         NL80211_STA_FLAG_AUTHORIZED,
01587         NL80211_STA_FLAG_SHORT_PREAMBLE,
01588         NL80211_STA_FLAG_WME,
01589         NL80211_STA_FLAG_MFP,
01590         NL80211_STA_FLAG_AUTHENTICATED,
01591         NL80211_STA_FLAG_TDLS_PEER,
01592 
01593         /* keep last */
01594         __NL80211_STA_FLAG_AFTER_LAST,
01595         NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
01596 };
01597 
01606 struct nl80211_sta_flag_update {
01607         __u32 mask;
01608         __u32 set;
01609 } __attribute__((packed));
01610 
01625 enum nl80211_rate_info {
01626         __NL80211_RATE_INFO_INVALID,
01627         NL80211_RATE_INFO_BITRATE,
01628         NL80211_RATE_INFO_MCS,
01629         NL80211_RATE_INFO_40_MHZ_WIDTH,
01630         NL80211_RATE_INFO_SHORT_GI,
01631 
01632         /* keep last */
01633         __NL80211_RATE_INFO_AFTER_LAST,
01634         NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
01635 };
01636 
01654 enum nl80211_sta_bss_param {
01655         __NL80211_STA_BSS_PARAM_INVALID,
01656         NL80211_STA_BSS_PARAM_CTS_PROT,
01657         NL80211_STA_BSS_PARAM_SHORT_PREAMBLE,
01658         NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME,
01659         NL80211_STA_BSS_PARAM_DTIM_PERIOD,
01660         NL80211_STA_BSS_PARAM_BEACON_INTERVAL,
01661 
01662         /* keep last */
01663         __NL80211_STA_BSS_PARAM_AFTER_LAST,
01664         NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1
01665 };
01666 
01701 enum nl80211_sta_info {
01702         __NL80211_STA_INFO_INVALID,
01703         NL80211_STA_INFO_INACTIVE_TIME,
01704         NL80211_STA_INFO_RX_BYTES,
01705         NL80211_STA_INFO_TX_BYTES,
01706         NL80211_STA_INFO_LLID,
01707         NL80211_STA_INFO_PLID,
01708         NL80211_STA_INFO_PLINK_STATE,
01709         NL80211_STA_INFO_SIGNAL,
01710         NL80211_STA_INFO_TX_BITRATE,
01711         NL80211_STA_INFO_RX_PACKETS,
01712         NL80211_STA_INFO_TX_PACKETS,
01713         NL80211_STA_INFO_TX_RETRIES,
01714         NL80211_STA_INFO_TX_FAILED,
01715         NL80211_STA_INFO_SIGNAL_AVG,
01716         NL80211_STA_INFO_RX_BITRATE,
01717         NL80211_STA_INFO_BSS_PARAM,
01718         NL80211_STA_INFO_CONNECTED_TIME,
01719         NL80211_STA_INFO_STA_FLAGS,
01720         NL80211_STA_INFO_BEACON_LOSS,
01721         NL80211_STA_INFO_T_OFFSET,
01722 
01723         /* keep last */
01724         __NL80211_STA_INFO_AFTER_LAST,
01725         NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
01726 };
01727 
01737 enum nl80211_mpath_flags {
01738         NL80211_MPATH_FLAG_ACTIVE =     1<<0,
01739         NL80211_MPATH_FLAG_RESOLVING =  1<<1,
01740         NL80211_MPATH_FLAG_SN_VALID =   1<<2,
01741         NL80211_MPATH_FLAG_FIXED =      1<<3,
01742         NL80211_MPATH_FLAG_RESOLVED =   1<<4,
01743 };
01744 
01764 enum nl80211_mpath_info {
01765         __NL80211_MPATH_INFO_INVALID,
01766         NL80211_MPATH_INFO_FRAME_QLEN,
01767         NL80211_MPATH_INFO_SN,
01768         NL80211_MPATH_INFO_METRIC,
01769         NL80211_MPATH_INFO_EXPTIME,
01770         NL80211_MPATH_INFO_FLAGS,
01771         NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
01772         NL80211_MPATH_INFO_DISCOVERY_RETRIES,
01773 
01774         /* keep last */
01775         __NL80211_MPATH_INFO_AFTER_LAST,
01776         NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
01777 };
01778 
01794 enum nl80211_band_attr {
01795         __NL80211_BAND_ATTR_INVALID,
01796         NL80211_BAND_ATTR_FREQS,
01797         NL80211_BAND_ATTR_RATES,
01798 
01799         NL80211_BAND_ATTR_HT_MCS_SET,
01800         NL80211_BAND_ATTR_HT_CAPA,
01801         NL80211_BAND_ATTR_HT_AMPDU_FACTOR,
01802         NL80211_BAND_ATTR_HT_AMPDU_DENSITY,
01803 
01804         /* keep last */
01805         __NL80211_BAND_ATTR_AFTER_LAST,
01806         NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
01807 };
01808 
01809 #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
01810 
01829 enum nl80211_frequency_attr {
01830         __NL80211_FREQUENCY_ATTR_INVALID,
01831         NL80211_FREQUENCY_ATTR_FREQ,
01832         NL80211_FREQUENCY_ATTR_DISABLED,
01833         NL80211_FREQUENCY_ATTR_PASSIVE_SCAN,
01834         NL80211_FREQUENCY_ATTR_NO_IBSS,
01835         NL80211_FREQUENCY_ATTR_RADAR,
01836         NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
01837 
01838         /* keep last */
01839         __NL80211_FREQUENCY_ATTR_AFTER_LAST,
01840         NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
01841 };
01842 
01843 #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER
01844 
01855 enum nl80211_bitrate_attr {
01856         __NL80211_BITRATE_ATTR_INVALID,
01857         NL80211_BITRATE_ATTR_RATE,
01858         NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE,
01859 
01860         /* keep last */
01861         __NL80211_BITRATE_ATTR_AFTER_LAST,
01862         NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1
01863 };
01864 
01881 enum nl80211_reg_initiator {
01882         NL80211_REGDOM_SET_BY_CORE,
01883         NL80211_REGDOM_SET_BY_USER,
01884         NL80211_REGDOM_SET_BY_DRIVER,
01885         NL80211_REGDOM_SET_BY_COUNTRY_IE,
01886 };
01887 
01904 enum nl80211_reg_type {
01905         NL80211_REGDOM_TYPE_COUNTRY,
01906         NL80211_REGDOM_TYPE_WORLD,
01907         NL80211_REGDOM_TYPE_CUSTOM_WORLD,
01908         NL80211_REGDOM_TYPE_INTERSECTION,
01909 };
01910 
01934 enum nl80211_reg_rule_attr {
01935         __NL80211_REG_RULE_ATTR_INVALID,
01936         NL80211_ATTR_REG_RULE_FLAGS,
01937 
01938         NL80211_ATTR_FREQ_RANGE_START,
01939         NL80211_ATTR_FREQ_RANGE_END,
01940         NL80211_ATTR_FREQ_RANGE_MAX_BW,
01941 
01942         NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
01943         NL80211_ATTR_POWER_RULE_MAX_EIRP,
01944 
01945         /* keep last */
01946         __NL80211_REG_RULE_ATTR_AFTER_LAST,
01947         NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
01948 };
01949 
01959 enum nl80211_sched_scan_match_attr {
01960         __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID,
01961 
01962         NL80211_ATTR_SCHED_SCAN_MATCH_SSID,
01963 
01964         /* keep last */
01965         __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
01966         NL80211_SCHED_SCAN_MATCH_ATTR_MAX =
01967                 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1
01968 };
01969 
01983 enum nl80211_reg_rule_flags {
01984         NL80211_RRF_NO_OFDM             = 1<<0,
01985         NL80211_RRF_NO_CCK              = 1<<1,
01986         NL80211_RRF_NO_INDOOR           = 1<<2,
01987         NL80211_RRF_NO_OUTDOOR          = 1<<3,
01988         NL80211_RRF_DFS                 = 1<<4,
01989         NL80211_RRF_PTP_ONLY            = 1<<5,
01990         NL80211_RRF_PTMP_ONLY           = 1<<6,
01991         NL80211_RRF_PASSIVE_SCAN        = 1<<7,
01992         NL80211_RRF_NO_IBSS             = 1<<8,
01993 };
01994 
02003 enum nl80211_dfs_regions {
02004         NL80211_DFS_UNSET       = 0,
02005         NL80211_DFS_FCC         = 1,
02006         NL80211_DFS_ETSI        = 2,
02007         NL80211_DFS_JP          = 3,
02008 };
02009 
02034 enum nl80211_survey_info {
02035         __NL80211_SURVEY_INFO_INVALID,
02036         NL80211_SURVEY_INFO_FREQUENCY,
02037         NL80211_SURVEY_INFO_NOISE,
02038         NL80211_SURVEY_INFO_IN_USE,
02039         NL80211_SURVEY_INFO_CHANNEL_TIME,
02040         NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY,
02041         NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY,
02042         NL80211_SURVEY_INFO_CHANNEL_TIME_RX,
02043         NL80211_SURVEY_INFO_CHANNEL_TIME_TX,
02044 
02045         /* keep last */
02046         __NL80211_SURVEY_INFO_AFTER_LAST,
02047         NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1
02048 };
02049 
02067 enum nl80211_mntr_flags {
02068         __NL80211_MNTR_FLAG_INVALID,
02069         NL80211_MNTR_FLAG_FCSFAIL,
02070         NL80211_MNTR_FLAG_PLCPFAIL,
02071         NL80211_MNTR_FLAG_CONTROL,
02072         NL80211_MNTR_FLAG_OTHER_BSS,
02073         NL80211_MNTR_FLAG_COOK_FRAMES,
02074 
02075         /* keep last */
02076         __NL80211_MNTR_FLAG_AFTER_LAST,
02077         NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1
02078 };
02079 
02161 enum nl80211_meshconf_params {
02162         __NL80211_MESHCONF_INVALID,
02163         NL80211_MESHCONF_RETRY_TIMEOUT,
02164         NL80211_MESHCONF_CONFIRM_TIMEOUT,
02165         NL80211_MESHCONF_HOLDING_TIMEOUT,
02166         NL80211_MESHCONF_MAX_PEER_LINKS,
02167         NL80211_MESHCONF_MAX_RETRIES,
02168         NL80211_MESHCONF_TTL,
02169         NL80211_MESHCONF_AUTO_OPEN_PLINKS,
02170         NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
02171         NL80211_MESHCONF_PATH_REFRESH_TIME,
02172         NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
02173         NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
02174         NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
02175         NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
02176         NL80211_MESHCONF_HWMP_ROOTMODE,
02177         NL80211_MESHCONF_ELEMENT_TTL,
02178         NL80211_MESHCONF_HWMP_RANN_INTERVAL,
02179         NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
02180         NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL,
02181         NL80211_MESHCONF_FORWARDING,
02182         NL80211_MESHCONF_RSSI_THRESHOLD,
02183         NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR,
02184 
02185         /* keep last */
02186         __NL80211_MESHCONF_ATTR_AFTER_LAST,
02187         NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
02188 };
02189 
02230 enum nl80211_mesh_setup_params {
02231         __NL80211_MESH_SETUP_INVALID,
02232         NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL,
02233         NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC,
02234         NL80211_MESH_SETUP_IE,
02235         NL80211_MESH_SETUP_USERSPACE_AUTH,
02236         NL80211_MESH_SETUP_USERSPACE_AMPE,
02237         NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC,
02238 
02239         /* keep last */
02240         __NL80211_MESH_SETUP_ATTR_AFTER_LAST,
02241         NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1
02242 };
02243 
02258 enum nl80211_txq_attr {
02259         __NL80211_TXQ_ATTR_INVALID,
02260         NL80211_TXQ_ATTR_AC,
02261         NL80211_TXQ_ATTR_TXOP,
02262         NL80211_TXQ_ATTR_CWMIN,
02263         NL80211_TXQ_ATTR_CWMAX,
02264         NL80211_TXQ_ATTR_AIFS,
02265 
02266         /* keep last */
02267         __NL80211_TXQ_ATTR_AFTER_LAST,
02268         NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
02269 };
02270 
02271 enum nl80211_ac {
02272         NL80211_AC_VO,
02273         NL80211_AC_VI,
02274         NL80211_AC_BE,
02275         NL80211_AC_BK,
02276         NL80211_NUM_ACS
02277 };
02278 
02279 /* backward compat */
02280 #define NL80211_TXQ_ATTR_QUEUE  NL80211_TXQ_ATTR_AC
02281 #define NL80211_TXQ_Q_VO        NL80211_AC_VO
02282 #define NL80211_TXQ_Q_VI        NL80211_AC_VI
02283 #define NL80211_TXQ_Q_BE        NL80211_AC_BE
02284 #define NL80211_TXQ_Q_BK        NL80211_AC_BK
02285 
02286 enum nl80211_channel_type {
02287         NL80211_CHAN_NO_HT,
02288         NL80211_CHAN_HT20,
02289         NL80211_CHAN_HT40MINUS,
02290         NL80211_CHAN_HT40PLUS
02291 };
02292 
02320 enum nl80211_bss {
02321         __NL80211_BSS_INVALID,
02322         NL80211_BSS_BSSID,
02323         NL80211_BSS_FREQUENCY,
02324         NL80211_BSS_TSF,
02325         NL80211_BSS_BEACON_INTERVAL,
02326         NL80211_BSS_CAPABILITY,
02327         NL80211_BSS_INFORMATION_ELEMENTS,
02328         NL80211_BSS_SIGNAL_MBM,
02329         NL80211_BSS_SIGNAL_UNSPEC,
02330         NL80211_BSS_STATUS,
02331         NL80211_BSS_SEEN_MS_AGO,
02332         NL80211_BSS_BEACON_IES,
02333 
02334         /* keep last */
02335         __NL80211_BSS_AFTER_LAST,
02336         NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
02337 };
02338 
02348 enum nl80211_bss_status {
02349         NL80211_BSS_STATUS_AUTHENTICATED,
02350         NL80211_BSS_STATUS_ASSOCIATED,
02351         NL80211_BSS_STATUS_IBSS_JOINED,
02352 };
02353 
02367 enum nl80211_auth_type {
02368         NL80211_AUTHTYPE_OPEN_SYSTEM,
02369         NL80211_AUTHTYPE_SHARED_KEY,
02370         NL80211_AUTHTYPE_FT,
02371         NL80211_AUTHTYPE_NETWORK_EAP,
02372 
02373         /* keep last */
02374         __NL80211_AUTHTYPE_NUM,
02375         NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1,
02376         NL80211_AUTHTYPE_AUTOMATIC
02377 };
02378 
02386 enum nl80211_key_type {
02387         NL80211_KEYTYPE_GROUP,
02388         NL80211_KEYTYPE_PAIRWISE,
02389         NL80211_KEYTYPE_PEERKEY,
02390 
02391         NUM_NL80211_KEYTYPES
02392 };
02393 
02399 enum nl80211_mfp {
02400         NL80211_MFP_NO,
02401         NL80211_MFP_REQUIRED,
02402 };
02403 
02404 enum nl80211_wpa_versions {
02405         NL80211_WPA_VERSION_1 = 1 << 0,
02406         NL80211_WPA_VERSION_2 = 1 << 1,
02407 };
02408 
02418 enum nl80211_key_default_types {
02419         __NL80211_KEY_DEFAULT_TYPE_INVALID,
02420         NL80211_KEY_DEFAULT_TYPE_UNICAST,
02421         NL80211_KEY_DEFAULT_TYPE_MULTICAST,
02422 
02423         NUM_NL80211_KEY_DEFAULT_TYPES
02424 };
02425 
02448 enum nl80211_key_attributes {
02449         __NL80211_KEY_INVALID,
02450         NL80211_KEY_DATA,
02451         NL80211_KEY_IDX,
02452         NL80211_KEY_CIPHER,
02453         NL80211_KEY_SEQ,
02454         NL80211_KEY_DEFAULT,
02455         NL80211_KEY_DEFAULT_MGMT,
02456         NL80211_KEY_TYPE,
02457         NL80211_KEY_DEFAULT_TYPES,
02458 
02459         /* keep last */
02460         __NL80211_KEY_AFTER_LAST,
02461         NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1
02462 };
02463 
02476 enum nl80211_tx_rate_attributes {
02477         __NL80211_TXRATE_INVALID,
02478         NL80211_TXRATE_LEGACY,
02479         NL80211_TXRATE_MCS,
02480 
02481         /* keep last */
02482         __NL80211_TXRATE_AFTER_LAST,
02483         NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1
02484 };
02485 
02491 enum nl80211_band {
02492         NL80211_BAND_2GHZ,
02493         NL80211_BAND_5GHZ,
02494 };
02495 
02496 enum nl80211_ps_state {
02497         NL80211_PS_DISABLED,
02498         NL80211_PS_ENABLED,
02499 };
02500 
02516 enum nl80211_attr_cqm {
02517         __NL80211_ATTR_CQM_INVALID,
02518         NL80211_ATTR_CQM_RSSI_THOLD,
02519         NL80211_ATTR_CQM_RSSI_HYST,
02520         NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
02521         NL80211_ATTR_CQM_PKT_LOSS_EVENT,
02522 
02523         /* keep last */
02524         __NL80211_ATTR_CQM_AFTER_LAST,
02525         NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1
02526 };
02527 
02535 enum nl80211_cqm_rssi_threshold_event {
02536         NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW,
02537         NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH,
02538 };
02539 
02540 
02547 enum nl80211_tx_power_setting {
02548         NL80211_TX_POWER_AUTOMATIC,
02549         NL80211_TX_POWER_LIMITED,
02550         NL80211_TX_POWER_FIXED,
02551 };
02552 
02572 enum nl80211_wowlan_packet_pattern_attr {
02573         __NL80211_WOWLAN_PKTPAT_INVALID,
02574         NL80211_WOWLAN_PKTPAT_MASK,
02575         NL80211_WOWLAN_PKTPAT_PATTERN,
02576 
02577         NUM_NL80211_WOWLAN_PKTPAT,
02578         MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
02579 };
02580 
02592 struct nl80211_wowlan_pattern_support {
02593         __u32 max_patterns;
02594         __u32 min_pattern_len;
02595         __u32 max_pattern_len;
02596 } __attribute__((packed));
02597 
02630 enum nl80211_wowlan_triggers {
02631         __NL80211_WOWLAN_TRIG_INVALID,
02632         NL80211_WOWLAN_TRIG_ANY,
02633         NL80211_WOWLAN_TRIG_DISCONNECT,
02634         NL80211_WOWLAN_TRIG_MAGIC_PKT,
02635         NL80211_WOWLAN_TRIG_PKT_PATTERN,
02636         NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED,
02637         NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE,
02638         NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST,
02639         NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE,
02640         NL80211_WOWLAN_TRIG_RFKILL_RELEASE,
02641 
02642         /* keep last */
02643         NUM_NL80211_WOWLAN_TRIG,
02644         MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
02645 };
02646 
02657 enum nl80211_iface_limit_attrs {
02658         NL80211_IFACE_LIMIT_UNSPEC,
02659         NL80211_IFACE_LIMIT_MAX,
02660         NL80211_IFACE_LIMIT_TYPES,
02661 
02662         /* keep last */
02663         NUM_NL80211_IFACE_LIMIT,
02664         MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1
02665 };
02666 
02709 enum nl80211_if_combination_attrs {
02710         NL80211_IFACE_COMB_UNSPEC,
02711         NL80211_IFACE_COMB_LIMITS,
02712         NL80211_IFACE_COMB_MAXNUM,
02713         NL80211_IFACE_COMB_STA_AP_BI_MATCH,
02714         NL80211_IFACE_COMB_NUM_CHANNELS,
02715 
02716         /* keep last */
02717         NUM_NL80211_IFACE_COMB,
02718         MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1
02719 };
02720 
02721 
02740 enum nl80211_plink_state {
02741         NL80211_PLINK_LISTEN,
02742         NL80211_PLINK_OPN_SNT,
02743         NL80211_PLINK_OPN_RCVD,
02744         NL80211_PLINK_CNF_RCVD,
02745         NL80211_PLINK_ESTAB,
02746         NL80211_PLINK_HOLDING,
02747         NL80211_PLINK_BLOCKED,
02748 
02749         /* keep last */
02750         NUM_NL80211_PLINK_STATES,
02751         MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1
02752 };
02753 
02754 #define NL80211_KCK_LEN                 16
02755 #define NL80211_KEK_LEN                 16
02756 #define NL80211_REPLAY_CTR_LEN          8
02757 
02767 enum nl80211_rekey_data {
02768         __NL80211_REKEY_DATA_INVALID,
02769         NL80211_REKEY_DATA_KEK,
02770         NL80211_REKEY_DATA_KCK,
02771         NL80211_REKEY_DATA_REPLAY_CTR,
02772 
02773         /* keep last */
02774         NUM_NL80211_REKEY_DATA,
02775         MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1
02776 };
02777 
02787 enum nl80211_hidden_ssid {
02788         NL80211_HIDDEN_SSID_NOT_IN_USE,
02789         NL80211_HIDDEN_SSID_ZERO_LEN,
02790         NL80211_HIDDEN_SSID_ZERO_CONTENTS
02791 };
02792 
02803 enum nl80211_sta_wme_attr {
02804         __NL80211_STA_WME_INVALID,
02805         NL80211_STA_WME_UAPSD_QUEUES,
02806         NL80211_STA_WME_MAX_SP,
02807 
02808         /* keep last */
02809         __NL80211_STA_WME_AFTER_LAST,
02810         NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1
02811 };
02812 
02825 enum nl80211_pmksa_candidate_attr {
02826         __NL80211_PMKSA_CANDIDATE_INVALID,
02827         NL80211_PMKSA_CANDIDATE_INDEX,
02828         NL80211_PMKSA_CANDIDATE_BSSID,
02829         NL80211_PMKSA_CANDIDATE_PREAUTH,
02830 
02831         /* keep last */
02832         NUM_NL80211_PMKSA_CANDIDATE,
02833         MAX_NL80211_PMKSA_CANDIDATE = NUM_NL80211_PMKSA_CANDIDATE - 1
02834 };
02835 
02844 enum nl80211_tdls_operation {
02845         NL80211_TDLS_DISCOVERY_REQ,
02846         NL80211_TDLS_SETUP,
02847         NL80211_TDLS_TEARDOWN,
02848         NL80211_TDLS_ENABLE_LINK,
02849         NL80211_TDLS_DISABLE_LINK,
02850 };
02851 
02852 /*
02853  * enum nl80211_ap_sme_features - device-integrated AP features
02854  * Reserved for future use, no bits are defined in
02855  * NL80211_ATTR_DEVICE_AP_SME yet.
02856 enum nl80211_ap_sme_features {
02857 };
02858  */
02859 
02869 enum nl80211_feature_flags {
02870         NL80211_FEATURE_SK_TX_STATUS    = 1 << 0,
02871         NL80211_FEATURE_HT_IBSS         = 1 << 1,
02872         NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
02873 };
02874 
02889 enum nl80211_probe_resp_offload_support_attr {
02890         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS =        1<<0,
02891         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 =       1<<1,
02892         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P =        1<<2,
02893         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U =     1<<3,
02894 };
02895 
02896 #endif /* __LINUX_NL80211_H */
02897 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines