]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: ieee80211: split P2P definitions out
authorJohannes Berg <johannes.berg@intel.com>
Wed, 5 Nov 2025 14:36:55 +0000 (15:36 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 10 Nov 2025 09:38:15 +0000 (10:38 +0100)
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>
include/linux/ieee80211-p2p.h [new file with mode: 0644]
include/linux/ieee80211.h

diff --git a/include/linux/ieee80211-p2p.h b/include/linux/ieee80211-p2p.h
new file mode 100644 (file)
index 0000000..180891c
--- /dev/null
@@ -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 */
index 1b27bbac145babf3deb578708f46d940fd3a5466..fa0f7f917ce7df945484358bfc4e04e08ecdd882 100644 (file)
@@ -1333,58 +1333,6 @@ struct ieee80211_tdls_data {
        } u;
 } __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 */
 #define WLAN_AUTH_OPEN 0
 #define WLAN_AUTH_SHARED_KEY 1
@@ -2878,6 +2826,7 @@ struct ieee80211_tbtt_info_ge_11 {
 #include "ieee80211-eht.h"
 #include "ieee80211-mesh.h"
 #include "ieee80211-s1g.h"
+#include "ieee80211-p2p.h"
 
 /**
  * ieee80211_check_tim - check if AID bit is set in TIM