1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle
7 * Copyright (C) 1999 Silicon Graphics, Inc.
8 */
9#ifndef _ASM_TYPES_H
10#define _ASM_TYPES_H
11
12typedef unsigned int 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 _MIPS_SZLONG == 64
29
30typedef __signed__ long __s64;
31typedef unsigned long __u64;
32
33#else
34
35#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
36typedef __signed__ long long __s64;
37typedef unsigned long long __u64;
38#endif
39
40#endif
41
42/*
43 * These aren't exported outside the kernel to avoid name space clashes
44 */
45#ifdef __KERNEL__
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
56#if _MIPS_SZLONG == 64
57
58typedef __signed__ long s64;
59typedef unsigned long u64;
60
61#else
62
63#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
64typedef __signed__ long long s64;
65typedef unsigned long long u64;
66#endif
67
68#endif
69
70#define BITS_PER_LONG _MIPS_SZLONG
71
72typedef u64 dma_addr_t;
73typedef u64 dma64_addr_t;
74
75typedef unsigned long phys_t;
76
77#endif /* __KERNEL__ */
78
79#endif /* _ASM_TYPES_H */
80