at v2.6.25 70 lines 1.3 kB view raw
1#ifndef _ASM_X86_TYPES_H 2#define _ASM_X86_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#ifdef __i386__ 23# ifdef __GNUC__ 24__extension__ typedef __signed__ long long __s64; 25__extension__ typedef unsigned long long __u64; 26# endif 27#else 28typedef __signed__ long long __s64; 29typedef unsigned long long __u64; 30#endif 31 32#endif /* __ASSEMBLY__ */ 33 34/* 35 * These aren't exported outside the kernel to avoid name space clashes 36 */ 37#ifdef __KERNEL__ 38 39#ifdef CONFIG_X86_32 40# define BITS_PER_LONG 32 41#else 42# define BITS_PER_LONG 64 43#endif 44 45#ifndef __ASSEMBLY__ 46 47typedef signed char s8; 48typedef unsigned char u8; 49 50typedef signed short s16; 51typedef unsigned short u16; 52 53typedef signed int s32; 54typedef unsigned int u32; 55 56typedef signed long long s64; 57typedef unsigned long long u64; 58 59typedef u64 dma64_addr_t; 60#if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) 61/* DMA addresses come in 32-bit and 64-bit flavours. */ 62typedef u64 dma_addr_t; 63#else 64typedef u32 dma_addr_t; 65#endif 66 67#endif /* __ASSEMBLY__ */ 68#endif /* __KERNEL__ */ 69 70#endif