1#ifndef _X86_64_TYPES_H 2#define _X86_64_TYPES_H 3 4#ifndef __ASSEMBLY__ 5 6typedef unsigned short umode_t; 7 8/* 9 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 10 * header files exported to user space 11 */ 12 13typedef __signed__ char __s8; 14typedef unsigned char __u8; 15 16typedef __signed__ short __s16; 17typedef unsigned short __u16; 18 19typedef __signed__ int __s32; 20typedef unsigned int __u32; 21 22typedef __signed__ long long __s64; 23typedef unsigned long long __u64; 24 25#endif /* __ASSEMBLY__ */ 26 27/* 28 * These aren't exported outside the kernel to avoid name space clashes 29 */ 30#ifdef __KERNEL__ 31 32#define BITS_PER_LONG 64 33 34#ifndef __ASSEMBLY__ 35 36typedef signed char s8; 37typedef unsigned char u8; 38 39typedef signed short s16; 40typedef unsigned short u16; 41 42typedef signed int s32; 43typedef unsigned int u32; 44 45typedef signed long long s64; 46typedef unsigned long long u64; 47 48typedef u64 dma64_addr_t; 49typedef u64 dma_addr_t; 50 51#endif /* __ASSEMBLY__ */ 52 53#endif /* __KERNEL__ */ 54 55#endif 56