diff options
author | Jan Blunck <jblunck@suse.de> | 2006-01-08 04:05:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 23:14:08 -0500 |
commit | 9fe656e91fd95d0893cc4831b032e0be60791bd7 (patch) | |
tree | 0bd4921aafc53cae6256be8e73db9fe66e8a03d9 /drivers/isdn/act2000 | |
parent | bfc090c468b33fb1f75c27a11efa7b7dc250556f (diff) |
[PATCH] i4l: __attribute__((packed)) for the CAPI message structs
The CAPI message structs itself should be packed and not the location of
single fields in the structure.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/isdn/act2000')
-rw-r--r-- | drivers/isdn/act2000/capi.h | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/drivers/isdn/act2000/capi.h b/drivers/isdn/act2000/capi.h index e82a9289ad9..49f453c53c6 100644 --- a/drivers/isdn/act2000/capi.h +++ b/drivers/isdn/act2000/capi.h | |||
@@ -78,29 +78,29 @@ typedef union actcapi_infoel { /* info element */ | |||
78 | typedef struct actcapi_msn { | 78 | typedef struct actcapi_msn { |
79 | __u8 eaz; | 79 | __u8 eaz; |
80 | __u8 len; /* Length of MSN */ | 80 | __u8 len; /* Length of MSN */ |
81 | __u8 msn[15] __attribute__ ((packed)); | 81 | __u8 msn[15]; |
82 | } actcapi_msn; | 82 | } __attribute__((packed)) actcapi_msn; |
83 | 83 | ||
84 | typedef struct actcapi_dlpd { | 84 | typedef struct actcapi_dlpd { |
85 | __u8 len; /* Length of structure */ | 85 | __u8 len; /* Length of structure */ |
86 | __u16 dlen __attribute__ ((packed)); /* Data Length */ | 86 | __u16 dlen; /* Data Length */ |
87 | __u8 laa __attribute__ ((packed)); /* Link Address A */ | 87 | __u8 laa; /* Link Address A */ |
88 | __u8 lab; /* Link Address B */ | 88 | __u8 lab; /* Link Address B */ |
89 | __u8 modulo; /* Modulo Mode */ | 89 | __u8 modulo; /* Modulo Mode */ |
90 | __u8 win; /* Window size */ | 90 | __u8 win; /* Window size */ |
91 | __u8 xid[100]; /* XID Information */ | 91 | __u8 xid[100]; /* XID Information */ |
92 | } actcapi_dlpd; | 92 | } __attribute__((packed)) actcapi_dlpd; |
93 | 93 | ||
94 | typedef struct actcapi_ncpd { | 94 | typedef struct actcapi_ncpd { |
95 | __u8 len; /* Length of structure */ | 95 | __u8 len; /* Length of structure */ |
96 | __u16 lic __attribute__ ((packed)); | 96 | __u16 lic; |
97 | __u16 hic __attribute__ ((packed)); | 97 | __u16 hic; |
98 | __u16 ltc __attribute__ ((packed)); | 98 | __u16 ltc; |
99 | __u16 htc __attribute__ ((packed)); | 99 | __u16 htc; |
100 | __u16 loc __attribute__ ((packed)); | 100 | __u16 loc; |
101 | __u16 hoc __attribute__ ((packed)); | 101 | __u16 hoc; |
102 | __u8 modulo __attribute__ ((packed)); | 102 | __u8 modulo; |
103 | } actcapi_ncpd; | 103 | } __attribute__((packed)) actcapi_ncpd; |
104 | #define actcapi_ncpi actcapi_ncpd | 104 | #define actcapi_ncpi actcapi_ncpd |
105 | 105 | ||
106 | /* | 106 | /* |
@@ -168,19 +168,19 @@ typedef struct actcapi_msg { | |||
168 | __u16 manuf_msg; | 168 | __u16 manuf_msg; |
169 | __u16 controller; | 169 | __u16 controller; |
170 | actcapi_msn msnmap; | 170 | actcapi_msn msnmap; |
171 | } manufacturer_req_msn; | 171 | } __attribute ((packed)) manufacturer_req_msn; |
172 | /* TODO: TraceInit-req/conf/ind/resp and | 172 | /* TODO: TraceInit-req/conf/ind/resp and |
173 | * TraceDump-req/conf/ind/resp | 173 | * TraceDump-req/conf/ind/resp |
174 | */ | 174 | */ |
175 | struct connect_req { | 175 | struct connect_req { |
176 | __u8 controller; | 176 | __u8 controller; |
177 | __u8 bchan; | 177 | __u8 bchan; |
178 | __u32 infomask __attribute__ ((packed)); | 178 | __u32 infomask; |
179 | __u8 si1; | 179 | __u8 si1; |
180 | __u8 si2; | 180 | __u8 si2; |
181 | __u8 eaz; | 181 | __u8 eaz; |
182 | actcapi_addr addr; | 182 | actcapi_addr addr; |
183 | } connect_req; | 183 | } __attribute__ ((packed)) connect_req; |
184 | struct connect_conf { | 184 | struct connect_conf { |
185 | __u16 plci; | 185 | __u16 plci; |
186 | __u16 info; | 186 | __u16 info; |
@@ -192,7 +192,7 @@ typedef struct actcapi_msg { | |||
192 | __u8 si2; | 192 | __u8 si2; |
193 | __u8 eaz; | 193 | __u8 eaz; |
194 | actcapi_addr addr; | 194 | actcapi_addr addr; |
195 | } connect_ind; | 195 | } __attribute__ ((packed)) connect_ind; |
196 | struct connect_resp { | 196 | struct connect_resp { |
197 | __u16 plci; | 197 | __u16 plci; |
198 | __u8 rejectcause; | 198 | __u8 rejectcause; |
@@ -200,14 +200,14 @@ typedef struct actcapi_msg { | |||
200 | struct connect_active_ind { | 200 | struct connect_active_ind { |
201 | __u16 plci; | 201 | __u16 plci; |
202 | actcapi_addr addr; | 202 | actcapi_addr addr; |
203 | } connect_active_ind; | 203 | } __attribute__ ((packed)) connect_active_ind; |
204 | struct connect_active_resp { | 204 | struct connect_active_resp { |
205 | __u16 plci; | 205 | __u16 plci; |
206 | } connect_active_resp; | 206 | } connect_active_resp; |
207 | struct connect_b3_req { | 207 | struct connect_b3_req { |
208 | __u16 plci; | 208 | __u16 plci; |
209 | actcapi_ncpi ncpi; | 209 | actcapi_ncpi ncpi; |
210 | } connect_b3_req; | 210 | } __attribute__ ((packed)) connect_b3_req; |
211 | struct connect_b3_conf { | 211 | struct connect_b3_conf { |
212 | __u16 plci; | 212 | __u16 plci; |
213 | __u16 ncci; | 213 | __u16 ncci; |
@@ -217,12 +217,12 @@ typedef struct actcapi_msg { | |||
217 | __u16 ncci; | 217 | __u16 ncci; |
218 | __u16 plci; | 218 | __u16 plci; |
219 | actcapi_ncpi ncpi; | 219 | actcapi_ncpi ncpi; |
220 | } connect_b3_ind; | 220 | } __attribute__ ((packed)) connect_b3_ind; |
221 | struct connect_b3_resp { | 221 | struct connect_b3_resp { |
222 | __u16 ncci; | 222 | __u16 ncci; |
223 | __u8 rejectcause; | 223 | __u8 rejectcause; |
224 | actcapi_ncpi ncpi __attribute__ ((packed)); | 224 | actcapi_ncpi ncpi; |
225 | } connect_b3_resp; | 225 | } __attribute__ ((packed)) connect_b3_resp; |
226 | struct disconnect_req { | 226 | struct disconnect_req { |
227 | __u16 plci; | 227 | __u16 plci; |
228 | __u8 cause; | 228 | __u8 cause; |
@@ -241,14 +241,14 @@ typedef struct actcapi_msg { | |||
241 | struct connect_b3_active_ind { | 241 | struct connect_b3_active_ind { |
242 | __u16 ncci; | 242 | __u16 ncci; |
243 | actcapi_ncpi ncpi; | 243 | actcapi_ncpi ncpi; |
244 | } connect_b3_active_ind; | 244 | } __attribute__ ((packed)) connect_b3_active_ind; |
245 | struct connect_b3_active_resp { | 245 | struct connect_b3_active_resp { |
246 | __u16 ncci; | 246 | __u16 ncci; |
247 | } connect_b3_active_resp; | 247 | } connect_b3_active_resp; |
248 | struct disconnect_b3_req { | 248 | struct disconnect_b3_req { |
249 | __u16 ncci; | 249 | __u16 ncci; |
250 | actcapi_ncpi ncpi; | 250 | actcapi_ncpi ncpi; |
251 | } disconnect_b3_req; | 251 | } __attribute__ ((packed)) disconnect_b3_req; |
252 | struct disconnect_b3_conf { | 252 | struct disconnect_b3_conf { |
253 | __u16 ncci; | 253 | __u16 ncci; |
254 | __u16 info; | 254 | __u16 info; |
@@ -257,7 +257,7 @@ typedef struct actcapi_msg { | |||
257 | __u16 ncci; | 257 | __u16 ncci; |
258 | __u16 info; | 258 | __u16 info; |
259 | actcapi_ncpi ncpi; | 259 | actcapi_ncpi ncpi; |
260 | } disconnect_b3_ind; | 260 | } __attribute__ ((packed)) disconnect_b3_ind; |
261 | struct disconnect_b3_resp { | 261 | struct disconnect_b3_resp { |
262 | __u16 ncci; | 262 | __u16 ncci; |
263 | } disconnect_b3_resp; | 263 | } disconnect_b3_resp; |
@@ -265,7 +265,7 @@ typedef struct actcapi_msg { | |||
265 | __u16 plci; | 265 | __u16 plci; |
266 | actcapi_infonr nr; | 266 | actcapi_infonr nr; |
267 | actcapi_infoel el; | 267 | actcapi_infoel el; |
268 | } info_ind; | 268 | } __attribute__ ((packed)) info_ind; |
269 | struct info_resp { | 269 | struct info_resp { |
270 | __u16 plci; | 270 | __u16 plci; |
271 | } info_resp; | 271 | } info_resp; |
@@ -279,8 +279,8 @@ typedef struct actcapi_msg { | |||
279 | struct select_b2_protocol_req { | 279 | struct select_b2_protocol_req { |
280 | __u16 plci; | 280 | __u16 plci; |
281 | __u8 protocol; | 281 | __u8 protocol; |
282 | actcapi_dlpd dlpd __attribute__ ((packed)); | 282 | actcapi_dlpd dlpd; |
283 | } select_b2_protocol_req; | 283 | } __attribute__ ((packed)) select_b2_protocol_req; |
284 | struct select_b2_protocol_conf { | 284 | struct select_b2_protocol_conf { |
285 | __u16 plci; | 285 | __u16 plci; |
286 | __u16 info; | 286 | __u16 info; |
@@ -288,47 +288,47 @@ typedef struct actcapi_msg { | |||
288 | struct select_b3_protocol_req { | 288 | struct select_b3_protocol_req { |
289 | __u16 plci; | 289 | __u16 plci; |
290 | __u8 protocol; | 290 | __u8 protocol; |
291 | actcapi_ncpd ncpd __attribute__ ((packed)); | 291 | actcapi_ncpd ncpd; |
292 | } select_b3_protocol_req; | 292 | } __attribute__ ((packed)) select_b3_protocol_req; |
293 | struct select_b3_protocol_conf { | 293 | struct select_b3_protocol_conf { |
294 | __u16 plci; | 294 | __u16 plci; |
295 | __u16 info; | 295 | __u16 info; |
296 | } select_b3_protocol_conf; | 296 | } select_b3_protocol_conf; |
297 | struct listen_req { | 297 | struct listen_req { |
298 | __u8 controller; | 298 | __u8 controller; |
299 | __u32 infomask __attribute__ ((packed)); | 299 | __u32 infomask; |
300 | __u16 eazmask __attribute__ ((packed)); | 300 | __u16 eazmask; |
301 | __u16 simask __attribute__ ((packed)); | 301 | __u16 simask; |
302 | } listen_req; | 302 | } __attribute__ ((packed)) listen_req; |
303 | struct listen_conf { | 303 | struct listen_conf { |
304 | __u8 controller; | 304 | __u8 controller; |
305 | __u16 info __attribute__ ((packed)); | 305 | __u16 info; |
306 | } listen_conf; | 306 | } __attribute__ ((packed)) listen_conf; |
307 | struct data_b3_req { | 307 | struct data_b3_req { |
308 | __u16 fakencci; | 308 | __u16 fakencci; |
309 | __u16 datalen; | 309 | __u16 datalen; |
310 | __u32 unused; | 310 | __u32 unused; |
311 | __u8 blocknr; | 311 | __u8 blocknr; |
312 | __u16 flags __attribute__ ((packed)); | 312 | __u16 flags; |
313 | } data_b3_req; | 313 | } __attribute ((packed)) data_b3_req; |
314 | struct data_b3_ind { | 314 | struct data_b3_ind { |
315 | __u16 fakencci; | 315 | __u16 fakencci; |
316 | __u16 datalen; | 316 | __u16 datalen; |
317 | __u32 unused; | 317 | __u32 unused; |
318 | __u8 blocknr; | 318 | __u8 blocknr; |
319 | __u16 flags __attribute__ ((packed)); | 319 | __u16 flags; |
320 | } data_b3_ind; | 320 | } __attribute__ ((packed)) data_b3_ind; |
321 | struct data_b3_resp { | 321 | struct data_b3_resp { |
322 | __u16 ncci; | 322 | __u16 ncci; |
323 | __u8 blocknr; | 323 | __u8 blocknr; |
324 | } data_b3_resp; | 324 | } __attribute__ ((packed)) data_b3_resp; |
325 | struct data_b3_conf { | 325 | struct data_b3_conf { |
326 | __u16 ncci; | 326 | __u16 ncci; |
327 | __u8 blocknr; | 327 | __u8 blocknr; |
328 | __u16 info __attribute__ ((packed)); | 328 | __u16 info; |
329 | } data_b3_conf; | 329 | } __attribute__ ((packed)) data_b3_conf; |
330 | } msg; | 330 | } msg; |
331 | } actcapi_msg; | 331 | } __attribute__ ((packed)) actcapi_msg; |
332 | 332 | ||
333 | static inline unsigned short | 333 | static inline unsigned short |
334 | actcapi_nextsmsg(act2000_card *card) | 334 | actcapi_nextsmsg(act2000_card *card) |