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_unicode.h"
17 #include "csr_wifi_router_prim.h"
18 #include "csr_wifi_router_serialize.h"
20 void CsrWifiRouterPfree(void *ptr
)
26 size_t CsrWifiRouterMaPacketSubscribeReqSizeof(void *msg
)
28 size_t bufferSize
= 2;
30 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 12) */
31 bufferSize
+= 2; /* u16 primitive->interfaceTag */
32 bufferSize
+= 1; /* CsrWifiRouterEncapsulation primitive->encapsulation */
33 bufferSize
+= 2; /* u16 primitive->protocol */
34 bufferSize
+= 4; /* u32 primitive->oui */
39 u8
* CsrWifiRouterMaPacketSubscribeReqSer(u8
*ptr
, size_t *len
, void *msg
)
41 CsrWifiRouterMaPacketSubscribeReq
*primitive
= (CsrWifiRouterMaPacketSubscribeReq
*)msg
;
43 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
44 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
45 CsrUint8Ser(ptr
, len
, (u8
) primitive
->encapsulation
);
46 CsrUint16Ser(ptr
, len
, (u16
) primitive
->protocol
);
47 CsrUint32Ser(ptr
, len
, (u32
) primitive
->oui
);
52 void* CsrWifiRouterMaPacketSubscribeReqDes(u8
*buffer
, size_t length
)
54 CsrWifiRouterMaPacketSubscribeReq
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeReq
), GFP_KERNEL
);
58 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
59 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
60 CsrUint8Des((u8
*) &primitive
->encapsulation
, buffer
, &offset
);
61 CsrUint16Des((u16
*) &primitive
->protocol
, buffer
, &offset
);
62 CsrUint32Des((u32
*) &primitive
->oui
, buffer
, &offset
);
68 size_t CsrWifiRouterMaPacketReqSizeof(void *msg
)
70 CsrWifiRouterMaPacketReq
*primitive
= (CsrWifiRouterMaPacketReq
*) msg
;
71 size_t bufferSize
= 2;
73 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 20) */
74 bufferSize
+= 2; /* u16 primitive->interfaceTag */
75 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
76 bufferSize
+= 2; /* u16 primitive->frameLength */
77 bufferSize
+= primitive
->frameLength
; /* u8 primitive->frame */
78 bufferSize
+= 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
79 bufferSize
+= 2; /* CsrWifiRouterPriority primitive->priority */
80 bufferSize
+= 4; /* u32 primitive->hostTag */
81 bufferSize
+= 1; /* u8 primitive->cfmRequested */
86 u8
* CsrWifiRouterMaPacketReqSer(u8
*ptr
, size_t *len
, void *msg
)
88 CsrWifiRouterMaPacketReq
*primitive
= (CsrWifiRouterMaPacketReq
*)msg
;
90 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
91 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
92 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
93 CsrUint16Ser(ptr
, len
, (u16
) primitive
->frameLength
);
94 if (primitive
->frameLength
)
96 CsrMemCpySer(ptr
, len
, (const void *) primitive
->frame
, ((u16
) (primitive
->frameLength
)));
98 CsrUint32Ser(ptr
, len
, 0); /* Special for Function Pointers... primitive->freeFunction */
99 CsrUint16Ser(ptr
, len
, (u16
) primitive
->priority
);
100 CsrUint32Ser(ptr
, len
, (u32
) primitive
->hostTag
);
101 CsrUint8Ser(ptr
, len
, (u8
) primitive
->cfmRequested
);
106 void* CsrWifiRouterMaPacketReqDes(u8
*buffer
, size_t length
)
108 CsrWifiRouterMaPacketReq
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketReq
), GFP_KERNEL
);
112 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
113 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
114 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
115 CsrUint16Des((u16
*) &primitive
->frameLength
, buffer
, &offset
);
116 if (primitive
->frameLength
)
118 primitive
->frame
= kmalloc(primitive
->frameLength
, GFP_KERNEL
);
119 CsrMemCpyDes(primitive
->frame
, buffer
, &offset
, ((u16
) (primitive
->frameLength
)));
123 primitive
->frame
= NULL
;
125 primitive
->freeFunction
= NULL
; /* Special for Function Pointers... */
127 CsrUint16Des((u16
*) &primitive
->priority
, buffer
, &offset
);
128 CsrUint32Des((u32
*) &primitive
->hostTag
, buffer
, &offset
);
129 CsrUint8Des((u8
*) &primitive
->cfmRequested
, buffer
, &offset
);
135 void CsrWifiRouterMaPacketReqSerFree(void *voidPrimitivePointer
)
137 CsrWifiRouterMaPacketReq
*primitive
= (CsrWifiRouterMaPacketReq
*) voidPrimitivePointer
;
138 kfree(primitive
->frame
);
143 size_t CsrWifiRouterMaPacketResSizeof(void *msg
)
145 size_t bufferSize
= 2;
147 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
148 bufferSize
+= 2; /* u16 primitive->interfaceTag */
149 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
150 bufferSize
+= 2; /* CsrResult primitive->result */
155 u8
* CsrWifiRouterMaPacketResSer(u8
*ptr
, size_t *len
, void *msg
)
157 CsrWifiRouterMaPacketRes
*primitive
= (CsrWifiRouterMaPacketRes
*)msg
;
159 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
160 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
161 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
162 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
);
167 void* CsrWifiRouterMaPacketResDes(u8
*buffer
, size_t length
)
169 CsrWifiRouterMaPacketRes
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketRes
), GFP_KERNEL
);
173 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
174 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
175 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
176 CsrUint16Des((u16
*) &primitive
->result
, buffer
, &offset
);
182 size_t CsrWifiRouterMaPacketCancelReqSizeof(void *msg
)
184 size_t bufferSize
= 2;
186 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
187 bufferSize
+= 2; /* u16 primitive->interfaceTag */
188 bufferSize
+= 4; /* u32 primitive->hostTag */
189 bufferSize
+= 2; /* CsrWifiRouterPriority primitive->priority */
190 bufferSize
+= 6; /* u8 primitive->peerMacAddress.a[6] */
195 u8
* CsrWifiRouterMaPacketCancelReqSer(u8
*ptr
, size_t *len
, void *msg
)
197 CsrWifiRouterMaPacketCancelReq
*primitive
= (CsrWifiRouterMaPacketCancelReq
*)msg
;
199 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
200 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
201 CsrUint32Ser(ptr
, len
, (u32
) primitive
->hostTag
);
202 CsrUint16Ser(ptr
, len
, (u16
) primitive
->priority
);
203 CsrMemCpySer(ptr
, len
, (const void *) primitive
->peerMacAddress
.a
, ((u16
) (6)));
208 void* CsrWifiRouterMaPacketCancelReqDes(u8
*buffer
, size_t length
)
210 CsrWifiRouterMaPacketCancelReq
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketCancelReq
), GFP_KERNEL
);
214 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
215 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
216 CsrUint32Des((u32
*) &primitive
->hostTag
, buffer
, &offset
);
217 CsrUint16Des((u16
*) &primitive
->priority
, buffer
, &offset
);
218 CsrMemCpyDes(primitive
->peerMacAddress
.a
, buffer
, &offset
, ((u16
) (6)));
224 size_t CsrWifiRouterMaPacketSubscribeCfmSizeof(void *msg
)
226 size_t bufferSize
= 2;
228 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
229 bufferSize
+= 2; /* u16 primitive->interfaceTag */
230 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
231 bufferSize
+= 2; /* CsrResult primitive->status */
232 bufferSize
+= 2; /* u16 primitive->allocOffset */
237 u8
* CsrWifiRouterMaPacketSubscribeCfmSer(u8
*ptr
, size_t *len
, void *msg
)
239 CsrWifiRouterMaPacketSubscribeCfm
*primitive
= (CsrWifiRouterMaPacketSubscribeCfm
*)msg
;
241 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
242 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
243 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
244 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
245 CsrUint16Ser(ptr
, len
, (u16
) primitive
->allocOffset
);
250 void* CsrWifiRouterMaPacketSubscribeCfmDes(u8
*buffer
, size_t length
)
252 CsrWifiRouterMaPacketSubscribeCfm
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeCfm
), GFP_KERNEL
);
256 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
257 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
258 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
259 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
260 CsrUint16Des((u16
*) &primitive
->allocOffset
, buffer
, &offset
);
266 size_t CsrWifiRouterMaPacketUnsubscribeCfmSizeof(void *msg
)
268 size_t bufferSize
= 2;
270 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
271 bufferSize
+= 2; /* u16 primitive->interfaceTag */
272 bufferSize
+= 2; /* CsrResult primitive->status */
277 u8
* CsrWifiRouterMaPacketUnsubscribeCfmSer(u8
*ptr
, size_t *len
, void *msg
)
279 CsrWifiRouterMaPacketUnsubscribeCfm
*primitive
= (CsrWifiRouterMaPacketUnsubscribeCfm
*)msg
;
281 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
282 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
283 CsrUint16Ser(ptr
, len
, (u16
) primitive
->status
);
288 void* CsrWifiRouterMaPacketUnsubscribeCfmDes(u8
*buffer
, size_t length
)
290 CsrWifiRouterMaPacketUnsubscribeCfm
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketUnsubscribeCfm
), GFP_KERNEL
);
294 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
295 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
296 CsrUint16Des((u16
*) &primitive
->status
, buffer
, &offset
);
302 size_t CsrWifiRouterMaPacketCfmSizeof(void *msg
)
304 size_t bufferSize
= 2;
306 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
307 bufferSize
+= 2; /* u16 primitive->interfaceTag */
308 bufferSize
+= 2; /* CsrResult primitive->result */
309 bufferSize
+= 4; /* u32 primitive->hostTag */
310 bufferSize
+= 2; /* u16 primitive->rate */
315 u8
* CsrWifiRouterMaPacketCfmSer(u8
*ptr
, size_t *len
, void *msg
)
317 CsrWifiRouterMaPacketCfm
*primitive
= (CsrWifiRouterMaPacketCfm
*)msg
;
319 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
320 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
321 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
);
322 CsrUint32Ser(ptr
, len
, (u32
) primitive
->hostTag
);
323 CsrUint16Ser(ptr
, len
, (u16
) primitive
->rate
);
328 void* CsrWifiRouterMaPacketCfmDes(u8
*buffer
, size_t length
)
330 CsrWifiRouterMaPacketCfm
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketCfm
), GFP_KERNEL
);
334 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
335 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
336 CsrUint16Des((u16
*) &primitive
->result
, buffer
, &offset
);
337 CsrUint32Des((u32
*) &primitive
->hostTag
, buffer
, &offset
);
338 CsrUint16Des((u16
*) &primitive
->rate
, buffer
, &offset
);
344 size_t CsrWifiRouterMaPacketIndSizeof(void *msg
)
346 CsrWifiRouterMaPacketInd
*primitive
= (CsrWifiRouterMaPacketInd
*) msg
;
347 size_t bufferSize
= 2;
349 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 21) */
350 bufferSize
+= 2; /* u16 primitive->interfaceTag */
351 bufferSize
+= 1; /* u8 primitive->subscriptionHandle */
352 bufferSize
+= 2; /* CsrResult primitive->result */
353 bufferSize
+= 2; /* u16 primitive->frameLength */
354 bufferSize
+= primitive
->frameLength
; /* u8 primitive->frame */
355 bufferSize
+= 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
356 bufferSize
+= 2; /* s16 primitive->rssi */
357 bufferSize
+= 2; /* s16 primitive->snr */
358 bufferSize
+= 2; /* u16 primitive->rate */
363 u8
* CsrWifiRouterMaPacketIndSer(u8
*ptr
, size_t *len
, void *msg
)
365 CsrWifiRouterMaPacketInd
*primitive
= (CsrWifiRouterMaPacketInd
*)msg
;
367 CsrUint16Ser(ptr
, len
, primitive
->common
.type
);
368 CsrUint16Ser(ptr
, len
, (u16
) primitive
->interfaceTag
);
369 CsrUint8Ser(ptr
, len
, (u8
) primitive
->subscriptionHandle
);
370 CsrUint16Ser(ptr
, len
, (u16
) primitive
->result
);
371 CsrUint16Ser(ptr
, len
, (u16
) primitive
->frameLength
);
372 if (primitive
->frameLength
)
374 CsrMemCpySer(ptr
, len
, (const void *) primitive
->frame
, ((u16
) (primitive
->frameLength
)));
376 CsrUint32Ser(ptr
, len
, 0); /* Special for Function Pointers... primitive->freeFunction */
377 CsrUint16Ser(ptr
, len
, (u16
) primitive
->rssi
);
378 CsrUint16Ser(ptr
, len
, (u16
) primitive
->snr
);
379 CsrUint16Ser(ptr
, len
, (u16
) primitive
->rate
);
384 void* CsrWifiRouterMaPacketIndDes(u8
*buffer
, size_t length
)
386 CsrWifiRouterMaPacketInd
*primitive
= kmalloc(sizeof(CsrWifiRouterMaPacketInd
), GFP_KERNEL
);
390 CsrUint16Des(&primitive
->common
.type
, buffer
, &offset
);
391 CsrUint16Des((u16
*) &primitive
->interfaceTag
, buffer
, &offset
);
392 CsrUint8Des((u8
*) &primitive
->subscriptionHandle
, buffer
, &offset
);
393 CsrUint16Des((u16
*) &primitive
->result
, buffer
, &offset
);
394 CsrUint16Des((u16
*) &primitive
->frameLength
, buffer
, &offset
);
395 if (primitive
->frameLength
)
397 primitive
->frame
= kmalloc(primitive
->frameLength
, GFP_KERNEL
);
398 CsrMemCpyDes(primitive
->frame
, buffer
, &offset
, ((u16
) (primitive
->frameLength
)));
402 primitive
->frame
= NULL
;
404 primitive
->freeFunction
= NULL
; /* Special for Function Pointers... */
406 CsrUint16Des((u16
*) &primitive
->rssi
, buffer
, &offset
);
407 CsrUint16Des((u16
*) &primitive
->snr
, buffer
, &offset
);
408 CsrUint16Des((u16
*) &primitive
->rate
, buffer
, &offset
);
414 void CsrWifiRouterMaPacketIndSerFree(void *voidPrimitivePointer
)
416 CsrWifiRouterMaPacketInd
*primitive
= (CsrWifiRouterMaPacketInd
*) voidPrimitivePointer
;
417 kfree(primitive
->frame
);