Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nl80211.h
Go to the documentation of this file.
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 <[email protected]>
7  * Copyright 2008 Michael Wu <[email protected]>
8  * Copyright 2008 Luis Carlos Cobo <[email protected]>
9  * Copyright 2008 Michael Buesch <[email protected]>
10  * Copyright 2008, 2009 Luis R. Rodriguez <[email protected]>
11  * Copyright 2008 Jouni Malinen <[email protected]>
12  * Copyright 2008 Colin McCabe <[email protected]>
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 
585 /* don't change the order or add anything between, this is ABI! */
587 
588  NL80211_CMD_GET_WIPHY, /* can dump */
592 
597 
602 
609 
614 
619 
621 
624 
627 
628  NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
629 
631 
636 
638 
643 
645 
647 
650 
652 
656 
658 
661 
665 
668 
670 
677 
680 
683 
686 
688 
691 
694 
696 
699 
704 
706 
708 
711 
713 
715 
717 
719 
721 
723 
726 
728 
729  /* add new commands above here */
730 
731  /* used to define NL80211_CMD_MAX below */
734 };
735 
736 /*
737  * Allow user space programs to use #ifdef on new commands by defining them
738  * here
739  */
740 #define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS
741 #define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE
742 #define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE
743 #define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE
744 #define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE
745 #define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE
746 #define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
747 #define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT
748 
749 #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
750 
751 /* source-level API compatibility */
752 #define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG
753 #define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG
754 #define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE
755 
1280 /* don't change the order or add anything between, this is ABI! */
1282 
1285 
1289 
1291 
1297 
1302 
1309 
1311 
1313 
1318 
1322 
1324 
1326 
1329 
1331 
1333 
1337 
1339 
1342 
1344 
1347  NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */
1349 
1352 
1354 
1359 
1361 
1364 
1367 
1369 
1370 
1375 
1377 
1379 
1381 
1383 
1385 
1387 
1390 
1395 
1398 
1400 
1403 
1405 
1407 
1409 
1412 
1414 
1416 
1418 
1420 
1422 
1424 
1426 
1428 
1430 
1432 
1435 
1439 
1442 
1444 
1447 
1449 
1451 
1453 
1455 
1457 
1459 
1462 
1465 
1468 
1470 
1473 
1475 
1478 
1480 
1482 
1485 
1488 
1490 
1493 
1495 
1497 
1503 
1505 
1507 
1509 
1511 
1513 
1515 
1518 
1520 
1522 
1524 
1526 
1528 
1530 
1532 
1533  /* add attributes here, update the policy in nl80211.c */
1534 
1537 };
1538 
1539 /* source-level API compatibility */
1540 #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
1541 #define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
1542 
1543 /*
1544  * Allow user space programs to use #ifdef on new attributes by defining them
1545  * here
1546  */
1547 #define NL80211_CMD_CONNECT NL80211_CMD_CONNECT
1548 #define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
1549 #define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
1550 #define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
1551 #define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ
1552 #define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE
1553 #define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE
1554 #define NL80211_ATTR_IE NL80211_ATTR_IE
1555 #define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR
1556 #define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE
1557 #define NL80211_ATTR_FRAME NL80211_ATTR_FRAME
1558 #define NL80211_ATTR_SSID NL80211_ATTR_SSID
1559 #define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
1560 #define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
1561 #define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE
1562 #define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
1563 #define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
1564 #define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
1565 #define NL80211_ATTR_KEY NL80211_ATTR_KEY
1566 #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
1567 #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
1568 
1569 #define NL80211_MAX_SUPP_RATES 32
1570 #define NL80211_MAX_SUPP_HT_RATES 77
1571 #define NL80211_MAX_SUPP_REG_RULES 32
1572 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
1573 #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
1574 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
1575 #define NL80211_HT_CAPABILITY_LEN 26
1576 
1577 #define NL80211_MAX_NR_CIPHER_SUITES 5
1578 #define NL80211_MAX_NR_AKM_SUITES 2
1579 
1580 #define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
1581 
1582 /* default RSSI threshold for scan results if none specified. */
1583 #define NL80211_SCAN_RSSI_THOLD_OFF -300
1584 
1585 #define NL80211_CQM_TXE_MAX_INTVL 1800
1586 
1625 
1626  /* keep last */
1629 };
1630 
1660 
1661  /* keep last */
1664 };
1665 
1666 #define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER
1667 
1677  __u32 set;
1678 } __attribute__((packed));
1709 
1710  /* keep last */
1713 };
1714 
1739 
1740  /* keep last */
1743 };
1744 
1800 
1801  /* keep last */
1804 };
1805 
1821 };
1822 
1851 
1852  /* keep last */
1855 };
1856 
1879 
1884 
1887 
1888  /* keep last */
1891 };
1892 
1893 #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
1894 
1921 
1922  /* keep last */
1925 };
1926 
1927 #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER
1928 
1943 
1944  /* keep last */
1947 };
1948 
1970 };
1971 
1993 };
1994 
2021 
2025 
2028 
2029  /* keep last */
2032 };
2033 
2047 
2050 
2051  /* keep last */
2055 };
2056 
2057 /* only for backward compatibility */
2058 #define NL80211_ATTR_SCHED_SCAN_MATCH_SSID NL80211_SCHED_SCAN_MATCH_ATTR_SSID
2059 
2083 };
2084 
2098 };
2099 
2118 };
2119 
2154 
2155  /* keep last */
2158 };
2159 
2184 
2185  /* keep last */
2188 };
2189 
2313 
2314  /* keep last */
2317 };
2318 
2369 
2370  /* keep last */
2373 };
2374 
2396 
2397  /* keep last */
2400 };
2401 
2408 };
2409 
2410 /* backward compat */
2411 #define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC
2412 #define NL80211_TXQ_Q_VO NL80211_AC_VO
2413 #define NL80211_TXQ_Q_VI NL80211_AC_VI
2414 #define NL80211_TXQ_Q_BE NL80211_AC_BE
2415 #define NL80211_TXQ_Q_BK NL80211_AC_BK
2416 
2422 };
2423 
2464 
2465  /* keep last */
2468 };
2469 
2483 };
2484 
2503 
2504  /* keep last */
2508 };
2509 
2521 
2523 };
2524 
2533 };
2534 
2538 };
2539 
2553 
2555 };
2556 
2589 
2590  /* keep last */
2593 };
2594 
2611 
2612  /* keep last */
2615 };
2616 
2627 };
2628 
2637 };
2638 
2674 
2675  /* keep last */
2678 };
2679 
2694 };
2695 
2696 
2707 };
2708 
2732 
2735 };
2736 
2751 } __attribute__((packed));
2796 
2797  /* keep last */
2800 };
2801 
2816 
2817  /* keep last */
2820 };
2821 
2870 
2871  /* keep last */
2874 };
2875 
2876 
2903 
2904  /* keep last */
2907 };
2908 
2909 #define NL80211_KCK_LEN 16
2910 #define NL80211_KEK_LEN 16
2911 #define NL80211_REPLAY_CTR_LEN 8
2912 
2927 
2928  /* keep last */
2931 };
2932 
2946 };
2947 
2962 
2963  /* keep last */
2966 };
2967 
2985 
2986  /* keep last */
2989 };
2990 
3005 };
3006 
3007 /*
3008  * enum nl80211_ap_sme_features - device-integrated AP features
3009  * Reserved for future use, no bits are defined in
3010  * NL80211_ATTR_DEVICE_AP_SME yet.
3011 enum nl80211_ap_sme_features {
3012 };
3013  */
3014 
3038 };
3039 
3059 };
3060 
3070 };
3071 
3072 #endif /* __LINUX_NL80211_H */