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, 2007, 2008 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 <mb@bu3sch.de>
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 
00272 enum nl80211_commands {
00273 /* don't change the order or add anything inbetween, this is ABI! */
00274         NL80211_CMD_UNSPEC,
00275 
00276         NL80211_CMD_GET_WIPHY,          /* can dump */
00277         NL80211_CMD_SET_WIPHY,
00278         NL80211_CMD_NEW_WIPHY,
00279         NL80211_CMD_DEL_WIPHY,
00280 
00281         NL80211_CMD_GET_INTERFACE,      /* can dump */
00282         NL80211_CMD_SET_INTERFACE,
00283         NL80211_CMD_NEW_INTERFACE,
00284         NL80211_CMD_DEL_INTERFACE,
00285 
00286         NL80211_CMD_GET_KEY,
00287         NL80211_CMD_SET_KEY,
00288         NL80211_CMD_NEW_KEY,
00289         NL80211_CMD_DEL_KEY,
00290 
00291         NL80211_CMD_GET_BEACON,
00292         NL80211_CMD_SET_BEACON,
00293         NL80211_CMD_NEW_BEACON,
00294         NL80211_CMD_DEL_BEACON,
00295 
00296         NL80211_CMD_GET_STATION,
00297         NL80211_CMD_SET_STATION,
00298         NL80211_CMD_NEW_STATION,
00299         NL80211_CMD_DEL_STATION,
00300 
00301         NL80211_CMD_GET_MPATH,
00302         NL80211_CMD_SET_MPATH,
00303         NL80211_CMD_NEW_MPATH,
00304         NL80211_CMD_DEL_MPATH,
00305 
00306         NL80211_CMD_SET_BSS,
00307 
00308         NL80211_CMD_SET_REG,
00309         NL80211_CMD_REQ_SET_REG,
00310 
00311         NL80211_CMD_GET_MESH_PARAMS,
00312         NL80211_CMD_SET_MESH_PARAMS,
00313 
00314         NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
00315 
00316         NL80211_CMD_GET_REG,
00317 
00318         NL80211_CMD_GET_SCAN,
00319         NL80211_CMD_TRIGGER_SCAN,
00320         NL80211_CMD_NEW_SCAN_RESULTS,
00321         NL80211_CMD_SCAN_ABORTED,
00322 
00323         NL80211_CMD_REG_CHANGE,
00324 
00325         NL80211_CMD_AUTHENTICATE,
00326         NL80211_CMD_ASSOCIATE,
00327         NL80211_CMD_DEAUTHENTICATE,
00328         NL80211_CMD_DISASSOCIATE,
00329 
00330         NL80211_CMD_MICHAEL_MIC_FAILURE,
00331 
00332         NL80211_CMD_REG_BEACON_HINT,
00333 
00334         NL80211_CMD_JOIN_IBSS,
00335         NL80211_CMD_LEAVE_IBSS,
00336 
00337         NL80211_CMD_TESTMODE,
00338 
00339         NL80211_CMD_CONNECT,
00340         NL80211_CMD_ROAM,
00341         NL80211_CMD_DISCONNECT,
00342 
00343         NL80211_CMD_SET_WIPHY_NETNS,
00344 
00345         /* add new commands above here */
00346 
00347         /* used to define NL80211_CMD_MAX below */
00348         __NL80211_CMD_AFTER_LAST,
00349         NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
00350 };
00351 
00352 /*
00353  * Allow user space programs to use #ifdef on new commands by defining them
00354  * here
00355  */
00356 #define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS
00357 #define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE
00358 #define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE
00359 #define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE
00360 #define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE
00361 #define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE
00362 #define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
00363 #define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT
00364 
00591 enum nl80211_attrs {
00592 /* don't change the order or add anything inbetween, this is ABI! */
00593         NL80211_ATTR_UNSPEC,
00594 
00595         NL80211_ATTR_WIPHY,
00596         NL80211_ATTR_WIPHY_NAME,
00597 
00598         NL80211_ATTR_IFINDEX,
00599         NL80211_ATTR_IFNAME,
00600         NL80211_ATTR_IFTYPE,
00601 
00602         NL80211_ATTR_MAC,
00603 
00604         NL80211_ATTR_KEY_DATA,
00605         NL80211_ATTR_KEY_IDX,
00606         NL80211_ATTR_KEY_CIPHER,
00607         NL80211_ATTR_KEY_SEQ,
00608         NL80211_ATTR_KEY_DEFAULT,
00609 
00610         NL80211_ATTR_BEACON_INTERVAL,
00611         NL80211_ATTR_DTIM_PERIOD,
00612         NL80211_ATTR_BEACON_HEAD,
00613         NL80211_ATTR_BEACON_TAIL,
00614 
00615         NL80211_ATTR_STA_AID,
00616         NL80211_ATTR_STA_FLAGS,
00617         NL80211_ATTR_STA_LISTEN_INTERVAL,
00618         NL80211_ATTR_STA_SUPPORTED_RATES,
00619         NL80211_ATTR_STA_VLAN,
00620         NL80211_ATTR_STA_INFO,
00621 
00622         NL80211_ATTR_WIPHY_BANDS,
00623 
00624         NL80211_ATTR_MNTR_FLAGS,
00625 
00626         NL80211_ATTR_MESH_ID,
00627         NL80211_ATTR_STA_PLINK_ACTION,
00628         NL80211_ATTR_MPATH_NEXT_HOP,
00629         NL80211_ATTR_MPATH_INFO,
00630 
00631         NL80211_ATTR_BSS_CTS_PROT,
00632         NL80211_ATTR_BSS_SHORT_PREAMBLE,
00633         NL80211_ATTR_BSS_SHORT_SLOT_TIME,
00634 
00635         NL80211_ATTR_HT_CAPABILITY,
00636 
00637         NL80211_ATTR_SUPPORTED_IFTYPES,
00638 
00639         NL80211_ATTR_REG_ALPHA2,
00640         NL80211_ATTR_REG_RULES,
00641 
00642         NL80211_ATTR_MESH_PARAMS,
00643 
00644         NL80211_ATTR_BSS_BASIC_RATES,
00645 
00646         NL80211_ATTR_WIPHY_TXQ_PARAMS,
00647         NL80211_ATTR_WIPHY_FREQ,
00648         NL80211_ATTR_WIPHY_CHANNEL_TYPE,
00649 
00650         NL80211_ATTR_KEY_DEFAULT_MGMT,
00651 
00652         NL80211_ATTR_MGMT_SUBTYPE,
00653         NL80211_ATTR_IE,
00654 
00655         NL80211_ATTR_MAX_NUM_SCAN_SSIDS,
00656 
00657         NL80211_ATTR_SCAN_FREQUENCIES,
00658         NL80211_ATTR_SCAN_SSIDS,
00659         NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */
00660         NL80211_ATTR_BSS,
00661 
00662         NL80211_ATTR_REG_INITIATOR,
00663         NL80211_ATTR_REG_TYPE,
00664 
00665         NL80211_ATTR_SUPPORTED_COMMANDS,
00666 
00667         NL80211_ATTR_FRAME,
00668         NL80211_ATTR_SSID,
00669         NL80211_ATTR_AUTH_TYPE,
00670         NL80211_ATTR_REASON_CODE,
00671 
00672         NL80211_ATTR_KEY_TYPE,
00673 
00674         NL80211_ATTR_MAX_SCAN_IE_LEN,
00675         NL80211_ATTR_CIPHER_SUITES,
00676 
00677         NL80211_ATTR_FREQ_BEFORE,
00678         NL80211_ATTR_FREQ_AFTER,
00679 
00680         NL80211_ATTR_FREQ_FIXED,
00681 
00682 
00683         NL80211_ATTR_WIPHY_RETRY_SHORT,
00684         NL80211_ATTR_WIPHY_RETRY_LONG,
00685         NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
00686         NL80211_ATTR_WIPHY_RTS_THRESHOLD,
00687 
00688         NL80211_ATTR_TIMED_OUT,
00689 
00690         NL80211_ATTR_USE_MFP,
00691 
00692         NL80211_ATTR_STA_FLAGS2,
00693 
00694         NL80211_ATTR_CONTROL_PORT,
00695 
00696         NL80211_ATTR_TESTDATA,
00697 
00698         NL80211_ATTR_PRIVACY,
00699 
00700         NL80211_ATTR_DISCONNECTED_BY_AP,
00701         NL80211_ATTR_STATUS_CODE,
00702 
00703         NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
00704         NL80211_ATTR_CIPHER_SUITE_GROUP,
00705         NL80211_ATTR_WPA_VERSIONS,
00706         NL80211_ATTR_AKM_SUITES,
00707 
00708         NL80211_ATTR_REQ_IE,
00709         NL80211_ATTR_RESP_IE,
00710 
00711         NL80211_ATTR_PREV_BSSID,
00712 
00713         NL80211_ATTR_KEY,
00714         NL80211_ATTR_KEYS,
00715 
00716         NL80211_ATTR_PID,
00717 
00718         /* add attributes here, update the policy in nl80211.c */
00719 
00720         __NL80211_ATTR_AFTER_LAST,
00721         NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
00722 };
00723 
00724 /* source-level API compatibility */
00725 #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
00726 
00727 /*
00728  * Allow user space programs to use #ifdef on new attributes by defining them
00729  * here
00730  */
00731 #define NL80211_CMD_CONNECT NL80211_CMD_CONNECT
00732 #define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
00733 #define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
00734 #define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
00735 #define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ
00736 #define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE
00737 #define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE
00738 #define NL80211_ATTR_IE NL80211_ATTR_IE
00739 #define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR
00740 #define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE
00741 #define NL80211_ATTR_FRAME NL80211_ATTR_FRAME
00742 #define NL80211_ATTR_SSID NL80211_ATTR_SSID
00743 #define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
00744 #define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
00745 #define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE
00746 #define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
00747 #define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
00748 #define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
00749 #define NL80211_ATTR_KEY NL80211_ATTR_KEY
00750 #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
00751 
00752 #define NL80211_MAX_SUPP_RATES                  32
00753 #define NL80211_MAX_SUPP_REG_RULES              32
00754 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY       0
00755 #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY     16
00756 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY     24
00757 #define NL80211_HT_CAPABILITY_LEN               26
00758 
00759 #define NL80211_MAX_NR_CIPHER_SUITES            5
00760 #define NL80211_MAX_NR_AKM_SUITES               2
00761 
00780 enum nl80211_iftype {
00781         NL80211_IFTYPE_UNSPECIFIED,
00782         NL80211_IFTYPE_ADHOC,
00783         NL80211_IFTYPE_STATION,
00784         NL80211_IFTYPE_AP,
00785         NL80211_IFTYPE_AP_VLAN,
00786         NL80211_IFTYPE_WDS,
00787         NL80211_IFTYPE_MONITOR,
00788         NL80211_IFTYPE_MESH_POINT,
00789 
00790         /* keep last */
00791         __NL80211_IFTYPE_AFTER_LAST,
00792         NL80211_IFTYPE_MAX = __NL80211_IFTYPE_AFTER_LAST - 1
00793 };
00794 
00807 enum nl80211_sta_flags {
00808         __NL80211_STA_FLAG_INVALID,
00809         NL80211_STA_FLAG_AUTHORIZED,
00810         NL80211_STA_FLAG_SHORT_PREAMBLE,
00811         NL80211_STA_FLAG_WME,
00812         NL80211_STA_FLAG_MFP,
00813 
00814         /* keep last */
00815         __NL80211_STA_FLAG_AFTER_LAST,
00816         NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
00817 };
00818 
00827 struct nl80211_sta_flag_update {
00828         __u32 mask;
00829         __u32 set;
00830 } __attribute__((packed));
00831 
00846 enum nl80211_rate_info {
00847         __NL80211_RATE_INFO_INVALID,
00848         NL80211_RATE_INFO_BITRATE,
00849         NL80211_RATE_INFO_MCS,
00850         NL80211_RATE_INFO_40_MHZ_WIDTH,
00851         NL80211_RATE_INFO_SHORT_GI,
00852 
00853         /* keep last */
00854         __NL80211_RATE_INFO_AFTER_LAST,
00855         NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
00856 };
00857 
00877 enum nl80211_sta_info {
00878         __NL80211_STA_INFO_INVALID,
00879         NL80211_STA_INFO_INACTIVE_TIME,
00880         NL80211_STA_INFO_RX_BYTES,
00881         NL80211_STA_INFO_TX_BYTES,
00882         NL80211_STA_INFO_LLID,
00883         NL80211_STA_INFO_PLID,
00884         NL80211_STA_INFO_PLINK_STATE,
00885         NL80211_STA_INFO_SIGNAL,
00886         NL80211_STA_INFO_TX_BITRATE,
00887         NL80211_STA_INFO_RX_PACKETS,
00888         NL80211_STA_INFO_TX_PACKETS,
00889 
00890         /* keep last */
00891         __NL80211_STA_INFO_AFTER_LAST,
00892         NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
00893 };
00894 
00904 enum nl80211_mpath_flags {
00905         NL80211_MPATH_FLAG_ACTIVE =     1<<0,
00906         NL80211_MPATH_FLAG_RESOLVING =  1<<1,
00907         NL80211_MPATH_FLAG_DSN_VALID =  1<<2,
00908         NL80211_MPATH_FLAG_FIXED =      1<<3,
00909         NL80211_MPATH_FLAG_RESOLVED =   1<<4,
00910 };
00911 
00928 enum nl80211_mpath_info {
00929         __NL80211_MPATH_INFO_INVALID,
00930         NL80211_MPATH_INFO_FRAME_QLEN,
00931         NL80211_MPATH_INFO_DSN,
00932         NL80211_MPATH_INFO_METRIC,
00933         NL80211_MPATH_INFO_EXPTIME,
00934         NL80211_MPATH_INFO_FLAGS,
00935         NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
00936         NL80211_MPATH_INFO_DISCOVERY_RETRIES,
00937 
00938         /* keep last */
00939         __NL80211_MPATH_INFO_AFTER_LAST,
00940         NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
00941 };
00942 
00956 enum nl80211_band_attr {
00957         __NL80211_BAND_ATTR_INVALID,
00958         NL80211_BAND_ATTR_FREQS,
00959         NL80211_BAND_ATTR_RATES,
00960 
00961         NL80211_BAND_ATTR_HT_MCS_SET,
00962         NL80211_BAND_ATTR_HT_CAPA,
00963         NL80211_BAND_ATTR_HT_AMPDU_FACTOR,
00964         NL80211_BAND_ATTR_HT_AMPDU_DENSITY,
00965 
00966         /* keep last */
00967         __NL80211_BAND_ATTR_AFTER_LAST,
00968         NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
00969 };
00970 
00971 #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
00972 
00987 enum nl80211_frequency_attr {
00988         __NL80211_FREQUENCY_ATTR_INVALID,
00989         NL80211_FREQUENCY_ATTR_FREQ,
00990         NL80211_FREQUENCY_ATTR_DISABLED,
00991         NL80211_FREQUENCY_ATTR_PASSIVE_SCAN,
00992         NL80211_FREQUENCY_ATTR_NO_IBSS,
00993         NL80211_FREQUENCY_ATTR_RADAR,
00994         NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
00995 
00996         /* keep last */
00997         __NL80211_FREQUENCY_ATTR_AFTER_LAST,
00998         NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
00999 };
01000 
01001 #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER
01002 
01009 enum nl80211_bitrate_attr {
01010         __NL80211_BITRATE_ATTR_INVALID,
01011         NL80211_BITRATE_ATTR_RATE,
01012         NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE,
01013 
01014         /* keep last */
01015         __NL80211_BITRATE_ATTR_AFTER_LAST,
01016         NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1
01017 };
01018 
01031 enum nl80211_reg_initiator {
01032         NL80211_REGDOM_SET_BY_CORE,
01033         NL80211_REGDOM_SET_BY_USER,
01034         NL80211_REGDOM_SET_BY_DRIVER,
01035         NL80211_REGDOM_SET_BY_COUNTRY_IE,
01036 };
01037 
01054 enum nl80211_reg_type {
01055         NL80211_REGDOM_TYPE_COUNTRY,
01056         NL80211_REGDOM_TYPE_WORLD,
01057         NL80211_REGDOM_TYPE_CUSTOM_WORLD,
01058         NL80211_REGDOM_TYPE_INTERSECTION,
01059 };
01060 
01080 enum nl80211_reg_rule_attr {
01081         __NL80211_REG_RULE_ATTR_INVALID,
01082         NL80211_ATTR_REG_RULE_FLAGS,
01083 
01084         NL80211_ATTR_FREQ_RANGE_START,
01085         NL80211_ATTR_FREQ_RANGE_END,
01086         NL80211_ATTR_FREQ_RANGE_MAX_BW,
01087 
01088         NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
01089         NL80211_ATTR_POWER_RULE_MAX_EIRP,
01090 
01091         /* keep last */
01092         __NL80211_REG_RULE_ATTR_AFTER_LAST,
01093         NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
01094 };
01095 
01109 enum nl80211_reg_rule_flags {
01110         NL80211_RRF_NO_OFDM             = 1<<0,
01111         NL80211_RRF_NO_CCK              = 1<<1,
01112         NL80211_RRF_NO_INDOOR           = 1<<2,
01113         NL80211_RRF_NO_OUTDOOR          = 1<<3,
01114         NL80211_RRF_DFS                 = 1<<4,
01115         NL80211_RRF_PTP_ONLY            = 1<<5,
01116         NL80211_RRF_PTMP_ONLY           = 1<<6,
01117         NL80211_RRF_PASSIVE_SCAN        = 1<<7,
01118         NL80211_RRF_NO_IBSS             = 1<<8,
01119 };
01120 
01138 enum nl80211_mntr_flags {
01139         __NL80211_MNTR_FLAG_INVALID,
01140         NL80211_MNTR_FLAG_FCSFAIL,
01141         NL80211_MNTR_FLAG_PLCPFAIL,
01142         NL80211_MNTR_FLAG_CONTROL,
01143         NL80211_MNTR_FLAG_OTHER_BSS,
01144         NL80211_MNTR_FLAG_COOK_FRAMES,
01145 
01146         /* keep last */
01147         __NL80211_MNTR_FLAG_AFTER_LAST,
01148         NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1
01149 };
01150 
01205 enum nl80211_meshconf_params {
01206         __NL80211_MESHCONF_INVALID,
01207         NL80211_MESHCONF_RETRY_TIMEOUT,
01208         NL80211_MESHCONF_CONFIRM_TIMEOUT,
01209         NL80211_MESHCONF_HOLDING_TIMEOUT,
01210         NL80211_MESHCONF_MAX_PEER_LINKS,
01211         NL80211_MESHCONF_MAX_RETRIES,
01212         NL80211_MESHCONF_TTL,
01213         NL80211_MESHCONF_AUTO_OPEN_PLINKS,
01214         NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
01215         NL80211_MESHCONF_PATH_REFRESH_TIME,
01216         NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
01217         NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
01218         NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
01219         NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
01220 
01221         /* keep last */
01222         __NL80211_MESHCONF_ATTR_AFTER_LAST,
01223         NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
01224 };
01225 
01240 enum nl80211_txq_attr {
01241         __NL80211_TXQ_ATTR_INVALID,
01242         NL80211_TXQ_ATTR_QUEUE,
01243         NL80211_TXQ_ATTR_TXOP,
01244         NL80211_TXQ_ATTR_CWMIN,
01245         NL80211_TXQ_ATTR_CWMAX,
01246         NL80211_TXQ_ATTR_AIFS,
01247 
01248         /* keep last */
01249         __NL80211_TXQ_ATTR_AFTER_LAST,
01250         NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
01251 };
01252 
01253 enum nl80211_txq_q {
01254         NL80211_TXQ_Q_VO,
01255         NL80211_TXQ_Q_VI,
01256         NL80211_TXQ_Q_BE,
01257         NL80211_TXQ_Q_BK
01258 };
01259 
01260 enum nl80211_channel_type {
01261         NL80211_CHAN_NO_HT,
01262         NL80211_CHAN_HT20,
01263         NL80211_CHAN_HT40MINUS,
01264         NL80211_CHAN_HT40PLUS
01265 };
01266 
01286 enum nl80211_bss {
01287         __NL80211_BSS_INVALID,
01288         NL80211_BSS_BSSID,
01289         NL80211_BSS_FREQUENCY,
01290         NL80211_BSS_TSF,
01291         NL80211_BSS_BEACON_INTERVAL,
01292         NL80211_BSS_CAPABILITY,
01293         NL80211_BSS_INFORMATION_ELEMENTS,
01294         NL80211_BSS_SIGNAL_MBM,
01295         NL80211_BSS_SIGNAL_UNSPEC,
01296         NL80211_BSS_STATUS,
01297         NL80211_BSS_SEEN_MS_AGO,
01298 
01299         /* keep last */
01300         __NL80211_BSS_AFTER_LAST,
01301         NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
01302 };
01303 
01307 enum nl80211_bss_status {
01308         NL80211_BSS_STATUS_AUTHENTICATED,
01309         NL80211_BSS_STATUS_ASSOCIATED,
01310         NL80211_BSS_STATUS_IBSS_JOINED,
01311 };
01312 
01326 enum nl80211_auth_type {
01327         NL80211_AUTHTYPE_OPEN_SYSTEM,
01328         NL80211_AUTHTYPE_SHARED_KEY,
01329         NL80211_AUTHTYPE_FT,
01330         NL80211_AUTHTYPE_NETWORK_EAP,
01331 
01332         /* keep last */
01333         __NL80211_AUTHTYPE_NUM,
01334         NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1,
01335         NL80211_AUTHTYPE_AUTOMATIC
01336 };
01337 
01344 enum nl80211_key_type {
01345         NL80211_KEYTYPE_GROUP,
01346         NL80211_KEYTYPE_PAIRWISE,
01347         NL80211_KEYTYPE_PEERKEY,
01348 };
01349 
01355 enum nl80211_mfp {
01356         NL80211_MFP_NO,
01357         NL80211_MFP_REQUIRED,
01358 };
01359 
01360 enum nl80211_wpa_versions {
01361         NL80211_WPA_VERSION_1 = 1 << 0,
01362         NL80211_WPA_VERSION_2 = 1 << 1,
01363 };
01364 
01381 enum nl80211_key_attributes {
01382         __NL80211_KEY_INVALID,
01383         NL80211_KEY_DATA,
01384         NL80211_KEY_IDX,
01385         NL80211_KEY_CIPHER,
01386         NL80211_KEY_SEQ,
01387         NL80211_KEY_DEFAULT,
01388         NL80211_KEY_DEFAULT_MGMT,
01389 
01390         /* keep last */
01391         __NL80211_KEY_AFTER_LAST,
01392         NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1
01393 };
01394 
01395 #endif /* __LINUX_NL80211_H */
01396 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on Sat Nov 21 23:16:49 2009 for hostapd by  doxygen 1.6.1