summaryrefslogtreecommitdiffstats
path: root/src/H5public.h~
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5public.h~')
-rw-r--r--src/H5public.h~344
1 files changed, 0 insertions, 344 deletions
diff --git a/src/H5public.h~ b/src/H5public.h~
deleted file mode 100644
index 2926cd4..0000000
--- a/src/H5public.h~
+++ /dev/null
@@ -1,344 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/*
- * This file contains public declarations for the HDF5 module.
- */
-#ifndef _H5public_H
-#define _H5public_H
-
-/* Include files for public use... */
-/*
- * Since H5pubconf.h is a generated header file, it is messy to try
- * to put a #ifndef _H5pubconf_H ... #endif guard in it.
- * HDF5 has set an internal rule that it is being included here.
- * Source files should NOT include H5pubconf.h directly but include
- * it via H5public.h. The #ifndef _H5public_H guard above would
- * prevent repeated include.
- */
-#include "H5pubconf.h" /*from configure */
-
-/* API Version macro wrapper definitions */
-#include "H5version.h"
-
-#ifdef H5_HAVE_FEATURES_H
-#include <features.h> /*for setting POSIX, BSD, etc. compatibility */
-#endif
-#ifdef H5_HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef H5_STDC_HEADERS
-# include <limits.h> /*for H5T_NATIVE_CHAR defn in H5Tpublic.h */
-#endif
-#ifndef __cplusplus
-# ifdef H5_HAVE_STDINT_H
-# include <stdint.h> /*for C9x types */
-# endif
-#else
-# ifdef H5_HAVE_STDINT_H_CXX
-# include <stdint.h> /*for C9x types when include from C++ */
-# endif
-#endif
-#ifdef H5_HAVE_INTTYPES_H
-# include <inttypes.h> /* For uint64_t on some platforms */
-#endif
-#ifdef H5_HAVE_STDDEF_H
-# include <stddef.h>
-#endif
-#ifdef H5_HAVE_PARALLEL
-# include <mpi.h>
-#ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */
-# include <mpio.h>
-#endif
-#endif
-
-
-/* Include the Windows API adapter header early */
-#include "H5api_adpt.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Macros for enabling/disabling particular GCC warnings */
-/* (see the following web-sites for more info:
- * http://www.dbp-consulting.com/tutorials/SuppressingGCCWarnings.html
- * http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
- */
-/* These pragmas are only implemented usefully in gcc 4.6+ */
-#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
- #define H5_GCC_DIAG_STR(s) #s
- #define H5_GCC_DIAG_JOINSTR(x,y) H5_GCC_DIAG_STR(x ## y)
- #define H5_GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
- #define H5_GCC_DIAG_PRAGMA(x) H5_GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
-
- #define H5_GCC_DIAG_OFF(x) H5_GCC_DIAG_PRAGMA(push) H5_GCC_DIAG_PRAGMA(ignored H5_GCC_DIAG_JOINSTR(-W,x))
- #define H5_GCC_DIAG_ON(x) H5_GCC_DIAG_PRAGMA(pop)
-#else
- #define H5_GCC_DIAG_OFF(x)
- #define H5_GCC_DIAG_ON(x)
-#endif
-
-/* Version numbers */
-#define H5_VERS_MAJOR 1 /* For major interface/format changes */
-#define H5_VERS_MINOR 8 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 19 /* For tweaks, bug-fixes, or development */
-#define H5_VERS_SUBRELEASE "snap0" /* For pre-releases like snap0 */
- /* Empty string for real releases. */
-#define H5_VERS_INFO "HDF5 library version: 1.8.19-snap0" /* Full version string */
-
-#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
- H5_VERS_RELEASE)
-
-/* macros for comparing the version */
-#define H5_VERSION_GE(Maj,Min,Rel) \
- (((H5_VERS_MAJOR==Maj) && (H5_VERS_MINOR==Min) && (H5_VERS_RELEASE>=Rel)) || \
- ((H5_VERS_MAJOR==Maj) && (H5_VERS_MINOR>Min)) || \
- (H5_VERS_MAJOR>Maj))
-
-#define H5_VERSION_LE(Maj,Min,Rel) \
- (((H5_VERS_MAJOR==Maj) && (H5_VERS_MINOR==Min) && (H5_VERS_RELEASE<=Rel)) || \
- ((H5_VERS_MAJOR==Maj) && (H5_VERS_MINOR<Min)) || \
- (H5_VERS_MAJOR<Maj))
-
-/*
- * Status return values. Failed integer functions in HDF5 result almost
- * always in a negative value (unsigned failing functions sometimes return
- * zero for failure) while successfull return is non-negative (often zero).
- * The negative failure value is most commonly -1, but don't bet on it. The
- * proper way to detect failure is something like:
- *
- * if((dset = H5Dopen2(file, name)) < 0)
- * fprintf(stderr, "unable to open the requested dataset\n");
- */
-typedef int herr_t;
-
-
-/*
- * Boolean type. Successful return values are zero (false) or positive
- * (true). The typical true value is 1 but don't bet on it. Boolean
- * functions cannot fail. Functions that return `htri_t' however return zero
- * (false), positive (true), or negative (failure). The proper way to test
- * for truth from a htri_t function is:
- *
- * if ((retval = H5Tcommitted(type))>0) {
- * printf("data type is committed\n");
- * } else if (!retval) {
- * printf("data type is not committed\n");
- * } else {
- * printf("error determining whether data type is committed\n");
- * }
- */
-typedef unsigned int hbool_t;
-typedef int htri_t;
-
-/* Define the ssize_t type if it not is defined */
-#if H5_SIZEOF_SSIZE_T==0
-/* Undefine this size, we will re-define it in one of the sections below */
-#undef H5_SIZEOF_SSIZE_T
-#if H5_SIZEOF_SIZE_T==H5_SIZEOF_INT
-typedef int ssize_t;
-# define H5_SIZEOF_SSIZE_T H5_SIZEOF_INT
-#elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG
-typedef long ssize_t;
-# define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG
-#elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG_LONG
-typedef long long ssize_t;
-# define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG_LONG
-#else /* Can't find matching type for ssize_t */
-# error "nothing appropriate for ssize_t"
-#endif
-#endif
-
-/*
- * The sizes of file objects have their own types defined here, use a 64-bit
- * type.
- */
-#if H5_SIZEOF_LONG_LONG >= 8
-H5_GCC_DIAG_OFF(long-long)
-typedef unsigned long long hsize_t;
-typedef signed long long hssize_t;
-H5_GCC_DIAG_ON(long-long)
-# define H5_SIZEOF_HSIZE_T H5_SIZEOF_LONG_LONG
-# define H5_SIZEOF_HSSIZE_T H5_SIZEOF_LONG_LONG
-#else
-# error "nothing appropriate for hsize_t"
-#endif
-
-/*
- * File addresses have their own types.
- */
-#if H5_SIZEOF_INT64_T>=8
- typedef uint64_t haddr_t;
-# define HADDR_UNDEF ((haddr_t)(int64_t)(-1))
-# define H5_SIZEOF_HADDR_T H5_SIZEOF_INT64_T
-# ifdef H5_HAVE_PARALLEL
-# define HADDR_AS_MPI_TYPE MPI_LONG_LONG_INT
-# endif /* H5_HAVE_PARALLEL */
-#elif H5_SIZEOF_INT>=8
- typedef unsigned haddr_t;
-# define HADDR_UNDEF ((haddr_t)(-1))
-# define H5_SIZEOF_HADDR_T H5_SIZEOF_INT
-# ifdef H5_HAVE_PARALLEL
-# define HADDR_AS_MPI_TYPE MPI_UNSIGNED
-# endif /* H5_HAVE_PARALLEL */
-#elif H5_SIZEOF_LONG>=8
- typedef unsigned long haddr_t;
-# define HADDR_UNDEF ((haddr_t)(long)(-1))
-# define H5_SIZEOF_HADDR_T H5_SIZEOF_LONG
-# ifdef H5_HAVE_PARALLEL
-# define HADDR_AS_MPI_TYPE MPI_UNSIGNED_LONG
-# endif /* H5_HAVE_PARALLEL */
-#elif H5_SIZEOF_LONG_LONG>=8
- typedef unsigned long long haddr_t;
-# define HADDR_UNDEF ((haddr_t)(long long)(-1))
-# define H5_SIZEOF_HADDR_T H5_SIZEOF_LONG_LONG
-# ifdef H5_HAVE_PARALLEL
-# define HADDR_AS_MPI_TYPE MPI_LONG_LONG_INT
-# endif /* H5_HAVE_PARALLEL */
-#else
-# error "nothing appropriate for haddr_t"
-#endif
-#if H5_SIZEOF_HADDR_T ==H5_SIZEOF_INT
-# define H5_PRINTF_HADDR_FMT "%u"
-#elif H5_SIZEOF_HADDR_T ==H5_SIZEOF_LONG
-# define H5_PRINTF_HADDR_FMT "%lu"
-#elif H5_SIZEOF_HADDR_T ==H5_SIZEOF_LONG_LONG
-# define H5_PRINTF_HADDR_FMT "%" H5_PRINTF_LL_WIDTH "u"
-#else
-# error "nothing appropriate for H5_PRINTF_HADDR_FMT"
-#endif
-#define HADDR_MAX (HADDR_UNDEF-1)
-
-/* uint32_t type is used for creation order field for messages. It may be
- * defined in Posix.1g, otherwise it is defined here.
- */
-#if H5_SIZEOF_UINT32_T>=4
-#elif H5_SIZEOF_SHORT>=4
- typedef short uint32_t;
-# undef H5_SIZEOF_UINT32_T
-# define H5_SIZEOF_UINT32_T H5_SIZEOF_SHORT
-#elif H5_SIZEOF_INT>=4
- typedef unsigned int uint32_t;
-# undef H5_SIZEOF_UINT32_T
-# define H5_SIZEOF_UINT32_T H5_SIZEOF_INT
-#elif H5_SIZEOF_LONG>=4
- typedef unsigned long uint32_t;
-# undef H5_SIZEOF_UINT32_T
-# define H5_SIZEOF_UINT32_T H5_SIZEOF_LONG
-#else
-# error "nothing appropriate for uint32_t"
-#endif
-
-/* int64_t type is used for creation order field for links. It may be
- * defined in Posix.1g, otherwise it is defined here.
- */
-#if H5_SIZEOF_INT64_T>=8
-#elif H5_SIZEOF_INT>=8
- typedef int int64_t;
-# undef H5_SIZEOF_INT64_T
-# define H5_SIZEOF_INT64_T H5_SIZEOF_INT
-#elif H5_SIZEOF_LONG>=8
- typedef long int64_t;
-# undef H5_SIZEOF_INT64_T
-# define H5_SIZEOF_INT64_T H5_SIZEOF_LONG
-#elif H5_SIZEOF_LONG_LONG>=8
- typedef long long int64_t;
-# undef H5_SIZEOF_INT64_T
-# define H5_SIZEOF_INT64_T H5_SIZEOF_LONG_LONG
-#else
-# error "nothing appropriate for int64_t"
-#endif
-
-/* uint64_t type is used for fields for H5O_info_t. It may be
- * defined in Posix.1g, otherwise it is defined here.
- */
-#if H5_SIZEOF_UINT64_T>=8
-#elif H5_SIZEOF_INT>=8
- typedef unsigned uint64_t;
-# undef H5_SIZEOF_UINT64_T
-# define H5_SIZEOF_UINT64_T H5_SIZEOF_INT
-#elif H5_SIZEOF_LONG>=8
- typedef unsigned long uint64_t;
-# undef H5_SIZEOF_UINT64_T
-# define H5_SIZEOF_UINT64_T H5_SIZEOF_LONG
-#elif H5_SIZEOF_LONG_LONG>=8
- typedef unsigned long long uint64_t;
-# undef H5_SIZEOF_UINT64_T
-# define H5_SIZEOF_UINT64_T H5_SIZEOF_LONG_LONG
-#else
-# error "nothing appropriate for uint64_t"
-#endif
-
-/* Common iteration orders */
-typedef enum {
- H5_ITER_UNKNOWN = -1, /* Unknown order */
- H5_ITER_INC, /* Increasing order */
- H5_ITER_DEC, /* Decreasing order */
- H5_ITER_NATIVE, /* No particular order, whatever is fastest */
- H5_ITER_N /* Number of iteration orders */
-} H5_iter_order_t;
-
-/* Iteration callback values */
-/* (Actually, any postive value will cause the iterator to stop and pass back
- * that positive value to the function that called the iterator)
- */
-#define H5_ITER_ERROR (-1)
-#define H5_ITER_CONT (0)
-#define H5_ITER_STOP (1)
-
-/*
- * The types of indices on links in groups/attributes on objects.
- * Primarily used for "<do> <foo> by index" routines and for iterating over
- * links in groups/attributes on objects.
- */
-typedef enum H5_index_t {
- H5_INDEX_UNKNOWN = -1, /* Unknown index type */
- H5_INDEX_NAME, /* Index on names */
- H5_INDEX_CRT_ORDER, /* Index on creation order */
- H5_INDEX_N /* Number of indices defined */
-} H5_index_t;
-
-/*
- * Storage info struct used by H5O_info_t and H5F_info_t
- */
-typedef struct H5_ih_info_t {
- hsize_t index_size; /* btree and/or list */
- hsize_t heap_size;
-} H5_ih_info_t;
-
-/* Functions in H5.c */
-H5_DLL herr_t H5open(void);
-H5_DLL herr_t H5close(void);
-H5_DLL herr_t H5dont_atexit(void);
-H5_DLL herr_t H5garbage_collect(void);
-H5_DLL herr_t H5set_free_list_limits (int reg_global_lim, int reg_list_lim,
- int arr_global_lim, int arr_list_lim, int blk_global_lim,
- int blk_list_lim);
-H5_DLL herr_t H5get_libversion(unsigned *majnum, unsigned *minnum,
- unsigned *relnum);
-H5_DLL herr_t H5check_version(unsigned majnum, unsigned minnum,
- unsigned relnum);
-H5_DLL herr_t H5is_library_threadsafe(hbool_t *is_ts);
-H5_DLL herr_t H5free_memory(void *mem);
-H5_DLL void *H5allocate_memory(size_t size, hbool_t clear);
-H5_DLL void *H5resize_memory(void *mem, size_t size);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _H5public_H */
-
-