at master 71 lines 2.0 kB view raw
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * WFA P2P definitions 4 * 5 * Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen 6 * <jkmaline@cc.hut.fi> 7 * Copyright (c) 2002-2003, Jouni Malinen <jkmaline@cc.hut.fi> 8 * Copyright (c) 2005, Devicescape Software, Inc. 9 * Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net> 10 * Copyright (c) 2013 - 2014 Intel Mobile Communications GmbH 11 * Copyright (c) 2016 - 2017 Intel Deutschland GmbH 12 * Copyright (c) 2018 - 2025 Intel Corporation 13 */ 14 15#ifndef LINUX_IEEE80211_P2P_H 16#define LINUX_IEEE80211_P2P_H 17 18#include <linux/types.h> 19/* 20 * Peer-to-Peer IE attribute related definitions. 21 */ 22/* 23 * enum ieee80211_p2p_attr_id - identifies type of peer-to-peer attribute. 24 */ 25enum ieee80211_p2p_attr_id { 26 IEEE80211_P2P_ATTR_STATUS = 0, 27 IEEE80211_P2P_ATTR_MINOR_REASON, 28 IEEE80211_P2P_ATTR_CAPABILITY, 29 IEEE80211_P2P_ATTR_DEVICE_ID, 30 IEEE80211_P2P_ATTR_GO_INTENT, 31 IEEE80211_P2P_ATTR_GO_CONFIG_TIMEOUT, 32 IEEE80211_P2P_ATTR_LISTEN_CHANNEL, 33 IEEE80211_P2P_ATTR_GROUP_BSSID, 34 IEEE80211_P2P_ATTR_EXT_LISTEN_TIMING, 35 IEEE80211_P2P_ATTR_INTENDED_IFACE_ADDR, 36 IEEE80211_P2P_ATTR_MANAGABILITY, 37 IEEE80211_P2P_ATTR_CHANNEL_LIST, 38 IEEE80211_P2P_ATTR_ABSENCE_NOTICE, 39 IEEE80211_P2P_ATTR_DEVICE_INFO, 40 IEEE80211_P2P_ATTR_GROUP_INFO, 41 IEEE80211_P2P_ATTR_GROUP_ID, 42 IEEE80211_P2P_ATTR_INTERFACE, 43 IEEE80211_P2P_ATTR_OPER_CHANNEL, 44 IEEE80211_P2P_ATTR_INVITE_FLAGS, 45 /* 19 - 220: Reserved */ 46 IEEE80211_P2P_ATTR_VENDOR_SPECIFIC = 221, 47 48 IEEE80211_P2P_ATTR_MAX 49}; 50 51/* Notice of Absence attribute - described in P2P spec 4.1.14 */ 52/* Typical max value used here */ 53#define IEEE80211_P2P_NOA_DESC_MAX 4 54 55struct ieee80211_p2p_noa_desc { 56 u8 count; 57 __le32 duration; 58 __le32 interval; 59 __le32 start_time; 60} __packed; 61 62struct ieee80211_p2p_noa_attr { 63 u8 index; 64 u8 oppps_ctwindow; 65 struct ieee80211_p2p_noa_desc desc[IEEE80211_P2P_NOA_DESC_MAX]; 66} __packed; 67 68#define IEEE80211_P2P_OPPPS_ENABLE_BIT BIT(7) 69#define IEEE80211_P2P_OPPPS_CTWINDOW_MASK 0x7F 70 71#endif /* LINUX_IEEE80211_P2P_H */