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>
15 #include "csr_msgconv.h"
16 #include "csr_unicode.h"
18 #ifdef CSR_WIFI_NME_ENABLE
19 #ifdef CSR_WIFI_AP_ENABLE
21 #include "csr_wifi_nme_ap_prim.h"
22 #include "csr_wifi_nme_ap_serialize.h"
24 void CsrWifiNmeApPfree(void *ptr)
30 size_t CsrWifiNmeApConfigSetReqSizeof(void *msg)
32 CsrWifiNmeApConfigSetReq *primitive = (CsrWifiNmeApConfigSetReq *) msg;
33 size_t bufferSize = 2;
35 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 104) */
36 bufferSize += 2; /* u16 primitive->apConfig.apGroupkeyTimeout */
37 bufferSize += 1; /* u8 primitive->apConfig.apStrictGtkRekey */
38 bufferSize += 2; /* u16 primitive->apConfig.apGmkTimeout */
39 bufferSize += 2; /* u16 primitive->apConfig.apResponseTimeout */
40 bufferSize += 1; /* u8 primitive->apConfig.apRetransLimit */
41 bufferSize += 1; /* CsrWifiSmeApPhySupportMask primitive->apMacConfig.phySupportedBitmap */
42 bufferSize += 2; /* u16 primitive->apMacConfig.beaconInterval */
43 bufferSize += 1; /* u8 primitive->apMacConfig.dtimPeriod */
44 bufferSize += 2; /* u16 primitive->apMacConfig.maxListenInterval */
45 bufferSize += 1; /* u8 primitive->apMacConfig.supportedRatesCount */
46 bufferSize += 20; /* u8 primitive->apMacConfig.supportedRates[20] */
47 bufferSize += 1; /* CsrWifiSmePreambleType primitive->apMacConfig.preamble */
48 bufferSize += 1; /* u8 primitive->apMacConfig.shortSlotTimeEnabled */
49 bufferSize += 1; /* CsrWifiSmeCtsProtectionType primitive->apMacConfig.ctsProtectionType */
50 bufferSize += 1; /* u8 primitive->apMacConfig.wmmEnabled */
53 for (i2 = 0; i2 < 4; i2++)
55 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApParams[i2].cwMin */
56 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApParams[i2].cwMax */
57 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApParams[i2].aifs */
58 bufferSize += 2; /* u16 primitive->apMacConfig.wmmApParams[i2].txopLimit */
59 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApParams[i2].admissionControlMandatory */
64 for (i2 = 0; i2 < 4; i2++)
66 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApBcParams[i2].cwMin */
67 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApBcParams[i2].cwMax */
68 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApBcParams[i2].aifs */
69 bufferSize += 2; /* u16 primitive->apMacConfig.wmmApBcParams[i2].txopLimit */
70 bufferSize += 1; /* u8 primitive->apMacConfig.wmmApBcParams[i2].admissionControlMandatory */
73 bufferSize += 1; /* CsrWifiSmeApAccessType primitive->apMacConfig.accessType */
74 bufferSize += 1; /* u8 primitive->apMacConfig.macAddressListCount */
77 for (i2 = 0; i2 < primitive->apMacConfig.macAddressListCount; i2++)
79 bufferSize += 6; /* u8 primitive->apMacConfig.macAddressList[i2].a[6] */
82 bufferSize += 1; /* u8 primitive->apMacConfig.apHtParams.greenfieldSupported */
83 bufferSize += 1; /* u8 primitive->apMacConfig.apHtParams.shortGi20MHz */
84 bufferSize += 1; /* u8 primitive->apMacConfig.apHtParams.rxStbc */
85 bufferSize += 1; /* u8 primitive->apMacConfig.apHtParams.rifsModeAllowed */
86 bufferSize += 1; /* u8 primitive->apMacConfig.apHtParams.htProtection */
87 bufferSize += 1; /* u8 primitive->apMacConfig.apHtParams.dualCtsProtection */
92 u8* CsrWifiNmeApConfigSetReqSer(u8 *ptr, size_t *len, void *msg)
94 CsrWifiNmeApConfigSetReq *primitive = (CsrWifiNmeApConfigSetReq *)msg;
96 CsrUint16Ser(ptr, len, primitive->common.type);
97 CsrUint16Ser(ptr, len, (u16) primitive->apConfig.apGroupkeyTimeout);
98 CsrUint8Ser(ptr, len, (u8) primitive->apConfig.apStrictGtkRekey);
99 CsrUint16Ser(ptr, len, (u16) primitive->apConfig.apGmkTimeout);
100 CsrUint16Ser(ptr, len, (u16) primitive->apConfig.apResponseTimeout);
101 CsrUint8Ser(ptr, len, (u8) primitive->apConfig.apRetransLimit);
102 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.phySupportedBitmap);
103 CsrUint16Ser(ptr, len, (u16) primitive->apMacConfig.beaconInterval);
104 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.dtimPeriod);
105 CsrUint16Ser(ptr, len, (u16) primitive->apMacConfig.maxListenInterval);
106 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.supportedRatesCount);
107 CsrMemCpySer(ptr, len, (const void *) primitive->apMacConfig.supportedRates, ((u16) (20)));
108 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.preamble);
109 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.shortSlotTimeEnabled);
110 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.ctsProtectionType);
111 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmEnabled);
114 for (i2 = 0; i2 < 4; i2++)
116 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApParams[i2].cwMin);
117 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApParams[i2].cwMax);
118 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApParams[i2].aifs);
119 CsrUint16Ser(ptr, len, (u16) primitive->apMacConfig.wmmApParams[i2].txopLimit);
120 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApParams[i2].admissionControlMandatory);
125 for (i2 = 0; i2 < 4; i2++)
127 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApBcParams[i2].cwMin);
128 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApBcParams[i2].cwMax);
129 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApBcParams[i2].aifs);
130 CsrUint16Ser(ptr, len, (u16) primitive->apMacConfig.wmmApBcParams[i2].txopLimit);
131 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.wmmApBcParams[i2].admissionControlMandatory);
134 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.accessType);
135 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.macAddressListCount);
138 for (i2 = 0; i2 < primitive->apMacConfig.macAddressListCount; i2++)
140 CsrMemCpySer(ptr, len, (const void *) primitive->apMacConfig.macAddressList[i2].a, ((u16) (6)));
143 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.apHtParams.greenfieldSupported);
144 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.apHtParams.shortGi20MHz);
145 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.apHtParams.rxStbc);
146 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.apHtParams.rifsModeAllowed);
147 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.apHtParams.htProtection);
148 CsrUint8Ser(ptr, len, (u8) primitive->apMacConfig.apHtParams.dualCtsProtection);
153 void* CsrWifiNmeApConfigSetReqDes(u8 *buffer, size_t length)
155 CsrWifiNmeApConfigSetReq *primitive = (CsrWifiNmeApConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiNmeApConfigSetReq));
159 CsrUint16Des(&primitive->common.type, buffer, &offset);
160 CsrUint16Des((u16 *) &primitive->apConfig.apGroupkeyTimeout, buffer, &offset);
161 CsrUint8Des((u8 *) &primitive->apConfig.apStrictGtkRekey, buffer, &offset);
162 CsrUint16Des((u16 *) &primitive->apConfig.apGmkTimeout, buffer, &offset);
163 CsrUint16Des((u16 *) &primitive->apConfig.apResponseTimeout, buffer, &offset);
164 CsrUint8Des((u8 *) &primitive->apConfig.apRetransLimit, buffer, &offset);
165 CsrUint8Des((u8 *) &primitive->apMacConfig.phySupportedBitmap, buffer, &offset);
166 CsrUint16Des((u16 *) &primitive->apMacConfig.beaconInterval, buffer, &offset);
167 CsrUint8Des((u8 *) &primitive->apMacConfig.dtimPeriod, buffer, &offset);
168 CsrUint16Des((u16 *) &primitive->apMacConfig.maxListenInterval, buffer, &offset);
169 CsrUint8Des((u8 *) &primitive->apMacConfig.supportedRatesCount, buffer, &offset);
170 CsrMemCpyDes(primitive->apMacConfig.supportedRates, buffer, &offset, ((u16) (20)));
171 CsrUint8Des((u8 *) &primitive->apMacConfig.preamble, buffer, &offset);
172 CsrUint8Des((u8 *) &primitive->apMacConfig.shortSlotTimeEnabled, buffer, &offset);
173 CsrUint8Des((u8 *) &primitive->apMacConfig.ctsProtectionType, buffer, &offset);
174 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmEnabled, buffer, &offset);
177 for (i2 = 0; i2 < 4; i2++)
179 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApParams[i2].cwMin, buffer, &offset);
180 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApParams[i2].cwMax, buffer, &offset);
181 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApParams[i2].aifs, buffer, &offset);
182 CsrUint16Des((u16 *) &primitive->apMacConfig.wmmApParams[i2].txopLimit, buffer, &offset);
183 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApParams[i2].admissionControlMandatory, buffer, &offset);
188 for (i2 = 0; i2 < 4; i2++)
190 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApBcParams[i2].cwMin, buffer, &offset);
191 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApBcParams[i2].cwMax, buffer, &offset);
192 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApBcParams[i2].aifs, buffer, &offset);
193 CsrUint16Des((u16 *) &primitive->apMacConfig.wmmApBcParams[i2].txopLimit, buffer, &offset);
194 CsrUint8Des((u8 *) &primitive->apMacConfig.wmmApBcParams[i2].admissionControlMandatory, buffer, &offset);
197 CsrUint8Des((u8 *) &primitive->apMacConfig.accessType, buffer, &offset);
198 CsrUint8Des((u8 *) &primitive->apMacConfig.macAddressListCount, buffer, &offset);
199 primitive->apMacConfig.macAddressList = NULL;
200 if (primitive->apMacConfig.macAddressListCount)
202 primitive->apMacConfig.macAddressList = (CsrWifiMacAddress *)CsrPmemAlloc(sizeof(CsrWifiMacAddress) * primitive->apMacConfig.macAddressListCount);
206 for (i2 = 0; i2 < primitive->apMacConfig.macAddressListCount; i2++)
208 CsrMemCpyDes(primitive->apMacConfig.macAddressList[i2].a, buffer, &offset, ((u16) (6)));
211 CsrUint8Des((u8 *) &primitive->apMacConfig.apHtParams.greenfieldSupported, buffer, &offset);
212 CsrUint8Des((u8 *) &primitive->apMacConfig.apHtParams.shortGi20MHz, buffer, &offset);
213 CsrUint8Des((u8 *) &primitive->apMacConfig.apHtParams.rxStbc, buffer, &offset);
214 CsrUint8Des((u8 *) &primitive->apMacConfig.apHtParams.rifsModeAllowed, buffer, &offset);
215 CsrUint8Des((u8 *) &primitive->apMacConfig.apHtParams.htProtection, buffer, &offset);
216 CsrUint8Des((u8 *) &primitive->apMacConfig.apHtParams.dualCtsProtection, buffer, &offset);
222 void CsrWifiNmeApConfigSetReqSerFree(void *voidPrimitivePointer)
224 CsrWifiNmeApConfigSetReq *primitive = (CsrWifiNmeApConfigSetReq *) voidPrimitivePointer;
225 kfree(primitive->apMacConfig.macAddressList);
230 size_t CsrWifiNmeApWpsRegisterReqSizeof(void *msg)
232 size_t bufferSize = 2;
234 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
235 bufferSize += 2; /* u16 primitive->interfaceTag */
236 bufferSize += 2; /* CsrWifiSmeWpsDpid primitive->selectedDevicePasswordId */
237 bufferSize += 2; /* CsrWifiSmeWpsConfigType primitive->selectedConfigMethod */
238 bufferSize += 8; /* u8 primitive->pin[8] */
243 u8* CsrWifiNmeApWpsRegisterReqSer(u8 *ptr, size_t *len, void *msg)
245 CsrWifiNmeApWpsRegisterReq *primitive = (CsrWifiNmeApWpsRegisterReq *)msg;
247 CsrUint16Ser(ptr, len, primitive->common.type);
248 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
249 CsrUint16Ser(ptr, len, (u16) primitive->selectedDevicePasswordId);
250 CsrUint16Ser(ptr, len, (u16) primitive->selectedConfigMethod);
251 CsrMemCpySer(ptr, len, (const void *) primitive->pin, ((u16) (8)));
256 void* CsrWifiNmeApWpsRegisterReqDes(u8 *buffer, size_t length)
258 CsrWifiNmeApWpsRegisterReq *primitive = (CsrWifiNmeApWpsRegisterReq *) CsrPmemAlloc(sizeof(CsrWifiNmeApWpsRegisterReq));
262 CsrUint16Des(&primitive->common.type, buffer, &offset);
263 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
264 CsrUint16Des((u16 *) &primitive->selectedDevicePasswordId, buffer, &offset);
265 CsrUint16Des((u16 *) &primitive->selectedConfigMethod, buffer, &offset);
266 CsrMemCpyDes(primitive->pin, buffer, &offset, ((u16) (8)));
272 size_t CsrWifiNmeApStartReqSizeof(void *msg)
274 CsrWifiNmeApStartReq *primitive = (CsrWifiNmeApStartReq *) msg;
275 size_t bufferSize = 2;
277 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 112) */
278 bufferSize += 2; /* u16 primitive->interfaceTag */
279 bufferSize += 1; /* CsrWifiSmeApType primitive->apType */
280 bufferSize += 1; /* u8 primitive->cloakSsid */
281 bufferSize += 32; /* u8 primitive->ssid.ssid[32] */
282 bufferSize += 1; /* u8 primitive->ssid.length */
283 bufferSize += 1; /* CsrWifiSmeRadioIF primitive->ifIndex */
284 bufferSize += 1; /* u8 primitive->channel */
285 bufferSize += 1; /* CsrWifiSmeApAuthType primitive->apCredentials.authType */
286 switch (primitive->apCredentials.authType)
288 case CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM:
289 bufferSize += 1; /* u8 primitive->apCredentials.nmeAuthType.openSystemEmpty.empty */
291 case CSR_WIFI_SME_AP_AUTH_TYPE_WEP:
292 bufferSize += 1; /* CsrWifiSmeWepCredentialType primitive->apCredentials.nmeAuthType.authwep.wepKeyType */
293 switch (primitive->apCredentials.nmeAuthType.authwep.wepKeyType)
295 case CSR_WIFI_SME_CREDENTIAL_TYPE_WEP128:
296 bufferSize += 1; /* CsrWifiSmeWepAuthMode primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.wepAuthType */
297 bufferSize += 1; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.selectedWepKey */
298 bufferSize += 13; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key1[13] */
299 bufferSize += 13; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key2[13] */
300 bufferSize += 13; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key3[13] */
301 bufferSize += 13; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key4[13] */
303 case CSR_WIFI_SME_CREDENTIAL_TYPE_WEP64:
304 bufferSize += 1; /* CsrWifiSmeWepAuthMode primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.wepAuthType */
305 bufferSize += 1; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.selectedWepKey */
306 bufferSize += 5; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key1[5] */
307 bufferSize += 5; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key2[5] */
308 bufferSize += 5; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key3[5] */
309 bufferSize += 5; /* u8 primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key4[5] */
315 case CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL:
316 bufferSize += 1; /* CsrWifiSmeApAuthSupportMask primitive->apCredentials.nmeAuthType.authTypePersonal.authSupport */
317 bufferSize += 2; /* CsrWifiSmeApRsnCapabilitiesMask primitive->apCredentials.nmeAuthType.authTypePersonal.rsnCapabilities */
318 bufferSize += 2; /* CsrWifiSmeApWapiCapabilitiesMask primitive->apCredentials.nmeAuthType.authTypePersonal.wapiCapabilities */
319 bufferSize += 1; /* CsrWifiNmeApPersCredentialType primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase */
320 switch (primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase)
322 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK:
323 bufferSize += 2; /* u16 primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.psk.encryptionMode */
324 bufferSize += 32; /* u8 primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.psk.psk[32] */
326 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE:
327 bufferSize += 2; /* u16 primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.encryptionMode */
328 bufferSize += (primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase ? strlen(primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase) : 0) + 1; /* char* primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase (0 byte len + 1 for NULL Term) */
337 bufferSize += 1; /* u8 primitive->maxConnections */
338 bufferSize += 1; /* CsrWifiSmeP2pGroupCapabilityMask primitive->p2pGoParam.groupCapability */
339 bufferSize += 3; /* u8 primitive->p2pGoParam.operatingChanList.country[3] */
340 bufferSize += 1; /* u8 primitive->p2pGoParam.operatingChanList.channelEntryListCount */
343 for (i3 = 0; i3 < primitive->p2pGoParam.operatingChanList.channelEntryListCount; i3++)
345 bufferSize += 1; /* u8 primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingClass */
346 bufferSize += 1; /* u8 primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount */
347 bufferSize += primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount; /* u8 primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel */
350 bufferSize += 1; /* u8 primitive->p2pGoParam.opPsEnabled */
351 bufferSize += 1; /* u8 primitive->p2pGoParam.ctWindow */
352 bufferSize += 1; /* CsrWifiSmeP2pNoaConfigMethod primitive->p2pGoParam.noaConfigMethod */
353 bufferSize += 1; /* u8 primitive->p2pGoParam.allowNoaWithNonP2pDevices */
354 bufferSize += 1; /* u8 primitive->wpsEnabled */
359 u8* CsrWifiNmeApStartReqSer(u8 *ptr, size_t *len, void *msg)
361 CsrWifiNmeApStartReq *primitive = (CsrWifiNmeApStartReq *)msg;
363 CsrUint16Ser(ptr, len, primitive->common.type);
364 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
365 CsrUint8Ser(ptr, len, (u8) primitive->apType);
366 CsrUint8Ser(ptr, len, (u8) primitive->cloakSsid);
367 CsrMemCpySer(ptr, len, (const void *) primitive->ssid.ssid, ((u16) (32)));
368 CsrUint8Ser(ptr, len, (u8) primitive->ssid.length);
369 CsrUint8Ser(ptr, len, (u8) primitive->ifIndex);
370 CsrUint8Ser(ptr, len, (u8) primitive->channel);
371 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.authType);
372 switch (primitive->apCredentials.authType)
374 case CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM:
375 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.openSystemEmpty.empty);
377 case CSR_WIFI_SME_AP_AUTH_TYPE_WEP:
378 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authwep.wepKeyType);
379 switch (primitive->apCredentials.nmeAuthType.authwep.wepKeyType)
381 case CSR_WIFI_SME_CREDENTIAL_TYPE_WEP128:
382 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.wepAuthType);
383 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.selectedWepKey);
384 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key1, ((u16) (13)));
385 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key2, ((u16) (13)));
386 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key3, ((u16) (13)));
387 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key4, ((u16) (13)));
389 case CSR_WIFI_SME_CREDENTIAL_TYPE_WEP64:
390 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.wepAuthType);
391 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.selectedWepKey);
392 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key1, ((u16) (5)));
393 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key2, ((u16) (5)));
394 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key3, ((u16) (5)));
395 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key4, ((u16) (5)));
401 case CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL:
402 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authTypePersonal.authSupport);
403 CsrUint16Ser(ptr, len, (u16) primitive->apCredentials.nmeAuthType.authTypePersonal.rsnCapabilities);
404 CsrUint16Ser(ptr, len, (u16) primitive->apCredentials.nmeAuthType.authTypePersonal.wapiCapabilities);
405 CsrUint8Ser(ptr, len, (u8) primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase);
406 switch (primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase)
408 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK:
409 CsrUint16Ser(ptr, len, (u16) primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.psk.encryptionMode);
410 CsrMemCpySer(ptr, len, (const void *) primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.psk.psk, ((u16) (32)));
412 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE:
413 CsrUint16Ser(ptr, len, (u16) primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.encryptionMode);
414 CsrCharStringSer(ptr, len, primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase);
423 CsrUint8Ser(ptr, len, (u8) primitive->maxConnections);
424 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.groupCapability);
425 CsrMemCpySer(ptr, len, (const void *) primitive->p2pGoParam.operatingChanList.country, ((u16) (3)));
426 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.operatingChanList.channelEntryListCount);
429 for (i3 = 0; i3 < primitive->p2pGoParam.operatingChanList.channelEntryListCount; i3++)
431 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingClass);
432 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount);
433 if (primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount)
435 CsrMemCpySer(ptr, len, (const void *) primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel, ((u16) (primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount)));
439 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.opPsEnabled);
440 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.ctWindow);
441 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.noaConfigMethod);
442 CsrUint8Ser(ptr, len, (u8) primitive->p2pGoParam.allowNoaWithNonP2pDevices);
443 CsrUint8Ser(ptr, len, (u8) primitive->wpsEnabled);
448 void* CsrWifiNmeApStartReqDes(u8 *buffer, size_t length)
450 CsrWifiNmeApStartReq *primitive = (CsrWifiNmeApStartReq *) CsrPmemAlloc(sizeof(CsrWifiNmeApStartReq));
454 CsrUint16Des(&primitive->common.type, buffer, &offset);
455 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
456 CsrUint8Des((u8 *) &primitive->apType, buffer, &offset);
457 CsrUint8Des((u8 *) &primitive->cloakSsid, buffer, &offset);
458 CsrMemCpyDes(primitive->ssid.ssid, buffer, &offset, ((u16) (32)));
459 CsrUint8Des((u8 *) &primitive->ssid.length, buffer, &offset);
460 CsrUint8Des((u8 *) &primitive->ifIndex, buffer, &offset);
461 CsrUint8Des((u8 *) &primitive->channel, buffer, &offset);
462 CsrUint8Des((u8 *) &primitive->apCredentials.authType, buffer, &offset);
463 switch (primitive->apCredentials.authType)
465 case CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM:
466 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.openSystemEmpty.empty, buffer, &offset);
468 case CSR_WIFI_SME_AP_AUTH_TYPE_WEP:
469 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authwep.wepKeyType, buffer, &offset);
470 switch (primitive->apCredentials.nmeAuthType.authwep.wepKeyType)
472 case CSR_WIFI_SME_CREDENTIAL_TYPE_WEP128:
473 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.wepAuthType, buffer, &offset);
474 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.selectedWepKey, buffer, &offset);
475 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key1, buffer, &offset, ((u16) (13)));
476 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key2, buffer, &offset, ((u16) (13)));
477 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key3, buffer, &offset, ((u16) (13)));
478 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep128Key.key4, buffer, &offset, ((u16) (13)));
480 case CSR_WIFI_SME_CREDENTIAL_TYPE_WEP64:
481 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.wepAuthType, buffer, &offset);
482 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.selectedWepKey, buffer, &offset);
483 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key1, buffer, &offset, ((u16) (5)));
484 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key2, buffer, &offset, ((u16) (5)));
485 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key3, buffer, &offset, ((u16) (5)));
486 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authwep.wepCredentials.wep64Key.key4, buffer, &offset, ((u16) (5)));
492 case CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL:
493 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authTypePersonal.authSupport, buffer, &offset);
494 CsrUint16Des((u16 *) &primitive->apCredentials.nmeAuthType.authTypePersonal.rsnCapabilities, buffer, &offset);
495 CsrUint16Des((u16 *) &primitive->apCredentials.nmeAuthType.authTypePersonal.wapiCapabilities, buffer, &offset);
496 CsrUint8Des((u8 *) &primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase, buffer, &offset);
497 switch (primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase)
499 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK:
500 CsrUint16Des((u16 *) &primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.psk.encryptionMode, buffer, &offset);
501 CsrMemCpyDes(primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.psk.psk, buffer, &offset, ((u16) (32)));
503 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE:
504 CsrUint16Des((u16 *) &primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.encryptionMode, buffer, &offset);
505 CsrCharStringDes(&primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase, buffer, &offset);
514 CsrUint8Des((u8 *) &primitive->maxConnections, buffer, &offset);
515 CsrUint8Des((u8 *) &primitive->p2pGoParam.groupCapability, buffer, &offset);
516 CsrMemCpyDes(primitive->p2pGoParam.operatingChanList.country, buffer, &offset, ((u16) (3)));
517 CsrUint8Des((u8 *) &primitive->p2pGoParam.operatingChanList.channelEntryListCount, buffer, &offset);
518 primitive->p2pGoParam.operatingChanList.channelEntryList = NULL;
519 if (primitive->p2pGoParam.operatingChanList.channelEntryListCount)
521 primitive->p2pGoParam.operatingChanList.channelEntryList = (CsrWifiSmeApP2pOperatingChanEntry *)CsrPmemAlloc(sizeof(CsrWifiSmeApP2pOperatingChanEntry) * primitive->p2pGoParam.operatingChanList.channelEntryListCount);
525 for (i3 = 0; i3 < primitive->p2pGoParam.operatingChanList.channelEntryListCount; i3++)
527 CsrUint8Des((u8 *) &primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingClass, buffer, &offset);
528 CsrUint8Des((u8 *) &primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount, buffer, &offset);
529 if (primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount)
531 primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel = (u8 *)CsrPmemAlloc(primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount);
532 CsrMemCpyDes(primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel, buffer, &offset, ((u16) (primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannelCount)));
536 primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel = NULL;
540 CsrUint8Des((u8 *) &primitive->p2pGoParam.opPsEnabled, buffer, &offset);
541 CsrUint8Des((u8 *) &primitive->p2pGoParam.ctWindow, buffer, &offset);
542 CsrUint8Des((u8 *) &primitive->p2pGoParam.noaConfigMethod, buffer, &offset);
543 CsrUint8Des((u8 *) &primitive->p2pGoParam.allowNoaWithNonP2pDevices, buffer, &offset);
544 CsrUint8Des((u8 *) &primitive->wpsEnabled, buffer, &offset);
550 void CsrWifiNmeApStartReqSerFree(void *voidPrimitivePointer)
552 CsrWifiNmeApStartReq *primitive = (CsrWifiNmeApStartReq *) voidPrimitivePointer;
553 switch (primitive->apCredentials.authType)
555 case CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL:
556 switch (primitive->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase)
558 case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE:
559 kfree(primitive->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase);
570 for (i3 = 0; i3 < primitive->p2pGoParam.operatingChanList.channelEntryListCount; i3++)
572 kfree(primitive->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel);
575 kfree(primitive->p2pGoParam.operatingChanList.channelEntryList);
580 size_t CsrWifiNmeApWmmParamUpdateReqSizeof(void *msg)
582 size_t bufferSize = 2;
584 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 51) */
587 for (i1 = 0; i1 < 4; i1++)
589 bufferSize += 1; /* u8 primitive->wmmApParams[i1].cwMin */
590 bufferSize += 1; /* u8 primitive->wmmApParams[i1].cwMax */
591 bufferSize += 1; /* u8 primitive->wmmApParams[i1].aifs */
592 bufferSize += 2; /* u16 primitive->wmmApParams[i1].txopLimit */
593 bufferSize += 1; /* u8 primitive->wmmApParams[i1].admissionControlMandatory */
598 for (i1 = 0; i1 < 4; i1++)
600 bufferSize += 1; /* u8 primitive->wmmApBcParams[i1].cwMin */
601 bufferSize += 1; /* u8 primitive->wmmApBcParams[i1].cwMax */
602 bufferSize += 1; /* u8 primitive->wmmApBcParams[i1].aifs */
603 bufferSize += 2; /* u16 primitive->wmmApBcParams[i1].txopLimit */
604 bufferSize += 1; /* u8 primitive->wmmApBcParams[i1].admissionControlMandatory */
611 u8* CsrWifiNmeApWmmParamUpdateReqSer(u8 *ptr, size_t *len, void *msg)
613 CsrWifiNmeApWmmParamUpdateReq *primitive = (CsrWifiNmeApWmmParamUpdateReq *)msg;
615 CsrUint16Ser(ptr, len, primitive->common.type);
618 for (i1 = 0; i1 < 4; i1++)
620 CsrUint8Ser(ptr, len, (u8) primitive->wmmApParams[i1].cwMin);
621 CsrUint8Ser(ptr, len, (u8) primitive->wmmApParams[i1].cwMax);
622 CsrUint8Ser(ptr, len, (u8) primitive->wmmApParams[i1].aifs);
623 CsrUint16Ser(ptr, len, (u16) primitive->wmmApParams[i1].txopLimit);
624 CsrUint8Ser(ptr, len, (u8) primitive->wmmApParams[i1].admissionControlMandatory);
629 for (i1 = 0; i1 < 4; i1++)
631 CsrUint8Ser(ptr, len, (u8) primitive->wmmApBcParams[i1].cwMin);
632 CsrUint8Ser(ptr, len, (u8) primitive->wmmApBcParams[i1].cwMax);
633 CsrUint8Ser(ptr, len, (u8) primitive->wmmApBcParams[i1].aifs);
634 CsrUint16Ser(ptr, len, (u16) primitive->wmmApBcParams[i1].txopLimit);
635 CsrUint8Ser(ptr, len, (u8) primitive->wmmApBcParams[i1].admissionControlMandatory);
642 void* CsrWifiNmeApWmmParamUpdateReqDes(u8 *buffer, size_t length)
644 CsrWifiNmeApWmmParamUpdateReq *primitive = (CsrWifiNmeApWmmParamUpdateReq *) CsrPmemAlloc(sizeof(CsrWifiNmeApWmmParamUpdateReq));
648 CsrUint16Des(&primitive->common.type, buffer, &offset);
651 for (i1 = 0; i1 < 4; i1++)
653 CsrUint8Des((u8 *) &primitive->wmmApParams[i1].cwMin, buffer, &offset);
654 CsrUint8Des((u8 *) &primitive->wmmApParams[i1].cwMax, buffer, &offset);
655 CsrUint8Des((u8 *) &primitive->wmmApParams[i1].aifs, buffer, &offset);
656 CsrUint16Des((u16 *) &primitive->wmmApParams[i1].txopLimit, buffer, &offset);
657 CsrUint8Des((u8 *) &primitive->wmmApParams[i1].admissionControlMandatory, buffer, &offset);
662 for (i1 = 0; i1 < 4; i1++)
664 CsrUint8Des((u8 *) &primitive->wmmApBcParams[i1].cwMin, buffer, &offset);
665 CsrUint8Des((u8 *) &primitive->wmmApBcParams[i1].cwMax, buffer, &offset);
666 CsrUint8Des((u8 *) &primitive->wmmApBcParams[i1].aifs, buffer, &offset);
667 CsrUint16Des((u16 *) &primitive->wmmApBcParams[i1].txopLimit, buffer, &offset);
668 CsrUint8Des((u8 *) &primitive->wmmApBcParams[i1].admissionControlMandatory, buffer, &offset);
676 size_t CsrWifiNmeApStaRemoveReqSizeof(void *msg)
678 size_t bufferSize = 2;
680 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 12) */
681 bufferSize += 2; /* u16 primitive->interfaceTag */
682 bufferSize += 6; /* u8 primitive->staMacAddress.a[6] */
683 bufferSize += 1; /* u8 primitive->keepBlocking */
688 u8* CsrWifiNmeApStaRemoveReqSer(u8 *ptr, size_t *len, void *msg)
690 CsrWifiNmeApStaRemoveReq *primitive = (CsrWifiNmeApStaRemoveReq *)msg;
692 CsrUint16Ser(ptr, len, primitive->common.type);
693 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
694 CsrMemCpySer(ptr, len, (const void *) primitive->staMacAddress.a, ((u16) (6)));
695 CsrUint8Ser(ptr, len, (u8) primitive->keepBlocking);
700 void* CsrWifiNmeApStaRemoveReqDes(u8 *buffer, size_t length)
702 CsrWifiNmeApStaRemoveReq *primitive = (CsrWifiNmeApStaRemoveReq *) CsrPmemAlloc(sizeof(CsrWifiNmeApStaRemoveReq));
706 CsrUint16Des(&primitive->common.type, buffer, &offset);
707 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
708 CsrMemCpyDes(primitive->staMacAddress.a, buffer, &offset, ((u16) (6)));
709 CsrUint8Des((u8 *) &primitive->keepBlocking, buffer, &offset);
715 size_t CsrWifiNmeApWpsRegisterCfmSizeof(void *msg)
717 size_t bufferSize = 2;
719 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
720 bufferSize += 2; /* u16 primitive->interfaceTag */
721 bufferSize += 2; /* CsrResult primitive->status */
726 u8* CsrWifiNmeApWpsRegisterCfmSer(u8 *ptr, size_t *len, void *msg)
728 CsrWifiNmeApWpsRegisterCfm *primitive = (CsrWifiNmeApWpsRegisterCfm *)msg;
730 CsrUint16Ser(ptr, len, primitive->common.type);
731 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
732 CsrUint16Ser(ptr, len, (u16) primitive->status);
737 void* CsrWifiNmeApWpsRegisterCfmDes(u8 *buffer, size_t length)
739 CsrWifiNmeApWpsRegisterCfm *primitive = (CsrWifiNmeApWpsRegisterCfm *) CsrPmemAlloc(sizeof(CsrWifiNmeApWpsRegisterCfm));
743 CsrUint16Des(&primitive->common.type, buffer, &offset);
744 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
745 CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
751 size_t CsrWifiNmeApStartCfmSizeof(void *msg)
753 size_t bufferSize = 2;
755 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 40) */
756 bufferSize += 2; /* u16 primitive->interfaceTag */
757 bufferSize += 2; /* CsrResult primitive->status */
758 bufferSize += 32; /* u8 primitive->ssid.ssid[32] */
759 bufferSize += 1; /* u8 primitive->ssid.length */
764 u8* CsrWifiNmeApStartCfmSer(u8 *ptr, size_t *len, void *msg)
766 CsrWifiNmeApStartCfm *primitive = (CsrWifiNmeApStartCfm *)msg;
768 CsrUint16Ser(ptr, len, primitive->common.type);
769 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
770 CsrUint16Ser(ptr, len, (u16) primitive->status);
771 CsrMemCpySer(ptr, len, (const void *) primitive->ssid.ssid, ((u16) (32)));
772 CsrUint8Ser(ptr, len, (u8) primitive->ssid.length);
777 void* CsrWifiNmeApStartCfmDes(u8 *buffer, size_t length)
779 CsrWifiNmeApStartCfm *primitive = (CsrWifiNmeApStartCfm *) CsrPmemAlloc(sizeof(CsrWifiNmeApStartCfm));
783 CsrUint16Des(&primitive->common.type, buffer, &offset);
784 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
785 CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
786 CsrMemCpyDes(primitive->ssid.ssid, buffer, &offset, ((u16) (32)));
787 CsrUint8Des((u8 *) &primitive->ssid.length, buffer, &offset);
793 size_t CsrWifiNmeApStopCfmSizeof(void *msg)
795 size_t bufferSize = 2;
797 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
798 bufferSize += 2; /* u16 primitive->interfaceTag */
799 bufferSize += 2; /* CsrResult primitive->status */
804 u8* CsrWifiNmeApStopCfmSer(u8 *ptr, size_t *len, void *msg)
806 CsrWifiNmeApStopCfm *primitive = (CsrWifiNmeApStopCfm *)msg;
808 CsrUint16Ser(ptr, len, primitive->common.type);
809 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
810 CsrUint16Ser(ptr, len, (u16) primitive->status);
815 void* CsrWifiNmeApStopCfmDes(u8 *buffer, size_t length)
817 CsrWifiNmeApStopCfm *primitive = (CsrWifiNmeApStopCfm *) CsrPmemAlloc(sizeof(CsrWifiNmeApStopCfm));
821 CsrUint16Des(&primitive->common.type, buffer, &offset);
822 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
823 CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
829 size_t CsrWifiNmeApStopIndSizeof(void *msg)
831 size_t bufferSize = 2;
833 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
834 bufferSize += 2; /* u16 primitive->interfaceTag */
835 bufferSize += 1; /* CsrWifiSmeApType primitive->apType */
836 bufferSize += 2; /* CsrResult primitive->status */
841 u8* CsrWifiNmeApStopIndSer(u8 *ptr, size_t *len, void *msg)
843 CsrWifiNmeApStopInd *primitive = (CsrWifiNmeApStopInd *)msg;
845 CsrUint16Ser(ptr, len, primitive->common.type);
846 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
847 CsrUint8Ser(ptr, len, (u8) primitive->apType);
848 CsrUint16Ser(ptr, len, (u16) primitive->status);
853 void* CsrWifiNmeApStopIndDes(u8 *buffer, size_t length)
855 CsrWifiNmeApStopInd *primitive = (CsrWifiNmeApStopInd *) CsrPmemAlloc(sizeof(CsrWifiNmeApStopInd));
859 CsrUint16Des(&primitive->common.type, buffer, &offset);
860 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
861 CsrUint8Des((u8 *) &primitive->apType, buffer, &offset);
862 CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
868 size_t CsrWifiNmeApStationIndSizeof(void *msg)
870 size_t bufferSize = 2;
872 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 18) */
873 bufferSize += 2; /* u16 primitive->interfaceTag */
874 bufferSize += 1; /* CsrWifiSmeMediaStatus primitive->mediaStatus */
875 bufferSize += 6; /* u8 primitive->peerMacAddress.a[6] */
876 bufferSize += 6; /* u8 primitive->peerDeviceAddress.a[6] */
881 u8* CsrWifiNmeApStationIndSer(u8 *ptr, size_t *len, void *msg)
883 CsrWifiNmeApStationInd *primitive = (CsrWifiNmeApStationInd *)msg;
885 CsrUint16Ser(ptr, len, primitive->common.type);
886 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
887 CsrUint8Ser(ptr, len, (u8) primitive->mediaStatus);
888 CsrMemCpySer(ptr, len, (const void *) primitive->peerMacAddress.a, ((u16) (6)));
889 CsrMemCpySer(ptr, len, (const void *) primitive->peerDeviceAddress.a, ((u16) (6)));
894 void* CsrWifiNmeApStationIndDes(u8 *buffer, size_t length)
896 CsrWifiNmeApStationInd *primitive = (CsrWifiNmeApStationInd *) CsrPmemAlloc(sizeof(CsrWifiNmeApStationInd));
900 CsrUint16Des(&primitive->common.type, buffer, &offset);
901 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
902 CsrUint8Des((u8 *) &primitive->mediaStatus, buffer, &offset);
903 CsrMemCpyDes(primitive->peerMacAddress.a, buffer, &offset, ((u16) (6)));
904 CsrMemCpyDes(primitive->peerDeviceAddress.a, buffer, &offset, ((u16) (6)));
910 #endif /* CSR_WIFI_NME_ENABLE */
911 #endif /* CSR_WIFI_AP_ENABLE */