]> Pileus Git - ~andy/linux/blob - drivers/staging/csr/csr_lib.h
Merge tag 'asoc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
[~andy/linux] / drivers / staging / csr / csr_lib.h
1 #ifndef CSR_LIB_H__
2 #define CSR_LIB_H__
3 /*****************************************************************************
4
5             (c) Cambridge Silicon Radio Limited 2010
6             All rights reserved and confidential information of CSR
7
8             Refer to LICENSE.txt included with this source for details
9             on the license terms.
10
11 *****************************************************************************/
12
13 #include "csr_prim_defs.h"
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19 typedef struct
20 {
21     CsrPrim type;
22 } CsrEvent;
23
24 /*----------------------------------------------------------------------------*
25  *  CsrEvent_struct
26  *
27  *  DESCRIPTION
28  *      Generic message creator.
29  *      Allocates and fills in a message with the signature CsrEvent
30  *
31  *----------------------------------------------------------------------------*/
32 CsrEvent *CsrEvent_struct(u16 primtype, u16 msgtype);
33
34 typedef struct
35 {
36     CsrPrim  type;
37     u8 value;
38 } CsrEventCsrUint8;
39
40 /*----------------------------------------------------------------------------*
41  *  CsrEventCsrUint8_struct
42  *
43  *  DESCRIPTION
44  *      Generic message creator.
45  *      Allocates and fills in a message with the signature CsrEventCsrUint8
46  *
47  *----------------------------------------------------------------------------*/
48 CsrEventCsrUint8 *CsrEventCsrUint8_struct(u16 primtype, u16 msgtype, u8 value);
49
50 typedef struct
51 {
52     CsrPrim   type;
53     u16 value;
54 } CsrEventCsrUint16;
55
56 /*----------------------------------------------------------------------------*
57  *  CsrEventCsrUint16_struct
58  *
59  *  DESCRIPTION
60  *      Generic message creator.
61  *      Allocates and fills in a message with the signature CsrEventCsrUint16
62  *
63  *----------------------------------------------------------------------------*/
64 CsrEventCsrUint16 *CsrEventCsrUint16_struct(u16 primtype, u16 msgtype, u16 value);
65
66 typedef struct
67 {
68     CsrPrim   type;
69     u16 value1;
70     u8  value2;
71 } CsrEventCsrUint16CsrUint8;
72
73 /*----------------------------------------------------------------------------*
74  *  CsrEventCsrUint16CsrUint8_struct
75  *
76  *  DESCRIPTION
77  *      Generic message creator.
78  *      Allocates and fills in a message with the signature CsrEventCsrUint16CsrUint8
79  *
80  *----------------------------------------------------------------------------*/
81 CsrEventCsrUint16CsrUint8 *CsrEventCsrUint16CsrUint8_struct(u16 primtype, u16 msgtype, u16 value1, u8 value2);
82
83 typedef struct
84 {
85     CsrPrim   type;
86     u16 value1;
87     u16 value2;
88 } CsrEventCsrUint16CsrUint16;
89
90 /*----------------------------------------------------------------------------*
91  *  CsrEventCsrUint16CsrUint16_struct
92  *
93  *  DESCRIPTION
94  *      Generic message creator.
95  *      Allocates and fills in a message with the signature CsrEventCsrUint16CsrUint16
96  *
97  *----------------------------------------------------------------------------*/
98 CsrEventCsrUint16CsrUint16 *CsrEventCsrUint16CsrUint16_struct(u16 primtype, u16 msgtype, u16 value1, u16 value2);
99
100 typedef struct
101 {
102     CsrPrim   type;
103     u16 value1;
104     u32 value2;
105 } CsrEventCsrUint16CsrUint32;
106
107 /*----------------------------------------------------------------------------*
108  *  CsrEventCsrUint16_struct
109  *
110  *  DESCRIPTION
111  *      Generic message creator.
112  *      Allocates and fills in a message with the signature CsrEventCsrUint16
113  *
114  *----------------------------------------------------------------------------*/
115 CsrEventCsrUint16CsrUint32 *CsrEventCsrUint16CsrUint32_struct(u16 primtype, u16 msgtype, u16 value1, u32 value2);
116
117 typedef struct
118 {
119     CsrPrim        type;
120     u16      value1;
121     char *value2;
122 } CsrEventCsrUint16CsrCharString;
123
124 /*----------------------------------------------------------------------------*
125  *  CsrEventCsrUint16CsrCharString_struct
126  *
127  *  DESCRIPTION
128  *      Generic message creator.
129  *      Allocates and fills in a message with the signature CsrEventCsrUint16CsrCharString
130  *
131  *----------------------------------------------------------------------------*/
132 CsrEventCsrUint16CsrCharString *CsrEventCsrUint16CsrCharString_struct(u16 primtype, u16 msgtype, u16 value1, char *value2);
133
134 typedef struct
135 {
136     CsrPrim   type;
137     u32 value;
138 } CsrEventCsrUint32;
139
140 /*----------------------------------------------------------------------------*
141  *  CsrEventCsrUint32_struct
142  *
143  *  DESCRIPTION
144  *      Generic message creator.
145  *      Allocates and fills in a message with the signature CsrEventCsrUint32
146  *
147  *----------------------------------------------------------------------------*/
148 CsrEventCsrUint32 *CsrEventCsrUint32_struct(u16 primtype, u16 msgtype, u32 value);
149
150 typedef struct
151 {
152     CsrPrim   type;
153     u32 value1;
154     u16 value2;
155 } CsrEventCsrUint32CsrUint16;
156
157 /*----------------------------------------------------------------------------*
158  *  CsrEventCsrUint32CsrUint16_struct
159  *
160  *  DESCRIPTION
161  *      Generic message creator.
162  *      Allocates and fills in a message with the signature CsrEventCsrUint32CsrUint16
163  *
164  *----------------------------------------------------------------------------*/
165 CsrEventCsrUint32CsrUint16 *CsrEventCsrUint32CsrUint16_struct(u16 primtype, u16 msgtype, u32 value1, u32 value2);
166
167 typedef struct
168 {
169     CsrPrim        type;
170     u32      value1;
171     char *value2;
172 } CsrEventCsrUint32CsrCharString;
173
174 /*----------------------------------------------------------------------------*
175  *  CsrEventCsrUint32CsrCharString_struct
176  *
177  *  DESCRIPTION
178  *      Generic message creator.
179  *      Allocates and fills in a message with the signature CsrEventCsrUint32CsrCharString
180  *
181  *----------------------------------------------------------------------------*/
182 CsrEventCsrUint32CsrCharString *CsrEventCsrUint32CsrCharString_struct(u16 primtype, u16 msgtype, u32 value1, char *value2);
183
184 #ifdef __cplusplus
185 }
186 #endif
187
188 #endif /* CSR_LIB_H__ */