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#include <linux/config.h> 13 14#ifdef CONFIG_ARC32 15 16typedef char CHAR; 17typedef short SHORT; 18typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__))); 19typedef long LONG __attribute__ ((__mode__ (__SI__))); 20typedef unsigned char UCHAR; 21typedef unsigned short USHORT; 22typedef unsigned long ULONG __attribute__ ((__mode__ (__SI__))); 23typedef void VOID; 24 25/* The pointer types. Note that we're using a 64-bit compiler but all 26 pointer in the ARC structures are only 32-bit, so we need some disgusting 27 workarounds. Keep your vomit bag handy. */ 28typedef LONG _PCHAR; 29typedef LONG _PSHORT; 30typedef LONG _PLARGE_INTEGER; 31typedef LONG _PLONG; 32typedef LONG _PUCHAR; 33typedef LONG _PUSHORT; 34typedef LONG _PULONG; 35typedef LONG _PVOID; 36 37#endif /* CONFIG_ARC32 */ 38 39#ifdef CONFIG_ARC64 40 41typedef char CHAR; 42typedef short SHORT; 43typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__))); 44typedef long LONG __attribute__ ((__mode__ (__DI__))); 45typedef unsigned char UCHAR; 46typedef unsigned short USHORT; 47typedef unsigned long ULONG __attribute__ ((__mode__ (__DI__))); 48typedef void VOID; 49 50/* The pointer types. We're 64-bit and the firmware is also 64-bit, so 51 live is sane ... */ 52typedef CHAR *_PCHAR; 53typedef SHORT *_PSHORT; 54typedef LARGE_INTEGER *_PLARGE_INTEGER; 55typedef LONG *_PLONG; 56typedef UCHAR *_PUCHAR; 57typedef USHORT *_PUSHORT; 58typedef ULONG *_PULONG; 59typedef VOID *_PVOID; 60 61#endif /* CONFIG_ARC64 */ 62 63typedef CHAR *PCHAR; 64typedef SHORT *PSHORT; 65typedef LARGE_INTEGER *PLARGE_INTEGER; 66typedef LONG *PLONG; 67typedef UCHAR *PUCHAR; 68typedef USHORT *PUSHORT; 69typedef ULONG *PULONG; 70typedef VOID *PVOID; 71 72#endif /* _ASM_ARC_TYPES_H */ 73