00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 1997-1999, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ******************************************************************************* 00008 * 00009 * FILE NAME : pos400.h 00010 * 00011 * Date Name Description 00012 * 05/13/98 nos Creation (content moved here from ptypes.h). 00013 * 03/02/99 stephen Added AS400 support. 00014 * 03/30/99 stephen Added Linux support. 00015 * 04/13/99 stephen Reworked for autoconf. 00016 * 09/21/99 barry Created new for OS/400 platform. 00017 ******************************************************************************* 00018 */ 00019 00020 /* Define the platform we're on. */ 00021 #ifndef OS400 00022 #define OS400 00023 #endif 00024 00025 /* Define whether inttypes.h is available */ 00026 #define HAVE_INTTYPES_H 0 00027 00028 /* 00029 * Define what support for C++ streams is available. 00030 * If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available 00031 * (1997711 is the date the ISO/IEC C++ FDIS was published), and then 00032 * one should qualify streams using the std namespace in ICU header 00033 * files. 00034 * If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is 00035 * available instead (198506 is the date when Stroustrup published 00036 * "An Extensible I/O Facility for C++" at the summer USENIX conference). 00037 * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and 00038 * support for them will be silently suppressed in ICU. 00039 * 00040 */ 00041 00042 #define U_IOSTREAM_SOURCE 198506 00043 00044 /* Determines whether specific types are available */ 00045 #define HAVE_INT8_T 0 00046 #define HAVE_UINT8_T 0 00047 #define HAVE_INT16_T 0 00048 #define HAVE_UINT16_T 0 00049 #define HAVE_INT32_T 0 00050 #define HAVE_UINT32_T 0 00051 #define HAVE_BOOL_T 0 00052 00053 /* Determines the endianness of the platform */ 00054 #define U_IS_BIG_ENDIAN 1 00055 00056 /*===========================================================================*/ 00057 /* Generic data types */ 00058 /*===========================================================================*/ 00059 00060 /* If your platform does not have the <inttypes.h> header, you may 00061 need to edit the typedefs below. */ 00062 #if HAVE_INTTYPES_H 00063 #include <inttypes.h> 00064 #else 00065 00066 #if ! HAVE_INT8_T 00067 typedef signed char int8_t; 00068 #endif 00069 00070 #if ! HAVE_UINT8_T 00071 typedef unsigned char uint8_t; 00072 #endif 00073 00074 #if ! HAVE_INT16_T 00075 typedef signed short int16_t; 00076 #endif 00077 00078 #if ! HAVE_UINT16_T 00079 typedef unsigned short uint16_t; 00080 #endif 00081 00082 #if ! HAVE_INT32_T 00083 typedef signed long int32_t; 00084 #endif 00085 00086 #if ! HAVE_UINT32_T 00087 typedef unsigned long uint32_t; 00088 #endif 00089 00090 #endif 00091 00092 #include <limits.h> 00093 #define T_INT32_MAX (LONG_MAX) 00094 #define T_INT32_MIN (LONG_MIN) 00095 00096 /*===========================================================================*/ 00097 /* Character data types */ 00098 /*===========================================================================*/ 00099 00100 #define U_CHARSET_FAMILY 1 00101 #define U_SIZEOF_WCHAR_T 2 00102 00103 /*===========================================================================*/ 00104 /* Symbol import-export control */ 00105 /*===========================================================================*/ 00106 00107 #define U_EXPORT 00108 #define U_EXPORT2 00109 #define U_IMPORT