diff options
Diffstat (limited to 'src/H5public.h')
-rw-r--r-- | src/H5public.h | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/H5public.h b/src/H5public.h new file mode 100644 index 0000000..1cc190c --- /dev/null +++ b/src/H5public.h @@ -0,0 +1,114 @@ +/**************************************************************************** + * NCSA HDF * + * Software Development Group * + * National Center for Supercomputing Applications * + * University of Illinois at Urbana-Champaign * + * 605 E. Springfield, Champaign IL 61820 * + * * + * For conditions of distribution and use, see the accompanying * + * hdf/COPYING file. * + * * + ****************************************************************************/ + +/* $Id$ */ + +/* + * This file contains public declarations for the H5 module. + */ + +#ifndef _H5public_H +#define _H5public_H +#include <H5config.h> /* From configure */ + +/* + * Data types + */ +typedef void VOID; +typedef void *VOIDP; +typedef char char8; +typedef signed char int8; +typedef unsigned char uchar8, uint8; + +#if SIZEOF_SHORT==2 +typedef short int16; +typedef unsigned short uint16; +#else +typedef int int16; /*not really*/ +typedef unsigned uint16; /*not really*/ +#endif + +#if SIZEOF_INT==4 +typedef int int32; +typedef unsigned int uint32; +#elif SIZEOF_LONG==4 +typedef long int32; +typedef unsigned long uint32; +#endif + +#if SIZEOF_LONG==8 +typedef long int64; +typedef unsigned long uint64; +#elif SIZEOF_LONG_LONG==8 +typedef long long int64; +typedef unsigned long long uint64; +#else +# error "no 64-bit integer type" +#endif + +#if SIZEOF_FLOAT==4 +typedef float float32; +#else +typedef float float32; /*not really*/ +#endif + +#if SIZEOF_FLOAT==8 +typedef float float64; +#elif SIZEOF_DOUBLE==8 +typedef double float64; +#else +# error "no 64-bit floating point type" +#endif + +/* + * Define a type for generic integers. Use this instead of `int' to + * show that some thought went into the algorithm. + */ +typedef int intn; +typedef unsigned uintn; + +/* + * Status return values. + * Since some unix/c routines use 0 and -1 (or more precisely, non-negative + * vs. negative) as their return code, and some assumption had been made in + * the code about that, it is important to keep these constants the same + * values. When checking the success or failure of an integer-valued + * function, remember to compare against zero and not one of these two + * values. + */ +typedef intn herr_t; +#define SUCCEED 0 +#define FAIL (-1) +#define UFAIL (unsigned)(-1) + +/* + * Boolean type. + */ +typedef enum { + BFAIL =(-1), /*error value*/ + BFALSE =0, + BTRUE =1 +} hbool_t; + +#ifdef __cplusplus +extern "C" { +#endif + +/* Functions in H5.c */ +herr_t H5dont_atexit(void); +herr_t H5version(uintn *majnum, uintn *minnum, uintn *relnum, uintn *patnum); + +#ifdef __cplusplus +} +#endif + +#endif |