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);