1/* 2 * include/asm-s390/types.h 3 * 4 * S390 version 5 * 6 * Derived from "include/asm-i386/types.h" 7 */ 8 9#ifndef _S390_TYPES_H 10#define _S390_TYPES_H 11 12typedef unsigned short umode_t; 13 14/* 15 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 16 * header files exported to user space 17 */ 18 19typedef __signed__ char __s8; 20typedef unsigned char __u8; 21 22typedef __signed__ short __s16; 23typedef unsigned short __u16; 24 25typedef __signed__ int __s32; 26typedef unsigned int __u32; 27 28#if defined(__GNUC__) && !defined(__STRICT_ANSI__) 29typedef __signed__ long long __s64; 30typedef unsigned long long __u64; 31#endif 32/* A address type so that arithmetic can be done on it & it can be upgraded to 33 64 bit when neccessary 34*/ 35typedef __u32 addr_t; 36typedef __s32 saddr_t; 37/* 38 * These aren't exported outside the kernel to avoid name space clashes 39 */ 40#ifdef __KERNEL__ 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 long s64; 52typedef unsigned long long u64; 53 54#define BITS_PER_LONG 32 55 56typedef u32 dma_addr_t; 57 58typedef union { 59 unsigned long long pair; 60 struct { 61 unsigned long even; 62 unsigned long odd; 63 } subreg; 64} register_pair; 65 66#endif /* __KERNEL__ */ 67#endif 68