#ifndef LINUX_IEEE80211_P2P_H
#define LINUX_IEEE80211_P2P_H
#include <linux/types.h>
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,
IEEE80211_P2P_ATTR_VENDOR_SPECIFIC = 221,
IEEE80211_P2P_ATTR_MAX
};
#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