$search
00001 #ifndef __LINUX_NL80211_H 00002 #define __LINUX_NL80211_H 00003 /* 00004 * 802.11 netlink interface public header 00005 * 00006 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> 00007 * Copyright 2008 Michael Wu <flamingice@sourmilk.net> 00008 * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com> 00009 * Copyright 2008 Michael Buesch <mb@bu3sch.de> 00010 * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com> 00011 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> 00012 * Copyright 2008 Colin McCabe <colin@cozybit.com> 00013 * 00014 * Permission to use, copy, modify, and/or distribute this software for any 00015 * purpose with or without fee is hereby granted, provided that the above 00016 * copyright notice and this permission notice appear in all copies. 00017 * 00018 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 00019 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 00020 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 00021 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 00022 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00023 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 00024 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00025 * 00026 */ 00027 00028 #include <linux/types.h> 00029 00336 enum nl80211_commands { 00337 /* don't change the order or add anything inbetween, this is ABI! */ 00338 NL80211_CMD_UNSPEC, 00339 00340 NL80211_CMD_GET_WIPHY, /* can dump */ 00341 NL80211_CMD_SET_WIPHY, 00342 NL80211_CMD_NEW_WIPHY, 00343 NL80211_CMD_DEL_WIPHY, 00344 00345 NL80211_CMD_GET_INTERFACE, /* can dump */ 00346 NL80211_CMD_SET_INTERFACE, 00347 NL80211_CMD_NEW_INTERFACE, 00348 NL80211_CMD_DEL_INTERFACE, 00349 00350 NL80211_CMD_GET_KEY, 00351 NL80211_CMD_SET_KEY, 00352 NL80211_CMD_NEW_KEY, 00353 NL80211_CMD_DEL_KEY, 00354 00355 NL80211_CMD_GET_BEACON, 00356 NL80211_CMD_SET_BEACON, 00357 NL80211_CMD_NEW_BEACON, 00358 NL80211_CMD_DEL_BEACON, 00359 00360 NL80211_CMD_GET_STATION, 00361 NL80211_CMD_SET_STATION, 00362 NL80211_CMD_NEW_STATION, 00363 NL80211_CMD_DEL_STATION, 00364 00365 NL80211_CMD_GET_MPATH, 00366 NL80211_CMD_SET_MPATH, 00367 NL80211_CMD_NEW_MPATH, 00368 NL80211_CMD_DEL_MPATH, 00369 00370 NL80211_CMD_SET_BSS, 00371 00372 NL80211_CMD_SET_REG, 00373 NL80211_CMD_REQ_SET_REG, 00374 00375 NL80211_CMD_GET_MESH_PARAMS, 00376 NL80211_CMD_SET_MESH_PARAMS, 00377 00378 NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */, 00379 00380 NL80211_CMD_GET_REG, 00381 00382 NL80211_CMD_GET_SCAN, 00383 NL80211_CMD_TRIGGER_SCAN, 00384 NL80211_CMD_NEW_SCAN_RESULTS, 00385 NL80211_CMD_SCAN_ABORTED, 00386 00387 NL80211_CMD_REG_CHANGE, 00388 00389 NL80211_CMD_AUTHENTICATE, 00390 NL80211_CMD_ASSOCIATE, 00391 NL80211_CMD_DEAUTHENTICATE, 00392 NL80211_CMD_DISASSOCIATE, 00393 00394 NL80211_CMD_MICHAEL_MIC_FAILURE, 00395 00396 NL80211_CMD_REG_BEACON_HINT, 00397 00398 NL80211_CMD_JOIN_IBSS, 00399 NL80211_CMD_LEAVE_IBSS, 00400 00401 NL80211_CMD_TESTMODE, 00402 00403 NL80211_CMD_CONNECT, 00404 NL80211_CMD_ROAM, 00405 NL80211_CMD_DISCONNECT, 00406 00407 NL80211_CMD_SET_WIPHY_NETNS, 00408 00409 NL80211_CMD_GET_SURVEY, 00410 NL80211_CMD_NEW_SURVEY_RESULTS, 00411 00412 NL80211_CMD_SET_PMKSA, 00413 NL80211_CMD_DEL_PMKSA, 00414 NL80211_CMD_FLUSH_PMKSA, 00415 00416 NL80211_CMD_REMAIN_ON_CHANNEL, 00417 NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, 00418 00419 NL80211_CMD_SET_TX_BITRATE_MASK, 00420 00421 NL80211_CMD_REGISTER_ACTION, 00422 NL80211_CMD_ACTION, 00423 NL80211_CMD_ACTION_TX_STATUS, 00424 00425 NL80211_CMD_SET_POWER_SAVE, 00426 NL80211_CMD_GET_POWER_SAVE, 00427 00428 NL80211_CMD_SET_CQM, 00429 NL80211_CMD_NOTIFY_CQM, 00430 00431 /* add new commands above here */ 00432 00433 /* used to define NL80211_CMD_MAX below */ 00434 __NL80211_CMD_AFTER_LAST, 00435 NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 00436 }; 00437 00438 /* 00439 * Allow user space programs to use #ifdef on new commands by defining them 00440 * here 00441 */ 00442 #define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS 00443 #define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE 00444 #define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE 00445 #define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE 00446 #define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE 00447 #define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE 00448 #define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE 00449 #define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT 00450 00715 enum nl80211_attrs { 00716 /* don't change the order or add anything inbetween, this is ABI! */ 00717 NL80211_ATTR_UNSPEC, 00718 00719 NL80211_ATTR_WIPHY, 00720 NL80211_ATTR_WIPHY_NAME, 00721 00722 NL80211_ATTR_IFINDEX, 00723 NL80211_ATTR_IFNAME, 00724 NL80211_ATTR_IFTYPE, 00725 00726 NL80211_ATTR_MAC, 00727 00728 NL80211_ATTR_KEY_DATA, 00729 NL80211_ATTR_KEY_IDX, 00730 NL80211_ATTR_KEY_CIPHER, 00731 NL80211_ATTR_KEY_SEQ, 00732 NL80211_ATTR_KEY_DEFAULT, 00733 00734 NL80211_ATTR_BEACON_INTERVAL, 00735 NL80211_ATTR_DTIM_PERIOD, 00736 NL80211_ATTR_BEACON_HEAD, 00737 NL80211_ATTR_BEACON_TAIL, 00738 00739 NL80211_ATTR_STA_AID, 00740 NL80211_ATTR_STA_FLAGS, 00741 NL80211_ATTR_STA_LISTEN_INTERVAL, 00742 NL80211_ATTR_STA_SUPPORTED_RATES, 00743 NL80211_ATTR_STA_VLAN, 00744 NL80211_ATTR_STA_INFO, 00745 00746 NL80211_ATTR_WIPHY_BANDS, 00747 00748 NL80211_ATTR_MNTR_FLAGS, 00749 00750 NL80211_ATTR_MESH_ID, 00751 NL80211_ATTR_STA_PLINK_ACTION, 00752 NL80211_ATTR_MPATH_NEXT_HOP, 00753 NL80211_ATTR_MPATH_INFO, 00754 00755 NL80211_ATTR_BSS_CTS_PROT, 00756 NL80211_ATTR_BSS_SHORT_PREAMBLE, 00757 NL80211_ATTR_BSS_SHORT_SLOT_TIME, 00758 00759 NL80211_ATTR_HT_CAPABILITY, 00760 00761 NL80211_ATTR_SUPPORTED_IFTYPES, 00762 00763 NL80211_ATTR_REG_ALPHA2, 00764 NL80211_ATTR_REG_RULES, 00765 00766 NL80211_ATTR_MESH_PARAMS, 00767 00768 NL80211_ATTR_BSS_BASIC_RATES, 00769 00770 NL80211_ATTR_WIPHY_TXQ_PARAMS, 00771 NL80211_ATTR_WIPHY_FREQ, 00772 NL80211_ATTR_WIPHY_CHANNEL_TYPE, 00773 00774 NL80211_ATTR_KEY_DEFAULT_MGMT, 00775 00776 NL80211_ATTR_MGMT_SUBTYPE, 00777 NL80211_ATTR_IE, 00778 00779 NL80211_ATTR_MAX_NUM_SCAN_SSIDS, 00780 00781 NL80211_ATTR_SCAN_FREQUENCIES, 00782 NL80211_ATTR_SCAN_SSIDS, 00783 NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */ 00784 NL80211_ATTR_BSS, 00785 00786 NL80211_ATTR_REG_INITIATOR, 00787 NL80211_ATTR_REG_TYPE, 00788 00789 NL80211_ATTR_SUPPORTED_COMMANDS, 00790 00791 NL80211_ATTR_FRAME, 00792 NL80211_ATTR_SSID, 00793 NL80211_ATTR_AUTH_TYPE, 00794 NL80211_ATTR_REASON_CODE, 00795 00796 NL80211_ATTR_KEY_TYPE, 00797 00798 NL80211_ATTR_MAX_SCAN_IE_LEN, 00799 NL80211_ATTR_CIPHER_SUITES, 00800 00801 NL80211_ATTR_FREQ_BEFORE, 00802 NL80211_ATTR_FREQ_AFTER, 00803 00804 NL80211_ATTR_FREQ_FIXED, 00805 00806 00807 NL80211_ATTR_WIPHY_RETRY_SHORT, 00808 NL80211_ATTR_WIPHY_RETRY_LONG, 00809 NL80211_ATTR_WIPHY_FRAG_THRESHOLD, 00810 NL80211_ATTR_WIPHY_RTS_THRESHOLD, 00811 00812 NL80211_ATTR_TIMED_OUT, 00813 00814 NL80211_ATTR_USE_MFP, 00815 00816 NL80211_ATTR_STA_FLAGS2, 00817 00818 NL80211_ATTR_CONTROL_PORT, 00819 00820 NL80211_ATTR_TESTDATA, 00821 00822 NL80211_ATTR_PRIVACY, 00823 00824 NL80211_ATTR_DISCONNECTED_BY_AP, 00825 NL80211_ATTR_STATUS_CODE, 00826 00827 NL80211_ATTR_CIPHER_SUITES_PAIRWISE, 00828 NL80211_ATTR_CIPHER_SUITE_GROUP, 00829 NL80211_ATTR_WPA_VERSIONS, 00830 NL80211_ATTR_AKM_SUITES, 00831 00832 NL80211_ATTR_REQ_IE, 00833 NL80211_ATTR_RESP_IE, 00834 00835 NL80211_ATTR_PREV_BSSID, 00836 00837 NL80211_ATTR_KEY, 00838 NL80211_ATTR_KEYS, 00839 00840 NL80211_ATTR_PID, 00841 00842 NL80211_ATTR_4ADDR, 00843 00844 NL80211_ATTR_SURVEY_INFO, 00845 00846 NL80211_ATTR_PMKID, 00847 NL80211_ATTR_MAX_NUM_PMKIDS, 00848 00849 NL80211_ATTR_DURATION, 00850 00851 NL80211_ATTR_COOKIE, 00852 00853 NL80211_ATTR_WIPHY_COVERAGE_CLASS, 00854 00855 NL80211_ATTR_TX_RATES, 00856 00857 NL80211_ATTR_FRAME_MATCH, 00858 00859 NL80211_ATTR_ACK, 00860 00861 NL80211_ATTR_PS_STATE, 00862 00863 NL80211_ATTR_CQM, 00864 00865 NL80211_ATTR_LOCAL_STATE_CHANGE, 00866 00867 /* add attributes here, update the policy in nl80211.c */ 00868 00869 __NL80211_ATTR_AFTER_LAST, 00870 NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 00871 }; 00872 00873 /* source-level API compatibility */ 00874 #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION 00875 00876 /* 00877 * Allow user space programs to use #ifdef on new attributes by defining them 00878 * here 00879 */ 00880 #define NL80211_CMD_CONNECT NL80211_CMD_CONNECT 00881 #define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY 00882 #define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES 00883 #define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS 00884 #define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ 00885 #define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE 00886 #define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE 00887 #define NL80211_ATTR_IE NL80211_ATTR_IE 00888 #define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR 00889 #define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE 00890 #define NL80211_ATTR_FRAME NL80211_ATTR_FRAME 00891 #define NL80211_ATTR_SSID NL80211_ATTR_SSID 00892 #define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE 00893 #define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE 00894 #define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE 00895 #define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP 00896 #define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS 00897 #define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES 00898 #define NL80211_ATTR_KEY NL80211_ATTR_KEY 00899 #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS 00900 00901 #define NL80211_MAX_SUPP_RATES 32 00902 #define NL80211_MAX_SUPP_REG_RULES 32 00903 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 00904 #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 00905 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 00906 #define NL80211_HT_CAPABILITY_LEN 26 00907 00908 #define NL80211_MAX_NR_CIPHER_SUITES 5 00909 #define NL80211_MAX_NR_AKM_SUITES 2 00910 00929 enum nl80211_iftype { 00930 NL80211_IFTYPE_UNSPECIFIED, 00931 NL80211_IFTYPE_ADHOC, 00932 NL80211_IFTYPE_STATION, 00933 NL80211_IFTYPE_AP, 00934 NL80211_IFTYPE_AP_VLAN, 00935 NL80211_IFTYPE_WDS, 00936 NL80211_IFTYPE_MONITOR, 00937 NL80211_IFTYPE_MESH_POINT, 00938 00939 /* keep last */ 00940 __NL80211_IFTYPE_AFTER_LAST, 00941 NL80211_IFTYPE_MAX = __NL80211_IFTYPE_AFTER_LAST - 1 00942 }; 00943 00956 enum nl80211_sta_flags { 00957 __NL80211_STA_FLAG_INVALID, 00958 NL80211_STA_FLAG_AUTHORIZED, 00959 NL80211_STA_FLAG_SHORT_PREAMBLE, 00960 NL80211_STA_FLAG_WME, 00961 NL80211_STA_FLAG_MFP, 00962 00963 /* keep last */ 00964 __NL80211_STA_FLAG_AFTER_LAST, 00965 NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1 00966 }; 00967 00975 struct nl80211_sta_flag_update { 00976 __u32 mask; 00977 __u32 set; 00978 } __attribute__((packed)); 00979 00994 enum nl80211_rate_info { 00995 __NL80211_RATE_INFO_INVALID, 00996 NL80211_RATE_INFO_BITRATE, 00997 NL80211_RATE_INFO_MCS, 00998 NL80211_RATE_INFO_40_MHZ_WIDTH, 00999 NL80211_RATE_INFO_SHORT_GI, 01000 01001 /* keep last */ 01002 __NL80211_RATE_INFO_AFTER_LAST, 01003 NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1 01004 }; 01005 01025 enum nl80211_sta_info { 01026 __NL80211_STA_INFO_INVALID, 01027 NL80211_STA_INFO_INACTIVE_TIME, 01028 NL80211_STA_INFO_RX_BYTES, 01029 NL80211_STA_INFO_TX_BYTES, 01030 NL80211_STA_INFO_LLID, 01031 NL80211_STA_INFO_PLID, 01032 NL80211_STA_INFO_PLINK_STATE, 01033 NL80211_STA_INFO_SIGNAL, 01034 NL80211_STA_INFO_TX_BITRATE, 01035 NL80211_STA_INFO_RX_PACKETS, 01036 NL80211_STA_INFO_TX_PACKETS, 01037 01038 /* keep last */ 01039 __NL80211_STA_INFO_AFTER_LAST, 01040 NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1 01041 }; 01042 01052 enum nl80211_mpath_flags { 01053 NL80211_MPATH_FLAG_ACTIVE = 1<<0, 01054 NL80211_MPATH_FLAG_RESOLVING = 1<<1, 01055 NL80211_MPATH_FLAG_SN_VALID = 1<<2, 01056 NL80211_MPATH_FLAG_FIXED = 1<<3, 01057 NL80211_MPATH_FLAG_RESOLVED = 1<<4, 01058 }; 01059 01076 enum nl80211_mpath_info { 01077 __NL80211_MPATH_INFO_INVALID, 01078 NL80211_MPATH_INFO_FRAME_QLEN, 01079 NL80211_MPATH_INFO_SN, 01080 NL80211_MPATH_INFO_METRIC, 01081 NL80211_MPATH_INFO_EXPTIME, 01082 NL80211_MPATH_INFO_FLAGS, 01083 NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, 01084 NL80211_MPATH_INFO_DISCOVERY_RETRIES, 01085 01086 /* keep last */ 01087 __NL80211_MPATH_INFO_AFTER_LAST, 01088 NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1 01089 }; 01090 01104 enum nl80211_band_attr { 01105 __NL80211_BAND_ATTR_INVALID, 01106 NL80211_BAND_ATTR_FREQS, 01107 NL80211_BAND_ATTR_RATES, 01108 01109 NL80211_BAND_ATTR_HT_MCS_SET, 01110 NL80211_BAND_ATTR_HT_CAPA, 01111 NL80211_BAND_ATTR_HT_AMPDU_FACTOR, 01112 NL80211_BAND_ATTR_HT_AMPDU_DENSITY, 01113 01114 /* keep last */ 01115 __NL80211_BAND_ATTR_AFTER_LAST, 01116 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 01117 }; 01118 01119 #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA 01120 01135 enum nl80211_frequency_attr { 01136 __NL80211_FREQUENCY_ATTR_INVALID, 01137 NL80211_FREQUENCY_ATTR_FREQ, 01138 NL80211_FREQUENCY_ATTR_DISABLED, 01139 NL80211_FREQUENCY_ATTR_PASSIVE_SCAN, 01140 NL80211_FREQUENCY_ATTR_NO_IBSS, 01141 NL80211_FREQUENCY_ATTR_RADAR, 01142 NL80211_FREQUENCY_ATTR_MAX_TX_POWER, 01143 01144 /* keep last */ 01145 __NL80211_FREQUENCY_ATTR_AFTER_LAST, 01146 NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1 01147 }; 01148 01149 #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER 01150 01157 enum nl80211_bitrate_attr { 01158 __NL80211_BITRATE_ATTR_INVALID, 01159 NL80211_BITRATE_ATTR_RATE, 01160 NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE, 01161 01162 /* keep last */ 01163 __NL80211_BITRATE_ATTR_AFTER_LAST, 01164 NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1 01165 }; 01166 01179 enum nl80211_reg_initiator { 01180 NL80211_REGDOM_SET_BY_CORE, 01181 NL80211_REGDOM_SET_BY_USER, 01182 NL80211_REGDOM_SET_BY_DRIVER, 01183 NL80211_REGDOM_SET_BY_COUNTRY_IE, 01184 }; 01185 01202 enum nl80211_reg_type { 01203 NL80211_REGDOM_TYPE_COUNTRY, 01204 NL80211_REGDOM_TYPE_WORLD, 01205 NL80211_REGDOM_TYPE_CUSTOM_WORLD, 01206 NL80211_REGDOM_TYPE_INTERSECTION, 01207 }; 01208 01228 enum nl80211_reg_rule_attr { 01229 __NL80211_REG_RULE_ATTR_INVALID, 01230 NL80211_ATTR_REG_RULE_FLAGS, 01231 01232 NL80211_ATTR_FREQ_RANGE_START, 01233 NL80211_ATTR_FREQ_RANGE_END, 01234 NL80211_ATTR_FREQ_RANGE_MAX_BW, 01235 01236 NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN, 01237 NL80211_ATTR_POWER_RULE_MAX_EIRP, 01238 01239 /* keep last */ 01240 __NL80211_REG_RULE_ATTR_AFTER_LAST, 01241 NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 01242 }; 01243 01257 enum nl80211_reg_rule_flags { 01258 NL80211_RRF_NO_OFDM = 1<<0, 01259 NL80211_RRF_NO_CCK = 1<<1, 01260 NL80211_RRF_NO_INDOOR = 1<<2, 01261 NL80211_RRF_NO_OUTDOOR = 1<<3, 01262 NL80211_RRF_DFS = 1<<4, 01263 NL80211_RRF_PTP_ONLY = 1<<5, 01264 NL80211_RRF_PTMP_ONLY = 1<<6, 01265 NL80211_RRF_PASSIVE_SCAN = 1<<7, 01266 NL80211_RRF_NO_IBSS = 1<<8, 01267 }; 01268 01279 enum nl80211_survey_info { 01280 __NL80211_SURVEY_INFO_INVALID, 01281 NL80211_SURVEY_INFO_FREQUENCY, 01282 NL80211_SURVEY_INFO_NOISE, 01283 01284 /* keep last */ 01285 __NL80211_SURVEY_INFO_AFTER_LAST, 01286 NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1 01287 }; 01288 01306 enum nl80211_mntr_flags { 01307 __NL80211_MNTR_FLAG_INVALID, 01308 NL80211_MNTR_FLAG_FCSFAIL, 01309 NL80211_MNTR_FLAG_PLCPFAIL, 01310 NL80211_MNTR_FLAG_CONTROL, 01311 NL80211_MNTR_FLAG_OTHER_BSS, 01312 NL80211_MNTR_FLAG_COOK_FRAMES, 01313 01314 /* keep last */ 01315 __NL80211_MNTR_FLAG_AFTER_LAST, 01316 NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1 01317 }; 01318 01375 enum nl80211_meshconf_params { 01376 __NL80211_MESHCONF_INVALID, 01377 NL80211_MESHCONF_RETRY_TIMEOUT, 01378 NL80211_MESHCONF_CONFIRM_TIMEOUT, 01379 NL80211_MESHCONF_HOLDING_TIMEOUT, 01380 NL80211_MESHCONF_MAX_PEER_LINKS, 01381 NL80211_MESHCONF_MAX_RETRIES, 01382 NL80211_MESHCONF_TTL, 01383 NL80211_MESHCONF_AUTO_OPEN_PLINKS, 01384 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES, 01385 NL80211_MESHCONF_PATH_REFRESH_TIME, 01386 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT, 01387 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT, 01388 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL, 01389 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, 01390 NL80211_MESHCONF_HWMP_ROOTMODE, 01391 01392 /* keep last */ 01393 __NL80211_MESHCONF_ATTR_AFTER_LAST, 01394 NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1 01395 }; 01396 01411 enum nl80211_txq_attr { 01412 __NL80211_TXQ_ATTR_INVALID, 01413 NL80211_TXQ_ATTR_QUEUE, 01414 NL80211_TXQ_ATTR_TXOP, 01415 NL80211_TXQ_ATTR_CWMIN, 01416 NL80211_TXQ_ATTR_CWMAX, 01417 NL80211_TXQ_ATTR_AIFS, 01418 01419 /* keep last */ 01420 __NL80211_TXQ_ATTR_AFTER_LAST, 01421 NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1 01422 }; 01423 01424 enum nl80211_txq_q { 01425 NL80211_TXQ_Q_VO, 01426 NL80211_TXQ_Q_VI, 01427 NL80211_TXQ_Q_BE, 01428 NL80211_TXQ_Q_BK 01429 }; 01430 01431 enum nl80211_channel_type { 01432 NL80211_CHAN_NO_HT, 01433 NL80211_CHAN_HT20, 01434 NL80211_CHAN_HT40MINUS, 01435 NL80211_CHAN_HT40PLUS 01436 }; 01437 01464 enum nl80211_bss { 01465 __NL80211_BSS_INVALID, 01466 NL80211_BSS_BSSID, 01467 NL80211_BSS_FREQUENCY, 01468 NL80211_BSS_TSF, 01469 NL80211_BSS_BEACON_INTERVAL, 01470 NL80211_BSS_CAPABILITY, 01471 NL80211_BSS_INFORMATION_ELEMENTS, 01472 NL80211_BSS_SIGNAL_MBM, 01473 NL80211_BSS_SIGNAL_UNSPEC, 01474 NL80211_BSS_STATUS, 01475 NL80211_BSS_SEEN_MS_AGO, 01476 NL80211_BSS_BEACON_IES, 01477 01478 /* keep last */ 01479 __NL80211_BSS_AFTER_LAST, 01480 NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1 01481 }; 01482 01486 enum nl80211_bss_status { 01487 NL80211_BSS_STATUS_AUTHENTICATED, 01488 NL80211_BSS_STATUS_ASSOCIATED, 01489 NL80211_BSS_STATUS_IBSS_JOINED, 01490 }; 01491 01505 enum nl80211_auth_type { 01506 NL80211_AUTHTYPE_OPEN_SYSTEM, 01507 NL80211_AUTHTYPE_SHARED_KEY, 01508 NL80211_AUTHTYPE_FT, 01509 NL80211_AUTHTYPE_NETWORK_EAP, 01510 01511 /* keep last */ 01512 __NL80211_AUTHTYPE_NUM, 01513 NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1, 01514 NL80211_AUTHTYPE_AUTOMATIC 01515 }; 01516 01523 enum nl80211_key_type { 01524 NL80211_KEYTYPE_GROUP, 01525 NL80211_KEYTYPE_PAIRWISE, 01526 NL80211_KEYTYPE_PEERKEY, 01527 }; 01528 01534 enum nl80211_mfp { 01535 NL80211_MFP_NO, 01536 NL80211_MFP_REQUIRED, 01537 }; 01538 01539 enum nl80211_wpa_versions { 01540 NL80211_WPA_VERSION_1 = 1 << 0, 01541 NL80211_WPA_VERSION_2 = 1 << 1, 01542 }; 01543 01560 enum nl80211_key_attributes { 01561 __NL80211_KEY_INVALID, 01562 NL80211_KEY_DATA, 01563 NL80211_KEY_IDX, 01564 NL80211_KEY_CIPHER, 01565 NL80211_KEY_SEQ, 01566 NL80211_KEY_DEFAULT, 01567 NL80211_KEY_DEFAULT_MGMT, 01568 01569 /* keep last */ 01570 __NL80211_KEY_AFTER_LAST, 01571 NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1 01572 }; 01573 01584 enum nl80211_tx_rate_attributes { 01585 __NL80211_TXRATE_INVALID, 01586 NL80211_TXRATE_LEGACY, 01587 01588 /* keep last */ 01589 __NL80211_TXRATE_AFTER_LAST, 01590 NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 01591 }; 01592 01598 enum nl80211_band { 01599 NL80211_BAND_2GHZ, 01600 NL80211_BAND_5GHZ, 01601 }; 01602 01603 enum nl80211_ps_state { 01604 NL80211_PS_DISABLED, 01605 NL80211_PS_ENABLED, 01606 }; 01607 01621 enum nl80211_attr_cqm { 01622 __NL80211_ATTR_CQM_INVALID, 01623 NL80211_ATTR_CQM_RSSI_THOLD, 01624 NL80211_ATTR_CQM_RSSI_HYST, 01625 NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, 01626 01627 /* keep last */ 01628 __NL80211_ATTR_CQM_AFTER_LAST, 01629 NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 01630 }; 01631 01639 enum nl80211_cqm_rssi_threshold_event { 01640 NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, 01641 NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, 01642 }; 01643 01644 #endif /* __LINUX_NL80211_H */