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 */ 87