wifi: ieee80211: split P2P definitions out

The ieee80211.h file has gotten very long, continue splitting
it by putting P2P definitions into a separate file. Note that
P2P isn't really even IEEE 802.11 but WFA.

Link: https://patch.msgid.link/20251105153843.e47b2614e9d2.Id242f61da720e365f6b5d7a4a545fbbc2f1e92b4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
pull/1354/merge
Johannes Berg 2025-11-05 15:36:55 +01:00
parent 00105d7600
commit fcd42b909b
2 changed files with 72 additions and 52 deletions

View File

@ -0,0 +1,71 @@
/* 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 */

View File

@ -1333,58 +1333,6 @@ struct ieee80211_tdls_data {
} u; } u;
} __packed; } __packed;
/*
* 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
/* Authentication algorithms */ /* Authentication algorithms */
#define WLAN_AUTH_OPEN 0 #define WLAN_AUTH_OPEN 0
#define WLAN_AUTH_SHARED_KEY 1 #define WLAN_AUTH_SHARED_KEY 1
@ -2878,6 +2826,7 @@ struct ieee80211_tbtt_info_ge_11 {
#include "ieee80211-eht.h" #include "ieee80211-eht.h"
#include "ieee80211-mesh.h" #include "ieee80211-mesh.h"
#include "ieee80211-s1g.h" #include "ieee80211-s1g.h"
#include "ieee80211-p2p.h"
/** /**
* ieee80211_check_tim - check if AID bit is set in TIM * ieee80211_check_tim - check if AID bit is set in TIM