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