hostapd
fst_defs.h
1 /*
2  * FST module - FST related definitions
3  * Copyright (c) 2014, Qualcomm Atheros, Inc.
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef IEEE_80211_FST_DEFS_H
10 #define IEEE_80211_FST_DEFS_H
11 
12 /* IEEE Std 802.11ad */
13 
14 #define MB_STA_CHANNEL_ALL 0
15 
16 enum session_type {
17  SESSION_TYPE_BSS = 0, /* Infrastructure BSS */
18  SESSION_TYPE_IBSS = 1,
19  SESSION_TYPE_DLS = 2,
20  SESSION_TYPE_TDLS = 3,
21  SESSION_TYPE_PBSS = 4
22 };
23 
24 #define SESSION_CONTROL(session_type, switch_intent) \
25  (((u8) ((session_type) & 0x7)) | ((switch_intent) ? 0x10 : 0x00))
26 
27 #define GET_SESSION_CONTROL_TYPE(session_control) \
28  ((u8) ((session_control) & 0x7))
29 
30 #define GET_SESSION_CONTROL_SWITCH_INTENT(session_control) \
31  (((session_control) & 0x10) >> 4)
32 
33 /* 8.4.2.147 Session Transition element */
35  u8 element_id;
36  u8 length;
37  le32 fsts_id;
38  u8 session_control;
39  u8 new_band_id;
40  u8 new_band_setup;
41  u8 new_band_op;
42  u8 old_band_id;
43  u8 old_band_setup;
44  u8 old_band_op;
45 } STRUCT_PACKED;
46 
47 struct fst_setup_req {
48  u8 action;
49  u8 dialog_token;
50  le32 llt;
51  struct session_transition_ie stie;
52  /* Multi-band (optional) */
53  /* Wakeup Schedule (optional) */
54  /* Awake Window (optional) */
55  /* Switching Stream (optional) */
56 } STRUCT_PACKED;
57 
58 struct fst_setup_res {
59  u8 action;
60  u8 dialog_token;
61  u8 status_code;
62  struct session_transition_ie stie;
63  /* Multi-band (optional) */
64  /* Wakeup Schedule (optional) */
65  /* Awake Window (optional) */
66  /* Switching Stream (optional) */
67  /* Timeout Interval (optional) */
68 } STRUCT_PACKED;
69 
70 struct fst_ack_req {
71  u8 action;
72  u8 dialog_token;
73  le32 fsts_id;
74 } STRUCT_PACKED;
75 
76 struct fst_ack_res {
77  u8 action;
78  u8 dialog_token;
79  le32 fsts_id;
80 } STRUCT_PACKED;
81 
82 struct fst_tear_down {
83  u8 action;
84  le32 fsts_id;
85 } STRUCT_PACKED;
86 
87 #endif /* IEEE_80211_FST_DEFS_H */
Definition: fst_defs.h:76
Definition: fst_defs.h:82
Definition: fst_defs.h:58
Definition: fst_defs.h:34
Definition: fst_defs.h:70
Definition: fst_defs.h:47