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