summaryrefslogtreecommitdiff
path: root/drivers/staging/csr/csr_wifi_sme_serialize.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-19 23:15:42 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-19 23:37:01 (GMT)
commit635d2b00e5070378e7bf812acf47fb135c6ab928 (patch)
tree7048a0a511f3d221aa2dfe40aa3a401991f1b175 /drivers/staging/csr/csr_wifi_sme_serialize.c
parent15a4bc17b7f4e85cb019e683f14e834078ec2208 (diff)
downloadlinux-fsl-qoriq-635d2b00e5070378e7bf812acf47fb135c6ab928.tar.xz
Staging: add CSR wifi module
This consists of two modules, the driver, and a "helper" module that is just a wrapper around common kernel functions. The wrapper module will be removed soon, but for now it's needed. These files were based on the csr-linux-wifi-5.0.3-oss.tar.gz package provided by CSR and Blue Giga, and is covered under the license specified in the LICENSE.txt file (basically dual BSD and GPLv2). The files were flattened out of the deep directory mess they were originally in, and a few EXPORT_SYMBOL_GPL() were added in order for everything to link properly with the helper module setup. Cc: Mikko Virkkilä <mikko.virkkila@bluegiga.com> Cc: Lauri Hintsala <Lauri.Hintsala@bluegiga.com> Cc: Riku Mettälä <riku.mettala@bluegiga.com> Cc: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/csr/csr_wifi_sme_serialize.c')
-rw-r--r--drivers/staging/csr/csr_wifi_sme_serialize.c5756
1 files changed, 5756 insertions, 0 deletions
diff --git a/drivers/staging/csr/csr_wifi_sme_serialize.c b/drivers/staging/csr/csr_wifi_sme_serialize.c
new file mode 100644
index 0000000..489c378
--- /dev/null
+++ b/drivers/staging/csr/csr_wifi_sme_serialize.c
@@ -0,0 +1,5756 @@
+/*****************************************************************************
+
+ (c) Cambridge Silicon Radio Limited 2011
+ All rights reserved and confidential information of CSR
+
+ Refer to LICENSE.txt included with this source for details
+ on the license terms.
+
+*****************************************************************************/
+
+/* Note: this is an auto-generated file. */
+
+#include "csr_pmem.h"
+#include "csr_msgconv.h"
+#include "csr_unicode.h"
+
+
+#include "csr_wifi_sme_prim.h"
+#include "csr_wifi_sme_serialize.h"
+
+void CsrWifiSmePfree(void *ptr)
+{
+ CsrPmemFree(ptr);
+}
+
+
+CsrSize CsrWifiSmeAdhocConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.atimWindowTu */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.beaconPeriodTu */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.joinOnlyAttempts */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.joinAttemptIntervalMs */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeAdhocConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeAdhocConfigSetReq *primitive = (CsrWifiSmeAdhocConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.atimWindowTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.beaconPeriodTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.joinOnlyAttempts);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.joinAttemptIntervalMs);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeAdhocConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeAdhocConfigSetReq *primitive = (CsrWifiSmeAdhocConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeAdhocConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.atimWindowTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.beaconPeriodTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.joinOnlyAttempts, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.joinAttemptIntervalMs, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeBlacklistReqSizeof(void *msg)
+{
+ CsrWifiSmeBlacklistReq *primitive = (CsrWifiSmeBlacklistReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrUint8 primitive->setAddressCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setAddressCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->setAddresses[i1].a[6] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeBlacklistReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeBlacklistReq *primitive = (CsrWifiSmeBlacklistReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->setAddressCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setAddressCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->setAddresses[i1].a, ((CsrUint16) (6)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeBlacklistReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeBlacklistReq *primitive = (CsrWifiSmeBlacklistReq *) CsrPmemAlloc(sizeof(CsrWifiSmeBlacklistReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->setAddressCount, buffer, &offset);
+ primitive->setAddresses = NULL;
+ if (primitive->setAddressCount)
+ {
+ primitive->setAddresses = (CsrWifiMacAddress *)CsrPmemAlloc(sizeof(CsrWifiMacAddress) * primitive->setAddressCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setAddressCount; i1++)
+ {
+ CsrMemCpyDes(primitive->setAddresses[i1].a, buffer, &offset, ((CsrUint16) (6)));
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeBlacklistReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeBlacklistReq *primitive = (CsrWifiSmeBlacklistReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->setAddresses);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCalibrationDataSetReqSizeof(void *msg)
+{
+ CsrWifiSmeCalibrationDataSetReq *primitive = (CsrWifiSmeCalibrationDataSetReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
+ bufferSize += 2; /* CsrUint16 primitive->calibrationDataLength */
+ bufferSize += primitive->calibrationDataLength; /* CsrUint8 primitive->calibrationData */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCalibrationDataSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCalibrationDataSetReq *primitive = (CsrWifiSmeCalibrationDataSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->calibrationDataLength);
+ if (primitive->calibrationDataLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->calibrationData, ((CsrUint16) (primitive->calibrationDataLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCalibrationDataSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCalibrationDataSetReq *primitive = (CsrWifiSmeCalibrationDataSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeCalibrationDataSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->calibrationDataLength, buffer, &offset);
+ if (primitive->calibrationDataLength)
+ {
+ primitive->calibrationData = (CsrUint8 *)CsrPmemAlloc(primitive->calibrationDataLength);
+ CsrMemCpyDes(primitive->calibrationData, buffer, &offset, ((CsrUint16) (primitive->calibrationDataLength)));
+ }
+ else
+ {
+ primitive->calibrationData = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeCalibrationDataSetReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeCalibrationDataSetReq *primitive = (CsrWifiSmeCalibrationDataSetReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->calibrationData);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCcxConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrUint8 primitive->ccxConfig.keepAliveTimeMs */
+ bufferSize += 1; /* CsrBool primitive->ccxConfig.apRoamingEnabled */
+ bufferSize += 1; /* CsrUint8 primitive->ccxConfig.measurementsMask */
+ bufferSize += 1; /* CsrBool primitive->ccxConfig.ccxRadioMgtEnabled */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCcxConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCcxConfigSetReq *primitive = (CsrWifiSmeCcxConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.keepAliveTimeMs);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.apRoamingEnabled);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.measurementsMask);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.ccxRadioMgtEnabled);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCcxConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCcxConfigSetReq *primitive = (CsrWifiSmeCcxConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeCcxConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.keepAliveTimeMs, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.apRoamingEnabled, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.measurementsMask, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.ccxRadioMgtEnabled, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeCoexConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 29) */
+ bufferSize += 1; /* CsrBool primitive->coexConfig.coexEnableSchemeManagement */
+ bufferSize += 1; /* CsrBool primitive->coexConfig.coexPeriodicWakeHost */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexTrafficBurstyLatencyMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexTrafficContinuousLatencyMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexObexBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexObexBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpBrBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpBrBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpEdrBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexPagingBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexPagingBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexInquiryBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexInquiryBlackoutPeriodMs */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCoexConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCoexConfigSetReq *primitive = (CsrWifiSmeCoexConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexConfig.coexEnableSchemeManagement);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexConfig.coexPeriodicWakeHost);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexTrafficBurstyLatencyMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexTrafficContinuousLatencyMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexObexBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexObexBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpBrBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpBrBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpEdrBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexPagingBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexPagingBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexInquiryBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexInquiryBlackoutPeriodMs);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCoexConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCoexConfigSetReq *primitive = (CsrWifiSmeCoexConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeCoexConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexConfig.coexEnableSchemeManagement, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexConfig.coexPeriodicWakeHost, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexTrafficBurstyLatencyMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexTrafficContinuousLatencyMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexObexBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexObexBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpBrBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpBrBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpEdrBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexPagingBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexPagingBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexInquiryBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexInquiryBlackoutPeriodMs, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeConnectReqSizeof(void *msg)
+{
+ CsrWifiSmeConnectReq *primitive = (CsrWifiSmeConnectReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 57) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 32; /* CsrUint8 primitive->connectionConfig.ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->connectionConfig.ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->connectionConfig.bssid.a[6] */
+ bufferSize += 1; /* CsrWifiSmeBssType primitive->connectionConfig.bssType */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->connectionConfig.ifIndex */
+ bufferSize += 1; /* CsrWifiSme80211PrivacyMode primitive->connectionConfig.privacyMode */
+ bufferSize += 2; /* CsrWifiSmeAuthModeMask primitive->connectionConfig.authModeMask */
+ bufferSize += 2; /* CsrWifiSmeEncryptionMask primitive->connectionConfig.encryptionModeMask */
+ bufferSize += 2; /* CsrUint16 primitive->connectionConfig.mlmeAssociateReqInformationElementsLength */
+ bufferSize += primitive->connectionConfig.mlmeAssociateReqInformationElementsLength; /* CsrUint8 primitive->connectionConfig.mlmeAssociateReqInformationElements */
+ bufferSize += 1; /* CsrWifiSmeWmmQosInfoMask primitive->connectionConfig.wmmQosInfo */
+ bufferSize += 1; /* CsrBool primitive->connectionConfig.adhocJoinOnly */
+ bufferSize += 1; /* CsrUint8 primitive->connectionConfig.adhocChannel */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeConnectReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeConnectReq *primitive = (CsrWifiSmeConnectReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionConfig.ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionConfig.bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.bssType);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.ifIndex);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.privacyMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionConfig.authModeMask);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionConfig.encryptionModeMask);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionConfig.mlmeAssociateReqInformationElementsLength);
+ if (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionConfig.mlmeAssociateReqInformationElements, ((CsrUint16) (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)));
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.wmmQosInfo);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.adhocJoinOnly);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.adhocChannel);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeConnectReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeConnectReq *primitive = (CsrWifiSmeConnectReq *) CsrPmemAlloc(sizeof(CsrWifiSmeConnectReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionConfig.ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionConfig.bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.bssType, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.ifIndex, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.privacyMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionConfig.authModeMask, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionConfig.encryptionModeMask, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionConfig.mlmeAssociateReqInformationElementsLength, buffer, &offset);
+ if (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)
+ {
+ primitive->connectionConfig.mlmeAssociateReqInformationElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionConfig.mlmeAssociateReqInformationElementsLength);
+ CsrMemCpyDes(primitive->connectionConfig.mlmeAssociateReqInformationElements, buffer, &offset, ((CsrUint16) (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)));
+ }
+ else
+ {
+ primitive->connectionConfig.mlmeAssociateReqInformationElements = NULL;
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.wmmQosInfo, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.adhocJoinOnly, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.adhocChannel, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeConnectReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeConnectReq *primitive = (CsrWifiSmeConnectReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->connectionConfig.mlmeAssociateReqInformationElements);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeHostConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeHostPowerMode primitive->hostConfig.powerMode */
+ bufferSize += 2; /* CsrUint16 primitive->hostConfig.applicationDataPeriodMs */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeHostConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeHostConfigSetReq *primitive = (CsrWifiSmeHostConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->hostConfig.powerMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->hostConfig.applicationDataPeriodMs);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeHostConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeHostConfigSetReq *primitive = (CsrWifiSmeHostConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeHostConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->hostConfig.powerMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->hostConfig.applicationDataPeriodMs, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeKeyReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 65) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrWifiSmeKeyType primitive->key.keyType */
+ bufferSize += 1; /* CsrUint8 primitive->key.keyIndex */
+ bufferSize += 1; /* CsrBool primitive->key.wepTxKey */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 8; i2++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->key.keyRsc[8] */
+ }
+ }
+ bufferSize += 1; /* CsrBool primitive->key.authenticator */
+ bufferSize += 6; /* CsrUint8 primitive->key.address.a[6] */
+ bufferSize += 1; /* CsrUint8 primitive->key.keyLength */
+ bufferSize += 32; /* CsrUint8 primitive->key.key[32] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeKeyReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeKeyReq *primitive = (CsrWifiSmeKeyReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->key.keyType);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->key.keyIndex);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->key.wepTxKey);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 8; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->key.keyRsc[i2]);
+ }
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->key.authenticator);
+ CsrMemCpySer(ptr, len, (const void *) primitive->key.address.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->key.keyLength);
+ CsrMemCpySer(ptr, len, (const void *) primitive->key.key, ((CsrUint16) (32)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmeKeyReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeKeyReq *primitive = (CsrWifiSmeKeyReq *) CsrPmemAlloc(sizeof(CsrWifiSmeKeyReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->key.keyType, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->key.keyIndex, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->key.wepTxKey, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 8; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->key.keyRsc[i2], buffer, &offset);
+ }
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->key.authenticator, buffer, &offset);
+ CsrMemCpyDes(primitive->key.address.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->key.keyLength, buffer, &offset);
+ CsrMemCpyDes(primitive->key.key, buffer, &offset, ((CsrUint16) (32)));
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeMibConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 1; /* CsrBool primitive->mibConfig.unifiFixMaxTxDataRate */
+ bufferSize += 1; /* CsrUint8 primitive->mibConfig.unifiFixTxDataRate */
+ bufferSize += 2; /* CsrUint16 primitive->mibConfig.dot11RtsThreshold */
+ bufferSize += 2; /* CsrUint16 primitive->mibConfig.dot11FragmentationThreshold */
+ bufferSize += 2; /* CsrUint16 primitive->mibConfig.dot11CurrentTxPowerLevel */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibConfigSetReq *primitive = (CsrWifiSmeMibConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->mibConfig.unifiFixMaxTxDataRate);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->mibConfig.unifiFixTxDataRate);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibConfig.dot11RtsThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibConfig.dot11FragmentationThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibConfig.dot11CurrentTxPowerLevel);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibConfigSetReq *primitive = (CsrWifiSmeMibConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeMibConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->mibConfig.unifiFixMaxTxDataRate, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->mibConfig.unifiFixTxDataRate, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibConfig.dot11RtsThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibConfig.dot11FragmentationThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibConfig.dot11CurrentTxPowerLevel, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeMibGetNextReqSizeof(void *msg)
+{
+ CsrWifiSmeMibGetNextReq *primitive = (CsrWifiSmeMibGetNextReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
+ bufferSize += 2; /* CsrUint16 primitive->mibAttributeLength */
+ bufferSize += primitive->mibAttributeLength; /* CsrUint8 primitive->mibAttribute */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibGetNextReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibGetNextReq *primitive = (CsrWifiSmeMibGetNextReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibAttributeLength);
+ if (primitive->mibAttributeLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibAttribute, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibGetNextReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibGetNextReq *primitive = (CsrWifiSmeMibGetNextReq *) CsrPmemAlloc(sizeof(CsrWifiSmeMibGetNextReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibAttributeLength, buffer, &offset);
+ if (primitive->mibAttributeLength)
+ {
+ primitive->mibAttribute = (CsrUint8 *)CsrPmemAlloc(primitive->mibAttributeLength);
+ CsrMemCpyDes(primitive->mibAttribute, buffer, &offset, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ else
+ {
+ primitive->mibAttribute = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMibGetNextReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMibGetNextReq *primitive = (CsrWifiSmeMibGetNextReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->mibAttribute);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeMibGetReqSizeof(void *msg)
+{
+ CsrWifiSmeMibGetReq *primitive = (CsrWifiSmeMibGetReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
+ bufferSize += 2; /* CsrUint16 primitive->mibAttributeLength */
+ bufferSize += primitive->mibAttributeLength; /* CsrUint8 primitive->mibAttribute */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibGetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibGetReq *primitive = (CsrWifiSmeMibGetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibAttributeLength);
+ if (primitive->mibAttributeLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibAttribute, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibGetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibGetReq *primitive = (CsrWifiSmeMibGetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeMibGetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibAttributeLength, buffer, &offset);
+ if (primitive->mibAttributeLength)
+ {
+ primitive->mibAttribute = (CsrUint8 *)CsrPmemAlloc(primitive->mibAttributeLength);
+ CsrMemCpyDes(primitive->mibAttribute, buffer, &offset, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ else
+ {
+ primitive->mibAttribute = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMibGetReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMibGetReq *primitive = (CsrWifiSmeMibGetReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->mibAttribute);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeMibSetReqSizeof(void *msg)
+{
+ CsrWifiSmeMibSetReq *primitive = (CsrWifiSmeMibSetReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 6) */
+ bufferSize += 2; /* CsrUint16 primitive->mibAttributeLength */
+ bufferSize += primitive->mibAttributeLength; /* CsrUint8 primitive->mibAttribute */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibSetReq *primitive = (CsrWifiSmeMibSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibAttributeLength);
+ if (primitive->mibAttributeLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibAttribute, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibSetReq *primitive = (CsrWifiSmeMibSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeMibSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibAttributeLength, buffer, &offset);
+ if (primitive->mibAttributeLength)
+ {
+ primitive->mibAttribute = (CsrUint8 *)CsrPmemAlloc(primitive->mibAttributeLength);
+ CsrMemCpyDes(primitive->mibAttribute, buffer, &offset, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ else
+ {
+ primitive->mibAttribute = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMibSetReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMibSetReq *primitive = (CsrWifiSmeMibSetReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->mibAttribute);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeMulticastAddressReqSizeof(void *msg)
+{
+ CsrWifiSmeMulticastAddressReq *primitive = (CsrWifiSmeMulticastAddressReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrUint8 primitive->setAddressesCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setAddressesCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->setAddresses[i1].a[6] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMulticastAddressReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMulticastAddressReq *primitive = (CsrWifiSmeMulticastAddressReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->setAddressesCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setAddressesCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->setAddresses[i1].a, ((CsrUint16) (6)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMulticastAddressReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMulticastAddressReq *primitive = (CsrWifiSmeMulticastAddressReq *) CsrPmemAlloc(sizeof(CsrWifiSmeMulticastAddressReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->setAddressesCount, buffer, &offset);
+ primitive->setAddresses = NULL;
+ if (primitive->setAddressesCount)
+ {
+ primitive->setAddresses = (CsrWifiMacAddress *)CsrPmemAlloc(sizeof(CsrWifiMacAddress) * primitive->setAddressesCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setAddressesCount; i1++)
+ {
+ CsrMemCpyDes(primitive->setAddresses[i1].a, buffer, &offset, ((CsrUint16) (6)));
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMulticastAddressReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMulticastAddressReq *primitive = (CsrWifiSmeMulticastAddressReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->setAddresses);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmePacketFilterSetReqSizeof(void *msg)
+{
+ CsrWifiSmePacketFilterSetReq *primitive = (CsrWifiSmePacketFilterSetReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrUint16 primitive->filterLength */
+ bufferSize += primitive->filterLength; /* CsrUint8 primitive->filter */
+ bufferSize += 1; /* CsrWifiSmePacketFilterMode primitive->mode */
+ bufferSize += 4; /* CsrUint8 primitive->arpFilterAddress.a[4] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePacketFilterSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePacketFilterSetReq *primitive = (CsrWifiSmePacketFilterSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->filterLength);
+ if (primitive->filterLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->filter, ((CsrUint16) (primitive->filterLength)));
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->mode);
+ CsrMemCpySer(ptr, len, (const void *) primitive->arpFilterAddress.a, ((CsrUint16) (4)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmePacketFilterSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePacketFilterSetReq *primitive = (CsrWifiSmePacketFilterSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmePacketFilterSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->filterLength, buffer, &offset);
+ if (primitive->filterLength)
+ {
+ primitive->filter = (CsrUint8 *)CsrPmemAlloc(primitive->filterLength);
+ CsrMemCpyDes(primitive->filter, buffer, &offset, ((CsrUint16) (primitive->filterLength)));
+ }
+ else
+ {
+ primitive->filter = NULL;
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->mode, buffer, &offset);
+ CsrMemCpyDes(primitive->arpFilterAddress.a, buffer, &offset, ((CsrUint16) (4)));
+
+ return primitive;
+}
+
+
+void CsrWifiSmePacketFilterSetReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmePacketFilterSetReq *primitive = (CsrWifiSmePacketFilterSetReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->filter);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmePmkidReqSizeof(void *msg)
+{
+ CsrWifiSmePmkidReq *primitive = (CsrWifiSmePmkidReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 29) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrUint8 primitive->setPmkidsCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setPmkidsCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->setPmkids[i1].bssid.a[6] */
+ bufferSize += 16; /* CsrUint8 primitive->setPmkids[i1].pmkid[16] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePmkidReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePmkidReq *primitive = (CsrWifiSmePmkidReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->setPmkidsCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setPmkidsCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->setPmkids[i1].bssid.a, ((CsrUint16) (6)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->setPmkids[i1].pmkid, ((CsrUint16) (16)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmePmkidReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePmkidReq *primitive = (CsrWifiSmePmkidReq *) CsrPmemAlloc(sizeof(CsrWifiSmePmkidReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->setPmkidsCount, buffer, &offset);
+ primitive->setPmkids = NULL;
+ if (primitive->setPmkidsCount)
+ {
+ primitive->setPmkids = (CsrWifiSmePmkid *)CsrPmemAlloc(sizeof(CsrWifiSmePmkid) * primitive->setPmkidsCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->setPmkidsCount; i1++)
+ {
+ CsrMemCpyDes(primitive->setPmkids[i1].bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrMemCpyDes(primitive->setPmkids[i1].pmkid, buffer, &offset, ((CsrUint16) (16)));
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmePmkidReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmePmkidReq *primitive = (CsrWifiSmePmkidReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->setPmkids);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmePowerConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 1; /* CsrWifiSmePowerSaveLevel primitive->powerConfig.powerSaveLevel */
+ bufferSize += 2; /* CsrUint16 primitive->powerConfig.listenIntervalTu */
+ bufferSize += 1; /* CsrBool primitive->powerConfig.rxDtims */
+ bufferSize += 1; /* CsrWifiSmeD3AutoScanMode primitive->powerConfig.d3AutoScanMode */
+ bufferSize += 1; /* CsrUint8 primitive->powerConfig.clientTrafficWindow */
+ bufferSize += 1; /* CsrBool primitive->powerConfig.opportunisticPowerSave */
+ bufferSize += 1; /* CsrBool primitive->powerConfig.noticeOfAbsence */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePowerConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePowerConfigSetReq *primitive = (CsrWifiSmePowerConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.powerSaveLevel);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->powerConfig.listenIntervalTu);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.rxDtims);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.d3AutoScanMode);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.clientTrafficWindow);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.opportunisticPowerSave);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.noticeOfAbsence);
+ return(ptr);
+}
+
+
+void* CsrWifiSmePowerConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePowerConfigSetReq *primitive = (CsrWifiSmePowerConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmePowerConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.powerSaveLevel, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->powerConfig.listenIntervalTu, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.rxDtims, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.d3AutoScanMode, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.clientTrafficWindow, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.opportunisticPowerSave, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.noticeOfAbsence, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeRoamingConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 70) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].rssiHighThreshold */
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].rssiLowThreshold */
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].snrHighThreshold */
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].snrLowThreshold */
+ }
+ }
+ bufferSize += 1; /* CsrBool primitive->roamingConfig.disableSmoothRoaming */
+ bufferSize += 1; /* CsrBool primitive->roamingConfig.disableRoamScans */
+ bufferSize += 1; /* CsrUint8 primitive->roamingConfig.reconnectLimit */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.reconnectLimitIntervalMs */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].intervalSeconds */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].validitySeconds */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeRoamingConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeRoamingConfigSetReq *primitive = (CsrWifiSmeRoamingConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].rssiHighThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].rssiLowThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].snrHighThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].snrLowThreshold);
+ }
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamingConfig.disableSmoothRoaming);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamingConfig.disableRoamScans);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamingConfig.reconnectLimit);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.reconnectLimitIntervalMs);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].intervalSeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].validitySeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu);
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeRoamingConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeRoamingConfigSetReq *primitive = (CsrWifiSmeRoamingConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeRoamingConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].rssiHighThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].rssiLowThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].snrHighThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].snrLowThreshold, buffer, &offset);
+ }
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->roamingConfig.disableSmoothRoaming, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->roamingConfig.disableRoamScans, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->roamingConfig.reconnectLimit, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.reconnectLimitIntervalMs, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].intervalSeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].validitySeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu, buffer, &offset);
+ }
+ }
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeScanConfigSetReqSizeof(void *msg)
+{
+ CsrWifiSmeScanConfigSetReq *primitive = (CsrWifiSmeScanConfigSetReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 63) */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 4; i2++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].intervalSeconds */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].validitySeconds */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu */
+ }
+ }
+ bufferSize += 1; /* CsrBool primitive->scanConfig.disableAutonomousScans */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.maxResults */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.highRssiThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.lowRssiThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.deltaRssiThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.highSnrThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.lowSnrThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.deltaSnrThreshold */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.passiveChannelListCount */
+ bufferSize += primitive->scanConfig.passiveChannelListCount; /* CsrUint8 primitive->scanConfig.passiveChannelList */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeScanConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeScanConfigSetReq *primitive = (CsrWifiSmeScanConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 4; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].intervalSeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].validitySeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu);
+ }
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.disableAutonomousScans);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.maxResults);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.highRssiThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.lowRssiThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.deltaRssiThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.highSnrThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.lowSnrThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.deltaSnrThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.passiveChannelListCount);
+ if (primitive->scanConfig.passiveChannelListCount)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanConfig.passiveChannelList, ((CsrUint16) (primitive->scanConfig.passiveChannelListCount)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeScanConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeScanConfigSetReq *primitive = (CsrWifiSmeScanConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeScanConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 4; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].intervalSeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].validitySeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu, buffer, &offset);
+ }
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.disableAutonomousScans, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.maxResults, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.highRssiThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.lowRssiThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.deltaRssiThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.highSnrThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.lowSnrThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.deltaSnrThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.passiveChannelListCount, buffer, &offset);
+ if (primitive->scanConfig.passiveChannelListCount)
+ {
+ primitive->scanConfig.passiveChannelList = (CsrUint8 *)CsrPmemAlloc(primitive->scanConfig.passiveChannelListCount);
+ CsrMemCpyDes(primitive->scanConfig.passiveChannelList, buffer, &offset, ((CsrUint16) (primitive->scanConfig.passiveChannelListCount)));
+ }
+ else
+ {
+ primitive->scanConfig.passiveChannelList = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeScanConfigSetReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeScanConfigSetReq *primitive = (CsrWifiSmeScanConfigSetReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->scanConfig.passiveChannelList);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeScanFullReqSizeof(void *msg)
+{
+ CsrWifiSmeScanFullReq *primitive = (CsrWifiSmeScanFullReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 52) */
+ bufferSize += 1; /* CsrUint8 primitive->ssidCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->ssidCount; i1++)
+ {
+ bufferSize += 32; /* CsrUint8 primitive->ssid[i1].ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->ssid[i1].length */
+ }
+ }
+ bufferSize += 6; /* CsrUint8 primitive->bssid.a[6] */
+ bufferSize += 1; /* CsrBool primitive->forceScan */
+ bufferSize += 1; /* CsrWifiSmeBssType primitive->bssType */
+ bufferSize += 1; /* CsrWifiSmeScanType primitive->scanType */
+ bufferSize += 2; /* CsrUint16 primitive->channelListCount */
+ bufferSize += primitive->channelListCount; /* CsrUint8 primitive->channelList */
+ bufferSize += 2; /* CsrUint16 primitive->probeIeLength */
+ bufferSize += primitive->probeIeLength; /* CsrUint8 primitive->probeIe */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeScanFullReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeScanFullReq *primitive = (CsrWifiSmeScanFullReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ssidCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->ssidCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->ssid[i1].ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ssid[i1].length);
+ }
+ }
+ CsrMemCpySer(ptr, len, (const void *) primitive->bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->forceScan);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->bssType);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanType);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->channelListCount);
+ if (primitive->channelListCount)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->channelList, ((CsrUint16) (primitive->channelListCount)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->probeIeLength);
+ if (primitive->probeIeLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->probeIe, ((CsrUint16) (primitive->probeIeLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeScanFullReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeScanFullReq *primitive = (CsrWifiSmeScanFullReq *) CsrPmemAlloc(sizeof(CsrWifiSmeScanFullReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ssidCount, buffer, &offset);
+ primitive->ssid = NULL;
+ if (primitive->ssidCount)
+ {
+ primitive->ssid = (CsrWifiSsid *)CsrPmemAlloc(sizeof(CsrWifiSsid) * primitive->ssidCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->ssidCount; i1++)
+ {
+ CsrMemCpyDes(primitive->ssid[i1].ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->ssid[i1].length, buffer, &offset);
+ }
+ }
+ CsrMemCpyDes(primitive->bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->forceScan, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->bssType, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanType, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->channelListCount, buffer, &offset);
+ if (primitive->channelListCount)
+ {
+ primitive->channelList = (CsrUint8 *)CsrPmemAlloc(primitive->channelListCount);
+ CsrMemCpyDes(primitive->channelList, buffer, &offset, ((CsrUint16) (primitive->channelListCount)));
+ }
+ else
+ {
+ primitive->channelList = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->probeIeLength, buffer, &offset);
+ if (primitive->probeIeLength)
+ {
+ primitive->probeIe = (CsrUint8 *)CsrPmemAlloc(primitive->probeIeLength);
+ CsrMemCpyDes(primitive->probeIe, buffer, &offset, ((CsrUint16) (primitive->probeIeLength)));
+ }
+ else
+ {
+ primitive->probeIe = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeScanFullReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeScanFullReq *primitive = (CsrWifiSmeScanFullReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->ssid);
+ CsrPmemFree(primitive->channelList);
+ CsrPmemFree(primitive->probeIe);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeSmeStaConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrUint8 primitive->smeConfig.connectionQualityRssiChangeTrigger */
+ bufferSize += 1; /* CsrUint8 primitive->smeConfig.connectionQualitySnrChangeTrigger */
+ bufferSize += 1; /* CsrUint8 primitive->smeConfig.wmmModeMask */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->smeConfig.ifIndex */
+ bufferSize += 1; /* CsrBool primitive->smeConfig.allowUnicastUseGroupCipher */
+ bufferSize += 1; /* CsrBool primitive->smeConfig.enableOpportunisticKeyCaching */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeSmeStaConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeSmeStaConfigSetReq *primitive = (CsrWifiSmeSmeStaConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.connectionQualityRssiChangeTrigger);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.connectionQualitySnrChangeTrigger);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.wmmModeMask);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.ifIndex);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.allowUnicastUseGroupCipher);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.enableOpportunisticKeyCaching);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeSmeStaConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeSmeStaConfigSetReq *primitive = (CsrWifiSmeSmeStaConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeSmeStaConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.connectionQualityRssiChangeTrigger, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.connectionQualitySnrChangeTrigger, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.wmmModeMask, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.ifIndex, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.allowUnicastUseGroupCipher, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.enableOpportunisticKeyCaching, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeTspecReqSizeof(void *msg)
+{
+ CsrWifiSmeTspecReq *primitive = (CsrWifiSmeTspecReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 18) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 4; /* CsrUint32 primitive->transactionId */
+ bufferSize += 1; /* CsrBool primitive->strict */
+ bufferSize += 1; /* CsrWifiSmeTspecCtrlMask primitive->ctrlMask */
+ bufferSize += 2; /* CsrUint16 primitive->tspecLength */
+ bufferSize += primitive->tspecLength; /* CsrUint8 primitive->tspec */
+ bufferSize += 2; /* CsrUint16 primitive->tclasLength */
+ bufferSize += primitive->tclasLength; /* CsrUint8 primitive->tclas */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeTspecReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeTspecReq *primitive = (CsrWifiSmeTspecReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->transactionId);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->strict);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ctrlMask);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->tspecLength);
+ if (primitive->tspecLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->tspec, ((CsrUint16) (primitive->tspecLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->tclasLength);
+ if (primitive->tclasLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->tclas, ((CsrUint16) (primitive->tclasLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeTspecReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeTspecReq *primitive = (CsrWifiSmeTspecReq *) CsrPmemAlloc(sizeof(CsrWifiSmeTspecReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->transactionId, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->strict, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ctrlMask, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->tspecLength, buffer, &offset);
+ if (primitive->tspecLength)
+ {
+ primitive->tspec = (CsrUint8 *)CsrPmemAlloc(primitive->tspecLength);
+ CsrMemCpyDes(primitive->tspec, buffer, &offset, ((CsrUint16) (primitive->tspecLength)));
+ }
+ else
+ {
+ primitive->tspec = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->tclasLength, buffer, &offset);
+ if (primitive->tclasLength)
+ {
+ primitive->tclas = (CsrUint8 *)CsrPmemAlloc(primitive->tclasLength);
+ CsrMemCpyDes(primitive->tclas, buffer, &offset, ((CsrUint16) (primitive->tclasLength)));
+ }
+ else
+ {
+ primitive->tclas = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeTspecReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeTspecReq *primitive = (CsrWifiSmeTspecReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->tspec);
+ CsrPmemFree(primitive->tclas);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeWifiFlightmodeReqSizeof(void *msg)
+{
+ CsrWifiSmeWifiFlightmodeReq *primitive = (CsrWifiSmeWifiFlightmodeReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 14) */
+ bufferSize += 6; /* CsrUint8 primitive->address.a[6] */
+ bufferSize += 2; /* CsrUint16 primitive->mibFilesCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->mibFiles[i1].length */
+ bufferSize += primitive->mibFiles[i1].length; /* CsrUint8 primitive->mibFiles[i1].data */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeWifiFlightmodeReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeWifiFlightmodeReq *primitive = (CsrWifiSmeWifiFlightmodeReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrMemCpySer(ptr, len, (const void *) primitive->address.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibFilesCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibFiles[i1].length);
+ if (primitive->mibFiles[i1].length)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibFiles[i1].data, ((CsrUint16) (primitive->mibFiles[i1].length)));
+ }
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeWifiFlightmodeReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeWifiFlightmodeReq *primitive = (CsrWifiSmeWifiFlightmodeReq *) CsrPmemAlloc(sizeof(CsrWifiSmeWifiFlightmodeReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrMemCpyDes(primitive->address.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->mibFilesCount, buffer, &offset);
+ primitive->mibFiles = NULL;
+ if (primitive->mibFilesCount)
+ {
+ primitive->mibFiles = (CsrWifiSmeDataBlock *)CsrPmemAlloc(sizeof(CsrWifiSmeDataBlock) * primitive->mibFilesCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->mibFiles[i1].length, buffer, &offset);
+ if (primitive->mibFiles[i1].length)
+ {
+ primitive->mibFiles[i1].data = (CsrUint8 *)CsrPmemAlloc(primitive->mibFiles[i1].length);
+ CsrMemCpyDes(primitive->mibFiles[i1].data, buffer, &offset, ((CsrUint16) (primitive->mibFiles[i1].length)));
+ }
+ else
+ {
+ primitive->mibFiles[i1].data = NULL;
+ }
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeWifiFlightmodeReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeWifiFlightmodeReq *primitive = (CsrWifiSmeWifiFlightmodeReq *) voidPrimitivePointer;
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ CsrPmemFree(primitive->mibFiles[i1].data);
+ }
+ }
+ CsrPmemFree(primitive->mibFiles);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeWifiOnReqSizeof(void *msg)
+{
+ CsrWifiSmeWifiOnReq *primitive = (CsrWifiSmeWifiOnReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 14) */
+ bufferSize += 6; /* CsrUint8 primitive->address.a[6] */
+ bufferSize += 2; /* CsrUint16 primitive->mibFilesCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->mibFiles[i1].length */
+ bufferSize += primitive->mibFiles[i1].length; /* CsrUint8 primitive->mibFiles[i1].data */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeWifiOnReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeWifiOnReq *primitive = (CsrWifiSmeWifiOnReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrMemCpySer(ptr, len, (const void *) primitive->address.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibFilesCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibFiles[i1].length);
+ if (primitive->mibFiles[i1].length)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibFiles[i1].data, ((CsrUint16) (primitive->mibFiles[i1].length)));
+ }
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeWifiOnReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeWifiOnReq *primitive = (CsrWifiSmeWifiOnReq *) CsrPmemAlloc(sizeof(CsrWifiSmeWifiOnReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrMemCpyDes(primitive->address.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->mibFilesCount, buffer, &offset);
+ primitive->mibFiles = NULL;
+ if (primitive->mibFilesCount)
+ {
+ primitive->mibFiles = (CsrWifiSmeDataBlock *)CsrPmemAlloc(sizeof(CsrWifiSmeDataBlock) * primitive->mibFilesCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->mibFiles[i1].length, buffer, &offset);
+ if (primitive->mibFiles[i1].length)
+ {
+ primitive->mibFiles[i1].data = (CsrUint8 *)CsrPmemAlloc(primitive->mibFiles[i1].length);
+ CsrMemCpyDes(primitive->mibFiles[i1].data, buffer, &offset, ((CsrUint16) (primitive->mibFiles[i1].length)));
+ }
+ else
+ {
+ primitive->mibFiles[i1].data = NULL;
+ }
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeWifiOnReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeWifiOnReq *primitive = (CsrWifiSmeWifiOnReq *) voidPrimitivePointer;
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->mibFilesCount; i1++)
+ {
+ CsrPmemFree(primitive->mibFiles[i1].data);
+ }
+ }
+ CsrPmemFree(primitive->mibFiles);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCloakedSsidsSetReqSizeof(void *msg)
+{
+ CsrWifiSmeCloakedSsidsSetReq *primitive = (CsrWifiSmeCloakedSsidsSetReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 37) */
+ bufferSize += 1; /* CsrUint8 primitive->cloakedSsids.cloakedSsidsCount */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->cloakedSsids.cloakedSsidsCount; i2++)
+ {
+ bufferSize += 32; /* CsrUint8 primitive->cloakedSsids.cloakedSsids[i2].ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->cloakedSsids.cloakedSsids[i2].length */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCloakedSsidsSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCloakedSsidsSetReq *primitive = (CsrWifiSmeCloakedSsidsSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->cloakedSsids.cloakedSsidsCount);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->cloakedSsids.cloakedSsidsCount; i2++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->cloakedSsids.cloakedSsids[i2].ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->cloakedSsids.cloakedSsids[i2].length);
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCloakedSsidsSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCloakedSsidsSetReq *primitive = (CsrWifiSmeCloakedSsidsSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeCloakedSsidsSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->cloakedSsids.cloakedSsidsCount, buffer, &offset);
+ primitive->cloakedSsids.cloakedSsids = NULL;
+ if (primitive->cloakedSsids.cloakedSsidsCount)
+ {
+ primitive->cloakedSsids.cloakedSsids = (CsrWifiSsid *)CsrPmemAlloc(sizeof(CsrWifiSsid) * primitive->cloakedSsids.cloakedSsidsCount);
+ }
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->cloakedSsids.cloakedSsidsCount; i2++)
+ {
+ CsrMemCpyDes(primitive->cloakedSsids.cloakedSsids[i2].ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->cloakedSsids.cloakedSsids[i2].length, buffer, &offset);
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeCloakedSsidsSetReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeCloakedSsidsSetReq *primitive = (CsrWifiSmeCloakedSsidsSetReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->cloakedSsids.cloakedSsids);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeSmeCommonConfigSetReqSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 1; /* CsrWifiSme80211dTrustLevel primitive->deviceConfig.trustLevel */
+ bufferSize += 2; /* CsrUint8 primitive->deviceConfig.countryCode[2] */
+ bufferSize += 1; /* CsrWifiSmeFirmwareDriverInterface primitive->deviceConfig.firmwareDriverInterface */
+ bufferSize += 1; /* CsrBool primitive->deviceConfig.enableStrictDraftN */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeSmeCommonConfigSetReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeSmeCommonConfigSetReq *primitive = (CsrWifiSmeSmeCommonConfigSetReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->deviceConfig.trustLevel);
+ CsrMemCpySer(ptr, len, (const void *) primitive->deviceConfig.countryCode, ((CsrUint16) (2)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->deviceConfig.firmwareDriverInterface);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->deviceConfig.enableStrictDraftN);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeSmeCommonConfigSetReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeSmeCommonConfigSetReq *primitive = (CsrWifiSmeSmeCommonConfigSetReq *) CsrPmemAlloc(sizeof(CsrWifiSmeSmeCommonConfigSetReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->deviceConfig.trustLevel, buffer, &offset);
+ CsrMemCpyDes(primitive->deviceConfig.countryCode, buffer, &offset, ((CsrUint16) (2)));
+ CsrUint8Des((CsrUint8 *) &primitive->deviceConfig.firmwareDriverInterface, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->deviceConfig.enableStrictDraftN, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeWpsConfigurationReqSizeof(void *msg)
+{
+ CsrWifiSmeWpsConfigurationReq *primitive = (CsrWifiSmeWpsConfigurationReq *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 240) */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.wpsVersion */
+ bufferSize += 16; /* CsrUint8 primitive->wpsConfig.uuid[16] */
+ bufferSize += 32; /* CsrUint8 primitive->wpsConfig.deviceName[32] */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.deviceNameLength */
+ bufferSize += 64; /* CsrUint8 primitive->wpsConfig.manufacturer[64] */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.manufacturerLength */
+ bufferSize += 32; /* CsrUint8 primitive->wpsConfig.modelName[32] */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.modelNameLength */
+ bufferSize += 32; /* CsrUint8 primitive->wpsConfig.modelNumber[32] */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.modelNumberLength */
+ bufferSize += 32; /* CsrUint8 primitive->wpsConfig.serialNumber[32] */
+ bufferSize += 8; /* CsrUint8 primitive->wpsConfig.primDeviceType.deviceDetails[8] */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.secondaryDeviceTypeCount */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->wpsConfig.secondaryDeviceTypeCount; i2++)
+ {
+ bufferSize += 8; /* CsrUint8 primitive->wpsConfig.secondaryDeviceType[i2].deviceDetails[8] */
+ }
+ }
+ bufferSize += 2; /* CsrWifiSmeWpsConfigTypeMask primitive->wpsConfig.configMethods */
+ bufferSize += 1; /* CsrUint8 primitive->wpsConfig.rfBands */
+ bufferSize += 4; /* CsrUint8 primitive->wpsConfig.osVersion[4] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeWpsConfigurationReqSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeWpsConfigurationReq *primitive = (CsrWifiSmeWpsConfigurationReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.wpsVersion);
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.uuid, ((CsrUint16) (16)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.deviceName, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.deviceNameLength);
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.manufacturer, ((CsrUint16) (64)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.manufacturerLength);
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.modelName, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.modelNameLength);
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.modelNumber, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.modelNumberLength);
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.serialNumber, ((CsrUint16) (32)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.primDeviceType.deviceDetails, ((CsrUint16) (8)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.secondaryDeviceTypeCount);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->wpsConfig.secondaryDeviceTypeCount; i2++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.secondaryDeviceType[i2].deviceDetails, ((CsrUint16) (8)));
+ }
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->wpsConfig.configMethods);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->wpsConfig.rfBands);
+ CsrMemCpySer(ptr, len, (const void *) primitive->wpsConfig.osVersion, ((CsrUint16) (4)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmeWpsConfigurationReqDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeWpsConfigurationReq *primitive = (CsrWifiSmeWpsConfigurationReq *) CsrPmemAlloc(sizeof(CsrWifiSmeWpsConfigurationReq));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.wpsVersion, buffer, &offset);
+ CsrMemCpyDes(primitive->wpsConfig.uuid, buffer, &offset, ((CsrUint16) (16)));
+ CsrMemCpyDes(primitive->wpsConfig.deviceName, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.deviceNameLength, buffer, &offset);
+ CsrMemCpyDes(primitive->wpsConfig.manufacturer, buffer, &offset, ((CsrUint16) (64)));
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.manufacturerLength, buffer, &offset);
+ CsrMemCpyDes(primitive->wpsConfig.modelName, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.modelNameLength, buffer, &offset);
+ CsrMemCpyDes(primitive->wpsConfig.modelNumber, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.modelNumberLength, buffer, &offset);
+ CsrMemCpyDes(primitive->wpsConfig.serialNumber, buffer, &offset, ((CsrUint16) (32)));
+ CsrMemCpyDes(primitive->wpsConfig.primDeviceType.deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.secondaryDeviceTypeCount, buffer, &offset);
+ primitive->wpsConfig.secondaryDeviceType = NULL;
+ if (primitive->wpsConfig.secondaryDeviceTypeCount)
+ {
+ primitive->wpsConfig.secondaryDeviceType = (CsrWifiSmeWpsDeviceType *)CsrPmemAlloc(sizeof(CsrWifiSmeWpsDeviceType) * primitive->wpsConfig.secondaryDeviceTypeCount);
+ }
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->wpsConfig.secondaryDeviceTypeCount; i2++)
+ {
+ CsrMemCpyDes(primitive->wpsConfig.secondaryDeviceType[i2].deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ }
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->wpsConfig.configMethods, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->wpsConfig.rfBands, buffer, &offset);
+ CsrMemCpyDes(primitive->wpsConfig.osVersion, buffer, &offset, ((CsrUint16) (4)));
+
+ return primitive;
+}
+
+
+void CsrWifiSmeWpsConfigurationReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeWpsConfigurationReq *primitive = (CsrWifiSmeWpsConfigurationReq *) voidPrimitivePointer;
+ CsrPmemFree(primitive->wpsConfig.secondaryDeviceType);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeAdhocConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.atimWindowTu */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.beaconPeriodTu */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.joinOnlyAttempts */
+ bufferSize += 2; /* CsrUint16 primitive->adHocConfig.joinAttemptIntervalMs */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeAdhocConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeAdhocConfigGetCfm *primitive = (CsrWifiSmeAdhocConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.atimWindowTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.beaconPeriodTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.joinOnlyAttempts);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->adHocConfig.joinAttemptIntervalMs);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeAdhocConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeAdhocConfigGetCfm *primitive = (CsrWifiSmeAdhocConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeAdhocConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.atimWindowTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.beaconPeriodTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.joinOnlyAttempts, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->adHocConfig.joinAttemptIntervalMs, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeAssociationCompleteIndSizeof(void *msg)
+{
+ CsrWifiSmeAssociationCompleteInd *primitive = (CsrWifiSmeAssociationCompleteInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 98) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 32; /* CsrUint8 primitive->connectionInfo.ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->connectionInfo.ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->connectionInfo.bssid.a[6] */
+ bufferSize += 1; /* CsrWifiSme80211NetworkType primitive->connectionInfo.networkType80211 */
+ bufferSize += 1; /* CsrUint8 primitive->connectionInfo.channelNumber */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.channelFrequency */
+ bufferSize += 2; /* CsrWifiSmeAuthMode primitive->connectionInfo.authMode */
+ bufferSize += 2; /* CsrWifiSmeEncryption primitive->connectionInfo.pairwiseCipher */
+ bufferSize += 2; /* CsrWifiSmeEncryption primitive->connectionInfo.groupCipher */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->connectionInfo.ifIndex */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.atimWindowTu */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.beaconPeriodTu */
+ bufferSize += 1; /* CsrBool primitive->connectionInfo.reassociation */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.beaconFrameLength */
+ bufferSize += primitive->connectionInfo.beaconFrameLength; /* CsrUint8 primitive->connectionInfo.beaconFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.associationReqFrameLength */
+ bufferSize += primitive->connectionInfo.associationReqFrameLength; /* CsrUint8 primitive->connectionInfo.associationReqFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.associationRspFrameLength */
+ bufferSize += primitive->connectionInfo.associationRspFrameLength; /* CsrUint8 primitive->connectionInfo.associationRspFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocScanInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocScanInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocScanInfoElements */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqCapabilities */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqListenIntervalTu */
+ bufferSize += 6; /* CsrUint8 primitive->connectionInfo.assocReqApAddress.a[6] */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocReqInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocReqInfoElements */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Result primitive->connectionInfo.assocRspResult */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspCapabilityInfo */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspAssociationId */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocRspInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocRspInfoElements */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Reason primitive->deauthReason */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeAssociationCompleteIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeAssociationCompleteInd *primitive = (CsrWifiSmeAssociationCompleteInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.networkType80211);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.channelNumber);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.channelFrequency);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.authMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.pairwiseCipher);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.groupCipher);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.ifIndex);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.atimWindowTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.beaconPeriodTu);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.reassociation);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.beaconFrameLength);
+ if (primitive->connectionInfo.beaconFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.beaconFrame, ((CsrUint16) (primitive->connectionInfo.beaconFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.associationReqFrameLength);
+ if (primitive->connectionInfo.associationReqFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.associationReqFrame, ((CsrUint16) (primitive->connectionInfo.associationReqFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.associationRspFrameLength);
+ if (primitive->connectionInfo.associationRspFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.associationRspFrame, ((CsrUint16) (primitive->connectionInfo.associationRspFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocScanInfoElementsLength);
+ if (primitive->connectionInfo.assocScanInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocScanInfoElements, ((CsrUint16) (primitive->connectionInfo.assocScanInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqCapabilities);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqListenIntervalTu);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocReqApAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqInfoElementsLength);
+ if (primitive->connectionInfo.assocReqInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocReqInfoElements, ((CsrUint16) (primitive->connectionInfo.assocReqInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspResult);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspCapabilityInfo);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspAssociationId);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspInfoElementsLength);
+ if (primitive->connectionInfo.assocRspInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocRspInfoElements, ((CsrUint16) (primitive->connectionInfo.assocRspInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->deauthReason);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeAssociationCompleteIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeAssociationCompleteInd *primitive = (CsrWifiSmeAssociationCompleteInd *) CsrPmemAlloc(sizeof(CsrWifiSmeAssociationCompleteInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.networkType80211, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.channelNumber, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.channelFrequency, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.authMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.pairwiseCipher, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.groupCipher, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.ifIndex, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.atimWindowTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.beaconPeriodTu, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.reassociation, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.beaconFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.beaconFrameLength)
+ {
+ primitive->connectionInfo.beaconFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.beaconFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.beaconFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.beaconFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.beaconFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.associationReqFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.associationReqFrameLength)
+ {
+ primitive->connectionInfo.associationReqFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.associationReqFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.associationReqFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.associationReqFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.associationReqFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.associationRspFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.associationRspFrameLength)
+ {
+ primitive->connectionInfo.associationRspFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.associationRspFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.associationRspFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.associationRspFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.associationRspFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocScanInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocScanInfoElementsLength)
+ {
+ primitive->connectionInfo.assocScanInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocScanInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocScanInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocScanInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocScanInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqCapabilities, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqListenIntervalTu, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.assocReqApAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocReqInfoElementsLength)
+ {
+ primitive->connectionInfo.assocReqInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocReqInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocReqInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocReqInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocReqInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspResult, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspCapabilityInfo, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspAssociationId, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocRspInfoElementsLength)
+ {
+ primitive->connectionInfo.assocRspInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocRspInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocRspInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocRspInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocRspInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->deauthReason, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeAssociationCompleteIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeAssociationCompleteInd *primitive = (CsrWifiSmeAssociationCompleteInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->connectionInfo.beaconFrame);
+ CsrPmemFree(primitive->connectionInfo.associationReqFrame);
+ CsrPmemFree(primitive->connectionInfo.associationRspFrame);
+ CsrPmemFree(primitive->connectionInfo.assocScanInfoElements);
+ CsrPmemFree(primitive->connectionInfo.assocReqInfoElements);
+ CsrPmemFree(primitive->connectionInfo.assocRspInfoElements);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeAssociationStartIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 44) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 6; /* CsrUint8 primitive->address.a[6] */
+ bufferSize += 32; /* CsrUint8 primitive->ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->ssid.length */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeAssociationStartIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeAssociationStartInd *primitive = (CsrWifiSmeAssociationStartInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrMemCpySer(ptr, len, (const void *) primitive->address.a, ((CsrUint16) (6)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ssid.length);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeAssociationStartIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeAssociationStartInd *primitive = (CsrWifiSmeAssociationStartInd *) CsrPmemAlloc(sizeof(CsrWifiSmeAssociationStartInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrMemCpyDes(primitive->address.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrMemCpyDes(primitive->ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->ssid.length, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeBlacklistCfmSizeof(void *msg)
+{
+ CsrWifiSmeBlacklistCfm *primitive = (CsrWifiSmeBlacklistCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrUint8 primitive->getAddressCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getAddressCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->getAddresses[i1].a[6] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeBlacklistCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeBlacklistCfm *primitive = (CsrWifiSmeBlacklistCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->getAddressCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getAddressCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->getAddresses[i1].a, ((CsrUint16) (6)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeBlacklistCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeBlacklistCfm *primitive = (CsrWifiSmeBlacklistCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeBlacklistCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->getAddressCount, buffer, &offset);
+ primitive->getAddresses = NULL;
+ if (primitive->getAddressCount)
+ {
+ primitive->getAddresses = (CsrWifiMacAddress *)CsrPmemAlloc(sizeof(CsrWifiMacAddress) * primitive->getAddressCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getAddressCount; i1++)
+ {
+ CsrMemCpyDes(primitive->getAddresses[i1].a, buffer, &offset, ((CsrUint16) (6)));
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeBlacklistCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeBlacklistCfm *primitive = (CsrWifiSmeBlacklistCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->getAddresses);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCalibrationDataGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeCalibrationDataGetCfm *primitive = (CsrWifiSmeCalibrationDataGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrUint16 primitive->calibrationDataLength */
+ bufferSize += primitive->calibrationDataLength; /* CsrUint8 primitive->calibrationData */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCalibrationDataGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCalibrationDataGetCfm *primitive = (CsrWifiSmeCalibrationDataGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->calibrationDataLength);
+ if (primitive->calibrationDataLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->calibrationData, ((CsrUint16) (primitive->calibrationDataLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCalibrationDataGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCalibrationDataGetCfm *primitive = (CsrWifiSmeCalibrationDataGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeCalibrationDataGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->calibrationDataLength, buffer, &offset);
+ if (primitive->calibrationDataLength)
+ {
+ primitive->calibrationData = (CsrUint8 *)CsrPmemAlloc(primitive->calibrationDataLength);
+ CsrMemCpyDes(primitive->calibrationData, buffer, &offset, ((CsrUint16) (primitive->calibrationDataLength)));
+ }
+ else
+ {
+ primitive->calibrationData = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeCalibrationDataGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeCalibrationDataGetCfm *primitive = (CsrWifiSmeCalibrationDataGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->calibrationData);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCcxConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrUint8 primitive->ccxConfig.keepAliveTimeMs */
+ bufferSize += 1; /* CsrBool primitive->ccxConfig.apRoamingEnabled */
+ bufferSize += 1; /* CsrUint8 primitive->ccxConfig.measurementsMask */
+ bufferSize += 1; /* CsrBool primitive->ccxConfig.ccxRadioMgtEnabled */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCcxConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCcxConfigGetCfm *primitive = (CsrWifiSmeCcxConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.keepAliveTimeMs);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.apRoamingEnabled);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.measurementsMask);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->ccxConfig.ccxRadioMgtEnabled);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCcxConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCcxConfigGetCfm *primitive = (CsrWifiSmeCcxConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeCcxConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.keepAliveTimeMs, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.apRoamingEnabled, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.measurementsMask, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->ccxConfig.ccxRadioMgtEnabled, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeCcxConfigSetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCcxConfigSetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCcxConfigSetCfm *primitive = (CsrWifiSmeCcxConfigSetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCcxConfigSetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCcxConfigSetCfm *primitive = (CsrWifiSmeCcxConfigSetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeCcxConfigSetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeCoexConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 31) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrBool primitive->coexConfig.coexEnableSchemeManagement */
+ bufferSize += 1; /* CsrBool primitive->coexConfig.coexPeriodicWakeHost */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexTrafficBurstyLatencyMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexTrafficContinuousLatencyMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexObexBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexObexBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpBrBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpBrBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpEdrBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexPagingBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexPagingBlackoutPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexInquiryBlackoutDurationMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexConfig.coexInquiryBlackoutPeriodMs */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCoexConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCoexConfigGetCfm *primitive = (CsrWifiSmeCoexConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexConfig.coexEnableSchemeManagement);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexConfig.coexPeriodicWakeHost);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexTrafficBurstyLatencyMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexTrafficContinuousLatencyMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexObexBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexObexBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpBrBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpBrBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpEdrBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexPagingBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexPagingBlackoutPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexInquiryBlackoutDurationMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexConfig.coexInquiryBlackoutPeriodMs);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCoexConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCoexConfigGetCfm *primitive = (CsrWifiSmeCoexConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeCoexConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexConfig.coexEnableSchemeManagement, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexConfig.coexPeriodicWakeHost, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexTrafficBurstyLatencyMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexTrafficContinuousLatencyMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexObexBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexObexBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpBrBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpBrBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpEdrBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexA2dpEdrBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexPagingBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexPagingBlackoutPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexInquiryBlackoutDurationMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexConfig.coexInquiryBlackoutPeriodMs, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeCoexInfoGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 24) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrBool primitive->coexInfo.hasTrafficData */
+ bufferSize += 1; /* CsrWifiSmeTrafficType primitive->coexInfo.currentTrafficType */
+ bufferSize += 2; /* CsrUint16 primitive->coexInfo.currentPeriodMs */
+ bufferSize += 1; /* CsrWifiSmePowerSaveLevel primitive->coexInfo.currentPowerSave */
+ bufferSize += 2; /* CsrUint16 primitive->coexInfo.currentCoexPeriodMs */
+ bufferSize += 2; /* CsrUint16 primitive->coexInfo.currentCoexLatencyMs */
+ bufferSize += 1; /* CsrBool primitive->coexInfo.hasBtDevice */
+ bufferSize += 4; /* CsrUint32 primitive->coexInfo.currentBlackoutDurationUs */
+ bufferSize += 4; /* CsrUint32 primitive->coexInfo.currentBlackoutPeriodUs */
+ bufferSize += 1; /* CsrWifiSmeCoexScheme primitive->coexInfo.currentCoexScheme */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCoexInfoGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCoexInfoGetCfm *primitive = (CsrWifiSmeCoexInfoGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexInfo.hasTrafficData);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexInfo.currentTrafficType);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexInfo.currentPeriodMs);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexInfo.currentPowerSave);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexInfo.currentCoexPeriodMs);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->coexInfo.currentCoexLatencyMs);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexInfo.hasBtDevice);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->coexInfo.currentBlackoutDurationUs);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->coexInfo.currentBlackoutPeriodUs);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->coexInfo.currentCoexScheme);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCoexInfoGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCoexInfoGetCfm *primitive = (CsrWifiSmeCoexInfoGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeCoexInfoGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexInfo.hasTrafficData, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexInfo.currentTrafficType, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexInfo.currentPeriodMs, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexInfo.currentPowerSave, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexInfo.currentCoexPeriodMs, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->coexInfo.currentCoexLatencyMs, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexInfo.hasBtDevice, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->coexInfo.currentBlackoutDurationUs, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->coexInfo.currentBlackoutPeriodUs, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->coexInfo.currentCoexScheme, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeConnectCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeConnectCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeConnectCfm *primitive = (CsrWifiSmeConnectCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeConnectCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeConnectCfm *primitive = (CsrWifiSmeConnectCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeConnectCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeConnectionConfigGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeConnectionConfigGetCfm *primitive = (CsrWifiSmeConnectionConfigGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 59) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 32; /* CsrUint8 primitive->connectionConfig.ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->connectionConfig.ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->connectionConfig.bssid.a[6] */
+ bufferSize += 1; /* CsrWifiSmeBssType primitive->connectionConfig.bssType */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->connectionConfig.ifIndex */
+ bufferSize += 1; /* CsrWifiSme80211PrivacyMode primitive->connectionConfig.privacyMode */
+ bufferSize += 2; /* CsrWifiSmeAuthModeMask primitive->connectionConfig.authModeMask */
+ bufferSize += 2; /* CsrWifiSmeEncryptionMask primitive->connectionConfig.encryptionModeMask */
+ bufferSize += 2; /* CsrUint16 primitive->connectionConfig.mlmeAssociateReqInformationElementsLength */
+ bufferSize += primitive->connectionConfig.mlmeAssociateReqInformationElementsLength; /* CsrUint8 primitive->connectionConfig.mlmeAssociateReqInformationElements */
+ bufferSize += 1; /* CsrWifiSmeWmmQosInfoMask primitive->connectionConfig.wmmQosInfo */
+ bufferSize += 1; /* CsrBool primitive->connectionConfig.adhocJoinOnly */
+ bufferSize += 1; /* CsrUint8 primitive->connectionConfig.adhocChannel */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeConnectionConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeConnectionConfigGetCfm *primitive = (CsrWifiSmeConnectionConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionConfig.ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionConfig.bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.bssType);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.ifIndex);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.privacyMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionConfig.authModeMask);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionConfig.encryptionModeMask);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionConfig.mlmeAssociateReqInformationElementsLength);
+ if (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionConfig.mlmeAssociateReqInformationElements, ((CsrUint16) (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)));
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.wmmQosInfo);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.adhocJoinOnly);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionConfig.adhocChannel);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeConnectionConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeConnectionConfigGetCfm *primitive = (CsrWifiSmeConnectionConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeConnectionConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionConfig.ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionConfig.bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.bssType, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.ifIndex, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.privacyMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionConfig.authModeMask, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionConfig.encryptionModeMask, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionConfig.mlmeAssociateReqInformationElementsLength, buffer, &offset);
+ if (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)
+ {
+ primitive->connectionConfig.mlmeAssociateReqInformationElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionConfig.mlmeAssociateReqInformationElementsLength);
+ CsrMemCpyDes(primitive->connectionConfig.mlmeAssociateReqInformationElements, buffer, &offset, ((CsrUint16) (primitive->connectionConfig.mlmeAssociateReqInformationElementsLength)));
+ }
+ else
+ {
+ primitive->connectionConfig.mlmeAssociateReqInformationElements = NULL;
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.wmmQosInfo, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.adhocJoinOnly, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionConfig.adhocChannel, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeConnectionConfigGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeConnectionConfigGetCfm *primitive = (CsrWifiSmeConnectionConfigGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->connectionConfig.mlmeAssociateReqInformationElements);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeConnectionInfoGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeConnectionInfoGetCfm *primitive = (CsrWifiSmeConnectionInfoGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 96) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 32; /* CsrUint8 primitive->connectionInfo.ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->connectionInfo.ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->connectionInfo.bssid.a[6] */
+ bufferSize += 1; /* CsrWifiSme80211NetworkType primitive->connectionInfo.networkType80211 */
+ bufferSize += 1; /* CsrUint8 primitive->connectionInfo.channelNumber */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.channelFrequency */
+ bufferSize += 2; /* CsrWifiSmeAuthMode primitive->connectionInfo.authMode */
+ bufferSize += 2; /* CsrWifiSmeEncryption primitive->connectionInfo.pairwiseCipher */
+ bufferSize += 2; /* CsrWifiSmeEncryption primitive->connectionInfo.groupCipher */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->connectionInfo.ifIndex */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.atimWindowTu */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.beaconPeriodTu */
+ bufferSize += 1; /* CsrBool primitive->connectionInfo.reassociation */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.beaconFrameLength */
+ bufferSize += primitive->connectionInfo.beaconFrameLength; /* CsrUint8 primitive->connectionInfo.beaconFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.associationReqFrameLength */
+ bufferSize += primitive->connectionInfo.associationReqFrameLength; /* CsrUint8 primitive->connectionInfo.associationReqFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.associationRspFrameLength */
+ bufferSize += primitive->connectionInfo.associationRspFrameLength; /* CsrUint8 primitive->connectionInfo.associationRspFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocScanInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocScanInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocScanInfoElements */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqCapabilities */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqListenIntervalTu */
+ bufferSize += 6; /* CsrUint8 primitive->connectionInfo.assocReqApAddress.a[6] */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocReqInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocReqInfoElements */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Result primitive->connectionInfo.assocRspResult */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspCapabilityInfo */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspAssociationId */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocRspInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocRspInfoElements */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeConnectionInfoGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeConnectionInfoGetCfm *primitive = (CsrWifiSmeConnectionInfoGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.networkType80211);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.channelNumber);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.channelFrequency);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.authMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.pairwiseCipher);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.groupCipher);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.ifIndex);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.atimWindowTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.beaconPeriodTu);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.reassociation);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.beaconFrameLength);
+ if (primitive->connectionInfo.beaconFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.beaconFrame, ((CsrUint16) (primitive->connectionInfo.beaconFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.associationReqFrameLength);
+ if (primitive->connectionInfo.associationReqFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.associationReqFrame, ((CsrUint16) (primitive->connectionInfo.associationReqFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.associationRspFrameLength);
+ if (primitive->connectionInfo.associationRspFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.associationRspFrame, ((CsrUint16) (primitive->connectionInfo.associationRspFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocScanInfoElementsLength);
+ if (primitive->connectionInfo.assocScanInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocScanInfoElements, ((CsrUint16) (primitive->connectionInfo.assocScanInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqCapabilities);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqListenIntervalTu);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocReqApAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqInfoElementsLength);
+ if (primitive->connectionInfo.assocReqInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocReqInfoElements, ((CsrUint16) (primitive->connectionInfo.assocReqInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspResult);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspCapabilityInfo);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspAssociationId);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspInfoElementsLength);
+ if (primitive->connectionInfo.assocRspInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocRspInfoElements, ((CsrUint16) (primitive->connectionInfo.assocRspInfoElementsLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeConnectionInfoGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeConnectionInfoGetCfm *primitive = (CsrWifiSmeConnectionInfoGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeConnectionInfoGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.networkType80211, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.channelNumber, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.channelFrequency, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.authMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.pairwiseCipher, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.groupCipher, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.ifIndex, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.atimWindowTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.beaconPeriodTu, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.reassociation, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.beaconFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.beaconFrameLength)
+ {
+ primitive->connectionInfo.beaconFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.beaconFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.beaconFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.beaconFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.beaconFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.associationReqFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.associationReqFrameLength)
+ {
+ primitive->connectionInfo.associationReqFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.associationReqFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.associationReqFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.associationReqFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.associationReqFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.associationRspFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.associationRspFrameLength)
+ {
+ primitive->connectionInfo.associationRspFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.associationRspFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.associationRspFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.associationRspFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.associationRspFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocScanInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocScanInfoElementsLength)
+ {
+ primitive->connectionInfo.assocScanInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocScanInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocScanInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocScanInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocScanInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqCapabilities, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqListenIntervalTu, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.assocReqApAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocReqInfoElementsLength)
+ {
+ primitive->connectionInfo.assocReqInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocReqInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocReqInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocReqInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocReqInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspResult, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspCapabilityInfo, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspAssociationId, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocRspInfoElementsLength)
+ {
+ primitive->connectionInfo.assocRspInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocRspInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocRspInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocRspInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocRspInfoElements = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeConnectionInfoGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeConnectionInfoGetCfm *primitive = (CsrWifiSmeConnectionInfoGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->connectionInfo.beaconFrame);
+ CsrPmemFree(primitive->connectionInfo.associationReqFrame);
+ CsrPmemFree(primitive->connectionInfo.associationRspFrame);
+ CsrPmemFree(primitive->connectionInfo.assocScanInfoElements);
+ CsrPmemFree(primitive->connectionInfo.assocReqInfoElements);
+ CsrPmemFree(primitive->connectionInfo.assocRspInfoElements);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeConnectionQualityIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrInt16 primitive->linkQuality.unifiRssi */
+ bufferSize += 2; /* CsrInt16 primitive->linkQuality.unifiSnr */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeConnectionQualityIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeConnectionQualityInd *primitive = (CsrWifiSmeConnectionQualityInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->linkQuality.unifiRssi);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->linkQuality.unifiSnr);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeConnectionQualityIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeConnectionQualityInd *primitive = (CsrWifiSmeConnectionQualityInd *) CsrPmemAlloc(sizeof(CsrWifiSmeConnectionQualityInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->linkQuality.unifiRssi, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->linkQuality.unifiSnr, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeConnectionStatsGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 101) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrUint8 primitive->connectionStats.unifiTxDataRate */
+ bufferSize += 1; /* CsrUint8 primitive->connectionStats.unifiRxDataRate */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RetryCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11MultipleRetryCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11AckFailureCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11FrameDuplicateCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11FcsErrorCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RtsSuccessCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RtsFailureCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11FailedCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11TransmittedFragmentCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11TransmittedFrameCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11WepExcludedCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11WepIcvErrorCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11WepUndecryptableCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11MulticastReceivedFrameCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11MulticastTransmittedFrameCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11ReceivedFragmentCount */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11Rsna4WayHandshakeFailures */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RsnaTkipCounterMeasuresInvoked */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RsnaStatsTkipLocalMicFailures */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RsnaStatsTkipReplays */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RsnaStatsTkipIcvErrors */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RsnaStatsCcmpReplays */
+ bufferSize += 4; /* CsrUint32 primitive->connectionStats.dot11RsnaStatsCcmpDecryptErrors */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeConnectionStatsGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeConnectionStatsGetCfm *primitive = (CsrWifiSmeConnectionStatsGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionStats.unifiTxDataRate);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionStats.unifiRxDataRate);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RetryCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11MultipleRetryCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11AckFailureCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11FrameDuplicateCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11FcsErrorCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RtsSuccessCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RtsFailureCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11FailedCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11TransmittedFragmentCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11TransmittedFrameCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11WepExcludedCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11WepIcvErrorCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11WepUndecryptableCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11MulticastReceivedFrameCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11MulticastTransmittedFrameCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11ReceivedFragmentCount);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11Rsna4WayHandshakeFailures);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RsnaTkipCounterMeasuresInvoked);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RsnaStatsTkipLocalMicFailures);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RsnaStatsTkipReplays);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RsnaStatsTkipIcvErrors);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RsnaStatsCcmpReplays);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->connectionStats.dot11RsnaStatsCcmpDecryptErrors);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeConnectionStatsGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeConnectionStatsGetCfm *primitive = (CsrWifiSmeConnectionStatsGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeConnectionStatsGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionStats.unifiTxDataRate, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionStats.unifiRxDataRate, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RetryCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11MultipleRetryCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11AckFailureCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11FrameDuplicateCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11FcsErrorCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RtsSuccessCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RtsFailureCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11FailedCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11TransmittedFragmentCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11TransmittedFrameCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11WepExcludedCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11WepIcvErrorCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11WepUndecryptableCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11MulticastReceivedFrameCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11MulticastTransmittedFrameCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11ReceivedFragmentCount, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11Rsna4WayHandshakeFailures, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RsnaTkipCounterMeasuresInvoked, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RsnaStatsTkipLocalMicFailures, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RsnaStatsTkipReplays, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RsnaStatsTkipIcvErrors, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RsnaStatsCcmpReplays, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->connectionStats.dot11RsnaStatsCcmpDecryptErrors, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeDisconnectCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeDisconnectCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeDisconnectCfm *primitive = (CsrWifiSmeDisconnectCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeDisconnectCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeDisconnectCfm *primitive = (CsrWifiSmeDisconnectCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeDisconnectCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeHostConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSmeHostPowerMode primitive->hostConfig.powerMode */
+ bufferSize += 2; /* CsrUint16 primitive->hostConfig.applicationDataPeriodMs */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeHostConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeHostConfigGetCfm *primitive = (CsrWifiSmeHostConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->hostConfig.powerMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->hostConfig.applicationDataPeriodMs);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeHostConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeHostConfigGetCfm *primitive = (CsrWifiSmeHostConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeHostConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->hostConfig.powerMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->hostConfig.applicationDataPeriodMs, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeHostConfigSetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeHostConfigSetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeHostConfigSetCfm *primitive = (CsrWifiSmeHostConfigSetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeHostConfigSetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeHostConfigSetCfm *primitive = (CsrWifiSmeHostConfigSetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeHostConfigSetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeIbssStationIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
+ bufferSize += 6; /* CsrUint8 primitive->address.a[6] */
+ bufferSize += 1; /* CsrBool primitive->isconnected */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeIbssStationIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeIbssStationInd *primitive = (CsrWifiSmeIbssStationInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrMemCpySer(ptr, len, (const void *) primitive->address.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->isconnected);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeIbssStationIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeIbssStationInd *primitive = (CsrWifiSmeIbssStationInd *) CsrPmemAlloc(sizeof(CsrWifiSmeIbssStationInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrMemCpyDes(primitive->address.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->isconnected, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeKeyCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrWifiSmeKeyType primitive->keyType */
+ bufferSize += 6; /* CsrUint8 primitive->peerMacAddress.a[6] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeKeyCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeKeyCfm *primitive = (CsrWifiSmeKeyCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->keyType);
+ CsrMemCpySer(ptr, len, (const void *) primitive->peerMacAddress.a, ((CsrUint16) (6)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmeKeyCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeKeyCfm *primitive = (CsrWifiSmeKeyCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeKeyCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->keyType, buffer, &offset);
+ CsrMemCpyDes(primitive->peerMacAddress.a, buffer, &offset, ((CsrUint16) (6)));
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeLinkQualityGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrInt16 primitive->linkQuality.unifiRssi */
+ bufferSize += 2; /* CsrInt16 primitive->linkQuality.unifiSnr */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeLinkQualityGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeLinkQualityGetCfm *primitive = (CsrWifiSmeLinkQualityGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->linkQuality.unifiRssi);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->linkQuality.unifiSnr);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeLinkQualityGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeLinkQualityGetCfm *primitive = (CsrWifiSmeLinkQualityGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeLinkQualityGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->linkQuality.unifiRssi, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->linkQuality.unifiSnr, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeMediaStatusIndSizeof(void *msg)
+{
+ CsrWifiSmeMediaStatusInd *primitive = (CsrWifiSmeMediaStatusInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 99) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeMediaStatus primitive->mediaStatus */
+ bufferSize += 32; /* CsrUint8 primitive->connectionInfo.ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->connectionInfo.ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->connectionInfo.bssid.a[6] */
+ bufferSize += 1; /* CsrWifiSme80211NetworkType primitive->connectionInfo.networkType80211 */
+ bufferSize += 1; /* CsrUint8 primitive->connectionInfo.channelNumber */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.channelFrequency */
+ bufferSize += 2; /* CsrWifiSmeAuthMode primitive->connectionInfo.authMode */
+ bufferSize += 2; /* CsrWifiSmeEncryption primitive->connectionInfo.pairwiseCipher */
+ bufferSize += 2; /* CsrWifiSmeEncryption primitive->connectionInfo.groupCipher */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->connectionInfo.ifIndex */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.atimWindowTu */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.beaconPeriodTu */
+ bufferSize += 1; /* CsrBool primitive->connectionInfo.reassociation */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.beaconFrameLength */
+ bufferSize += primitive->connectionInfo.beaconFrameLength; /* CsrUint8 primitive->connectionInfo.beaconFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.associationReqFrameLength */
+ bufferSize += primitive->connectionInfo.associationReqFrameLength; /* CsrUint8 primitive->connectionInfo.associationReqFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.associationRspFrameLength */
+ bufferSize += primitive->connectionInfo.associationRspFrameLength; /* CsrUint8 primitive->connectionInfo.associationRspFrame */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocScanInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocScanInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocScanInfoElements */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqCapabilities */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqListenIntervalTu */
+ bufferSize += 6; /* CsrUint8 primitive->connectionInfo.assocReqApAddress.a[6] */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocReqInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocReqInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocReqInfoElements */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Result primitive->connectionInfo.assocRspResult */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspCapabilityInfo */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspAssociationId */
+ bufferSize += 2; /* CsrUint16 primitive->connectionInfo.assocRspInfoElementsLength */
+ bufferSize += primitive->connectionInfo.assocRspInfoElementsLength; /* CsrUint8 primitive->connectionInfo.assocRspInfoElements */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Reason primitive->disassocReason */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Reason primitive->deauthReason */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMediaStatusIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMediaStatusInd *primitive = (CsrWifiSmeMediaStatusInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->mediaStatus);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.networkType80211);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.channelNumber);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.channelFrequency);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.authMode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.pairwiseCipher);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.groupCipher);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.ifIndex);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.atimWindowTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.beaconPeriodTu);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->connectionInfo.reassociation);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.beaconFrameLength);
+ if (primitive->connectionInfo.beaconFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.beaconFrame, ((CsrUint16) (primitive->connectionInfo.beaconFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.associationReqFrameLength);
+ if (primitive->connectionInfo.associationReqFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.associationReqFrame, ((CsrUint16) (primitive->connectionInfo.associationReqFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.associationRspFrameLength);
+ if (primitive->connectionInfo.associationRspFrameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.associationRspFrame, ((CsrUint16) (primitive->connectionInfo.associationRspFrameLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocScanInfoElementsLength);
+ if (primitive->connectionInfo.assocScanInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocScanInfoElements, ((CsrUint16) (primitive->connectionInfo.assocScanInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqCapabilities);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqListenIntervalTu);
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocReqApAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocReqInfoElementsLength);
+ if (primitive->connectionInfo.assocReqInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocReqInfoElements, ((CsrUint16) (primitive->connectionInfo.assocReqInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspResult);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspCapabilityInfo);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspAssociationId);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->connectionInfo.assocRspInfoElementsLength);
+ if (primitive->connectionInfo.assocRspInfoElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->connectionInfo.assocRspInfoElements, ((CsrUint16) (primitive->connectionInfo.assocRspInfoElementsLength)));
+ }
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->disassocReason);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->deauthReason);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMediaStatusIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMediaStatusInd *primitive = (CsrWifiSmeMediaStatusInd *) CsrPmemAlloc(sizeof(CsrWifiSmeMediaStatusInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->mediaStatus, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.networkType80211, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.channelNumber, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.channelFrequency, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.authMode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.pairwiseCipher, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.groupCipher, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.ifIndex, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.atimWindowTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.beaconPeriodTu, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->connectionInfo.reassociation, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.beaconFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.beaconFrameLength)
+ {
+ primitive->connectionInfo.beaconFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.beaconFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.beaconFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.beaconFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.beaconFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.associationReqFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.associationReqFrameLength)
+ {
+ primitive->connectionInfo.associationReqFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.associationReqFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.associationReqFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.associationReqFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.associationReqFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.associationRspFrameLength, buffer, &offset);
+ if (primitive->connectionInfo.associationRspFrameLength)
+ {
+ primitive->connectionInfo.associationRspFrame = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.associationRspFrameLength);
+ CsrMemCpyDes(primitive->connectionInfo.associationRspFrame, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.associationRspFrameLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.associationRspFrame = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocScanInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocScanInfoElementsLength)
+ {
+ primitive->connectionInfo.assocScanInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocScanInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocScanInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocScanInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocScanInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqCapabilities, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqListenIntervalTu, buffer, &offset);
+ CsrMemCpyDes(primitive->connectionInfo.assocReqApAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocReqInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocReqInfoElementsLength)
+ {
+ primitive->connectionInfo.assocReqInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocReqInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocReqInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocReqInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocReqInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspResult, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspCapabilityInfo, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspAssociationId, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->connectionInfo.assocRspInfoElementsLength, buffer, &offset);
+ if (primitive->connectionInfo.assocRspInfoElementsLength)
+ {
+ primitive->connectionInfo.assocRspInfoElements = (CsrUint8 *)CsrPmemAlloc(primitive->connectionInfo.assocRspInfoElementsLength);
+ CsrMemCpyDes(primitive->connectionInfo.assocRspInfoElements, buffer, &offset, ((CsrUint16) (primitive->connectionInfo.assocRspInfoElementsLength)));
+ }
+ else
+ {
+ primitive->connectionInfo.assocRspInfoElements = NULL;
+ }
+ CsrUint16Des((CsrUint16 *) &primitive->disassocReason, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->deauthReason, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMediaStatusIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMediaStatusInd *primitive = (CsrWifiSmeMediaStatusInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->connectionInfo.beaconFrame);
+ CsrPmemFree(primitive->connectionInfo.associationReqFrame);
+ CsrPmemFree(primitive->connectionInfo.associationRspFrame);
+ CsrPmemFree(primitive->connectionInfo.assocScanInfoElements);
+ CsrPmemFree(primitive->connectionInfo.assocReqInfoElements);
+ CsrPmemFree(primitive->connectionInfo.assocRspInfoElements);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeMibConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrBool primitive->mibConfig.unifiFixMaxTxDataRate */
+ bufferSize += 1; /* CsrUint8 primitive->mibConfig.unifiFixTxDataRate */
+ bufferSize += 2; /* CsrUint16 primitive->mibConfig.dot11RtsThreshold */
+ bufferSize += 2; /* CsrUint16 primitive->mibConfig.dot11FragmentationThreshold */
+ bufferSize += 2; /* CsrUint16 primitive->mibConfig.dot11CurrentTxPowerLevel */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibConfigGetCfm *primitive = (CsrWifiSmeMibConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->mibConfig.unifiFixMaxTxDataRate);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->mibConfig.unifiFixTxDataRate);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibConfig.dot11RtsThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibConfig.dot11FragmentationThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibConfig.dot11CurrentTxPowerLevel);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibConfigGetCfm *primitive = (CsrWifiSmeMibConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeMibConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->mibConfig.unifiFixMaxTxDataRate, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->mibConfig.unifiFixTxDataRate, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibConfig.dot11RtsThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibConfig.dot11FragmentationThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibConfig.dot11CurrentTxPowerLevel, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeMibGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeMibGetCfm *primitive = (CsrWifiSmeMibGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrUint16 primitive->mibAttributeLength */
+ bufferSize += primitive->mibAttributeLength; /* CsrUint8 primitive->mibAttribute */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibGetCfm *primitive = (CsrWifiSmeMibGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibAttributeLength);
+ if (primitive->mibAttributeLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibAttribute, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibGetCfm *primitive = (CsrWifiSmeMibGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeMibGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibAttributeLength, buffer, &offset);
+ if (primitive->mibAttributeLength)
+ {
+ primitive->mibAttribute = (CsrUint8 *)CsrPmemAlloc(primitive->mibAttributeLength);
+ CsrMemCpyDes(primitive->mibAttribute, buffer, &offset, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ else
+ {
+ primitive->mibAttribute = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMibGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMibGetCfm *primitive = (CsrWifiSmeMibGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->mibAttribute);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeMibGetNextCfmSizeof(void *msg)
+{
+ CsrWifiSmeMibGetNextCfm *primitive = (CsrWifiSmeMibGetNextCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrUint16 primitive->mibAttributeLength */
+ bufferSize += primitive->mibAttributeLength; /* CsrUint8 primitive->mibAttribute */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMibGetNextCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMibGetNextCfm *primitive = (CsrWifiSmeMibGetNextCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->mibAttributeLength);
+ if (primitive->mibAttributeLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->mibAttribute, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMibGetNextCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMibGetNextCfm *primitive = (CsrWifiSmeMibGetNextCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeMibGetNextCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->mibAttributeLength, buffer, &offset);
+ if (primitive->mibAttributeLength)
+ {
+ primitive->mibAttribute = (CsrUint8 *)CsrPmemAlloc(primitive->mibAttributeLength);
+ CsrMemCpyDes(primitive->mibAttribute, buffer, &offset, ((CsrUint16) (primitive->mibAttributeLength)));
+ }
+ else
+ {
+ primitive->mibAttribute = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMibGetNextCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMibGetNextCfm *primitive = (CsrWifiSmeMibGetNextCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->mibAttribute);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeMicFailureIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrBool primitive->secondFailure */
+ bufferSize += 2; /* CsrUint16 primitive->count */
+ bufferSize += 6; /* CsrUint8 primitive->address.a[6] */
+ bufferSize += 1; /* CsrWifiSmeKeyType primitive->keyType */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMicFailureIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMicFailureInd *primitive = (CsrWifiSmeMicFailureInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->secondFailure);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->count);
+ CsrMemCpySer(ptr, len, (const void *) primitive->address.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->keyType);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMicFailureIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMicFailureInd *primitive = (CsrWifiSmeMicFailureInd *) CsrPmemAlloc(sizeof(CsrWifiSmeMicFailureInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->secondFailure, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->count, buffer, &offset);
+ CsrMemCpyDes(primitive->address.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->keyType, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeMulticastAddressCfmSizeof(void *msg)
+{
+ CsrWifiSmeMulticastAddressCfm *primitive = (CsrWifiSmeMulticastAddressCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrUint8 primitive->getAddressesCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getAddressesCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->getAddresses[i1].a[6] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeMulticastAddressCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeMulticastAddressCfm *primitive = (CsrWifiSmeMulticastAddressCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->getAddressesCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getAddressesCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->getAddresses[i1].a, ((CsrUint16) (6)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeMulticastAddressCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeMulticastAddressCfm *primitive = (CsrWifiSmeMulticastAddressCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeMulticastAddressCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->getAddressesCount, buffer, &offset);
+ primitive->getAddresses = NULL;
+ if (primitive->getAddressesCount)
+ {
+ primitive->getAddresses = (CsrWifiMacAddress *)CsrPmemAlloc(sizeof(CsrWifiMacAddress) * primitive->getAddressesCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getAddressesCount; i1++)
+ {
+ CsrMemCpyDes(primitive->getAddresses[i1].a, buffer, &offset, ((CsrUint16) (6)));
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeMulticastAddressCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeMulticastAddressCfm *primitive = (CsrWifiSmeMulticastAddressCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->getAddresses);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmePacketFilterSetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePacketFilterSetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePacketFilterSetCfm *primitive = (CsrWifiSmePacketFilterSetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmePacketFilterSetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePacketFilterSetCfm *primitive = (CsrWifiSmePacketFilterSetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmePacketFilterSetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmePermanentMacAddressGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 11) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 6; /* CsrUint8 primitive->permanentMacAddress.a[6] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePermanentMacAddressGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePermanentMacAddressGetCfm *primitive = (CsrWifiSmePermanentMacAddressGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrMemCpySer(ptr, len, (const void *) primitive->permanentMacAddress.a, ((CsrUint16) (6)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmePermanentMacAddressGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePermanentMacAddressGetCfm *primitive = (CsrWifiSmePermanentMacAddressGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmePermanentMacAddressGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrMemCpyDes(primitive->permanentMacAddress.a, buffer, &offset, ((CsrUint16) (6)));
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmePmkidCandidateListIndSizeof(void *msg)
+{
+ CsrWifiSmePmkidCandidateListInd *primitive = (CsrWifiSmePmkidCandidateListInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrUint8 primitive->pmkidCandidatesCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->pmkidCandidatesCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->pmkidCandidates[i1].bssid.a[6] */
+ bufferSize += 1; /* CsrBool primitive->pmkidCandidates[i1].preAuthAllowed */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePmkidCandidateListIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePmkidCandidateListInd *primitive = (CsrWifiSmePmkidCandidateListInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->pmkidCandidatesCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->pmkidCandidatesCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->pmkidCandidates[i1].bssid.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->pmkidCandidates[i1].preAuthAllowed);
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmePmkidCandidateListIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePmkidCandidateListInd *primitive = (CsrWifiSmePmkidCandidateListInd *) CsrPmemAlloc(sizeof(CsrWifiSmePmkidCandidateListInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->pmkidCandidatesCount, buffer, &offset);
+ primitive->pmkidCandidates = NULL;
+ if (primitive->pmkidCandidatesCount)
+ {
+ primitive->pmkidCandidates = (CsrWifiSmePmkidCandidate *)CsrPmemAlloc(sizeof(CsrWifiSmePmkidCandidate) * primitive->pmkidCandidatesCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->pmkidCandidatesCount; i1++)
+ {
+ CsrMemCpyDes(primitive->pmkidCandidates[i1].bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->pmkidCandidates[i1].preAuthAllowed, buffer, &offset);
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmePmkidCandidateListIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmePmkidCandidateListInd *primitive = (CsrWifiSmePmkidCandidateListInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->pmkidCandidates);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmePmkidCfmSizeof(void *msg)
+{
+ CsrWifiSmePmkidCfm *primitive = (CsrWifiSmePmkidCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 31) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSmeListAction primitive->action */
+ bufferSize += 1; /* CsrUint8 primitive->getPmkidsCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getPmkidsCount; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->getPmkids[i1].bssid.a[6] */
+ bufferSize += 16; /* CsrUint8 primitive->getPmkids[i1].pmkid[16] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePmkidCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePmkidCfm *primitive = (CsrWifiSmePmkidCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->action);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->getPmkidsCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getPmkidsCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->getPmkids[i1].bssid.a, ((CsrUint16) (6)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->getPmkids[i1].pmkid, ((CsrUint16) (16)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmePmkidCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePmkidCfm *primitive = (CsrWifiSmePmkidCfm *) CsrPmemAlloc(sizeof(CsrWifiSmePmkidCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->action, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->getPmkidsCount, buffer, &offset);
+ primitive->getPmkids = NULL;
+ if (primitive->getPmkidsCount)
+ {
+ primitive->getPmkids = (CsrWifiSmePmkid *)CsrPmemAlloc(sizeof(CsrWifiSmePmkid) * primitive->getPmkidsCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->getPmkidsCount; i1++)
+ {
+ CsrMemCpyDes(primitive->getPmkids[i1].bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrMemCpyDes(primitive->getPmkids[i1].pmkid, buffer, &offset, ((CsrUint16) (16)));
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmePmkidCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmePmkidCfm *primitive = (CsrWifiSmePmkidCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->getPmkids);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmePowerConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSmePowerSaveLevel primitive->powerConfig.powerSaveLevel */
+ bufferSize += 2; /* CsrUint16 primitive->powerConfig.listenIntervalTu */
+ bufferSize += 1; /* CsrBool primitive->powerConfig.rxDtims */
+ bufferSize += 1; /* CsrWifiSmeD3AutoScanMode primitive->powerConfig.d3AutoScanMode */
+ bufferSize += 1; /* CsrUint8 primitive->powerConfig.clientTrafficWindow */
+ bufferSize += 1; /* CsrBool primitive->powerConfig.opportunisticPowerSave */
+ bufferSize += 1; /* CsrBool primitive->powerConfig.noticeOfAbsence */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmePowerConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmePowerConfigGetCfm *primitive = (CsrWifiSmePowerConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.powerSaveLevel);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->powerConfig.listenIntervalTu);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.rxDtims);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.d3AutoScanMode);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.clientTrafficWindow);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.opportunisticPowerSave);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->powerConfig.noticeOfAbsence);
+ return(ptr);
+}
+
+
+void* CsrWifiSmePowerConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmePowerConfigGetCfm *primitive = (CsrWifiSmePowerConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmePowerConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.powerSaveLevel, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->powerConfig.listenIntervalTu, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.rxDtims, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.d3AutoScanMode, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.clientTrafficWindow, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.opportunisticPowerSave, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->powerConfig.noticeOfAbsence, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeRegulatoryDomainInfoGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrBool primitive->regDomInfo.dot11MultiDomainCapabilityImplemented */
+ bufferSize += 1; /* CsrBool primitive->regDomInfo.dot11MultiDomainCapabilityEnabled */
+ bufferSize += 1; /* CsrWifiSmeRegulatoryDomain primitive->regDomInfo.currentRegulatoryDomain */
+ bufferSize += 2; /* CsrUint8 primitive->regDomInfo.currentCountryCode[2] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeRegulatoryDomainInfoGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeRegulatoryDomainInfoGetCfm *primitive = (CsrWifiSmeRegulatoryDomainInfoGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->regDomInfo.dot11MultiDomainCapabilityImplemented);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->regDomInfo.dot11MultiDomainCapabilityEnabled);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->regDomInfo.currentRegulatoryDomain);
+ CsrMemCpySer(ptr, len, (const void *) primitive->regDomInfo.currentCountryCode, ((CsrUint16) (2)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmeRegulatoryDomainInfoGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeRegulatoryDomainInfoGetCfm *primitive = (CsrWifiSmeRegulatoryDomainInfoGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeRegulatoryDomainInfoGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->regDomInfo.dot11MultiDomainCapabilityImplemented, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->regDomInfo.dot11MultiDomainCapabilityEnabled, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->regDomInfo.currentRegulatoryDomain, buffer, &offset);
+ CsrMemCpyDes(primitive->regDomInfo.currentCountryCode, buffer, &offset, ((CsrUint16) (2)));
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeRoamCompleteIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeRoamCompleteIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeRoamCompleteInd *primitive = (CsrWifiSmeRoamCompleteInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeRoamCompleteIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeRoamCompleteInd *primitive = (CsrWifiSmeRoamCompleteInd *) CsrPmemAlloc(sizeof(CsrWifiSmeRoamCompleteInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeRoamStartIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiSmeRoamReason primitive->roamReason */
+ bufferSize += 2; /* CsrWifiSmeIEEE80211Reason primitive->reason80211 */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeRoamStartIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeRoamStartInd *primitive = (CsrWifiSmeRoamStartInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamReason);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->reason80211);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeRoamStartIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeRoamStartInd *primitive = (CsrWifiSmeRoamStartInd *) CsrPmemAlloc(sizeof(CsrWifiSmeRoamStartInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->roamReason, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->reason80211, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeRoamingConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 72) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].rssiHighThreshold */
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].rssiLowThreshold */
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].snrHighThreshold */
+ bufferSize += 2; /* CsrInt16 primitive->roamingConfig.roamingBands[i2].snrLowThreshold */
+ }
+ }
+ bufferSize += 1; /* CsrBool primitive->roamingConfig.disableSmoothRoaming */
+ bufferSize += 1; /* CsrBool primitive->roamingConfig.disableRoamScans */
+ bufferSize += 1; /* CsrUint8 primitive->roamingConfig.reconnectLimit */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.reconnectLimitIntervalMs */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].intervalSeconds */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].validitySeconds */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeRoamingConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeRoamingConfigGetCfm *primitive = (CsrWifiSmeRoamingConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].rssiHighThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].rssiLowThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].snrHighThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamingBands[i2].snrLowThreshold);
+ }
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamingConfig.disableSmoothRoaming);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamingConfig.disableRoamScans);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->roamingConfig.reconnectLimit);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.reconnectLimitIntervalMs);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].intervalSeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].validitySeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu);
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeRoamingConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeRoamingConfigGetCfm *primitive = (CsrWifiSmeRoamingConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeRoamingConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].rssiHighThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].rssiLowThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].snrHighThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamingBands[i2].snrLowThreshold, buffer, &offset);
+ }
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->roamingConfig.disableSmoothRoaming, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->roamingConfig.disableRoamScans, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->roamingConfig.reconnectLimit, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.reconnectLimitIntervalMs, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 3; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].intervalSeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].validitySeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].minActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].maxActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].minPassiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->roamingConfig.roamScanCfg[i2].maxPassiveChannelTimeTu, buffer, &offset);
+ }
+ }
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeRoamingConfigSetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeRoamingConfigSetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeRoamingConfigSetCfm *primitive = (CsrWifiSmeRoamingConfigSetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeRoamingConfigSetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeRoamingConfigSetCfm *primitive = (CsrWifiSmeRoamingConfigSetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeRoamingConfigSetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeScanConfigGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeScanConfigGetCfm *primitive = (CsrWifiSmeScanConfigGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 65) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 4; i2++)
+ {
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].intervalSeconds */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].validitySeconds */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu */
+ }
+ }
+ bufferSize += 1; /* CsrBool primitive->scanConfig.disableAutonomousScans */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.maxResults */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.highRssiThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.lowRssiThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.deltaRssiThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.highSnrThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.lowSnrThreshold */
+ bufferSize += 1; /* CsrInt8 primitive->scanConfig.deltaSnrThreshold */
+ bufferSize += 2; /* CsrUint16 primitive->scanConfig.passiveChannelListCount */
+ bufferSize += primitive->scanConfig.passiveChannelListCount; /* CsrUint8 primitive->scanConfig.passiveChannelList */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeScanConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeScanConfigGetCfm *primitive = (CsrWifiSmeScanConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 4; i2++)
+ {
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].intervalSeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].validitySeconds);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu);
+ }
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.disableAutonomousScans);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.maxResults);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.highRssiThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.lowRssiThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.deltaRssiThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.highSnrThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.lowSnrThreshold);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanConfig.deltaSnrThreshold);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanConfig.passiveChannelListCount);
+ if (primitive->scanConfig.passiveChannelListCount)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanConfig.passiveChannelList, ((CsrUint16) (primitive->scanConfig.passiveChannelListCount)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeScanConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeScanConfigGetCfm *primitive = (CsrWifiSmeScanConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeScanConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < 4; i2++)
+ {
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].intervalSeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].validitySeconds, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].minActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].maxActiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].minPassiveChannelTimeTu, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.scanCfg[i2].maxPassiveChannelTimeTu, buffer, &offset);
+ }
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.disableAutonomousScans, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.maxResults, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.highRssiThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.lowRssiThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.deltaRssiThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.highSnrThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.lowSnrThreshold, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanConfig.deltaSnrThreshold, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanConfig.passiveChannelListCount, buffer, &offset);
+ if (primitive->scanConfig.passiveChannelListCount)
+ {
+ primitive->scanConfig.passiveChannelList = (CsrUint8 *)CsrPmemAlloc(primitive->scanConfig.passiveChannelListCount);
+ CsrMemCpyDes(primitive->scanConfig.passiveChannelList, buffer, &offset, ((CsrUint16) (primitive->scanConfig.passiveChannelListCount)));
+ }
+ else
+ {
+ primitive->scanConfig.passiveChannelList = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeScanConfigGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeScanConfigGetCfm *primitive = (CsrWifiSmeScanConfigGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->scanConfig.passiveChannelList);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeScanResultIndSizeof(void *msg)
+{
+ CsrWifiSmeScanResultInd *primitive = (CsrWifiSmeScanResultInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 149) */
+ bufferSize += 32; /* CsrUint8 primitive->result.ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->result.ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->result.bssid.a[6] */
+ bufferSize += 2; /* CsrInt16 primitive->result.rssi */
+ bufferSize += 2; /* CsrInt16 primitive->result.snr */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->result.ifIndex */
+ bufferSize += 2; /* CsrUint16 primitive->result.beaconPeriodTu */
+ bufferSize += 8; /* CsrUint8 primitive->result.timeStamp.data[8] */
+ bufferSize += 8; /* CsrUint8 primitive->result.localTime.data[8] */
+ bufferSize += 2; /* CsrUint16 primitive->result.channelFrequency */
+ bufferSize += 2; /* CsrUint16 primitive->result.capabilityInformation */
+ bufferSize += 1; /* CsrUint8 primitive->result.channelNumber */
+ bufferSize += 1; /* CsrWifiSmeBasicUsability primitive->result.usability */
+ bufferSize += 1; /* CsrWifiSmeBssType primitive->result.bssType */
+ bufferSize += 2; /* CsrUint16 primitive->result.informationElementsLength */
+ bufferSize += primitive->result.informationElementsLength; /* CsrUint8 primitive->result.informationElements */
+ bufferSize += 1; /* CsrWifiSmeP2pRole primitive->result.p2pDeviceRole */
+ switch (primitive->result.p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_CLI:
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.reservedCli.empty */
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ bufferSize += 1; /* CsrWifiSmeP2pGroupCapabilityMask primitive->result.deviceInfo.groupInfo.groupCapability */
+ bufferSize += 6; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2pDeviceAddress.a[6] */
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2pClientInfoCount */
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a[6] */
+ bufferSize += 6; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a[6] */
+ bufferSize += 2; /* CsrWifiSmeWpsConfigTypeMask primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods */
+ bufferSize += 1; /* CsrWifiSmeP2pCapabilityMask primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap */
+ bufferSize += 8; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails[8] */
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount */
+ {
+ CsrUint16 i6;
+ for (i6 = 0; i6 < primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount; i6++)
+ {
+ bufferSize += 8; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails[8] */
+ }
+ }
+ bufferSize += 32; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName[32] */
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength */
+ }
+ }
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_NONE:
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.reservedNone.empty */
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ bufferSize += 6; /* CsrUint8 primitive->result.deviceInfo.standalonedevInfo.deviceAddress.a[6] */
+ bufferSize += 2; /* CsrWifiSmeWpsConfigTypeMask primitive->result.deviceInfo.standalonedevInfo.configMethods */
+ bufferSize += 1; /* CsrWifiSmeP2pCapabilityMask primitive->result.deviceInfo.standalonedevInfo.p2PDeviceCap */
+ bufferSize += 8; /* CsrUint8 primitive->result.deviceInfo.standalonedevInfo.primDeviceType.deviceDetails[8] */
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount */
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount; i4++)
+ {
+ bufferSize += 8; /* CsrUint8 primitive->result.deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails[8] */
+ }
+ }
+ bufferSize += 32; /* CsrUint8 primitive->result.deviceInfo.standalonedevInfo.deviceName[32] */
+ bufferSize += 1; /* CsrUint8 primitive->result.deviceInfo.standalonedevInfo.deviceNameLength */
+ break;
+ default:
+ break;
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeScanResultIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeScanResultInd *primitive = (CsrWifiSmeScanResultInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.bssid.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.rssi);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.snr);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.ifIndex);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.beaconPeriodTu);
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.timeStamp.data, ((CsrUint16) (8)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.localTime.data, ((CsrUint16) (8)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.channelFrequency);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.capabilityInformation);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.channelNumber);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.usability);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.bssType);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.informationElementsLength);
+ if (primitive->result.informationElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.informationElements, ((CsrUint16) (primitive->result.informationElementsLength)));
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.p2pDeviceRole);
+ switch (primitive->result.p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_CLI:
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.reservedCli.empty);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.groupInfo.groupCapability);
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.groupInfo.p2pDeviceAddress.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.groupInfo.p2pClientInfoCount);
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a, ((CsrUint16) (6)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap);
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails, ((CsrUint16) (8)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount);
+ {
+ CsrUint16 i6;
+ for (i6 = 0; i6 < primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount; i6++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength);
+ }
+ }
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_NONE:
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.reservedNone.empty);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.standalonedevInfo.deviceAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->result.deviceInfo.standalonedevInfo.configMethods);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.standalonedevInfo.p2PDeviceCap);
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.standalonedevInfo.primDeviceType.deviceDetails, ((CsrUint16) (8)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount);
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount; i4++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpySer(ptr, len, (const void *) primitive->result.deviceInfo.standalonedevInfo.deviceName, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->result.deviceInfo.standalonedevInfo.deviceNameLength);
+ break;
+ default:
+ break;
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeScanResultIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeScanResultInd *primitive = (CsrWifiSmeScanResultInd *) CsrPmemAlloc(sizeof(CsrWifiSmeScanResultInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrMemCpyDes(primitive->result.ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->result.ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->result.bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->result.rssi, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->result.snr, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->result.ifIndex, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->result.beaconPeriodTu, buffer, &offset);
+ CsrMemCpyDes(primitive->result.timeStamp.data, buffer, &offset, ((CsrUint16) (8)));
+ CsrMemCpyDes(primitive->result.localTime.data, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint16Des((CsrUint16 *) &primitive->result.channelFrequency, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->result.capabilityInformation, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->result.channelNumber, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->result.usability, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->result.bssType, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->result.informationElementsLength, buffer, &offset);
+ if (primitive->result.informationElementsLength)
+ {
+ primitive->result.informationElements = (CsrUint8 *)CsrPmemAlloc(primitive->result.informationElementsLength);
+ CsrMemCpyDes(primitive->result.informationElements, buffer, &offset, ((CsrUint16) (primitive->result.informationElementsLength)));
+ }
+ else
+ {
+ primitive->result.informationElements = NULL;
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->result.p2pDeviceRole, buffer, &offset);
+ switch (primitive->result.p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_CLI:
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.reservedCli.empty, buffer, &offset);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.groupInfo.groupCapability, buffer, &offset);
+ CsrMemCpyDes(primitive->result.deviceInfo.groupInfo.p2pDeviceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.groupInfo.p2pClientInfoCount, buffer, &offset);
+ primitive->result.deviceInfo.groupInfo.p2PClientInfo = NULL;
+ if (primitive->result.deviceInfo.groupInfo.p2pClientInfoCount)
+ {
+ primitive->result.deviceInfo.groupInfo.p2PClientInfo = (CsrWifiSmeP2pClientInfoType *)CsrPmemAlloc(sizeof(CsrWifiSmeP2pClientInfoType) * primitive->result.deviceInfo.groupInfo.p2pClientInfoCount);
+ }
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ CsrMemCpyDes(primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrMemCpyDes(primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap, buffer, &offset);
+ CsrMemCpyDes(primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount, buffer, &offset);
+ primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType = NULL;
+ if (primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount)
+ {
+ primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType = (CsrWifiSmeWpsDeviceType *)CsrPmemAlloc(sizeof(CsrWifiSmeWpsDeviceType) * primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount);
+ }
+ {
+ CsrUint16 i6;
+ for (i6 = 0; i6 < primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount; i6++)
+ {
+ CsrMemCpyDes(primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpyDes(primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength, buffer, &offset);
+ }
+ }
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_NONE:
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.reservedNone.empty, buffer, &offset);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ CsrMemCpyDes(primitive->result.deviceInfo.standalonedevInfo.deviceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->result.deviceInfo.standalonedevInfo.configMethods, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.standalonedevInfo.p2PDeviceCap, buffer, &offset);
+ CsrMemCpyDes(primitive->result.deviceInfo.standalonedevInfo.primDeviceType.deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount, buffer, &offset);
+ primitive->result.deviceInfo.standalonedevInfo.secDeviceType = NULL;
+ if (primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount)
+ {
+ primitive->result.deviceInfo.standalonedevInfo.secDeviceType = (CsrWifiSmeWpsDeviceType *)CsrPmemAlloc(sizeof(CsrWifiSmeWpsDeviceType) * primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount);
+ }
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.standalonedevInfo.secondaryDeviceTypeCount; i4++)
+ {
+ CsrMemCpyDes(primitive->result.deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpyDes(primitive->result.deviceInfo.standalonedevInfo.deviceName, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->result.deviceInfo.standalonedevInfo.deviceNameLength, buffer, &offset);
+ break;
+ default:
+ break;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeScanResultIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeScanResultInd *primitive = (CsrWifiSmeScanResultInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->result.informationElements);
+ switch (primitive->result.p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->result.deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ CsrPmemFree(primitive->result.deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType);
+ }
+ }
+ CsrPmemFree(primitive->result.deviceInfo.groupInfo.p2PClientInfo);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ CsrPmemFree(primitive->result.deviceInfo.standalonedevInfo.secDeviceType);
+ break;
+ default:
+ break;
+ }
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeScanResultsGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeScanResultsGetCfm *primitive = (CsrWifiSmeScanResultsGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 153) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrUint16 primitive->scanResultsCount */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->scanResultsCount; i1++)
+ {
+ bufferSize += 32; /* CsrUint8 primitive->scanResults[i1].ssid.ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].ssid.length */
+ bufferSize += 6; /* CsrUint8 primitive->scanResults[i1].bssid.a[6] */
+ bufferSize += 2; /* CsrInt16 primitive->scanResults[i1].rssi */
+ bufferSize += 2; /* CsrInt16 primitive->scanResults[i1].snr */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->scanResults[i1].ifIndex */
+ bufferSize += 2; /* CsrUint16 primitive->scanResults[i1].beaconPeriodTu */
+ bufferSize += 8; /* CsrUint8 primitive->scanResults[i1].timeStamp.data[8] */
+ bufferSize += 8; /* CsrUint8 primitive->scanResults[i1].localTime.data[8] */
+ bufferSize += 2; /* CsrUint16 primitive->scanResults[i1].channelFrequency */
+ bufferSize += 2; /* CsrUint16 primitive->scanResults[i1].capabilityInformation */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].channelNumber */
+ bufferSize += 1; /* CsrWifiSmeBasicUsability primitive->scanResults[i1].usability */
+ bufferSize += 1; /* CsrWifiSmeBssType primitive->scanResults[i1].bssType */
+ bufferSize += 2; /* CsrUint16 primitive->scanResults[i1].informationElementsLength */
+ bufferSize += primitive->scanResults[i1].informationElementsLength; /* CsrUint8 primitive->scanResults[i1].informationElements */
+ bufferSize += 1; /* CsrWifiSmeP2pRole primitive->scanResults[i1].p2pDeviceRole */
+ switch (primitive->scanResults[i1].p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_CLI:
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.reservedCli.empty */
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ bufferSize += 1; /* CsrWifiSmeP2pGroupCapabilityMask primitive->scanResults[i1].deviceInfo.groupInfo.groupCapability */
+ bufferSize += 6; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2pDeviceAddress.a[6] */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount */
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a[6] */
+ bufferSize += 6; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a[6] */
+ bufferSize += 2; /* CsrWifiSmeWpsConfigTypeMask primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods */
+ bufferSize += 1; /* CsrWifiSmeP2pCapabilityMask primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap */
+ bufferSize += 8; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails[8] */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount */
+ {
+ CsrUint16 i6;
+ for (i6 = 0; i6 < primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount; i6++)
+ {
+ bufferSize += 8; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails[8] */
+ }
+ }
+ bufferSize += 32; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName[32] */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength */
+ }
+ }
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_NONE:
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.reservedNone.empty */
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ bufferSize += 6; /* CsrUint8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceAddress.a[6] */
+ bufferSize += 2; /* CsrWifiSmeWpsConfigTypeMask primitive->scanResults[i1].deviceInfo.standalonedevInfo.configMethods */
+ bufferSize += 1; /* CsrWifiSmeP2pCapabilityMask primitive->scanResults[i1].deviceInfo.standalonedevInfo.p2PDeviceCap */
+ bufferSize += 8; /* CsrUint8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.primDeviceType.deviceDetails[8] */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount */
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount; i4++)
+ {
+ bufferSize += 8; /* CsrUint8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails[8] */
+ }
+ }
+ bufferSize += 32; /* CsrUint8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceName[32] */
+ bufferSize += 1; /* CsrUint8 primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceNameLength */
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeScanResultsGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeScanResultsGetCfm *primitive = (CsrWifiSmeScanResultsGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResultsCount);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->scanResultsCount; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].ssid.ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].ssid.length);
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].bssid.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].rssi);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].snr);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].ifIndex);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].beaconPeriodTu);
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].timeStamp.data, ((CsrUint16) (8)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].localTime.data, ((CsrUint16) (8)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].channelFrequency);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].capabilityInformation);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].channelNumber);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].usability);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].bssType);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].informationElementsLength);
+ if (primitive->scanResults[i1].informationElementsLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].informationElements, ((CsrUint16) (primitive->scanResults[i1].informationElementsLength)));
+ }
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].p2pDeviceRole);
+ switch (primitive->scanResults[i1].p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_CLI:
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.reservedCli.empty);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.groupInfo.groupCapability);
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.groupInfo.p2pDeviceAddress.a, ((CsrUint16) (6)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount);
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a, ((CsrUint16) (6)));
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap);
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails, ((CsrUint16) (8)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount);
+ {
+ CsrUint16 i6;
+ for (i6 = 0; i6 < primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount; i6++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength);
+ }
+ }
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_NONE:
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.reservedNone.empty);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceAddress.a, ((CsrUint16) (6)));
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->scanResults[i1].deviceInfo.standalonedevInfo.configMethods);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.standalonedevInfo.p2PDeviceCap);
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.standalonedevInfo.primDeviceType.deviceDetails, ((CsrUint16) (8)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount);
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount; i4++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpySer(ptr, len, (const void *) primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceName, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceNameLength);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeScanResultsGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeScanResultsGetCfm *primitive = (CsrWifiSmeScanResultsGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeScanResultsGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanResultsCount, buffer, &offset);
+ primitive->scanResults = NULL;
+ if (primitive->scanResultsCount)
+ {
+ primitive->scanResults = (CsrWifiSmeScanResult *)CsrPmemAlloc(sizeof(CsrWifiSmeScanResult) * primitive->scanResultsCount);
+ }
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->scanResultsCount; i1++)
+ {
+ CsrMemCpyDes(primitive->scanResults[i1].ssid.ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].ssid.length, buffer, &offset);
+ CsrMemCpyDes(primitive->scanResults[i1].bssid.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].rssi, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].snr, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].ifIndex, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].beaconPeriodTu, buffer, &offset);
+ CsrMemCpyDes(primitive->scanResults[i1].timeStamp.data, buffer, &offset, ((CsrUint16) (8)));
+ CsrMemCpyDes(primitive->scanResults[i1].localTime.data, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].channelFrequency, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].capabilityInformation, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].channelNumber, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].usability, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].bssType, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].informationElementsLength, buffer, &offset);
+ if (primitive->scanResults[i1].informationElementsLength)
+ {
+ primitive->scanResults[i1].informationElements = (CsrUint8 *)CsrPmemAlloc(primitive->scanResults[i1].informationElementsLength);
+ CsrMemCpyDes(primitive->scanResults[i1].informationElements, buffer, &offset, ((CsrUint16) (primitive->scanResults[i1].informationElementsLength)));
+ }
+ else
+ {
+ primitive->scanResults[i1].informationElements = NULL;
+ }
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].p2pDeviceRole, buffer, &offset);
+ switch (primitive->scanResults[i1].p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_CLI:
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.reservedCli.empty, buffer, &offset);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.groupInfo.groupCapability, buffer, &offset);
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.groupInfo.p2pDeviceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount, buffer, &offset);
+ primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo = NULL;
+ if (primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount)
+ {
+ primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo = (CsrWifiSmeP2pClientInfoType *)CsrPmemAlloc(sizeof(CsrWifiSmeP2pClientInfoType) * primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount);
+ }
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].p2PClientInterfaceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.configMethods, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.p2PDeviceCap, buffer, &offset);
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.primDeviceType.deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount, buffer, &offset);
+ primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType = NULL;
+ if (primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount)
+ {
+ primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType = (CsrWifiSmeWpsDeviceType *)CsrPmemAlloc(sizeof(CsrWifiSmeWpsDeviceType) * primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount);
+ }
+ {
+ CsrUint16 i6;
+ for (i6 = 0; i6 < primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secondaryDeviceTypeCount; i6++)
+ {
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType[i6].deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceName, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.deviceNameLength, buffer, &offset);
+ }
+ }
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_NONE:
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.reservedNone.empty, buffer, &offset);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceAddress.a, buffer, &offset, ((CsrUint16) (6)));
+ CsrUint16Des((CsrUint16 *) &primitive->scanResults[i1].deviceInfo.standalonedevInfo.configMethods, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.standalonedevInfo.p2PDeviceCap, buffer, &offset);
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.standalonedevInfo.primDeviceType.deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount, buffer, &offset);
+ primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType = NULL;
+ if (primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount)
+ {
+ primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType = (CsrWifiSmeWpsDeviceType *)CsrPmemAlloc(sizeof(CsrWifiSmeWpsDeviceType) * primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount);
+ }
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.standalonedevInfo.secondaryDeviceTypeCount; i4++)
+ {
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType[i4].deviceDetails, buffer, &offset, ((CsrUint16) (8)));
+ }
+ }
+ CsrMemCpyDes(primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceName, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->scanResults[i1].deviceInfo.standalonedevInfo.deviceNameLength, buffer, &offset);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeScanResultsGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeScanResultsGetCfm *primitive = (CsrWifiSmeScanResultsGetCfm *) voidPrimitivePointer;
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < primitive->scanResultsCount; i1++)
+ {
+ CsrPmemFree(primitive->scanResults[i1].informationElements);
+ switch (primitive->scanResults[i1].p2pDeviceRole)
+ {
+ case CSR_WIFI_SME_P2P_ROLE_GO:
+ {
+ CsrUint16 i4;
+ for (i4 = 0; i4 < primitive->scanResults[i1].deviceInfo.groupInfo.p2pClientInfoCount; i4++)
+ {
+ CsrPmemFree(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo[i4].clientDeviceInfo.secDeviceType);
+ }
+ }
+ CsrPmemFree(primitive->scanResults[i1].deviceInfo.groupInfo.p2PClientInfo);
+ break;
+ case CSR_WIFI_SME_P2P_ROLE_STANDALONE:
+ CsrPmemFree(primitive->scanResults[i1].deviceInfo.standalonedevInfo.secDeviceType);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ CsrPmemFree(primitive->scanResults);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeSmeStaConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrUint8 primitive->smeConfig.connectionQualityRssiChangeTrigger */
+ bufferSize += 1; /* CsrUint8 primitive->smeConfig.connectionQualitySnrChangeTrigger */
+ bufferSize += 1; /* CsrUint8 primitive->smeConfig.wmmModeMask */
+ bufferSize += 1; /* CsrWifiSmeRadioIF primitive->smeConfig.ifIndex */
+ bufferSize += 1; /* CsrBool primitive->smeConfig.allowUnicastUseGroupCipher */
+ bufferSize += 1; /* CsrBool primitive->smeConfig.enableOpportunisticKeyCaching */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeSmeStaConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeSmeStaConfigGetCfm *primitive = (CsrWifiSmeSmeStaConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.connectionQualityRssiChangeTrigger);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.connectionQualitySnrChangeTrigger);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.wmmModeMask);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.ifIndex);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.allowUnicastUseGroupCipher);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->smeConfig.enableOpportunisticKeyCaching);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeSmeStaConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeSmeStaConfigGetCfm *primitive = (CsrWifiSmeSmeStaConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeSmeStaConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.connectionQualityRssiChangeTrigger, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.connectionQualitySnrChangeTrigger, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.wmmModeMask, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.ifIndex, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.allowUnicastUseGroupCipher, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->smeConfig.enableOpportunisticKeyCaching, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeSmeStaConfigSetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeSmeStaConfigSetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeSmeStaConfigSetCfm *primitive = (CsrWifiSmeSmeStaConfigSetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeSmeStaConfigSetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeSmeStaConfigSetCfm *primitive = (CsrWifiSmeSmeStaConfigSetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeSmeStaConfigSetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeStationMacAddressGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < 2; i1++)
+ {
+ bufferSize += 6; /* CsrUint8 primitive->stationMacAddress[i1].a[6] */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeStationMacAddressGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeStationMacAddressGetCfm *primitive = (CsrWifiSmeStationMacAddressGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < 2; i1++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->stationMacAddress[i1].a, ((CsrUint16) (6)));
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeStationMacAddressGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeStationMacAddressGetCfm *primitive = (CsrWifiSmeStationMacAddressGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeStationMacAddressGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ {
+ CsrUint16 i1;
+ for (i1 = 0; i1 < 2; i1++)
+ {
+ CsrMemCpyDes(primitive->stationMacAddress[i1].a, buffer, &offset, ((CsrUint16) (6)));
+ }
+ }
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeTspecIndSizeof(void *msg)
+{
+ CsrWifiSmeTspecInd *primitive = (CsrWifiSmeTspecInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 4; /* CsrUint32 primitive->transactionId */
+ bufferSize += 1; /* CsrWifiSmeTspecResultCode primitive->tspecResultCode */
+ bufferSize += 2; /* CsrUint16 primitive->tspecLength */
+ bufferSize += primitive->tspecLength; /* CsrUint8 primitive->tspec */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeTspecIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeTspecInd *primitive = (CsrWifiSmeTspecInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->transactionId);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->tspecResultCode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->tspecLength);
+ if (primitive->tspecLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->tspec, ((CsrUint16) (primitive->tspecLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeTspecIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeTspecInd *primitive = (CsrWifiSmeTspecInd *) CsrPmemAlloc(sizeof(CsrWifiSmeTspecInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->transactionId, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->tspecResultCode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->tspecLength, buffer, &offset);
+ if (primitive->tspecLength)
+ {
+ primitive->tspec = (CsrUint8 *)CsrPmemAlloc(primitive->tspecLength);
+ CsrMemCpyDes(primitive->tspec, buffer, &offset, ((CsrUint16) (primitive->tspecLength)));
+ }
+ else
+ {
+ primitive->tspec = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeTspecIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeTspecInd *primitive = (CsrWifiSmeTspecInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->tspec);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeTspecCfmSizeof(void *msg)
+{
+ CsrWifiSmeTspecCfm *primitive = (CsrWifiSmeTspecCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 15) */
+ bufferSize += 2; /* CsrUint16 primitive->interfaceTag */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 4; /* CsrUint32 primitive->transactionId */
+ bufferSize += 1; /* CsrWifiSmeTspecResultCode primitive->tspecResultCode */
+ bufferSize += 2; /* CsrUint16 primitive->tspecLength */
+ bufferSize += primitive->tspecLength; /* CsrUint8 primitive->tspec */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeTspecCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeTspecCfm *primitive = (CsrWifiSmeTspecCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->transactionId);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->tspecResultCode);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->tspecLength);
+ if (primitive->tspecLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->tspec, ((CsrUint16) (primitive->tspecLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeTspecCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeTspecCfm *primitive = (CsrWifiSmeTspecCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeTspecCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->transactionId, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->tspecResultCode, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->tspecLength, buffer, &offset);
+ if (primitive->tspecLength)
+ {
+ primitive->tspec = (CsrUint8 *)CsrPmemAlloc(primitive->tspecLength);
+ CsrMemCpyDes(primitive->tspec, buffer, &offset, ((CsrUint16) (primitive->tspecLength)));
+ }
+ else
+ {
+ primitive->tspec = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeTspecCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeTspecCfm *primitive = (CsrWifiSmeTspecCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->tspec);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeVersionsGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeVersionsGetCfm *primitive = (CsrWifiSmeVersionsGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 33) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 4; /* CsrUint32 primitive->versions.chipId */
+ bufferSize += 4; /* CsrUint32 primitive->versions.chipVersion */
+ bufferSize += 4; /* CsrUint32 primitive->versions.firmwareBuild */
+ bufferSize += 4; /* CsrUint32 primitive->versions.firmwarePatch */
+ bufferSize += 4; /* CsrUint32 primitive->versions.firmwareHip */
+ bufferSize += (primitive->versions.routerBuild?CsrStrLen(primitive->versions.routerBuild) : 0) + 1; /* CsrCharString* primitive->versions.routerBuild (0 byte len + 1 for NULL Term) */
+ bufferSize += 4; /* CsrUint32 primitive->versions.routerHip */
+ bufferSize += (primitive->versions.smeBuild?CsrStrLen(primitive->versions.smeBuild) : 0) + 1; /* CsrCharString* primitive->versions.smeBuild (0 byte len + 1 for NULL Term) */
+ bufferSize += 4; /* CsrUint32 primitive->versions.smeHip */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeVersionsGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeVersionsGetCfm *primitive = (CsrWifiSmeVersionsGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.chipId);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.chipVersion);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.firmwareBuild);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.firmwarePatch);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.firmwareHip);
+ CsrCharStringSer(ptr, len, primitive->versions.routerBuild);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.routerHip);
+ CsrCharStringSer(ptr, len, primitive->versions.smeBuild);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->versions.smeHip);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeVersionsGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeVersionsGetCfm *primitive = (CsrWifiSmeVersionsGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeVersionsGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.chipId, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.chipVersion, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.firmwareBuild, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.firmwarePatch, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.firmwareHip, buffer, &offset);
+ CsrCharStringDes(&primitive->versions.routerBuild, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.routerHip, buffer, &offset);
+ CsrCharStringDes(&primitive->versions.smeBuild, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->versions.smeHip, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeVersionsGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeVersionsGetCfm *primitive = (CsrWifiSmeVersionsGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->versions.routerBuild);
+ CsrPmemFree(primitive->versions.smeBuild);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCloakedSsidsGetCfmSizeof(void *msg)
+{
+ CsrWifiSmeCloakedSsidsGetCfm *primitive = (CsrWifiSmeCloakedSsidsGetCfm *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 39) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrUint8 primitive->cloakedSsids.cloakedSsidsCount */
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->cloakedSsids.cloakedSsidsCount; i2++)
+ {
+ bufferSize += 32; /* CsrUint8 primitive->cloakedSsids.cloakedSsids[i2].ssid[32] */
+ bufferSize += 1; /* CsrUint8 primitive->cloakedSsids.cloakedSsids[i2].length */
+ }
+ }
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCloakedSsidsGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCloakedSsidsGetCfm *primitive = (CsrWifiSmeCloakedSsidsGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->cloakedSsids.cloakedSsidsCount);
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->cloakedSsids.cloakedSsidsCount; i2++)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->cloakedSsids.cloakedSsids[i2].ssid, ((CsrUint16) (32)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->cloakedSsids.cloakedSsids[i2].length);
+ }
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCloakedSsidsGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCloakedSsidsGetCfm *primitive = (CsrWifiSmeCloakedSsidsGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeCloakedSsidsGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->cloakedSsids.cloakedSsidsCount, buffer, &offset);
+ primitive->cloakedSsids.cloakedSsids = NULL;
+ if (primitive->cloakedSsids.cloakedSsidsCount)
+ {
+ primitive->cloakedSsids.cloakedSsids = (CsrWifiSsid *)CsrPmemAlloc(sizeof(CsrWifiSsid) * primitive->cloakedSsids.cloakedSsidsCount);
+ }
+ {
+ CsrUint16 i2;
+ for (i2 = 0; i2 < primitive->cloakedSsids.cloakedSsidsCount; i2++)
+ {
+ CsrMemCpyDes(primitive->cloakedSsids.cloakedSsids[i2].ssid, buffer, &offset, ((CsrUint16) (32)));
+ CsrUint8Des((CsrUint8 *) &primitive->cloakedSsids.cloakedSsids[i2].length, buffer, &offset);
+ }
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeCloakedSsidsGetCfmSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeCloakedSsidsGetCfm *primitive = (CsrWifiSmeCloakedSsidsGetCfm *) voidPrimitivePointer;
+ CsrPmemFree(primitive->cloakedSsids.cloakedSsids);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeWifiOnIndSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
+ bufferSize += 6; /* CsrUint8 primitive->address.a[6] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeWifiOnIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeWifiOnInd *primitive = (CsrWifiSmeWifiOnInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrMemCpySer(ptr, len, (const void *) primitive->address.a, ((CsrUint16) (6)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmeWifiOnIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeWifiOnInd *primitive = (CsrWifiSmeWifiOnInd *) CsrPmemAlloc(sizeof(CsrWifiSmeWifiOnInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrMemCpyDes(primitive->address.a, buffer, &offset, ((CsrUint16) (6)));
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeSmeCommonConfigGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 1; /* CsrWifiSme80211dTrustLevel primitive->deviceConfig.trustLevel */
+ bufferSize += 2; /* CsrUint8 primitive->deviceConfig.countryCode[2] */
+ bufferSize += 1; /* CsrWifiSmeFirmwareDriverInterface primitive->deviceConfig.firmwareDriverInterface */
+ bufferSize += 1; /* CsrBool primitive->deviceConfig.enableStrictDraftN */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeSmeCommonConfigGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeSmeCommonConfigGetCfm *primitive = (CsrWifiSmeSmeCommonConfigGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->deviceConfig.trustLevel);
+ CsrMemCpySer(ptr, len, (const void *) primitive->deviceConfig.countryCode, ((CsrUint16) (2)));
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->deviceConfig.firmwareDriverInterface);
+ CsrUint8Ser(ptr, len, (CsrUint8) primitive->deviceConfig.enableStrictDraftN);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeSmeCommonConfigGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeSmeCommonConfigGetCfm *primitive = (CsrWifiSmeSmeCommonConfigGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeSmeCommonConfigGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->deviceConfig.trustLevel, buffer, &offset);
+ CsrMemCpyDes(primitive->deviceConfig.countryCode, buffer, &offset, ((CsrUint16) (2)));
+ CsrUint8Des((CsrUint8 *) &primitive->deviceConfig.firmwareDriverInterface, buffer, &offset);
+ CsrUint8Des((CsrUint8 *) &primitive->deviceConfig.enableStrictDraftN, buffer, &offset);
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeInterfaceCapabilityGetCfmSizeof(void *msg)
+{
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 9) */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* CsrUint16 primitive->numInterfaces */
+ bufferSize += 2; /* CsrUint8 primitive->capBitmap[2] */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeInterfaceCapabilityGetCfmSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeInterfaceCapabilityGetCfm *primitive = (CsrWifiSmeInterfaceCapabilityGetCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->status);
+ CsrUint16Ser(ptr, len, (CsrUint16) primitive->numInterfaces);
+ CsrMemCpySer(ptr, len, (const void *) primitive->capBitmap, ((CsrUint16) (2)));
+ return(ptr);
+}
+
+
+void* CsrWifiSmeInterfaceCapabilityGetCfmDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeInterfaceCapabilityGetCfm *primitive = (CsrWifiSmeInterfaceCapabilityGetCfm *) CsrPmemAlloc(sizeof(CsrWifiSmeInterfaceCapabilityGetCfm));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((CsrUint16 *) &primitive->numInterfaces, buffer, &offset);
+ CsrMemCpyDes(primitive->capBitmap, buffer, &offset, ((CsrUint16) (2)));
+
+ return primitive;
+}
+
+
+CsrSize CsrWifiSmeErrorIndSizeof(void *msg)
+{
+ CsrWifiSmeErrorInd *primitive = (CsrWifiSmeErrorInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 3) */
+ bufferSize += (primitive->errorMessage?CsrStrLen(primitive->errorMessage) : 0) + 1; /* CsrCharString* primitive->errorMessage (0 byte len + 1 for NULL Term) */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeErrorIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeErrorInd *primitive = (CsrWifiSmeErrorInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrCharStringSer(ptr, len, primitive->errorMessage);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeErrorIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeErrorInd *primitive = (CsrWifiSmeErrorInd *) CsrPmemAlloc(sizeof(CsrWifiSmeErrorInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrCharStringDes(&primitive->errorMessage, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeErrorIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeErrorInd *primitive = (CsrWifiSmeErrorInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->errorMessage);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeInfoIndSizeof(void *msg)
+{
+ CsrWifiSmeInfoInd *primitive = (CsrWifiSmeInfoInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 3) */
+ bufferSize += (primitive->infoMessage?CsrStrLen(primitive->infoMessage) : 0) + 1; /* CsrCharString* primitive->infoMessage (0 byte len + 1 for NULL Term) */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeInfoIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeInfoInd *primitive = (CsrWifiSmeInfoInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrCharStringSer(ptr, len, primitive->infoMessage);
+ return(ptr);
+}
+
+
+void* CsrWifiSmeInfoIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeInfoInd *primitive = (CsrWifiSmeInfoInd *) CsrPmemAlloc(sizeof(CsrWifiSmeInfoInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrCharStringDes(&primitive->infoMessage, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiSmeInfoIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeInfoInd *primitive = (CsrWifiSmeInfoInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->infoMessage);
+ CsrPmemFree(primitive);
+}
+
+
+CsrSize CsrWifiSmeCoreDumpIndSizeof(void *msg)
+{
+ CsrWifiSmeCoreDumpInd *primitive = (CsrWifiSmeCoreDumpInd *) msg;
+ CsrSize bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
+ bufferSize += 4; /* CsrUint32 primitive->dataLength */
+ bufferSize += primitive->dataLength; /* CsrUint8 primitive->data */
+ return bufferSize;
+}
+
+
+CsrUint8* CsrWifiSmeCoreDumpIndSer(CsrUint8 *ptr, CsrSize *len, void *msg)
+{
+ CsrWifiSmeCoreDumpInd *primitive = (CsrWifiSmeCoreDumpInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint32Ser(ptr, len, (CsrUint32) primitive->dataLength);
+ if (primitive->dataLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->data, ((CsrUint16) (primitive->dataLength)));
+ }
+ return(ptr);
+}
+
+
+void* CsrWifiSmeCoreDumpIndDes(CsrUint8 *buffer, CsrSize length)
+{
+ CsrWifiSmeCoreDumpInd *primitive = (CsrWifiSmeCoreDumpInd *) CsrPmemAlloc(sizeof(CsrWifiSmeCoreDumpInd));
+ CsrSize offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint32Des((CsrUint32 *) &primitive->dataLength, buffer, &offset);
+ if (primitive->dataLength)
+ {
+ primitive->data = (CsrUint8 *)CsrPmemAlloc(primitive->dataLength);
+ CsrMemCpyDes(primitive->data, buffer, &offset, ((CsrUint16) (primitive->dataLength)));
+ }
+ else
+ {
+ primitive->data = NULL;
+ }
+
+ return primitive;
+}
+
+
+void CsrWifiSmeCoreDumpIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiSmeCoreDumpInd *primitive = (CsrWifiSmeCoreDumpInd *) voidPrimitivePointer;
+ CsrPmemFree(primitive->data);
+ CsrPmemFree(primitive);
+}
+
+