1 #ifndef __ASM_SH64_TYPES_H 2 #define __ASM_SH64_TYPES_H 3 4 /* 5 * This file is subject to the terms and conditions of the GNU General Public 6 * License. See the file "COPYING" in the main directory of this archive 7 * for more details. 8 * 9 * include/asm-sh64/types.h 10 * 11 * Copyright (C) 2000, 2001 Paolo Alberelli 12 * 13 */ 14 15 typedef unsigned short umode_t; 16 17 /* 18 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 19 * header files exported to user space 20 */ 21 22 typedef __signed__ char __s8; 23 typedef unsigned char __u8; 24 25 typedef __signed__ short __s16; 26 typedef unsigned short __u16; 27 28 typedef __signed__ int __s32; 29 typedef unsigned int __u32; 30 31 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) 32 typedef __signed__ long long __s64; 33 typedef unsigned long long __u64; 34 #endif 35 36 /* 37 * These aren't exported outside the kernel to avoid name space clashes 38 */ 39 #ifdef __KERNEL__ 40 41 typedef __signed__ char s8; 42 typedef unsigned char u8; 43 44 typedef __signed__ short s16; 45 typedef unsigned short u16; 46 47 typedef __signed__ int s32; 48 typedef unsigned int u32; 49 50 typedef __signed__ long long s64; 51 typedef unsigned long long u64; 52 53 #define BITS_PER_LONG 32 54 55 /* DMA addresses come in generic and 64-bit flavours. */ 56 57 #ifdef CONFIG_HIGHMEM64G 58 typedef u64 dma_addr_t; 59 #else 60 typedef u32 dma_addr_t; 61 #endif 62 typedef u64 dma64_addr_t; 63 64 #endif /* __KERNEL__ */ 65 66 #endif /* __ASM_SH64_TYPES_H */ 67