#ifndef _host_LOADED
#define _host_LOADED 1
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#ifndef SEEK_SET
# define SEEK_SET 0
#endif
#ifndef SEEK_CUR
# define SEEK_CUR 1
#endif
#ifndef SEEK_END
# define SEEK_END 2
#endif
#ifndef offsetof
# define offsetof(T, member) ((char *)&(((T *)0)->member) - (char *)0)
#endif
#if defined (__NetBSD__) || defined (unix)
# ifndef __unix
# define __unix 1
# endif
#endif
#if defined(__unix)
# define COMPILING_ON_UNIX 1
#endif
#if defined(_WIN32)
# define COMPILING_ON_WIN32 1
# if !defined(__CYGWIN__)
# define COMPILING_ON_WINDOWS 1
# endif
#endif
#if defined(_CONSOLE)
# define COMPILING_ON_WINDOWS_CONSOLE 1
# define COMPILING_ON_WINDOWS 1
#endif
#if (defined(__sparc) && defined(P_tmpdir))
# if defined(__svr4__)
# define COMPILING_ON_SOLARIS
# else
# define COMPILING_ON_SUNOS
# endif
#endif
#ifdef __hppa
# define COMPILING_ON_HPUX
#endif
#if defined(__alpha) && defined(__osf__)
typedef int int32;
typedef unsigned int unsigned32;
typedef long int IPtr;
typedef unsigned long int UPtr;
#else
typedef long int int32;
typedef unsigned long int unsigned32;
#define IPtr int32
#define UPtr unsigned32
#endif
typedef short int int16;
typedef unsigned short int unsigned16;
typedef signed char int8;
typedef unsigned char unsigned8;
#undef _bool
#ifdef IMPLEMENT_BOOL_AS_ENUM
enum _bool { _false, _true };
# define _bool enum _bool
#elif defined(IMPLEMENT_BOOL_AS_INT) || !defined(__cplusplus)
# define _bool int
# define _false 0
# define _true 1
#endif
#ifdef _bool
# if defined(_MFC_VER) || defined(__CC_NORCROFT)
# define bool _bool
# else
# ifndef bool
typedef _bool bool;
# endif
# endif
# define true _true
# define false _false
#endif
#define YES true
#define NO false
#undef TRUE
#define TRUE true
#undef FALSE
#define FALSE false
typedef unsigned8 uint8;
typedef unsigned16 uint16;
typedef unsigned32 uint32;
typedef unsigned Uint;
typedef unsigned8 Uint8;
typedef unsigned16 Uint16;
typedef unsigned32 Uint32;
#ifdef ALPHA_TASO_SHORT_ON_OSF
#pragma pointer_size (save)
#pragma pointer_size (long)
typedef char *ArgvType;
#pragma pointer_size (restore)
#else
typedef char *ArgvType;
#endif
#define ROL_32(val, n) \
((((unsigned32)(val) << (n)) | ((unsigned32)(val) >> (32-(n)))) & 0xFFFFFFFFL)
#define ROR_32(val, n) \
((((unsigned32)(val) >> (n)) | ((unsigned32)(val) << (32-(n)))) & 0xFFFFFFFFL)
#if 0
#ifdef COMPILING_ON_UNIX
# define FOPEN_WB "w"
# define FOPEN_RB "r"
# define FOPEN_RWB "r+"
# ifndef __STDC__
# define remove(file) unlink(file)
# endif
#else
# define FOPEN_WB "wb"
# define FOPEN_RB "rb"
# define FOPEN_RWB "rb+"
#endif
#endif
#ifndef FILENAME_MAX
# define FILENAME_MAX 256
#endif
#if (!defined(__STDC__) && !defined(__cplusplus)) || defined(COMPILING_ON_SUNOS)
void bcopy(const char *src, char *dst, int length);
# define memmove(d,s,l) bcopy(s,d,l)
# define strtoul(s, ptr, base) strtol(s, ptr, base)
extern double strtod(const char *str, char **ptr);
#endif
#ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif
#ifndef IGNORE
#define IGNORE(x) (x = x)
#endif
#if defined(__acorn) || defined(__mvs) || defined(_WIN32) || \
(defined(__alpha) && defined(__osf__))
# define HOST_ENDIAN_LITTLE
#elif defined(__sparc) || defined(macintosh)
# define HOST_ENDIAN_BIG
#else
# define HOST_ENDIAN_UNKNOWN
#endif
#endif
extern void Fail (const char *, ...);