1/* $Id: types.h,v 1.1.1.1 2007/08/03 18:53:37 Exp $ */ 2#ifndef _SPARC64_TYPES_H 3#define _SPARC64_TYPES_H 4 5/* 6 * This file is never included by application software unless 7 * explicitly requested (e.g., via linux/types.h) in which case the 8 * application is Linux specific so (user-) name space pollution is 9 * not a major issue. However, for interoperability, libraries still 10 * need to be careful to avoid a name clashes. 11 */ 12 13#ifndef __ASSEMBLY__ 14 15typedef 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 22typedef __signed__ char __s8; 23typedef unsigned char __u8; 24 25typedef __signed__ short __s16; 26typedef unsigned short __u16; 27 28typedef __signed__ int __s32; 29typedef unsigned int __u32; 30 31typedef __signed__ long __s64; 32typedef unsigned long __u64; 33 34#endif /* __ASSEMBLY__ */ 35 36#ifdef __KERNEL__ 37 38#define BITS_PER_LONG 64 39 40#ifndef __ASSEMBLY__ 41 42typedef __signed__ char s8; 43typedef unsigned char u8; 44 45typedef __signed__ short s16; 46typedef unsigned short u16; 47 48typedef __signed__ int s32; 49typedef unsigned int u32; 50 51typedef __signed__ long s64; 52typedef unsigned long u64; 53 54/* Dma addresses come in generic and 64-bit flavours. */ 55 56typedef u32 dma_addr_t; 57typedef u64 dma64_addr_t; 58 59#endif /* __ASSEMBLY__ */ 60 61#endif /* __KERNEL__ */ 62 63#endif /* defined(_SPARC64_TYPES_H) */ 64