1 /*****************************************************************************
3 (c) Cambridge Silicon Radio Limited 2012
4 All rights reserved and confidential information of CSR
6 Refer to LICENSE.txt included with this source for details
9 *****************************************************************************/
11 /* Note: this is an auto-generated file. */
12 #include <linux/string.h>
13 #include <linux/slab.h>
14 #include "csr_msgconv.h"
15 #include "csr_wifi_sme_prim.h"
16 #include "csr_wifi_sme_serialize.h"
18 void CsrWifiSmePfree(void *ptr
)
24 size_t CsrWifiSmeAdhocConfigSetReqSizeof(void *msg
)
26 size_t bufferSize
= 2;
28 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
29 bufferSize
+= 2; /* u16 primitive->adHocConfig.atimWindowTu */
30 bufferSize
+= 2; /* u16 primitive->adHocConfig.beaconPeriodTu */
31 bufferSize
+= 2; /* u16 primitive->adHocConfig.joinOnlyAttempts */
32 bufferSize
+= 2; /* u16 primitive->adHocConfig.joinAttemptIntervalMs */
37 u8
* CsrWifiSmeAdhocConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
39 CsrWifiSmeAdhocConfigSetReq
*primitive
= (CsrWifiSmeAdhocConfigSetReq
*)msg
;
41 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
42 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.atimWindowTu
);
43 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.beaconPeriodTu
);
44 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.joinOnlyAttempts
);
45 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.joinAttemptIntervalMs
);
50 void* CsrWifiSmeAdhocConfigSetReqDes(u8
*buffer
, size_t length
)
52 CsrWifiSmeAdhocConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeAdhocConfigSetReq
), GFP_KERNEL
);
56 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
57 CsrUint16Des((u16
*) &primitive
->adHocConfig
.atimWindowTu
, buffer
, &offset
);
58 CsrUint16Des((u16
*) &primitive
->adHocConfig
.beaconPeriodTu
, buffer
, &offset
);
59 CsrUint16Des((u16
*) &primitive
->adHocConfig
.joinOnlyAttempts
, buffer
, &offset
);
60 CsrUint16Des((u16
*) &primitive
->adHocConfig
.joinAttemptIntervalMs
, buffer
, &offset
);
66 size_t CsrWifiSmeBlacklistReqSizeof(void *msg
)
68 CsrWifiSmeBlacklistReq
*primitive
= (CsrWifiSmeBlacklistReq
*) msg
;
69 size_t bufferSize
= 2;
71 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
72 bufferSize
+= 2; /* u16 primitive->interfaceTag */
73 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
74 bufferSize
+= 1; /* u8 primitive->setAddressCount */
77 for (i1
= 0; i1
< primitive
->setAddressCount
; i1
++)
79 bufferSize
+= 6; /* u8 primitive->setAddresses[i1].a[6] */
86 u8
* CsrWifiSmeBlacklistReqSer(u8
*ptr
, size_t *len
, void *msg
)
88 CsrWifiSmeBlacklistReq
*primitive
= (CsrWifiSmeBlacklistReq
*)msg
;
90 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
91 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
92 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
93 CsrUint8Ser(ptr
, len
, (u8
) primitive
->setAddressCount
);
96 for (i1
= 0; i1
< primitive
->setAddressCount
; i1
++)
98 CsrMemCpySer(ptr
, len
, (const void *) primitive
->setAddresses
[i1
].a
, ((u16
) (6)));
105 void* CsrWifiSmeBlacklistReqDes(u8
*buffer
, size_t length
)
107 CsrWifiSmeBlacklistReq
*primitive
= kmalloc(sizeof(CsrWifiSmeBlacklistReq
), GFP_KERNEL
);
111 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
112 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
113 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
114 CsrUint8Des((u8
*) &primitive
->setAddressCount
, buffer
, &offset
);
115 primitive
->setAddresses
= NULL
;
116 if (primitive
->setAddressCount
)
118 primitive
->setAddresses
= kmalloc(sizeof(CsrWifiMacAddress
) * primitive
->setAddressCount
, GFP_KERNEL
);
122 for (i1
= 0; i1
< primitive
->setAddressCount
; i1
++)
124 CsrMemCpyDes(primitive
->setAddresses
[i1
].a
, buffer
, &offset
, ((u16
) (6)));
132 void CsrWifiSmeBlacklistReqSerFree(void *voidPrimitivePointer
)
134 CsrWifiSmeBlacklistReq
*primitive
= (CsrWifiSmeBlacklistReq
*) voidPrimitivePointer
;
135 kfree(primitive
->setAddresses
);
140 size_t CsrWifiSmeCalibrationDataSetReqSizeof(void *msg
)
142 CsrWifiSmeCalibrationDataSetReq
*primitive
= (CsrWifiSmeCalibrationDataSetReq
*) msg
;
143 size_t bufferSize
= 2;
145 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
146 bufferSize
+= 2; /* u16 primitive->calibrationDataLength */
147 bufferSize
+= primitive
->calibrationDataLength
; /* u8 primitive->calibrationData */
152 u8
* CsrWifiSmeCalibrationDataSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
154 CsrWifiSmeCalibrationDataSetReq
*primitive
= (CsrWifiSmeCalibrationDataSetReq
*)msg
;
156 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
157 CsrUint16Ser(ptr
, len
, (u16
) primitive
->calibrationDataLength
);
158 if (primitive
->calibrationDataLength
)
160 CsrMemCpySer(ptr
, len
, (const void *) primitive
->calibrationData
, ((u16
) (primitive
->calibrationDataLength
)));
166 void* CsrWifiSmeCalibrationDataSetReqDes(u8
*buffer
, size_t length
)
168 CsrWifiSmeCalibrationDataSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeCalibrationDataSetReq
), GFP_KERNEL
);
172 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
173 CsrUint16Des((u16
*) &primitive
->calibrationDataLength
, buffer
, &offset
);
174 if (primitive
->calibrationDataLength
)
176 primitive
->calibrationData
= kmalloc(primitive
->calibrationDataLength
, GFP_KERNEL
);
177 CsrMemCpyDes(primitive
->calibrationData
, buffer
, &offset
, ((u16
) (primitive
->calibrationDataLength
)));
181 primitive
->calibrationData
= NULL
;
188 void CsrWifiSmeCalibrationDataSetReqSerFree(void *voidPrimitivePointer
)
190 CsrWifiSmeCalibrationDataSetReq
*primitive
= (CsrWifiSmeCalibrationDataSetReq
*) voidPrimitivePointer
;
191 kfree(primitive
->calibrationData
);
196 size_t CsrWifiSmeCcxConfigSetReqSizeof(void *msg
)
198 size_t bufferSize
= 2;
200 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
201 bufferSize
+= 2; /* u16 primitive->interfaceTag */
202 bufferSize
+= 1; /* u8 primitive->ccxConfig.keepAliveTimeMs */
203 bufferSize
+= 1; /* u8 primitive->ccxConfig.apRoamingEnabled */
204 bufferSize
+= 1; /* u8 primitive->ccxConfig.measurementsMask */
205 bufferSize
+= 1; /* u8 primitive->ccxConfig.ccxRadioMgtEnabled */
210 u8
* CsrWifiSmeCcxConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
212 CsrWifiSmeCcxConfigSetReq
*primitive
= (CsrWifiSmeCcxConfigSetReq
*)msg
;
214 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
215 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
216 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.keepAliveTimeMs
);
217 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.apRoamingEnabled
);
218 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.measurementsMask
);
219 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.ccxRadioMgtEnabled
);
224 void* CsrWifiSmeCcxConfigSetReqDes(u8
*buffer
, size_t length
)
226 CsrWifiSmeCcxConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeCcxConfigSetReq
), GFP_KERNEL
);
230 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
231 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
232 CsrUint8Des((u8
*) &primitive
->ccxConfig
.keepAliveTimeMs
, buffer
, &offset
);
233 CsrUint8Des((u8
*) &primitive
->ccxConfig
.apRoamingEnabled
, buffer
, &offset
);
234 CsrUint8Des((u8
*) &primitive
->ccxConfig
.measurementsMask
, buffer
, &offset
);
235 CsrUint8Des((u8
*) &primitive
->ccxConfig
.ccxRadioMgtEnabled
, buffer
, &offset
);
241 size_t CsrWifiSmeCoexConfigSetReqSizeof(void *msg
)
243 size_t bufferSize
= 2;
245 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 29) */
246 bufferSize
+= 1; /* u8 primitive->coexConfig.coexEnableSchemeManagement */
247 bufferSize
+= 1; /* u8 primitive->coexConfig.coexPeriodicWakeHost */
248 bufferSize
+= 2; /* u16 primitive->coexConfig.coexTrafficBurstyLatencyMs */
249 bufferSize
+= 2; /* u16 primitive->coexConfig.coexTrafficContinuousLatencyMs */
250 bufferSize
+= 2; /* u16 primitive->coexConfig.coexObexBlackoutDurationMs */
251 bufferSize
+= 2; /* u16 primitive->coexConfig.coexObexBlackoutPeriodMs */
252 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpBrBlackoutDurationMs */
253 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpBrBlackoutPeriodMs */
254 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpEdrBlackoutDurationMs */
255 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs */
256 bufferSize
+= 2; /* u16 primitive->coexConfig.coexPagingBlackoutDurationMs */
257 bufferSize
+= 2; /* u16 primitive->coexConfig.coexPagingBlackoutPeriodMs */
258 bufferSize
+= 2; /* u16 primitive->coexConfig.coexInquiryBlackoutDurationMs */
259 bufferSize
+= 2; /* u16 primitive->coexConfig.coexInquiryBlackoutPeriodMs */
264 u8
* CsrWifiSmeCoexConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
266 CsrWifiSmeCoexConfigSetReq
*primitive
= (CsrWifiSmeCoexConfigSetReq
*)msg
;
268 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
269 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexConfig
.coexEnableSchemeManagement
);
270 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexConfig
.coexPeriodicWakeHost
);
271 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexTrafficBurstyLatencyMs
);
272 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexTrafficContinuousLatencyMs
);
273 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexObexBlackoutDurationMs
);
274 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexObexBlackoutPeriodMs
);
275 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpBrBlackoutDurationMs
);
276 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpBrBlackoutPeriodMs
);
277 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpEdrBlackoutDurationMs
);
278 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpEdrBlackoutPeriodMs
);
279 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexPagingBlackoutDurationMs
);
280 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexPagingBlackoutPeriodMs
);
281 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexInquiryBlackoutDurationMs
);
282 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexInquiryBlackoutPeriodMs
);
287 void* CsrWifiSmeCoexConfigSetReqDes(u8
*buffer
, size_t length
)
289 CsrWifiSmeCoexConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeCoexConfigSetReq
), GFP_KERNEL
);
293 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
294 CsrUint8Des((u8
*) &primitive
->coexConfig
.coexEnableSchemeManagement
, buffer
, &offset
);
295 CsrUint8Des((u8
*) &primitive
->coexConfig
.coexPeriodicWakeHost
, buffer
, &offset
);
296 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexTrafficBurstyLatencyMs
, buffer
, &offset
);
297 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexTrafficContinuousLatencyMs
, buffer
, &offset
);
298 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexObexBlackoutDurationMs
, buffer
, &offset
);
299 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexObexBlackoutPeriodMs
, buffer
, &offset
);
300 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpBrBlackoutDurationMs
, buffer
, &offset
);
301 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpBrBlackoutPeriodMs
, buffer
, &offset
);
302 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpEdrBlackoutDurationMs
, buffer
, &offset
);
303 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpEdrBlackoutPeriodMs
, buffer
, &offset
);
304 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexPagingBlackoutDurationMs
, buffer
, &offset
);
305 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexPagingBlackoutPeriodMs
, buffer
, &offset
);
306 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexInquiryBlackoutDurationMs
, buffer
, &offset
);
307 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexInquiryBlackoutPeriodMs
, buffer
, &offset
);
313 size_t CsrWifiSmeConnectReqSizeof(void *msg
)
315 CsrWifiSmeConnectReq
*primitive
= (CsrWifiSmeConnectReq
*) msg
;
316 size_t bufferSize
= 2;
318 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 57) */
319 bufferSize
+= 2; /* u16 primitive->interfaceTag */
320 bufferSize
+= 32; /* u8 primitive->connectionConfig.ssid.ssid[32] */
321 bufferSize
+= 1; /* u8 primitive->connectionConfig.ssid.length */
322 bufferSize
+= 6; /* u8 primitive->connectionConfig.bssid.a[6] */
323 bufferSize
+= 1; /* CsrWifiSmeBssType primitive->connectionConfig.bssType */
324 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->connectionConfig.ifIndex */
325 bufferSize
+= 1; /* CsrWifiSme80211PrivacyMode primitive->connectionConfig.privacyMode */
326 bufferSize
+= 2; /* CsrWifiSmeAuthModeMask primitive->connectionConfig.authModeMask */
327 bufferSize
+= 2; /* CsrWifiSmeEncryptionMask primitive->connectionConfig.encryptionModeMask */
328 bufferSize
+= 2; /* u16 primitive->connectionConfig.mlmeAssociateReqInformationElementsLength */
329 bufferSize
+= primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
; /* u8 primitive->connectionConfig.mlmeAssociateReqInformationElements */
330 bufferSize
+= 1; /* CsrWifiSmeWmmQosInfoMask primitive->connectionConfig.wmmQosInfo */
331 bufferSize
+= 1; /* u8 primitive->connectionConfig.adhocJoinOnly */
332 bufferSize
+= 1; /* u8 primitive->connectionConfig.adhocChannel */
337 u8
* CsrWifiSmeConnectReqSer(u8
*ptr
, size_t *len
, void *msg
)
339 CsrWifiSmeConnectReq
*primitive
= (CsrWifiSmeConnectReq
*)msg
;
341 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
342 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
343 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionConfig
.ssid
.ssid
, ((u16
) (32)));
344 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.ssid
.length
);
345 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionConfig
.bssid
.a
, ((u16
) (6)));
346 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.bssType
);
347 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.ifIndex
);
348 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.privacyMode
);
349 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionConfig
.authModeMask
);
350 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionConfig
.encryptionModeMask
);
351 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
);
352 if (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)
354 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionConfig
.mlmeAssociateReqInformationElements
, ((u16
) (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)));
356 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.wmmQosInfo
);
357 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.adhocJoinOnly
);
358 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.adhocChannel
);
363 void* CsrWifiSmeConnectReqDes(u8
*buffer
, size_t length
)
365 CsrWifiSmeConnectReq
*primitive
= kmalloc(sizeof(CsrWifiSmeConnectReq
), GFP_KERNEL
);
369 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
370 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
371 CsrMemCpyDes(primitive
->connectionConfig
.ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
372 CsrUint8Des((u8
*) &primitive
->connectionConfig
.ssid
.length
, buffer
, &offset
);
373 CsrMemCpyDes(primitive
->connectionConfig
.bssid
.a
, buffer
, &offset
, ((u16
) (6)));
374 CsrUint8Des((u8
*) &primitive
->connectionConfig
.bssType
, buffer
, &offset
);
375 CsrUint8Des((u8
*) &primitive
->connectionConfig
.ifIndex
, buffer
, &offset
);
376 CsrUint8Des((u8
*) &primitive
->connectionConfig
.privacyMode
, buffer
, &offset
);
377 CsrUint16Des((u16
*) &primitive
->connectionConfig
.authModeMask
, buffer
, &offset
);
378 CsrUint16Des((u16
*) &primitive
->connectionConfig
.encryptionModeMask
, buffer
, &offset
);
379 CsrUint16Des((u16
*) &primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
, buffer
, &offset
);
380 if (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)
382 primitive
->connectionConfig
.mlmeAssociateReqInformationElements
= kmalloc(primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
, GFP_KERNEL
);
383 CsrMemCpyDes(primitive
->connectionConfig
.mlmeAssociateReqInformationElements
, buffer
, &offset
, ((u16
) (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)));
387 primitive
->connectionConfig
.mlmeAssociateReqInformationElements
= NULL
;
389 CsrUint8Des((u8
*) &primitive
->connectionConfig
.wmmQosInfo
, buffer
, &offset
);
390 CsrUint8Des((u8
*) &primitive
->connectionConfig
.adhocJoinOnly
, buffer
, &offset
);
391 CsrUint8Des((u8
*) &primitive
->connectionConfig
.adhocChannel
, buffer
, &offset
);
397 void CsrWifiSmeConnectReqSerFree(void *voidPrimitivePointer
)
399 CsrWifiSmeConnectReq
*primitive
= (CsrWifiSmeConnectReq
*) voidPrimitivePointer
;
400 kfree(primitive
->connectionConfig
.mlmeAssociateReqInformationElements
);
405 size_t CsrWifiSmeHostConfigSetReqSizeof(void *msg
)
407 size_t bufferSize
= 2;
409 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
410 bufferSize
+= 2; /* u16 primitive->interfaceTag */
411 bufferSize
+= 1; /* CsrWifiSmeHostPowerMode primitive->hostConfig.powerMode */
412 bufferSize
+= 2; /* u16 primitive->hostConfig.applicationDataPeriodMs */
417 u8
* CsrWifiSmeHostConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
419 CsrWifiSmeHostConfigSetReq
*primitive
= (CsrWifiSmeHostConfigSetReq
*)msg
;
421 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
422 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
423 CsrUint8Ser(ptr
, len
, (u8
) primitive
->hostConfig
.powerMode
);
424 CsrUint16Ser(ptr
, len
, (u16
) primitive
->hostConfig
.applicationDataPeriodMs
);
429 void* CsrWifiSmeHostConfigSetReqDes(u8
*buffer
, size_t length
)
431 CsrWifiSmeHostConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeHostConfigSetReq
), GFP_KERNEL
);
435 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
436 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
437 CsrUint8Des((u8
*) &primitive
->hostConfig
.powerMode
, buffer
, &offset
);
438 CsrUint16Des((u16
*) &primitive
->hostConfig
.applicationDataPeriodMs
, buffer
, &offset
);
444 size_t CsrWifiSmeKeyReqSizeof(void *msg
)
446 size_t bufferSize
= 2;
448 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 65) */
449 bufferSize
+= 2; /* u16 primitive->interfaceTag */
450 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
451 bufferSize
+= 1; /* CsrWifiSmeKeyType primitive->key.keyType */
452 bufferSize
+= 1; /* u8 primitive->key.keyIndex */
453 bufferSize
+= 1; /* u8 primitive->key.wepTxKey */
456 for (i2
= 0; i2
< 8; i2
++)
458 bufferSize
+= 2; /* u16 primitive->key.keyRsc[8] */
461 bufferSize
+= 1; /* u8 primitive->key.authenticator */
462 bufferSize
+= 6; /* u8 primitive->key.address.a[6] */
463 bufferSize
+= 1; /* u8 primitive->key.keyLength */
464 bufferSize
+= 32; /* u8 primitive->key.key[32] */
469 u8
* CsrWifiSmeKeyReqSer(u8
*ptr
, size_t *len
, void *msg
)
471 CsrWifiSmeKeyReq
*primitive
= (CsrWifiSmeKeyReq
*)msg
;
473 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
474 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
475 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
476 CsrUint8Ser(ptr
, len
, (u8
) primitive
->key
.keyType
);
477 CsrUint8Ser(ptr
, len
, (u8
) primitive
->key
.keyIndex
);
478 CsrUint8Ser(ptr
, len
, (u8
) primitive
->key
.wepTxKey
);
481 for (i2
= 0; i2
< 8; i2
++)
483 CsrUint16Ser(ptr
, len
, (u16
) primitive
->key
.keyRsc
[i2
]);
486 CsrUint8Ser(ptr
, len
, (u8
) primitive
->key
.authenticator
);
487 CsrMemCpySer(ptr
, len
, (const void *) primitive
->key
.address
.a
, ((u16
) (6)));
488 CsrUint8Ser(ptr
, len
, (u8
) primitive
->key
.keyLength
);
489 CsrMemCpySer(ptr
, len
, (const void *) primitive
->key
.key
, ((u16
) (32)));
494 void* CsrWifiSmeKeyReqDes(u8
*buffer
, size_t length
)
496 CsrWifiSmeKeyReq
*primitive
= kmalloc(sizeof(CsrWifiSmeKeyReq
), GFP_KERNEL
);
500 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
501 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
502 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
503 CsrUint8Des((u8
*) &primitive
->key
.keyType
, buffer
, &offset
);
504 CsrUint8Des((u8
*) &primitive
->key
.keyIndex
, buffer
, &offset
);
505 CsrUint8Des((u8
*) &primitive
->key
.wepTxKey
, buffer
, &offset
);
508 for (i2
= 0; i2
< 8; i2
++)
510 CsrUint16Des((u16
*) &primitive
->key
.keyRsc
[i2
], buffer
, &offset
);
513 CsrUint8Des((u8
*) &primitive
->key
.authenticator
, buffer
, &offset
);
514 CsrMemCpyDes(primitive
->key
.address
.a
, buffer
, &offset
, ((u16
) (6)));
515 CsrUint8Des((u8
*) &primitive
->key
.keyLength
, buffer
, &offset
);
516 CsrMemCpyDes(primitive
->key
.key
, buffer
, &offset
, ((u16
) (32)));
522 size_t CsrWifiSmeMibConfigSetReqSizeof(void *msg
)
524 size_t bufferSize
= 2;
526 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
527 bufferSize
+= 1; /* u8 primitive->mibConfig.unifiFixMaxTxDataRate */
528 bufferSize
+= 1; /* u8 primitive->mibConfig.unifiFixTxDataRate */
529 bufferSize
+= 2; /* u16 primitive->mibConfig.dot11RtsThreshold */
530 bufferSize
+= 2; /* u16 primitive->mibConfig.dot11FragmentationThreshold */
531 bufferSize
+= 2; /* u16 primitive->mibConfig.dot11CurrentTxPowerLevel */
536 u8
* CsrWifiSmeMibConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
538 CsrWifiSmeMibConfigSetReq
*primitive
= (CsrWifiSmeMibConfigSetReq
*)msg
;
540 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
541 CsrUint8Ser(ptr
, len
, (u8
) primitive
->mibConfig
.unifiFixMaxTxDataRate
);
542 CsrUint8Ser(ptr
, len
, (u8
) primitive
->mibConfig
.unifiFixTxDataRate
);
543 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibConfig
.dot11RtsThreshold
);
544 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibConfig
.dot11FragmentationThreshold
);
545 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibConfig
.dot11CurrentTxPowerLevel
);
550 void* CsrWifiSmeMibConfigSetReqDes(u8
*buffer
, size_t length
)
552 CsrWifiSmeMibConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeMibConfigSetReq
), GFP_KERNEL
);
556 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
557 CsrUint8Des((u8
*) &primitive
->mibConfig
.unifiFixMaxTxDataRate
, buffer
, &offset
);
558 CsrUint8Des((u8
*) &primitive
->mibConfig
.unifiFixTxDataRate
, buffer
, &offset
);
559 CsrUint16Des((u16
*) &primitive
->mibConfig
.dot11RtsThreshold
, buffer
, &offset
);
560 CsrUint16Des((u16
*) &primitive
->mibConfig
.dot11FragmentationThreshold
, buffer
, &offset
);
561 CsrUint16Des((u16
*) &primitive
->mibConfig
.dot11CurrentTxPowerLevel
, buffer
, &offset
);
567 size_t CsrWifiSmeMibGetNextReqSizeof(void *msg
)
569 CsrWifiSmeMibGetNextReq
*primitive
= (CsrWifiSmeMibGetNextReq
*) msg
;
570 size_t bufferSize
= 2;
572 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
573 bufferSize
+= 2; /* u16 primitive->mibAttributeLength */
574 bufferSize
+= primitive
->mibAttributeLength
; /* u8 primitive->mibAttribute */
579 u8
* CsrWifiSmeMibGetNextReqSer(u8
*ptr
, size_t *len
, void *msg
)
581 CsrWifiSmeMibGetNextReq
*primitive
= (CsrWifiSmeMibGetNextReq
*)msg
;
583 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
584 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibAttributeLength
);
585 if (primitive
->mibAttributeLength
)
587 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibAttribute
, ((u16
) (primitive
->mibAttributeLength
)));
593 void* CsrWifiSmeMibGetNextReqDes(u8
*buffer
, size_t length
)
595 CsrWifiSmeMibGetNextReq
*primitive
= kmalloc(sizeof(CsrWifiSmeMibGetNextReq
), GFP_KERNEL
);
599 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
600 CsrUint16Des((u16
*) &primitive
->mibAttributeLength
, buffer
, &offset
);
601 if (primitive
->mibAttributeLength
)
603 primitive
->mibAttribute
= kmalloc(primitive
->mibAttributeLength
, GFP_KERNEL
);
604 CsrMemCpyDes(primitive
->mibAttribute
, buffer
, &offset
, ((u16
) (primitive
->mibAttributeLength
)));
608 primitive
->mibAttribute
= NULL
;
615 void CsrWifiSmeMibGetNextReqSerFree(void *voidPrimitivePointer
)
617 CsrWifiSmeMibGetNextReq
*primitive
= (CsrWifiSmeMibGetNextReq
*) voidPrimitivePointer
;
618 kfree(primitive
->mibAttribute
);
623 size_t CsrWifiSmeMibGetReqSizeof(void *msg
)
625 CsrWifiSmeMibGetReq
*primitive
= (CsrWifiSmeMibGetReq
*) msg
;
626 size_t bufferSize
= 2;
628 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
629 bufferSize
+= 2; /* u16 primitive->mibAttributeLength */
630 bufferSize
+= primitive
->mibAttributeLength
; /* u8 primitive->mibAttribute */
635 u8
* CsrWifiSmeMibGetReqSer(u8
*ptr
, size_t *len
, void *msg
)
637 CsrWifiSmeMibGetReq
*primitive
= (CsrWifiSmeMibGetReq
*)msg
;
639 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
640 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibAttributeLength
);
641 if (primitive
->mibAttributeLength
)
643 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibAttribute
, ((u16
) (primitive
->mibAttributeLength
)));
649 void* CsrWifiSmeMibGetReqDes(u8
*buffer
, size_t length
)
651 CsrWifiSmeMibGetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeMibGetReq
), GFP_KERNEL
);
655 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
656 CsrUint16Des((u16
*) &primitive
->mibAttributeLength
, buffer
, &offset
);
657 if (primitive
->mibAttributeLength
)
659 primitive
->mibAttribute
= kmalloc(primitive
->mibAttributeLength
, GFP_KERNEL
);
660 CsrMemCpyDes(primitive
->mibAttribute
, buffer
, &offset
, ((u16
) (primitive
->mibAttributeLength
)));
664 primitive
->mibAttribute
= NULL
;
671 void CsrWifiSmeMibGetReqSerFree(void *voidPrimitivePointer
)
673 CsrWifiSmeMibGetReq
*primitive
= (CsrWifiSmeMibGetReq
*) voidPrimitivePointer
;
674 kfree(primitive
->mibAttribute
);
679 size_t CsrWifiSmeMibSetReqSizeof(void *msg
)
681 CsrWifiSmeMibSetReq
*primitive
= (CsrWifiSmeMibSetReq
*) msg
;
682 size_t bufferSize
= 2;
684 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
685 bufferSize
+= 2; /* u16 primitive->mibAttributeLength */
686 bufferSize
+= primitive
->mibAttributeLength
; /* u8 primitive->mibAttribute */
691 u8
* CsrWifiSmeMibSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
693 CsrWifiSmeMibSetReq
*primitive
= (CsrWifiSmeMibSetReq
*)msg
;
695 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
696 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibAttributeLength
);
697 if (primitive
->mibAttributeLength
)
699 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibAttribute
, ((u16
) (primitive
->mibAttributeLength
)));
705 void* CsrWifiSmeMibSetReqDes(u8
*buffer
, size_t length
)
707 CsrWifiSmeMibSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeMibSetReq
), GFP_KERNEL
);
711 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
712 CsrUint16Des((u16
*) &primitive
->mibAttributeLength
, buffer
, &offset
);
713 if (primitive
->mibAttributeLength
)
715 primitive
->mibAttribute
= kmalloc(primitive
->mibAttributeLength
, GFP_KERNEL
);
716 CsrMemCpyDes(primitive
->mibAttribute
, buffer
, &offset
, ((u16
) (primitive
->mibAttributeLength
)));
720 primitive
->mibAttribute
= NULL
;
727 void CsrWifiSmeMibSetReqSerFree(void *voidPrimitivePointer
)
729 CsrWifiSmeMibSetReq
*primitive
= (CsrWifiSmeMibSetReq
*) voidPrimitivePointer
;
730 kfree(primitive
->mibAttribute
);
735 size_t CsrWifiSmeMulticastAddressReqSizeof(void *msg
)
737 CsrWifiSmeMulticastAddressReq
*primitive
= (CsrWifiSmeMulticastAddressReq
*) msg
;
738 size_t bufferSize
= 2;
740 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
741 bufferSize
+= 2; /* u16 primitive->interfaceTag */
742 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
743 bufferSize
+= 1; /* u8 primitive->setAddressesCount */
746 for (i1
= 0; i1
< primitive
->setAddressesCount
; i1
++)
748 bufferSize
+= 6; /* u8 primitive->setAddresses[i1].a[6] */
755 u8
* CsrWifiSmeMulticastAddressReqSer(u8
*ptr
, size_t *len
, void *msg
)
757 CsrWifiSmeMulticastAddressReq
*primitive
= (CsrWifiSmeMulticastAddressReq
*)msg
;
759 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
760 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
761 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
762 CsrUint8Ser(ptr
, len
, (u8
) primitive
->setAddressesCount
);
765 for (i1
= 0; i1
< primitive
->setAddressesCount
; i1
++)
767 CsrMemCpySer(ptr
, len
, (const void *) primitive
->setAddresses
[i1
].a
, ((u16
) (6)));
774 void* CsrWifiSmeMulticastAddressReqDes(u8
*buffer
, size_t length
)
776 CsrWifiSmeMulticastAddressReq
*primitive
= kmalloc(sizeof(CsrWifiSmeMulticastAddressReq
), GFP_KERNEL
);
780 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
781 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
782 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
783 CsrUint8Des((u8
*) &primitive
->setAddressesCount
, buffer
, &offset
);
784 primitive
->setAddresses
= NULL
;
785 if (primitive
->setAddressesCount
)
787 primitive
->setAddresses
= kmalloc(sizeof(CsrWifiMacAddress
) * primitive
->setAddressesCount
, GFP_KERNEL
);
791 for (i1
= 0; i1
< primitive
->setAddressesCount
; i1
++)
793 CsrMemCpyDes(primitive
->setAddresses
[i1
].a
, buffer
, &offset
, ((u16
) (6)));
801 void CsrWifiSmeMulticastAddressReqSerFree(void *voidPrimitivePointer
)
803 CsrWifiSmeMulticastAddressReq
*primitive
= (CsrWifiSmeMulticastAddressReq
*) voidPrimitivePointer
;
804 kfree(primitive
->setAddresses
);
809 size_t CsrWifiSmePacketFilterSetReqSizeof(void *msg
)
811 CsrWifiSmePacketFilterSetReq
*primitive
= (CsrWifiSmePacketFilterSetReq
*) msg
;
812 size_t bufferSize
= 2;
814 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
815 bufferSize
+= 2; /* u16 primitive->interfaceTag */
816 bufferSize
+= 2; /* u16 primitive->filterLength */
817 bufferSize
+= primitive
->filterLength
; /* u8 primitive->filter */
818 bufferSize
+= 1; /* CsrWifiSmePacketFilterMode primitive->mode */
819 bufferSize
+= 4; /* u8 primitive->arpFilterAddress.a[4] */
824 u8
* CsrWifiSmePacketFilterSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
826 CsrWifiSmePacketFilterSetReq
*primitive
= (CsrWifiSmePacketFilterSetReq
*)msg
;
828 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
829 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
830 CsrUint16Ser(ptr
, len
, (u16
) primitive
->filterLength
);
831 if (primitive
->filterLength
)
833 CsrMemCpySer(ptr
, len
, (const void *) primitive
->filter
, ((u16
) (primitive
->filterLength
)));
835 CsrUint8Ser(ptr
, len
, (u8
) primitive
->mode
);
836 CsrMemCpySer(ptr
, len
, (const void *) primitive
->arpFilterAddress
.a
, ((u16
) (4)));
841 void* CsrWifiSmePacketFilterSetReqDes(u8
*buffer
, size_t length
)
843 CsrWifiSmePacketFilterSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmePacketFilterSetReq
), GFP_KERNEL
);
847 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
848 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
849 CsrUint16Des((u16
*) &primitive
->filterLength
, buffer
, &offset
);
850 if (primitive
->filterLength
)
852 primitive
->filter
= kmalloc(primitive
->filterLength
, GFP_KERNEL
);
853 CsrMemCpyDes(primitive
->filter
, buffer
, &offset
, ((u16
) (primitive
->filterLength
)));
857 primitive
->filter
= NULL
;
859 CsrUint8Des((u8
*) &primitive
->mode
, buffer
, &offset
);
860 CsrMemCpyDes(primitive
->arpFilterAddress
.a
, buffer
, &offset
, ((u16
) (4)));
866 void CsrWifiSmePacketFilterSetReqSerFree(void *voidPrimitivePointer
)
868 CsrWifiSmePacketFilterSetReq
*primitive
= (CsrWifiSmePacketFilterSetReq
*) voidPrimitivePointer
;
869 kfree(primitive
->filter
);
874 size_t CsrWifiSmePmkidReqSizeof(void *msg
)
876 CsrWifiSmePmkidReq
*primitive
= (CsrWifiSmePmkidReq
*) msg
;
877 size_t bufferSize
= 2;
879 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 29) */
880 bufferSize
+= 2; /* u16 primitive->interfaceTag */
881 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
882 bufferSize
+= 1; /* u8 primitive->setPmkidsCount */
885 for (i1
= 0; i1
< primitive
->setPmkidsCount
; i1
++)
887 bufferSize
+= 6; /* u8 primitive->setPmkids[i1].bssid.a[6] */
888 bufferSize
+= 16; /* u8 primitive->setPmkids[i1].pmkid[16] */
895 u8
* CsrWifiSmePmkidReqSer(u8
*ptr
, size_t *len
, void *msg
)
897 CsrWifiSmePmkidReq
*primitive
= (CsrWifiSmePmkidReq
*)msg
;
899 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
900 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
901 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
902 CsrUint8Ser(ptr
, len
, (u8
) primitive
->setPmkidsCount
);
905 for (i1
= 0; i1
< primitive
->setPmkidsCount
; i1
++)
907 CsrMemCpySer(ptr
, len
, (const void *) primitive
->setPmkids
[i1
].bssid
.a
, ((u16
) (6)));
908 CsrMemCpySer(ptr
, len
, (const void *) primitive
->setPmkids
[i1
].pmkid
, ((u16
) (16)));
915 void* CsrWifiSmePmkidReqDes(u8
*buffer
, size_t length
)
917 CsrWifiSmePmkidReq
*primitive
= kmalloc(sizeof(CsrWifiSmePmkidReq
), GFP_KERNEL
);
921 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
922 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
923 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
924 CsrUint8Des((u8
*) &primitive
->setPmkidsCount
, buffer
, &offset
);
925 primitive
->setPmkids
= NULL
;
926 if (primitive
->setPmkidsCount
)
928 primitive
->setPmkids
= kmalloc(sizeof(CsrWifiSmePmkid
) * primitive
->setPmkidsCount
, GFP_KERNEL
);
932 for (i1
= 0; i1
< primitive
->setPmkidsCount
; i1
++)
934 CsrMemCpyDes(primitive
->setPmkids
[i1
].bssid
.a
, buffer
, &offset
, ((u16
) (6)));
935 CsrMemCpyDes(primitive
->setPmkids
[i1
].pmkid
, buffer
, &offset
, ((u16
) (16)));
943 void CsrWifiSmePmkidReqSerFree(void *voidPrimitivePointer
)
945 CsrWifiSmePmkidReq
*primitive
= (CsrWifiSmePmkidReq
*) voidPrimitivePointer
;
946 kfree(primitive
->setPmkids
);
951 size_t CsrWifiSmePowerConfigSetReqSizeof(void *msg
)
953 size_t bufferSize
= 2;
955 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
956 bufferSize
+= 1; /* CsrWifiSmePowerSaveLevel primitive->powerConfig.powerSaveLevel */
957 bufferSize
+= 2; /* u16 primitive->powerConfig.listenIntervalTu */
958 bufferSize
+= 1; /* u8 primitive->powerConfig.rxDtims */
959 bufferSize
+= 1; /* CsrWifiSmeD3AutoScanMode primitive->powerConfig.d3AutoScanMode */
960 bufferSize
+= 1; /* u8 primitive->powerConfig.clientTrafficWindow */
961 bufferSize
+= 1; /* u8 primitive->powerConfig.opportunisticPowerSave */
962 bufferSize
+= 1; /* u8 primitive->powerConfig.noticeOfAbsence */
967 u8
* CsrWifiSmePowerConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
969 CsrWifiSmePowerConfigSetReq
*primitive
= (CsrWifiSmePowerConfigSetReq
*)msg
;
971 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
972 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.powerSaveLevel
);
973 CsrUint16Ser(ptr
, len
, (u16
) primitive
->powerConfig
.listenIntervalTu
);
974 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.rxDtims
);
975 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.d3AutoScanMode
);
976 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.clientTrafficWindow
);
977 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.opportunisticPowerSave
);
978 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.noticeOfAbsence
);
983 void* CsrWifiSmePowerConfigSetReqDes(u8
*buffer
, size_t length
)
985 CsrWifiSmePowerConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmePowerConfigSetReq
), GFP_KERNEL
);
989 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
990 CsrUint8Des((u8
*) &primitive
->powerConfig
.powerSaveLevel
, buffer
, &offset
);
991 CsrUint16Des((u16
*) &primitive
->powerConfig
.listenIntervalTu
, buffer
, &offset
);
992 CsrUint8Des((u8
*) &primitive
->powerConfig
.rxDtims
, buffer
, &offset
);
993 CsrUint8Des((u8
*) &primitive
->powerConfig
.d3AutoScanMode
, buffer
, &offset
);
994 CsrUint8Des((u8
*) &primitive
->powerConfig
.clientTrafficWindow
, buffer
, &offset
);
995 CsrUint8Des((u8
*) &primitive
->powerConfig
.opportunisticPowerSave
, buffer
, &offset
);
996 CsrUint8Des((u8
*) &primitive
->powerConfig
.noticeOfAbsence
, buffer
, &offset
);
1002 size_t CsrWifiSmeRoamingConfigSetReqSizeof(void *msg
)
1004 size_t bufferSize
= 2;
1006 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 70) */
1007 bufferSize
+= 2; /* u16 primitive->interfaceTag */
1010 for (i2
= 0; i2
< 3; i2
++)
1012 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].rssiHighThreshold */
1013 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].rssiLowThreshold */
1014 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].snrHighThreshold */
1015 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].snrLowThreshold */
1018 bufferSize
+= 1; /* u8 primitive->roamingConfig.disableSmoothRoaming */
1019 bufferSize
+= 1; /* u8 primitive->roamingConfig.disableRoamScans */
1020 bufferSize
+= 1; /* u8 primitive->roamingConfig.reconnectLimit */
1021 bufferSize
+= 2; /* u16 primitive->roamingConfig.reconnectLimitIntervalMs */
1024 for (i2
= 0; i2
< 3; i2
++)
1026 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].intervalSeconds */
1027 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].validitySeconds */
1028 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu */
1029 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu */
1030 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu */
1031 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu */
1038 u8
* CsrWifiSmeRoamingConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
1040 CsrWifiSmeRoamingConfigSetReq
*primitive
= (CsrWifiSmeRoamingConfigSetReq
*)msg
;
1042 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1043 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
1046 for (i2
= 0; i2
< 3; i2
++)
1048 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].rssiHighThreshold
);
1049 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].rssiLowThreshold
);
1050 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].snrHighThreshold
);
1051 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].snrLowThreshold
);
1054 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamingConfig
.disableSmoothRoaming
);
1055 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamingConfig
.disableRoamScans
);
1056 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamingConfig
.reconnectLimit
);
1057 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.reconnectLimitIntervalMs
);
1060 for (i2
= 0; i2
< 3; i2
++)
1062 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].intervalSeconds
);
1063 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].validitySeconds
);
1064 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].minActiveChannelTimeTu
);
1065 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].maxActiveChannelTimeTu
);
1066 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].minPassiveChannelTimeTu
);
1067 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].maxPassiveChannelTimeTu
);
1074 void* CsrWifiSmeRoamingConfigSetReqDes(u8
*buffer
, size_t length
)
1076 CsrWifiSmeRoamingConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeRoamingConfigSetReq
), GFP_KERNEL
);
1080 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1081 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
1084 for (i2
= 0; i2
< 3; i2
++)
1086 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].rssiHighThreshold
, buffer
, &offset
);
1087 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].rssiLowThreshold
, buffer
, &offset
);
1088 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].snrHighThreshold
, buffer
, &offset
);
1089 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].snrLowThreshold
, buffer
, &offset
);
1092 CsrUint8Des((u8
*) &primitive
->roamingConfig
.disableSmoothRoaming
, buffer
, &offset
);
1093 CsrUint8Des((u8
*) &primitive
->roamingConfig
.disableRoamScans
, buffer
, &offset
);
1094 CsrUint8Des((u8
*) &primitive
->roamingConfig
.reconnectLimit
, buffer
, &offset
);
1095 CsrUint16Des((u16
*) &primitive
->roamingConfig
.reconnectLimitIntervalMs
, buffer
, &offset
);
1098 for (i2
= 0; i2
< 3; i2
++)
1100 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].intervalSeconds
, buffer
, &offset
);
1101 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].validitySeconds
, buffer
, &offset
);
1102 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].minActiveChannelTimeTu
, buffer
, &offset
);
1103 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].maxActiveChannelTimeTu
, buffer
, &offset
);
1104 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].minPassiveChannelTimeTu
, buffer
, &offset
);
1105 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].maxPassiveChannelTimeTu
, buffer
, &offset
);
1113 size_t CsrWifiSmeScanConfigSetReqSizeof(void *msg
)
1115 CsrWifiSmeScanConfigSetReq
*primitive
= (CsrWifiSmeScanConfigSetReq
*) msg
;
1116 size_t bufferSize
= 2;
1118 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 63) */
1121 for (i2
= 0; i2
< 4; i2
++)
1123 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].intervalSeconds */
1124 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].validitySeconds */
1125 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu */
1126 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu */
1127 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu */
1128 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu */
1131 bufferSize
+= 1; /* u8 primitive->scanConfig.disableAutonomousScans */
1132 bufferSize
+= 2; /* u16 primitive->scanConfig.maxResults */
1133 bufferSize
+= 1; /* s8 primitive->scanConfig.highRssiThreshold */
1134 bufferSize
+= 1; /* s8 primitive->scanConfig.lowRssiThreshold */
1135 bufferSize
+= 1; /* s8 primitive->scanConfig.deltaRssiThreshold */
1136 bufferSize
+= 1; /* s8 primitive->scanConfig.highSnrThreshold */
1137 bufferSize
+= 1; /* s8 primitive->scanConfig.lowSnrThreshold */
1138 bufferSize
+= 1; /* s8 primitive->scanConfig.deltaSnrThreshold */
1139 bufferSize
+= 2; /* u16 primitive->scanConfig.passiveChannelListCount */
1140 bufferSize
+= primitive
->scanConfig
.passiveChannelListCount
; /* u8 primitive->scanConfig.passiveChannelList */
1145 u8
* CsrWifiSmeScanConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
1147 CsrWifiSmeScanConfigSetReq
*primitive
= (CsrWifiSmeScanConfigSetReq
*)msg
;
1149 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1152 for (i2
= 0; i2
< 4; i2
++)
1154 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].intervalSeconds
);
1155 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].validitySeconds
);
1156 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].minActiveChannelTimeTu
);
1157 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].maxActiveChannelTimeTu
);
1158 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].minPassiveChannelTimeTu
);
1159 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].maxPassiveChannelTimeTu
);
1162 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.disableAutonomousScans
);
1163 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.maxResults
);
1164 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.highRssiThreshold
);
1165 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.lowRssiThreshold
);
1166 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.deltaRssiThreshold
);
1167 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.highSnrThreshold
);
1168 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.lowSnrThreshold
);
1169 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.deltaSnrThreshold
);
1170 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.passiveChannelListCount
);
1171 if (primitive
->scanConfig
.passiveChannelListCount
)
1173 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanConfig
.passiveChannelList
, ((u16
) (primitive
->scanConfig
.passiveChannelListCount
)));
1179 void* CsrWifiSmeScanConfigSetReqDes(u8
*buffer
, size_t length
)
1181 CsrWifiSmeScanConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeScanConfigSetReq
), GFP_KERNEL
);
1185 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1188 for (i2
= 0; i2
< 4; i2
++)
1190 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].intervalSeconds
, buffer
, &offset
);
1191 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].validitySeconds
, buffer
, &offset
);
1192 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].minActiveChannelTimeTu
, buffer
, &offset
);
1193 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].maxActiveChannelTimeTu
, buffer
, &offset
);
1194 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].minPassiveChannelTimeTu
, buffer
, &offset
);
1195 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].maxPassiveChannelTimeTu
, buffer
, &offset
);
1198 CsrUint8Des((u8
*) &primitive
->scanConfig
.disableAutonomousScans
, buffer
, &offset
);
1199 CsrUint16Des((u16
*) &primitive
->scanConfig
.maxResults
, buffer
, &offset
);
1200 CsrUint8Des((u8
*) &primitive
->scanConfig
.highRssiThreshold
, buffer
, &offset
);
1201 CsrUint8Des((u8
*) &primitive
->scanConfig
.lowRssiThreshold
, buffer
, &offset
);
1202 CsrUint8Des((u8
*) &primitive
->scanConfig
.deltaRssiThreshold
, buffer
, &offset
);
1203 CsrUint8Des((u8
*) &primitive
->scanConfig
.highSnrThreshold
, buffer
, &offset
);
1204 CsrUint8Des((u8
*) &primitive
->scanConfig
.lowSnrThreshold
, buffer
, &offset
);
1205 CsrUint8Des((u8
*) &primitive
->scanConfig
.deltaSnrThreshold
, buffer
, &offset
);
1206 CsrUint16Des((u16
*) &primitive
->scanConfig
.passiveChannelListCount
, buffer
, &offset
);
1207 if (primitive
->scanConfig
.passiveChannelListCount
)
1209 primitive
->scanConfig
.passiveChannelList
= kmalloc(primitive
->scanConfig
.passiveChannelListCount
, GFP_KERNEL
);
1210 CsrMemCpyDes(primitive
->scanConfig
.passiveChannelList
, buffer
, &offset
, ((u16
) (primitive
->scanConfig
.passiveChannelListCount
)));
1214 primitive
->scanConfig
.passiveChannelList
= NULL
;
1221 void CsrWifiSmeScanConfigSetReqSerFree(void *voidPrimitivePointer
)
1223 CsrWifiSmeScanConfigSetReq
*primitive
= (CsrWifiSmeScanConfigSetReq
*) voidPrimitivePointer
;
1224 kfree(primitive
->scanConfig
.passiveChannelList
);
1229 size_t CsrWifiSmeScanFullReqSizeof(void *msg
)
1231 CsrWifiSmeScanFullReq
*primitive
= (CsrWifiSmeScanFullReq
*) msg
;
1232 size_t bufferSize
= 2;
1234 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 52) */
1235 bufferSize
+= 1; /* u8 primitive->ssidCount */
1238 for (i1
= 0; i1
< primitive
->ssidCount
; i1
++)
1240 bufferSize
+= 32; /* u8 primitive->ssid[i1].ssid[32] */
1241 bufferSize
+= 1; /* u8 primitive->ssid[i1].length */
1244 bufferSize
+= 6; /* u8 primitive->bssid.a[6] */
1245 bufferSize
+= 1; /* u8 primitive->forceScan */
1246 bufferSize
+= 1; /* CsrWifiSmeBssType primitive->bssType */
1247 bufferSize
+= 1; /* CsrWifiSmeScanType primitive->scanType */
1248 bufferSize
+= 2; /* u16 primitive->channelListCount */
1249 bufferSize
+= primitive
->channelListCount
; /* u8 primitive->channelList */
1250 bufferSize
+= 2; /* u16 primitive->probeIeLength */
1251 bufferSize
+= primitive
->probeIeLength
; /* u8 primitive->probeIe */
1256 u8
* CsrWifiSmeScanFullReqSer(u8
*ptr
, size_t *len
, void *msg
)
1258 CsrWifiSmeScanFullReq
*primitive
= (CsrWifiSmeScanFullReq
*)msg
;
1260 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1261 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ssidCount
);
1264 for (i1
= 0; i1
< primitive
->ssidCount
; i1
++)
1266 CsrMemCpySer(ptr
, len
, (const void *) primitive
->ssid
[i1
].ssid
, ((u16
) (32)));
1267 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ssid
[i1
].length
);
1270 CsrMemCpySer(ptr
, len
, (const void *) primitive
->bssid
.a
, ((u16
) (6)));
1271 CsrUint8Ser(ptr
, len
, (u8
) primitive
->forceScan
);
1272 CsrUint8Ser(ptr
, len
, (u8
) primitive
->bssType
);
1273 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanType
);
1274 CsrUint16Ser(ptr
, len
, (u16
) primitive
->channelListCount
);
1275 if (primitive
->channelListCount
)
1277 CsrMemCpySer(ptr
, len
, (const void *) primitive
->channelList
, ((u16
) (primitive
->channelListCount
)));
1279 CsrUint16Ser(ptr
, len
, (u16
) primitive
->probeIeLength
);
1280 if (primitive
->probeIeLength
)
1282 CsrMemCpySer(ptr
, len
, (const void *) primitive
->probeIe
, ((u16
) (primitive
->probeIeLength
)));
1288 void* CsrWifiSmeScanFullReqDes(u8
*buffer
, size_t length
)
1290 CsrWifiSmeScanFullReq
*primitive
= kmalloc(sizeof(CsrWifiSmeScanFullReq
), GFP_KERNEL
);
1294 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1295 CsrUint8Des((u8
*) &primitive
->ssidCount
, buffer
, &offset
);
1296 primitive
->ssid
= NULL
;
1297 if (primitive
->ssidCount
)
1299 primitive
->ssid
= kmalloc(sizeof(CsrWifiSsid
) * primitive
->ssidCount
, GFP_KERNEL
);
1303 for (i1
= 0; i1
< primitive
->ssidCount
; i1
++)
1305 CsrMemCpyDes(primitive
->ssid
[i1
].ssid
, buffer
, &offset
, ((u16
) (32)));
1306 CsrUint8Des((u8
*) &primitive
->ssid
[i1
].length
, buffer
, &offset
);
1309 CsrMemCpyDes(primitive
->bssid
.a
, buffer
, &offset
, ((u16
) (6)));
1310 CsrUint8Des((u8
*) &primitive
->forceScan
, buffer
, &offset
);
1311 CsrUint8Des((u8
*) &primitive
->bssType
, buffer
, &offset
);
1312 CsrUint8Des((u8
*) &primitive
->scanType
, buffer
, &offset
);
1313 CsrUint16Des((u16
*) &primitive
->channelListCount
, buffer
, &offset
);
1314 if (primitive
->channelListCount
)
1316 primitive
->channelList
= kmalloc(primitive
->channelListCount
, GFP_KERNEL
);
1317 CsrMemCpyDes(primitive
->channelList
, buffer
, &offset
, ((u16
) (primitive
->channelListCount
)));
1321 primitive
->channelList
= NULL
;
1323 CsrUint16Des((u16
*) &primitive
->probeIeLength
, buffer
, &offset
);
1324 if (primitive
->probeIeLength
)
1326 primitive
->probeIe
= kmalloc(primitive
->probeIeLength
, GFP_KERNEL
);
1327 CsrMemCpyDes(primitive
->probeIe
, buffer
, &offset
, ((u16
) (primitive
->probeIeLength
)));
1331 primitive
->probeIe
= NULL
;
1338 void CsrWifiSmeScanFullReqSerFree(void *voidPrimitivePointer
)
1340 CsrWifiSmeScanFullReq
*primitive
= (CsrWifiSmeScanFullReq
*) voidPrimitivePointer
;
1341 kfree(primitive
->ssid
);
1342 kfree(primitive
->channelList
);
1343 kfree(primitive
->probeIe
);
1348 size_t CsrWifiSmeSmeStaConfigSetReqSizeof(void *msg
)
1350 size_t bufferSize
= 2;
1352 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
1353 bufferSize
+= 2; /* u16 primitive->interfaceTag */
1354 bufferSize
+= 1; /* u8 primitive->smeConfig.connectionQualityRssiChangeTrigger */
1355 bufferSize
+= 1; /* u8 primitive->smeConfig.connectionQualitySnrChangeTrigger */
1356 bufferSize
+= 1; /* CsrWifiSmeWmmModeMask primitive->smeConfig.wmmModeMask */
1357 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->smeConfig.ifIndex */
1358 bufferSize
+= 1; /* u8 primitive->smeConfig.allowUnicastUseGroupCipher */
1359 bufferSize
+= 1; /* u8 primitive->smeConfig.enableOpportunisticKeyCaching */
1364 u8
* CsrWifiSmeSmeStaConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
1366 CsrWifiSmeSmeStaConfigSetReq
*primitive
= (CsrWifiSmeSmeStaConfigSetReq
*)msg
;
1368 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1369 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
1370 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.connectionQualityRssiChangeTrigger
);
1371 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.connectionQualitySnrChangeTrigger
);
1372 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.wmmModeMask
);
1373 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.ifIndex
);
1374 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.allowUnicastUseGroupCipher
);
1375 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.enableOpportunisticKeyCaching
);
1380 void* CsrWifiSmeSmeStaConfigSetReqDes(u8
*buffer
, size_t length
)
1382 CsrWifiSmeSmeStaConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeSmeStaConfigSetReq
), GFP_KERNEL
);
1386 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1387 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
1388 CsrUint8Des((u8
*) &primitive
->smeConfig
.connectionQualityRssiChangeTrigger
, buffer
, &offset
);
1389 CsrUint8Des((u8
*) &primitive
->smeConfig
.connectionQualitySnrChangeTrigger
, buffer
, &offset
);
1390 CsrUint8Des((u8
*) &primitive
->smeConfig
.wmmModeMask
, buffer
, &offset
);
1391 CsrUint8Des((u8
*) &primitive
->smeConfig
.ifIndex
, buffer
, &offset
);
1392 CsrUint8Des((u8
*) &primitive
->smeConfig
.allowUnicastUseGroupCipher
, buffer
, &offset
);
1393 CsrUint8Des((u8
*) &primitive
->smeConfig
.enableOpportunisticKeyCaching
, buffer
, &offset
);
1399 size_t CsrWifiSmeTspecReqSizeof(void *msg
)
1401 CsrWifiSmeTspecReq
*primitive
= (CsrWifiSmeTspecReq
*) msg
;
1402 size_t bufferSize
= 2;
1404 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 18) */
1405 bufferSize
+= 2; /* u16 primitive->interfaceTag */
1406 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
1407 bufferSize
+= 4; /* u32 primitive->transactionId */
1408 bufferSize
+= 1; /* u8 primitive->strict */
1409 bufferSize
+= 1; /* CsrWifiSmeTspecCtrlMask primitive->ctrlMask */
1410 bufferSize
+= 2; /* u16 primitive->tspecLength */
1411 bufferSize
+= primitive
->tspecLength
; /* u8 primitive->tspec */
1412 bufferSize
+= 2; /* u16 primitive->tclasLength */
1413 bufferSize
+= primitive
->tclasLength
; /* u8 primitive->tclas */
1418 u8
* CsrWifiSmeTspecReqSer(u8
*ptr
, size_t *len
, void *msg
)
1420 CsrWifiSmeTspecReq
*primitive
= (CsrWifiSmeTspecReq
*)msg
;
1422 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1423 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
1424 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
1425 CsrUint32Ser(ptr
, len
, (u32
) primitive
->transactionId
);
1426 CsrUint8Ser(ptr
, len
, (u8
) primitive
->strict
);
1427 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ctrlMask
);
1428 CsrUint16Ser(ptr
, len
, (u16
) primitive
->tspecLength
);
1429 if (primitive
->tspecLength
)
1431 CsrMemCpySer(ptr
, len
, (const void *) primitive
->tspec
, ((u16
) (primitive
->tspecLength
)));
1433 CsrUint16Ser(ptr
, len
, (u16
) primitive
->tclasLength
);
1434 if (primitive
->tclasLength
)
1436 CsrMemCpySer(ptr
, len
, (const void *) primitive
->tclas
, ((u16
) (primitive
->tclasLength
)));
1442 void* CsrWifiSmeTspecReqDes(u8
*buffer
, size_t length
)
1444 CsrWifiSmeTspecReq
*primitive
= kmalloc(sizeof(CsrWifiSmeTspecReq
), GFP_KERNEL
);
1448 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1449 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
1450 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
1451 CsrUint32Des((u32
*) &primitive
->transactionId
, buffer
, &offset
);
1452 CsrUint8Des((u8
*) &primitive
->strict
, buffer
, &offset
);
1453 CsrUint8Des((u8
*) &primitive
->ctrlMask
, buffer
, &offset
);
1454 CsrUint16Des((u16
*) &primitive
->tspecLength
, buffer
, &offset
);
1455 if (primitive
->tspecLength
)
1457 primitive
->tspec
= kmalloc(primitive
->tspecLength
, GFP_KERNEL
);
1458 CsrMemCpyDes(primitive
->tspec
, buffer
, &offset
, ((u16
) (primitive
->tspecLength
)));
1462 primitive
->tspec
= NULL
;
1464 CsrUint16Des((u16
*) &primitive
->tclasLength
, buffer
, &offset
);
1465 if (primitive
->tclasLength
)
1467 primitive
->tclas
= kmalloc(primitive
->tclasLength
, GFP_KERNEL
);
1468 CsrMemCpyDes(primitive
->tclas
, buffer
, &offset
, ((u16
) (primitive
->tclasLength
)));
1472 primitive
->tclas
= NULL
;
1479 void CsrWifiSmeTspecReqSerFree(void *voidPrimitivePointer
)
1481 CsrWifiSmeTspecReq
*primitive
= (CsrWifiSmeTspecReq
*) voidPrimitivePointer
;
1482 kfree(primitive
->tspec
);
1483 kfree(primitive
->tclas
);
1488 size_t CsrWifiSmeWifiFlightmodeReqSizeof(void *msg
)
1490 CsrWifiSmeWifiFlightmodeReq
*primitive
= (CsrWifiSmeWifiFlightmodeReq
*) msg
;
1491 size_t bufferSize
= 2;
1493 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 14) */
1494 bufferSize
+= 6; /* u8 primitive->address.a[6] */
1495 bufferSize
+= 2; /* u16 primitive->mibFilesCount */
1498 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1500 bufferSize
+= 2; /* u16 primitive->mibFiles[i1].length */
1501 bufferSize
+= primitive
->mibFiles
[i1
].length
; /* u8 primitive->mibFiles[i1].data */
1508 u8
* CsrWifiSmeWifiFlightmodeReqSer(u8
*ptr
, size_t *len
, void *msg
)
1510 CsrWifiSmeWifiFlightmodeReq
*primitive
= (CsrWifiSmeWifiFlightmodeReq
*)msg
;
1512 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1513 CsrMemCpySer(ptr
, len
, (const void *) primitive
->address
.a
, ((u16
) (6)));
1514 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibFilesCount
);
1517 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1519 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibFiles
[i1
].length
);
1520 if (primitive
->mibFiles
[i1
].length
)
1522 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibFiles
[i1
].data
, ((u16
) (primitive
->mibFiles
[i1
].length
)));
1530 void* CsrWifiSmeWifiFlightmodeReqDes(u8
*buffer
, size_t length
)
1532 CsrWifiSmeWifiFlightmodeReq
*primitive
= kmalloc(sizeof(CsrWifiSmeWifiFlightmodeReq
), GFP_KERNEL
);
1536 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1537 CsrMemCpyDes(primitive
->address
.a
, buffer
, &offset
, ((u16
) (6)));
1538 CsrUint16Des((u16
*) &primitive
->mibFilesCount
, buffer
, &offset
);
1539 primitive
->mibFiles
= NULL
;
1540 if (primitive
->mibFilesCount
)
1542 primitive
->mibFiles
= kmalloc(sizeof(CsrWifiSmeDataBlock
) * primitive
->mibFilesCount
, GFP_KERNEL
);
1546 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1548 CsrUint16Des((u16
*) &primitive
->mibFiles
[i1
].length
, buffer
, &offset
);
1549 if (primitive
->mibFiles
[i1
].length
)
1551 primitive
->mibFiles
[i1
].data
= kmalloc(primitive
->mibFiles
[i1
].length
, GFP_KERNEL
);
1552 CsrMemCpyDes(primitive
->mibFiles
[i1
].data
, buffer
, &offset
, ((u16
) (primitive
->mibFiles
[i1
].length
)));
1556 primitive
->mibFiles
[i1
].data
= NULL
;
1565 void CsrWifiSmeWifiFlightmodeReqSerFree(void *voidPrimitivePointer
)
1567 CsrWifiSmeWifiFlightmodeReq
*primitive
= (CsrWifiSmeWifiFlightmodeReq
*) voidPrimitivePointer
;
1570 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1572 kfree(primitive
->mibFiles
[i1
].data
);
1575 kfree(primitive
->mibFiles
);
1580 size_t CsrWifiSmeWifiOnReqSizeof(void *msg
)
1582 CsrWifiSmeWifiOnReq
*primitive
= (CsrWifiSmeWifiOnReq
*) msg
;
1583 size_t bufferSize
= 2;
1585 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 14) */
1586 bufferSize
+= 6; /* u8 primitive->address.a[6] */
1587 bufferSize
+= 2; /* u16 primitive->mibFilesCount */
1590 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1592 bufferSize
+= 2; /* u16 primitive->mibFiles[i1].length */
1593 bufferSize
+= primitive
->mibFiles
[i1
].length
; /* u8 primitive->mibFiles[i1].data */
1600 u8
* CsrWifiSmeWifiOnReqSer(u8
*ptr
, size_t *len
, void *msg
)
1602 CsrWifiSmeWifiOnReq
*primitive
= (CsrWifiSmeWifiOnReq
*)msg
;
1604 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1605 CsrMemCpySer(ptr
, len
, (const void *) primitive
->address
.a
, ((u16
) (6)));
1606 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibFilesCount
);
1609 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1611 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibFiles
[i1
].length
);
1612 if (primitive
->mibFiles
[i1
].length
)
1614 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibFiles
[i1
].data
, ((u16
) (primitive
->mibFiles
[i1
].length
)));
1622 void* CsrWifiSmeWifiOnReqDes(u8
*buffer
, size_t length
)
1624 CsrWifiSmeWifiOnReq
*primitive
= kmalloc(sizeof(CsrWifiSmeWifiOnReq
), GFP_KERNEL
);
1628 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1629 CsrMemCpyDes(primitive
->address
.a
, buffer
, &offset
, ((u16
) (6)));
1630 CsrUint16Des((u16
*) &primitive
->mibFilesCount
, buffer
, &offset
);
1631 primitive
->mibFiles
= NULL
;
1632 if (primitive
->mibFilesCount
)
1634 primitive
->mibFiles
= kmalloc(sizeof(CsrWifiSmeDataBlock
) * primitive
->mibFilesCount
, GFP_KERNEL
);
1638 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1640 CsrUint16Des((u16
*) &primitive
->mibFiles
[i1
].length
, buffer
, &offset
);
1641 if (primitive
->mibFiles
[i1
].length
)
1643 primitive
->mibFiles
[i1
].data
= kmalloc(primitive
->mibFiles
[i1
].length
, GFP_KERNEL
);
1644 CsrMemCpyDes(primitive
->mibFiles
[i1
].data
, buffer
, &offset
, ((u16
) (primitive
->mibFiles
[i1
].length
)));
1648 primitive
->mibFiles
[i1
].data
= NULL
;
1657 void CsrWifiSmeWifiOnReqSerFree(void *voidPrimitivePointer
)
1659 CsrWifiSmeWifiOnReq
*primitive
= (CsrWifiSmeWifiOnReq
*) voidPrimitivePointer
;
1662 for (i1
= 0; i1
< primitive
->mibFilesCount
; i1
++)
1664 kfree(primitive
->mibFiles
[i1
].data
);
1667 kfree(primitive
->mibFiles
);
1672 size_t CsrWifiSmeCloakedSsidsSetReqSizeof(void *msg
)
1674 CsrWifiSmeCloakedSsidsSetReq
*primitive
= (CsrWifiSmeCloakedSsidsSetReq
*) msg
;
1675 size_t bufferSize
= 2;
1677 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 37) */
1678 bufferSize
+= 1; /* u8 primitive->cloakedSsids.cloakedSsidsCount */
1681 for (i2
= 0; i2
< primitive
->cloakedSsids
.cloakedSsidsCount
; i2
++)
1683 bufferSize
+= 32; /* u8 primitive->cloakedSsids.cloakedSsids[i2].ssid[32] */
1684 bufferSize
+= 1; /* u8 primitive->cloakedSsids.cloakedSsids[i2].length */
1691 u8
* CsrWifiSmeCloakedSsidsSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
1693 CsrWifiSmeCloakedSsidsSetReq
*primitive
= (CsrWifiSmeCloakedSsidsSetReq
*)msg
;
1695 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1696 CsrUint8Ser(ptr
, len
, (u8
) primitive
->cloakedSsids
.cloakedSsidsCount
);
1699 for (i2
= 0; i2
< primitive
->cloakedSsids
.cloakedSsidsCount
; i2
++)
1701 CsrMemCpySer(ptr
, len
, (const void *) primitive
->cloakedSsids
.cloakedSsids
[i2
].ssid
, ((u16
) (32)));
1702 CsrUint8Ser(ptr
, len
, (u8
) primitive
->cloakedSsids
.cloakedSsids
[i2
].length
);
1709 void* CsrWifiSmeCloakedSsidsSetReqDes(u8
*buffer
, size_t length
)
1711 CsrWifiSmeCloakedSsidsSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeCloakedSsidsSetReq
), GFP_KERNEL
);
1715 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1716 CsrUint8Des((u8
*) &primitive
->cloakedSsids
.cloakedSsidsCount
, buffer
, &offset
);
1717 primitive
->cloakedSsids
.cloakedSsids
= NULL
;
1718 if (primitive
->cloakedSsids
.cloakedSsidsCount
)
1720 primitive
->cloakedSsids
.cloakedSsids
= kmalloc(sizeof(CsrWifiSsid
) * primitive
->cloakedSsids
.cloakedSsidsCount
, GFP_KERNEL
);
1724 for (i2
= 0; i2
< primitive
->cloakedSsids
.cloakedSsidsCount
; i2
++)
1726 CsrMemCpyDes(primitive
->cloakedSsids
.cloakedSsids
[i2
].ssid
, buffer
, &offset
, ((u16
) (32)));
1727 CsrUint8Des((u8
*) &primitive
->cloakedSsids
.cloakedSsids
[i2
].length
, buffer
, &offset
);
1735 void CsrWifiSmeCloakedSsidsSetReqSerFree(void *voidPrimitivePointer
)
1737 CsrWifiSmeCloakedSsidsSetReq
*primitive
= (CsrWifiSmeCloakedSsidsSetReq
*) voidPrimitivePointer
;
1738 kfree(primitive
->cloakedSsids
.cloakedSsids
);
1743 size_t CsrWifiSmeSmeCommonConfigSetReqSizeof(void *msg
)
1745 size_t bufferSize
= 2;
1747 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
1748 bufferSize
+= 1; /* CsrWifiSme80211dTrustLevel primitive->deviceConfig.trustLevel */
1749 bufferSize
+= 2; /* u8 primitive->deviceConfig.countryCode[2] */
1750 bufferSize
+= 1; /* CsrWifiSmeFirmwareDriverInterface primitive->deviceConfig.firmwareDriverInterface */
1751 bufferSize
+= 1; /* u8 primitive->deviceConfig.enableStrictDraftN */
1756 u8
* CsrWifiSmeSmeCommonConfigSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
1758 CsrWifiSmeSmeCommonConfigSetReq
*primitive
= (CsrWifiSmeSmeCommonConfigSetReq
*)msg
;
1760 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1761 CsrUint8Ser(ptr
, len
, (u8
) primitive
->deviceConfig
.trustLevel
);
1762 CsrMemCpySer(ptr
, len
, (const void *) primitive
->deviceConfig
.countryCode
, ((u16
) (2)));
1763 CsrUint8Ser(ptr
, len
, (u8
) primitive
->deviceConfig
.firmwareDriverInterface
);
1764 CsrUint8Ser(ptr
, len
, (u8
) primitive
->deviceConfig
.enableStrictDraftN
);
1769 void* CsrWifiSmeSmeCommonConfigSetReqDes(u8
*buffer
, size_t length
)
1771 CsrWifiSmeSmeCommonConfigSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeSmeCommonConfigSetReq
), GFP_KERNEL
);
1775 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1776 CsrUint8Des((u8
*) &primitive
->deviceConfig
.trustLevel
, buffer
, &offset
);
1777 CsrMemCpyDes(primitive
->deviceConfig
.countryCode
, buffer
, &offset
, ((u16
) (2)));
1778 CsrUint8Des((u8
*) &primitive
->deviceConfig
.firmwareDriverInterface
, buffer
, &offset
);
1779 CsrUint8Des((u8
*) &primitive
->deviceConfig
.enableStrictDraftN
, buffer
, &offset
);
1785 size_t CsrWifiSmeWpsConfigurationReqSizeof(void *msg
)
1787 CsrWifiSmeWpsConfigurationReq
*primitive
= (CsrWifiSmeWpsConfigurationReq
*) msg
;
1788 size_t bufferSize
= 2;
1790 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 240) */
1791 bufferSize
+= 1; /* u8 primitive->wpsConfig.wpsVersion */
1792 bufferSize
+= 16; /* u8 primitive->wpsConfig.uuid[16] */
1793 bufferSize
+= 32; /* u8 primitive->wpsConfig.deviceName[32] */
1794 bufferSize
+= 1; /* u8 primitive->wpsConfig.deviceNameLength */
1795 bufferSize
+= 64; /* u8 primitive->wpsConfig.manufacturer[64] */
1796 bufferSize
+= 1; /* u8 primitive->wpsConfig.manufacturerLength */
1797 bufferSize
+= 32; /* u8 primitive->wpsConfig.modelName[32] */
1798 bufferSize
+= 1; /* u8 primitive->wpsConfig.modelNameLength */
1799 bufferSize
+= 32; /* u8 primitive->wpsConfig.modelNumber[32] */
1800 bufferSize
+= 1; /* u8 primitive->wpsConfig.modelNumberLength */
1801 bufferSize
+= 32; /* u8 primitive->wpsConfig.serialNumber[32] */
1802 bufferSize
+= 8; /* u8 primitive->wpsConfig.primDeviceType.deviceDetails[8] */
1803 bufferSize
+= 1; /* u8 primitive->wpsConfig.secondaryDeviceTypeCount */
1806 for (i2
= 0; i2
< primitive
->wpsConfig
.secondaryDeviceTypeCount
; i2
++)
1808 bufferSize
+= 8; /* u8 primitive->wpsConfig.secondaryDeviceType[i2].deviceDetails[8] */
1811 bufferSize
+= 2; /* CsrWifiSmeWpsConfigTypeMask primitive->wpsConfig.configMethods */
1812 bufferSize
+= 1; /* u8 primitive->wpsConfig.rfBands */
1813 bufferSize
+= 4; /* u8 primitive->wpsConfig.osVersion[4] */
1818 u8
* CsrWifiSmeWpsConfigurationReqSer(u8
*ptr
, size_t *len
, void *msg
)
1820 CsrWifiSmeWpsConfigurationReq
*primitive
= (CsrWifiSmeWpsConfigurationReq
*)msg
;
1822 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1823 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.wpsVersion
);
1824 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.uuid
, ((u16
) (16)));
1825 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.deviceName
, ((u16
) (32)));
1826 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.deviceNameLength
);
1827 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.manufacturer
, ((u16
) (64)));
1828 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.manufacturerLength
);
1829 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.modelName
, ((u16
) (32)));
1830 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.modelNameLength
);
1831 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.modelNumber
, ((u16
) (32)));
1832 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.modelNumberLength
);
1833 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.serialNumber
, ((u16
) (32)));
1834 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.primDeviceType
.deviceDetails
, ((u16
) (8)));
1835 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.secondaryDeviceTypeCount
);
1838 for (i2
= 0; i2
< primitive
->wpsConfig
.secondaryDeviceTypeCount
; i2
++)
1840 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.secondaryDeviceType
[i2
].deviceDetails
, ((u16
) (8)));
1843 CsrUint16Ser(ptr
, len
, (u16
) primitive
->wpsConfig
.configMethods
);
1844 CsrUint8Ser(ptr
, len
, (u8
) primitive
->wpsConfig
.rfBands
);
1845 CsrMemCpySer(ptr
, len
, (const void *) primitive
->wpsConfig
.osVersion
, ((u16
) (4)));
1850 void* CsrWifiSmeWpsConfigurationReqDes(u8
*buffer
, size_t length
)
1852 CsrWifiSmeWpsConfigurationReq
*primitive
= kmalloc(sizeof(CsrWifiSmeWpsConfigurationReq
), GFP_KERNEL
);
1856 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1857 CsrUint8Des((u8
*) &primitive
->wpsConfig
.wpsVersion
, buffer
, &offset
);
1858 CsrMemCpyDes(primitive
->wpsConfig
.uuid
, buffer
, &offset
, ((u16
) (16)));
1859 CsrMemCpyDes(primitive
->wpsConfig
.deviceName
, buffer
, &offset
, ((u16
) (32)));
1860 CsrUint8Des((u8
*) &primitive
->wpsConfig
.deviceNameLength
, buffer
, &offset
);
1861 CsrMemCpyDes(primitive
->wpsConfig
.manufacturer
, buffer
, &offset
, ((u16
) (64)));
1862 CsrUint8Des((u8
*) &primitive
->wpsConfig
.manufacturerLength
, buffer
, &offset
);
1863 CsrMemCpyDes(primitive
->wpsConfig
.modelName
, buffer
, &offset
, ((u16
) (32)));
1864 CsrUint8Des((u8
*) &primitive
->wpsConfig
.modelNameLength
, buffer
, &offset
);
1865 CsrMemCpyDes(primitive
->wpsConfig
.modelNumber
, buffer
, &offset
, ((u16
) (32)));
1866 CsrUint8Des((u8
*) &primitive
->wpsConfig
.modelNumberLength
, buffer
, &offset
);
1867 CsrMemCpyDes(primitive
->wpsConfig
.serialNumber
, buffer
, &offset
, ((u16
) (32)));
1868 CsrMemCpyDes(primitive
->wpsConfig
.primDeviceType
.deviceDetails
, buffer
, &offset
, ((u16
) (8)));
1869 CsrUint8Des((u8
*) &primitive
->wpsConfig
.secondaryDeviceTypeCount
, buffer
, &offset
);
1870 primitive
->wpsConfig
.secondaryDeviceType
= NULL
;
1871 if (primitive
->wpsConfig
.secondaryDeviceTypeCount
)
1873 primitive
->wpsConfig
.secondaryDeviceType
= kmalloc(sizeof(CsrWifiSmeWpsDeviceType
) * primitive
->wpsConfig
.secondaryDeviceTypeCount
, GFP_KERNEL
);
1877 for (i2
= 0; i2
< primitive
->wpsConfig
.secondaryDeviceTypeCount
; i2
++)
1879 CsrMemCpyDes(primitive
->wpsConfig
.secondaryDeviceType
[i2
].deviceDetails
, buffer
, &offset
, ((u16
) (8)));
1882 CsrUint16Des((u16
*) &primitive
->wpsConfig
.configMethods
, buffer
, &offset
);
1883 CsrUint8Des((u8
*) &primitive
->wpsConfig
.rfBands
, buffer
, &offset
);
1884 CsrMemCpyDes(primitive
->wpsConfig
.osVersion
, buffer
, &offset
, ((u16
) (4)));
1890 void CsrWifiSmeWpsConfigurationReqSerFree(void *voidPrimitivePointer
)
1892 CsrWifiSmeWpsConfigurationReq
*primitive
= (CsrWifiSmeWpsConfigurationReq
*) voidPrimitivePointer
;
1893 kfree(primitive
->wpsConfig
.secondaryDeviceType
);
1898 size_t CsrWifiSmeSetReqSizeof(void *msg
)
1900 CsrWifiSmeSetReq
*primitive
= (CsrWifiSmeSetReq
*) msg
;
1901 size_t bufferSize
= 2;
1903 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
1904 bufferSize
+= 4; /* u32 primitive->dataLength */
1905 bufferSize
+= primitive
->dataLength
; /* u8 primitive->data */
1910 u8
* CsrWifiSmeSetReqSer(u8
*ptr
, size_t *len
, void *msg
)
1912 CsrWifiSmeSetReq
*primitive
= (CsrWifiSmeSetReq
*)msg
;
1914 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1915 CsrUint32Ser(ptr
, len
, (u32
) primitive
->dataLength
);
1916 if (primitive
->dataLength
)
1918 CsrMemCpySer(ptr
, len
, (const void *) primitive
->data
, ((u16
) (primitive
->dataLength
)));
1924 void* CsrWifiSmeSetReqDes(u8
*buffer
, size_t length
)
1926 CsrWifiSmeSetReq
*primitive
= kmalloc(sizeof(CsrWifiSmeSetReq
), GFP_KERNEL
);
1930 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1931 CsrUint32Des((u32
*) &primitive
->dataLength
, buffer
, &offset
);
1932 if (primitive
->dataLength
)
1934 primitive
->data
= kmalloc(primitive
->dataLength
, GFP_KERNEL
);
1935 CsrMemCpyDes(primitive
->data
, buffer
, &offset
, ((u16
) (primitive
->dataLength
)));
1939 primitive
->data
= NULL
;
1946 void CsrWifiSmeSetReqSerFree(void *voidPrimitivePointer
)
1948 CsrWifiSmeSetReq
*primitive
= (CsrWifiSmeSetReq
*) voidPrimitivePointer
;
1949 kfree(primitive
->data
);
1954 size_t CsrWifiSmeAdhocConfigGetCfmSizeof(void *msg
)
1956 size_t bufferSize
= 2;
1958 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
1959 bufferSize
+= 2; /* CsrResult primitive->status */
1960 bufferSize
+= 2; /* u16 primitive->adHocConfig.atimWindowTu */
1961 bufferSize
+= 2; /* u16 primitive->adHocConfig.beaconPeriodTu */
1962 bufferSize
+= 2; /* u16 primitive->adHocConfig.joinOnlyAttempts */
1963 bufferSize
+= 2; /* u16 primitive->adHocConfig.joinAttemptIntervalMs */
1968 u8
* CsrWifiSmeAdhocConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
1970 CsrWifiSmeAdhocConfigGetCfm
*primitive
= (CsrWifiSmeAdhocConfigGetCfm
*)msg
;
1972 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
1973 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
1974 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.atimWindowTu
);
1975 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.beaconPeriodTu
);
1976 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.joinOnlyAttempts
);
1977 CsrUint16Ser(ptr
, len
, (u16
) primitive
->adHocConfig
.joinAttemptIntervalMs
);
1982 void* CsrWifiSmeAdhocConfigGetCfmDes(u8
*buffer
, size_t length
)
1984 CsrWifiSmeAdhocConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeAdhocConfigGetCfm
), GFP_KERNEL
);
1988 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
1989 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
1990 CsrUint16Des((u16
*) &primitive
->adHocConfig
.atimWindowTu
, buffer
, &offset
);
1991 CsrUint16Des((u16
*) &primitive
->adHocConfig
.beaconPeriodTu
, buffer
, &offset
);
1992 CsrUint16Des((u16
*) &primitive
->adHocConfig
.joinOnlyAttempts
, buffer
, &offset
);
1993 CsrUint16Des((u16
*) &primitive
->adHocConfig
.joinAttemptIntervalMs
, buffer
, &offset
);
1999 size_t CsrWifiSmeAssociationCompleteIndSizeof(void *msg
)
2001 CsrWifiSmeAssociationCompleteInd
*primitive
= (CsrWifiSmeAssociationCompleteInd
*) msg
;
2002 size_t bufferSize
= 2;
2004 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 98) */
2005 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2006 bufferSize
+= 2; /* CsrResult primitive->status */
2007 bufferSize
+= 32; /* u8 primitive->connectionInfo.ssid.ssid[32] */
2008 bufferSize
+= 1; /* u8 primitive->connectionInfo.ssid.length */
2009 bufferSize
+= 6; /* u8 primitive->connectionInfo.bssid.a[6] */
2010 bufferSize
+= 1; /* CsrWifiSme80211NetworkType primitive->connectionInfo.networkType80211 */
2011 bufferSize
+= 1; /* u8 primitive->connectionInfo.channelNumber */
2012 bufferSize
+= 2; /* u16 primitive->connectionInfo.channelFrequency */
2013 bufferSize
+= 2; /* CsrWifiSmeAuthMode primitive->connectionInfo.authMode */
2014 bufferSize
+= 2; /* CsrWifiSmeEncryption primitive->connectionInfo.pairwiseCipher */
2015 bufferSize
+= 2; /* CsrWifiSmeEncryption primitive->connectionInfo.groupCipher */
2016 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->connectionInfo.ifIndex */
2017 bufferSize
+= 2; /* u16 primitive->connectionInfo.atimWindowTu */
2018 bufferSize
+= 2; /* u16 primitive->connectionInfo.beaconPeriodTu */
2019 bufferSize
+= 1; /* u8 primitive->connectionInfo.reassociation */
2020 bufferSize
+= 2; /* u16 primitive->connectionInfo.beaconFrameLength */
2021 bufferSize
+= primitive
->connectionInfo
.beaconFrameLength
; /* u8 primitive->connectionInfo.beaconFrame */
2022 bufferSize
+= 2; /* u16 primitive->connectionInfo.associationReqFrameLength */
2023 bufferSize
+= primitive
->connectionInfo
.associationReqFrameLength
; /* u8 primitive->connectionInfo.associationReqFrame */
2024 bufferSize
+= 2; /* u16 primitive->connectionInfo.associationRspFrameLength */
2025 bufferSize
+= primitive
->connectionInfo
.associationRspFrameLength
; /* u8 primitive->connectionInfo.associationRspFrame */
2026 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocScanInfoElementsLength */
2027 bufferSize
+= primitive
->connectionInfo
.assocScanInfoElementsLength
; /* u8 primitive->connectionInfo.assocScanInfoElements */
2028 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqCapabilities */
2029 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqListenIntervalTu */
2030 bufferSize
+= 6; /* u8 primitive->connectionInfo.assocReqApAddress.a[6] */
2031 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqInfoElementsLength */
2032 bufferSize
+= primitive
->connectionInfo
.assocReqInfoElementsLength
; /* u8 primitive->connectionInfo.assocReqInfoElements */
2033 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Result primitive->connectionInfo.assocRspResult */
2034 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspCapabilityInfo */
2035 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspAssociationId */
2036 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspInfoElementsLength */
2037 bufferSize
+= primitive
->connectionInfo
.assocRspInfoElementsLength
; /* u8 primitive->connectionInfo.assocRspInfoElements */
2038 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Reason primitive->deauthReason */
2043 u8
* CsrWifiSmeAssociationCompleteIndSer(u8
*ptr
, size_t *len
, void *msg
)
2045 CsrWifiSmeAssociationCompleteInd
*primitive
= (CsrWifiSmeAssociationCompleteInd
*)msg
;
2047 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2048 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2049 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2050 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.ssid
.ssid
, ((u16
) (32)));
2051 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.ssid
.length
);
2052 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.bssid
.a
, ((u16
) (6)));
2053 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.networkType80211
);
2054 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.channelNumber
);
2055 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.channelFrequency
);
2056 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.authMode
);
2057 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.pairwiseCipher
);
2058 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.groupCipher
);
2059 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.ifIndex
);
2060 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.atimWindowTu
);
2061 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.beaconPeriodTu
);
2062 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.reassociation
);
2063 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.beaconFrameLength
);
2064 if (primitive
->connectionInfo
.beaconFrameLength
)
2066 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.beaconFrame
, ((u16
) (primitive
->connectionInfo
.beaconFrameLength
)));
2068 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.associationReqFrameLength
);
2069 if (primitive
->connectionInfo
.associationReqFrameLength
)
2071 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.associationReqFrame
, ((u16
) (primitive
->connectionInfo
.associationReqFrameLength
)));
2073 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.associationRspFrameLength
);
2074 if (primitive
->connectionInfo
.associationRspFrameLength
)
2076 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.associationRspFrame
, ((u16
) (primitive
->connectionInfo
.associationRspFrameLength
)));
2078 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocScanInfoElementsLength
);
2079 if (primitive
->connectionInfo
.assocScanInfoElementsLength
)
2081 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocScanInfoElements
, ((u16
) (primitive
->connectionInfo
.assocScanInfoElementsLength
)));
2083 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqCapabilities
);
2084 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqListenIntervalTu
);
2085 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocReqApAddress
.a
, ((u16
) (6)));
2086 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqInfoElementsLength
);
2087 if (primitive
->connectionInfo
.assocReqInfoElementsLength
)
2089 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocReqInfoElements
, ((u16
) (primitive
->connectionInfo
.assocReqInfoElementsLength
)));
2091 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspResult
);
2092 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspCapabilityInfo
);
2093 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspAssociationId
);
2094 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspInfoElementsLength
);
2095 if (primitive
->connectionInfo
.assocRspInfoElementsLength
)
2097 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocRspInfoElements
, ((u16
) (primitive
->connectionInfo
.assocRspInfoElementsLength
)));
2099 CsrUint16Ser(ptr
, len
, (u16
) primitive
->deauthReason
);
2104 void* CsrWifiSmeAssociationCompleteIndDes(u8
*buffer
, size_t length
)
2106 CsrWifiSmeAssociationCompleteInd
*primitive
= kmalloc(sizeof(CsrWifiSmeAssociationCompleteInd
), GFP_KERNEL
);
2110 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2111 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2112 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2113 CsrMemCpyDes(primitive
->connectionInfo
.ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
2114 CsrUint8Des((u8
*) &primitive
->connectionInfo
.ssid
.length
, buffer
, &offset
);
2115 CsrMemCpyDes(primitive
->connectionInfo
.bssid
.a
, buffer
, &offset
, ((u16
) (6)));
2116 CsrUint8Des((u8
*) &primitive
->connectionInfo
.networkType80211
, buffer
, &offset
);
2117 CsrUint8Des((u8
*) &primitive
->connectionInfo
.channelNumber
, buffer
, &offset
);
2118 CsrUint16Des((u16
*) &primitive
->connectionInfo
.channelFrequency
, buffer
, &offset
);
2119 CsrUint16Des((u16
*) &primitive
->connectionInfo
.authMode
, buffer
, &offset
);
2120 CsrUint16Des((u16
*) &primitive
->connectionInfo
.pairwiseCipher
, buffer
, &offset
);
2121 CsrUint16Des((u16
*) &primitive
->connectionInfo
.groupCipher
, buffer
, &offset
);
2122 CsrUint8Des((u8
*) &primitive
->connectionInfo
.ifIndex
, buffer
, &offset
);
2123 CsrUint16Des((u16
*) &primitive
->connectionInfo
.atimWindowTu
, buffer
, &offset
);
2124 CsrUint16Des((u16
*) &primitive
->connectionInfo
.beaconPeriodTu
, buffer
, &offset
);
2125 CsrUint8Des((u8
*) &primitive
->connectionInfo
.reassociation
, buffer
, &offset
);
2126 CsrUint16Des((u16
*) &primitive
->connectionInfo
.beaconFrameLength
, buffer
, &offset
);
2127 if (primitive
->connectionInfo
.beaconFrameLength
)
2129 primitive
->connectionInfo
.beaconFrame
= kmalloc(primitive
->connectionInfo
.beaconFrameLength
, GFP_KERNEL
);
2130 CsrMemCpyDes(primitive
->connectionInfo
.beaconFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.beaconFrameLength
)));
2134 primitive
->connectionInfo
.beaconFrame
= NULL
;
2136 CsrUint16Des((u16
*) &primitive
->connectionInfo
.associationReqFrameLength
, buffer
, &offset
);
2137 if (primitive
->connectionInfo
.associationReqFrameLength
)
2139 primitive
->connectionInfo
.associationReqFrame
= kmalloc(primitive
->connectionInfo
.associationReqFrameLength
, GFP_KERNEL
);
2140 CsrMemCpyDes(primitive
->connectionInfo
.associationReqFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.associationReqFrameLength
)));
2144 primitive
->connectionInfo
.associationReqFrame
= NULL
;
2146 CsrUint16Des((u16
*) &primitive
->connectionInfo
.associationRspFrameLength
, buffer
, &offset
);
2147 if (primitive
->connectionInfo
.associationRspFrameLength
)
2149 primitive
->connectionInfo
.associationRspFrame
= kmalloc(primitive
->connectionInfo
.associationRspFrameLength
, GFP_KERNEL
);
2150 CsrMemCpyDes(primitive
->connectionInfo
.associationRspFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.associationRspFrameLength
)));
2154 primitive
->connectionInfo
.associationRspFrame
= NULL
;
2156 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocScanInfoElementsLength
, buffer
, &offset
);
2157 if (primitive
->connectionInfo
.assocScanInfoElementsLength
)
2159 primitive
->connectionInfo
.assocScanInfoElements
= kmalloc(primitive
->connectionInfo
.assocScanInfoElementsLength
, GFP_KERNEL
);
2160 CsrMemCpyDes(primitive
->connectionInfo
.assocScanInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocScanInfoElementsLength
)));
2164 primitive
->connectionInfo
.assocScanInfoElements
= NULL
;
2166 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqCapabilities
, buffer
, &offset
);
2167 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqListenIntervalTu
, buffer
, &offset
);
2168 CsrMemCpyDes(primitive
->connectionInfo
.assocReqApAddress
.a
, buffer
, &offset
, ((u16
) (6)));
2169 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqInfoElementsLength
, buffer
, &offset
);
2170 if (primitive
->connectionInfo
.assocReqInfoElementsLength
)
2172 primitive
->connectionInfo
.assocReqInfoElements
= kmalloc(primitive
->connectionInfo
.assocReqInfoElementsLength
, GFP_KERNEL
);
2173 CsrMemCpyDes(primitive
->connectionInfo
.assocReqInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocReqInfoElementsLength
)));
2177 primitive
->connectionInfo
.assocReqInfoElements
= NULL
;
2179 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspResult
, buffer
, &offset
);
2180 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspCapabilityInfo
, buffer
, &offset
);
2181 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspAssociationId
, buffer
, &offset
);
2182 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspInfoElementsLength
, buffer
, &offset
);
2183 if (primitive
->connectionInfo
.assocRspInfoElementsLength
)
2185 primitive
->connectionInfo
.assocRspInfoElements
= kmalloc(primitive
->connectionInfo
.assocRspInfoElementsLength
, GFP_KERNEL
);
2186 CsrMemCpyDes(primitive
->connectionInfo
.assocRspInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocRspInfoElementsLength
)));
2190 primitive
->connectionInfo
.assocRspInfoElements
= NULL
;
2192 CsrUint16Des((u16
*) &primitive
->deauthReason
, buffer
, &offset
);
2198 void CsrWifiSmeAssociationCompleteIndSerFree(void *voidPrimitivePointer
)
2200 CsrWifiSmeAssociationCompleteInd
*primitive
= (CsrWifiSmeAssociationCompleteInd
*) voidPrimitivePointer
;
2201 kfree(primitive
->connectionInfo
.beaconFrame
);
2202 kfree(primitive
->connectionInfo
.associationReqFrame
);
2203 kfree(primitive
->connectionInfo
.associationRspFrame
);
2204 kfree(primitive
->connectionInfo
.assocScanInfoElements
);
2205 kfree(primitive
->connectionInfo
.assocReqInfoElements
);
2206 kfree(primitive
->connectionInfo
.assocRspInfoElements
);
2211 size_t CsrWifiSmeAssociationStartIndSizeof(void *msg
)
2213 size_t bufferSize
= 2;
2215 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 44) */
2216 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2217 bufferSize
+= 6; /* u8 primitive->address.a[6] */
2218 bufferSize
+= 32; /* u8 primitive->ssid.ssid[32] */
2219 bufferSize
+= 1; /* u8 primitive->ssid.length */
2224 u8
* CsrWifiSmeAssociationStartIndSer(u8
*ptr
, size_t *len
, void *msg
)
2226 CsrWifiSmeAssociationStartInd
*primitive
= (CsrWifiSmeAssociationStartInd
*)msg
;
2228 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2229 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2230 CsrMemCpySer(ptr
, len
, (const void *) primitive
->address
.a
, ((u16
) (6)));
2231 CsrMemCpySer(ptr
, len
, (const void *) primitive
->ssid
.ssid
, ((u16
) (32)));
2232 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ssid
.length
);
2237 void* CsrWifiSmeAssociationStartIndDes(u8
*buffer
, size_t length
)
2239 CsrWifiSmeAssociationStartInd
*primitive
= kmalloc(sizeof(CsrWifiSmeAssociationStartInd
), GFP_KERNEL
);
2243 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2244 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2245 CsrMemCpyDes(primitive
->address
.a
, buffer
, &offset
, ((u16
) (6)));
2246 CsrMemCpyDes(primitive
->ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
2247 CsrUint8Des((u8
*) &primitive
->ssid
.length
, buffer
, &offset
);
2253 size_t CsrWifiSmeBlacklistCfmSizeof(void *msg
)
2255 CsrWifiSmeBlacklistCfm
*primitive
= (CsrWifiSmeBlacklistCfm
*) msg
;
2256 size_t bufferSize
= 2;
2258 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
2259 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2260 bufferSize
+= 2; /* CsrResult primitive->status */
2261 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
2262 bufferSize
+= 1; /* u8 primitive->getAddressCount */
2265 for (i1
= 0; i1
< primitive
->getAddressCount
; i1
++)
2267 bufferSize
+= 6; /* u8 primitive->getAddresses[i1].a[6] */
2274 u8
* CsrWifiSmeBlacklistCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2276 CsrWifiSmeBlacklistCfm
*primitive
= (CsrWifiSmeBlacklistCfm
*)msg
;
2278 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2279 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2280 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2281 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
2282 CsrUint8Ser(ptr
, len
, (u8
) primitive
->getAddressCount
);
2285 for (i1
= 0; i1
< primitive
->getAddressCount
; i1
++)
2287 CsrMemCpySer(ptr
, len
, (const void *) primitive
->getAddresses
[i1
].a
, ((u16
) (6)));
2294 void* CsrWifiSmeBlacklistCfmDes(u8
*buffer
, size_t length
)
2296 CsrWifiSmeBlacklistCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeBlacklistCfm
), GFP_KERNEL
);
2300 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2301 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2302 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2303 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
2304 CsrUint8Des((u8
*) &primitive
->getAddressCount
, buffer
, &offset
);
2305 primitive
->getAddresses
= NULL
;
2306 if (primitive
->getAddressCount
)
2308 primitive
->getAddresses
= kmalloc(sizeof(CsrWifiMacAddress
) * primitive
->getAddressCount
, GFP_KERNEL
);
2312 for (i1
= 0; i1
< primitive
->getAddressCount
; i1
++)
2314 CsrMemCpyDes(primitive
->getAddresses
[i1
].a
, buffer
, &offset
, ((u16
) (6)));
2322 void CsrWifiSmeBlacklistCfmSerFree(void *voidPrimitivePointer
)
2324 CsrWifiSmeBlacklistCfm
*primitive
= (CsrWifiSmeBlacklistCfm
*) voidPrimitivePointer
;
2325 kfree(primitive
->getAddresses
);
2330 size_t CsrWifiSmeCalibrationDataGetCfmSizeof(void *msg
)
2332 CsrWifiSmeCalibrationDataGetCfm
*primitive
= (CsrWifiSmeCalibrationDataGetCfm
*) msg
;
2333 size_t bufferSize
= 2;
2335 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
2336 bufferSize
+= 2; /* CsrResult primitive->status */
2337 bufferSize
+= 2; /* u16 primitive->calibrationDataLength */
2338 bufferSize
+= primitive
->calibrationDataLength
; /* u8 primitive->calibrationData */
2343 u8
* CsrWifiSmeCalibrationDataGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2345 CsrWifiSmeCalibrationDataGetCfm
*primitive
= (CsrWifiSmeCalibrationDataGetCfm
*)msg
;
2347 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2348 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2349 CsrUint16Ser(ptr
, len
, (u16
) primitive
->calibrationDataLength
);
2350 if (primitive
->calibrationDataLength
)
2352 CsrMemCpySer(ptr
, len
, (const void *) primitive
->calibrationData
, ((u16
) (primitive
->calibrationDataLength
)));
2358 void* CsrWifiSmeCalibrationDataGetCfmDes(u8
*buffer
, size_t length
)
2360 CsrWifiSmeCalibrationDataGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeCalibrationDataGetCfm
), GFP_KERNEL
);
2364 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2365 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2366 CsrUint16Des((u16
*) &primitive
->calibrationDataLength
, buffer
, &offset
);
2367 if (primitive
->calibrationDataLength
)
2369 primitive
->calibrationData
= kmalloc(primitive
->calibrationDataLength
, GFP_KERNEL
);
2370 CsrMemCpyDes(primitive
->calibrationData
, buffer
, &offset
, ((u16
) (primitive
->calibrationDataLength
)));
2374 primitive
->calibrationData
= NULL
;
2381 void CsrWifiSmeCalibrationDataGetCfmSerFree(void *voidPrimitivePointer
)
2383 CsrWifiSmeCalibrationDataGetCfm
*primitive
= (CsrWifiSmeCalibrationDataGetCfm
*) voidPrimitivePointer
;
2384 kfree(primitive
->calibrationData
);
2389 size_t CsrWifiSmeCcxConfigGetCfmSizeof(void *msg
)
2391 size_t bufferSize
= 2;
2393 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
2394 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2395 bufferSize
+= 2; /* CsrResult primitive->status */
2396 bufferSize
+= 1; /* u8 primitive->ccxConfig.keepAliveTimeMs */
2397 bufferSize
+= 1; /* u8 primitive->ccxConfig.apRoamingEnabled */
2398 bufferSize
+= 1; /* u8 primitive->ccxConfig.measurementsMask */
2399 bufferSize
+= 1; /* u8 primitive->ccxConfig.ccxRadioMgtEnabled */
2404 u8
* CsrWifiSmeCcxConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2406 CsrWifiSmeCcxConfigGetCfm
*primitive
= (CsrWifiSmeCcxConfigGetCfm
*)msg
;
2408 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2409 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2410 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2411 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.keepAliveTimeMs
);
2412 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.apRoamingEnabled
);
2413 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.measurementsMask
);
2414 CsrUint8Ser(ptr
, len
, (u8
) primitive
->ccxConfig
.ccxRadioMgtEnabled
);
2419 void* CsrWifiSmeCcxConfigGetCfmDes(u8
*buffer
, size_t length
)
2421 CsrWifiSmeCcxConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeCcxConfigGetCfm
), GFP_KERNEL
);
2425 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2426 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2427 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2428 CsrUint8Des((u8
*) &primitive
->ccxConfig
.keepAliveTimeMs
, buffer
, &offset
);
2429 CsrUint8Des((u8
*) &primitive
->ccxConfig
.apRoamingEnabled
, buffer
, &offset
);
2430 CsrUint8Des((u8
*) &primitive
->ccxConfig
.measurementsMask
, buffer
, &offset
);
2431 CsrUint8Des((u8
*) &primitive
->ccxConfig
.ccxRadioMgtEnabled
, buffer
, &offset
);
2437 size_t CsrWifiSmeCcxConfigSetCfmSizeof(void *msg
)
2439 size_t bufferSize
= 2;
2441 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
2442 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2443 bufferSize
+= 2; /* CsrResult primitive->status */
2448 u8
* CsrWifiSmeCcxConfigSetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2450 CsrWifiSmeCcxConfigSetCfm
*primitive
= (CsrWifiSmeCcxConfigSetCfm
*)msg
;
2452 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2453 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2454 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2459 void* CsrWifiSmeCcxConfigSetCfmDes(u8
*buffer
, size_t length
)
2461 CsrWifiSmeCcxConfigSetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeCcxConfigSetCfm
), GFP_KERNEL
);
2465 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2466 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2467 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2473 size_t CsrWifiSmeCoexConfigGetCfmSizeof(void *msg
)
2475 size_t bufferSize
= 2;
2477 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 31) */
2478 bufferSize
+= 2; /* CsrResult primitive->status */
2479 bufferSize
+= 1; /* u8 primitive->coexConfig.coexEnableSchemeManagement */
2480 bufferSize
+= 1; /* u8 primitive->coexConfig.coexPeriodicWakeHost */
2481 bufferSize
+= 2; /* u16 primitive->coexConfig.coexTrafficBurstyLatencyMs */
2482 bufferSize
+= 2; /* u16 primitive->coexConfig.coexTrafficContinuousLatencyMs */
2483 bufferSize
+= 2; /* u16 primitive->coexConfig.coexObexBlackoutDurationMs */
2484 bufferSize
+= 2; /* u16 primitive->coexConfig.coexObexBlackoutPeriodMs */
2485 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpBrBlackoutDurationMs */
2486 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpBrBlackoutPeriodMs */
2487 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpEdrBlackoutDurationMs */
2488 bufferSize
+= 2; /* u16 primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs */
2489 bufferSize
+= 2; /* u16 primitive->coexConfig.coexPagingBlackoutDurationMs */
2490 bufferSize
+= 2; /* u16 primitive->coexConfig.coexPagingBlackoutPeriodMs */
2491 bufferSize
+= 2; /* u16 primitive->coexConfig.coexInquiryBlackoutDurationMs */
2492 bufferSize
+= 2; /* u16 primitive->coexConfig.coexInquiryBlackoutPeriodMs */
2497 u8
* CsrWifiSmeCoexConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2499 CsrWifiSmeCoexConfigGetCfm
*primitive
= (CsrWifiSmeCoexConfigGetCfm
*)msg
;
2501 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2502 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2503 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexConfig
.coexEnableSchemeManagement
);
2504 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexConfig
.coexPeriodicWakeHost
);
2505 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexTrafficBurstyLatencyMs
);
2506 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexTrafficContinuousLatencyMs
);
2507 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexObexBlackoutDurationMs
);
2508 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexObexBlackoutPeriodMs
);
2509 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpBrBlackoutDurationMs
);
2510 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpBrBlackoutPeriodMs
);
2511 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpEdrBlackoutDurationMs
);
2512 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexA2dpEdrBlackoutPeriodMs
);
2513 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexPagingBlackoutDurationMs
);
2514 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexPagingBlackoutPeriodMs
);
2515 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexInquiryBlackoutDurationMs
);
2516 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexConfig
.coexInquiryBlackoutPeriodMs
);
2521 void* CsrWifiSmeCoexConfigGetCfmDes(u8
*buffer
, size_t length
)
2523 CsrWifiSmeCoexConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeCoexConfigGetCfm
), GFP_KERNEL
);
2527 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2528 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2529 CsrUint8Des((u8
*) &primitive
->coexConfig
.coexEnableSchemeManagement
, buffer
, &offset
);
2530 CsrUint8Des((u8
*) &primitive
->coexConfig
.coexPeriodicWakeHost
, buffer
, &offset
);
2531 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexTrafficBurstyLatencyMs
, buffer
, &offset
);
2532 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexTrafficContinuousLatencyMs
, buffer
, &offset
);
2533 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexObexBlackoutDurationMs
, buffer
, &offset
);
2534 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexObexBlackoutPeriodMs
, buffer
, &offset
);
2535 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpBrBlackoutDurationMs
, buffer
, &offset
);
2536 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpBrBlackoutPeriodMs
, buffer
, &offset
);
2537 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpEdrBlackoutDurationMs
, buffer
, &offset
);
2538 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexA2dpEdrBlackoutPeriodMs
, buffer
, &offset
);
2539 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexPagingBlackoutDurationMs
, buffer
, &offset
);
2540 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexPagingBlackoutPeriodMs
, buffer
, &offset
);
2541 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexInquiryBlackoutDurationMs
, buffer
, &offset
);
2542 CsrUint16Des((u16
*) &primitive
->coexConfig
.coexInquiryBlackoutPeriodMs
, buffer
, &offset
);
2548 size_t CsrWifiSmeCoexInfoGetCfmSizeof(void *msg
)
2550 size_t bufferSize
= 2;
2552 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 24) */
2553 bufferSize
+= 2; /* CsrResult primitive->status */
2554 bufferSize
+= 1; /* u8 primitive->coexInfo.hasTrafficData */
2555 bufferSize
+= 1; /* CsrWifiSmeTrafficType primitive->coexInfo.currentTrafficType */
2556 bufferSize
+= 2; /* u16 primitive->coexInfo.currentPeriodMs */
2557 bufferSize
+= 1; /* CsrWifiSmePowerSaveLevel primitive->coexInfo.currentPowerSave */
2558 bufferSize
+= 2; /* u16 primitive->coexInfo.currentCoexPeriodMs */
2559 bufferSize
+= 2; /* u16 primitive->coexInfo.currentCoexLatencyMs */
2560 bufferSize
+= 1; /* u8 primitive->coexInfo.hasBtDevice */
2561 bufferSize
+= 4; /* u32 primitive->coexInfo.currentBlackoutDurationUs */
2562 bufferSize
+= 4; /* u32 primitive->coexInfo.currentBlackoutPeriodUs */
2563 bufferSize
+= 1; /* CsrWifiSmeCoexScheme primitive->coexInfo.currentCoexScheme */
2568 u8
* CsrWifiSmeCoexInfoGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2570 CsrWifiSmeCoexInfoGetCfm
*primitive
= (CsrWifiSmeCoexInfoGetCfm
*)msg
;
2572 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2573 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2574 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexInfo
.hasTrafficData
);
2575 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexInfo
.currentTrafficType
);
2576 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexInfo
.currentPeriodMs
);
2577 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexInfo
.currentPowerSave
);
2578 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexInfo
.currentCoexPeriodMs
);
2579 CsrUint16Ser(ptr
, len
, (u16
) primitive
->coexInfo
.currentCoexLatencyMs
);
2580 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexInfo
.hasBtDevice
);
2581 CsrUint32Ser(ptr
, len
, (u32
) primitive
->coexInfo
.currentBlackoutDurationUs
);
2582 CsrUint32Ser(ptr
, len
, (u32
) primitive
->coexInfo
.currentBlackoutPeriodUs
);
2583 CsrUint8Ser(ptr
, len
, (u8
) primitive
->coexInfo
.currentCoexScheme
);
2588 void* CsrWifiSmeCoexInfoGetCfmDes(u8
*buffer
, size_t length
)
2590 CsrWifiSmeCoexInfoGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeCoexInfoGetCfm
), GFP_KERNEL
);
2594 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2595 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2596 CsrUint8Des((u8
*) &primitive
->coexInfo
.hasTrafficData
, buffer
, &offset
);
2597 CsrUint8Des((u8
*) &primitive
->coexInfo
.currentTrafficType
, buffer
, &offset
);
2598 CsrUint16Des((u16
*) &primitive
->coexInfo
.currentPeriodMs
, buffer
, &offset
);
2599 CsrUint8Des((u8
*) &primitive
->coexInfo
.currentPowerSave
, buffer
, &offset
);
2600 CsrUint16Des((u16
*) &primitive
->coexInfo
.currentCoexPeriodMs
, buffer
, &offset
);
2601 CsrUint16Des((u16
*) &primitive
->coexInfo
.currentCoexLatencyMs
, buffer
, &offset
);
2602 CsrUint8Des((u8
*) &primitive
->coexInfo
.hasBtDevice
, buffer
, &offset
);
2603 CsrUint32Des((u32
*) &primitive
->coexInfo
.currentBlackoutDurationUs
, buffer
, &offset
);
2604 CsrUint32Des((u32
*) &primitive
->coexInfo
.currentBlackoutPeriodUs
, buffer
, &offset
);
2605 CsrUint8Des((u8
*) &primitive
->coexInfo
.currentCoexScheme
, buffer
, &offset
);
2611 size_t CsrWifiSmeConnectCfmSizeof(void *msg
)
2613 size_t bufferSize
= 2;
2615 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
2616 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2617 bufferSize
+= 2; /* CsrResult primitive->status */
2622 u8
* CsrWifiSmeConnectCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2624 CsrWifiSmeConnectCfm
*primitive
= (CsrWifiSmeConnectCfm
*)msg
;
2626 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2627 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2628 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2633 void* CsrWifiSmeConnectCfmDes(u8
*buffer
, size_t length
)
2635 CsrWifiSmeConnectCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeConnectCfm
), GFP_KERNEL
);
2639 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2640 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2641 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2647 size_t CsrWifiSmeConnectionConfigGetCfmSizeof(void *msg
)
2649 CsrWifiSmeConnectionConfigGetCfm
*primitive
= (CsrWifiSmeConnectionConfigGetCfm
*) msg
;
2650 size_t bufferSize
= 2;
2652 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 59) */
2653 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2654 bufferSize
+= 2; /* CsrResult primitive->status */
2655 bufferSize
+= 32; /* u8 primitive->connectionConfig.ssid.ssid[32] */
2656 bufferSize
+= 1; /* u8 primitive->connectionConfig.ssid.length */
2657 bufferSize
+= 6; /* u8 primitive->connectionConfig.bssid.a[6] */
2658 bufferSize
+= 1; /* CsrWifiSmeBssType primitive->connectionConfig.bssType */
2659 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->connectionConfig.ifIndex */
2660 bufferSize
+= 1; /* CsrWifiSme80211PrivacyMode primitive->connectionConfig.privacyMode */
2661 bufferSize
+= 2; /* CsrWifiSmeAuthModeMask primitive->connectionConfig.authModeMask */
2662 bufferSize
+= 2; /* CsrWifiSmeEncryptionMask primitive->connectionConfig.encryptionModeMask */
2663 bufferSize
+= 2; /* u16 primitive->connectionConfig.mlmeAssociateReqInformationElementsLength */
2664 bufferSize
+= primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
; /* u8 primitive->connectionConfig.mlmeAssociateReqInformationElements */
2665 bufferSize
+= 1; /* CsrWifiSmeWmmQosInfoMask primitive->connectionConfig.wmmQosInfo */
2666 bufferSize
+= 1; /* u8 primitive->connectionConfig.adhocJoinOnly */
2667 bufferSize
+= 1; /* u8 primitive->connectionConfig.adhocChannel */
2672 u8
* CsrWifiSmeConnectionConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2674 CsrWifiSmeConnectionConfigGetCfm
*primitive
= (CsrWifiSmeConnectionConfigGetCfm
*)msg
;
2676 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2677 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2678 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2679 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionConfig
.ssid
.ssid
, ((u16
) (32)));
2680 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.ssid
.length
);
2681 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionConfig
.bssid
.a
, ((u16
) (6)));
2682 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.bssType
);
2683 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.ifIndex
);
2684 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.privacyMode
);
2685 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionConfig
.authModeMask
);
2686 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionConfig
.encryptionModeMask
);
2687 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
);
2688 if (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)
2690 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionConfig
.mlmeAssociateReqInformationElements
, ((u16
) (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)));
2692 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.wmmQosInfo
);
2693 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.adhocJoinOnly
);
2694 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionConfig
.adhocChannel
);
2699 void* CsrWifiSmeConnectionConfigGetCfmDes(u8
*buffer
, size_t length
)
2701 CsrWifiSmeConnectionConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeConnectionConfigGetCfm
), GFP_KERNEL
);
2705 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2706 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2707 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2708 CsrMemCpyDes(primitive
->connectionConfig
.ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
2709 CsrUint8Des((u8
*) &primitive
->connectionConfig
.ssid
.length
, buffer
, &offset
);
2710 CsrMemCpyDes(primitive
->connectionConfig
.bssid
.a
, buffer
, &offset
, ((u16
) (6)));
2711 CsrUint8Des((u8
*) &primitive
->connectionConfig
.bssType
, buffer
, &offset
);
2712 CsrUint8Des((u8
*) &primitive
->connectionConfig
.ifIndex
, buffer
, &offset
);
2713 CsrUint8Des((u8
*) &primitive
->connectionConfig
.privacyMode
, buffer
, &offset
);
2714 CsrUint16Des((u16
*) &primitive
->connectionConfig
.authModeMask
, buffer
, &offset
);
2715 CsrUint16Des((u16
*) &primitive
->connectionConfig
.encryptionModeMask
, buffer
, &offset
);
2716 CsrUint16Des((u16
*) &primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
, buffer
, &offset
);
2717 if (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)
2719 primitive
->connectionConfig
.mlmeAssociateReqInformationElements
= kmalloc(primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
, GFP_KERNEL
);
2720 CsrMemCpyDes(primitive
->connectionConfig
.mlmeAssociateReqInformationElements
, buffer
, &offset
, ((u16
) (primitive
->connectionConfig
.mlmeAssociateReqInformationElementsLength
)));
2724 primitive
->connectionConfig
.mlmeAssociateReqInformationElements
= NULL
;
2726 CsrUint8Des((u8
*) &primitive
->connectionConfig
.wmmQosInfo
, buffer
, &offset
);
2727 CsrUint8Des((u8
*) &primitive
->connectionConfig
.adhocJoinOnly
, buffer
, &offset
);
2728 CsrUint8Des((u8
*) &primitive
->connectionConfig
.adhocChannel
, buffer
, &offset
);
2734 void CsrWifiSmeConnectionConfigGetCfmSerFree(void *voidPrimitivePointer
)
2736 CsrWifiSmeConnectionConfigGetCfm
*primitive
= (CsrWifiSmeConnectionConfigGetCfm
*) voidPrimitivePointer
;
2737 kfree(primitive
->connectionConfig
.mlmeAssociateReqInformationElements
);
2742 size_t CsrWifiSmeConnectionInfoGetCfmSizeof(void *msg
)
2744 CsrWifiSmeConnectionInfoGetCfm
*primitive
= (CsrWifiSmeConnectionInfoGetCfm
*) msg
;
2745 size_t bufferSize
= 2;
2747 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 96) */
2748 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2749 bufferSize
+= 2; /* CsrResult primitive->status */
2750 bufferSize
+= 32; /* u8 primitive->connectionInfo.ssid.ssid[32] */
2751 bufferSize
+= 1; /* u8 primitive->connectionInfo.ssid.length */
2752 bufferSize
+= 6; /* u8 primitive->connectionInfo.bssid.a[6] */
2753 bufferSize
+= 1; /* CsrWifiSme80211NetworkType primitive->connectionInfo.networkType80211 */
2754 bufferSize
+= 1; /* u8 primitive->connectionInfo.channelNumber */
2755 bufferSize
+= 2; /* u16 primitive->connectionInfo.channelFrequency */
2756 bufferSize
+= 2; /* CsrWifiSmeAuthMode primitive->connectionInfo.authMode */
2757 bufferSize
+= 2; /* CsrWifiSmeEncryption primitive->connectionInfo.pairwiseCipher */
2758 bufferSize
+= 2; /* CsrWifiSmeEncryption primitive->connectionInfo.groupCipher */
2759 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->connectionInfo.ifIndex */
2760 bufferSize
+= 2; /* u16 primitive->connectionInfo.atimWindowTu */
2761 bufferSize
+= 2; /* u16 primitive->connectionInfo.beaconPeriodTu */
2762 bufferSize
+= 1; /* u8 primitive->connectionInfo.reassociation */
2763 bufferSize
+= 2; /* u16 primitive->connectionInfo.beaconFrameLength */
2764 bufferSize
+= primitive
->connectionInfo
.beaconFrameLength
; /* u8 primitive->connectionInfo.beaconFrame */
2765 bufferSize
+= 2; /* u16 primitive->connectionInfo.associationReqFrameLength */
2766 bufferSize
+= primitive
->connectionInfo
.associationReqFrameLength
; /* u8 primitive->connectionInfo.associationReqFrame */
2767 bufferSize
+= 2; /* u16 primitive->connectionInfo.associationRspFrameLength */
2768 bufferSize
+= primitive
->connectionInfo
.associationRspFrameLength
; /* u8 primitive->connectionInfo.associationRspFrame */
2769 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocScanInfoElementsLength */
2770 bufferSize
+= primitive
->connectionInfo
.assocScanInfoElementsLength
; /* u8 primitive->connectionInfo.assocScanInfoElements */
2771 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqCapabilities */
2772 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqListenIntervalTu */
2773 bufferSize
+= 6; /* u8 primitive->connectionInfo.assocReqApAddress.a[6] */
2774 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqInfoElementsLength */
2775 bufferSize
+= primitive
->connectionInfo
.assocReqInfoElementsLength
; /* u8 primitive->connectionInfo.assocReqInfoElements */
2776 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Result primitive->connectionInfo.assocRspResult */
2777 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspCapabilityInfo */
2778 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspAssociationId */
2779 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspInfoElementsLength */
2780 bufferSize
+= primitive
->connectionInfo
.assocRspInfoElementsLength
; /* u8 primitive->connectionInfo.assocRspInfoElements */
2785 u8
* CsrWifiSmeConnectionInfoGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
2787 CsrWifiSmeConnectionInfoGetCfm
*primitive
= (CsrWifiSmeConnectionInfoGetCfm
*)msg
;
2789 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2790 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2791 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
2792 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.ssid
.ssid
, ((u16
) (32)));
2793 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.ssid
.length
);
2794 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.bssid
.a
, ((u16
) (6)));
2795 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.networkType80211
);
2796 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.channelNumber
);
2797 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.channelFrequency
);
2798 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.authMode
);
2799 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.pairwiseCipher
);
2800 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.groupCipher
);
2801 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.ifIndex
);
2802 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.atimWindowTu
);
2803 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.beaconPeriodTu
);
2804 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.reassociation
);
2805 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.beaconFrameLength
);
2806 if (primitive
->connectionInfo
.beaconFrameLength
)
2808 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.beaconFrame
, ((u16
) (primitive
->connectionInfo
.beaconFrameLength
)));
2810 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.associationReqFrameLength
);
2811 if (primitive
->connectionInfo
.associationReqFrameLength
)
2813 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.associationReqFrame
, ((u16
) (primitive
->connectionInfo
.associationReqFrameLength
)));
2815 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.associationRspFrameLength
);
2816 if (primitive
->connectionInfo
.associationRspFrameLength
)
2818 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.associationRspFrame
, ((u16
) (primitive
->connectionInfo
.associationRspFrameLength
)));
2820 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocScanInfoElementsLength
);
2821 if (primitive
->connectionInfo
.assocScanInfoElementsLength
)
2823 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocScanInfoElements
, ((u16
) (primitive
->connectionInfo
.assocScanInfoElementsLength
)));
2825 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqCapabilities
);
2826 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqListenIntervalTu
);
2827 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocReqApAddress
.a
, ((u16
) (6)));
2828 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqInfoElementsLength
);
2829 if (primitive
->connectionInfo
.assocReqInfoElementsLength
)
2831 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocReqInfoElements
, ((u16
) (primitive
->connectionInfo
.assocReqInfoElementsLength
)));
2833 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspResult
);
2834 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspCapabilityInfo
);
2835 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspAssociationId
);
2836 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspInfoElementsLength
);
2837 if (primitive
->connectionInfo
.assocRspInfoElementsLength
)
2839 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocRspInfoElements
, ((u16
) (primitive
->connectionInfo
.assocRspInfoElementsLength
)));
2845 void* CsrWifiSmeConnectionInfoGetCfmDes(u8
*buffer
, size_t length
)
2847 CsrWifiSmeConnectionInfoGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeConnectionInfoGetCfm
), GFP_KERNEL
);
2851 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2852 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2853 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
2854 CsrMemCpyDes(primitive
->connectionInfo
.ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
2855 CsrUint8Des((u8
*) &primitive
->connectionInfo
.ssid
.length
, buffer
, &offset
);
2856 CsrMemCpyDes(primitive
->connectionInfo
.bssid
.a
, buffer
, &offset
, ((u16
) (6)));
2857 CsrUint8Des((u8
*) &primitive
->connectionInfo
.networkType80211
, buffer
, &offset
);
2858 CsrUint8Des((u8
*) &primitive
->connectionInfo
.channelNumber
, buffer
, &offset
);
2859 CsrUint16Des((u16
*) &primitive
->connectionInfo
.channelFrequency
, buffer
, &offset
);
2860 CsrUint16Des((u16
*) &primitive
->connectionInfo
.authMode
, buffer
, &offset
);
2861 CsrUint16Des((u16
*) &primitive
->connectionInfo
.pairwiseCipher
, buffer
, &offset
);
2862 CsrUint16Des((u16
*) &primitive
->connectionInfo
.groupCipher
, buffer
, &offset
);
2863 CsrUint8Des((u8
*) &primitive
->connectionInfo
.ifIndex
, buffer
, &offset
);
2864 CsrUint16Des((u16
*) &primitive
->connectionInfo
.atimWindowTu
, buffer
, &offset
);
2865 CsrUint16Des((u16
*) &primitive
->connectionInfo
.beaconPeriodTu
, buffer
, &offset
);
2866 CsrUint8Des((u8
*) &primitive
->connectionInfo
.reassociation
, buffer
, &offset
);
2867 CsrUint16Des((u16
*) &primitive
->connectionInfo
.beaconFrameLength
, buffer
, &offset
);
2868 if (primitive
->connectionInfo
.beaconFrameLength
)
2870 primitive
->connectionInfo
.beaconFrame
= kmalloc(primitive
->connectionInfo
.beaconFrameLength
, GFP_KERNEL
);
2871 CsrMemCpyDes(primitive
->connectionInfo
.beaconFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.beaconFrameLength
)));
2875 primitive
->connectionInfo
.beaconFrame
= NULL
;
2877 CsrUint16Des((u16
*) &primitive
->connectionInfo
.associationReqFrameLength
, buffer
, &offset
);
2878 if (primitive
->connectionInfo
.associationReqFrameLength
)
2880 primitive
->connectionInfo
.associationReqFrame
= kmalloc(primitive
->connectionInfo
.associationReqFrameLength
, GFP_KERNEL
);
2881 CsrMemCpyDes(primitive
->connectionInfo
.associationReqFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.associationReqFrameLength
)));
2885 primitive
->connectionInfo
.associationReqFrame
= NULL
;
2887 CsrUint16Des((u16
*) &primitive
->connectionInfo
.associationRspFrameLength
, buffer
, &offset
);
2888 if (primitive
->connectionInfo
.associationRspFrameLength
)
2890 primitive
->connectionInfo
.associationRspFrame
= kmalloc(primitive
->connectionInfo
.associationRspFrameLength
, GFP_KERNEL
);
2891 CsrMemCpyDes(primitive
->connectionInfo
.associationRspFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.associationRspFrameLength
)));
2895 primitive
->connectionInfo
.associationRspFrame
= NULL
;
2897 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocScanInfoElementsLength
, buffer
, &offset
);
2898 if (primitive
->connectionInfo
.assocScanInfoElementsLength
)
2900 primitive
->connectionInfo
.assocScanInfoElements
= kmalloc(primitive
->connectionInfo
.assocScanInfoElementsLength
, GFP_KERNEL
);
2901 CsrMemCpyDes(primitive
->connectionInfo
.assocScanInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocScanInfoElementsLength
)));
2905 primitive
->connectionInfo
.assocScanInfoElements
= NULL
;
2907 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqCapabilities
, buffer
, &offset
);
2908 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqListenIntervalTu
, buffer
, &offset
);
2909 CsrMemCpyDes(primitive
->connectionInfo
.assocReqApAddress
.a
, buffer
, &offset
, ((u16
) (6)));
2910 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqInfoElementsLength
, buffer
, &offset
);
2911 if (primitive
->connectionInfo
.assocReqInfoElementsLength
)
2913 primitive
->connectionInfo
.assocReqInfoElements
= kmalloc(primitive
->connectionInfo
.assocReqInfoElementsLength
, GFP_KERNEL
);
2914 CsrMemCpyDes(primitive
->connectionInfo
.assocReqInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocReqInfoElementsLength
)));
2918 primitive
->connectionInfo
.assocReqInfoElements
= NULL
;
2920 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspResult
, buffer
, &offset
);
2921 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspCapabilityInfo
, buffer
, &offset
);
2922 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspAssociationId
, buffer
, &offset
);
2923 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspInfoElementsLength
, buffer
, &offset
);
2924 if (primitive
->connectionInfo
.assocRspInfoElementsLength
)
2926 primitive
->connectionInfo
.assocRspInfoElements
= kmalloc(primitive
->connectionInfo
.assocRspInfoElementsLength
, GFP_KERNEL
);
2927 CsrMemCpyDes(primitive
->connectionInfo
.assocRspInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocRspInfoElementsLength
)));
2931 primitive
->connectionInfo
.assocRspInfoElements
= NULL
;
2938 void CsrWifiSmeConnectionInfoGetCfmSerFree(void *voidPrimitivePointer
)
2940 CsrWifiSmeConnectionInfoGetCfm
*primitive
= (CsrWifiSmeConnectionInfoGetCfm
*) voidPrimitivePointer
;
2941 kfree(primitive
->connectionInfo
.beaconFrame
);
2942 kfree(primitive
->connectionInfo
.associationReqFrame
);
2943 kfree(primitive
->connectionInfo
.associationRspFrame
);
2944 kfree(primitive
->connectionInfo
.assocScanInfoElements
);
2945 kfree(primitive
->connectionInfo
.assocReqInfoElements
);
2946 kfree(primitive
->connectionInfo
.assocRspInfoElements
);
2951 size_t CsrWifiSmeConnectionQualityIndSizeof(void *msg
)
2953 size_t bufferSize
= 2;
2955 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
2956 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2957 bufferSize
+= 2; /* s16 primitive->linkQuality.unifiRssi */
2958 bufferSize
+= 2; /* s16 primitive->linkQuality.unifiSnr */
2963 u8
* CsrWifiSmeConnectionQualityIndSer(u8
*ptr
, size_t *len
, void *msg
)
2965 CsrWifiSmeConnectionQualityInd
*primitive
= (CsrWifiSmeConnectionQualityInd
*)msg
;
2967 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
2968 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
2969 CsrUint16Ser(ptr
, len
, (u16
) primitive
->linkQuality
.unifiRssi
);
2970 CsrUint16Ser(ptr
, len
, (u16
) primitive
->linkQuality
.unifiSnr
);
2975 void* CsrWifiSmeConnectionQualityIndDes(u8
*buffer
, size_t length
)
2977 CsrWifiSmeConnectionQualityInd
*primitive
= kmalloc(sizeof(CsrWifiSmeConnectionQualityInd
), GFP_KERNEL
);
2981 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
2982 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
2983 CsrUint16Des((u16
*) &primitive
->linkQuality
.unifiRssi
, buffer
, &offset
);
2984 CsrUint16Des((u16
*) &primitive
->linkQuality
.unifiSnr
, buffer
, &offset
);
2990 size_t CsrWifiSmeConnectionStatsGetCfmSizeof(void *msg
)
2992 size_t bufferSize
= 2;
2994 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 101) */
2995 bufferSize
+= 2; /* u16 primitive->interfaceTag */
2996 bufferSize
+= 2; /* CsrResult primitive->status */
2997 bufferSize
+= 1; /* u8 primitive->connectionStats.unifiTxDataRate */
2998 bufferSize
+= 1; /* u8 primitive->connectionStats.unifiRxDataRate */
2999 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RetryCount */
3000 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11MultipleRetryCount */
3001 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11AckFailureCount */
3002 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11FrameDuplicateCount */
3003 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11FcsErrorCount */
3004 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RtsSuccessCount */
3005 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RtsFailureCount */
3006 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11FailedCount */
3007 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11TransmittedFragmentCount */
3008 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11TransmittedFrameCount */
3009 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11WepExcludedCount */
3010 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11WepIcvErrorCount */
3011 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11WepUndecryptableCount */
3012 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11MulticastReceivedFrameCount */
3013 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11MulticastTransmittedFrameCount */
3014 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11ReceivedFragmentCount */
3015 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11Rsna4WayHandshakeFailures */
3016 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RsnaTkipCounterMeasuresInvoked */
3017 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RsnaStatsTkipLocalMicFailures */
3018 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RsnaStatsTkipReplays */
3019 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RsnaStatsTkipIcvErrors */
3020 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RsnaStatsCcmpReplays */
3021 bufferSize
+= 4; /* u32 primitive->connectionStats.dot11RsnaStatsCcmpDecryptErrors */
3026 u8
* CsrWifiSmeConnectionStatsGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3028 CsrWifiSmeConnectionStatsGetCfm
*primitive
= (CsrWifiSmeConnectionStatsGetCfm
*)msg
;
3030 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3031 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3032 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3033 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionStats
.unifiTxDataRate
);
3034 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionStats
.unifiRxDataRate
);
3035 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RetryCount
);
3036 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11MultipleRetryCount
);
3037 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11AckFailureCount
);
3038 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11FrameDuplicateCount
);
3039 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11FcsErrorCount
);
3040 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RtsSuccessCount
);
3041 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RtsFailureCount
);
3042 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11FailedCount
);
3043 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11TransmittedFragmentCount
);
3044 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11TransmittedFrameCount
);
3045 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11WepExcludedCount
);
3046 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11WepIcvErrorCount
);
3047 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11WepUndecryptableCount
);
3048 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11MulticastReceivedFrameCount
);
3049 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11MulticastTransmittedFrameCount
);
3050 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11ReceivedFragmentCount
);
3051 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11Rsna4WayHandshakeFailures
);
3052 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RsnaTkipCounterMeasuresInvoked
);
3053 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RsnaStatsTkipLocalMicFailures
);
3054 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RsnaStatsTkipReplays
);
3055 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RsnaStatsTkipIcvErrors
);
3056 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RsnaStatsCcmpReplays
);
3057 CsrUint32Ser(ptr
, len
, (u32
) primitive
->connectionStats
.dot11RsnaStatsCcmpDecryptErrors
);
3062 void* CsrWifiSmeConnectionStatsGetCfmDes(u8
*buffer
, size_t length
)
3064 CsrWifiSmeConnectionStatsGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeConnectionStatsGetCfm
), GFP_KERNEL
);
3068 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3069 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3070 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3071 CsrUint8Des((u8
*) &primitive
->connectionStats
.unifiTxDataRate
, buffer
, &offset
);
3072 CsrUint8Des((u8
*) &primitive
->connectionStats
.unifiRxDataRate
, buffer
, &offset
);
3073 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RetryCount
, buffer
, &offset
);
3074 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11MultipleRetryCount
, buffer
, &offset
);
3075 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11AckFailureCount
, buffer
, &offset
);
3076 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11FrameDuplicateCount
, buffer
, &offset
);
3077 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11FcsErrorCount
, buffer
, &offset
);
3078 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RtsSuccessCount
, buffer
, &offset
);
3079 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RtsFailureCount
, buffer
, &offset
);
3080 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11FailedCount
, buffer
, &offset
);
3081 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11TransmittedFragmentCount
, buffer
, &offset
);
3082 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11TransmittedFrameCount
, buffer
, &offset
);
3083 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11WepExcludedCount
, buffer
, &offset
);
3084 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11WepIcvErrorCount
, buffer
, &offset
);
3085 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11WepUndecryptableCount
, buffer
, &offset
);
3086 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11MulticastReceivedFrameCount
, buffer
, &offset
);
3087 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11MulticastTransmittedFrameCount
, buffer
, &offset
);
3088 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11ReceivedFragmentCount
, buffer
, &offset
);
3089 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11Rsna4WayHandshakeFailures
, buffer
, &offset
);
3090 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RsnaTkipCounterMeasuresInvoked
, buffer
, &offset
);
3091 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RsnaStatsTkipLocalMicFailures
, buffer
, &offset
);
3092 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RsnaStatsTkipReplays
, buffer
, &offset
);
3093 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RsnaStatsTkipIcvErrors
, buffer
, &offset
);
3094 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RsnaStatsCcmpReplays
, buffer
, &offset
);
3095 CsrUint32Des((u32
*) &primitive
->connectionStats
.dot11RsnaStatsCcmpDecryptErrors
, buffer
, &offset
);
3101 size_t CsrWifiSmeDisconnectCfmSizeof(void *msg
)
3103 size_t bufferSize
= 2;
3105 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
3106 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3107 bufferSize
+= 2; /* CsrResult primitive->status */
3112 u8
* CsrWifiSmeDisconnectCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3114 CsrWifiSmeDisconnectCfm
*primitive
= (CsrWifiSmeDisconnectCfm
*)msg
;
3116 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3117 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3118 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3123 void* CsrWifiSmeDisconnectCfmDes(u8
*buffer
, size_t length
)
3125 CsrWifiSmeDisconnectCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeDisconnectCfm
), GFP_KERNEL
);
3129 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3130 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3131 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3137 size_t CsrWifiSmeHostConfigGetCfmSizeof(void *msg
)
3139 size_t bufferSize
= 2;
3141 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
3142 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3143 bufferSize
+= 2; /* CsrResult primitive->status */
3144 bufferSize
+= 1; /* CsrWifiSmeHostPowerMode primitive->hostConfig.powerMode */
3145 bufferSize
+= 2; /* u16 primitive->hostConfig.applicationDataPeriodMs */
3150 u8
* CsrWifiSmeHostConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3152 CsrWifiSmeHostConfigGetCfm
*primitive
= (CsrWifiSmeHostConfigGetCfm
*)msg
;
3154 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3155 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3156 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3157 CsrUint8Ser(ptr
, len
, (u8
) primitive
->hostConfig
.powerMode
);
3158 CsrUint16Ser(ptr
, len
, (u16
) primitive
->hostConfig
.applicationDataPeriodMs
);
3163 void* CsrWifiSmeHostConfigGetCfmDes(u8
*buffer
, size_t length
)
3165 CsrWifiSmeHostConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeHostConfigGetCfm
), GFP_KERNEL
);
3169 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3170 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3171 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3172 CsrUint8Des((u8
*) &primitive
->hostConfig
.powerMode
, buffer
, &offset
);
3173 CsrUint16Des((u16
*) &primitive
->hostConfig
.applicationDataPeriodMs
, buffer
, &offset
);
3179 size_t CsrWifiSmeHostConfigSetCfmSizeof(void *msg
)
3181 size_t bufferSize
= 2;
3183 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
3184 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3185 bufferSize
+= 2; /* CsrResult primitive->status */
3190 u8
* CsrWifiSmeHostConfigSetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3192 CsrWifiSmeHostConfigSetCfm
*primitive
= (CsrWifiSmeHostConfigSetCfm
*)msg
;
3194 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3195 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3196 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3201 void* CsrWifiSmeHostConfigSetCfmDes(u8
*buffer
, size_t length
)
3203 CsrWifiSmeHostConfigSetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeHostConfigSetCfm
), GFP_KERNEL
);
3207 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3208 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3209 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3215 size_t CsrWifiSmeIbssStationIndSizeof(void *msg
)
3217 size_t bufferSize
= 2;
3219 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
3220 bufferSize
+= 6; /* u8 primitive->address.a[6] */
3221 bufferSize
+= 1; /* u8 primitive->isconnected */
3226 u8
* CsrWifiSmeIbssStationIndSer(u8
*ptr
, size_t *len
, void *msg
)
3228 CsrWifiSmeIbssStationInd
*primitive
= (CsrWifiSmeIbssStationInd
*)msg
;
3230 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3231 CsrMemCpySer(ptr
, len
, (const void *) primitive
->address
.a
, ((u16
) (6)));
3232 CsrUint8Ser(ptr
, len
, (u8
) primitive
->isconnected
);
3237 void* CsrWifiSmeIbssStationIndDes(u8
*buffer
, size_t length
)
3239 CsrWifiSmeIbssStationInd
*primitive
= kmalloc(sizeof(CsrWifiSmeIbssStationInd
), GFP_KERNEL
);
3243 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3244 CsrMemCpyDes(primitive
->address
.a
, buffer
, &offset
, ((u16
) (6)));
3245 CsrUint8Des((u8
*) &primitive
->isconnected
, buffer
, &offset
);
3251 size_t CsrWifiSmeKeyCfmSizeof(void *msg
)
3253 size_t bufferSize
= 2;
3255 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
3256 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3257 bufferSize
+= 2; /* CsrResult primitive->status */
3258 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
3259 bufferSize
+= 1; /* CsrWifiSmeKeyType primitive->keyType */
3260 bufferSize
+= 6; /* u8 primitive->peerMacAddress.a[6] */
3265 u8
* CsrWifiSmeKeyCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3267 CsrWifiSmeKeyCfm
*primitive
= (CsrWifiSmeKeyCfm
*)msg
;
3269 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3270 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3271 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3272 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
3273 CsrUint8Ser(ptr
, len
, (u8
) primitive
->keyType
);
3274 CsrMemCpySer(ptr
, len
, (const void *) primitive
->peerMacAddress
.a
, ((u16
) (6)));
3279 void* CsrWifiSmeKeyCfmDes(u8
*buffer
, size_t length
)
3281 CsrWifiSmeKeyCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeKeyCfm
), GFP_KERNEL
);
3285 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3286 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3287 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3288 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
3289 CsrUint8Des((u8
*) &primitive
->keyType
, buffer
, &offset
);
3290 CsrMemCpyDes(primitive
->peerMacAddress
.a
, buffer
, &offset
, ((u16
) (6)));
3296 size_t CsrWifiSmeLinkQualityGetCfmSizeof(void *msg
)
3298 size_t bufferSize
= 2;
3300 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
3301 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3302 bufferSize
+= 2; /* CsrResult primitive->status */
3303 bufferSize
+= 2; /* s16 primitive->linkQuality.unifiRssi */
3304 bufferSize
+= 2; /* s16 primitive->linkQuality.unifiSnr */
3309 u8
* CsrWifiSmeLinkQualityGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3311 CsrWifiSmeLinkQualityGetCfm
*primitive
= (CsrWifiSmeLinkQualityGetCfm
*)msg
;
3313 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3314 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3315 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3316 CsrUint16Ser(ptr
, len
, (u16
) primitive
->linkQuality
.unifiRssi
);
3317 CsrUint16Ser(ptr
, len
, (u16
) primitive
->linkQuality
.unifiSnr
);
3322 void* CsrWifiSmeLinkQualityGetCfmDes(u8
*buffer
, size_t length
)
3324 CsrWifiSmeLinkQualityGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeLinkQualityGetCfm
), GFP_KERNEL
);
3328 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3329 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3330 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3331 CsrUint16Des((u16
*) &primitive
->linkQuality
.unifiRssi
, buffer
, &offset
);
3332 CsrUint16Des((u16
*) &primitive
->linkQuality
.unifiSnr
, buffer
, &offset
);
3338 size_t CsrWifiSmeMediaStatusIndSizeof(void *msg
)
3340 CsrWifiSmeMediaStatusInd
*primitive
= (CsrWifiSmeMediaStatusInd
*) msg
;
3341 size_t bufferSize
= 2;
3343 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 99) */
3344 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3345 bufferSize
+= 1; /* CsrWifiSmeMediaStatus primitive->mediaStatus */
3346 bufferSize
+= 32; /* u8 primitive->connectionInfo.ssid.ssid[32] */
3347 bufferSize
+= 1; /* u8 primitive->connectionInfo.ssid.length */
3348 bufferSize
+= 6; /* u8 primitive->connectionInfo.bssid.a[6] */
3349 bufferSize
+= 1; /* CsrWifiSme80211NetworkType primitive->connectionInfo.networkType80211 */
3350 bufferSize
+= 1; /* u8 primitive->connectionInfo.channelNumber */
3351 bufferSize
+= 2; /* u16 primitive->connectionInfo.channelFrequency */
3352 bufferSize
+= 2; /* CsrWifiSmeAuthMode primitive->connectionInfo.authMode */
3353 bufferSize
+= 2; /* CsrWifiSmeEncryption primitive->connectionInfo.pairwiseCipher */
3354 bufferSize
+= 2; /* CsrWifiSmeEncryption primitive->connectionInfo.groupCipher */
3355 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->connectionInfo.ifIndex */
3356 bufferSize
+= 2; /* u16 primitive->connectionInfo.atimWindowTu */
3357 bufferSize
+= 2; /* u16 primitive->connectionInfo.beaconPeriodTu */
3358 bufferSize
+= 1; /* u8 primitive->connectionInfo.reassociation */
3359 bufferSize
+= 2; /* u16 primitive->connectionInfo.beaconFrameLength */
3360 bufferSize
+= primitive
->connectionInfo
.beaconFrameLength
; /* u8 primitive->connectionInfo.beaconFrame */
3361 bufferSize
+= 2; /* u16 primitive->connectionInfo.associationReqFrameLength */
3362 bufferSize
+= primitive
->connectionInfo
.associationReqFrameLength
; /* u8 primitive->connectionInfo.associationReqFrame */
3363 bufferSize
+= 2; /* u16 primitive->connectionInfo.associationRspFrameLength */
3364 bufferSize
+= primitive
->connectionInfo
.associationRspFrameLength
; /* u8 primitive->connectionInfo.associationRspFrame */
3365 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocScanInfoElementsLength */
3366 bufferSize
+= primitive
->connectionInfo
.assocScanInfoElementsLength
; /* u8 primitive->connectionInfo.assocScanInfoElements */
3367 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqCapabilities */
3368 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqListenIntervalTu */
3369 bufferSize
+= 6; /* u8 primitive->connectionInfo.assocReqApAddress.a[6] */
3370 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocReqInfoElementsLength */
3371 bufferSize
+= primitive
->connectionInfo
.assocReqInfoElementsLength
; /* u8 primitive->connectionInfo.assocReqInfoElements */
3372 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Result primitive->connectionInfo.assocRspResult */
3373 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspCapabilityInfo */
3374 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspAssociationId */
3375 bufferSize
+= 2; /* u16 primitive->connectionInfo.assocRspInfoElementsLength */
3376 bufferSize
+= primitive
->connectionInfo
.assocRspInfoElementsLength
; /* u8 primitive->connectionInfo.assocRspInfoElements */
3377 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Reason primitive->disassocReason */
3378 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Reason primitive->deauthReason */
3383 u8
* CsrWifiSmeMediaStatusIndSer(u8
*ptr
, size_t *len
, void *msg
)
3385 CsrWifiSmeMediaStatusInd
*primitive
= (CsrWifiSmeMediaStatusInd
*)msg
;
3387 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3388 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3389 CsrUint8Ser(ptr
, len
, (u8
) primitive
->mediaStatus
);
3390 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.ssid
.ssid
, ((u16
) (32)));
3391 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.ssid
.length
);
3392 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.bssid
.a
, ((u16
) (6)));
3393 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.networkType80211
);
3394 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.channelNumber
);
3395 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.channelFrequency
);
3396 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.authMode
);
3397 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.pairwiseCipher
);
3398 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.groupCipher
);
3399 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.ifIndex
);
3400 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.atimWindowTu
);
3401 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.beaconPeriodTu
);
3402 CsrUint8Ser(ptr
, len
, (u8
) primitive
->connectionInfo
.reassociation
);
3403 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.beaconFrameLength
);
3404 if (primitive
->connectionInfo
.beaconFrameLength
)
3406 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.beaconFrame
, ((u16
) (primitive
->connectionInfo
.beaconFrameLength
)));
3408 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.associationReqFrameLength
);
3409 if (primitive
->connectionInfo
.associationReqFrameLength
)
3411 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.associationReqFrame
, ((u16
) (primitive
->connectionInfo
.associationReqFrameLength
)));
3413 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.associationRspFrameLength
);
3414 if (primitive
->connectionInfo
.associationRspFrameLength
)
3416 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.associationRspFrame
, ((u16
) (primitive
->connectionInfo
.associationRspFrameLength
)));
3418 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocScanInfoElementsLength
);
3419 if (primitive
->connectionInfo
.assocScanInfoElementsLength
)
3421 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocScanInfoElements
, ((u16
) (primitive
->connectionInfo
.assocScanInfoElementsLength
)));
3423 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqCapabilities
);
3424 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqListenIntervalTu
);
3425 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocReqApAddress
.a
, ((u16
) (6)));
3426 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocReqInfoElementsLength
);
3427 if (primitive
->connectionInfo
.assocReqInfoElementsLength
)
3429 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocReqInfoElements
, ((u16
) (primitive
->connectionInfo
.assocReqInfoElementsLength
)));
3431 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspResult
);
3432 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspCapabilityInfo
);
3433 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspAssociationId
);
3434 CsrUint16Ser(ptr
, len
, (u16
) primitive
->connectionInfo
.assocRspInfoElementsLength
);
3435 if (primitive
->connectionInfo
.assocRspInfoElementsLength
)
3437 CsrMemCpySer(ptr
, len
, (const void *) primitive
->connectionInfo
.assocRspInfoElements
, ((u16
) (primitive
->connectionInfo
.assocRspInfoElementsLength
)));
3439 CsrUint16Ser(ptr
, len
, (u16
) primitive
->disassocReason
);
3440 CsrUint16Ser(ptr
, len
, (u16
) primitive
->deauthReason
);
3445 void* CsrWifiSmeMediaStatusIndDes(u8
*buffer
, size_t length
)
3447 CsrWifiSmeMediaStatusInd
*primitive
= kmalloc(sizeof(CsrWifiSmeMediaStatusInd
), GFP_KERNEL
);
3451 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3452 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3453 CsrUint8Des((u8
*) &primitive
->mediaStatus
, buffer
, &offset
);
3454 CsrMemCpyDes(primitive
->connectionInfo
.ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
3455 CsrUint8Des((u8
*) &primitive
->connectionInfo
.ssid
.length
, buffer
, &offset
);
3456 CsrMemCpyDes(primitive
->connectionInfo
.bssid
.a
, buffer
, &offset
, ((u16
) (6)));
3457 CsrUint8Des((u8
*) &primitive
->connectionInfo
.networkType80211
, buffer
, &offset
);
3458 CsrUint8Des((u8
*) &primitive
->connectionInfo
.channelNumber
, buffer
, &offset
);
3459 CsrUint16Des((u16
*) &primitive
->connectionInfo
.channelFrequency
, buffer
, &offset
);
3460 CsrUint16Des((u16
*) &primitive
->connectionInfo
.authMode
, buffer
, &offset
);
3461 CsrUint16Des((u16
*) &primitive
->connectionInfo
.pairwiseCipher
, buffer
, &offset
);
3462 CsrUint16Des((u16
*) &primitive
->connectionInfo
.groupCipher
, buffer
, &offset
);
3463 CsrUint8Des((u8
*) &primitive
->connectionInfo
.ifIndex
, buffer
, &offset
);
3464 CsrUint16Des((u16
*) &primitive
->connectionInfo
.atimWindowTu
, buffer
, &offset
);
3465 CsrUint16Des((u16
*) &primitive
->connectionInfo
.beaconPeriodTu
, buffer
, &offset
);
3466 CsrUint8Des((u8
*) &primitive
->connectionInfo
.reassociation
, buffer
, &offset
);
3467 CsrUint16Des((u16
*) &primitive
->connectionInfo
.beaconFrameLength
, buffer
, &offset
);
3468 if (primitive
->connectionInfo
.beaconFrameLength
)
3470 primitive
->connectionInfo
.beaconFrame
= kmalloc(primitive
->connectionInfo
.beaconFrameLength
, GFP_KERNEL
);
3471 CsrMemCpyDes(primitive
->connectionInfo
.beaconFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.beaconFrameLength
)));
3475 primitive
->connectionInfo
.beaconFrame
= NULL
;
3477 CsrUint16Des((u16
*) &primitive
->connectionInfo
.associationReqFrameLength
, buffer
, &offset
);
3478 if (primitive
->connectionInfo
.associationReqFrameLength
)
3480 primitive
->connectionInfo
.associationReqFrame
= kmalloc(primitive
->connectionInfo
.associationReqFrameLength
, GFP_KERNEL
);
3481 CsrMemCpyDes(primitive
->connectionInfo
.associationReqFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.associationReqFrameLength
)));
3485 primitive
->connectionInfo
.associationReqFrame
= NULL
;
3487 CsrUint16Des((u16
*) &primitive
->connectionInfo
.associationRspFrameLength
, buffer
, &offset
);
3488 if (primitive
->connectionInfo
.associationRspFrameLength
)
3490 primitive
->connectionInfo
.associationRspFrame
= kmalloc(primitive
->connectionInfo
.associationRspFrameLength
, GFP_KERNEL
);
3491 CsrMemCpyDes(primitive
->connectionInfo
.associationRspFrame
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.associationRspFrameLength
)));
3495 primitive
->connectionInfo
.associationRspFrame
= NULL
;
3497 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocScanInfoElementsLength
, buffer
, &offset
);
3498 if (primitive
->connectionInfo
.assocScanInfoElementsLength
)
3500 primitive
->connectionInfo
.assocScanInfoElements
= kmalloc(primitive
->connectionInfo
.assocScanInfoElementsLength
, GFP_KERNEL
);
3501 CsrMemCpyDes(primitive
->connectionInfo
.assocScanInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocScanInfoElementsLength
)));
3505 primitive
->connectionInfo
.assocScanInfoElements
= NULL
;
3507 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqCapabilities
, buffer
, &offset
);
3508 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqListenIntervalTu
, buffer
, &offset
);
3509 CsrMemCpyDes(primitive
->connectionInfo
.assocReqApAddress
.a
, buffer
, &offset
, ((u16
) (6)));
3510 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocReqInfoElementsLength
, buffer
, &offset
);
3511 if (primitive
->connectionInfo
.assocReqInfoElementsLength
)
3513 primitive
->connectionInfo
.assocReqInfoElements
= kmalloc(primitive
->connectionInfo
.assocReqInfoElementsLength
, GFP_KERNEL
);
3514 CsrMemCpyDes(primitive
->connectionInfo
.assocReqInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocReqInfoElementsLength
)));
3518 primitive
->connectionInfo
.assocReqInfoElements
= NULL
;
3520 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspResult
, buffer
, &offset
);
3521 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspCapabilityInfo
, buffer
, &offset
);
3522 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspAssociationId
, buffer
, &offset
);
3523 CsrUint16Des((u16
*) &primitive
->connectionInfo
.assocRspInfoElementsLength
, buffer
, &offset
);
3524 if (primitive
->connectionInfo
.assocRspInfoElementsLength
)
3526 primitive
->connectionInfo
.assocRspInfoElements
= kmalloc(primitive
->connectionInfo
.assocRspInfoElementsLength
, GFP_KERNEL
);
3527 CsrMemCpyDes(primitive
->connectionInfo
.assocRspInfoElements
, buffer
, &offset
, ((u16
) (primitive
->connectionInfo
.assocRspInfoElementsLength
)));
3531 primitive
->connectionInfo
.assocRspInfoElements
= NULL
;
3533 CsrUint16Des((u16
*) &primitive
->disassocReason
, buffer
, &offset
);
3534 CsrUint16Des((u16
*) &primitive
->deauthReason
, buffer
, &offset
);
3540 void CsrWifiSmeMediaStatusIndSerFree(void *voidPrimitivePointer
)
3542 CsrWifiSmeMediaStatusInd
*primitive
= (CsrWifiSmeMediaStatusInd
*) voidPrimitivePointer
;
3543 kfree(primitive
->connectionInfo
.beaconFrame
);
3544 kfree(primitive
->connectionInfo
.associationReqFrame
);
3545 kfree(primitive
->connectionInfo
.associationRspFrame
);
3546 kfree(primitive
->connectionInfo
.assocScanInfoElements
);
3547 kfree(primitive
->connectionInfo
.assocReqInfoElements
);
3548 kfree(primitive
->connectionInfo
.assocRspInfoElements
);
3553 size_t CsrWifiSmeMibConfigGetCfmSizeof(void *msg
)
3555 size_t bufferSize
= 2;
3557 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
3558 bufferSize
+= 2; /* CsrResult primitive->status */
3559 bufferSize
+= 1; /* u8 primitive->mibConfig.unifiFixMaxTxDataRate */
3560 bufferSize
+= 1; /* u8 primitive->mibConfig.unifiFixTxDataRate */
3561 bufferSize
+= 2; /* u16 primitive->mibConfig.dot11RtsThreshold */
3562 bufferSize
+= 2; /* u16 primitive->mibConfig.dot11FragmentationThreshold */
3563 bufferSize
+= 2; /* u16 primitive->mibConfig.dot11CurrentTxPowerLevel */
3568 u8
* CsrWifiSmeMibConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3570 CsrWifiSmeMibConfigGetCfm
*primitive
= (CsrWifiSmeMibConfigGetCfm
*)msg
;
3572 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3573 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3574 CsrUint8Ser(ptr
, len
, (u8
) primitive
->mibConfig
.unifiFixMaxTxDataRate
);
3575 CsrUint8Ser(ptr
, len
, (u8
) primitive
->mibConfig
.unifiFixTxDataRate
);
3576 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibConfig
.dot11RtsThreshold
);
3577 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibConfig
.dot11FragmentationThreshold
);
3578 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibConfig
.dot11CurrentTxPowerLevel
);
3583 void* CsrWifiSmeMibConfigGetCfmDes(u8
*buffer
, size_t length
)
3585 CsrWifiSmeMibConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeMibConfigGetCfm
), GFP_KERNEL
);
3589 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3590 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3591 CsrUint8Des((u8
*) &primitive
->mibConfig
.unifiFixMaxTxDataRate
, buffer
, &offset
);
3592 CsrUint8Des((u8
*) &primitive
->mibConfig
.unifiFixTxDataRate
, buffer
, &offset
);
3593 CsrUint16Des((u16
*) &primitive
->mibConfig
.dot11RtsThreshold
, buffer
, &offset
);
3594 CsrUint16Des((u16
*) &primitive
->mibConfig
.dot11FragmentationThreshold
, buffer
, &offset
);
3595 CsrUint16Des((u16
*) &primitive
->mibConfig
.dot11CurrentTxPowerLevel
, buffer
, &offset
);
3601 size_t CsrWifiSmeMibGetCfmSizeof(void *msg
)
3603 CsrWifiSmeMibGetCfm
*primitive
= (CsrWifiSmeMibGetCfm
*) msg
;
3604 size_t bufferSize
= 2;
3606 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
3607 bufferSize
+= 2; /* CsrResult primitive->status */
3608 bufferSize
+= 2; /* u16 primitive->mibAttributeLength */
3609 bufferSize
+= primitive
->mibAttributeLength
; /* u8 primitive->mibAttribute */
3614 u8
* CsrWifiSmeMibGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3616 CsrWifiSmeMibGetCfm
*primitive
= (CsrWifiSmeMibGetCfm
*)msg
;
3618 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3619 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3620 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibAttributeLength
);
3621 if (primitive
->mibAttributeLength
)
3623 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibAttribute
, ((u16
) (primitive
->mibAttributeLength
)));
3629 void* CsrWifiSmeMibGetCfmDes(u8
*buffer
, size_t length
)
3631 CsrWifiSmeMibGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeMibGetCfm
), GFP_KERNEL
);
3635 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3636 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3637 CsrUint16Des((u16
*) &primitive
->mibAttributeLength
, buffer
, &offset
);
3638 if (primitive
->mibAttributeLength
)
3640 primitive
->mibAttribute
= kmalloc(primitive
->mibAttributeLength
, GFP_KERNEL
);
3641 CsrMemCpyDes(primitive
->mibAttribute
, buffer
, &offset
, ((u16
) (primitive
->mibAttributeLength
)));
3645 primitive
->mibAttribute
= NULL
;
3652 void CsrWifiSmeMibGetCfmSerFree(void *voidPrimitivePointer
)
3654 CsrWifiSmeMibGetCfm
*primitive
= (CsrWifiSmeMibGetCfm
*) voidPrimitivePointer
;
3655 kfree(primitive
->mibAttribute
);
3660 size_t CsrWifiSmeMibGetNextCfmSizeof(void *msg
)
3662 CsrWifiSmeMibGetNextCfm
*primitive
= (CsrWifiSmeMibGetNextCfm
*) msg
;
3663 size_t bufferSize
= 2;
3665 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
3666 bufferSize
+= 2; /* CsrResult primitive->status */
3667 bufferSize
+= 2; /* u16 primitive->mibAttributeLength */
3668 bufferSize
+= primitive
->mibAttributeLength
; /* u8 primitive->mibAttribute */
3673 u8
* CsrWifiSmeMibGetNextCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3675 CsrWifiSmeMibGetNextCfm
*primitive
= (CsrWifiSmeMibGetNextCfm
*)msg
;
3677 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3678 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3679 CsrUint16Ser(ptr
, len
, (u16
) primitive
->mibAttributeLength
);
3680 if (primitive
->mibAttributeLength
)
3682 CsrMemCpySer(ptr
, len
, (const void *) primitive
->mibAttribute
, ((u16
) (primitive
->mibAttributeLength
)));
3688 void* CsrWifiSmeMibGetNextCfmDes(u8
*buffer
, size_t length
)
3690 CsrWifiSmeMibGetNextCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeMibGetNextCfm
), GFP_KERNEL
);
3694 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3695 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3696 CsrUint16Des((u16
*) &primitive
->mibAttributeLength
, buffer
, &offset
);
3697 if (primitive
->mibAttributeLength
)
3699 primitive
->mibAttribute
= kmalloc(primitive
->mibAttributeLength
, GFP_KERNEL
);
3700 CsrMemCpyDes(primitive
->mibAttribute
, buffer
, &offset
, ((u16
) (primitive
->mibAttributeLength
)));
3704 primitive
->mibAttribute
= NULL
;
3711 void CsrWifiSmeMibGetNextCfmSerFree(void *voidPrimitivePointer
)
3713 CsrWifiSmeMibGetNextCfm
*primitive
= (CsrWifiSmeMibGetNextCfm
*) voidPrimitivePointer
;
3714 kfree(primitive
->mibAttribute
);
3719 size_t CsrWifiSmeMicFailureIndSizeof(void *msg
)
3721 size_t bufferSize
= 2;
3723 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
3724 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3725 bufferSize
+= 1; /* u8 primitive->secondFailure */
3726 bufferSize
+= 2; /* u16 primitive->count */
3727 bufferSize
+= 6; /* u8 primitive->address.a[6] */
3728 bufferSize
+= 1; /* CsrWifiSmeKeyType primitive->keyType */
3733 u8
* CsrWifiSmeMicFailureIndSer(u8
*ptr
, size_t *len
, void *msg
)
3735 CsrWifiSmeMicFailureInd
*primitive
= (CsrWifiSmeMicFailureInd
*)msg
;
3737 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3738 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3739 CsrUint8Ser(ptr
, len
, (u8
) primitive
->secondFailure
);
3740 CsrUint16Ser(ptr
, len
, (u16
) primitive
->count
);
3741 CsrMemCpySer(ptr
, len
, (const void *) primitive
->address
.a
, ((u16
) (6)));
3742 CsrUint8Ser(ptr
, len
, (u8
) primitive
->keyType
);
3747 void* CsrWifiSmeMicFailureIndDes(u8
*buffer
, size_t length
)
3749 CsrWifiSmeMicFailureInd
*primitive
= kmalloc(sizeof(CsrWifiSmeMicFailureInd
), GFP_KERNEL
);
3753 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3754 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3755 CsrUint8Des((u8
*) &primitive
->secondFailure
, buffer
, &offset
);
3756 CsrUint16Des((u16
*) &primitive
->count
, buffer
, &offset
);
3757 CsrMemCpyDes(primitive
->address
.a
, buffer
, &offset
, ((u16
) (6)));
3758 CsrUint8Des((u8
*) &primitive
->keyType
, buffer
, &offset
);
3764 size_t CsrWifiSmeMulticastAddressCfmSizeof(void *msg
)
3766 CsrWifiSmeMulticastAddressCfm
*primitive
= (CsrWifiSmeMulticastAddressCfm
*) msg
;
3767 size_t bufferSize
= 2;
3769 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
3770 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3771 bufferSize
+= 2; /* CsrResult primitive->status */
3772 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
3773 bufferSize
+= 1; /* u8 primitive->getAddressesCount */
3776 for (i1
= 0; i1
< primitive
->getAddressesCount
; i1
++)
3778 bufferSize
+= 6; /* u8 primitive->getAddresses[i1].a[6] */
3785 u8
* CsrWifiSmeMulticastAddressCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3787 CsrWifiSmeMulticastAddressCfm
*primitive
= (CsrWifiSmeMulticastAddressCfm
*)msg
;
3789 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3790 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3791 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3792 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
3793 CsrUint8Ser(ptr
, len
, (u8
) primitive
->getAddressesCount
);
3796 for (i1
= 0; i1
< primitive
->getAddressesCount
; i1
++)
3798 CsrMemCpySer(ptr
, len
, (const void *) primitive
->getAddresses
[i1
].a
, ((u16
) (6)));
3805 void* CsrWifiSmeMulticastAddressCfmDes(u8
*buffer
, size_t length
)
3807 CsrWifiSmeMulticastAddressCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeMulticastAddressCfm
), GFP_KERNEL
);
3811 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3812 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3813 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3814 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
3815 CsrUint8Des((u8
*) &primitive
->getAddressesCount
, buffer
, &offset
);
3816 primitive
->getAddresses
= NULL
;
3817 if (primitive
->getAddressesCount
)
3819 primitive
->getAddresses
= kmalloc(sizeof(CsrWifiMacAddress
) * primitive
->getAddressesCount
, GFP_KERNEL
);
3823 for (i1
= 0; i1
< primitive
->getAddressesCount
; i1
++)
3825 CsrMemCpyDes(primitive
->getAddresses
[i1
].a
, buffer
, &offset
, ((u16
) (6)));
3833 void CsrWifiSmeMulticastAddressCfmSerFree(void *voidPrimitivePointer
)
3835 CsrWifiSmeMulticastAddressCfm
*primitive
= (CsrWifiSmeMulticastAddressCfm
*) voidPrimitivePointer
;
3836 kfree(primitive
->getAddresses
);
3841 size_t CsrWifiSmePacketFilterSetCfmSizeof(void *msg
)
3843 size_t bufferSize
= 2;
3845 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
3846 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3847 bufferSize
+= 2; /* CsrResult primitive->status */
3852 u8
* CsrWifiSmePacketFilterSetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3854 CsrWifiSmePacketFilterSetCfm
*primitive
= (CsrWifiSmePacketFilterSetCfm
*)msg
;
3856 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3857 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3858 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3863 void* CsrWifiSmePacketFilterSetCfmDes(u8
*buffer
, size_t length
)
3865 CsrWifiSmePacketFilterSetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmePacketFilterSetCfm
), GFP_KERNEL
);
3869 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3870 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3871 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3877 size_t CsrWifiSmePermanentMacAddressGetCfmSizeof(void *msg
)
3879 size_t bufferSize
= 2;
3881 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
3882 bufferSize
+= 2; /* CsrResult primitive->status */
3883 bufferSize
+= 6; /* u8 primitive->permanentMacAddress.a[6] */
3888 u8
* CsrWifiSmePermanentMacAddressGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
3890 CsrWifiSmePermanentMacAddressGetCfm
*primitive
= (CsrWifiSmePermanentMacAddressGetCfm
*)msg
;
3892 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3893 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
3894 CsrMemCpySer(ptr
, len
, (const void *) primitive
->permanentMacAddress
.a
, ((u16
) (6)));
3899 void* CsrWifiSmePermanentMacAddressGetCfmDes(u8
*buffer
, size_t length
)
3901 CsrWifiSmePermanentMacAddressGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmePermanentMacAddressGetCfm
), GFP_KERNEL
);
3905 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3906 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
3907 CsrMemCpyDes(primitive
->permanentMacAddress
.a
, buffer
, &offset
, ((u16
) (6)));
3913 size_t CsrWifiSmePmkidCandidateListIndSizeof(void *msg
)
3915 CsrWifiSmePmkidCandidateListInd
*primitive
= (CsrWifiSmePmkidCandidateListInd
*) msg
;
3916 size_t bufferSize
= 2;
3918 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
3919 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3920 bufferSize
+= 1; /* u8 primitive->pmkidCandidatesCount */
3923 for (i1
= 0; i1
< primitive
->pmkidCandidatesCount
; i1
++)
3925 bufferSize
+= 6; /* u8 primitive->pmkidCandidates[i1].bssid.a[6] */
3926 bufferSize
+= 1; /* u8 primitive->pmkidCandidates[i1].preAuthAllowed */
3933 u8
* CsrWifiSmePmkidCandidateListIndSer(u8
*ptr
, size_t *len
, void *msg
)
3935 CsrWifiSmePmkidCandidateListInd
*primitive
= (CsrWifiSmePmkidCandidateListInd
*)msg
;
3937 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
3938 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
3939 CsrUint8Ser(ptr
, len
, (u8
) primitive
->pmkidCandidatesCount
);
3942 for (i1
= 0; i1
< primitive
->pmkidCandidatesCount
; i1
++)
3944 CsrMemCpySer(ptr
, len
, (const void *) primitive
->pmkidCandidates
[i1
].bssid
.a
, ((u16
) (6)));
3945 CsrUint8Ser(ptr
, len
, (u8
) primitive
->pmkidCandidates
[i1
].preAuthAllowed
);
3952 void* CsrWifiSmePmkidCandidateListIndDes(u8
*buffer
, size_t length
)
3954 CsrWifiSmePmkidCandidateListInd
*primitive
= kmalloc(sizeof(CsrWifiSmePmkidCandidateListInd
), GFP_KERNEL
);
3958 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
3959 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
3960 CsrUint8Des((u8
*) &primitive
->pmkidCandidatesCount
, buffer
, &offset
);
3961 primitive
->pmkidCandidates
= NULL
;
3962 if (primitive
->pmkidCandidatesCount
)
3964 primitive
->pmkidCandidates
= kmalloc(sizeof(CsrWifiSmePmkidCandidate
) * primitive
->pmkidCandidatesCount
, GFP_KERNEL
);
3968 for (i1
= 0; i1
< primitive
->pmkidCandidatesCount
; i1
++)
3970 CsrMemCpyDes(primitive
->pmkidCandidates
[i1
].bssid
.a
, buffer
, &offset
, ((u16
) (6)));
3971 CsrUint8Des((u8
*) &primitive
->pmkidCandidates
[i1
].preAuthAllowed
, buffer
, &offset
);
3979 void CsrWifiSmePmkidCandidateListIndSerFree(void *voidPrimitivePointer
)
3981 CsrWifiSmePmkidCandidateListInd
*primitive
= (CsrWifiSmePmkidCandidateListInd
*) voidPrimitivePointer
;
3982 kfree(primitive
->pmkidCandidates
);
3987 size_t CsrWifiSmePmkidCfmSizeof(void *msg
)
3989 CsrWifiSmePmkidCfm
*primitive
= (CsrWifiSmePmkidCfm
*) msg
;
3990 size_t bufferSize
= 2;
3992 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 31) */
3993 bufferSize
+= 2; /* u16 primitive->interfaceTag */
3994 bufferSize
+= 2; /* CsrResult primitive->status */
3995 bufferSize
+= 1; /* CsrWifiSmeListAction primitive->action */
3996 bufferSize
+= 1; /* u8 primitive->getPmkidsCount */
3999 for (i1
= 0; i1
< primitive
->getPmkidsCount
; i1
++)
4001 bufferSize
+= 6; /* u8 primitive->getPmkids[i1].bssid.a[6] */
4002 bufferSize
+= 16; /* u8 primitive->getPmkids[i1].pmkid[16] */
4009 u8
* CsrWifiSmePmkidCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4011 CsrWifiSmePmkidCfm
*primitive
= (CsrWifiSmePmkidCfm
*)msg
;
4013 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4014 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
4015 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4016 CsrUint8Ser(ptr
, len
, (u8
) primitive
->action
);
4017 CsrUint8Ser(ptr
, len
, (u8
) primitive
->getPmkidsCount
);
4020 for (i1
= 0; i1
< primitive
->getPmkidsCount
; i1
++)
4022 CsrMemCpySer(ptr
, len
, (const void *) primitive
->getPmkids
[i1
].bssid
.a
, ((u16
) (6)));
4023 CsrMemCpySer(ptr
, len
, (const void *) primitive
->getPmkids
[i1
].pmkid
, ((u16
) (16)));
4030 void* CsrWifiSmePmkidCfmDes(u8
*buffer
, size_t length
)
4032 CsrWifiSmePmkidCfm
*primitive
= kmalloc(sizeof(CsrWifiSmePmkidCfm
), GFP_KERNEL
);
4036 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4037 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
4038 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4039 CsrUint8Des((u8
*) &primitive
->action
, buffer
, &offset
);
4040 CsrUint8Des((u8
*) &primitive
->getPmkidsCount
, buffer
, &offset
);
4041 primitive
->getPmkids
= NULL
;
4042 if (primitive
->getPmkidsCount
)
4044 primitive
->getPmkids
= kmalloc(sizeof(CsrWifiSmePmkid
) * primitive
->getPmkidsCount
, GFP_KERNEL
);
4048 for (i1
= 0; i1
< primitive
->getPmkidsCount
; i1
++)
4050 CsrMemCpyDes(primitive
->getPmkids
[i1
].bssid
.a
, buffer
, &offset
, ((u16
) (6)));
4051 CsrMemCpyDes(primitive
->getPmkids
[i1
].pmkid
, buffer
, &offset
, ((u16
) (16)));
4059 void CsrWifiSmePmkidCfmSerFree(void *voidPrimitivePointer
)
4061 CsrWifiSmePmkidCfm
*primitive
= (CsrWifiSmePmkidCfm
*) voidPrimitivePointer
;
4062 kfree(primitive
->getPmkids
);
4067 size_t CsrWifiSmePowerConfigGetCfmSizeof(void *msg
)
4069 size_t bufferSize
= 2;
4071 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
4072 bufferSize
+= 2; /* CsrResult primitive->status */
4073 bufferSize
+= 1; /* CsrWifiSmePowerSaveLevel primitive->powerConfig.powerSaveLevel */
4074 bufferSize
+= 2; /* u16 primitive->powerConfig.listenIntervalTu */
4075 bufferSize
+= 1; /* u8 primitive->powerConfig.rxDtims */
4076 bufferSize
+= 1; /* CsrWifiSmeD3AutoScanMode primitive->powerConfig.d3AutoScanMode */
4077 bufferSize
+= 1; /* u8 primitive->powerConfig.clientTrafficWindow */
4078 bufferSize
+= 1; /* u8 primitive->powerConfig.opportunisticPowerSave */
4079 bufferSize
+= 1; /* u8 primitive->powerConfig.noticeOfAbsence */
4084 u8
* CsrWifiSmePowerConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4086 CsrWifiSmePowerConfigGetCfm
*primitive
= (CsrWifiSmePowerConfigGetCfm
*)msg
;
4088 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4089 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4090 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.powerSaveLevel
);
4091 CsrUint16Ser(ptr
, len
, (u16
) primitive
->powerConfig
.listenIntervalTu
);
4092 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.rxDtims
);
4093 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.d3AutoScanMode
);
4094 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.clientTrafficWindow
);
4095 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.opportunisticPowerSave
);
4096 CsrUint8Ser(ptr
, len
, (u8
) primitive
->powerConfig
.noticeOfAbsence
);
4101 void* CsrWifiSmePowerConfigGetCfmDes(u8
*buffer
, size_t length
)
4103 CsrWifiSmePowerConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmePowerConfigGetCfm
), GFP_KERNEL
);
4107 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4108 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4109 CsrUint8Des((u8
*) &primitive
->powerConfig
.powerSaveLevel
, buffer
, &offset
);
4110 CsrUint16Des((u16
*) &primitive
->powerConfig
.listenIntervalTu
, buffer
, &offset
);
4111 CsrUint8Des((u8
*) &primitive
->powerConfig
.rxDtims
, buffer
, &offset
);
4112 CsrUint8Des((u8
*) &primitive
->powerConfig
.d3AutoScanMode
, buffer
, &offset
);
4113 CsrUint8Des((u8
*) &primitive
->powerConfig
.clientTrafficWindow
, buffer
, &offset
);
4114 CsrUint8Des((u8
*) &primitive
->powerConfig
.opportunisticPowerSave
, buffer
, &offset
);
4115 CsrUint8Des((u8
*) &primitive
->powerConfig
.noticeOfAbsence
, buffer
, &offset
);
4121 size_t CsrWifiSmeRegulatoryDomainInfoGetCfmSizeof(void *msg
)
4123 size_t bufferSize
= 2;
4125 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
4126 bufferSize
+= 2; /* CsrResult primitive->status */
4127 bufferSize
+= 1; /* u8 primitive->regDomInfo.dot11MultiDomainCapabilityImplemented */
4128 bufferSize
+= 1; /* u8 primitive->regDomInfo.dot11MultiDomainCapabilityEnabled */
4129 bufferSize
+= 1; /* CsrWifiSmeRegulatoryDomain primitive->regDomInfo.currentRegulatoryDomain */
4130 bufferSize
+= 2; /* u8 primitive->regDomInfo.currentCountryCode[2] */
4135 u8
* CsrWifiSmeRegulatoryDomainInfoGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4137 CsrWifiSmeRegulatoryDomainInfoGetCfm
*primitive
= (CsrWifiSmeRegulatoryDomainInfoGetCfm
*)msg
;
4139 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4140 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4141 CsrUint8Ser(ptr
, len
, (u8
) primitive
->regDomInfo
.dot11MultiDomainCapabilityImplemented
);
4142 CsrUint8Ser(ptr
, len
, (u8
) primitive
->regDomInfo
.dot11MultiDomainCapabilityEnabled
);
4143 CsrUint8Ser(ptr
, len
, (u8
) primitive
->regDomInfo
.currentRegulatoryDomain
);
4144 CsrMemCpySer(ptr
, len
, (const void *) primitive
->regDomInfo
.currentCountryCode
, ((u16
) (2)));
4149 void* CsrWifiSmeRegulatoryDomainInfoGetCfmDes(u8
*buffer
, size_t length
)
4151 CsrWifiSmeRegulatoryDomainInfoGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeRegulatoryDomainInfoGetCfm
), GFP_KERNEL
);
4155 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4156 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4157 CsrUint8Des((u8
*) &primitive
->regDomInfo
.dot11MultiDomainCapabilityImplemented
, buffer
, &offset
);
4158 CsrUint8Des((u8
*) &primitive
->regDomInfo
.dot11MultiDomainCapabilityEnabled
, buffer
, &offset
);
4159 CsrUint8Des((u8
*) &primitive
->regDomInfo
.currentRegulatoryDomain
, buffer
, &offset
);
4160 CsrMemCpyDes(primitive
->regDomInfo
.currentCountryCode
, buffer
, &offset
, ((u16
) (2)));
4166 size_t CsrWifiSmeRoamCompleteIndSizeof(void *msg
)
4168 size_t bufferSize
= 2;
4170 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
4171 bufferSize
+= 2; /* u16 primitive->interfaceTag */
4172 bufferSize
+= 2; /* CsrResult primitive->status */
4177 u8
* CsrWifiSmeRoamCompleteIndSer(u8
*ptr
, size_t *len
, void *msg
)
4179 CsrWifiSmeRoamCompleteInd
*primitive
= (CsrWifiSmeRoamCompleteInd
*)msg
;
4181 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4182 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
4183 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4188 void* CsrWifiSmeRoamCompleteIndDes(u8
*buffer
, size_t length
)
4190 CsrWifiSmeRoamCompleteInd
*primitive
= kmalloc(sizeof(CsrWifiSmeRoamCompleteInd
), GFP_KERNEL
);
4194 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4195 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
4196 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4202 size_t CsrWifiSmeRoamStartIndSizeof(void *msg
)
4204 size_t bufferSize
= 2;
4206 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
4207 bufferSize
+= 2; /* u16 primitive->interfaceTag */
4208 bufferSize
+= 1; /* CsrWifiSmeRoamReason primitive->roamReason */
4209 bufferSize
+= 2; /* CsrWifiSmeIEEE80211Reason primitive->reason80211 */
4214 u8
* CsrWifiSmeRoamStartIndSer(u8
*ptr
, size_t *len
, void *msg
)
4216 CsrWifiSmeRoamStartInd
*primitive
= (CsrWifiSmeRoamStartInd
*)msg
;
4218 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4219 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
4220 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamReason
);
4221 CsrUint16Ser(ptr
, len
, (u16
) primitive
->reason80211
);
4226 void* CsrWifiSmeRoamStartIndDes(u8
*buffer
, size_t length
)
4228 CsrWifiSmeRoamStartInd
*primitive
= kmalloc(sizeof(CsrWifiSmeRoamStartInd
), GFP_KERNEL
);
4232 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4233 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
4234 CsrUint8Des((u8
*) &primitive
->roamReason
, buffer
, &offset
);
4235 CsrUint16Des((u16
*) &primitive
->reason80211
, buffer
, &offset
);
4241 size_t CsrWifiSmeRoamingConfigGetCfmSizeof(void *msg
)
4243 size_t bufferSize
= 2;
4245 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 72) */
4246 bufferSize
+= 2; /* u16 primitive->interfaceTag */
4247 bufferSize
+= 2; /* CsrResult primitive->status */
4250 for (i2
= 0; i2
< 3; i2
++)
4252 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].rssiHighThreshold */
4253 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].rssiLowThreshold */
4254 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].snrHighThreshold */
4255 bufferSize
+= 2; /* s16 primitive->roamingConfig.roamingBands[i2].snrLowThreshold */
4258 bufferSize
+= 1; /* u8 primitive->roamingConfig.disableSmoothRoaming */
4259 bufferSize
+= 1; /* u8 primitive->roamingConfig.disableRoamScans */
4260 bufferSize
+= 1; /* u8 primitive->roamingConfig.reconnectLimit */
4261 bufferSize
+= 2; /* u16 primitive->roamingConfig.reconnectLimitIntervalMs */
4264 for (i2
= 0; i2
< 3; i2
++)
4266 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].intervalSeconds */
4267 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].validitySeconds */
4268 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu */
4269 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu */
4270 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu */
4271 bufferSize
+= 2; /* u16 primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu */
4278 u8
* CsrWifiSmeRoamingConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4280 CsrWifiSmeRoamingConfigGetCfm
*primitive
= (CsrWifiSmeRoamingConfigGetCfm
*)msg
;
4282 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4283 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
4284 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4287 for (i2
= 0; i2
< 3; i2
++)
4289 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].rssiHighThreshold
);
4290 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].rssiLowThreshold
);
4291 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].snrHighThreshold
);
4292 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamingBands
[i2
].snrLowThreshold
);
4295 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamingConfig
.disableSmoothRoaming
);
4296 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamingConfig
.disableRoamScans
);
4297 CsrUint8Ser(ptr
, len
, (u8
) primitive
->roamingConfig
.reconnectLimit
);
4298 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.reconnectLimitIntervalMs
);
4301 for (i2
= 0; i2
< 3; i2
++)
4303 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].intervalSeconds
);
4304 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].validitySeconds
);
4305 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].minActiveChannelTimeTu
);
4306 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].maxActiveChannelTimeTu
);
4307 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].minPassiveChannelTimeTu
);
4308 CsrUint16Ser(ptr
, len
, (u16
) primitive
->roamingConfig
.roamScanCfg
[i2
].maxPassiveChannelTimeTu
);
4315 void* CsrWifiSmeRoamingConfigGetCfmDes(u8
*buffer
, size_t length
)
4317 CsrWifiSmeRoamingConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeRoamingConfigGetCfm
), GFP_KERNEL
);
4321 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4322 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
4323 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4326 for (i2
= 0; i2
< 3; i2
++)
4328 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].rssiHighThreshold
, buffer
, &offset
);
4329 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].rssiLowThreshold
, buffer
, &offset
);
4330 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].snrHighThreshold
, buffer
, &offset
);
4331 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamingBands
[i2
].snrLowThreshold
, buffer
, &offset
);
4334 CsrUint8Des((u8
*) &primitive
->roamingConfig
.disableSmoothRoaming
, buffer
, &offset
);
4335 CsrUint8Des((u8
*) &primitive
->roamingConfig
.disableRoamScans
, buffer
, &offset
);
4336 CsrUint8Des((u8
*) &primitive
->roamingConfig
.reconnectLimit
, buffer
, &offset
);
4337 CsrUint16Des((u16
*) &primitive
->roamingConfig
.reconnectLimitIntervalMs
, buffer
, &offset
);
4340 for (i2
= 0; i2
< 3; i2
++)
4342 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].intervalSeconds
, buffer
, &offset
);
4343 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].validitySeconds
, buffer
, &offset
);
4344 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].minActiveChannelTimeTu
, buffer
, &offset
);
4345 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].maxActiveChannelTimeTu
, buffer
, &offset
);
4346 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].minPassiveChannelTimeTu
, buffer
, &offset
);
4347 CsrUint16Des((u16
*) &primitive
->roamingConfig
.roamScanCfg
[i2
].maxPassiveChannelTimeTu
, buffer
, &offset
);
4355 size_t CsrWifiSmeRoamingConfigSetCfmSizeof(void *msg
)
4357 size_t bufferSize
= 2;
4359 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
4360 bufferSize
+= 2; /* u16 primitive->interfaceTag */
4361 bufferSize
+= 2; /* CsrResult primitive->status */
4366 u8
* CsrWifiSmeRoamingConfigSetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4368 CsrWifiSmeRoamingConfigSetCfm
*primitive
= (CsrWifiSmeRoamingConfigSetCfm
*)msg
;
4370 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4371 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
4372 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4377 void* CsrWifiSmeRoamingConfigSetCfmDes(u8
*buffer
, size_t length
)
4379 CsrWifiSmeRoamingConfigSetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeRoamingConfigSetCfm
), GFP_KERNEL
);
4383 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4384 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
4385 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4391 size_t CsrWifiSmeScanConfigGetCfmSizeof(void *msg
)
4393 CsrWifiSmeScanConfigGetCfm
*primitive
= (CsrWifiSmeScanConfigGetCfm
*) msg
;
4394 size_t bufferSize
= 2;
4396 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 65) */
4397 bufferSize
+= 2; /* CsrResult primitive->status */
4400 for (i2
= 0; i2
< 4; i2
++)
4402 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].intervalSeconds */
4403 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].validitySeconds */
4404 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu */
4405 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu */
4406 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu */
4407 bufferSize
+= 2; /* u16 primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu */
4410 bufferSize
+= 1; /* u8 primitive->scanConfig.disableAutonomousScans */
4411 bufferSize
+= 2; /* u16 primitive->scanConfig.maxResults */
4412 bufferSize
+= 1; /* s8 primitive->scanConfig.highRssiThreshold */
4413 bufferSize
+= 1; /* s8 primitive->scanConfig.lowRssiThreshold */
4414 bufferSize
+= 1; /* s8 primitive->scanConfig.deltaRssiThreshold */
4415 bufferSize
+= 1; /* s8 primitive->scanConfig.highSnrThreshold */
4416 bufferSize
+= 1; /* s8 primitive->scanConfig.lowSnrThreshold */
4417 bufferSize
+= 1; /* s8 primitive->scanConfig.deltaSnrThreshold */
4418 bufferSize
+= 2; /* u16 primitive->scanConfig.passiveChannelListCount */
4419 bufferSize
+= primitive
->scanConfig
.passiveChannelListCount
; /* u8 primitive->scanConfig.passiveChannelList */
4424 u8
* CsrWifiSmeScanConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4426 CsrWifiSmeScanConfigGetCfm
*primitive
= (CsrWifiSmeScanConfigGetCfm
*)msg
;
4428 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4429 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4432 for (i2
= 0; i2
< 4; i2
++)
4434 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].intervalSeconds
);
4435 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].validitySeconds
);
4436 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].minActiveChannelTimeTu
);
4437 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].maxActiveChannelTimeTu
);
4438 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].minPassiveChannelTimeTu
);
4439 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.scanCfg
[i2
].maxPassiveChannelTimeTu
);
4442 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.disableAutonomousScans
);
4443 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.maxResults
);
4444 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.highRssiThreshold
);
4445 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.lowRssiThreshold
);
4446 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.deltaRssiThreshold
);
4447 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.highSnrThreshold
);
4448 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.lowSnrThreshold
);
4449 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanConfig
.deltaSnrThreshold
);
4450 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanConfig
.passiveChannelListCount
);
4451 if (primitive
->scanConfig
.passiveChannelListCount
)
4453 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanConfig
.passiveChannelList
, ((u16
) (primitive
->scanConfig
.passiveChannelListCount
)));
4459 void* CsrWifiSmeScanConfigGetCfmDes(u8
*buffer
, size_t length
)
4461 CsrWifiSmeScanConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeScanConfigGetCfm
), GFP_KERNEL
);
4465 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4466 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4469 for (i2
= 0; i2
< 4; i2
++)
4471 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].intervalSeconds
, buffer
, &offset
);
4472 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].validitySeconds
, buffer
, &offset
);
4473 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].minActiveChannelTimeTu
, buffer
, &offset
);
4474 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].maxActiveChannelTimeTu
, buffer
, &offset
);
4475 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].minPassiveChannelTimeTu
, buffer
, &offset
);
4476 CsrUint16Des((u16
*) &primitive
->scanConfig
.scanCfg
[i2
].maxPassiveChannelTimeTu
, buffer
, &offset
);
4479 CsrUint8Des((u8
*) &primitive
->scanConfig
.disableAutonomousScans
, buffer
, &offset
);
4480 CsrUint16Des((u16
*) &primitive
->scanConfig
.maxResults
, buffer
, &offset
);
4481 CsrUint8Des((u8
*) &primitive
->scanConfig
.highRssiThreshold
, buffer
, &offset
);
4482 CsrUint8Des((u8
*) &primitive
->scanConfig
.lowRssiThreshold
, buffer
, &offset
);
4483 CsrUint8Des((u8
*) &primitive
->scanConfig
.deltaRssiThreshold
, buffer
, &offset
);
4484 CsrUint8Des((u8
*) &primitive
->scanConfig
.highSnrThreshold
, buffer
, &offset
);
4485 CsrUint8Des((u8
*) &primitive
->scanConfig
.lowSnrThreshold
, buffer
, &offset
);
4486 CsrUint8Des((u8
*) &primitive
->scanConfig
.deltaSnrThreshold
, buffer
, &offset
);
4487 CsrUint16Des((u16
*) &primitive
->scanConfig
.passiveChannelListCount
, buffer
, &offset
);
4488 if (primitive
->scanConfig
.passiveChannelListCount
)
4490 primitive
->scanConfig
.passiveChannelList
= kmalloc(primitive
->scanConfig
.passiveChannelListCount
, GFP_KERNEL
);
4491 CsrMemCpyDes(primitive
->scanConfig
.passiveChannelList
, buffer
, &offset
, ((u16
) (primitive
->scanConfig
.passiveChannelListCount
)));
4495 primitive
->scanConfig
.passiveChannelList
= NULL
;
4502 void CsrWifiSmeScanConfigGetCfmSerFree(void *voidPrimitivePointer
)
4504 CsrWifiSmeScanConfigGetCfm
*primitive
= (CsrWifiSmeScanConfigGetCfm
*) voidPrimitivePointer
;
4505 kfree(primitive
->scanConfig
.passiveChannelList
);
4510 size_t CsrWifiSmeScanResultIndSizeof(void *msg
)
4512 CsrWifiSmeScanResultInd
*primitive
= (CsrWifiSmeScanResultInd
*) msg
;
4513 size_t bufferSize
= 2;
4515 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 149) */
4516 bufferSize
+= 32; /* u8 primitive->result.ssid.ssid[32] */
4517 bufferSize
+= 1; /* u8 primitive->result.ssid.length */
4518 bufferSize
+= 6; /* u8 primitive->result.bssid.a[6] */
4519 bufferSize
+= 2; /* s16 primitive->result.rssi */
4520 bufferSize
+= 2; /* s16 primitive->result.snr */
4521 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->result.ifIndex */
4522 bufferSize
+= 2; /* u16 primitive->result.beaconPeriodTu */
4523 bufferSize
+= 8; /* u8 primitive->result.timeStamp.data[8] */
4524 bufferSize
+= 8; /* u8 primitive->result.localTime.data[8] */
4525 bufferSize
+= 2; /* u16 primitive->result.channelFrequency */
4526 bufferSize
+= 2; /* u16 primitive->result.capabilityInformation */
4527 bufferSize
+= 1; /* u8 primitive->result.channelNumber */
4528 bufferSize
+= 1; /* CsrWifiSmeBasicUsability primitive->result.usability */
4529 bufferSize
+= 1; /* CsrWifiSmeBssType primitive->result.bssType */
4530 bufferSize
+= 2; /* u16 primitive->result.informationElementsLength */
4531 bufferSize
+= primitive
->result
.informationElementsLength
; /* u8 primitive->result.informationElements */
4532 bufferSize
+= 1; /* CsrWifiSmeP2pRole primitive->result.p2pDeviceRole */
4533 switch (primitive
->result
.p2pDeviceRole
)
4535 case CSR_WIFI_SME_P2P_ROLE_CLI
:
4536 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.reservedCli.empty */
4538 case CSR_WIFI_SME_P2P_ROLE_GO
:
4539 bufferSize
+= 1; /* CsrWifiSmeP2pGroupCapabilityMask primitive->result.deviceInfo.groupInfo.groupCapability */
4540 bufferSize
+= 6; /* u8 primitive->result.deviceInfo.groupInfo.p2pDeviceAddress.a[6] */
4541 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.groupInfo.p2pClientInfoCount */
4544 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
4546 bufferSize
+= 6; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a[6] */
4547 bufferSize
+= 6; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a[6] */
4548 bufferSize
+= 2; /* CsrWifiSmeWpsConfigTypeMask primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods */
4549 bufferSize
+= 1; /* CsrWifiSmeP2pCapabilityMask primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap */
4550 bufferSize
+= 8; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails[8] */
4551 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount */
4554 for (i6
= 0; i6
< primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
; i6
++)
4556 bufferSize
+= 8; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails[8] */
4559 bufferSize
+= 32; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName[32] */
4560 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength */
4564 case CSR_WIFI_SME_P2P_ROLE_NONE
:
4565 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.reservedNone.empty */
4567 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
4568 bufferSize
+= 6; /* u8 primitive->result.deviceInfo.standalonedevInfo.deviceAddress.a[6] */
4569 bufferSize
+= 2; /* CsrWifiSmeWpsConfigTypeMask primitive->result.deviceInfo.standalonedevInfo.configMethods */
4570 bufferSize
+= 1; /* CsrWifiSmeP2pCapabilityMask primitive->result.deviceInfo.standalonedevInfo.p2PDeviceCap */
4571 bufferSize
+= 8; /* u8 primitive->result.deviceInfo.standalonedevInfo.primDeviceType.deviceDetails[8] */
4572 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount */
4575 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
; i4
++)
4577 bufferSize
+= 8; /* u8 primitive->result.deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails[8] */
4580 bufferSize
+= 32; /* u8 primitive->result.deviceInfo.standalonedevInfo.deviceName[32] */
4581 bufferSize
+= 1; /* u8 primitive->result.deviceInfo.standalonedevInfo.deviceNameLength */
4590 u8
* CsrWifiSmeScanResultIndSer(u8
*ptr
, size_t *len
, void *msg
)
4592 CsrWifiSmeScanResultInd
*primitive
= (CsrWifiSmeScanResultInd
*)msg
;
4594 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4595 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.ssid
.ssid
, ((u16
) (32)));
4596 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.ssid
.length
);
4597 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.bssid
.a
, ((u16
) (6)));
4598 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.rssi
);
4599 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.snr
);
4600 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.ifIndex
);
4601 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.beaconPeriodTu
);
4602 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.timeStamp
.data
, ((u16
) (8)));
4603 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.localTime
.data
, ((u16
) (8)));
4604 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.channelFrequency
);
4605 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.capabilityInformation
);
4606 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.channelNumber
);
4607 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.usability
);
4608 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.bssType
);
4609 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.informationElementsLength
);
4610 if (primitive
->result
.informationElementsLength
)
4612 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.informationElements
, ((u16
) (primitive
->result
.informationElementsLength
)));
4614 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.p2pDeviceRole
);
4615 switch (primitive
->result
.p2pDeviceRole
)
4617 case CSR_WIFI_SME_P2P_ROLE_CLI
:
4618 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.reservedCli
.empty
);
4620 case CSR_WIFI_SME_P2P_ROLE_GO
:
4621 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.groupInfo
.groupCapability
);
4622 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.groupInfo
.p2pDeviceAddress
.a
, ((u16
) (6)));
4623 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
);
4626 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
4628 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].p2PClientInterfaceAddress
.a
, ((u16
) (6)));
4629 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceAddress
.a
, ((u16
) (6)));
4630 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.configMethods
);
4631 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.p2PDeviceCap
);
4632 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.primDeviceType
.deviceDetails
, ((u16
) (8)));
4633 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
);
4636 for (i6
= 0; i6
< primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
; i6
++)
4638 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
[i6
].deviceDetails
, ((u16
) (8)));
4641 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceName
, ((u16
) (32)));
4642 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceNameLength
);
4646 case CSR_WIFI_SME_P2P_ROLE_NONE
:
4647 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.reservedNone
.empty
);
4649 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
4650 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.standalonedevInfo
.deviceAddress
.a
, ((u16
) (6)));
4651 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
.deviceInfo
.standalonedevInfo
.configMethods
);
4652 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.standalonedevInfo
.p2PDeviceCap
);
4653 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.standalonedevInfo
.primDeviceType
.deviceDetails
, ((u16
) (8)));
4654 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
);
4657 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
; i4
++)
4659 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.standalonedevInfo
.secDeviceType
[i4
].deviceDetails
, ((u16
) (8)));
4662 CsrMemCpySer(ptr
, len
, (const void *) primitive
->result
.deviceInfo
.standalonedevInfo
.deviceName
, ((u16
) (32)));
4663 CsrUint8Ser(ptr
, len
, (u8
) primitive
->result
.deviceInfo
.standalonedevInfo
.deviceNameLength
);
4672 void* CsrWifiSmeScanResultIndDes(u8
*buffer
, size_t length
)
4674 CsrWifiSmeScanResultInd
*primitive
= kmalloc(sizeof(CsrWifiSmeScanResultInd
), GFP_KERNEL
);
4678 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4679 CsrMemCpyDes(primitive
->result
.ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
4680 CsrUint8Des((u8
*) &primitive
->result
.ssid
.length
, buffer
, &offset
);
4681 CsrMemCpyDes(primitive
->result
.bssid
.a
, buffer
, &offset
, ((u16
) (6)));
4682 CsrUint16Des((u16
*) &primitive
->result
.rssi
, buffer
, &offset
);
4683 CsrUint16Des((u16
*) &primitive
->result
.snr
, buffer
, &offset
);
4684 CsrUint8Des((u8
*) &primitive
->result
.ifIndex
, buffer
, &offset
);
4685 CsrUint16Des((u16
*) &primitive
->result
.beaconPeriodTu
, buffer
, &offset
);
4686 CsrMemCpyDes(primitive
->result
.timeStamp
.data
, buffer
, &offset
, ((u16
) (8)));
4687 CsrMemCpyDes(primitive
->result
.localTime
.data
, buffer
, &offset
, ((u16
) (8)));
4688 CsrUint16Des((u16
*) &primitive
->result
.channelFrequency
, buffer
, &offset
);
4689 CsrUint16Des((u16
*) &primitive
->result
.capabilityInformation
, buffer
, &offset
);
4690 CsrUint8Des((u8
*) &primitive
->result
.channelNumber
, buffer
, &offset
);
4691 CsrUint8Des((u8
*) &primitive
->result
.usability
, buffer
, &offset
);
4692 CsrUint8Des((u8
*) &primitive
->result
.bssType
, buffer
, &offset
);
4693 CsrUint16Des((u16
*) &primitive
->result
.informationElementsLength
, buffer
, &offset
);
4694 if (primitive
->result
.informationElementsLength
)
4696 primitive
->result
.informationElements
= kmalloc(primitive
->result
.informationElementsLength
, GFP_KERNEL
);
4697 CsrMemCpyDes(primitive
->result
.informationElements
, buffer
, &offset
, ((u16
) (primitive
->result
.informationElementsLength
)));
4701 primitive
->result
.informationElements
= NULL
;
4703 CsrUint8Des((u8
*) &primitive
->result
.p2pDeviceRole
, buffer
, &offset
);
4704 switch (primitive
->result
.p2pDeviceRole
)
4706 case CSR_WIFI_SME_P2P_ROLE_CLI
:
4707 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.reservedCli
.empty
, buffer
, &offset
);
4709 case CSR_WIFI_SME_P2P_ROLE_GO
:
4710 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.groupInfo
.groupCapability
, buffer
, &offset
);
4711 CsrMemCpyDes(primitive
->result
.deviceInfo
.groupInfo
.p2pDeviceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
4712 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
, buffer
, &offset
);
4713 primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
= NULL
;
4714 if (primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
)
4716 primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
= kmalloc(sizeof(CsrWifiSmeP2pClientInfoType
) * primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
, GFP_KERNEL
);
4720 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
4722 CsrMemCpyDes(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].p2PClientInterfaceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
4723 CsrMemCpyDes(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
4724 CsrUint16Des((u16
*) &primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.configMethods
, buffer
, &offset
);
4725 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.p2PDeviceCap
, buffer
, &offset
);
4726 CsrMemCpyDes(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.primDeviceType
.deviceDetails
, buffer
, &offset
, ((u16
) (8)));
4727 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
, buffer
, &offset
);
4728 primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
= NULL
;
4729 if (primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
)
4731 primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
= kmalloc(sizeof(CsrWifiSmeWpsDeviceType
) * primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
, GFP_KERNEL
);
4735 for (i6
= 0; i6
< primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
; i6
++)
4737 CsrMemCpyDes(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
[i6
].deviceDetails
, buffer
, &offset
, ((u16
) (8)));
4740 CsrMemCpyDes(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceName
, buffer
, &offset
, ((u16
) (32)));
4741 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceNameLength
, buffer
, &offset
);
4745 case CSR_WIFI_SME_P2P_ROLE_NONE
:
4746 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.reservedNone
.empty
, buffer
, &offset
);
4748 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
4749 CsrMemCpyDes(primitive
->result
.deviceInfo
.standalonedevInfo
.deviceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
4750 CsrUint16Des((u16
*) &primitive
->result
.deviceInfo
.standalonedevInfo
.configMethods
, buffer
, &offset
);
4751 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.standalonedevInfo
.p2PDeviceCap
, buffer
, &offset
);
4752 CsrMemCpyDes(primitive
->result
.deviceInfo
.standalonedevInfo
.primDeviceType
.deviceDetails
, buffer
, &offset
, ((u16
) (8)));
4753 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
, buffer
, &offset
);
4754 primitive
->result
.deviceInfo
.standalonedevInfo
.secDeviceType
= NULL
;
4755 if (primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
)
4757 primitive
->result
.deviceInfo
.standalonedevInfo
.secDeviceType
= kmalloc(sizeof(CsrWifiSmeWpsDeviceType
) * primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
, GFP_KERNEL
);
4761 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
; i4
++)
4763 CsrMemCpyDes(primitive
->result
.deviceInfo
.standalonedevInfo
.secDeviceType
[i4
].deviceDetails
, buffer
, &offset
, ((u16
) (8)));
4766 CsrMemCpyDes(primitive
->result
.deviceInfo
.standalonedevInfo
.deviceName
, buffer
, &offset
, ((u16
) (32)));
4767 CsrUint8Des((u8
*) &primitive
->result
.deviceInfo
.standalonedevInfo
.deviceNameLength
, buffer
, &offset
);
4777 void CsrWifiSmeScanResultIndSerFree(void *voidPrimitivePointer
)
4779 CsrWifiSmeScanResultInd
*primitive
= (CsrWifiSmeScanResultInd
*) voidPrimitivePointer
;
4780 kfree(primitive
->result
.informationElements
);
4781 switch (primitive
->result
.p2pDeviceRole
)
4783 case CSR_WIFI_SME_P2P_ROLE_GO
:
4786 for (i4
= 0; i4
< primitive
->result
.deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
4788 kfree(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
);
4791 kfree(primitive
->result
.deviceInfo
.groupInfo
.p2PClientInfo
);
4793 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
4794 kfree(primitive
->result
.deviceInfo
.standalonedevInfo
.secDeviceType
);
4803 size_t CsrWifiSmeScanResultsGetCfmSizeof(void *msg
)
4805 CsrWifiSmeScanResultsGetCfm
*primitive
= (CsrWifiSmeScanResultsGetCfm
*) msg
;
4806 size_t bufferSize
= 2;
4808 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 153) */
4809 bufferSize
+= 2; /* CsrResult primitive->status */
4810 bufferSize
+= 2; /* u16 primitive->scanResultsCount */
4813 for (i1
= 0; i1
< primitive
->scanResultsCount
; i1
++)
4815 bufferSize
+= 32; /* u8 primitive->scanResults[i1].ssid.ssid[32] */
4816 bufferSize
+= 1; /* u8 primitive->scanResults[i1].ssid.length */
4817 bufferSize
+= 6; /* u8 primitive->scanResults[i1].bssid.a[6] */
4818 bufferSize
+= 2; /* s16 primitive->scanResults[i1].rssi */
4819 bufferSize
+= 2; /* s16 primitive->scanResults[i1].snr */
4820 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->scanResults[i1].ifIndex */
4821 bufferSize
+= 2; /* u16 primitive->scanResults[i1].beaconPeriodTu */
4822 bufferSize
+= 8; /* u8 primitive->scanResults[i1].timeStamp.data[8] */
4823 bufferSize
+= 8; /* u8 primitive->scanResults[i1].localTime.data[8] */
4824 bufferSize
+= 2; /* u16 primitive->scanResults[i1].channelFrequency */
4825 bufferSize
+= 2; /* u16 primitive->scanResults[i1].capabilityInformation */
4826 bufferSize
+= 1; /* u8 primitive->scanResults[i1].channelNumber */
4827 bufferSize
+= 1; /* CsrWifiSmeBasicUsability primitive->scanResults[i1].usability */
4828 bufferSize
+= 1; /* CsrWifiSmeBssType primitive->scanResults[i1].bssType */
4829 bufferSize
+= 2; /* u16 primitive->scanResults[i1].informationElementsLength */
4830 bufferSize
+= primitive
->scanResults
[i1
].informationElementsLength
; /* u8 primitive->scanResults[i1].informationElements */
4831 bufferSize
+= 1; /* CsrWifiSmeP2pRole primitive->scanResults[i1].p2pDeviceRole */
4832 switch (primitive
->scanResults
[i1
].p2pDeviceRole
)
4834 case CSR_WIFI_SME_P2P_ROLE_CLI
:
4835 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.reservedCli.empty */
4837 case CSR_WIFI_SME_P2P_ROLE_GO
:
4838 bufferSize
+= 1; /* CsrWifiSmeP2pGroupCapabilityMask primitive->scanResults[i1].deviceInfo.groupInfo.groupCapability */
4839 bufferSize
+= 6; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2pDeviceAddress.a[6] */
4840 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount */
4843 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
4845 bufferSize
+= 6; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a[6] */
4846 bufferSize
+= 6; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a[6] */
4847 bufferSize
+= 2; /* CsrWifiSmeWpsConfigTypeMask primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods */
4848 bufferSize
+= 1; /* CsrWifiSmeP2pCapabilityMask primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap */
4849 bufferSize
+= 8; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails[8] */
4850 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount */
4853 for (i6
= 0; i6
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
; i6
++)
4855 bufferSize
+= 8; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails[8] */
4858 bufferSize
+= 32; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName[32] */
4859 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength */
4863 case CSR_WIFI_SME_P2P_ROLE_NONE
:
4864 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.reservedNone.empty */
4866 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
4867 bufferSize
+= 6; /* u8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceAddress.a[6] */
4868 bufferSize
+= 2; /* CsrWifiSmeWpsConfigTypeMask primitive->scanResults[i1].deviceInfo.standalonedevInfo.configMethods */
4869 bufferSize
+= 1; /* CsrWifiSmeP2pCapabilityMask primitive->scanResults[i1].deviceInfo.standalonedevInfo.p2PDeviceCap */
4870 bufferSize
+= 8; /* u8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.primDeviceType.deviceDetails[8] */
4871 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount */
4874 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
; i4
++)
4876 bufferSize
+= 8; /* u8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails[8] */
4879 bufferSize
+= 32; /* u8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceName[32] */
4880 bufferSize
+= 1; /* u8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceNameLength */
4891 u8
* CsrWifiSmeScanResultsGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
4893 CsrWifiSmeScanResultsGetCfm
*primitive
= (CsrWifiSmeScanResultsGetCfm
*)msg
;
4895 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
4896 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
4897 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResultsCount
);
4900 for (i1
= 0; i1
< primitive
->scanResultsCount
; i1
++)
4902 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].ssid
.ssid
, ((u16
) (32)));
4903 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].ssid
.length
);
4904 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].bssid
.a
, ((u16
) (6)));
4905 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].rssi
);
4906 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].snr
);
4907 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].ifIndex
);
4908 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].beaconPeriodTu
);
4909 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].timeStamp
.data
, ((u16
) (8)));
4910 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].localTime
.data
, ((u16
) (8)));
4911 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].channelFrequency
);
4912 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].capabilityInformation
);
4913 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].channelNumber
);
4914 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].usability
);
4915 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].bssType
);
4916 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].informationElementsLength
);
4917 if (primitive
->scanResults
[i1
].informationElementsLength
)
4919 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].informationElements
, ((u16
) (primitive
->scanResults
[i1
].informationElementsLength
)));
4921 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].p2pDeviceRole
);
4922 switch (primitive
->scanResults
[i1
].p2pDeviceRole
)
4924 case CSR_WIFI_SME_P2P_ROLE_CLI
:
4925 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.reservedCli
.empty
);
4927 case CSR_WIFI_SME_P2P_ROLE_GO
:
4928 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.groupCapability
);
4929 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pDeviceAddress
.a
, ((u16
) (6)));
4930 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
);
4933 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
4935 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].p2PClientInterfaceAddress
.a
, ((u16
) (6)));
4936 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceAddress
.a
, ((u16
) (6)));
4937 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.configMethods
);
4938 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.p2PDeviceCap
);
4939 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.primDeviceType
.deviceDetails
, ((u16
) (8)));
4940 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
);
4943 for (i6
= 0; i6
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
; i6
++)
4945 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
[i6
].deviceDetails
, ((u16
) (8)));
4948 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceName
, ((u16
) (32)));
4949 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceNameLength
);
4953 case CSR_WIFI_SME_P2P_ROLE_NONE
:
4954 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.reservedNone
.empty
);
4956 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
4957 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.deviceAddress
.a
, ((u16
) (6)));
4958 CsrUint16Ser(ptr
, len
, (u16
) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.configMethods
);
4959 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.p2PDeviceCap
);
4960 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.primDeviceType
.deviceDetails
, ((u16
) (8)));
4961 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
);
4964 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
; i4
++)
4966 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secDeviceType
[i4
].deviceDetails
, ((u16
) (8)));
4969 CsrMemCpySer(ptr
, len
, (const void *) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.deviceName
, ((u16
) (32)));
4970 CsrUint8Ser(ptr
, len
, (u8
) primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.deviceNameLength
);
4981 void* CsrWifiSmeScanResultsGetCfmDes(u8
*buffer
, size_t length
)
4983 CsrWifiSmeScanResultsGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeScanResultsGetCfm
), GFP_KERNEL
);
4987 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
4988 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
4989 CsrUint16Des((u16
*) &primitive
->scanResultsCount
, buffer
, &offset
);
4990 primitive
->scanResults
= NULL
;
4991 if (primitive
->scanResultsCount
)
4993 primitive
->scanResults
= kmalloc(sizeof(CsrWifiSmeScanResult
) * primitive
->scanResultsCount
, GFP_KERNEL
);
4997 for (i1
= 0; i1
< primitive
->scanResultsCount
; i1
++)
4999 CsrMemCpyDes(primitive
->scanResults
[i1
].ssid
.ssid
, buffer
, &offset
, ((u16
) (32)));
5000 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].ssid
.length
, buffer
, &offset
);
5001 CsrMemCpyDes(primitive
->scanResults
[i1
].bssid
.a
, buffer
, &offset
, ((u16
) (6)));
5002 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].rssi
, buffer
, &offset
);
5003 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].snr
, buffer
, &offset
);
5004 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].ifIndex
, buffer
, &offset
);
5005 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].beaconPeriodTu
, buffer
, &offset
);
5006 CsrMemCpyDes(primitive
->scanResults
[i1
].timeStamp
.data
, buffer
, &offset
, ((u16
) (8)));
5007 CsrMemCpyDes(primitive
->scanResults
[i1
].localTime
.data
, buffer
, &offset
, ((u16
) (8)));
5008 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].channelFrequency
, buffer
, &offset
);
5009 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].capabilityInformation
, buffer
, &offset
);
5010 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].channelNumber
, buffer
, &offset
);
5011 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].usability
, buffer
, &offset
);
5012 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].bssType
, buffer
, &offset
);
5013 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].informationElementsLength
, buffer
, &offset
);
5014 if (primitive
->scanResults
[i1
].informationElementsLength
)
5016 primitive
->scanResults
[i1
].informationElements
= kmalloc(primitive
->scanResults
[i1
].informationElementsLength
, GFP_KERNEL
);
5017 CsrMemCpyDes(primitive
->scanResults
[i1
].informationElements
, buffer
, &offset
, ((u16
) (primitive
->scanResults
[i1
].informationElementsLength
)));
5021 primitive
->scanResults
[i1
].informationElements
= NULL
;
5023 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].p2pDeviceRole
, buffer
, &offset
);
5024 switch (primitive
->scanResults
[i1
].p2pDeviceRole
)
5026 case CSR_WIFI_SME_P2P_ROLE_CLI
:
5027 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.reservedCli
.empty
, buffer
, &offset
);
5029 case CSR_WIFI_SME_P2P_ROLE_GO
:
5030 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.groupCapability
, buffer
, &offset
);
5031 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pDeviceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
5032 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
, buffer
, &offset
);
5033 primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
= NULL
;
5034 if (primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
)
5036 primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
= kmalloc(sizeof(CsrWifiSmeP2pClientInfoType
) * primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
, GFP_KERNEL
);
5040 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
5042 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].p2PClientInterfaceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
5043 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
5044 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.configMethods
, buffer
, &offset
);
5045 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.p2PDeviceCap
, buffer
, &offset
);
5046 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.primDeviceType
.deviceDetails
, buffer
, &offset
, ((u16
) (8)));
5047 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
, buffer
, &offset
);
5048 primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
= NULL
;
5049 if (primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
)
5051 primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
= kmalloc(sizeof(CsrWifiSmeWpsDeviceType
) * primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
, GFP_KERNEL
);
5055 for (i6
= 0; i6
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secondaryDeviceTypeCount
; i6
++)
5057 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
[i6
].deviceDetails
, buffer
, &offset
, ((u16
) (8)));
5060 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceName
, buffer
, &offset
, ((u16
) (32)));
5061 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.deviceNameLength
, buffer
, &offset
);
5065 case CSR_WIFI_SME_P2P_ROLE_NONE
:
5066 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.reservedNone
.empty
, buffer
, &offset
);
5068 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
5069 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.deviceAddress
.a
, buffer
, &offset
, ((u16
) (6)));
5070 CsrUint16Des((u16
*) &primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.configMethods
, buffer
, &offset
);
5071 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.p2PDeviceCap
, buffer
, &offset
);
5072 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.primDeviceType
.deviceDetails
, buffer
, &offset
, ((u16
) (8)));
5073 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
, buffer
, &offset
);
5074 primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secDeviceType
= NULL
;
5075 if (primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
)
5077 primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secDeviceType
= kmalloc(sizeof(CsrWifiSmeWpsDeviceType
) * primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
, GFP_KERNEL
);
5081 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secondaryDeviceTypeCount
; i4
++)
5083 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secDeviceType
[i4
].deviceDetails
, buffer
, &offset
, ((u16
) (8)));
5086 CsrMemCpyDes(primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.deviceName
, buffer
, &offset
, ((u16
) (32)));
5087 CsrUint8Des((u8
*) &primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.deviceNameLength
, buffer
, &offset
);
5099 void CsrWifiSmeScanResultsGetCfmSerFree(void *voidPrimitivePointer
)
5101 CsrWifiSmeScanResultsGetCfm
*primitive
= (CsrWifiSmeScanResultsGetCfm
*) voidPrimitivePointer
;
5104 for (i1
= 0; i1
< primitive
->scanResultsCount
; i1
++)
5106 kfree(primitive
->scanResults
[i1
].informationElements
);
5107 switch (primitive
->scanResults
[i1
].p2pDeviceRole
)
5109 case CSR_WIFI_SME_P2P_ROLE_GO
:
5112 for (i4
= 0; i4
< primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2pClientInfoCount
; i4
++)
5114 kfree(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
[i4
].clientDeviceInfo
.secDeviceType
);
5117 kfree(primitive
->scanResults
[i1
].deviceInfo
.groupInfo
.p2PClientInfo
);
5119 case CSR_WIFI_SME_P2P_ROLE_STANDALONE
:
5120 kfree(primitive
->scanResults
[i1
].deviceInfo
.standalonedevInfo
.secDeviceType
);
5127 kfree(primitive
->scanResults
);
5132 size_t CsrWifiSmeSmeStaConfigGetCfmSizeof(void *msg
)
5134 size_t bufferSize
= 2;
5136 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
5137 bufferSize
+= 2; /* u16 primitive->interfaceTag */
5138 bufferSize
+= 2; /* CsrResult primitive->status */
5139 bufferSize
+= 1; /* u8 primitive->smeConfig.connectionQualityRssiChangeTrigger */
5140 bufferSize
+= 1; /* u8 primitive->smeConfig.connectionQualitySnrChangeTrigger */
5141 bufferSize
+= 1; /* CsrWifiSmeWmmModeMask primitive->smeConfig.wmmModeMask */
5142 bufferSize
+= 1; /* CsrWifiSmeRadioIF primitive->smeConfig.ifIndex */
5143 bufferSize
+= 1; /* u8 primitive->smeConfig.allowUnicastUseGroupCipher */
5144 bufferSize
+= 1; /* u8 primitive->smeConfig.enableOpportunisticKeyCaching */
5149 u8
* CsrWifiSmeSmeStaConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5151 CsrWifiSmeSmeStaConfigGetCfm
*primitive
= (CsrWifiSmeSmeStaConfigGetCfm
*)msg
;
5153 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5154 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
5155 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5156 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.connectionQualityRssiChangeTrigger
);
5157 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.connectionQualitySnrChangeTrigger
);
5158 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.wmmModeMask
);
5159 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.ifIndex
);
5160 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.allowUnicastUseGroupCipher
);
5161 CsrUint8Ser(ptr
, len
, (u8
) primitive
->smeConfig
.enableOpportunisticKeyCaching
);
5166 void* CsrWifiSmeSmeStaConfigGetCfmDes(u8
*buffer
, size_t length
)
5168 CsrWifiSmeSmeStaConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeSmeStaConfigGetCfm
), GFP_KERNEL
);
5172 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5173 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
5174 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5175 CsrUint8Des((u8
*) &primitive
->smeConfig
.connectionQualityRssiChangeTrigger
, buffer
, &offset
);
5176 CsrUint8Des((u8
*) &primitive
->smeConfig
.connectionQualitySnrChangeTrigger
, buffer
, &offset
);
5177 CsrUint8Des((u8
*) &primitive
->smeConfig
.wmmModeMask
, buffer
, &offset
);
5178 CsrUint8Des((u8
*) &primitive
->smeConfig
.ifIndex
, buffer
, &offset
);
5179 CsrUint8Des((u8
*) &primitive
->smeConfig
.allowUnicastUseGroupCipher
, buffer
, &offset
);
5180 CsrUint8Des((u8
*) &primitive
->smeConfig
.enableOpportunisticKeyCaching
, buffer
, &offset
);
5186 size_t CsrWifiSmeSmeStaConfigSetCfmSizeof(void *msg
)
5188 size_t bufferSize
= 2;
5190 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
5191 bufferSize
+= 2; /* u16 primitive->interfaceTag */
5192 bufferSize
+= 2; /* CsrResult primitive->status */
5197 u8
* CsrWifiSmeSmeStaConfigSetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5199 CsrWifiSmeSmeStaConfigSetCfm
*primitive
= (CsrWifiSmeSmeStaConfigSetCfm
*)msg
;
5201 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5202 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
5203 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5208 void* CsrWifiSmeSmeStaConfigSetCfmDes(u8
*buffer
, size_t length
)
5210 CsrWifiSmeSmeStaConfigSetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeSmeStaConfigSetCfm
), GFP_KERNEL
);
5214 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5215 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
5216 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5222 size_t CsrWifiSmeStationMacAddressGetCfmSizeof(void *msg
)
5224 size_t bufferSize
= 2;
5226 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
5227 bufferSize
+= 2; /* CsrResult primitive->status */
5230 for (i1
= 0; i1
< 2; i1
++)
5232 bufferSize
+= 6; /* u8 primitive->stationMacAddress[i1].a[6] */
5239 u8
* CsrWifiSmeStationMacAddressGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5241 CsrWifiSmeStationMacAddressGetCfm
*primitive
= (CsrWifiSmeStationMacAddressGetCfm
*)msg
;
5243 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5244 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5247 for (i1
= 0; i1
< 2; i1
++)
5249 CsrMemCpySer(ptr
, len
, (const void *) primitive
->stationMacAddress
[i1
].a
, ((u16
) (6)));
5256 void* CsrWifiSmeStationMacAddressGetCfmDes(u8
*buffer
, size_t length
)
5258 CsrWifiSmeStationMacAddressGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeStationMacAddressGetCfm
), GFP_KERNEL
);
5262 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5263 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5266 for (i1
= 0; i1
< 2; i1
++)
5268 CsrMemCpyDes(primitive
->stationMacAddress
[i1
].a
, buffer
, &offset
, ((u16
) (6)));
5276 size_t CsrWifiSmeTspecIndSizeof(void *msg
)
5278 CsrWifiSmeTspecInd
*primitive
= (CsrWifiSmeTspecInd
*) msg
;
5279 size_t bufferSize
= 2;
5281 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
5282 bufferSize
+= 2; /* u16 primitive->interfaceTag */
5283 bufferSize
+= 4; /* u32 primitive->transactionId */
5284 bufferSize
+= 1; /* CsrWifiSmeTspecResultCode primitive->tspecResultCode */
5285 bufferSize
+= 2; /* u16 primitive->tspecLength */
5286 bufferSize
+= primitive
->tspecLength
; /* u8 primitive->tspec */
5291 u8
* CsrWifiSmeTspecIndSer(u8
*ptr
, size_t *len
, void *msg
)
5293 CsrWifiSmeTspecInd
*primitive
= (CsrWifiSmeTspecInd
*)msg
;
5295 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5296 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
5297 CsrUint32Ser(ptr
, len
, (u32
) primitive
->transactionId
);
5298 CsrUint8Ser(ptr
, len
, (u8
) primitive
->tspecResultCode
);
5299 CsrUint16Ser(ptr
, len
, (u16
) primitive
->tspecLength
);
5300 if (primitive
->tspecLength
)
5302 CsrMemCpySer(ptr
, len
, (const void *) primitive
->tspec
, ((u16
) (primitive
->tspecLength
)));
5308 void* CsrWifiSmeTspecIndDes(u8
*buffer
, size_t length
)
5310 CsrWifiSmeTspecInd
*primitive
= kmalloc(sizeof(CsrWifiSmeTspecInd
), GFP_KERNEL
);
5314 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5315 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
5316 CsrUint32Des((u32
*) &primitive
->transactionId
, buffer
, &offset
);
5317 CsrUint8Des((u8
*) &primitive
->tspecResultCode
, buffer
, &offset
);
5318 CsrUint16Des((u16
*) &primitive
->tspecLength
, buffer
, &offset
);
5319 if (primitive
->tspecLength
)
5321 primitive
->tspec
= kmalloc(primitive
->tspecLength
, GFP_KERNEL
);
5322 CsrMemCpyDes(primitive
->tspec
, buffer
, &offset
, ((u16
) (primitive
->tspecLength
)));
5326 primitive
->tspec
= NULL
;
5333 void CsrWifiSmeTspecIndSerFree(void *voidPrimitivePointer
)
5335 CsrWifiSmeTspecInd
*primitive
= (CsrWifiSmeTspecInd
*) voidPrimitivePointer
;
5336 kfree(primitive
->tspec
);
5341 size_t CsrWifiSmeTspecCfmSizeof(void *msg
)
5343 CsrWifiSmeTspecCfm
*primitive
= (CsrWifiSmeTspecCfm
*) msg
;
5344 size_t bufferSize
= 2;
5346 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
5347 bufferSize
+= 2; /* u16 primitive->interfaceTag */
5348 bufferSize
+= 2; /* CsrResult primitive->status */
5349 bufferSize
+= 4; /* u32 primitive->transactionId */
5350 bufferSize
+= 1; /* CsrWifiSmeTspecResultCode primitive->tspecResultCode */
5351 bufferSize
+= 2; /* u16 primitive->tspecLength */
5352 bufferSize
+= primitive
->tspecLength
; /* u8 primitive->tspec */
5357 u8
* CsrWifiSmeTspecCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5359 CsrWifiSmeTspecCfm
*primitive
= (CsrWifiSmeTspecCfm
*)msg
;
5361 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5362 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
5363 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5364 CsrUint32Ser(ptr
, len
, (u32
) primitive
->transactionId
);
5365 CsrUint8Ser(ptr
, len
, (u8
) primitive
->tspecResultCode
);
5366 CsrUint16Ser(ptr
, len
, (u16
) primitive
->tspecLength
);
5367 if (primitive
->tspecLength
)
5369 CsrMemCpySer(ptr
, len
, (const void *) primitive
->tspec
, ((u16
) (primitive
->tspecLength
)));
5375 void* CsrWifiSmeTspecCfmDes(u8
*buffer
, size_t length
)
5377 CsrWifiSmeTspecCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeTspecCfm
), GFP_KERNEL
);
5381 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5382 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
5383 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5384 CsrUint32Des((u32
*) &primitive
->transactionId
, buffer
, &offset
);
5385 CsrUint8Des((u8
*) &primitive
->tspecResultCode
, buffer
, &offset
);
5386 CsrUint16Des((u16
*) &primitive
->tspecLength
, buffer
, &offset
);
5387 if (primitive
->tspecLength
)
5389 primitive
->tspec
= kmalloc(primitive
->tspecLength
, GFP_KERNEL
);
5390 CsrMemCpyDes(primitive
->tspec
, buffer
, &offset
, ((u16
) (primitive
->tspecLength
)));
5394 primitive
->tspec
= NULL
;
5401 void CsrWifiSmeTspecCfmSerFree(void *voidPrimitivePointer
)
5403 CsrWifiSmeTspecCfm
*primitive
= (CsrWifiSmeTspecCfm
*) voidPrimitivePointer
;
5404 kfree(primitive
->tspec
);
5409 size_t CsrWifiSmeVersionsGetCfmSizeof(void *msg
)
5411 CsrWifiSmeVersionsGetCfm
*primitive
= (CsrWifiSmeVersionsGetCfm
*) msg
;
5412 size_t bufferSize
= 2;
5414 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 33) */
5415 bufferSize
+= 2; /* CsrResult primitive->status */
5416 bufferSize
+= 4; /* u32 primitive->versions.chipId */
5417 bufferSize
+= 4; /* u32 primitive->versions.chipVersion */
5418 bufferSize
+= 4; /* u32 primitive->versions.firmwareBuild */
5419 bufferSize
+= 4; /* u32 primitive->versions.firmwarePatch */
5420 bufferSize
+= 4; /* u32 primitive->versions.firmwareHip */
5421 bufferSize
+= (primitive
->versions
.routerBuild
? strlen(primitive
->versions
.routerBuild
) : 0) + 1; /* char* primitive->versions.routerBuild (0 byte len + 1 for NULL Term) */
5422 bufferSize
+= 4; /* u32 primitive->versions.routerHip */
5423 bufferSize
+= (primitive
->versions
.smeBuild
? strlen(primitive
->versions
.smeBuild
) : 0) + 1; /* char* primitive->versions.smeBuild (0 byte len + 1 for NULL Term) */
5424 bufferSize
+= 4; /* u32 primitive->versions.smeHip */
5429 u8
* CsrWifiSmeVersionsGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5431 CsrWifiSmeVersionsGetCfm
*primitive
= (CsrWifiSmeVersionsGetCfm
*)msg
;
5433 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5434 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5435 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.chipId
);
5436 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.chipVersion
);
5437 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.firmwareBuild
);
5438 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.firmwarePatch
);
5439 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.firmwareHip
);
5440 CsrCharStringSer(ptr
, len
, primitive
->versions
.routerBuild
);
5441 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.routerHip
);
5442 CsrCharStringSer(ptr
, len
, primitive
->versions
.smeBuild
);
5443 CsrUint32Ser(ptr
, len
, (u32
) primitive
->versions
.smeHip
);
5448 void* CsrWifiSmeVersionsGetCfmDes(u8
*buffer
, size_t length
)
5450 CsrWifiSmeVersionsGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeVersionsGetCfm
), GFP_KERNEL
);
5454 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5455 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5456 CsrUint32Des((u32
*) &primitive
->versions
.chipId
, buffer
, &offset
);
5457 CsrUint32Des((u32
*) &primitive
->versions
.chipVersion
, buffer
, &offset
);
5458 CsrUint32Des((u32
*) &primitive
->versions
.firmwareBuild
, buffer
, &offset
);
5459 CsrUint32Des((u32
*) &primitive
->versions
.firmwarePatch
, buffer
, &offset
);
5460 CsrUint32Des((u32
*) &primitive
->versions
.firmwareHip
, buffer
, &offset
);
5461 CsrCharStringDes(&primitive
->versions
.routerBuild
, buffer
, &offset
);
5462 CsrUint32Des((u32
*) &primitive
->versions
.routerHip
, buffer
, &offset
);
5463 CsrCharStringDes(&primitive
->versions
.smeBuild
, buffer
, &offset
);
5464 CsrUint32Des((u32
*) &primitive
->versions
.smeHip
, buffer
, &offset
);
5470 void CsrWifiSmeVersionsGetCfmSerFree(void *voidPrimitivePointer
)
5472 CsrWifiSmeVersionsGetCfm
*primitive
= (CsrWifiSmeVersionsGetCfm
*) voidPrimitivePointer
;
5473 kfree(primitive
->versions
.routerBuild
);
5474 kfree(primitive
->versions
.smeBuild
);
5479 size_t CsrWifiSmeCloakedSsidsGetCfmSizeof(void *msg
)
5481 CsrWifiSmeCloakedSsidsGetCfm
*primitive
= (CsrWifiSmeCloakedSsidsGetCfm
*) msg
;
5482 size_t bufferSize
= 2;
5484 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 39) */
5485 bufferSize
+= 2; /* CsrResult primitive->status */
5486 bufferSize
+= 1; /* u8 primitive->cloakedSsids.cloakedSsidsCount */
5489 for (i2
= 0; i2
< primitive
->cloakedSsids
.cloakedSsidsCount
; i2
++)
5491 bufferSize
+= 32; /* u8 primitive->cloakedSsids.cloakedSsids[i2].ssid[32] */
5492 bufferSize
+= 1; /* u8 primitive->cloakedSsids.cloakedSsids[i2].length */
5499 u8
* CsrWifiSmeCloakedSsidsGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5501 CsrWifiSmeCloakedSsidsGetCfm
*primitive
= (CsrWifiSmeCloakedSsidsGetCfm
*)msg
;
5503 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5504 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5505 CsrUint8Ser(ptr
, len
, (u8
) primitive
->cloakedSsids
.cloakedSsidsCount
);
5508 for (i2
= 0; i2
< primitive
->cloakedSsids
.cloakedSsidsCount
; i2
++)
5510 CsrMemCpySer(ptr
, len
, (const void *) primitive
->cloakedSsids
.cloakedSsids
[i2
].ssid
, ((u16
) (32)));
5511 CsrUint8Ser(ptr
, len
, (u8
) primitive
->cloakedSsids
.cloakedSsids
[i2
].length
);
5518 void* CsrWifiSmeCloakedSsidsGetCfmDes(u8
*buffer
, size_t length
)
5520 CsrWifiSmeCloakedSsidsGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeCloakedSsidsGetCfm
), GFP_KERNEL
);
5524 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5525 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5526 CsrUint8Des((u8
*) &primitive
->cloakedSsids
.cloakedSsidsCount
, buffer
, &offset
);
5527 primitive
->cloakedSsids
.cloakedSsids
= NULL
;
5528 if (primitive
->cloakedSsids
.cloakedSsidsCount
)
5530 primitive
->cloakedSsids
.cloakedSsids
= kmalloc(sizeof(CsrWifiSsid
) * primitive
->cloakedSsids
.cloakedSsidsCount
, GFP_KERNEL
);
5534 for (i2
= 0; i2
< primitive
->cloakedSsids
.cloakedSsidsCount
; i2
++)
5536 CsrMemCpyDes(primitive
->cloakedSsids
.cloakedSsids
[i2
].ssid
, buffer
, &offset
, ((u16
) (32)));
5537 CsrUint8Des((u8
*) &primitive
->cloakedSsids
.cloakedSsids
[i2
].length
, buffer
, &offset
);
5545 void CsrWifiSmeCloakedSsidsGetCfmSerFree(void *voidPrimitivePointer
)
5547 CsrWifiSmeCloakedSsidsGetCfm
*primitive
= (CsrWifiSmeCloakedSsidsGetCfm
*) voidPrimitivePointer
;
5548 kfree(primitive
->cloakedSsids
.cloakedSsids
);
5553 size_t CsrWifiSmeWifiOnIndSizeof(void *msg
)
5555 size_t bufferSize
= 2;
5557 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
5558 bufferSize
+= 6; /* u8 primitive->address.a[6] */
5563 u8
* CsrWifiSmeWifiOnIndSer(u8
*ptr
, size_t *len
, void *msg
)
5565 CsrWifiSmeWifiOnInd
*primitive
= (CsrWifiSmeWifiOnInd
*)msg
;
5567 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5568 CsrMemCpySer(ptr
, len
, (const void *) primitive
->address
.a
, ((u16
) (6)));
5573 void* CsrWifiSmeWifiOnIndDes(u8
*buffer
, size_t length
)
5575 CsrWifiSmeWifiOnInd
*primitive
= kmalloc(sizeof(CsrWifiSmeWifiOnInd
), GFP_KERNEL
);
5579 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5580 CsrMemCpyDes(primitive
->address
.a
, buffer
, &offset
, ((u16
) (6)));
5586 size_t CsrWifiSmeSmeCommonConfigGetCfmSizeof(void *msg
)
5588 size_t bufferSize
= 2;
5590 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
5591 bufferSize
+= 2; /* CsrResult primitive->status */
5592 bufferSize
+= 1; /* CsrWifiSme80211dTrustLevel primitive->deviceConfig.trustLevel */
5593 bufferSize
+= 2; /* u8 primitive->deviceConfig.countryCode[2] */
5594 bufferSize
+= 1; /* CsrWifiSmeFirmwareDriverInterface primitive->deviceConfig.firmwareDriverInterface */
5595 bufferSize
+= 1; /* u8 primitive->deviceConfig.enableStrictDraftN */
5600 u8
* CsrWifiSmeSmeCommonConfigGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5602 CsrWifiSmeSmeCommonConfigGetCfm
*primitive
= (CsrWifiSmeSmeCommonConfigGetCfm
*)msg
;
5604 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5605 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5606 CsrUint8Ser(ptr
, len
, (u8
) primitive
->deviceConfig
.trustLevel
);
5607 CsrMemCpySer(ptr
, len
, (const void *) primitive
->deviceConfig
.countryCode
, ((u16
) (2)));
5608 CsrUint8Ser(ptr
, len
, (u8
) primitive
->deviceConfig
.firmwareDriverInterface
);
5609 CsrUint8Ser(ptr
, len
, (u8
) primitive
->deviceConfig
.enableStrictDraftN
);
5614 void* CsrWifiSmeSmeCommonConfigGetCfmDes(u8
*buffer
, size_t length
)
5616 CsrWifiSmeSmeCommonConfigGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeSmeCommonConfigGetCfm
), GFP_KERNEL
);
5620 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5621 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5622 CsrUint8Des((u8
*) &primitive
->deviceConfig
.trustLevel
, buffer
, &offset
);
5623 CsrMemCpyDes(primitive
->deviceConfig
.countryCode
, buffer
, &offset
, ((u16
) (2)));
5624 CsrUint8Des((u8
*) &primitive
->deviceConfig
.firmwareDriverInterface
, buffer
, &offset
);
5625 CsrUint8Des((u8
*) &primitive
->deviceConfig
.enableStrictDraftN
, buffer
, &offset
);
5631 size_t CsrWifiSmeInterfaceCapabilityGetCfmSizeof(void *msg
)
5633 size_t bufferSize
= 2;
5635 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
5636 bufferSize
+= 2; /* CsrResult primitive->status */
5637 bufferSize
+= 2; /* u16 primitive->numInterfaces */
5638 bufferSize
+= 2; /* u8 primitive->capBitmap[2] */
5643 u8
* CsrWifiSmeInterfaceCapabilityGetCfmSer(u8
*ptr
, size_t *len
, void *msg
)
5645 CsrWifiSmeInterfaceCapabilityGetCfm
*primitive
= (CsrWifiSmeInterfaceCapabilityGetCfm
*)msg
;
5647 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5648 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
5649 CsrUint16Ser(ptr
, len
, (u16
) primitive
->numInterfaces
);
5650 CsrMemCpySer(ptr
, len
, (const void *) primitive
->capBitmap
, ((u16
) (2)));
5655 void* CsrWifiSmeInterfaceCapabilityGetCfmDes(u8
*buffer
, size_t length
)
5657 CsrWifiSmeInterfaceCapabilityGetCfm
*primitive
= kmalloc(sizeof(CsrWifiSmeInterfaceCapabilityGetCfm
), GFP_KERNEL
);
5661 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5662 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
5663 CsrUint16Des((u16
*) &primitive
->numInterfaces
, buffer
, &offset
);
5664 CsrMemCpyDes(primitive
->capBitmap
, buffer
, &offset
, ((u16
) (2)));
5670 size_t CsrWifiSmeErrorIndSizeof(void *msg
)
5672 CsrWifiSmeErrorInd
*primitive
= (CsrWifiSmeErrorInd
*) msg
;
5673 size_t bufferSize
= 2;
5675 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 3) */
5676 bufferSize
+= (primitive
->errorMessage
? strlen(primitive
->errorMessage
) : 0) + 1; /* char* primitive->errorMessage (0 byte len + 1 for NULL Term) */
5681 u8
* CsrWifiSmeErrorIndSer(u8
*ptr
, size_t *len
, void *msg
)
5683 CsrWifiSmeErrorInd
*primitive
= (CsrWifiSmeErrorInd
*)msg
;
5685 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5686 CsrCharStringSer(ptr
, len
, primitive
->errorMessage
);
5691 void* CsrWifiSmeErrorIndDes(u8
*buffer
, size_t length
)
5693 CsrWifiSmeErrorInd
*primitive
= kmalloc(sizeof(CsrWifiSmeErrorInd
), GFP_KERNEL
);
5697 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5698 CsrCharStringDes(&primitive
->errorMessage
, buffer
, &offset
);
5704 void CsrWifiSmeErrorIndSerFree(void *voidPrimitivePointer
)
5706 CsrWifiSmeErrorInd
*primitive
= (CsrWifiSmeErrorInd
*) voidPrimitivePointer
;
5707 kfree(primitive
->errorMessage
);
5712 size_t CsrWifiSmeInfoIndSizeof(void *msg
)
5714 CsrWifiSmeInfoInd
*primitive
= (CsrWifiSmeInfoInd
*) msg
;
5715 size_t bufferSize
= 2;
5717 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 3) */
5718 bufferSize
+= (primitive
->infoMessage
? strlen(primitive
->infoMessage
) : 0) + 1; /* char* primitive->infoMessage (0 byte len + 1 for NULL Term) */
5723 u8
* CsrWifiSmeInfoIndSer(u8
*ptr
, size_t *len
, void *msg
)
5725 CsrWifiSmeInfoInd
*primitive
= (CsrWifiSmeInfoInd
*)msg
;
5727 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5728 CsrCharStringSer(ptr
, len
, primitive
->infoMessage
);
5733 void* CsrWifiSmeInfoIndDes(u8
*buffer
, size_t length
)
5735 CsrWifiSmeInfoInd
*primitive
= kmalloc(sizeof(CsrWifiSmeInfoInd
), GFP_KERNEL
);
5739 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5740 CsrCharStringDes(&primitive
->infoMessage
, buffer
, &offset
);
5746 void CsrWifiSmeInfoIndSerFree(void *voidPrimitivePointer
)
5748 CsrWifiSmeInfoInd
*primitive
= (CsrWifiSmeInfoInd
*) voidPrimitivePointer
;
5749 kfree(primitive
->infoMessage
);
5754 size_t CsrWifiSmeCoreDumpIndSizeof(void *msg
)
5756 CsrWifiSmeCoreDumpInd
*primitive
= (CsrWifiSmeCoreDumpInd
*) msg
;
5757 size_t bufferSize
= 2;
5759 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
5760 bufferSize
+= 4; /* u32 primitive->dataLength */
5761 bufferSize
+= primitive
->dataLength
; /* u8 primitive->data */
5766 u8
* CsrWifiSmeCoreDumpIndSer(u8
*ptr
, size_t *len
, void *msg
)
5768 CsrWifiSmeCoreDumpInd
*primitive
= (CsrWifiSmeCoreDumpInd
*)msg
;
5770 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
5771 CsrUint32Ser(ptr
, len
, (u32
) primitive
->dataLength
);
5772 if (primitive
->dataLength
)
5774 CsrMemCpySer(ptr
, len
, (const void *) primitive
->data
, ((u16
) (primitive
->dataLength
)));
5780 void* CsrWifiSmeCoreDumpIndDes(u8
*buffer
, size_t length
)
5782 CsrWifiSmeCoreDumpInd
*primitive
= kmalloc(sizeof(CsrWifiSmeCoreDumpInd
), GFP_KERNEL
);
5786 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
5787 CsrUint32Des((u32
*) &primitive
->dataLength
, buffer
, &offset
);
5788 if (primitive
->dataLength
)
5790 primitive
->data
= kmalloc(primitive
->dataLength
, GFP_KERNEL
);
5791 CsrMemCpyDes(primitive
->data
, buffer
, &offset
, ((u16
) (primitive
->dataLength
)));
5795 primitive
->data
= NULL
;
5802 void CsrWifiSmeCoreDumpIndSerFree(void *voidPrimitivePointer
)
5804 CsrWifiSmeCoreDumpInd
*primitive
= (CsrWifiSmeCoreDumpInd
*) voidPrimitivePointer
;
5805 kfree(primitive
->data
);