00001 /* dods-datatypes.h. Generated from dods-datatypes.h.in by configure. */ 00002 00003 /* 00004 Determine at compile-time the sizes of various datatypes. This uses symbols 00005 defined by configure (See configure.in). 00006 jhrg 10/24/94 00007 00008 This header is included by all of the DODS DAP library header files which 00009 make use of the dods_* typedefs. C or C++ files can either include 00010 config_dap.h, use their own configure script which defines SIZEOF_LONG, 00011 _INT, _CHAR and _DOUBLE or set these preprocessor symbols themselves in a 00012 Makefile, etc. 00013 00014 This used to be part of the config_dap.h header, but including that in the 00015 DAP library headers introduced problems when the DAP was used in conjunction 00016 with other libraries. 8/1/2000 jhrg 00017 */ 00018 00019 #ifndef __XDR_DATATYPES__ 00020 #define __XDR_DATATYPES__ 00021 00022 #ifdef WIN32 00023 #include <rpc.h> 00024 #include <winsock2.h> 00025 #include <xdr.h> 00026 #else 00027 #include <rpc/types.h> 00028 #include <netinet/in.h> 00029 #include <rpc/xdr.h> 00030 #endif 00031 00032 /* The typedefs are done using a preprocessor symbol so that autoconf's 00033 `CONFIG_HEADER' can be used. The configure script will then only modify 00034 the dods-datatypes.h header when its contents change. This saves on 00035 compilation since the header is used by many files in the dap++ library. 00036 The downside is that the typedefs are so ugly... 2/14/2001 jhrg */ 00037 00038 #define XDR_INT32 xdr_int32_t 00039 #define XDR_UINT32 xdr_uint32_t 00040 00041 #define XDR_INT16 xdr_int16_t 00042 #define XDR_UINT16 xdr_uint16_t 00043 00044 #define XDR_FLOAT64 xdr_double 00045 #define XDR_FLOAT32 xdr_float 00046 00047 #endif /* __XDR_DATATYPES__ */ 00048