mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-29 10:48:22 -05:00
88 lines
1.8 KiB
C
88 lines
1.8 KiB
C
|
/*
|
||
|
* FST module - FST related definitions
|
||
|
* Copyright (c) 2014, Qualcomm Atheros, Inc.
|
||
|
*
|
||
|
* This software may be distributed under the terms of the BSD license.
|
||
|
* See README for more details.
|
||
|
*/
|
||
|
|
||
|
#ifndef IEEE_80211_FST_DEFS_H
|
||
|
#define IEEE_80211_FST_DEFS_H
|
||
|
|
||
|
/* IEEE Std 802.11ad */
|
||
|
|
||
|
#define MB_STA_CHANNEL_ALL 0
|
||
|
|
||
|
enum session_type {
|
||
|
SESSION_TYPE_BSS = 0, /* Infrastructure BSS */
|
||
|
SESSION_TYPE_IBSS = 1,
|
||
|
SESSION_TYPE_DLS = 2,
|
||
|
SESSION_TYPE_TDLS = 3,
|
||
|
SESSION_TYPE_PBSS = 4
|
||
|
};
|
||
|
|
||
|
#define SESSION_CONTROL(session_type, switch_intent) \
|
||
|
(((u8) ((session_type) & 0x7)) | ((switch_intent) ? 0x10 : 0x00))
|
||
|
|
||
|
#define GET_SESSION_CONTROL_TYPE(session_control) \
|
||
|
((u8) ((session_control) & 0x7))
|
||
|
|
||
|
#define GET_SESSION_CONTROL_SWITCH_INTENT(session_control) \
|
||
|
(((session_control) & 0x10) >> 4)
|
||
|
|
||
|
/* 8.4.2.147 Session Transition element */
|
||
|
struct session_transition_ie {
|
||
|
u8 element_id;
|
||
|
u8 length;
|
||
|
u32 fsts_id;
|
||
|
u8 session_control;
|
||
|
u8 new_band_id;
|
||
|
u8 new_band_setup;
|
||
|
u8 new_band_op;
|
||
|
u8 old_band_id;
|
||
|
u8 old_band_setup;
|
||
|
u8 old_band_op;
|
||
|
} STRUCT_PACKED;
|
||
|
|
||
|
struct fst_setup_req {
|
||
|
u8 action;
|
||
|
u8 dialog_token;
|
||
|
u32 llt;
|
||
|
struct session_transition_ie stie;
|
||
|
/* Multi-band (optional) */
|
||
|
/* Wakeup Schedule (optional) */
|
||
|
/* Awake Window (optional) */
|
||
|
/* Switching Stream (optional) */
|
||
|
} STRUCT_PACKED;
|
||
|
|
||
|
struct fst_setup_res {
|
||
|
u8 action;
|
||
|
u8 dialog_token;
|
||
|
u8 status_code;
|
||
|
struct session_transition_ie stie;
|
||
|
/* Multi-band (optional) */
|
||
|
/* Wakeup Schedule (optional) */
|
||
|
/* Awake Window (optional) */
|
||
|
/* Switching Stream (optional) */
|
||
|
/* Timeout Interval (optional) */
|
||
|
} STRUCT_PACKED;
|
||
|
|
||
|
struct fst_ack_req {
|
||
|
u8 action;
|
||
|
u8 dialog_token;
|
||
|
u32 fsts_id;
|
||
|
} STRUCT_PACKED;
|
||
|
|
||
|
struct fst_ack_res {
|
||
|
u8 action;
|
||
|
u8 dialog_token;
|
||
|
u32 fsts_id;
|
||
|
} STRUCT_PACKED;
|
||
|
|
||
|
struct fst_tear_down {
|
||
|
u8 action;
|
||
|
u32 fsts_id;
|
||
|
} STRUCT_PACKED;
|
||
|
|
||
|
#endif /* IEEE_80211_FST_DEFS_H */
|