/*
*******************************************************************************
*                                                                             *
* COPYRIGHT:                                                                  *
*   (C) Copyright Taligent, Inc.,  1997                                       *
*   (C) Copyright International Business Machines Corporation,  1997-1998     *
*   Licensed Material - Program-Property of IBM - All Rights Reserved.        *
*   US Government Users Restricted Rights - Use, duplication, or disclosure   *
*   restricted by GSA ADP Schedule Contract with IBM Corp.                    *
*                                                                             *
*******************************************************************************
*
*  FILE NAME : platform.h
*
*   Date        Name        Description
*   05/13/98    nos         Creation (content moved here from ptypes.h).
*   03/02/99    stephen     Added AS400 support.
*   03/30/99    stephen     Added Linux support.
*   04/13/99    stephen     Reworked for autoconf.
*******************************************************************************
*/

/* Define the platform we're on. */
#ifndef @platform@
#define @platform@
#endif

/* Define whether inttypes.h is available */
#define HAVE_INTTYPES_H @HAVE_INTTYPES_H@

/* Determines whether specific types are available */
#define HAVE_INT8_T @HAVE_INT8_T@
#define HAVE_UINT8_T @HAVE_UINT8_T@
#define HAVE_INT16_T @HAVE_INT16_T@
#define HAVE_UINT16_T @HAVE_UINT16_T@
#define HAVE_INT32_T @HAVE_INT32_T@
#define HAVE_UINT32_T @HAVE_UINT32_T@
#define HAVE_BOOL_T @HAVE_BOOL_T@

/* Determines the endianness of the platform */
#define U_IS_BIG_ENDIAN @U_IS_BIG_ENDIAN@

/*===========================================================================*/
/* Platform/Language determination                                           */
/*===========================================================================*/

#ifdef macintosh
#ifdef XP_MAC
#undef XP_MAC
#endif
#define XP_MAC 1
#include <string.h>
#endif

/*===========================================================================*/
/* Generic data types                                                        */
/*===========================================================================*/

/* If your platform does not have the <inttypes.h> header, you may
   need to edit the typedefs below. */
#if HAVE_INTTYPES_H
#include <inttypes.h>
#else

#if ! HAVE_INT8_T
typedef signed char int8_t;
#endif

#if ! HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif

#if ! HAVE_INT16_T
typedef signed short int16_t;
#endif

#if ! HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif

#if ! HAVE_INT32_T
typedef signed long int32_t;
#endif

#if ! HAVE_UINT32_T
typedef unsigned long uint32_t;
#endif

#endif

#include <limits.h>
#define T_INT32_MAX (LONG_MAX)

/*===========================================================================*/
/* Symbol import-export control                                              */
/*===========================================================================*/

#define U_EXPORT
#define U_EXPORT2
#define U_IMPORT
