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_FW_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_FW_ARC32 */ 37 38#ifdef CONFIG_FW_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_FW_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