150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* 250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho****************************************************************************** 350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* Copyright (C) 1997-2010, International Business Machines 550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* Corporation and others. All Rights Reserved. 650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho****************************************************************************** 850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* FILE NAME : ptypes.h 1050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 1150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* Date Name Description 1250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 05/13/98 nos Creation (content moved here from ptypes.h). 1350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 03/02/99 stephen Added AS400 support. 1450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 03/30/99 stephen Added Linux support. 1550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 04/13/99 stephen Reworked for autoconf. 1650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* 09/18/08 srl Moved basic types back to ptypes.h from platform.h 1750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho****************************************************************************** 1850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho*/ 1950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#ifndef _PTYPES_H 2150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#define _PTYPES_H 2250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include <sys/types.h> 2450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/platform.h" 2650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/*===========================================================================*/ 2850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* Generic data types */ 2950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/*===========================================================================*/ 3050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 3150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* If your platform does not have the <inttypes.h> header, you may 3250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho need to edit the typedefs below. */ 3350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if U_HAVE_INTTYPES_H 3450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 3550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* autoconf 2.13 sometimes can't properly find the data types in <inttypes.h> */ 3650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */ 3750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* doesn't have uint8_t depending on the OS version. */ 3850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* So we have this work around. */ 3950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#ifdef OS390 4050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* The features header is needed to get (u)int64_t sometimes. */ 4150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include <features.h> 4250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_INT8_T 4350294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef signed char int8_t; 4450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 4550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if !defined(__uint8_t) 4650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#define __uint8_t 1 4750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef unsigned char uint8_t; 4850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 4950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif /* OS390 */ 5050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include <inttypes.h> 5250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#else /* U_HAVE_INTTYPES_H */ 5450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_INT8_T 5650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef signed char int8_t; 5750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 5850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_UINT8_T 6050294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef unsigned char uint8_t; 6150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 6250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 6350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_INT16_T 6450294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef signed short int16_t; 6550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 6650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 6750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_UINT16_T 6850294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef unsigned short uint16_t; 6950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 7050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_INT32_T 7250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef signed int int32_t; 7350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 7450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_UINT32_T 7650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef unsigned int uint32_t; 7750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 7850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_INT64_T 8050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho typedef signed long long int64_t; 8150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* else we may not have a 64-bit type */ 8250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 8350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 8450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if ! U_HAVE_UINT64_T 8550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho typedef unsigned long long uint64_t; 8650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* else we may not have a 64-bit type */ 8750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 8850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 8950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif /* U_HAVE_INTTYPES_H */ 9050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif /* _PTYPES_H */ 9250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 93