1#ifndef __ASM_SH_TYPES_H 2#define __ASM_SH_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 22#if defined(__GNUC__) && !defined(__STRICT_ANSI__) 23typedef __signed__ long long __s64; 24typedef 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 39typedef __signed__ char s8; 40typedef unsigned char u8; 41 42typedef __signed__ short s16; 43typedef unsigned short u16; 44 45typedef __signed__ int s32; 46typedef unsigned int u32; 47 48typedef __signed__ long long s64; 49typedef unsigned long long u64; 50 51/* Dma addresses are 32-bits wide. */ 52 53typedef u32 dma_addr_t; 54 55#endif /* __ASSEMBLY__ */ 56 57#endif /* __KERNEL__ */ 58 59#endif /* __ASM_SH_TYPES_H */ 60