1 #ifndef __ASM_SH_TYPES_H 2 #define __ASM_SH_TYPES_H 3 4 #ifndef __ASSEMBLY__ 5 6 typedef 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 13 typedef __signed__ char __s8; 14 typedef unsigned char __u8; 15 16 typedef __signed__ short __s16; 17 typedef unsigned short __u16; 18 19 typedef __signed__ int __s32; 20 typedef unsigned int __u32; 21 22 #if defined(__GNUC__) 23 __extension__ typedef __signed__ long long __s64; 24 __extension__ typedef unsigned long long __u64; 25 #endif 26 27 #endif /* __ASSEMBLY__ */ 28 29 /* 30 * These aren't exported outside the kernel to avoid name space clashes 31 */ 32 #ifdef __KERNEL__ 33 34 #define BITS_PER_LONG 32 35 36 #ifndef __ASSEMBLY__ 37 38 39 typedef __signed__ char s8; 40 typedef unsigned char u8; 41 42 typedef __signed__ short s16; 43 typedef unsigned short u16; 44 45 typedef __signed__ int s32; 46 typedef unsigned int u32; 47 48 typedef __signed__ long long s64; 49 typedef unsigned long long u64; 50 51 /* Dma addresses are 32-bits wide. */ 52 53 typedef u32 dma_addr_t; 54 55 typedef unsigned long phys_addr_t; 56 typedef unsigned long phys_size_t; 57 58 #endif /* __ASSEMBLY__ */ 59 60 #endif /* __KERNEL__ */ 61 62 #endif /* __ASM_SH_TYPES_H */ 63