00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 1997-2001, 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 U_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 #ifndef U_IOSTREAM_SOURCE 00043 #define U_IOSTREAM_SOURCE 198506 00044 #endif 00045 00046 /* Determines whether specific types are available */ 00047 #define U_HAVE_INT8_T 0 00048 #define U_HAVE_UINT8_T 0 00049 #define U_HAVE_INT16_T 0 00050 #define U_HAVE_UINT16_T 0 00051 #define U_HAVE_INT32_T 0 00052 #define U_HAVE_UINT32_T 0 00053 #define U_HAVE_INT64_T 0 00054 #define U_HAVE_UINT64_T 0 00055 00056 /* Define whether namespace is supported */ 00057 #define U_HAVE_NAMESPACE 0 00058 00059 /* Determines the endianness of the platform */ 00060 #define U_IS_BIG_ENDIAN 1 00061 00062 /* 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */ 00063 #define ICU_USE_THREADS 1 00064 00065 /* Determine whether to disable renaming or not. This overrides the 00066 setting in umachine.h which is for all platforms. */ 00067 #ifndef U_OVERRIDE_CXX_ALLOCATION 00068 #define U_OVERRIDE_CXX_ALLOCATION 1 00069 #endif 00070 00071 /*===========================================================================*/ 00072 /* Generic data types */ 00073 /*===========================================================================*/ 00074 00075 /* If your platform does not have the <inttypes.h> header, you may 00076 need to edit the typedefs below. */ 00077 #if U_HAVE_INTTYPES_H 00078 #include <inttypes.h> 00079 #else 00080 00081 #if ! U_HAVE_INT8_T 00082 typedef signed char int8_t; 00083 #endif 00084 00085 #if ! U_HAVE_UINT8_T 00086 typedef unsigned char uint8_t; 00087 #endif 00088 00089 #if ! U_HAVE_INT16_T 00090 typedef signed short int16_t; 00091 #endif 00092 00093 #if ! U_HAVE_UINT16_T 00094 typedef unsigned short uint16_t; 00095 #endif 00096 00097 #if ! U_HAVE_INT32_T 00098 typedef signed long int32_t; 00099 #endif 00100 00101 #if ! U_HAVE_UINT32_T 00102 typedef unsigned long uint32_t; 00103 #endif 00104 00105 #if ! U_HAVE_INT64_T 00106 typedef signed long long int64_t; 00107 #endif 00108 00109 #if ! U_HAVE_UINT64_T 00110 typedef unsigned long long uint64_t; 00111 #endif 00112 00113 #endif 00114 00115 /*===========================================================================*/ 00116 /* Character data types */ 00117 /*===========================================================================*/ 00118 00119 #define U_CHARSET_FAMILY 1 00120 00121 /*===========================================================================*/ 00122 /* Information about wchar support */ 00123 /*===========================================================================*/ 00124 00125 #define U_HAVE_WCHAR_H 1 00126 #define U_SIZEOF_WCHAR_T 2 00127 00128 #define U_HAVE_WCSCPY 1 00129 00130 /*===========================================================================*/ 00131 /* Information about POSIX support */ 00132 /*===========================================================================*/ 00133 00134 #define U_HAVE_NL_LANGINFO 0 00135 #define U_HAVE_NL_LANGINFO_CODESET 0 00136 #define U_NL_LANGINFO_CODESET 00137 00138 /* These cannot be defined for this platform 00139 #define U_TZSET 00140 #define U_HAVE_TIMEZONE 0 00141 #if U_HAVE_TIMEZONE 00142 # define U_TIMEZONE 00143 #endif 00144 #define U_TZNAME 00145 */ 00146 00147 #define U_HAVE_MMAP 1 00148 00149 /*===========================================================================*/ 00150 /* Symbol import-export control */ 00151 /*===========================================================================*/ 00152 00153 #define U_EXPORT 00154 #define U_EXPORT2 00155 #define U_IMPORT 00156 00157 /*===========================================================================*/ 00158 /* Code alignment and C function inlining */ 00159 /*===========================================================================*/ 00160 00161 #ifndef U_INLINE 00162 #define U_INLINE 00163 #endif 00164 00165 #define U_ALIGN_CODE(n) 00166 00167 /*===========================================================================*/ 00168 /* Programs used by ICU code */ 00169 /*===========================================================================*/ 00170 00171 #define U_MAKE "gmake" 00172