blob: 25fa2ed87358f5d47ac7c09699b5f70e9b6875cc [file] [log] [blame]
/*---------------------------------------------------------------*/
/*--- ---*/
/*--- This file (libvex_basictypes.h) is ---*/
/*--- Copyright (c) 2004 OpenWorks LLP. All rights reserved. ---*/
/*--- ---*/
/*---------------------------------------------------------------*/
#ifndef __LIBVEX_BASICTYPES_H
#define __LIBVEX_BASICTYPES_H
/* It is important that the sizes of the following data types (on the
host) are as stated. LibVEX_Init therefore checks these at
startup. */
/* Always 8 bits. */
typedef unsigned char UChar;
typedef char Char; /* platform-dependent signfulness */
/* Always 16 bits. */
typedef unsigned short UShort;
typedef signed short Short;
/* Always 32 bits. */
typedef unsigned int UInt;
typedef signed int Int;
/* Always 64 bits. */
typedef unsigned long long int ULong;
typedef signed long long int Long;
typedef float Float; /* IEEE754 single-precision (32-bit) value */
typedef double Double; /* IEEE754 double-precision (64-bit) value */
/* Bool is always 8 bits. */
typedef unsigned char Bool;
#define True ((Bool)1)
#define False ((Bool)0)
/* 32/64 bit addresses. */
typedef UInt Addr32;
typedef ULong Addr64;
/* Something which has the same size as void* on the host. That is,
it is 32 bits on a 32-bit host and 64 bits on a 64-bit host, and so
it can safely be coerced to and from a pointer type on the host
machine. */
typedef unsigned long HWord;
#endif /* ndef __LIBVEX_BASICTYPES_H */
/*---------------------------------------------------------------*/
/*--- libvex_basictypes.h ---*/
/*---------------------------------------------------------------*/