1 /*****************************************************************************
3 * Copyright (c) 2012 - 2019 Samsung Electronics Co., Ltd. All rights reserved
5 ****************************************************************************/
6 #ifndef __SLSI_NL80211_VENDOR_NAN_H_
7 #define __SLSI_NL80211_VENDOR_NAN_H_
9 #define SLSI_NAN_TLV_TAG_CONFIGURATION 0x0101
10 #define SLSI_NAN_TLV_TAG_2G4_BAND_SPECIFIC_CONFIG 0x0102
11 #define SLSI_NAN_TLV_TAG_5G_BAND_SPECIFIC_CONFIG 0x0103
12 #define SLSI_NAN_TLV_TAG_SUBSCRIBE_SPECIFIC 0x0104
13 #define SLSI_NAN_TLV_TAG_DISCOVERY_COMMON_SPECIFIC 0x0105
14 #define SLSI_NAN_TLV_TAG_SERVICE_NAME 0x0106
15 #define SLSI_NAN_TLV_TAG_SERVICE_SPECIFIC_INFO 0x0107
16 #define SLSI_NAN_TLV_TAG_EXT_SERVICE_SPECIFIC_INFO 0x0108
17 #define SLSI_NAN_TLV_TAG_RX_MATCH_FILTER 0x0109
18 #define SLSI_NAN_TLV_TAG_TX_MATCH_FILTER 0x010a
19 #define SLSI_NAN_TLV_TAG_MATCH_FILTER 0x010b
20 #define SLSI_NAN_TLV_TAG_INTERFACE_ADDRESS_SET 0x010c
21 #define SLSI_NAN_TLV_TAG_MATCH_IND 0x010d
22 #define SLSI_NAN_TLV_TAG_DATA_PATH_SECURITY 0x010e
23 #define SLSI_NAN_TLV_TAG_APP_INFO 0x010f
24 #define SLSI_NAN_TLV_TAG_RANGING 0x0110
26 enum SLSI_NAN_REPLY_ATTRIBUTES
{
27 NAN_REPLY_ATTR_STATUS_TYPE
,
29 NAN_REPLY_ATTR_RESPONSE_TYPE
,
30 NAN_REPLY_ATTR_PUBLISH_SUBSCRIBE_TYPE
,
31 NAN_REPLY_ATTR_CAP_MAX_CONCURRENT_CLUSTER
,
32 NAN_REPLY_ATTR_CAP_MAX_PUBLISHES
,
33 NAN_REPLY_ATTR_CAP_MAX_SUBSCRIBES
,
34 NAN_REPLY_ATTR_CAP_MAX_SERVICE_NAME_LEN
,
35 NAN_REPLY_ATTR_CAP_MAX_MATCH_FILTER_LEN
,
36 NAN_REPLY_ATTR_CAP_MAX_TOTAL_MATCH_FILTER_LEN
,
37 NAN_REPLY_ATTR_CAP_MAX_SERVICE_SPECIFIC_INFO_LEN
,
38 NAN_REPLY_ATTR_CAP_MAX_VSA_DATA_LEN
,
39 NAN_REPLY_ATTR_CAP_MAX_MESH_DATA_LEN
,
40 NAN_REPLY_ATTR_CAP_MAX_NDI_INTERFACES
,
41 NAN_REPLY_ATTR_CAP_MAX_NDP_SESSIONS
,
42 NAN_REPLY_ATTR_CAP_MAX_APP_INFO_LEN
45 enum SLSI_NAN_REQ_ATTRIBUTES
{
46 NAN_REQ_ATTR_MASTER_PREF
,
47 NAN_REQ_ATTR_CLUSTER_LOW
,
48 NAN_REQ_ATTR_CLUSTER_HIGH
,
49 NAN_REQ_ATTR_HOP_COUNT_LIMIT_VAL
,
50 NAN_REQ_ATTR_SID_BEACON_VAL
,
51 NAN_REQ_ATTR_SUPPORT_2G4_VAL
,
52 NAN_REQ_ATTR_SUPPORT_5G_VAL
,
53 NAN_REQ_ATTR_RSSI_CLOSE_2G4_VAL
,
54 NAN_REQ_ATTR_RSSI_MIDDLE_2G4_VAL
,
55 NAN_REQ_ATTR_RSSI_PROXIMITY_2G4_VAL
,
56 NAN_REQ_ATTR_BEACONS_2G4_VAL
= 10,
57 NAN_REQ_ATTR_SDF_2G4_VAL
,
58 NAN_REQ_ATTR_CHANNEL_2G4_MHZ_VAL
,
59 NAN_REQ_ATTR_RSSI_PROXIMITY_VAL
,
60 NAN_REQ_ATTR_RSSI_CLOSE_5G_VAL
,
61 NAN_REQ_ATTR_RSSI_CLOSE_PROXIMITY_5G_VAL
,
62 NAN_REQ_ATTR_RSSI_MIDDLE_5G_VAL
,
63 NAN_REQ_ATTR_RSSI_PROXIMITY_5G_VAL
,
64 NAN_REQ_ATTR_BEACON_5G_VAL
,
65 NAN_REQ_ATTR_SDF_5G_VAL
,
66 NAN_REQ_ATTR_CHANNEL_5G_MHZ_VAL
= 20,
67 NAN_REQ_ATTR_RSSI_WINDOW_SIZE_VAL
,
69 NAN_REQ_ATTR_MAC_ADDR_VAL
,
70 NAN_REQ_ATTR_CLUSTER_VAL
,
71 NAN_REQ_ATTR_SOCIAL_CH_SCAN_DWELL_TIME
,
72 NAN_REQ_ATTR_SOCIAL_CH_SCAN_PERIOD
,
73 NAN_REQ_ATTR_RANDOM_FACTOR_FORCE_VAL
,
74 NAN_REQ_ATTR_HOP_COUNT_FORCE_VAL
,
75 NAN_REQ_ATTR_CONN_CAPABILITY_PAYLOAD_TX
,
76 NAN_REQ_ATTR_CONN_CAPABILITY_IBSS
= 30,
77 NAN_REQ_ATTR_CONN_CAPABILITY_WFD
,
78 NAN_REQ_ATTR_CONN_CAPABILITY_WFDS
,
79 NAN_REQ_ATTR_CONN_CAPABILITY_TDLS
,
80 NAN_REQ_ATTR_CONN_CAPABILITY_MESH
,
81 NAN_REQ_ATTR_CONN_CAPABILITY_WLAN_INFRA
,
82 NAN_REQ_ATTR_DISCOVERY_ATTR_NUM_ENTRIES
,
83 NAN_REQ_ATTR_DISCOVERY_ATTR_VAL
,
84 NAN_REQ_ATTR_CONN_TYPE
,
85 NAN_REQ_ATTR_NAN_ROLE
,
86 NAN_REQ_ATTR_TRANSMIT_FREQ
= 40,
87 NAN_REQ_ATTR_AVAILABILITY_DURATION
,
88 NAN_REQ_ATTR_AVAILABILITY_INTERVAL
,
89 NAN_REQ_ATTR_MESH_ID_LEN
,
91 NAN_REQ_ATTR_INFRASTRUCTURE_SSID_LEN
,
92 NAN_REQ_ATTR_INFRASTRUCTURE_SSID
,
93 NAN_REQ_ATTR_FURTHER_AVAIL_NUM_ENTRIES
,
94 NAN_REQ_ATTR_FURTHER_AVAIL_VAL
,
95 NAN_REQ_ATTR_FURTHER_AVAIL_ENTRY_CTRL
,
96 NAN_REQ_ATTR_FURTHER_AVAIL_CHAN_CLASS
= 50,
97 NAN_REQ_ATTR_FURTHER_AVAIL_CHAN
,
98 NAN_REQ_ATTR_FURTHER_AVAIL_CHAN_MAPID
,
99 NAN_REQ_ATTR_FURTHER_AVAIL_INTERVAL_BITMAP
,
100 NAN_REQ_ATTR_PUBLISH_ID
,
101 NAN_REQ_ATTR_PUBLISH_TTL
,
102 NAN_REQ_ATTR_PUBLISH_PERIOD
,
103 NAN_REQ_ATTR_PUBLISH_TYPE
,
104 NAN_REQ_ATTR_PUBLISH_TX_TYPE
,
105 NAN_REQ_ATTR_PUBLISH_COUNT
,
106 NAN_REQ_ATTR_PUBLISH_SERVICE_NAME_LEN
= 60,
107 NAN_REQ_ATTR_PUBLISH_SERVICE_NAME
,
108 NAN_REQ_ATTR_PUBLISH_MATCH_ALGO
,
109 NAN_REQ_ATTR_PUBLISH_SERVICE_INFO_LEN
,
110 NAN_REQ_ATTR_PUBLISH_SERVICE_INFO
,
111 NAN_REQ_ATTR_PUBLISH_RX_MATCH_FILTER_LEN
,
112 NAN_REQ_ATTR_PUBLISH_RX_MATCH_FILTER
,
113 NAN_REQ_ATTR_PUBLISH_TX_MATCH_FILTER_LEN
,
114 NAN_REQ_ATTR_PUBLISH_TX_MATCH_FILTER
,
115 NAN_REQ_ATTR_PUBLISH_RSSI_THRESHOLD_FLAG
,
116 NAN_REQ_ATTR_PUBLISH_CONN_MAP
= 70,
117 NAN_REQ_ATTR_PUBLISH_RECV_IND_CFG
,
118 NAN_REQ_ATTR_SUBSCRIBE_ID
,
119 NAN_REQ_ATTR_SUBSCRIBE_TTL
,
120 NAN_REQ_ATTR_SUBSCRIBE_PERIOD
,
121 NAN_REQ_ATTR_SUBSCRIBE_TYPE
,
122 NAN_REQ_ATTR_SUBSCRIBE_RESP_FILTER_TYPE
,
123 NAN_REQ_ATTR_SUBSCRIBE_RESP_INCLUDE
,
124 NAN_REQ_ATTR_SUBSCRIBE_USE_RESP_FILTER
,
125 NAN_REQ_ATTR_SUBSCRIBE_SSI_REQUIRED
,
126 NAN_REQ_ATTR_SUBSCRIBE_MATCH_INDICATOR
= 80,
127 NAN_REQ_ATTR_SUBSCRIBE_COUNT
,
128 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_NAME_LEN
,
129 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_NAME
,
130 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_INFO_LEN
,
131 NAN_REQ_ATTR_SUBSCRIBE_SERVICE_INFO
,
132 NAN_REQ_ATTR_SUBSCRIBE_RX_MATCH_FILTER_LEN
,
133 NAN_REQ_ATTR_SUBSCRIBE_RX_MATCH_FILTER
,
134 NAN_REQ_ATTR_SUBSCRIBE_TX_MATCH_FILTER_LEN
,
135 NAN_REQ_ATTR_SUBSCRIBE_TX_MATCH_FILTER
,
136 NAN_REQ_ATTR_SUBSCRIBE_RSSI_THRESHOLD_FLAG
= 90,
137 NAN_REQ_ATTR_SUBSCRIBE_CONN_MAP
,
138 NAN_REQ_ATTR_SUBSCRIBE_NUM_INTF_ADDR_PRESENT
,
139 NAN_REQ_ATTR_SUBSCRIBE_INTF_ADDR
,
140 NAN_REQ_ATTR_SUBSCRIBE_RECV_IND_CFG
,
141 NAN_REQ_ATTR_FOLLOWUP_ID
,
142 NAN_REQ_ATTR_FOLLOWUP_REQUESTOR_ID
,
143 NAN_REQ_ATTR_FOLLOWUP_ADDR
,
144 NAN_REQ_ATTR_FOLLOWUP_PRIORITY
,
145 NAN_REQ_ATTR_FOLLOWUP_SERVICE_NAME_LEN
,
146 NAN_REQ_ATTR_FOLLOWUP_SERVICE_NAME
= 100,
147 NAN_REQ_ATTR_FOLLOWUP_TX_WINDOW
,
148 NAN_REQ_ATTR_FOLLOWUP_RECV_IND_CFG
,
149 NAN_REQ_ATTR_SUBSCRIBE_SID_BEACON_VAL
,
150 NAN_REQ_ATTR_DW_2G4_INTERVAL
,
151 NAN_REQ_ATTR_DW_5G_INTERVAL
,
152 NAN_REQ_ATTR_DISC_MAC_ADDR_RANDOM_INTERVAL
,
153 NAN_REQ_ATTR_PUBLISH_SDEA_LEN
,
154 NAN_REQ_ATTR_PUBLISH_SDEA
,
155 NAN_REQ_ATTR_RANGING_AUTO_RESPONSE
,
156 NAN_REQ_ATTR_SDEA_PARAM_NDP_TYPE
= 110,
157 NAN_REQ_ATTR_SDEA_PARAM_SECURITY_CFG
,
158 NAN_REQ_ATTR_SDEA_PARAM_RANGING_STATE
,
159 NAN_REQ_ATTR_SDEA_PARAM_RANGE_REPORT
,
160 NAN_REQ_ATTR_SDEA_PARAM_QOS_CFG
,
161 NAN_REQ_ATTR_RANGING_CFG_INTERVAL
,
162 NAN_REQ_ATTR_RANGING_CFG_INDICATION
,
163 NAN_REQ_ATTR_RANGING_CFG_INGRESS_MM
,
164 NAN_REQ_ATTR_RANGING_CFG_EGRESS_MM
,
165 NAN_REQ_ATTR_CIPHER_TYPE
,
166 NAN_REQ_ATTR_SCID_LEN
= 120,
168 NAN_REQ_ATTR_SECURITY_KEY_TYPE
,
169 NAN_REQ_ATTR_SECURITY_PMK_LEN
,
170 NAN_REQ_ATTR_SECURITY_PMK
,
171 NAN_REQ_ATTR_SECURITY_PASSPHRASE_LEN
,
172 NAN_REQ_ATTR_SECURITY_PASSPHRASE
,
173 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_PUBLISH_ID
,
174 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_REQUESTOR_ID
,
175 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_PEER_ADDR
,
176 NAN_REQ_ATTR_RANGE_RESPONSE_CFG_RANGING_RESPONSE
179 enum SLSI_NAN_RESP_ATTRIBUTES
{
180 NAN_RESP_ATTR_MAX_CONCURRENT_NAN_CLUSTERS
,
181 NAN_RESP_ATTR_MAX_PUBLISHES
,
182 NAN_RESP_ATTR_MAX_SUBSCRIBES
,
183 NAN_RESP_ATTR_MAX_SERVICE_NAME_LEN
,
184 NAN_RESP_ATTR_MAX_MATCH_FILTER_LEN
,
185 NAN_RESP_ATTR_MAX_TOTAL_MATCH_FILTER_LEN
,
186 NAN_RESP_ATTR_MAX_SERVICE_SPECIFIC_INFO_LEN
,
187 NAN_RESP_ATTR_MAX_VSA_DATA_LEN
,
188 NAN_RESP_ATTR_MAX_MESH_DATA_LEN
,
189 NAN_RESP_ATTR_MAX_NDI_INTERFACES
,
190 NAN_RESP_ATTR_MAX_NDP_SESSIONS
,
191 NAN_RESP_ATTR_MAX_APP_INFO_LEN
,
192 NAN_RESP_ATTR_SUBSCRIBE_ID
,
193 NAN_RESP_ATTR_PUBLISH_ID
196 enum SLSI_NAN_EVT_ATTRIBUTES
{
197 NAN_EVT_ATTR_MATCH_PUBLISH_SUBSCRIBE_ID
,
198 NAN_EVT_ATTR_MATCH_REQUESTOR_INSTANCE_ID
,
199 NAN_EVT_ATTR_MATCH_ADDR
,
200 NAN_EVT_ATTR_MATCH_SERVICE_SPECIFIC_INFO_LEN
,
201 NAN_EVT_ATTR_MATCH_SERVICE_SPECIFIC_INFO
,
202 NAN_EVT_ATTR_MATCH_SDF_MATCH_FILTER_LEN
,
203 NAN_EVT_ATTR_MATCH_SDF_MATCH_FILTER
,
204 NAN_EVT_ATTR_MATCH_MATCH_OCCURRED_FLAG
,
205 NAN_EVT_ATTR_MATCH_OUT_OF_RESOURCE_FLAG
,
206 NAN_EVT_ATTR_MATCH_RSSI_VALUE
,
207 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_WFD_SUPPORTED
= 10,
208 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_WFDS_SUPPORTED
,
209 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_TDLS_SUPPORTED
,
210 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_IBSS_SUPPORTED
,
211 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_IS_MESH_SUPPORTED
,
212 NAN_EVT_ATTR_MATCH_CONN_CAPABILITY_WLAN_INFRA_FIELD
,
213 NAN_EVT_ATTR_MATCH_NUM_RX_DISCOVERY_ATTR
,
214 NAN_EVT_ATTR_MATCH_RX_DISCOVERY_ATTR
,
215 NAN_EVT_ATTR_MATCH_DISC_ATTR_TYPE
,
216 NAN_EVT_ATTR_MATCH_DISC_ATTR_ROLE
,
217 NAN_EVT_ATTR_MATCH_DISC_ATTR_DURATION
= 20,
218 NAN_EVT_ATTR_MATCH_DISC_ATTR_AVAIL_INTERVAL_BITMAP
,
219 NAN_EVT_ATTR_MATCH_DISC_ATTR_MAPID
,
220 NAN_EVT_ATTR_MATCH_DISC_ATTR_ADDR
,
221 NAN_EVT_ATTR_MATCH_DISC_ATTR_MESH_ID_LEN
,
222 NAN_EVT_ATTR_MATCH_DISC_ATTR_MESH_ID
,
223 NAN_EVT_ATTR_MATCH_DISC_ATTR_INFRASTRUCTURE_SSID_LEN
,
224 NAN_EVT_ATTR_MATCH_DISC_ATTR_INFRASTRUCTURE_SSID_VAL
,
225 NAN_EVT_ATTR_MATCH_NUM_CHANS
,
226 NAN_EVT_ATTR_MATCH_FAMCHAN
,
227 NAN_EVT_ATTR_MATCH_FAM_ENTRY_CONTROL
= 30,
228 NAN_EVT_ATTR_MATCH_FAM_CLASS_VAL
,
229 NAN_EVT_ATTR_MATCH_FAM_CHANNEL
,
230 NAN_EVT_ATTR_MATCH_FAM_MAPID
,
231 NAN_EVT_ATTR_MATCH_FAM_AVAIL_INTERVAL_BITMAP
,
232 NAN_EVT_ATTR_MATCH_CLUSTER_ATTRIBUTE_LEN
,
233 NAN_EVT_ATTR_MATCH_CLUSTER_ATTRIBUTE
,
234 NAN_EVT_ATTR_PUBLISH_ID
,
235 NAN_EVT_ATTR_PUBLISH_REASON
,
236 NAN_EVT_ATTR_SUBSCRIBE_ID
,
237 NAN_EVT_ATTR_SUBSCRIBE_REASON
= 40,
238 NAN_EVT_ATTR_DISABLED_REASON
,
239 NAN_EVT_ATTR_FOLLOWUP_PUBLISH_SUBSCRIBE_ID
,
240 NAN_EVT_ATTR_FOLLOWUP_REQUESTOR_INSTANCE_ID
,
241 NAN_EVT_ATTR_FOLLOWUP_ADDR
,
242 NAN_EVT_ATTR_FOLLOWUP_DW_OR_FAW
,
243 NAN_EVT_ATTR_FOLLOWUP_SERVICE_SPECIFIC_INFO_LEN
,
244 NAN_EVT_ATTR_FOLLOWUP_SERVICE_SPECIFIC_INFO
,
245 NAN_EVT_ATTR_DISCOVERY_ENGINE_EVT_TYPE
,
246 NAN_EVT_ATTR_DISCOVERY_ENGINE_MAC_ADDR
,
247 NAN_EVT_ATTR_DISCOVERY_ENGINE_CLUSTER
= 50,
249 NAN_EVT_ATTR_SDEA_LEN
,
251 NAN_EVT_ATTR_SCID_LEN
,
252 NAN_EVT_ATTR_SDEA_PARAM_CONFIG_NAN_DATA_PATH
,
253 NAN_EVT_ATTR_SDEA_PARAM_NDP_TYPE
,
254 NAN_EVT_ATTR_SDEA_PARAM_SECURITY_CONFIG
,
255 NAN_EVT_ATTR_SDEA_PARAM_RANGE_STATE
,
256 NAN_EVT_ATTR_SDEA_PARAM_RANGE_REPORT
,
257 NAN_EVT_ATTR_SDEA_PARAM_QOS_CFG
= 60,
258 NAN_EVT_ATTR_RANGE_MEASUREMENT_MM
,
259 NAN_EVT_ATTR_RANGEING_EVENT_TYPE
,
260 NAN_EVT_ATTR_SECURITY_CIPHER_TYPE
,
264 #define SLSI_FAPI_NAN_CONFIG_PARAM_SID_BEACON 0X0003
265 #define SLSI_FAPI_NAN_CONFIG_PARAM_2_4_RSSI_CLOSE 0X0004
266 #define SLSI_FAPI_NAN_CONFIG_PARAM_2_4_RSSI_MIDDLE 0X0005
267 #define SLSI_FAPI_NAN_CONFIG_PARAM_2_4_RSSI_PROXIMITY 0X0006
268 #define SLSI_FAPI_NAN_CONFIG_PARAM_BAND_USAGE 0X0007
269 #define SLSI_FAPI_NAN_CONFIG_PARAM_5_RSSI_CLOSE 0X0008
270 #define SLSI_FAPI_NAN_CONFIG_PARAM_5_RSSI_MIDDLE 0X0009
271 #define SLSI_FAPI_NAN_CONFIG_PARAM_5_RSSI_PROXIMITY 0X000A
272 #define SLSI_FAPI_NAN_CONFIG_PARAM_HOP_COUNT_LIMIT 0X000B
273 #define SLSI_FAPI_NAN_CONFIG_PARAM_RSSI_WINDOW_SIZE 0X000C
274 #define SLSI_FAPI_NAN_CONFIG_PARAM_SCAN_PARAMETER_2_4 0X000D
275 #define SLSI_FAPI_NAN_CONFIG_PARAM_SCAN_PARAMETER_5 0X000E
276 #define SLSI_FAPI_NAN_CONFIG_PARAM_MASTER_PREFERENCE 0X000F
277 #define SLSI_FAPI_NAN_CONFIG_PARAM_CONNECTION_CAPAB 0X0010
278 #define SLSI_FAPI_NAN_CONFIG_PARAM_POST_DISCOVER_PARAM 0X0011
279 #define SLSI_FAPI_NAN_CONFIG_PARAM_FURTHER_AVAIL_CHANNEL_MAP 0X0012
280 #define SLSI_FAPI_NAN_CONFIG_PARAM_ADDR_RANDOM_INTERVAL 0X0013
281 #define SLSI_FAPI_NAN_SERVICE_NAME 0X0020
282 #define SLSI_FAPI_NAN_SERVICE_SPECIFIC_INFO 0X0021
283 #define SLSI_FAPI_NAN_RX_MATCH_FILTER 0X0022
284 #define SLSI_FAPI_NAN_TX_MATCH_FILTER 0X0023
285 #define SLSI_FAPI_NAN_SDF_MATCH_FILTER 0X0024
286 #define SLSI_FAPI_NAN_CLUSTER_ATTRIBUTE 0X0025
287 #define SLSI_FAPI_NAN_INTERFACE_ADDRESS_SET 0X0026
288 #define SLSI_FAPI_NAN_SDEA 0X0027
290 #define SLSI_HAL_NAN_MAX_SOCIAL_CHANNELS 3
291 #define SLSI_HAL_NAN_MAX_SERVICE_NAME_LEN 255
292 #define SLSI_HAL_NAN_MAX_SERVICE_SPECIFIC_INFO_LEN 1024
293 #define SLSI_HAL_NAN_MAX_MATCH_FILTER_LEN 255
294 #define SLSI_HAL_NAN_MAX_SUBSCRIBE_MAX_ADDRESS 42
295 #define SLSI_HAL_NAN_MAX_POSTDISCOVERY_LEN 5
296 #define SLSI_HAL_NAN_MAX_SDEA_SERVICE_SPEC_INFO_LEN 1024
298 enum slsi_wifi_hal_nan_status_type
{
299 /* NAN Protocol Response Codes */
300 SLSI_HAL_NAN_STATUS_SUCCESS
= 0,
301 /* NAN Discovery Engine/Host driver failures */
302 SLSI_HAL_NAN_STATUS_INTERNAL_FAILURE
= 1,
303 /* NAN OTA failures */
304 SLSI_HAL_NAN_STATUS_PROTOCOL_FAILURE
= 2,
305 /* if the publish/subscribe id is invalid */
306 SLSI_HAL_NAN_STATUS_INVALID_PUBLISH_SUBSCRIBE_ID
= 3,
307 /* If we run out of resources allocated */
308 SLSI_HAL_NAN_STATUS_NO_RESOURCE_AVAILABLE
= 4,
309 /* if invalid params are passed */
310 SLSI_HAL_NAN_STATUS_INVALID_PARAM
= 5,
311 /* if the requestor instance id is invalid */
312 SLSI_HAL_NAN_STATUS_INVALID_REQUESTOR_INSTANCE_ID
= 6,
313 /* if the ndp id is invalid */
314 SLSI_HAL_NAN_STATUS_INVALID_NDP_ID
= 7,
315 /* if NAN is enabled when wifi is turned off */
316 SLSI_HAL_NAN_STATUS_NAN_NOT_ALLOWED
= 8,
317 /* if over the air ack is not received */
318 SLSI_HAL_NAN_STATUS_NO_OTA_ACK
= 9,
319 /* If NAN is already enabled and we are try to re-enable the same */
320 SLSI_HAL_NAN_STATUS_ALREADY_ENABLED
= 10,
321 /* If followup message internal queue is full */
322 SLSI_HAL_NAN_STATUS_FOLLOWUP_QUEUE_FULL
= 11,
323 /* Unsupported concurrency session enabled, NAN disabled notified */
324 SLSI_HAL_NAN_STATUS_UNSUPPORTED_CONCURRENCY_NAN_DISABLED
= 12
327 enum slsi_nan_status_type
{
328 /* NAN Protocol Response Codes */
329 NAN_STATUS_SUCCESS
= 0,
330 NAN_STATUS_TIMEOUT
= 1,
331 NAN_STATUS_DE_FAILURE
= 2,
332 NAN_STATUS_INVALID_MSG_VERSION
= 3,
333 NAN_STATUS_INVALID_MSG_LEN
= 4,
334 NAN_STATUS_INVALID_MSG_ID
= 5,
335 NAN_STATUS_INVALID_HANDLE
= 6,
336 NAN_STATUS_NO_SPACE_AVAILABLE
= 7,
337 NAN_STATUS_INVALID_PUBLISH_TYPE
= 8,
338 NAN_STATUS_INVALID_TX_TYPE
= 9,
339 NAN_STATUS_INVALID_MATCH_ALGORITHM
= 10,
340 NAN_STATUS_DISABLE_IN_PROGRESS
= 11,
341 NAN_STATUS_INVALID_TLV_LEN
= 12,
342 NAN_STATUS_INVALID_TLV_TYPE
= 13,
343 NAN_STATUS_MISSING_TLV_TYPE
= 14,
344 NAN_STATUS_INVALID_TOTAL_TLVS_LEN
= 15,
345 NAN_STATUS_INVALID_MATCH_HANDLE
= 16,
346 NAN_STATUS_INVALID_TLV_VALUE
= 17,
347 NAN_STATUS_INVALID_TX_PRIORITY
= 18,
348 NAN_STATUS_INVALID_CONNECTION_MAP
= 19,
349 NAN_STATUS_INVALID_TCA_ID
= 20,
350 NAN_STATUS_INVALID_STATS_ID
= 21,
351 NAN_STATUS_NAN_NOT_ALLOWED
= 22,
352 NAN_STATUS_NO_OTA_ACK
= 23,
353 NAN_STATUS_TX_FAIL
= 24,
354 /* 25-4095 Reserved */
355 /* NAN Configuration Response codes */
356 NAN_STATUS_INVALID_RSSI_CLOSE_VALUE
= 4096,
357 NAN_STATUS_INVALID_RSSI_MIDDLE_VALUE
= 4097,
358 NAN_STATUS_INVALID_HOP_COUNT_LIMIT
= 4098,
359 NAN_STATUS_INVALID_MASTER_PREFERENCE_VALUE
= 4099,
360 NAN_STATUS_INVALID_LOW_CLUSTER_ID_VALUE
= 4100,
361 NAN_STATUS_INVALID_HIGH_CLUSTER_ID_VALUE
= 4101,
362 NAN_STATUS_INVALID_BACKGROUND_SCAN_PERIOD
= 4102,
363 NAN_STATUS_INVALID_RSSI_PROXIMITY_VALUE
= 4103,
364 NAN_STATUS_INVALID_SCAN_CHANNEL
= 4104,
365 NAN_STATUS_INVALID_POST_NAN_CONNECTIVITY_CAPABILITIES_BITMAP
= 4105,
366 NAN_STATUS_INVALID_FURTHER_AVAILABILITY_MAP_NUMCHAN_VALUE
= 4106,
367 NAN_STATUS_INVALID_FURTHER_AVAILABILITY_MAP_DURATION_VALUE
= 4107,
368 NAN_STATUS_INVALID_FURTHER_AVAILABILITY_MAP_CLASS_VALUE
= 4108,
369 NAN_STATUS_INVALID_FURTHER_AVAILABILITY_MAP_CHANNEL_VALUE
= 4109,
370 NAN_STATUS_INVALID_FURTHER_AVAILABILITY_MAP_AVAILABILITY_INTERVAL_BITMAP_VALUE
= 4110,
371 NAN_STATUS_INVALID_FURTHER_AVAILABILITY_MAP_MAP_ID
= 4111,
372 NAN_STATUS_INVALID_POST_NAN_DISCOVERY_CONN_TYPE_VALUE
= 4112,
373 NAN_STATUS_INVALID_POST_NAN_DISCOVERY_DEVICE_ROLE_VALUE
= 4113,
374 NAN_STATUS_INVALID_POST_NAN_DISCOVERY_DURATION_VALUE
= 4114,
375 NAN_STATUS_INVALID_POST_NAN_DISCOVERY_BITMAP_VALUE
= 4115,
376 NAN_STATUS_MISSING_FUTHER_AVAILABILITY_MAP
= 4116,
377 NAN_STATUS_INVALID_BAND_CONFIG_FLAGS
= 4117,
378 NAN_STATUS_INVALID_RANDOM_FACTOR_UPDATE_TIME_VALUE
= 4118,
379 NAN_STATUS_INVALID_ONGOING_SCAN_PERIOD
= 4119,
380 NAN_STATUS_INVALID_DW_INTERVAL_VALUE
= 4120,
381 NAN_STATUS_INVALID_DB_INTERVAL_VALUE
= 4121,
382 /* 4122-8191 RESERVED */
383 NAN_TERMINATED_REASON_INVALID
= 8192,
384 NAN_TERMINATED_REASON_TIMEOUT
= 8193,
385 NAN_TERMINATED_REASON_USER_REQUEST
= 8194,
386 NAN_TERMINATED_REASON_FAILURE
= 8195,
387 NAN_TERMINATED_REASON_COUNT_REACHED
= 8196,
388 NAN_TERMINATED_REASON_DE_SHUTDOWN
= 8197,
389 NAN_TERMINATED_REASON_DISABLE_IN_PROGRESS
= 8198,
390 NAN_TERMINATED_REASON_POST_DISC_ATTR_EXPIRED
= 8199,
391 NAN_TERMINATED_REASON_POST_DISC_LEN_EXCEEDED
= 8200,
392 NAN_TERMINATED_REASON_FURTHER_AVAIL_MAP_EMPTY
= 8201
395 enum slsi_nan_response_type
{
396 NAN_RESPONSE_ENABLED
= 0,
397 NAN_RESPONSE_DISABLED
= 1,
398 NAN_RESPONSE_PUBLISH
= 2,
399 NAN_RESPONSE_PUBLISH_CANCEL
= 3,
400 NAN_RESPONSE_TRANSMIT_FOLLOWUP
= 4,
401 NAN_RESPONSE_SUBSCRIBE
= 5,
402 NAN_RESPONSE_SUBSCRIBE_CANCEL
= 6,
403 NAN_RESPONSE_STATS
= 7,
404 NAN_RESPONSE_CONFIG
= 8,
405 NAN_RESPONSE_TCA
= 9,
406 NAN_RESPONSE_ERROR
= 10,
407 NAN_RESPONSE_BEACON_SDF_PAYLOAD
= 11,
408 NAN_RESPONSE_GET_CAPABILITIES
= 12
411 enum slsi_nan_disc_event_type
{
412 NAN_EVENT_ID_DISC_MAC_ADDR
= 0,
413 NAN_EVENT_ID_STARTED_CLUSTER
,
414 NAN_EVENT_ID_JOINED_CLUSTER
417 struct slsi_hal_nan_social_channel_scan_params
{
418 u8 dwell_time
[SLSI_HAL_NAN_MAX_SOCIAL_CHANNELS
];
419 u16 scan_period
[SLSI_HAL_NAN_MAX_SOCIAL_CHANNELS
];
422 struct slsi_hal_nan_connectivity_capability
{
423 u8 payload_transmit_flag
;
425 u8 is_wfds_supported
;
426 u8 is_tdls_supported
;
427 u8 is_ibss_supported
;
428 u8 is_mesh_supported
;
432 struct slsi_hal_nan_post_discovery_param
{
433 u8 type
; /* NanConnectionType */
434 u8 role
; /* NanDeviceRole */
436 u8 duration
; /* NanAvailDuration */
437 u32 avail_interval_bitmap
;
441 u16 infrastructure_ssid_len
;
442 u8 infrastructure_ssid_val
[32];
445 struct slsi_hal_nan_further_availability_channel
{
446 /* struct slsi_hal_nan_further_availability_channel*/
451 u32 avail_interval_bitmap
;
454 struct slsi_hal_nan_further_availability_map
{
456 struct slsi_hal_nan_further_availability_channel famchan
[32];
459 struct slsi_hal_nan_receive_post_discovery
{
463 u32 avail_interval_bitmap
;
468 u16 infrastructure_ssid_len
;
469 u8 infrastructure_ssid_val
[32];
472 struct slsi_nan_sdea_ctrl_params
{
473 u8 config_nan_data_path
;
481 struct slsi_nan_ranging_cfg
{
482 u32 ranging_interval_msec
;
483 u32 config_ranging_indications
;
484 u32 distance_ingress_mm
;
485 u32 distance_egress_mm
;
488 struct slsi_nan_range_response_cfg
{
490 u32 requestor_instance_id
;
491 u8 peer_addr
[ETH_ALEN
];
495 #define SLSI_NAN_PMK_INFO_LEN 32
496 #define SLSI_NAN_SECURITY_MAX_PASSPHRASE_LEN 63
497 #define SLSI_NAN_MAX_SCID_BUF_LEN 1024
498 struct slsi_nan_security_pmk
{
500 u8 pmk
[SLSI_NAN_PMK_INFO_LEN
];
503 struct slsi_nan_security_passphrase
{
505 u8 passphrase
[SLSI_NAN_SECURITY_MAX_PASSPHRASE_LEN
];
508 struct slsi_nan_security_key_info
{
511 struct slsi_nan_security_pmk pmk_info
;
512 struct slsi_nan_security_passphrase passphrase_info
;
516 struct slsi_nan_security_info
{
519 u8 scid
[SLSI_NAN_MAX_SCID_BUF_LEN
];
520 struct slsi_nan_security_key_info key_info
;
523 struct slsi_hal_nan_enable_req
{
524 /* Mandatory parameters below */
529 u8 config_support_5g
;
531 u8 config_sid_beacon
;
533 u8 config_2dot4g_rssi_close
;
534 u8 rssi_close_2dot4g_val
;
536 u8 config_2dot4g_rssi_middle
;
537 u8 rssi_middle_2dot4g_val
;
539 u8 config_2dot4g_rssi_proximity
;
540 u8 rssi_proximity_2dot4g_val
;
542 u8 config_hop_count_limit
;
543 u8 hop_count_limit_val
;
545 u8 config_2dot4g_support
;
546 u8 support_2dot4g_val
;
548 u8 config_2dot4g_beacons
;
549 u8 beacon_2dot4g_val
;
550 u8 config_2dot4g_sdf
;
552 u8 config_5g_beacons
;
556 u8 config_5g_rssi_close
;
557 u8 rssi_close_5g_val
;
558 u8 config_5g_rssi_middle
;
559 u8 rssi_middle_5g_val
;
560 u8 config_5g_rssi_close_proximity
;
561 u8 rssi_close_proximity_5g_val
;
562 u8 config_rssi_window_size
;
563 u8 rssi_window_size_val
;
564 /* The 24 bit Organizationally Unique ID + the 8 bit Network Id. */
568 u8 intf_addr_val
[ETH_ALEN
];
570 u8 config_cluster_attribute_val
;
571 u8 config_scan_params
;
572 struct slsi_hal_nan_social_channel_scan_params scan_params_val
;
573 u8 config_random_factor_force
;
574 u8 random_factor_force_val
;
575 u8 config_hop_count_force
;
576 u8 hop_count_force_val
;
578 /* channel frequency in MHz to enable Nan on */
579 u8 config_24g_channel
;
582 u8 config_5g_channel
;
584 u8 config_subscribe_sid_beacon
;
585 u32 subscribe_sid_beacon_val
;
587 /*NanConfigDW config_dw*/
588 u8 config_2dot4g_dw_band
;
589 u32 dw_2dot4g_interval_val
;
590 u8 config_5g_dw_band
;
591 u32 dw_5g_interval_val
;
592 u32 disc_mac_addr_rand_interval_sec
;
595 struct slsi_hal_nan_publish_req
{
596 /* id 0 means new publish, any other id is existing publish */
598 /* how many seconds to run for. 0 means forever until canceled */
600 /* periodicity of OTA unsolicited publish.
601 * Specified in increments of 500 ms
604 u8 publish_type
;/* 0= unsolicited, solicited = 1, 2= both */
605 u8 tx_type
; /* 0 = broadcast, 1= unicast if solicited publish */
606 /* number of OTA Publish, 0 means forever until canceled */
608 u16 service_name_len
;
609 u8 service_name
[SLSI_HAL_NAN_MAX_SERVICE_NAME_LEN
];
610 u8 publish_match_indicator
;
612 u16 service_specific_info_len
;
613 u8 service_specific_info
[SLSI_HAL_NAN_MAX_SERVICE_SPECIFIC_INFO_LEN
];
615 u16 rx_match_filter_len
;
616 u8 rx_match_filter
[SLSI_HAL_NAN_MAX_MATCH_FILTER_LEN
];
618 u16 tx_match_filter_len
;
619 u8 tx_match_filter
[SLSI_HAL_NAN_MAX_MATCH_FILTER_LEN
];
621 u8 rssi_threshold_flag
;
623 /* 8-bit bitmap which allows the Host to associate this publish
624 * with a particular Post-NAN Connectivity attribute
625 * which has been sent down in a NanConfigureRequest/NanEnableRequest
626 * message. If the DE fails to find a configured Post-NAN
627 * connectivity attributes referenced by the bitmap,
628 * the DE will return an error code to the Host.
629 * If the Publish is configured to use a Post-NAN Connectivity
630 * attribute and the Host does not refresh the Post-NAN Connectivity
631 * attribute the Publish will be canceled and the Host will be sent
632 * a PublishTerminatedIndication message.
635 /* Set/Enable corresponding bits to disable any
636 * indications that follow a publish.
637 * BIT0 - Disable publish termination indication.
638 * BIT1 - Disable match expired indication.
639 * BIT2 - Disable followUp indication received (OTA).
641 u8 recv_indication_cfg
;
643 u8 service_responder_policy
;
644 struct slsi_nan_security_info sec_info
;
645 struct slsi_nan_sdea_ctrl_params sdea_params
;
646 struct slsi_nan_ranging_cfg ranging_cfg
;
647 u8 ranging_auto_response
;
648 struct slsi_nan_range_response_cfg range_response_cfg
;
650 u16 sdea_service_specific_info_len
;
651 u8 sdea_service_specific_info
[SLSI_HAL_NAN_MAX_SDEA_SERVICE_SPEC_INFO_LEN
];
654 struct slsi_hal_nan_subscribe_req
{
655 /* id 0 means new subscribe, non zero is existing subscribe */
657 /* how many seconds to run for. 0 means forever until canceled */
659 /* periodicity of OTA Active Subscribe. Units in increments
660 * of 500 ms , 0 = attempt every DW
664 /* Flag which specifies how the Subscribe request shall be processed. */
665 u8 subscribe_type
; /* 0 - PASSIVE , 1- ACTIVE */
667 /* Flag which specifies on Active Subscribes how the Service Response
668 * Filter attribute is populated.
670 u8 service_response_filter
; /* 0 - Bloom Filter, 1 - MAC Addr */
672 /* Flag which specifies how the Service Response Filter Include
674 * 0=Do not respond if in the Address Set, 1= Respond
676 u8 service_response_include
;
678 /* Flag which specifies if the Service Response Filter
679 * should be used when creating Subscribes.
680 * 0=Do not send the Service Response Filter,1= send
682 u8 use_service_response_filter
;
684 /* Flag which specifies if the Service Specific Info is needed in
685 * the Publish message before creating the MatchIndication
687 u8 ssi_required_for_match_indication
; /* 0=Not needed, 1= Required */
689 /* Field which specifies how matching indication to host is controlled.
690 * 0 - Match and Indicate Once
691 * 1 - Match and Indicate continuous
692 * 2 - Match and Indicate never. This means don't
693 * indicate match to host.
696 u8 subscribe_match_indicator
;
698 /* The number of Subscribe Matches which should occur
699 * before the Subscribe request is automatically terminated.
701 /* If this value is 0 this field is not used by DE.*/
704 /* length of service name */
705 /* UTF-8 encoded string identifying the service */
706 u16 service_name_len
;
707 u8 service_name
[SLSI_HAL_NAN_MAX_SERVICE_NAME_LEN
];
709 /* Sequence of values which further specify the published service
710 * beyond the service name
712 u16 service_specific_info_len
;
713 u8 service_specific_info
[SLSI_HAL_NAN_MAX_SERVICE_SPECIFIC_INFO_LEN
];
715 /* Ordered sequence of <length, value> pairs used to filter out
716 * received publish discovery messages.
717 * This can be sent both for a Passive or an Active Subscribe
719 u16 rx_match_filter_len
;
720 u8 rx_match_filter
[SLSI_HAL_NAN_MAX_MATCH_FILTER_LEN
];
722 /* Ordered sequence of <length, value> pairs included in the
723 * Discovery Frame when an Active Subscribe is used.
725 u16 tx_match_filter_len
;
726 u8 tx_match_filter
[SLSI_HAL_NAN_MAX_MATCH_FILTER_LEN
];
727 u8 rssi_threshold_flag
;
730 /* NAN Interface Address, conforming to the format as described in
731 * 8.2.4.3.2 of IEEE Std. 802.11-2012.
733 u8 num_intf_addr_present
;
734 u8 intf_addr
[SLSI_HAL_NAN_MAX_SUBSCRIBE_MAX_ADDRESS
][ETH_ALEN
];
735 /* Set/Enable corresponding bits to disable
736 * indications that follow a subscribe.
737 * BIT0 - Disable subscribe termination indication.
738 * BIT1 - Disable match expired indication.
739 * BIT2 - Disable followUp indication received (OTA).
741 u8 recv_indication_cfg
;
743 struct slsi_nan_security_info sec_info
;
744 struct slsi_nan_sdea_ctrl_params sdea_params
;
745 struct slsi_nan_ranging_cfg ranging_cfg
;
746 u8 ranging_auto_response
;
747 struct slsi_nan_range_response_cfg range_response_cfg
;
749 u16 sdea_service_specific_info_len
;
750 u8 sdea_service_specific_info
[SLSI_HAL_NAN_MAX_SDEA_SERVICE_SPEC_INFO_LEN
];
753 struct slsi_hal_nan_transmit_followup_req
{
754 /* Publish or Subscribe Id of an earlier Publish/Subscribe */
755 u16 publish_subscribe_id
;
757 /* This Id is the Requestor Instance that is passed as
758 * part of earlier MatchInd/FollowupInd message.
760 u32 requestor_instance_id
;
761 u8 addr
[ETH_ALEN
]; /* Unicast address */
762 u8 priority
; /* priority of the request 2=high */
763 u8 dw_or_faw
; /* 0= send in a DW, 1=send in FAW */
765 /* Sequence of values which further specify the published service beyond
768 u16 service_specific_info_len
;
769 u8 service_specific_info
[SLSI_HAL_NAN_MAX_SERVICE_SPECIFIC_INFO_LEN
];
770 /* Set/Enable corresponding bits to disable
771 * responses after followUp.
772 * BIT0 - Disable followUp response from FW.
774 u8 recv_indication_cfg
;
776 u16 sdea_service_specific_info_len
;
777 u8 sdea_service_specific_info
[SLSI_HAL_NAN_MAX_SDEA_SERVICE_SPEC_INFO_LEN
];
780 struct slsi_hal_nan_config_req
{
781 u8 config_sid_beacon
;
783 u8 config_rssi_proximity
;
785 u8 config_master_pref
;
787 /* 1 byte value which defines the RSSI filter threshold.
788 * Any Service Descriptors received above this value
789 * that are configured for RSSI filtering will be dropped.
790 * The rssi values should be specified without sign.
791 * For eg: -70dBm should be specified as 70.
793 u8 config_5g_rssi_close_proximity
;
794 u8 rssi_close_proximity_5g_val
;
795 u8 config_rssi_window_size
;
796 u16 rssi_window_size_val
;
797 /* If set to 1, the Discovery Engine will enclose the Cluster
798 * Attribute only sent in Beacons in a Vendor Specific Attribute
799 * and transmit in a Service Descriptor Frame.
801 u8 config_cluster_attribute_val
;
802 u8 config_scan_params
;
803 struct slsi_hal_nan_social_channel_scan_params scan_params_val
;
804 /* 1 byte quantity which forces the Random Factor to a particular
805 * value for all transmitted Sync/Discovery beacons
807 u8 config_random_factor_force
;
808 u8 random_factor_force_val
;
809 /* 1 byte quantity which forces the HC for all transmitted Sync and
810 * Discovery Beacon NO matter the real HC being received over the
813 u8 config_hop_count_force
;
814 u8 hop_count_force_val
;
815 /* NAN Post Connectivity Capability */
816 u8 config_conn_capability
;
817 struct slsi_hal_nan_connectivity_capability conn_capability_val
;
818 /* NAN Post Discover Capability */
819 u8 num_config_discovery_attr
;
820 struct slsi_hal_nan_post_discovery_param discovery_attr_val
[SLSI_HAL_NAN_MAX_POSTDISCOVERY_LEN
];
821 /* NAN Further availability Map */
823 struct slsi_hal_nan_further_availability_map fam_val
;
826 u8 config_subscribe_sid_beacon
;
827 u32 subscribe_sid_beacon_val
;
829 /*NanConfigDW config_dw*/
830 u8 config_2dot4g_dw_band
;
831 u32 dw_2dot4g_interval_val
;
832 u8 config_5g_dw_band
;
833 u32 dw_5g_interval_val
;
834 u32 disc_mac_addr_rand_interval_sec
;
838 struct slsi_hal_nan_capabilities
{
839 u32 max_concurrent_nan_clusters
;
842 u32 max_service_name_len
;
843 u32 max_match_filter_len
;
844 u32 max_total_match_filter_len
;
845 u32 max_service_specific_info_len
;
846 u32 max_vsa_data_len
;
847 u32 max_mesh_data_len
;
848 u32 max_ndi_interfaces
;
849 u32 max_ndp_sessions
;
850 u32 max_app_info_len
;
853 struct slsi_hal_nan_followup_ind
{
854 u16 publish_subscribe_id
;
855 u32 requestor_instance_id
;
858 u16 service_specific_info_len
;
859 u8 service_specific_info
[SLSI_HAL_NAN_MAX_SERVICE_SPECIFIC_INFO_LEN
];
860 u16 sdea_service_specific_info_len
;
861 u8 sdea_service_specific_info
[SLSI_HAL_NAN_MAX_SDEA_SERVICE_SPEC_INFO_LEN
];
864 struct slsi_hal_nan_match_ind
{
865 u16 publish_subscribe_id
;
866 u32 requestor_instance_id
;
868 u16 service_specific_info_len
;
869 u8 service_specific_info
[SLSI_HAL_NAN_MAX_SERVICE_SPECIFIC_INFO_LEN
];
870 u16 sdf_match_filter_len
;
871 u8 sdf_match_filter
[SLSI_HAL_NAN_MAX_MATCH_FILTER_LEN
];
872 u8 match_occurred_flag
;
873 u8 out_of_resource_flag
;
875 u8 is_conn_capability_valid
;
876 struct slsi_hal_nan_connectivity_capability conn_capability
;
877 u8 num_rx_discovery_attr
;
878 struct slsi_hal_nan_receive_post_discovery discovery_attr
[SLSI_HAL_NAN_MAX_POSTDISCOVERY_LEN
];
880 struct slsi_hal_nan_further_availability_channel famchan
[32];
881 u8 cluster_attribute_len
;
882 u8 cluster_attribute
[32];
883 struct slsi_nan_security_info sec_info
;
884 struct slsi_nan_sdea_ctrl_params peer_sdea_params
;
885 u32 range_measurement_mm
;
886 u32 ranging_event_type
;
887 u16 sdea_service_specific_info_len
;
888 u8 sdea_service_specific_info
[SLSI_HAL_NAN_MAX_SDEA_SERVICE_SPEC_INFO_LEN
];
891 void slsi_nan_event(struct slsi_dev
*sdev
, struct net_device
*dev
, struct sk_buff
*skb
);
892 void slsi_nan_followup_ind(struct slsi_dev
*sdev
, struct net_device
*dev
, struct sk_buff
*skb
);
893 void slsi_nan_service_ind(struct slsi_dev
*sdev
, struct net_device
*dev
, struct sk_buff
*skb
);
894 void slsi_nan_get_mac(struct slsi_dev
*sdev
, char *nan_mac_addr
);
895 struct net_device
*slsi_nan_get_netdev(struct slsi_dev
*sdev
);
896 int slsi_nan_enable(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
897 int slsi_nan_disable(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
898 int slsi_nan_publish(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
899 int slsi_nan_publish_cancel(struct wiphy
*wiphy
, struct wireless_dev
*wdev
,
900 const void *data
, int len
);
901 int slsi_nan_subscribe(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
902 int slsi_nan_subscribe_cancel(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
903 int slsi_nan_transmit_followup(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
904 int slsi_nan_set_config(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);
905 int slsi_nan_get_capabilities(struct wiphy
*wiphy
, struct wireless_dev
*wdev
, const void *data
, int len
);