/*
Determine at compile-time the sizes of various datatypes. This uses symbols
defined by configure (See configure.in).
jhrg 10/24/94
This header is included by all of the DODS DAP library header files which
make use of the dods_* typedefs. C or C++ files can either include
config_dap.h, use their own configure script which defines SIZEOF_LONG,
_INT, _CHAR and _DOUBLE or set these preprocessor symbols themselves in a
Makefile, etc.
This used to be part of the config_dap.h header, but including that in the
DAP library headers introduced problems when the DAP was used in conjunction
with other libraries. 8/1/2000 jhrg
*/
#ifndef __DODS_DATATYPES__
#define __DODS_DATATYPES__
/* The typedefs are done using a preprocessor symbol so that autoconf's
`CONFIG_HEADER' can be used. The configure script will then only modify
the dods-datatypes.h header when its contents change. This saves on
compilation since the header is used by many files in the dap++ library.
The downside is that the typedefs are so ugly... 2/14/2001 jhrg */
#undef DINT32
typedef DINT32 dods_int32;
#undef DUINT32
typedef DUINT32 dods_uint32;
#undef DINT16
typedef DINT16 dods_int16;
#undef DUINT16
typedef DUINT16 dods_uint16;
#undef DBYTE
typedef DBYTE dods_byte;
#undef DFLOAT64
typedef DFLOAT64 dods_float64;
#undef DFLOAT32
typedef DFLOAT32 dods_float32;
#undef DINT8
typedef DINT8 dods_int8;
#undef DINT64
typedef DINT64 dods_int64;
#undef DUINT64
typedef DUINT64 dods_uint64;
/* Enums in DAP4 are 64-bit signed integers */
typedef DINT64 dods_enum;
#endif /* __DODS_DATATYPES__ */