Showing the changes to include/uapi/linux (2 of 263 files). Show all
Unified · Split
| @@ -90,6 +90,8 @@ enum nfc_commands { · 89 unmodified lines | ||
| 90 | 90 | NFC_CMD_LLC_SET_PARAMS, |
| 91 | 91 | NFC_CMD_ENABLE_SE, |
| 92 | 92 | NFC_CMD_DISABLE_SE, |
| 93 | + NFC_CMD_LLC_SDREQ, | |
| 94 | + NFC_EVENT_LLC_SDRES, | |
| 93 | 95 | /* private: internal use only */ |
| 94 | 96 | __NFC_CMD_AFTER_LAST |
| 95 | 97 | }; |
| @@ -140,11 +142,21 @@ enum nfc_attrs { · 44 unmodified lines | ||
| 140 | 142 | NFC_ATTR_LLC_PARAM_RW, |
| 141 | 143 | NFC_ATTR_LLC_PARAM_MIUX, |
| 142 | 144 | NFC_ATTR_SE, |
| 145 | + NFC_ATTR_LLC_SDP, | |
| 143 | 146 | /* private: internal use only */ |
| 144 | 147 | __NFC_ATTR_AFTER_LAST |
| 145 | 148 | }; |
| 146 | 149 | #define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST - 1) |
| 147 | 150 | |
| 151 | +enum nfc_sdp_attr { | |
| 152 | + NFC_SDP_ATTR_UNSPEC, | |
| 153 | + NFC_SDP_ATTR_URI, | |
| 154 | + NFC_SDP_ATTR_SAP, | |
| 155 | +/* private: internal use only */ | |
| 156 | + __NFC_SDP_ATTR_AFTER_LAST | |
| 157 | +}; | |
| 158 | +#define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1) | |
| 159 | + | |
| 148 | 160 | #define NFC_DEVICE_NAME_MAXSIZE 8 |
| 149 | 161 | #define NFC_NFCID1_MAXSIZE 10 |
| 150 | 162 | #define NFC_SENSB_RES_MAXSIZE 12 |
| @@ -220,4 +232,8 @@ struct sockaddr_nfc_llcp { · 69 unmodified lines | ||
| 220 | 232 | #define NFC_LLCP_DIRECTION_RX 0x00 |
| 221 | 233 | #define NFC_LLCP_DIRECTION_TX 0x01 |
| 222 | 234 | |
| 235 | +/* socket option names */ | |
| 236 | +#define NFC_LLCP_RW 0 | |
| 237 | +#define NFC_LLCP_MIUX 1 | |
| 238 | + | |
| 223 | 239 | #endif /*__LINUX_NFC_H */ |
| @@ -36,7 +36,21 @@ · 35 unmodified lines | ||
| 36 | 36 | * The station is still assumed to belong to the AP interface it was added |
| 37 | 37 | * to. |
| 38 | 38 | * |
| 39 | − * TODO: need more info? | |
| 39 | + * Station handling varies per interface type and depending on the driver's | |
| 40 | + * capabilities. | |
| 41 | + * | |
| 42 | + * For drivers supporting TDLS with external setup (WIPHY_FLAG_SUPPORTS_TDLS | |
| 43 | + * and WIPHY_FLAG_TDLS_EXTERNAL_SETUP), the station lifetime is as follows: | |
| 44 | + * - a setup station entry is added, not yet authorized, without any rate | |
| 45 | + * or capability information, this just exists to avoid race conditions | |
| 46 | + * - when the TDLS setup is done, a single NL80211_CMD_SET_STATION is valid | |
| 47 | + * to add rate and capability information to the station and at the same | |
| 48 | + * time mark it authorized. | |
| 49 | + * - %NL80211_TDLS_ENABLE_LINK is then used | |
| 50 | + * - after this, the only valid operation is to remove it by tearing down | |
| 51 | + * the TDLS link (%NL80211_TDLS_DISABLE_LINK) | |
| 52 | + * | |
| 53 | + * TODO: need more info for other interface types | |
| 40 | 54 | */ |
| 41 | 55 | |
| 42 | 56 | /** |
| @@ -499,9 +513,11 @@ · 456 unmodified lines | ||
| 499 | 513 | * @NL80211_CMD_NEW_PEER_CANDIDATE: Notification on the reception of a |
| 500 | 514 | * beacon or probe response from a compatible mesh peer. This is only |
| 501 | 515 | * sent while no station information (sta_info) exists for the new peer |
| 502 | − * candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH is set. On | |
| 503 | − * reception of this notification, userspace may decide to create a new | |
| 504 | − * station (@NL80211_CMD_NEW_STATION). To stop this notification from | |
| 516 | + * candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH, | |
| 517 | + * @NL80211_MESH_SETUP_USERSPACE_AMPE, or | |
| 518 | + * @NL80211_MESH_SETUP_USERSPACE_MPM is set. On reception of this | |
| 519 | + * notification, userspace may decide to create a new station | |
| 520 | + * (@NL80211_CMD_NEW_STATION). To stop this notification from | |
| 505 | 521 | * reoccurring, the userspace authentication daemon may want to create the |
| 506 | 522 | * new station with the AUTHENTICATED flag unset and maybe change it later |
| 507 | 523 | * depending on the authentication result. |
| @@ -611,6 +627,18 @@ · 103 unmodified lines | ||
| 611 | 627 | * %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the |
| 612 | 628 | * event. |
| 613 | 629 | * |
| 630 | + * @NL80211_CMD_GET_PROTOCOL_FEATURES: Get global nl80211 protocol features, | |
| 631 | + * i.e. features for the nl80211 protocol rather than device features. | |
| 632 | + * Returns the features in the %NL80211_ATTR_PROTOCOL_FEATURES bitmap. | |
| 633 | + * | |
| 634 | + * @NL80211_CMD_UPDATE_FT_IES: Pass down the most up-to-date Fast Transition | |
| 635 | + * Information Element to the WLAN driver | |
| 636 | + * | |
| 637 | + * @NL80211_CMD_FT_EVENT: Send a Fast transition event from the WLAN driver | |
| 638 | + * to the supplicant. This will carry the target AP's MAC address along | |
| 639 | + * with the relevant Information Elements. This event is used to report | |
| 640 | + * received FT IEs (MDIE, FTIE, RSN IE, TIE, RICIE). | |
| 641 | + * | |
| 614 | 642 | * @NL80211_CMD_MAX: highest used command number |
| 615 | 643 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 616 | 644 | */ |
| @@ -765,6 +793,11 @@ enum nl80211_commands { · 148 unmodified lines | ||
| 765 | 793 | |
| 766 | 794 | NL80211_CMD_RADAR_DETECT, |
| 767 | 795 | |
| 796 | + NL80211_CMD_GET_PROTOCOL_FEATURES, | |
| 797 | + | |
| 798 | + NL80211_CMD_UPDATE_FT_IES, | |
| 799 | + NL80211_CMD_FT_EVENT, | |
| 800 | + | |
| 768 | 801 | /* add new commands above here */ |
| 769 | 802 | |
| 770 | 803 | /* used to define NL80211_CMD_MAX below */ |
| @@ -884,7 +917,8 @@ enum nl80211_commands { · 113 unmodified lines | ||
| 884 | 917 | * consisting of a nested array. |
| 885 | 918 | * |
| 886 | 919 | * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes). |
| 887 | − * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link. | |
| 920 | + * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link | |
| 921 | + * (see &enum nl80211_plink_action). | |
| 888 | 922 | * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path. |
| 889 | 923 | * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path |
| 890 | 924 | * info given for %NL80211_CMD_GET_MPATH, nested attribute described at |
| @@ -1167,10 +1201,10 @@ enum nl80211_commands { · 276 unmodified lines | ||
| 1167 | 1201 | * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver |
| 1168 | 1202 | * allows auth frames in a mesh to be passed to userspace for processing via |
| 1169 | 1203 | * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag. |
| 1170 | − * @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link as | |
| 1171 | − * defined in &enum nl80211_plink_state. Used when userspace is | |
| 1172 | − * driving the peer link management state machine. | |
| 1173 | − * @NL80211_MESH_SETUP_USERSPACE_AMPE must be enabled. | |
| 1204 | + * @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link as defined in | |
| 1205 | + * &enum nl80211_plink_state. Used when userspace is driving the peer link | |
| 1206 | + * management state machine. @NL80211_MESH_SETUP_USERSPACE_AMPE or | |
| 1207 | + * @NL80211_MESH_SETUP_USERSPACE_MPM must be enabled. | |
| 1174 | 1208 | * |
| 1175 | 1209 | * @NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED: indicates, as part of the wiphy |
| 1176 | 1210 | * capabilities, the supported WoWLAN triggers |
| @@ -1368,6 +1402,18 @@ enum nl80211_commands { · 191 unmodified lines | ||
| 1368 | 1402 | * advertised to the driver, e.g., to enable TDLS off channel operations |
| 1369 | 1403 | * and PU-APSD. |
| 1370 | 1404 | * |
| 1405 | + * @NL80211_ATTR_PROTOCOL_FEATURES: global nl80211 feature flags, see | |
| 1406 | + * &enum nl80211_protocol_features, the attribute is a u32. | |
| 1407 | + * | |
| 1408 | + * @NL80211_ATTR_SPLIT_WIPHY_DUMP: flag attribute, userspace supports | |
| 1409 | + * receiving the data for a single wiphy split across multiple | |
| 1410 | + * messages, given with wiphy dump message | |
| 1411 | + * | |
| 1412 | + * @NL80211_ATTR_MDID: Mobility Domain Identifier | |
| 1413 | + * | |
| 1414 | + * @NL80211_ATTR_IE_RIC: Resource Information Container Information | |
| 1415 | + * Element | |
| 1416 | + * | |
| 1371 | 1417 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1372 | 1418 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1373 | 1419 | */ |
| @@ -1654,6 +1700,15 @@ enum nl80211_attrs { · 280 unmodified lines | ||
| 1654 | 1700 | NL80211_ATTR_STA_CAPABILITY, |
| 1655 | 1701 | NL80211_ATTR_STA_EXT_CAPABILITY, |
| 1656 | 1702 | |
| 1703 | + NL80211_ATTR_PROTOCOL_FEATURES, | |
| 1704 | + NL80211_ATTR_SPLIT_WIPHY_DUMP, | |
| 1705 | + | |
| 1706 | + NL80211_ATTR_DISABLE_VHT, | |
| 1707 | + NL80211_ATTR_VHT_CAPABILITY_MASK, | |
| 1708 | + | |
| 1709 | + NL80211_ATTR_MDID, | |
| 1710 | + NL80211_ATTR_IE_RIC, | |
| 1711 | + | |
| 1657 | 1712 | /* add attributes here, update the policy in nl80211.c */ |
| 1658 | 1713 | |
| 1659 | 1714 | __NL80211_ATTR_AFTER_LAST, |
| @@ -2412,8 +2467,10 @@ enum nl80211_mesh_power_mode { · 752 unmodified lines | ||
| 2412 | 2467 | * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh |
| 2413 | 2468 | * point. |
| 2414 | 2469 | * |
| 2415 | − * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically | |
| 2416 | − * open peer links when we detect compatible mesh peers. | |
| 2470 | + * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically open | |
| 2471 | + * peer links when we detect compatible mesh peers. Disabled if | |
| 2472 | + * @NL80211_MESH_SETUP_USERSPACE_MPM or @NL80211_MESH_SETUP_USERSPACE_AMPE are | |
| 2473 | + * set. | |
| 2417 | 2474 | * |
| 2418 | 2475 | * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames |
| 2419 | 2476 | * containing a PREQ that an MP can send to a particular destination (path |
| @@ -2559,6 +2616,9 @@ enum nl80211_meshconf_params { · 139 unmodified lines | ||
| 2559 | 2616 | * vendor specific synchronization method or disable it to use the default |
| 2560 | 2617 | * neighbor offset synchronization |
| 2561 | 2618 | * |
| 2619 | + * @NL80211_MESH_SETUP_USERSPACE_MPM: Enable this option if userspace will | |
| 2620 | + * implement an MPM which handles peer allocation and state. | |
| 2621 | + * | |
| 2562 | 2622 | * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number |
| 2563 | 2623 | * |
| 2564 | 2624 | * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use |
| @@ -2571,6 +2631,7 @@ enum nl80211_mesh_setup_params { · 6 unmodified lines | ||
| 2571 | 2631 | NL80211_MESH_SETUP_USERSPACE_AUTH, |
| 2572 | 2632 | NL80211_MESH_SETUP_USERSPACE_AMPE, |
| 2573 | 2633 | NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC, |
| 2634 | + NL80211_MESH_SETUP_USERSPACE_MPM, | |
| 2574 | 2635 | |
| 2575 | 2636 | /* keep last */ |
| 2576 | 2637 | __NL80211_MESH_SETUP_ATTR_AFTER_LAST, |
| @@ -3307,6 +3368,23 @@ enum nl80211_plink_state { · 730 unmodified lines | ||
| 3307 | 3368 | MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1 |
| 3308 | 3369 | }; |
| 3309 | 3370 | |
| 3371 | +/** | |
| 3372 | + * enum nl80211_plink_action - actions to perform in mesh peers | |
| 3373 | + * | |
| 3374 | + * @NL80211_PLINK_ACTION_NO_ACTION: perform no action | |
| 3375 | + * @NL80211_PLINK_ACTION_OPEN: start mesh peer link establishment | |
| 3376 | + * @NL80211_PLINK_ACTION_BLOCK: block traffic from this mesh peer | |
| 3377 | + * @NUM_NL80211_PLINK_ACTIONS: number of possible actions | |
| 3378 | + */ | |
| 3379 | +enum plink_actions { | |
| 3380 | + NL80211_PLINK_ACTION_NO_ACTION, | |
| 3381 | + NL80211_PLINK_ACTION_OPEN, | |
| 3382 | + NL80211_PLINK_ACTION_BLOCK, | |
| 3383 | + | |
| 3384 | + NUM_NL80211_PLINK_ACTIONS, | |
| 3385 | +}; | |
| 3386 | + | |
| 3387 | + | |
| 3310 | 3388 | #define NL80211_KCK_LEN 16 |
| 3311 | 3389 | #define NL80211_KEK_LEN 16 |
| 3312 | 3390 | #define NL80211_REPLAY_CTR_LEN 8 |
| @@ -3456,6 +3534,10 @@ enum nl80211_ap_sme_features { · 143 unmodified lines | ||
| 3456 | 3534 | * stations the authenticated/associated bits have to be set in the mask. |
| 3457 | 3535 | * @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits |
| 3458 | 3536 | * (HT40, VHT 80/160 MHz) if this flag is set |
| 3537 | + * @NL80211_FEATURE_USERSPACE_MPM: This driver supports a userspace Mesh | |
| 3538 | + * Peering Management entity which may be implemented by registering for | |
| 3539 | + * beacons or NL80211_CMD_NEW_PEER_CANDIDATE events. The mesh beacon is | |
| 3540 | + * still generated by the driver. | |
| 3459 | 3541 | */ |
| 3460 | 3542 | enum nl80211_feature_flags { |
| 3461 | 3543 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, |
| @@ -3474,6 +3556,7 @@ enum nl80211_feature_flags { · 12 unmodified lines | ||
| 3474 | 3556 | /* bit 13 is reserved */ |
| 3475 | 3557 | NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14, |
| 3476 | 3558 | NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15, |
| 3559 | + NL80211_FEATURE_USERSPACE_MPM = 1 << 16, | |
| 3477 | 3560 | }; |
| 3478 | 3561 | |
| 3479 | 3562 | /** |
| @@ -3587,4 +3670,16 @@ enum nl80211_dfs_state { · 107 unmodified lines | ||
| 3587 | 3670 | NL80211_DFS_AVAILABLE, |
| 3588 | 3671 | }; |
| 3589 | 3672 | |
| 3673 | +/** | |
| 3674 | + * enum enum nl80211_protocol_features - nl80211 protocol features | |
| 3675 | + * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting | |
| 3676 | + * wiphy dumps (if requested by the application with the attribute | |
| 3677 | + * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the | |
| 3678 | + * wiphy dump by %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFINDEX or | |
| 3679 | + * %NL80211_ATTR_WDEV. | |
| 3680 | + */ | |
| 3681 | +enum nl80211_protocol_features { | |
| 3682 | + NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 1 << 0, | |
| 3683 | +}; | |
| 3684 | + | |
| 3590 | 3685 | #endif /* __LINUX_NL80211_H */ |