Merge tag 'late-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / drivers / staging / csr / csr_wifi_router_serialize.c
CommitLineData
635d2b00
GKH
1/*****************************************************************************
2
3 (c) Cambridge Silicon Radio Limited 2011
4 All rights reserved and confidential information of CSR
5
6 Refer to LICENSE.txt included with this source for details
7 on the license terms.
8
9*****************************************************************************/
10
11/* Note: this is an auto-generated file. */
55a27055 12#include <linux/slab.h>
635d2b00 13#include "csr_msgconv.h"
635d2b00
GKH
14#include "csr_wifi_router_prim.h"
15#include "csr_wifi_router_serialize.h"
16
17void CsrWifiRouterPfree(void *ptr)
18{
55a27055 19 kfree(ptr);
635d2b00
GKH
20}
21
22
d4fda8db 23size_t CsrWifiRouterMaPacketSubscribeReqSizeof(void *msg)
635d2b00 24{
d4fda8db 25 size_t bufferSize = 2;
635d2b00
GKH
26
27 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 12) */
8c87f69a 28 bufferSize += 2; /* u16 primitive->interfaceTag */
635d2b00 29 bufferSize += 1; /* CsrWifiRouterEncapsulation primitive->encapsulation */
8c87f69a 30 bufferSize += 2; /* u16 primitive->protocol */
26a6b2e1 31 bufferSize += 4; /* u32 primitive->oui */
635d2b00
GKH
32 return bufferSize;
33}
34
35
d4fda8db 36u8* CsrWifiRouterMaPacketSubscribeReqSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
37{
38 CsrWifiRouterMaPacketSubscribeReq *primitive = (CsrWifiRouterMaPacketSubscribeReq *)msg;
39 *len = 0;
40 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a 41 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
7e6f5794 42 CsrUint8Ser(ptr, len, (u8) primitive->encapsulation);
8c87f69a 43 CsrUint16Ser(ptr, len, (u16) primitive->protocol);
26a6b2e1 44 CsrUint32Ser(ptr, len, (u32) primitive->oui);
635d2b00
GKH
45 return(ptr);
46}
47
48
d4fda8db 49void* CsrWifiRouterMaPacketSubscribeReqDes(u8 *buffer, size_t length)
635d2b00 50{
786eeeb3 51 CsrWifiRouterMaPacketSubscribeReq *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeReq), GFP_KERNEL);
d4fda8db 52 size_t offset;
635d2b00
GKH
53 offset = 0;
54
55 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a 56 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
7e6f5794 57 CsrUint8Des((u8 *) &primitive->encapsulation, buffer, &offset);
8c87f69a 58 CsrUint16Des((u16 *) &primitive->protocol, buffer, &offset);
26a6b2e1 59 CsrUint32Des((u32 *) &primitive->oui, buffer, &offset);
635d2b00
GKH
60
61 return primitive;
62}
63
64
d4fda8db 65size_t CsrWifiRouterMaPacketReqSizeof(void *msg)
635d2b00
GKH
66{
67 CsrWifiRouterMaPacketReq *primitive = (CsrWifiRouterMaPacketReq *) msg;
d4fda8db 68 size_t bufferSize = 2;
635d2b00
GKH
69
70 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 20) */
8c87f69a 71 bufferSize += 2; /* u16 primitive->interfaceTag */
7e6f5794 72 bufferSize += 1; /* u8 primitive->subscriptionHandle */
8c87f69a 73 bufferSize += 2; /* u16 primitive->frameLength */
7e6f5794 74 bufferSize += primitive->frameLength; /* u8 primitive->frame */
635d2b00
GKH
75 bufferSize += 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
76 bufferSize += 2; /* CsrWifiRouterPriority primitive->priority */
26a6b2e1 77 bufferSize += 4; /* u32 primitive->hostTag */
5379b13d 78 bufferSize += 1; /* u8 primitive->cfmRequested */
635d2b00
GKH
79 return bufferSize;
80}
81
82
d4fda8db 83u8* CsrWifiRouterMaPacketReqSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
84{
85 CsrWifiRouterMaPacketReq *primitive = (CsrWifiRouterMaPacketReq *)msg;
86 *len = 0;
87 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a 88 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
7e6f5794 89 CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
8c87f69a 90 CsrUint16Ser(ptr, len, (u16) primitive->frameLength);
635d2b00
GKH
91 if (primitive->frameLength)
92 {
8c87f69a 93 CsrMemCpySer(ptr, len, (const void *) primitive->frame, ((u16) (primitive->frameLength)));
635d2b00
GKH
94 }
95 CsrUint32Ser(ptr, len, 0); /* Special for Function Pointers... primitive->freeFunction */
8c87f69a 96 CsrUint16Ser(ptr, len, (u16) primitive->priority);
26a6b2e1 97 CsrUint32Ser(ptr, len, (u32) primitive->hostTag);
7e6f5794 98 CsrUint8Ser(ptr, len, (u8) primitive->cfmRequested);
635d2b00
GKH
99 return(ptr);
100}
101
102
d4fda8db 103void* CsrWifiRouterMaPacketReqDes(u8 *buffer, size_t length)
635d2b00 104{
786eeeb3 105 CsrWifiRouterMaPacketReq *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketReq), GFP_KERNEL);
d4fda8db 106 size_t offset;
635d2b00
GKH
107 offset = 0;
108
109 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a 110 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
7e6f5794 111 CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
8c87f69a 112 CsrUint16Des((u16 *) &primitive->frameLength, buffer, &offset);
635d2b00
GKH
113 if (primitive->frameLength)
114 {
786eeeb3 115 primitive->frame = kmalloc(primitive->frameLength, GFP_KERNEL);
8c87f69a 116 CsrMemCpyDes(primitive->frame, buffer, &offset, ((u16) (primitive->frameLength)));
635d2b00
GKH
117 }
118 else
119 {
120 primitive->frame = NULL;
121 }
122 primitive->freeFunction = NULL; /* Special for Function Pointers... */
123 offset += 4;
8c87f69a 124 CsrUint16Des((u16 *) &primitive->priority, buffer, &offset);
26a6b2e1 125 CsrUint32Des((u32 *) &primitive->hostTag, buffer, &offset);
7e6f5794 126 CsrUint8Des((u8 *) &primitive->cfmRequested, buffer, &offset);
635d2b00
GKH
127
128 return primitive;
129}
130
131
132void CsrWifiRouterMaPacketReqSerFree(void *voidPrimitivePointer)
133{
134 CsrWifiRouterMaPacketReq *primitive = (CsrWifiRouterMaPacketReq *) voidPrimitivePointer;
55a27055
GKH
135 kfree(primitive->frame);
136 kfree(primitive);
635d2b00
GKH
137}
138
139
d4fda8db 140size_t CsrWifiRouterMaPacketResSizeof(void *msg)
635d2b00 141{
d4fda8db 142 size_t bufferSize = 2;
635d2b00
GKH
143
144 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 8) */
8c87f69a 145 bufferSize += 2; /* u16 primitive->interfaceTag */
7e6f5794 146 bufferSize += 1; /* u8 primitive->subscriptionHandle */
635d2b00
GKH
147 bufferSize += 2; /* CsrResult primitive->result */
148 return bufferSize;
149}
150
151
d4fda8db 152u8* CsrWifiRouterMaPacketResSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
153{
154 CsrWifiRouterMaPacketRes *primitive = (CsrWifiRouterMaPacketRes *)msg;
155 *len = 0;
156 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a 157 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
7e6f5794 158 CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
8c87f69a 159 CsrUint16Ser(ptr, len, (u16) primitive->result);
635d2b00
GKH
160 return(ptr);
161}
162
163
d4fda8db 164void* CsrWifiRouterMaPacketResDes(u8 *buffer, size_t length)
635d2b00 165{
786eeeb3 166 CsrWifiRouterMaPacketRes *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketRes), GFP_KERNEL);
d4fda8db 167 size_t offset;
635d2b00
GKH
168 offset = 0;
169
170 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a 171 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
7e6f5794 172 CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
8c87f69a 173 CsrUint16Des((u16 *) &primitive->result, buffer, &offset);
635d2b00
GKH
174
175 return primitive;
176}
177
178
d4fda8db 179size_t CsrWifiRouterMaPacketCancelReqSizeof(void *msg)
635d2b00 180{
d4fda8db 181 size_t bufferSize = 2;
635d2b00
GKH
182
183 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 17) */
8c87f69a 184 bufferSize += 2; /* u16 primitive->interfaceTag */
26a6b2e1 185 bufferSize += 4; /* u32 primitive->hostTag */
635d2b00 186 bufferSize += 2; /* CsrWifiRouterPriority primitive->priority */
7e6f5794 187 bufferSize += 6; /* u8 primitive->peerMacAddress.a[6] */
635d2b00
GKH
188 return bufferSize;
189}
190
191
d4fda8db 192u8* CsrWifiRouterMaPacketCancelReqSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
193{
194 CsrWifiRouterMaPacketCancelReq *primitive = (CsrWifiRouterMaPacketCancelReq *)msg;
195 *len = 0;
196 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a 197 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
26a6b2e1 198 CsrUint32Ser(ptr, len, (u32) primitive->hostTag);
8c87f69a
GKH
199 CsrUint16Ser(ptr, len, (u16) primitive->priority);
200 CsrMemCpySer(ptr, len, (const void *) primitive->peerMacAddress.a, ((u16) (6)));
635d2b00
GKH
201 return(ptr);
202}
203
204
d4fda8db 205void* CsrWifiRouterMaPacketCancelReqDes(u8 *buffer, size_t length)
635d2b00 206{
786eeeb3 207 CsrWifiRouterMaPacketCancelReq *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketCancelReq), GFP_KERNEL);
d4fda8db 208 size_t offset;
635d2b00
GKH
209 offset = 0;
210
211 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a 212 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
26a6b2e1 213 CsrUint32Des((u32 *) &primitive->hostTag, buffer, &offset);
8c87f69a
GKH
214 CsrUint16Des((u16 *) &primitive->priority, buffer, &offset);
215 CsrMemCpyDes(primitive->peerMacAddress.a, buffer, &offset, ((u16) (6)));
635d2b00
GKH
216
217 return primitive;
218}
219
220
d4fda8db 221size_t CsrWifiRouterMaPacketSubscribeCfmSizeof(void *msg)
635d2b00 222{
d4fda8db 223 size_t bufferSize = 2;
635d2b00
GKH
224
225 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 10) */
8c87f69a 226 bufferSize += 2; /* u16 primitive->interfaceTag */
7e6f5794 227 bufferSize += 1; /* u8 primitive->subscriptionHandle */
635d2b00 228 bufferSize += 2; /* CsrResult primitive->status */
8c87f69a 229 bufferSize += 2; /* u16 primitive->allocOffset */
635d2b00
GKH
230 return bufferSize;
231}
232
233
d4fda8db 234u8* CsrWifiRouterMaPacketSubscribeCfmSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
235{
236 CsrWifiRouterMaPacketSubscribeCfm *primitive = (CsrWifiRouterMaPacketSubscribeCfm *)msg;
237 *len = 0;
238 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a 239 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
7e6f5794 240 CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
8c87f69a
GKH
241 CsrUint16Ser(ptr, len, (u16) primitive->status);
242 CsrUint16Ser(ptr, len, (u16) primitive->allocOffset);
635d2b00
GKH
243 return(ptr);
244}
245
246
d4fda8db 247void* CsrWifiRouterMaPacketSubscribeCfmDes(u8 *buffer, size_t length)
635d2b00 248{
786eeeb3 249 CsrWifiRouterMaPacketSubscribeCfm *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketSubscribeCfm), GFP_KERNEL);
d4fda8db 250 size_t offset;
635d2b00
GKH
251 offset = 0;
252
253 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a 254 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
7e6f5794 255 CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
8c87f69a
GKH
256 CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
257 CsrUint16Des((u16 *) &primitive->allocOffset, buffer, &offset);
635d2b00
GKH
258
259 return primitive;
260}
261
262
d4fda8db 263size_t CsrWifiRouterMaPacketUnsubscribeCfmSizeof(void *msg)
635d2b00 264{
d4fda8db 265 size_t bufferSize = 2;
635d2b00
GKH
266
267 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 7) */
8c87f69a 268 bufferSize += 2; /* u16 primitive->interfaceTag */
635d2b00
GKH
269 bufferSize += 2; /* CsrResult primitive->status */
270 return bufferSize;
271}
272
273
d4fda8db 274u8* CsrWifiRouterMaPacketUnsubscribeCfmSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
275{
276 CsrWifiRouterMaPacketUnsubscribeCfm *primitive = (CsrWifiRouterMaPacketUnsubscribeCfm *)msg;
277 *len = 0;
278 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a
GKH
279 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
280 CsrUint16Ser(ptr, len, (u16) primitive->status);
635d2b00
GKH
281 return(ptr);
282}
283
284
d4fda8db 285void* CsrWifiRouterMaPacketUnsubscribeCfmDes(u8 *buffer, size_t length)
635d2b00 286{
786eeeb3 287 CsrWifiRouterMaPacketUnsubscribeCfm *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketUnsubscribeCfm), GFP_KERNEL);
d4fda8db 288 size_t offset;
635d2b00
GKH
289 offset = 0;
290
291 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a
GKH
292 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
293 CsrUint16Des((u16 *) &primitive->status, buffer, &offset);
635d2b00
GKH
294
295 return primitive;
296}
297
298
d4fda8db 299size_t CsrWifiRouterMaPacketCfmSizeof(void *msg)
635d2b00 300{
d4fda8db 301 size_t bufferSize = 2;
635d2b00
GKH
302
303 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 13) */
8c87f69a 304 bufferSize += 2; /* u16 primitive->interfaceTag */
635d2b00 305 bufferSize += 2; /* CsrResult primitive->result */
26a6b2e1 306 bufferSize += 4; /* u32 primitive->hostTag */
8c87f69a 307 bufferSize += 2; /* u16 primitive->rate */
635d2b00
GKH
308 return bufferSize;
309}
310
311
d4fda8db 312u8* CsrWifiRouterMaPacketCfmSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
313{
314 CsrWifiRouterMaPacketCfm *primitive = (CsrWifiRouterMaPacketCfm *)msg;
315 *len = 0;
316 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a
GKH
317 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
318 CsrUint16Ser(ptr, len, (u16) primitive->result);
26a6b2e1 319 CsrUint32Ser(ptr, len, (u32) primitive->hostTag);
8c87f69a 320 CsrUint16Ser(ptr, len, (u16) primitive->rate);
635d2b00
GKH
321 return(ptr);
322}
323
324
d4fda8db 325void* CsrWifiRouterMaPacketCfmDes(u8 *buffer, size_t length)
635d2b00 326{
786eeeb3 327 CsrWifiRouterMaPacketCfm *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketCfm), GFP_KERNEL);
d4fda8db 328 size_t offset;
635d2b00
GKH
329 offset = 0;
330
331 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a
GKH
332 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
333 CsrUint16Des((u16 *) &primitive->result, buffer, &offset);
26a6b2e1 334 CsrUint32Des((u32 *) &primitive->hostTag, buffer, &offset);
8c87f69a 335 CsrUint16Des((u16 *) &primitive->rate, buffer, &offset);
635d2b00
GKH
336
337 return primitive;
338}
339
340
d4fda8db 341size_t CsrWifiRouterMaPacketIndSizeof(void *msg)
635d2b00
GKH
342{
343 CsrWifiRouterMaPacketInd *primitive = (CsrWifiRouterMaPacketInd *) msg;
d4fda8db 344 size_t bufferSize = 2;
635d2b00
GKH
345
346 /* Calculate the Size of the Serialised Data. Could be more efficient (Try 21) */
8c87f69a 347 bufferSize += 2; /* u16 primitive->interfaceTag */
7e6f5794 348 bufferSize += 1; /* u8 primitive->subscriptionHandle */
635d2b00 349 bufferSize += 2; /* CsrResult primitive->result */
8c87f69a 350 bufferSize += 2; /* u16 primitive->frameLength */
7e6f5794 351 bufferSize += primitive->frameLength; /* u8 primitive->frame */
635d2b00 352 bufferSize += 4; /* CsrWifiRouterFrameFreeFunction primitive->freeFunction */
ab2b8c73
GKH
353 bufferSize += 2; /* s16 primitive->rssi */
354 bufferSize += 2; /* s16 primitive->snr */
8c87f69a 355 bufferSize += 2; /* u16 primitive->rate */
635d2b00
GKH
356 return bufferSize;
357}
358
359
d4fda8db 360u8* CsrWifiRouterMaPacketIndSer(u8 *ptr, size_t *len, void *msg)
635d2b00
GKH
361{
362 CsrWifiRouterMaPacketInd *primitive = (CsrWifiRouterMaPacketInd *)msg;
363 *len = 0;
364 CsrUint16Ser(ptr, len, primitive->common.type);
8c87f69a 365 CsrUint16Ser(ptr, len, (u16) primitive->interfaceTag);
7e6f5794 366 CsrUint8Ser(ptr, len, (u8) primitive->subscriptionHandle);
8c87f69a
GKH
367 CsrUint16Ser(ptr, len, (u16) primitive->result);
368 CsrUint16Ser(ptr, len, (u16) primitive->frameLength);
635d2b00
GKH
369 if (primitive->frameLength)
370 {
8c87f69a 371 CsrMemCpySer(ptr, len, (const void *) primitive->frame, ((u16) (primitive->frameLength)));
635d2b00
GKH
372 }
373 CsrUint32Ser(ptr, len, 0); /* Special for Function Pointers... primitive->freeFunction */
8c87f69a
GKH
374 CsrUint16Ser(ptr, len, (u16) primitive->rssi);
375 CsrUint16Ser(ptr, len, (u16) primitive->snr);
376 CsrUint16Ser(ptr, len, (u16) primitive->rate);
635d2b00
GKH
377 return(ptr);
378}
379
380
d4fda8db 381void* CsrWifiRouterMaPacketIndDes(u8 *buffer, size_t length)
635d2b00 382{
786eeeb3 383 CsrWifiRouterMaPacketInd *primitive = kmalloc(sizeof(CsrWifiRouterMaPacketInd), GFP_KERNEL);
d4fda8db 384 size_t offset;
635d2b00
GKH
385 offset = 0;
386
387 CsrUint16Des(&primitive->common.type, buffer, &offset);
8c87f69a 388 CsrUint16Des((u16 *) &primitive->interfaceTag, buffer, &offset);
7e6f5794 389 CsrUint8Des((u8 *) &primitive->subscriptionHandle, buffer, &offset);
8c87f69a
GKH
390 CsrUint16Des((u16 *) &primitive->result, buffer, &offset);
391 CsrUint16Des((u16 *) &primitive->frameLength, buffer, &offset);
635d2b00
GKH
392 if (primitive->frameLength)
393 {
786eeeb3 394 primitive->frame = kmalloc(primitive->frameLength, GFP_KERNEL);
8c87f69a 395 CsrMemCpyDes(primitive->frame, buffer, &offset, ((u16) (primitive->frameLength)));
635d2b00
GKH
396 }
397 else
398 {
399 primitive->frame = NULL;
400 }
401 primitive->freeFunction = NULL; /* Special for Function Pointers... */
402 offset += 4;
8c87f69a
GKH
403 CsrUint16Des((u16 *) &primitive->rssi, buffer, &offset);
404 CsrUint16Des((u16 *) &primitive->snr, buffer, &offset);
405 CsrUint16Des((u16 *) &primitive->rate, buffer, &offset);
635d2b00
GKH
406
407 return primitive;
408}
409
410
411void CsrWifiRouterMaPacketIndSerFree(void *voidPrimitivePointer)
412{
413 CsrWifiRouterMaPacketInd *primitive = (CsrWifiRouterMaPacketInd *) voidPrimitivePointer;
55a27055
GKH
414 kfree(primitive->frame);
415 kfree(primitive);
635d2b00
GKH
416}
417
418