1 #ifndef _LUSTRE_LINUX_TYPES_H
2 #define _LUSTRE_LINUX_TYPES_H
4 #ifdef HAVE_ASM_TYPES_H
9 # include <linux/types.h>
10 # include <linux/fs.h> /* to check for FMODE_EXEC, dev_t, lest we redefine */
13 # include <sys/types.h>
15 # include <inttypes.h>
21 #if !defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
22 !defined(_EXT2_TYPES_H) && !defined(_I386_TYPES_H) && \
23 !defined(_ASM_IA64_TYPES_H) && !defined(_X86_64_TYPES_H) && \
24 !defined(_PPC_TYPES_H) && !defined(_PPC64_TYPES_H) && \
25 !defined(_ASM_POWERPC_TYPES_H) && !defined(__mips64__)
26 /* yuck, would be nicer with _ASM_TYPES_H */
28 typedef unsigned short umode_t;
30 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
31 * header files exported to user space
34 typedef __signed__ char __s8;
35 typedef unsigned char __u8;
37 typedef __signed__ short __s16;
38 typedef unsigned short __u16;
40 typedef __signed__ int __s32;
41 typedef unsigned int __u32;
43 typedef __signed__ long long __s64;
44 typedef unsigned long long __u64;