Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
422 | giacomo | 1 | /* atmapi.h - ATM API user space/kernel compatibility */ |
2 | |||
3 | /* Written 1999,2000 by Werner Almesberger, EPFL ICA */ |
||
4 | |||
5 | |||
6 | #ifndef _LINUX_ATMAPI_H |
||
7 | #define _LINUX_ATMAPI_H |
||
8 | |||
9 | #if defined(__sparc__) || defined(__ia64__) |
||
10 | /* such alignment is not required on 32 bit sparcs, but we can't |
||
11 | figure that we are on a sparc64 while compiling user-space programs. */ |
||
12 | #define __ATM_API_ALIGN __attribute__((aligned(8))) |
||
13 | #else |
||
14 | #define __ATM_API_ALIGN |
||
15 | #endif |
||
16 | |||
17 | |||
18 | /* |
||
19 | * Opaque type for kernel pointers. Note that _ is never accessed. We need |
||
20 | * the struct in order hide the array, so that we can make simple assignments |
||
21 | * instead of being forced to use memcpy. It also improves error reporting for |
||
22 | * code that still assumes that we're passing unsigned longs. |
||
23 | * |
||
24 | * Convention: NULL pointers are passed as a field of all zeroes. |
||
25 | */ |
||
26 | |||
27 | typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t; |
||
28 | |||
29 | #endif |