72 lines
2.0 KiB
C
72 lines
2.0 KiB
C
/* 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 */
|