| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * WFA P2P definitions | |
| * | |
| * Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen | |
| * <jkmaline@cc.hut.fi> | |
| * Copyright (c) 2002-2003, Jouni Malinen <jkmaline@cc.hut.fi> | |
| * Copyright (c) 2005, Devicescape Software, Inc. | |
| * Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net> | |
| * Copyright (c) 2013 - 2014 Intel Mobile Communications GmbH | |
| * Copyright (c) 2016 - 2017 Intel Deutschland GmbH | |
| * Copyright (c) 2018 - 2025 Intel Corporation | |
| */ | |
| #ifndef LINUX_IEEE80211_P2P_H | |
| #define LINUX_IEEE80211_P2P_H | |
| #include <linux/types.h> | |
| /* | |
| * Peer-to-Peer IE attribute related definitions. | |
| */ | |
| /* | |
| * enum ieee80211_p2p_attr_id - identifies type of peer-to-peer attribute. | |
| */ | |
| enum ieee80211_p2p_attr_id { | |
| IEEE80211_P2P_ATTR_STATUS = 0, | |
| IEEE80211_P2P_ATTR_MINOR_REASON, | |
| IEEE80211_P2P_ATTR_CAPABILITY, | |
| IEEE80211_P2P_ATTR_DEVICE_ID, | |
| IEEE80211_P2P_ATTR_GO_INTENT, | |
| IEEE80211_P2P_ATTR_GO_CONFIG_TIMEOUT, | |
| IEEE80211_P2P_ATTR_LISTEN_CHANNEL, | |
| IEEE80211_P2P_ATTR_GROUP_BSSID, | |
| IEEE80211_P2P_ATTR_EXT_LISTEN_TIMING, | |
| IEEE80211_P2P_ATTR_INTENDED_IFACE_ADDR, | |
| IEEE80211_P2P_ATTR_MANAGABILITY, | |
| IEEE80211_P2P_ATTR_CHANNEL_LIST, | |
| IEEE80211_P2P_ATTR_ABSENCE_NOTICE, | |
| IEEE80211_P2P_ATTR_DEVICE_INFO, | |
| IEEE80211_P2P_ATTR_GROUP_INFO, | |
| IEEE80211_P2P_ATTR_GROUP_ID, | |
| IEEE80211_P2P_ATTR_INTERFACE, | |
| IEEE80211_P2P_ATTR_OPER_CHANNEL, | |
| IEEE80211_P2P_ATTR_INVITE_FLAGS, | |
| /* 19 - 220: Reserved */ | |
| IEEE80211_P2P_ATTR_VENDOR_SPECIFIC = 221, | |
| IEEE80211_P2P_ATTR_MAX | |
| }; | |
| /* Notice of Absence attribute - described in P2P spec 4.1.14 */ | |
| /* Typical max value used here */ | |
| #define IEEE80211_P2P_NOA_DESC_MAX 4 | |
| struct ieee80211_p2p_noa_desc { | |
| u8 count; | |
| __le32 duration; | |
| __le32 interval; | |
| __le32 start_time; | |
| } __packed; | |
| struct ieee80211_p2p_noa_attr { | |
| u8 index; | |
| u8 oppps_ctwindow; | |
| struct ieee80211_p2p_noa_desc desc[IEEE80211_P2P_NOA_DESC_MAX]; | |
| } __packed; | |
| #define IEEE80211_P2P_OPPPS_ENABLE_BIT BIT(7) | |
| #define IEEE80211_P2P_OPPPS_CTWINDOW_MASK 0x7F | |
| #endif /* LINUX_IEEE80211_P2P_H */ |