summaryrefslogtreecommitdiffstats
path: root/drivers/staging/csr/csr_wifi_router_serialize.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/csr/csr_wifi_router_serialize.c')
-rw-r--r--drivers/staging/csr/csr_wifi_router_serialize.c418
1 files changed, 418 insertions, 0 deletions
diff --git a/drivers/staging/csr/csr_wifi_router_serialize.c b/drivers/staging/csr/csr_wifi_router_serialize.c
new file mode 100644
index 000000000000..4eccf5d6c289
--- /dev/null
+++ b/drivers/staging/csr/csr_wifi_router_serialize.c
@@ -0,0 +1,418 @@
+/*****************************************************************************
+
+ (c) Cambridge Silicon Radio Limited 2011
+ All rights reserved and confidential information of CSR
+
+ Refer to LICENSE.txt included with this source for details
+ on the license terms.
+
+*****************************************************************************/
+
+/* Note: this is an auto-generated file. */
+#include <linux/slab.h>
+#include "csr_msgconv.h"
+#include "csr_wifi_router_prim.h"
+#include "csr_wifi_router_serialize.h"
+
+void CsrWifiRouterPfree(void *ptr)
+{
+ kfree(ptr);
+}
+
+
+size_t CsrWifiRouterMaPacketSubscribeReqSizeof(void *msg)
+{
+ size_t bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 12) */
+ bufferSize += 2; /* u16 primitive->interfaceTag */
+ bufferSize += 1; /* CsrWifiRouterEncapsulation primitive->encapsulation */
+ bufferSize += 2; /* u16 primitive->protocol */
+ bufferSize += 4; /* u32 primitive->oui */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketSubscribeReqSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketSubscribeReq *primitive = (CsrWifiRouterMaPacketSubscribeReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (u8) primitive->encapsulation);
+ CsrUint16Ser(ptr, len, (u16) primitive->protocol);
+ CsrUint32Ser(ptr, len, (u32) primitive->oui);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketSubscribeReqDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketSubscribeReq *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeReq), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((u8 *) &primitive->encapsulation, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->protocol, buffer, &offset);
+ CsrUint32Des((u32 *) &primitive->oui, buffer, &offset);
+
+ return primitive;
+}
+
+
+size_t CsrWifiRouterMaPacketReqSizeof(void *msg)
+{
+ CsrWifiRouterMaPacketReq *primitive = (CsrWifiRouterMaPacketReq *) msg;
+ size_t bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 20) */
+ bufferSize += 2; /* u16 primitive->interfaceTag */
+ bufferSize += 1; /* u8 primitive->subscriptionHandle */
+ bufferSize += 2; /* u16 primitive->frameLength */
+ bufferSize += primitive->frameLength; /* u8 primitive->frame */
+ bufferSize += 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
+ bufferSize += 2; /* CsrWifiRouterPriority primitive->priority */
+ bufferSize += 4; /* u32 primitive->hostTag */
+ bufferSize += 1; /* u8 primitive->cfmRequested */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketReqSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketReq *primitive = (CsrWifiRouterMaPacketReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
+ CsrUint16Ser(ptr, len, (u16) primitive->frameLength);
+ if (primitive->frameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->frame, ((u16) (primitive->frameLength)));
+ }
+ CsrUint32Ser(ptr, len, 0); /* Special for Function Pointers... primitive->freeFunction */
+ CsrUint16Ser(ptr, len, (u16) primitive->priority);
+ CsrUint32Ser(ptr, len, (u32) primitive->hostTag);
+ CsrUint8Ser(ptr, len, (u8) primitive->cfmRequested);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketReqDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketReq *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketReq), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->frameLength, buffer, &offset);
+ if (primitive->frameLength)
+ {
+ primitive->frame = kmalloc(primitive->frameLength, GFP_KERNEL);
+ CsrMemCpyDes(primitive->frame, buffer, &offset, ((u16) (primitive->frameLength)));
+ }
+ else
+ {
+ primitive->frame = NULL;
+ }
+ primitive->freeFunction = NULL; /* Special for Function Pointers... */
+ offset += 4;
+ CsrUint16Des((u16 *) &primitive->priority, buffer, &offset);
+ CsrUint32Des((u32 *) &primitive->hostTag, buffer, &offset);
+ CsrUint8Des((u8 *) &primitive->cfmRequested, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiRouterMaPacketReqSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiRouterMaPacketReq *primitive = (CsrWifiRouterMaPacketReq *) voidPrimitivePointer;
+ kfree(primitive->frame);
+ kfree(primitive);
+}
+
+
+size_t CsrWifiRouterMaPacketResSizeof(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; /* u8 primitive->subscriptionHandle */
+ bufferSize += 2; /* CsrResult primitive->result */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketResSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketRes *primitive = (CsrWifiRouterMaPacketRes *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
+ CsrUint16Ser(ptr, len, (u16) primitive->result);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketResDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketRes *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketRes), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->result, buffer, &offset);
+
+ return primitive;
+}
+
+
+size_t CsrWifiRouterMaPacketCancelReqSizeof(void *msg)
+{
+ size_t bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
+ bufferSize += 2; /* u16 primitive->interfaceTag */
+ bufferSize += 4; /* u32 primitive->hostTag */
+ bufferSize += 2; /* CsrWifiRouterPriority primitive->priority */
+ bufferSize += 6; /* u8 primitive->peerMacAddress.a[6] */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketCancelReqSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketCancelReq *primitive = (CsrWifiRouterMaPacketCancelReq *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint32Ser(ptr, len, (u32) primitive->hostTag);
+ CsrUint16Ser(ptr, len, (u16) primitive->priority);
+ CsrMemCpySer(ptr, len, (const void *) primitive->peerMacAddress.a, ((u16) (6)));
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketCancelReqDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketCancelReq *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketCancelReq), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint32Des((u32 *) &primitive->hostTag, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->priority, buffer, &offset);
+ CsrMemCpyDes(primitive->peerMacAddress.a, buffer, &offset, ((u16) (6)));
+
+ return primitive;
+}
+
+
+size_t CsrWifiRouterMaPacketSubscribeCfmSizeof(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 += 1; /* u8 primitive->subscriptionHandle */
+ bufferSize += 2; /* CsrResult primitive->status */
+ bufferSize += 2; /* u16 primitive->allocOffset */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketSubscribeCfmSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketSubscribeCfm *primitive = (CsrWifiRouterMaPacketSubscribeCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
+ CsrUint16Ser(ptr, len, (u16) primitive->status);
+ CsrUint16Ser(ptr, len, (u16) primitive->allocOffset);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketSubscribeCfmDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketSubscribeCfm *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeCfm), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->allocOffset, buffer, &offset);
+
+ return primitive;
+}
+
+
+size_t CsrWifiRouterMaPacketUnsubscribeCfmSizeof(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* CsrWifiRouterMaPacketUnsubscribeCfmSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketUnsubscribeCfm *primitive = (CsrWifiRouterMaPacketUnsubscribeCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (u16) primitive->status);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketUnsubscribeCfmDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketUnsubscribeCfm *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketUnsubscribeCfm), 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 CsrWifiRouterMaPacketCfmSizeof(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->result */
+ bufferSize += 4; /* u32 primitive->hostTag */
+ bufferSize += 2; /* u16 primitive->rate */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketCfmSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketCfm *primitive = (CsrWifiRouterMaPacketCfm *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint16Ser(ptr, len, (u16) primitive->result);
+ CsrUint32Ser(ptr, len, (u32) primitive->hostTag);
+ CsrUint16Ser(ptr, len, (u16) primitive->rate);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketCfmDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketCfm *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketCfm), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->result, buffer, &offset);
+ CsrUint32Des((u32 *) &primitive->hostTag, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->rate, buffer, &offset);
+
+ return primitive;
+}
+
+
+size_t CsrWifiRouterMaPacketIndSizeof(void *msg)
+{
+ CsrWifiRouterMaPacketInd *primitive = (CsrWifiRouterMaPacketInd *) msg;
+ size_t bufferSize = 2;
+
+ /* Calculate the Size of the Serialised Data. Could be more efficient (Try 21) */
+ bufferSize += 2; /* u16 primitive->interfaceTag */
+ bufferSize += 1; /* u8 primitive->subscriptionHandle */
+ bufferSize += 2; /* CsrResult primitive->result */
+ bufferSize += 2; /* u16 primitive->frameLength */
+ bufferSize += primitive->frameLength; /* u8 primitive->frame */
+ bufferSize += 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
+ bufferSize += 2; /* s16 primitive->rssi */
+ bufferSize += 2; /* s16 primitive->snr */
+ bufferSize += 2; /* u16 primitive->rate */
+ return bufferSize;
+}
+
+
+u8* CsrWifiRouterMaPacketIndSer(u8 *ptr, size_t *len, void *msg)
+{
+ CsrWifiRouterMaPacketInd *primitive = (CsrWifiRouterMaPacketInd *)msg;
+ *len = 0;
+ CsrUint16Ser(ptr, len, primitive->common.type);
+ CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
+ CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
+ CsrUint16Ser(ptr, len, (u16) primitive->result);
+ CsrUint16Ser(ptr, len, (u16) primitive->frameLength);
+ if (primitive->frameLength)
+ {
+ CsrMemCpySer(ptr, len, (const void *) primitive->frame, ((u16) (primitive->frameLength)));
+ }
+ CsrUint32Ser(ptr, len, 0); /* Special for Function Pointers... primitive->freeFunction */
+ CsrUint16Ser(ptr, len, (u16) primitive->rssi);
+ CsrUint16Ser(ptr, len, (u16) primitive->snr);
+ CsrUint16Ser(ptr, len, (u16) primitive->rate);
+ return(ptr);
+}
+
+
+void* CsrWifiRouterMaPacketIndDes(u8 *buffer, size_t length)
+{
+ CsrWifiRouterMaPacketInd *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketInd), GFP_KERNEL);
+ size_t offset;
+ offset = 0;
+
+ CsrUint16Des(&primitive->common.type, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
+ CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->result, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->frameLength, buffer, &offset);
+ if (primitive->frameLength)
+ {
+ primitive->frame = kmalloc(primitive->frameLength, GFP_KERNEL);
+ CsrMemCpyDes(primitive->frame, buffer, &offset, ((u16) (primitive->frameLength)));
+ }
+ else
+ {
+ primitive->frame = NULL;
+ }
+ primitive->freeFunction = NULL; /* Special for Function Pointers... */
+ offset += 4;
+ CsrUint16Des((u16 *) &primitive->rssi, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->snr, buffer, &offset);
+ CsrUint16Des((u16 *) &primitive->rate, buffer, &offset);
+
+ return primitive;
+}
+
+
+void CsrWifiRouterMaPacketIndSerFree(void *voidPrimitivePointer)
+{
+ CsrWifiRouterMaPacketInd *primitive = (CsrWifiRouterMaPacketInd *) voidPrimitivePointer;
+ kfree(primitive->frame);
+ kfree(primitive);
+}
+
+