1 /*****************************************************************************
3 (c) Cambridge Silicon Radio Limited 2011
4 All rights reserved and confidential information of CSR
6 Refer to LICENSE.txt included with this source for details
9 *****************************************************************************/
11 /* Note: this is an auto-generated file. */
12 #include <linux/slab.h>
13 #include "csr_msgconv.h"
14 #include "csr_wifi_router_prim.h"
15 #include "csr_wifi_router_serialize.h"
17 void CsrWifiRouterPfree(void *ptr
)
23 size_t CsrWifiRouterMaPacketSubscribeReqSizeof(void *msg
)
25 size_t bufferSize
= 2;
27 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 12) */
28 bufferSize
+= 2; /* u16 primitive->interfaceTag */
29 bufferSize
+= 1; /* CsrWifiRouterEncapsulation primitive->encapsulation */
30 bufferSize
+= 2; /* u16 primitive->protocol */
31 bufferSize
+= 4; /* u32 primitive->oui */
36 u8
* CsrWifiRouterMaPacketSubscribeReqSer(u8
*ptr
, size_t *len
, void *msg
)
38 CsrWifiRouterMaPacketSubscribeReq
*primitive
= (CsrWifiRouterMaPacketSubscribeReq
*)msg
;
40 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
41 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
42 CsrUint8Ser(ptr
, len
, (u8
) primitive
->encapsulation
);
43 CsrUint16Ser(ptr
, len
, (u16
) primitive
->protocol
);
44 CsrUint32Ser(ptr
, len
, (u32
) primitive
->oui
);
49 void* CsrWifiRouterMaPacketSubscribeReqDes(u8
*buffer
, size_t length
)
51 CsrWifiRouterMaPacketSubscribeReq
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeReq
), GFP_KERNEL
);
55 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
56 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
57 CsrUint8Des((u8
*) &primitive
->encapsulation
, buffer
, &offset
);
58 CsrUint16Des((u16
*) &primitive
->protocol
, buffer
, &offset
);
59 CsrUint32Des((u32
*) &primitive
->oui
, buffer
, &offset
);
65 size_t CsrWifiRouterMaPacketReqSizeof(void *msg
)
67 CsrWifiRouterMaPacketReq
*primitive
= (CsrWifiRouterMaPacketReq
*) msg
;
68 size_t bufferSize
= 2;
70 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 20) */
71 bufferSize
+= 2; /* u16 primitive->interfaceTag */
72 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
73 bufferSize
+= 2; /* u16 primitive->frameLength */
74 bufferSize
+= primitive
->frameLength
; /* u8 primitive->frame */
75 bufferSize
+= 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
76 bufferSize
+= 2; /* CsrWifiRouterPriority primitive->priority */
77 bufferSize
+= 4; /* u32 primitive->hostTag */
78 bufferSize
+= 1; /* u8 primitive->cfmRequested */
83 u8
* CsrWifiRouterMaPacketReqSer(u8
*ptr
, size_t *len
, void *msg
)
85 CsrWifiRouterMaPacketReq
*primitive
= (CsrWifiRouterMaPacketReq
*)msg
;
87 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
88 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
89 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
90 CsrUint16Ser(ptr
, len
, (u16
) primitive
->frameLength
);
91 if (primitive
->frameLength
)
93 CsrMemCpySer(ptr
, len
, (const void *) primitive
->frame
, ((u16
) (primitive
->frameLength
)));
95 CsrUint32Ser(ptr
, len
, 0); /* Special for Function Pointers... primitive->freeFunction */
96 CsrUint16Ser(ptr
, len
, (u16
) primitive
->priority
);
97 CsrUint32Ser(ptr
, len
, (u32
) primitive
->hostTag
);
98 CsrUint8Ser(ptr
, len
, (u8
) primitive
->cfmRequested
);
103 void* CsrWifiRouterMaPacketReqDes(u8
*buffer
, size_t length
)
105 CsrWifiRouterMaPacketReq
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketReq
), GFP_KERNEL
);
109 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
110 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
111 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
112 CsrUint16Des((u16
*) &primitive
->frameLength
, buffer
, &offset
);
113 if (primitive
->frameLength
)
115 primitive
->frame
= kmalloc(primitive
->frameLength
, GFP_KERNEL
);
116 CsrMemCpyDes(primitive
->frame
, buffer
, &offset
, ((u16
) (primitive
->frameLength
)));
120 primitive
->frame
= NULL
;
122 primitive
->freeFunction
= NULL
; /* Special for Function Pointers... */
124 CsrUint16Des((u16
*) &primitive
->priority
, buffer
, &offset
);
125 CsrUint32Des((u32
*) &primitive
->hostTag
, buffer
, &offset
);
126 CsrUint8Des((u8
*) &primitive
->cfmRequested
, buffer
, &offset
);
132 void CsrWifiRouterMaPacketReqSerFree(void *voidPrimitivePointer
)
134 CsrWifiRouterMaPacketReq
*primitive
= (CsrWifiRouterMaPacketReq
*) voidPrimitivePointer
;
135 kfree(primitive
->frame
);
140 size_t CsrWifiRouterMaPacketResSizeof(void *msg
)
142 size_t bufferSize
= 2;
144 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
145 bufferSize
+= 2; /* u16 primitive->interfaceTag */
146 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
147 bufferSize
+= 2; /* CsrResult primitive->result */
152 u8
* CsrWifiRouterMaPacketResSer(u8
*ptr
, size_t *len
, void *msg
)
154 CsrWifiRouterMaPacketRes
*primitive
= (CsrWifiRouterMaPacketRes
*)msg
;
156 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
157 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
158 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
159 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
);
164 void* CsrWifiRouterMaPacketResDes(u8
*buffer
, size_t length
)
166 CsrWifiRouterMaPacketRes
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketRes
), GFP_KERNEL
);
170 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
171 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
172 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
173 CsrUint16Des((u16
*) &primitive
->result
, buffer
, &offset
);
179 size_t CsrWifiRouterMaPacketCancelReqSizeof(void *msg
)
181 size_t bufferSize
= 2;
183 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
184 bufferSize
+= 2; /* u16 primitive->interfaceTag */
185 bufferSize
+= 4; /* u32 primitive->hostTag */
186 bufferSize
+= 2; /* CsrWifiRouterPriority primitive->priority */
187 bufferSize
+= 6; /* u8 primitive->peerMacAddress.a[6] */
192 u8
* CsrWifiRouterMaPacketCancelReqSer(u8
*ptr
, size_t *len
, void *msg
)
194 CsrWifiRouterMaPacketCancelReq
*primitive
= (CsrWifiRouterMaPacketCancelReq
*)msg
;
196 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
197 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
198 CsrUint32Ser(ptr
, len
, (u32
) primitive
->hostTag
);
199 CsrUint16Ser(ptr
, len
, (u16
) primitive
->priority
);
200 CsrMemCpySer(ptr
, len
, (const void *) primitive
->peerMacAddress
.a
, ((u16
) (6)));
205 void* CsrWifiRouterMaPacketCancelReqDes(u8
*buffer
, size_t length
)
207 CsrWifiRouterMaPacketCancelReq
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketCancelReq
), GFP_KERNEL
);
211 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
212 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
213 CsrUint32Des((u32
*) &primitive
->hostTag
, buffer
, &offset
);
214 CsrUint16Des((u16
*) &primitive
->priority
, buffer
, &offset
);
215 CsrMemCpyDes(primitive
->peerMacAddress
.a
, buffer
, &offset
, ((u16
) (6)));
221 size_t CsrWifiRouterMaPacketSubscribeCfmSizeof(void *msg
)
223 size_t bufferSize
= 2;
225 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
226 bufferSize
+= 2; /* u16 primitive->interfaceTag */
227 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
228 bufferSize
+= 2; /* CsrResult primitive->status */
229 bufferSize
+= 2; /* u16 primitive->allocOffset */
234 u8
* CsrWifiRouterMaPacketSubscribeCfmSer(u8
*ptr
, size_t *len
, void *msg
)
236 CsrWifiRouterMaPacketSubscribeCfm
*primitive
= (CsrWifiRouterMaPacketSubscribeCfm
*)msg
;
238 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
239 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
240 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
241 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
242 CsrUint16Ser(ptr
, len
, (u16
) primitive
->allocOffset
);
247 void* CsrWifiRouterMaPacketSubscribeCfmDes(u8
*buffer
, size_t length
)
249 CsrWifiRouterMaPacketSubscribeCfm
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeCfm
), GFP_KERNEL
);
253 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
254 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
255 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
256 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
257 CsrUint16Des((u16
*) &primitive
->allocOffset
, buffer
, &offset
);
263 size_t CsrWifiRouterMaPacketUnsubscribeCfmSizeof(void *msg
)
265 size_t bufferSize
= 2;
267 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
268 bufferSize
+= 2; /* u16 primitive->interfaceTag */
269 bufferSize
+= 2; /* CsrResult primitive->status */
274 u8
* CsrWifiRouterMaPacketUnsubscribeCfmSer(u8
*ptr
, size_t *len
, void *msg
)
276 CsrWifiRouterMaPacketUnsubscribeCfm
*primitive
= (CsrWifiRouterMaPacketUnsubscribeCfm
*)msg
;
278 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
279 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
280 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
285 void* CsrWifiRouterMaPacketUnsubscribeCfmDes(u8
*buffer
, size_t length
)
287 CsrWifiRouterMaPacketUnsubscribeCfm
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketUnsubscribeCfm
), GFP_KERNEL
);
291 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
292 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
293 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
299 size_t CsrWifiRouterMaPacketCfmSizeof(void *msg
)
301 size_t bufferSize
= 2;
303 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
304 bufferSize
+= 2; /* u16 primitive->interfaceTag */
305 bufferSize
+= 2; /* CsrResult primitive->result */
306 bufferSize
+= 4; /* u32 primitive->hostTag */
307 bufferSize
+= 2; /* u16 primitive->rate */
312 u8
* CsrWifiRouterMaPacketCfmSer(u8
*ptr
, size_t *len
, void *msg
)
314 CsrWifiRouterMaPacketCfm
*primitive
= (CsrWifiRouterMaPacketCfm
*)msg
;
316 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
317 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
318 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
);
319 CsrUint32Ser(ptr
, len
, (u32
) primitive
->hostTag
);
320 CsrUint16Ser(ptr
, len
, (u16
) primitive
->rate
);
325 void* CsrWifiRouterMaPacketCfmDes(u8
*buffer
, size_t length
)
327 CsrWifiRouterMaPacketCfm
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketCfm
), GFP_KERNEL
);
331 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
332 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
333 CsrUint16Des((u16
*) &primitive
->result
, buffer
, &offset
);
334 CsrUint32Des((u32
*) &primitive
->hostTag
, buffer
, &offset
);
335 CsrUint16Des((u16
*) &primitive
->rate
, buffer
, &offset
);
341 size_t CsrWifiRouterMaPacketIndSizeof(void *msg
)
343 CsrWifiRouterMaPacketInd
*primitive
= (CsrWifiRouterMaPacketInd
*) msg
;
344 size_t bufferSize
= 2;
346 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 21) */
347 bufferSize
+= 2; /* u16 primitive->interfaceTag */
348 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
349 bufferSize
+= 2; /* CsrResult primitive->result */
350 bufferSize
+= 2; /* u16 primitive->frameLength */
351 bufferSize
+= primitive
->frameLength
; /* u8 primitive->frame */
352 bufferSize
+= 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
353 bufferSize
+= 2; /* s16 primitive->rssi */
354 bufferSize
+= 2; /* s16 primitive->snr */
355 bufferSize
+= 2; /* u16 primitive->rate */
360 u8
* CsrWifiRouterMaPacketIndSer(u8
*ptr
, size_t *len
, void *msg
)
362 CsrWifiRouterMaPacketInd
*primitive
= (CsrWifiRouterMaPacketInd
*)msg
;
364 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
365 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
366 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
367 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
);
368 CsrUint16Ser(ptr
, len
, (u16
) primitive
->frameLength
);
369 if (primitive
->frameLength
)
371 CsrMemCpySer(ptr
, len
, (const void *) primitive
->frame
, ((u16
) (primitive
->frameLength
)));
373 CsrUint32Ser(ptr
, len
, 0); /* Special for Function Pointers... primitive->freeFunction */
374 CsrUint16Ser(ptr
, len
, (u16
) primitive
->rssi
);
375 CsrUint16Ser(ptr
, len
, (u16
) primitive
->snr
);
376 CsrUint16Ser(ptr
, len
, (u16
) primitive
->rate
);
381 void* CsrWifiRouterMaPacketIndDes(u8
*buffer
, size_t length
)
383 CsrWifiRouterMaPacketInd
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketInd
), GFP_KERNEL
);
387 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
388 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
389 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
390 CsrUint16Des((u16
*) &primitive
->result
, buffer
, &offset
);
391 CsrUint16Des((u16
*) &primitive
->frameLength
, buffer
, &offset
);
392 if (primitive
->frameLength
)
394 primitive
->frame
= kmalloc(primitive
->frameLength
, GFP_KERNEL
);
395 CsrMemCpyDes(primitive
->frame
, buffer
, &offset
, ((u16
) (primitive
->frameLength
)));
399 primitive
->frame
= NULL
;
401 primitive
->freeFunction
= NULL
; /* Special for Function Pointers... */
403 CsrUint16Des((u16
*) &primitive
->rssi
, buffer
, &offset
);
404 CsrUint16Des((u16
*) &primitive
->snr
, buffer
, &offset
);
405 CsrUint16Des((u16
*) &primitive
->rate
, buffer
, &offset
);
411 void CsrWifiRouterMaPacketIndSerFree(void *voidPrimitivePointer
)
413 CsrWifiRouterMaPacketInd
*primitive
= (CsrWifiRouterMaPacketInd
*) voidPrimitivePointer
;
414 kfree(primitive
->frame
);