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