Home | History | Annotate | Download | only in arc
      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 (at) 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 */
     87