00001 /* $Id$ */ 00002 /* 00003 ** Copyright (C) 1998-2003 Chris Reid <chris.reid@codecraftconsultants.com> 00004 ** 00005 ** This program is free software; you can redistribute it and/or modify 00006 ** it under the terms of the GNU General Public License as published by 00007 ** the Free Software Foundation; either version 2 of the License, or 00008 ** (at your option) any later version. 00009 ** 00010 ** This program is distributed in the hope that it will be useful, 00011 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 ** GNU General Public License for more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program; if not, write to the Free Software 00017 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 00020 00021 #ifndef __STDINT_H__ 00022 #define __STDINT_H__ 00023 00024 00025 /* 00026 * Microsoft Visual C++ 6.0 doesn't support conversion from 00027 * "unsigned __uint64" to "signed __uint64", as is necessary 00028 * in the performance code (perf*.c/h). So, we'll use 00029 * signed values instead. 00030 */ 00031 00032 #if defined(__GNUC__) && !defined(__int64) 00033 #define __in64 long long 00034 #endif 00035 00036 typedef char int8_t; 00037 typedef short int16_t; 00038 typedef long int32_t; 00039 typedef __int64 int64_t; 00040 00041 typedef unsigned char uint8_t; 00042 typedef unsigned short uint16_t; 00043 typedef unsigned long uint32_t; 00044 typedef signed __int64 uint64_t; 00045 00046 typedef uint8_t u_int8_t; 00047 typedef uint16_t u_int16_t; 00048 #ifndef HAVE_U_INT32_T 00049 typedef uint32_t u_int32_t; 00050 #define HAVE_U_INT32_T 00051 #endif 00052 00053 #define UINT64 uint64_t 00054 typedef uint64_t uint64; 00055 00056 #endif 00057