[APR-2053]wlbt: NAN R2 integration fxes
[GitHub/MotorolaMobilityLLC/hardware-samsung_slsi-scsc_wifibt-wifi_hal.git] / nan_common.h
CommitLineData
c2afddcb
JPS
1#ifndef NAN_COMMON_H_
2#define NAN_COMMON_H_
3#define SLSI_WIFI_HAL_NAN_VERSION 1
4
5#define CHECK_WIFI_STATUS_RETURN_FAIL(result, LOGSTR) \
6 if (result != WIFI_SUCCESS) {\
7 ALOGE(LOGSTR" [result:%d]", result);\
8 return result;\
9 }
10
11#define CHECK_CONFIG_PUT_8_RETURN_FAIL(config, val, nan_attribute, request, result, FAIL_STR) \
12 if (config) {\
13 result = request.put_u8(nan_attribute, val); \
14 if (result != WIFI_SUCCESS) {\
15 ALOGE(FAIL_STR" [result:%d]", result);\
16 return result;\
17 }\
18 }
19
20#define CHECK_CONFIG_PUT_16_RETURN_FAIL(config, val, nan_attribute, request, result, FAIL_STR) \
21 if (config) {\
22 result = request.put_u16(nan_attribute, val); \
23 if (result != WIFI_SUCCESS) {\
24 ALOGE(FAIL_STR" [result:%d]", result);\
25 return result;\
26 }\
27 }
28
29
30#define CHECK_CONFIG_PUT_32_RETURN_FAIL(config, val, nan_attribute, request, result, FAIL_STR) \
31 if (config) {\
32 result = request.put_u32(nan_attribute, val); \
33 if (result != WIFI_SUCCESS) {\
34 ALOGE(FAIL_STR" [result:%d]", result);\
35 return result;\
36 }\
37 }
38
39#define CHECK_CONFIG_PUT_RETURN_FAIL(config, valptr, len, nan_attribute, request, result, FAIL_STR) \
40 if (config) {\
41 result = request.put(nan_attribute, valptr, len); \
42 if (result != WIFI_SUCCESS) {\
43 ALOGE(FAIL_STR" [result:%d]", result);\
44 return result;\
45 }\
46 }
47
48typedef enum {
49 NAN_REQ_ATTR_MASTER_PREF,
50 NAN_REQ_ATTR_CLUSTER_LOW,
51 NAN_REQ_ATTR_CLUSTER_HIGH,
52 NAN_REQ_ATTR_HOP_COUNT_LIMIT_VAL,
53 NAN_REQ_ATTR_SID_BEACON_VAL,
54
55 NAN_REQ_ATTR_SUPPORT_2G4_VAL,
56 NAN_REQ_ATTR_SUPPORT_5G_VAL,
57
58 NAN_REQ_ATTR_RSSI_CLOSE_2G4_VAL,
59 NAN_REQ_ATTR_RSSI_MIDDLE_2G4_VAL,
60 NAN_REQ_ATTR_RSSI_PROXIMITY_2G4_VAL,
61 NAN_REQ_ATTR_BEACONS_2G4_VAL,
62 NAN_REQ_ATTR_SDF_2G4_VAL,
63 NAN_REQ_ATTR_CHANNEL_2G4_MHZ_VAL,
64 NAN_REQ_ATTR_RSSI_PROXIMITY_VAL,
65
66
67 NAN_REQ_ATTR_RSSI_CLOSE_5G_VAL,
68 NAN_REQ_ATTR_RSSI_CLOSE_PROXIMITY_5G_VAL,
69 NAN_REQ_ATTR_RSSI_MIDDLE_5G_VAL,
70 NAN_REQ_ATTR_RSSI_PROXIMITY_5G_VAL,
71 NAN_REQ_ATTR_BEACON_5G_VAL,
72 NAN_REQ_ATTR_SDF_5G_VAL,
73 NAN_REQ_ATTR_CHANNEL_5G_MHZ_VAL,
74
75 NAN_REQ_ATTR_RSSI_WINDOW_SIZE_VAL,
76 NAN_REQ_ATTR_OUI_VAL,
77 NAN_REQ_ATTR_MAC_ADDR_VAL,
78 NAN_REQ_ATTR_CLUSTER_VAL,
79 NAN_REQ_ATTR_SOCIAL_CH_SCAN_DWELL_TIME,
80 NAN_REQ_ATTR_SOCIAL_CH_SCAN_PERIOD,
81 NAN_REQ_ATTR_RANDOM_FACTOR_FORCE_VAL,
82 NAN_REQ_ATTR_HOP_COUNT_FORCE_VAL,
83 NAN_REQ_ATTR_CONN_CAPABILITY_PAYLOAD_TX,
84 NAN_REQ_ATTR_CONN_CAPABILITY_IBSS,
85 NAN_REQ_ATTR_CONN_CAPABILITY_WFD,
86 NAN_REQ_ATTR_CONN_CAPABILITY_WFDS,
87 NAN_REQ_ATTR_CONN_CAPABILITY_TDLS,
88 NAN_REQ_ATTR_CONN_CAPABILITY_MESH,
89 NAN_REQ_ATTR_CONN_CAPABILITY_WLAN_INFRA,
90 NAN_REQ_ATTR_DISCOVERY_ATTR_NUM_ENTRIES,
91 NAN_REQ_ATTR_DISCOVERY_ATTR_VAL,
92 NAN_REQ_ATTR_CONN_TYPE,
93 NAN_REQ_ATTR_NAN_ROLE,
94 NAN_REQ_ATTR_TRANSMIT_FREQ,
95 NAN_REQ_ATTR_AVAILABILITY_DURATION,
96 NAN_REQ_ATTR_AVAILABILITY_INTERVAL,
97 NAN_REQ_ATTR_MESH_ID_LEN,
98 NAN_REQ_ATTR_MESH_ID,
99 NAN_REQ_ATTR_INFRASTRUCTURE_SSID_LEN,
100 NAN_REQ_ATTR_INFRASTRUCTURE_SSID,
101 NAN_REQ_ATTR_FURTHER_AVAIL_NUM_ENTRIES,
102 NAN_REQ_ATTR_FURTHER_AVAIL_VAL,
103 NAN_REQ_ATTR_FURTHER_AVAIL_ENTRY_CTRL,
104 NAN_REQ_ATTR_FURTHER_AVAIL_CHAN_CLASS,
105 NAN_REQ_ATTR_FURTHER_AVAIL_CHAN,
106 NAN_REQ_ATTR_FURTHER_AVAIL_CHAN_MAPID,
107 NAN_REQ_ATTR_FURTHER_AVAIL_INTERVAL_BITMAP,
108 NAN_REQ_ATTR_PUBLISH_ID,
109 NAN_REQ_ATTR_PUBLISH_TTL,
110 NAN_REQ_ATTR_PUBLISH_PERIOD,
111 NAN_REQ_ATTR_PUBLISH_TYPE,
112 NAN_REQ_ATTR_PUBLISH_TX_TYPE,
113 NAN_REQ_ATTR_PUBLISH_COUNT,
114 NAN_REQ_ATTR_PUBLISH_SERVICE_NAME_LEN,
115 NAN_REQ_ATTR_PUBLISH_SERVICE_NAME,
116 NAN_REQ_ATTR_PUBLISH_MATCH_ALGO,
117 NAN_REQ_ATTR_PUBLISH_SERVICE_INFO_LEN,
118 NAN_REQ_ATTR_PUBLISH_SERVICE_INFO,
119 NAN_REQ_ATTR_PUBLISH_RX_MATCH_FILTER_LEN,
120 NAN_REQ_ATTR_PUBLISH_RX_MATCH_FILTER,
121 NAN_REQ_ATTR_PUBLISH_TX_MATCH_FILTER_LEN,
122 NAN_REQ_ATTR_PUBLISH_TX_MATCH_FILTER,
123 NAN_REQ_ATTR_PUBLISH_RSSI_THRESHOLD_FLAG,
124 NAN_REQ_ATTR_PUBLISH_CONN_MAP,
125 NAN_REQ_ATTR_PUBLISH_RECV_IND_CFG,
126 NAN_REQ_ATTR_SUBSCRIBE_ID,
127 NAN_REQ_ATTR_SUBSCRIBE_TTL,
128 NAN_REQ_ATTR_SUBSCRIBE_PERIOD,
129 NAN_REQ_ATTR_SUBSCRIBE_TYPE,
130 NAN_REQ_ATTR_SUBSCRIBE_RESP_FILTER_TYPE,
131 NAN_REQ_ATTR_SUBSCRIBE_RESP_INCLUDE,
132 NAN_REQ_ATTR_SUBSCRIBE_USE_RESP_FILTER,
133 NAN_REQ_ATTR_SUBSCRIBE_SSI_REQUIRED,
134 NAN_REQ_ATTR_SUBSCRIBE_MATCH_INDICATOR,
135 NAN_REQ_ATTR_SUBSCRIBE_COUNT,
136 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_NAME_LEN,
137 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_NAME,
138 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_INFO_LEN,
139 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_INFO,
140 NAN_REQ_ATTR_SUBSCRIBE_RX_MATCH_FILTER_LEN,
141 NAN_REQ_ATTR_SUBSCRIBE_RX_MATCH_FILTER,
142 NAN_REQ_ATTR_SUBSCRIBE_TX_MATCH_FILTER_LEN,
143 NAN_REQ_ATTR_SUBSCRIBE_TX_MATCH_FILTER,
144 NAN_REQ_ATTR_SUBSCRIBE_RSSI_THRESHOLD_FLAG,
145 NAN_REQ_ATTR_SUBSCRIBE_CONN_MAP,
146 NAN_REQ_ATTR_SUBSCRIBE_NUM_INTF_ADDR_PRESENT,
147 NAN_REQ_ATTR_SUBSCRIBE_INTF_ADDR,
148 NAN_REQ_ATTR_SUBSCRIBE_RECV_IND_CFG,
149 NAN_REQ_ATTR_FOLLOWUP_ID,
150 NAN_REQ_ATTR_FOLLOWUP_REQUESTOR_ID,
151 NAN_REQ_ATTR_FOLLOWUP_ADDR,
152 NAN_REQ_ATTR_FOLLOWUP_PRIORITY,
153 NAN_REQ_ATTR_FOLLOWUP_SERVICE_NAME_LEN,
154 NAN_REQ_ATTR_FOLLOWUP_SERVICE_NAME,
155 NAN_REQ_ATTR_FOLLOWUP_TX_WINDOW,
156 NAN_REQ_ATTR_FOLLOWUP_RECV_IND_CFG,
157 NAN_REQ_ATTR_SUBSCRIBE_SID_BEACON_VAL,
158 NAN_REQ_ATTR_DW_2G4_INTERVAL,
159 NAN_REQ_ATTR_DW_5G_INTERVAL,
160 NAN_REQ_ATTR_DISC_MAC_ADDR_RANDOM_INTERVAL,
161 NAN_REQ_ATTR_PUBLISH_SDEA_LEN,
162 NAN_REQ_ATTR_PUBLISH_SDEA,
163
164 NAN_REQ_ATTR_RANGING_AUTO_RESPONSE,
165 NAN_REQ_ATTR_SDEA_PARAM_NDP_TYPE,
166 NAN_REQ_ATTR_SDEA_PARAM_SECURITY_CFG,
167 NAN_REQ_ATTR_SDEA_PARAM_RANGING_STATE,
168 NAN_REQ_ATTR_SDEA_PARAM_RANGE_REPORT,
169 NAN_REQ_ATTR_SDEA_PARAM_QOS_CFG,
170 NAN_REQ_ATTR_RANGING_CFG_INTERVAL,
171 NAN_REQ_ATTR_RANGING_CFG_INDICATION,
172 NAN_REQ_ATTR_RANGING_CFG_INGRESS_MM,
173 NAN_REQ_ATTR_RANGING_CFG_EGRESS_MM,
174 NAN_REQ_ATTR_CIPHER_TYPE,
175 NAN_REQ_ATTR_SCID_LEN,
176 NAN_REQ_ATTR_SCID,
177 NAN_REQ_ATTR_SECURITY_KEY_TYPE,
178 NAN_REQ_ATTR_SECURITY_PMK_LEN,
179 NAN_REQ_ATTR_SECURITY_PMK,
180 NAN_REQ_ATTR_SECURITY_PASSPHRASE_LEN,
181 NAN_REQ_ATTR_SECURITY_PASSPHRASE,
182 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_PUBLISH_ID,
183 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_REQUESTOR_ID,
184 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_PEER_ADDR,
185 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_RANGING_RESPONSE,
186 NAN_REQ_ATTR_REQ_INSTANCE_ID,
187 NAN_REQ_ATTR_NDP_INSTANCE_ID,
188 NAN_REQ_ATTR_CHAN_REQ_TYPE,
189 NAN_REQ_ATTR_CHAN,
190 NAN_REQ_ATTR_DATA_INTERFACE_NAME_LEN,
191 NAN_REQ_ATTR_DATA_INTERFACE_NAME,
192 NAN_REQ_ATTR_APP_INFO_LEN,
193 NAN_REQ_ATTR_APP_INFO,
194 NAN_REQ_ATTR_SERVICE_NAME_LEN,
195 NAN_REQ_ATTR_SERVICE_NAME,
196 NAN_REQ_ATTR_NDP_RESPONSE_CODE,
197 NAN_REQ_ATTR_USE_NDPE_ATTR
198} NAN_REQ_ATTRIBUTES;
199
200typedef enum {
201 NAN_REPLY_ATTR_STATUS_TYPE,
202 NAN_REPLY_ATTR_VALUE,
203 NAN_REPLY_ATTR_RESPONSE_TYPE,
204 NAN_REPLY_ATTR_PUBLISH_SUBSCRIBE_TYPE,
205 NAN_REPLY_ATTR_CAP_MAX_CONCURRENT_CLUSTER,
206 NAN_REPLY_ATTR_CAP_MAX_PUBLISHES,
207 NAN_REPLY_ATTR_CAP_MAX_SUBSCRIBES,
208 NAN_REPLY_ATTR_CAP_MAX_SERVICE_NAME_LEN,
209 NAN_REPLY_ATTR_CAP_MAX_MATCH_FILTER_LEN,
210 NAN_REPLY_ATTR_CAP_MAX_TOTAL_MATCH_FILTER_LEN,
211 NAN_REPLY_ATTR_CAP_MAX_SERVICE_SPECIFIC_INFO_LEN,
212 NAN_REPLY_ATTR_CAP_MAX_VSA_DATA_LEN,
213 NAN_REPLY_ATTR_CAP_MAX_MESH_DATA_LEN,
214 NAN_REPLY_ATTR_CAP_MAX_NDI_INTERFACES,
215 NAN_REPLY_ATTR_CAP_MAX_NDP_SESSIONS,
216 NAN_REPLY_ATTR_CAP_MAX_APP_INFO_LEN,
217 NAN_REPLY_ATTR_NDP_INSTANCE_ID,
218 NAN_REPLY_ATTR_CAP_MAX_QUEUED_TRANSMIT_FOLLOWUP_MGS,
219 NAN_REPLY_ATTR_CAP_MAX_NDP_SUPPORTED_BANDS,
220 NAN_REPLY_ATTR_CAP_MAX_CIPHER_SUITES_SUPPORTED,
221 NAN_REPLY_ATTR_CAP_MAX_SCID_LEN,
222 NAN_REPLY_ATTR_CAP_NDP_SECURITY_SUPPORTED,
223 NAN_REPLY_ATTR_CAP_MAX_SDEA_SERVICE_SPECIFIC_INFO_LEN,
224 NAN_REPLY_ATTR_CAP_MAX_SUBSCRIBE_ADDRESS,
225 NAN_REPLY_ATTR_CAP_NDPE_ATTR_SUPPORTED
226} NAN_RESP_ATTRIBUTES;
227
228typedef enum {
229 NAN_EVT_ATTR_MATCH_PUBLISH_SUBSCRIBE_ID = 0,
230 NAN_EVT_ATTR_MATCH_REQUESTOR_INSTANCE_ID,
231 NAN_EVT_ATTR_MATCH_ADDR,
232 NAN_EVT_ATTR_MATCH_SERVICE_SPECIFIC_INFO_LEN,
233 NAN_EVT_ATTR_MATCH_SERVICE_SPECIFIC_INFO,
234 NAN_EVT_ATTR_MATCH_SDF_MATCH_FILTER_LEN,
235 NAN_EVT_ATTR_MATCH_SDF_MATCH_FILTER,
236 NAN_EVT_ATTR_MATCH_MATCH_OCCURED_FLAG,
237 NAN_EVT_ATTR_MATCH_OUT_OF_RESOURCE_FLAG,
238 NAN_EVT_ATTR_MATCH_RSSI_VALUE,
239/*CONN_CAPABILITY*/
240 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_WFD_SUPPORTED = 10,
241 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_WFDS_SUPPORTED,
242 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_TDLS_SUPPORTED,
243 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_IBSS_SUPPORTED,
244 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_MESH_SUPPORTED,
245 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_WLAN_INFRA_FIELD,
246 NAN_EVT_ATTR_MATCH_NUM_RX_DISCOVERY_ATTR,
247 NAN_EVT_ATTR_MATCH_RX_DISCOVERY_ATTR,
248/*NANRECEIVEPOSTDISCOVERY DISCOVERY_ATTR,*/
249 NAN_EVT_ATTR_MATCH_DISC_ATTR_TYPE,
250 NAN_EVT_ATTR_MATCH_DISC_ATTR_ROLE,
251 NAN_EVT_ATTR_MATCH_DISC_ATTR_DURATION = 20,
252 NAN_EVT_ATTR_MATCH_DISC_ATTR_AVAIL_INTERVAL_BITMAP,
253 NAN_EVT_ATTR_MATCH_DISC_ATTR_MAPID,
254 NAN_EVT_ATTR_MATCH_DISC_ATTR_ADDR,
255 NAN_EVT_ATTR_MATCH_DISC_ATTR_MESH_ID_LEN,
256 NAN_EVT_ATTR_MATCH_DISC_ATTR_MESH_ID,
257 NAN_EVT_ATTR_MATCH_DISC_ATTR_INFRASTRUCTURE_SSID_LEN,
258 NAN_EVT_ATTR_MATCH_DISC_ATTR_INFRASTRUCTURE_SSID_VAL,
259
260 NAN_EVT_ATTR_MATCH_NUM_CHANS,
261 NAN_EVT_ATTR_MATCH_FAMCHAN,
262/*FAMCHAN[32],*/
263 NAN_EVT_ATTR_MATCH_FAM_ENTRY_CONTROL = 30,
264 NAN_EVT_ATTR_MATCH_FAM_CLASS_VAL,
265 NAN_EVT_ATTR_MATCH_FAM_CHANNEL,
266 NAN_EVT_ATTR_MATCH_FAM_MAPID,
267 NAN_EVT_ATTR_MATCH_FAM_AVAIL_INTERVAL_BITMAP,
268 NAN_EVT_ATTR_MATCH_CLUSTER_ATTRIBUTE_LEN,
269 NAN_EVT_ATTR_MATCH_CLUSTER_ATTRIBUTE,
270 NAN_EVT_ATTR_PUBLISH_ID,
271 NAN_EVT_ATTR_PUBLISH_REASON,
272 NAN_EVT_ATTR_SUBSCRIBE_ID,
273 NAN_EVT_ATTR_SUBSCRIBE_REASON = 40,
274 NAN_EVT_ATTR_DISABLED_REASON,
275 NAN_EVT_ATTR_FOLLOWUP_PUBLISH_SUBSCRIBE_ID,
276 NAN_EVT_ATTR_FOLLOWUP_REQUESTOR_INSTANCE_ID,
277 NAN_EVT_ATTR_FOLLOWUP_ADDR,
278 NAN_EVT_ATTR_FOLLOWUP_DW_OR_FAW,
279 NAN_EVT_ATTR_FOLLOWUP_SERVICE_SPECIFIC_INFO_LEN,
280 NAN_EVT_ATTR_FOLLOWUP_SERVICE_SPECIFIC_INFO,
281 NAN_EVT_ATTR_DISCOVERY_ENGINE_EVT_TYPE ,
282 NAN_EVT_ATTR_DISCOVERY_ENGINE_MAC_ADDR,
283 NAN_EVT_ATTR_DISCOVERY_ENGINE_CLUSTER = 50,
284 NAN_EVT_ATTR_SDEA,
285 NAN_EVT_ATTR_SDEA_LEN,
286 NAN_EVT_ATTR_SCID,
287 NAN_EVT_ATTR_SCID_LEN,
288 NAN_EVT_ATTR_SDEA_PARAM_CONFIG_NAN_DATA_PATH,
289 NAN_EVT_ATTR_SDEA_PARAM_NDP_TYPE,
290 NAN_EVT_ATTR_SDEA_PARAM_SECURITY_CONFIG,
291 NAN_EVT_ATTR_SDEA_PARAM_RANGE_STATE,
292 NAN_EVT_ATTR_SDEA_PARAM_RANGE_REPORT,
293 NAN_EVT_ATTR_SDEA_PARAM_QOS_CFG = 60,
294 NAN_EVT_ATTR_RANGE_MEASUREMENT_MM,
295 NAN_EVT_ATTR_RANGEING_EVENT_TYPE,
296 NAN_EVT_ATTR_SECURITY_CIPHER_TYPE,
297 NAN_EVT_ATTR_STATUS,
298 NAN_EVT_ATTR_SERVICE_INSTANCE_ID,
299 NAN_EVT_ATTR_NDP_INSTANCE_ID,
300 NAN_EVT_ATTR_NDP_RSP_CODE,
301 NAN_EVT_ATTR_STATUS_CODE,
302 NAN_EVT_ATTR_CHANNEL_INFO,
303 NAN_EVT_ATTR_APP_INFO_LEN = 70,
304 NAN_EVT_ATTR_APP_INFO,
305 NAN_EVT_ATTR_CHANNEL,
306 NAN_EVT_ATTR_CHANNEL_BW,
307 NAN_EVT_ATTR_CHANNEL_NSS
308} NAN_EVT_ATTRIBUTES;
309
310#endif