Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

pos400.h

Go to the documentation of this file.
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 HAVE_INT8_T 0
00048 #define HAVE_UINT8_T 0
00049 #define HAVE_INT16_T 0
00050 #define HAVE_UINT16_T 0
00051 #define HAVE_INT32_T 0
00052 #define HAVE_UINT32_T 0
00053 #define HAVE_BOOL_T 0
00054 
00055 /* Determines the endianness of the platform */
00056 #define U_IS_BIG_ENDIAN 1
00057 
00058 #define HAVE_DLOPEN     0
00059 
00060 /* 1 or 0 to enable or disable threads.  If undefined, default is: enable threads. */
00061 #define ICU_USE_THREADS 1
00062 
00063 /*===========================================================================*/
00064 /* Generic data types                                                        */
00065 /*===========================================================================*/
00066 
00067 /* If your platform does not have the <inttypes.h> header, you may
00068    need to edit the typedefs below. */
00069 #if U_HAVE_INTTYPES_H
00070 #include <inttypes.h>
00071 #else
00072 
00073 #if ! HAVE_INT8_T
00074 typedef signed char int8_t;
00075 #endif
00076 
00077 #if ! HAVE_UINT8_T
00078 typedef unsigned char uint8_t;
00079 #endif
00080 
00081 #if ! HAVE_INT16_T
00082 typedef signed short int16_t;
00083 #endif
00084 
00085 #if ! HAVE_UINT16_T
00086 typedef unsigned short uint16_t;
00087 #endif
00088 
00089 #if ! HAVE_INT32_T
00090 typedef signed long int32_t;
00091 #endif
00092 
00093 #if ! HAVE_UINT32_T
00094 typedef unsigned long uint32_t;
00095 #endif
00096 
00097 #endif
00098 
00099 /*===========================================================================*/
00100 /* See utypes.h for the normal defintion                                     */
00101 /*===========================================================================*/
00102 
00103 /*
00104 With the provided macro we should never be out of range of a given segment
00105 (a traditional/typical segment that is).  Our segments have 5 bytes for the id
00106 and 3 bytes for the offset.  The key is that the casting takes care of only
00107 retrieving the offset portion minus x1000.  Hence, the smallest offset seen in
00108 a program is x001000 and when casted to an int would be 0.  That's why we can
00109 only add 0xffefff.  Otherwise, we would exceed the segment.
00110 
00111 Currently, 16MB is the current addressing limitation on as/400.  This macro
00112 may eventually be changed to use 2GB addressability for the newer version of
00113 as/400 machines.
00114 */
00115 #ifndef U_MAX_PTR
00116 #define U_MAX_PTR(ptr) ((void*)(((char*)ptr)-((int32_t)(ptr))+((int32_t)0xffefff)))
00117 #endif
00118 
00119 /*===========================================================================*/
00120 /* Character data types                                                      */
00121 /*===========================================================================*/
00122 
00123 #define U_CHARSET_FAMILY 1
00124 
00125 /*===========================================================================*/
00126 /* Information about wchar support                                           */
00127 /*===========================================================================*/
00128 
00129 #define U_HAVE_WCHAR_H   1
00130 #define U_SIZEOF_WCHAR_T 2
00131 
00132 #define U_HAVE_WCSCPY    1
00133 
00134 /*===========================================================================*/
00135 /* Information about POSIX support                                           */
00136 /*===========================================================================*/
00137 
00138 #define U_HAVE_NL_LANGINFO              0
00139 #define U_HAVE_NL_LANGINFO_CODESET      0
00140 #define U_NL_LANGINFO_CODESET
00141 
00142 /* These cannot be defined for this platform
00143 #define U_TZSET
00144 #define U_TIMEZONE
00145 #define U_TZNAME
00146 */
00147 
00148 /*===========================================================================*/
00149 /* Symbol import-export control                                              */
00150 /*===========================================================================*/
00151 
00152 #define U_EXPORT
00153 #define U_EXPORT2
00154 #define U_IMPORT
00155 
00156 /*===========================================================================*/
00157 /* Programs used by ICU code                                                 */
00158 /*===========================================================================*/
00159 
00160 #define U_MAKE  "gmake"

Generated at Thu Mar 22 16:12:37 2001 for ICU 1.8 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000