Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6] / include / asm-mips / arc / types.h
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 1999 Ralf Baechle (ralf@gnu.org)
7  * Copyright 1999 Silicon Graphics, Inc.
8  */
9 #ifndef _ASM_ARC_TYPES_H
10 #define _ASM_ARC_TYPES_H
11
12
13 #ifdef CONFIG_ARC32
14
15 typedef char            CHAR;
16 typedef short           SHORT;
17 typedef long            LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
18 typedef long            LONG __attribute__ ((__mode__ (__SI__)));
19 typedef unsigned char   UCHAR;
20 typedef unsigned short  USHORT;
21 typedef unsigned long   ULONG __attribute__ ((__mode__ (__SI__)));
22 typedef void            VOID;
23
24 /* The pointer types.  Note that we're using a 64-bit compiler but all
25    pointer in the ARC structures are only 32-bit, so we need some disgusting
26    workarounds.  Keep your vomit bag handy.  */
27 typedef LONG            _PCHAR;
28 typedef LONG            _PSHORT;
29 typedef LONG            _PLARGE_INTEGER;
30 typedef LONG            _PLONG;
31 typedef LONG            _PUCHAR;
32 typedef LONG            _PUSHORT;
33 typedef LONG            _PULONG;
34 typedef LONG            _PVOID;
35
36 #endif /* CONFIG_ARC32 */
37
38 #ifdef CONFIG_ARC64
39
40 typedef char            CHAR;
41 typedef short           SHORT;
42 typedef long            LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
43 typedef long            LONG __attribute__ ((__mode__ (__DI__)));
44 typedef unsigned char   UCHAR;
45 typedef unsigned short  USHORT;
46 typedef unsigned long   ULONG __attribute__ ((__mode__ (__DI__)));
47 typedef void            VOID;
48
49 /* The pointer types.  We're 64-bit and the firmware is also 64-bit, so
50    live is sane ...  */
51 typedef CHAR            *_PCHAR;
52 typedef SHORT           *_PSHORT;
53 typedef LARGE_INTEGER   *_PLARGE_INTEGER;
54 typedef LONG            *_PLONG;
55 typedef UCHAR           *_PUCHAR;
56 typedef USHORT          *_PUSHORT;
57 typedef ULONG           *_PULONG;
58 typedef VOID            *_PVOID;
59
60 #endif /* CONFIG_ARC64  */
61
62 typedef CHAR            *PCHAR;
63 typedef SHORT           *PSHORT;
64 typedef LARGE_INTEGER   *PLARGE_INTEGER;
65 typedef LONG            *PLONG;
66 typedef UCHAR           *PUCHAR;
67 typedef USHORT          *PUSHORT;
68 typedef ULONG           *PULONG;
69 typedef VOID            *PVOID;
70
71 /*
72  * Return type of ArcGetDisplayStatus()
73  */
74 typedef struct {
75         USHORT  CursorXPosition;
76         USHORT  CursorYPosition;
77         USHORT  CursorMaxXPosition;
78         USHORT  CursorMaxYPosition;
79         USHORT  ForegroundColor;
80         USHORT  BackgroundColor;
81         UCHAR   HighIntensity;
82         UCHAR   Underscored;
83         UCHAR   ReverseVideo;
84 } DISPLAY_STATUS;
85
86 #endif /* _ASM_ARC_TYPES_H */