at v2.6.16 99 lines 1.9 kB view raw
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 12#ifndef __ASSEMBLY__ 13 14typedef unsigned short umode_t; 15 16/* 17 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 18 * header files exported to user space 19 */ 20 21typedef __signed__ char __s8; 22typedef unsigned char __u8; 23 24typedef __signed__ short __s16; 25typedef unsigned short __u16; 26 27typedef __signed__ int __s32; 28typedef unsigned int __u32; 29 30#ifndef __s390x__ 31#if defined(__GNUC__) && !defined(__STRICT_ANSI__) 32typedef __signed__ long long __s64; 33typedef unsigned long long __u64; 34#endif 35#else /* __s390x__ */ 36typedef __signed__ long __s64; 37typedef unsigned long __u64; 38#endif 39 40/* A address type so that arithmetic can be done on it & it can be upgraded to 41 64 bit when necessary 42*/ 43typedef unsigned long addr_t; 44typedef __signed__ long saddr_t; 45 46#endif /* __ASSEMBLY__ */ 47 48/* 49 * These aren't exported outside the kernel to avoid name space clashes 50 */ 51#ifdef __KERNEL__ 52 53#ifndef __s390x__ 54#define BITS_PER_LONG 32 55#else 56#define BITS_PER_LONG 64 57#endif 58 59#ifndef __ASSEMBLY__ 60 61#include <linux/config.h> 62 63typedef signed char s8; 64typedef unsigned char u8; 65 66typedef signed short s16; 67typedef unsigned short u16; 68 69typedef signed int s32; 70typedef unsigned int u32; 71 72#ifndef __s390x__ 73typedef signed long long s64; 74typedef unsigned long long u64; 75#else /* __s390x__ */ 76typedef signed long s64; 77typedef unsigned long u64; 78#endif /* __s390x__ */ 79 80typedef u32 dma_addr_t; 81 82#ifndef __s390x__ 83typedef union { 84 unsigned long long pair; 85 struct { 86 unsigned long even; 87 unsigned long odd; 88 } subreg; 89} register_pair; 90 91#ifdef CONFIG_LBD 92typedef u64 sector_t; 93#define HAVE_SECTOR_T 94#endif 95 96#endif /* ! __s390x__ */ 97#endif /* __ASSEMBLY__ */ 98#endif /* __KERNEL__ */ 99#endif /* _S390_TYPES_H */