1633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
2633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * This file is subject to the terms and conditions of the GNU General Public
3633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * License.  See the file "COPYING" in the main directory of this archive
4633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * for more details.
5633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham *
6633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright 1999 Ralf Baechle (ralf@gnu.org)
7633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright 1999 Silicon Graphics, Inc.
8633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
9633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifndef _ASM_ARC_TYPES_H
10633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define _ASM_ARC_TYPES_H
11633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
12633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
13633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef CONFIG_ARC32
14633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
15633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef char		CHAR;
16633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef short		SHORT;
17633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef long		LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
18633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef	long		LONG __attribute__ ((__mode__ (__SI__)));
19633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned char	UCHAR;
20633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned short	USHORT;
21633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned long	ULONG __attribute__ ((__mode__ (__SI__)));
22633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef void		VOID;
23633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
24633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* The pointer types.  Note that we're using a 64-bit compiler but all
25633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham   pointer in the ARC structures are only 32-bit, so we need some disgusting
26633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham   workarounds.  Keep your vomit bag handy.  */
27633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PCHAR;
28633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PSHORT;
29633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PLARGE_INTEGER;
30633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef	LONG		_PLONG;
31633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PUCHAR;
32633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PUSHORT;
33633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PULONG;
34633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LONG		_PVOID;
35633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
36633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* CONFIG_ARC32 */
37633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
38633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef CONFIG_ARC64
39633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
40633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef char		CHAR;
41633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef short		SHORT;
42633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef long		LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
43633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef	long		LONG __attribute__ ((__mode__ (__DI__)));
44633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned char	UCHAR;
45633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned short	USHORT;
46633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned long	ULONG __attribute__ ((__mode__ (__DI__)));
47633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef void		VOID;
48633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
49633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* The pointer types.  We're 64-bit and the firmware is also 64-bit, so
50633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham   live is sane ...  */
51633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef CHAR		*_PCHAR;
52633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef SHORT		*_PSHORT;
53633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LARGE_INTEGER	*_PLARGE_INTEGER;
54633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef	LONG		*_PLONG;
55633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef UCHAR		*_PUCHAR;
56633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef USHORT		*_PUSHORT;
57633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef ULONG		*_PULONG;
58633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef VOID		*_PVOID;
59633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
60633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* CONFIG_ARC64  */
61633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
62633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef CHAR		*PCHAR;
63633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef SHORT		*PSHORT;
64633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef LARGE_INTEGER	*PLARGE_INTEGER;
65633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef	LONG		*PLONG;
66633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef UCHAR		*PUCHAR;
67633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef USHORT		*PUSHORT;
68633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef ULONG		*PULONG;
69633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef VOID		*PVOID;
70633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
71633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
72633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Return type of ArcGetDisplayStatus()
73633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
74633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef struct {
75633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	USHORT	CursorXPosition;
76633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	USHORT	CursorYPosition;
77633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	USHORT	CursorMaxXPosition;
78633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	USHORT	CursorMaxYPosition;
79633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	USHORT	ForegroundColor;
80633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	USHORT	BackgroundColor;
81633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	UCHAR	HighIntensity;
82633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	UCHAR	Underscored;
83633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	UCHAR	ReverseVideo;
84633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham} DISPLAY_STATUS;
85633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
86633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* _ASM_ARC_TYPES_H */
87