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
15typedef char		CHAR;
16typedef short		SHORT;
17typedef long		LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
18typedef	long		LONG __attribute__ ((__mode__ (__SI__)));
19typedef unsigned char	UCHAR;
20typedef unsigned short	USHORT;
21typedef unsigned long	ULONG __attribute__ ((__mode__ (__SI__)));
22typedef 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.  */
27typedef LONG		_PCHAR;
28typedef LONG		_PSHORT;
29typedef LONG		_PLARGE_INTEGER;
30typedef	LONG		_PLONG;
31typedef LONG		_PUCHAR;
32typedef LONG		_PUSHORT;
33typedef LONG		_PULONG;
34typedef LONG		_PVOID;
35
36#endif /* CONFIG_ARC32 */
37
38#ifdef CONFIG_ARC64
39
40typedef char		CHAR;
41typedef short		SHORT;
42typedef long		LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
43typedef	long		LONG __attribute__ ((__mode__ (__DI__)));
44typedef unsigned char	UCHAR;
45typedef unsigned short	USHORT;
46typedef unsigned long	ULONG __attribute__ ((__mode__ (__DI__)));
47typedef void		VOID;
48
49/* The pointer types.  We're 64-bit and the firmware is also 64-bit, so
50   live is sane ...  */
51typedef CHAR		*_PCHAR;
52typedef SHORT		*_PSHORT;
53typedef LARGE_INTEGER	*_PLARGE_INTEGER;
54typedef	LONG		*_PLONG;
55typedef UCHAR		*_PUCHAR;
56typedef USHORT		*_PUSHORT;
57typedef ULONG		*_PULONG;
58typedef VOID		*_PVOID;
59
60#endif /* CONFIG_ARC64  */
61
62typedef CHAR		*PCHAR;
63typedef SHORT		*PSHORT;
64typedef LARGE_INTEGER	*PLARGE_INTEGER;
65typedef	LONG		*PLONG;
66typedef UCHAR		*PUCHAR;
67typedef USHORT		*PUSHORT;
68typedef ULONG		*PULONG;
69typedef VOID		*PVOID;
70
71/*
72 * Return type of ArcGetDisplayStatus()
73 */
74typedef 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 */
87