2003-04-01 02:30:57 +08:00
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
2007-02-07 22:56:24 +08:00
|
|
|
* Copyright by The HDF Group. *
|
2003-04-01 02:30:57 +08:00
|
|
|
* 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 *
|
2017-04-18 03:32:16 +08:00
|
|
|
* the COPYING file, which can be found at the root of the source code *
|
|
|
|
* distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
|
|
|
|
* If you do not have access to either file, you may request a copy from *
|
|
|
|
* help@hdfgroup.org. *
|
2003-04-01 02:30:57 +08:00
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
1997-08-02 05:24:03 +08:00
|
|
|
|
|
|
|
/*
|
1997-08-16 00:51:34 +08:00
|
|
|
* This file contains public declarations for the H5D module.
|
1997-08-02 05:24:03 +08:00
|
|
|
*/
|
1997-08-16 00:51:34 +08:00
|
|
|
#ifndef _H5Dpublic_H
|
|
|
|
#define _H5Dpublic_H
|
1997-08-02 05:24:03 +08:00
|
|
|
|
2006-10-31 07:46:27 +08:00
|
|
|
/* System headers needed by this file */
|
|
|
|
|
1997-08-16 00:51:34 +08:00
|
|
|
/* Public headers needed by this file */
|
2001-04-06 01:29:14 +08:00
|
|
|
#include "H5public.h"
|
|
|
|
#include "H5Ipublic.h"
|
1997-08-16 00:51:34 +08:00
|
|
|
|
2005-10-21 23:52:54 +08:00
|
|
|
/*****************/
|
|
|
|
/* Public Macros */
|
|
|
|
/*****************/
|
|
|
|
|
2008-11-13 02:07:51 +08:00
|
|
|
/* Macros used to "unset" chunk cache configuration parameters */
|
2014-04-24 00:30:25 +08:00
|
|
|
#define H5D_CHUNK_CACHE_NSLOTS_DEFAULT ((size_t) -1)
|
2008-11-13 02:07:51 +08:00
|
|
|
#define H5D_CHUNK_CACHE_NBYTES_DEFAULT ((size_t) -1)
|
2014-04-24 00:30:25 +08:00
|
|
|
#define H5D_CHUNK_CACHE_W0_DEFAULT (-1.0f)
|
2008-11-13 02:07:51 +08:00
|
|
|
|
2016-04-02 17:39:32 +08:00
|
|
|
/* Bit flags for the H5Pset_chunk_opts() and H5Pget_chunk_opts() */
|
|
|
|
#define H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS (0x0002u)
|
|
|
|
|
2012-11-08 01:08:46 +08:00
|
|
|
/* Property names for H5LTDdirect_chunk_write */
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_WRITE_FLAG_NAME "direct_chunk_flag"
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_WRITE_FILTERS_NAME "direct_chunk_filters"
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_WRITE_OFFSET_NAME "direct_chunk_offset"
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_WRITE_DATASIZE_NAME "direct_chunk_datasize"
|
2017-04-26 07:08:53 +08:00
|
|
|
|
|
|
|
/* Property names for H5LTDdirect_chunk_read */
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_READ_FLAG_NAME "direct_chunk_read_flag"
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_READ_OFFSET_NAME "direct_chunk_read_offset"
|
|
|
|
#define H5D_XFER_DIRECT_CHUNK_READ_FILTERS_NAME "direct_chunk_read_filters"
|
2012-11-08 01:08:46 +08:00
|
|
|
|
2005-10-21 23:52:54 +08:00
|
|
|
/*******************/
|
|
|
|
/* Public Typedefs */
|
|
|
|
/*******************/
|
|
|
|
|
[svn-r139] ./src/*.[ch]
Removed the interface initialization argument from
FUNC_ENTER() and made it a locally-defined preprocessor
symbol, INTERFACE_INIT.
Changed `offset' to `address' and `length' to `size' in
documentation so it's more consistent. `Offset' still appears
occassionally when it refers to a byte offset within some
other data structure.
Moved interface termination function prototypes from public
header files to .c files and made them static.
./src/H5.c
./src/H5public.h
Added H5init() because it's possible that the predefined data
types are not initialized. This happens only if the first
call to the hdf5 library passes a predefined data type symbol
as an argument. There should be some way to fix this...
./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
The free_func returns SUCCEED or FAIL, although the return
value is ignored by H5A. This is so we can use the various
H5*_close() functions to free things.
H5Ainc_ref() and H5Adec_ref() are no longer public. Many of
the other atom functions should also be made private, but I'll
save that for later...
Added additional template groups called H5_TEMPLATE_0 through
H5_TEMPLATE_7 that are used by the various template
subclasses.
Increased the number of bits used for atom groups to prevent
negative atoms.
./src/H5AC.c
./src/H5ACprivate.h
Changed H5AC_new() to H5AC_create() to make names more consistent.
./src/H5B.c
./src/H5Bprivate.h
Changed H5B_new() to H5B_create() to make names more consistent.
./src/H5C.c
./src/H5Cprivate.h
./src/H5Cpublic.h
Now supports multiple subclasses of templates, although it's
done with big switch statements. The default values for
templates are defined in the source file to which that
template belongs. This got rid of lots of needless
preprocessor constants.
Added H5Ccreate() to create a new template. Changed
H5C_release() to H5Cclose() to make the naming more
consistent.
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
Enhanced to use the new dataset interface, and uses the enhanced
data type and data space interfaces, which haven't been
completely implemented. The dataset interface doesn't handle
non-contiguous storage, compression, or data type and space
conversions yet.
./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
Removed H5Fflush() since just calls H5F_flush(), which doesn't
do what the user would probably think it does, namely, flush
everything. It only flushes those things sitting in the H5AC
cache and the boot block.
Changed the `file_create_parms' field of H5F_low_t to just
`create_parms' since the `file' part is obvious.
./src/H5Fistore.c
Added some support for external files. Mostly just in the
file format and not supported much by the library yet. I need
to finish some dataset functions first.
Changed H5F_istore_new() to H5F_istore_create() to make names
more uniform across packages.
./src/H5Flow.c
Flushing a file causes the file to be physically extended to
the logical eof. This prevents H5F_open() from thinking a
file has been truncated. Most of the time the file will
already be that large, and when it isn't Unix will often just
allocate the final block anyway.
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gstab.c
Removed H5G_basename()
Removed (temporarily) data type information from symbol table
entries and renamed H5G_CACHED_SDATA to H5G_CACHED_SDSPACE to
reflect that it's a simple data space and has nothing to do
with raw data.
Changed H5G_node_new() to H5G_node_create() and H5G_stab_new()
to H5G_stab_create() to make names more uniform across
packages.
Fixed an undefined address bug that happens when H5G_node_debug()
program doesn't pass enough info to H5G_node_load().
./src/H5H.c
./src/H5Hprivate.h
Changed H5H_new() to H5H_create() to make the names more
uniform across packages.
./src/H5M.c
./src/H5Mprivate.h
./src/H5Mpublic.h
Nulled all the create functions. Most of the other callbacks
are to public functions. Removed H5Mcreate().
Changed hobjtype_t to group_t since it has to be the same
thing anyway.
./src/H5O.c
./src/H5Oprivate.h
./src/H5Osdim.c
./src/H5Osdtyp.c
Changed H5O_SIM_DIM to H5O_SDSPACE (simple data space) since
`simple data space' is its official name, not `simple
dimensions'. Will eventually add H5O_CDSPACE for comples data
spaces. Changed _sim_dim_ to _dspace_.
Replaced H5O_SIM_DTYPE and the compound data type messages
with a single H5O_DTYPE message. Changed _sim_dtype_ to _dtype_.
Changed H5O_STD_STORE to H5O_CSTORE (contiguous storage) since
contiguous storage is not necessarily standard. Changed
_std_store_ to _cstore_ in H5Ocstore.c
Added the H5O_EFL (external file list) message.
Changed H5O_new() to H5O_create() to make names more uniform
across packages.
./src/H5Oefl.c NEW
External file list message for specifying which non-hdf5 files
contain raw data for a dataset.
./src/H5P.c
./src/H5Pprivate.h
./src/H5Ppublic.h
Renamed and moved data structures to make the names conform to
our naming scheme.
./src/H5T.c
./src/H5Tprivate.h
./src/H5Tpublic.h
./src/H5Tpkg.h NEW
Data structures redesigned to be more flexible. The interface
was redesigned to make it more regular and to make some names
more uniform across packages.
./src/H5detect.c
Output was changed to produce a file that conforms to the hdf5
coding standard.
./src/Makefile.in
Generates H5Tinit.c by running H5detect.
./src/debug.c
Moved command argument processing.
1997-12-11 06:41:07 +08:00
|
|
|
/* Values for the H5D_LAYOUT property */
|
|
|
|
typedef enum H5D_layout_t {
|
1998-04-18 05:29:43 +08:00
|
|
|
H5D_LAYOUT_ERROR = -1,
|
1998-01-17 06:23:43 +08:00
|
|
|
|
1998-04-18 05:29:43 +08:00
|
|
|
H5D_COMPACT = 0, /*raw data is very small */
|
|
|
|
H5D_CONTIGUOUS = 1, /*the default */
|
|
|
|
H5D_CHUNKED = 2, /*slow and fancy */
|
2015-02-11 03:58:09 +08:00
|
|
|
H5D_VIRTUAL = 3, /*actual data is stored in other datasets */
|
2015-02-18 05:11:22 +08:00
|
|
|
H5D_NLAYOUTS = 4 /*this one must be last! */
|
[svn-r139] ./src/*.[ch]
Removed the interface initialization argument from
FUNC_ENTER() and made it a locally-defined preprocessor
symbol, INTERFACE_INIT.
Changed `offset' to `address' and `length' to `size' in
documentation so it's more consistent. `Offset' still appears
occassionally when it refers to a byte offset within some
other data structure.
Moved interface termination function prototypes from public
header files to .c files and made them static.
./src/H5.c
./src/H5public.h
Added H5init() because it's possible that the predefined data
types are not initialized. This happens only if the first
call to the hdf5 library passes a predefined data type symbol
as an argument. There should be some way to fix this...
./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
The free_func returns SUCCEED or FAIL, although the return
value is ignored by H5A. This is so we can use the various
H5*_close() functions to free things.
H5Ainc_ref() and H5Adec_ref() are no longer public. Many of
the other atom functions should also be made private, but I'll
save that for later...
Added additional template groups called H5_TEMPLATE_0 through
H5_TEMPLATE_7 that are used by the various template
subclasses.
Increased the number of bits used for atom groups to prevent
negative atoms.
./src/H5AC.c
./src/H5ACprivate.h
Changed H5AC_new() to H5AC_create() to make names more consistent.
./src/H5B.c
./src/H5Bprivate.h
Changed H5B_new() to H5B_create() to make names more consistent.
./src/H5C.c
./src/H5Cprivate.h
./src/H5Cpublic.h
Now supports multiple subclasses of templates, although it's
done with big switch statements. The default values for
templates are defined in the source file to which that
template belongs. This got rid of lots of needless
preprocessor constants.
Added H5Ccreate() to create a new template. Changed
H5C_release() to H5Cclose() to make the naming more
consistent.
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
Enhanced to use the new dataset interface, and uses the enhanced
data type and data space interfaces, which haven't been
completely implemented. The dataset interface doesn't handle
non-contiguous storage, compression, or data type and space
conversions yet.
./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
Removed H5Fflush() since just calls H5F_flush(), which doesn't
do what the user would probably think it does, namely, flush
everything. It only flushes those things sitting in the H5AC
cache and the boot block.
Changed the `file_create_parms' field of H5F_low_t to just
`create_parms' since the `file' part is obvious.
./src/H5Fistore.c
Added some support for external files. Mostly just in the
file format and not supported much by the library yet. I need
to finish some dataset functions first.
Changed H5F_istore_new() to H5F_istore_create() to make names
more uniform across packages.
./src/H5Flow.c
Flushing a file causes the file to be physically extended to
the logical eof. This prevents H5F_open() from thinking a
file has been truncated. Most of the time the file will
already be that large, and when it isn't Unix will often just
allocate the final block anyway.
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gstab.c
Removed H5G_basename()
Removed (temporarily) data type information from symbol table
entries and renamed H5G_CACHED_SDATA to H5G_CACHED_SDSPACE to
reflect that it's a simple data space and has nothing to do
with raw data.
Changed H5G_node_new() to H5G_node_create() and H5G_stab_new()
to H5G_stab_create() to make names more uniform across
packages.
Fixed an undefined address bug that happens when H5G_node_debug()
program doesn't pass enough info to H5G_node_load().
./src/H5H.c
./src/H5Hprivate.h
Changed H5H_new() to H5H_create() to make the names more
uniform across packages.
./src/H5M.c
./src/H5Mprivate.h
./src/H5Mpublic.h
Nulled all the create functions. Most of the other callbacks
are to public functions. Removed H5Mcreate().
Changed hobjtype_t to group_t since it has to be the same
thing anyway.
./src/H5O.c
./src/H5Oprivate.h
./src/H5Osdim.c
./src/H5Osdtyp.c
Changed H5O_SIM_DIM to H5O_SDSPACE (simple data space) since
`simple data space' is its official name, not `simple
dimensions'. Will eventually add H5O_CDSPACE for comples data
spaces. Changed _sim_dim_ to _dspace_.
Replaced H5O_SIM_DTYPE and the compound data type messages
with a single H5O_DTYPE message. Changed _sim_dtype_ to _dtype_.
Changed H5O_STD_STORE to H5O_CSTORE (contiguous storage) since
contiguous storage is not necessarily standard. Changed
_std_store_ to _cstore_ in H5Ocstore.c
Added the H5O_EFL (external file list) message.
Changed H5O_new() to H5O_create() to make names more uniform
across packages.
./src/H5Oefl.c NEW
External file list message for specifying which non-hdf5 files
contain raw data for a dataset.
./src/H5P.c
./src/H5Pprivate.h
./src/H5Ppublic.h
Renamed and moved data structures to make the names conform to
our naming scheme.
./src/H5T.c
./src/H5Tprivate.h
./src/H5Tpublic.h
./src/H5Tpkg.h NEW
Data structures redesigned to be more flexible. The interface
was redesigned to make it more regular and to make some names
more uniform across packages.
./src/H5detect.c
Output was changed to produce a file that conforms to the hdf5
coding standard.
./src/Makefile.in
Generates H5Tinit.c by running H5detect.
./src/debug.c
Moved command argument processing.
1997-12-11 06:41:07 +08:00
|
|
|
} H5D_layout_t;
|
|
|
|
|
2009-01-27 22:00:07 +08:00
|
|
|
/* Types of chunk index data structures */
|
|
|
|
typedef enum H5D_chunk_index_t {
|
2016-04-08 02:21:47 +08:00
|
|
|
H5D_CHUNK_IDX_BTREE = 0, /* v1 B-tree index (default) */
|
2016-04-19 12:21:12 +08:00
|
|
|
H5D_CHUNK_IDX_SINGLE = 1, /* Single Chunk index (cur dims[]=max dims[]=chunk dims[]; filtered & non-filtered) */
|
2016-04-23 13:03:00 +08:00
|
|
|
H5D_CHUNK_IDX_NONE = 2, /* Implicit: No Index (H5D_ALLOC_TIME_EARLY, non-filtered, fixed dims) */
|
2016-04-08 02:21:47 +08:00
|
|
|
H5D_CHUNK_IDX_FARRAY = 3, /* Fixed array (for 0 unlimited dims) */
|
|
|
|
H5D_CHUNK_IDX_EARRAY = 4, /* Extensible array (for 1 unlimited dim) */
|
|
|
|
H5D_CHUNK_IDX_BT2 = 5, /* v2 B-tree index (for >1 unlimited dims) */
|
|
|
|
H5D_CHUNK_IDX_NTYPES /* This one must be last! */
|
2009-01-27 22:00:07 +08:00
|
|
|
} H5D_chunk_index_t;
|
|
|
|
|
2002-04-12 06:52:48 +08:00
|
|
|
/* Values for the space allocation time property */
|
2002-09-14 00:57:46 +08:00
|
|
|
typedef enum H5D_alloc_time_t {
|
2007-01-23 05:07:54 +08:00
|
|
|
H5D_ALLOC_TIME_ERROR = -1,
|
|
|
|
H5D_ALLOC_TIME_DEFAULT = 0,
|
|
|
|
H5D_ALLOC_TIME_EARLY = 1,
|
|
|
|
H5D_ALLOC_TIME_LATE = 2,
|
|
|
|
H5D_ALLOC_TIME_INCR = 3
|
2005-08-14 04:53:35 +08:00
|
|
|
} H5D_alloc_time_t;
|
2002-04-12 06:52:48 +08:00
|
|
|
|
|
|
|
/* Values for the status of space allocation */
|
|
|
|
typedef enum H5D_space_status_t {
|
2007-01-23 05:07:54 +08:00
|
|
|
H5D_SPACE_STATUS_ERROR = -1,
|
|
|
|
H5D_SPACE_STATUS_NOT_ALLOCATED = 0,
|
|
|
|
H5D_SPACE_STATUS_PART_ALLOCATED = 1,
|
|
|
|
H5D_SPACE_STATUS_ALLOCATED = 2
|
2002-04-12 06:52:48 +08:00
|
|
|
} H5D_space_status_t;
|
|
|
|
|
|
|
|
/* Values for time of writing fill value property */
|
|
|
|
typedef enum H5D_fill_time_t {
|
2007-01-23 05:07:54 +08:00
|
|
|
H5D_FILL_TIME_ERROR = -1,
|
|
|
|
H5D_FILL_TIME_ALLOC = 0,
|
|
|
|
H5D_FILL_TIME_NEVER = 1,
|
|
|
|
H5D_FILL_TIME_IFSET = 2
|
2002-04-12 06:52:48 +08:00
|
|
|
} H5D_fill_time_t;
|
|
|
|
|
|
|
|
/* Values for fill value status */
|
|
|
|
typedef enum H5D_fill_value_t {
|
|
|
|
H5D_FILL_VALUE_ERROR =-1,
|
|
|
|
H5D_FILL_VALUE_UNDEFINED =0,
|
|
|
|
H5D_FILL_VALUE_DEFAULT =1,
|
|
|
|
H5D_FILL_VALUE_USER_DEFINED =2
|
|
|
|
} H5D_fill_value_t;
|
|
|
|
|
2015-05-06 04:15:40 +08:00
|
|
|
/* Values for VDS bounds option */
|
2015-05-12 03:01:42 +08:00
|
|
|
typedef enum H5D_vds_view_t {
|
|
|
|
H5D_VDS_ERROR = -1,
|
|
|
|
H5D_VDS_FIRST_MISSING = 0,
|
|
|
|
H5D_VDS_LAST_AVAILABLE = 1
|
|
|
|
} H5D_vds_view_t;
|
2015-05-06 04:15:40 +08:00
|
|
|
|
2016-05-01 18:24:56 +08:00
|
|
|
/* Callback for H5Pset_append_flush() in a dataset access property list */
|
|
|
|
typedef herr_t (*H5D_append_cb_t)(hid_t dataset_id, hsize_t *cur_dims, void *op_data);
|
|
|
|
|
2005-10-21 23:52:54 +08:00
|
|
|
/********************/
|
|
|
|
/* Public Variables */
|
|
|
|
/********************/
|
|
|
|
|
|
|
|
/*********************/
|
|
|
|
/* Public Prototypes */
|
|
|
|
/*********************/
|
1997-08-16 00:51:34 +08:00
|
|
|
#ifdef __cplusplus
|
1998-01-23 00:41:32 +08:00
|
|
|
extern "C" {
|
1997-08-16 00:51:34 +08:00
|
|
|
#endif
|
1997-08-02 05:24:03 +08:00
|
|
|
|
2003-01-13 21:15:49 +08:00
|
|
|
/* Define the operator function pointer for H5Diterate() */
|
2004-12-29 22:26:20 +08:00
|
|
|
typedef herr_t (*H5D_operator_t)(void *elem, hid_t type_id, unsigned ndim,
|
|
|
|
const hsize_t *point, void *operator_data);
|
2003-01-13 21:15:49 +08:00
|
|
|
|
2013-02-06 01:07:02 +08:00
|
|
|
/* Define the operator function pointer for H5Dscatter() */
|
2013-07-03 05:17:16 +08:00
|
|
|
typedef herr_t (*H5D_scatter_func_t)(const void **src_buf/*out*/,
|
2013-02-06 01:07:02 +08:00
|
|
|
size_t *src_buf_bytes_used/*out*/,
|
|
|
|
void *op_data);
|
|
|
|
|
|
|
|
/* Define the operator function pointer for H5Dgather() */
|
|
|
|
typedef herr_t (*H5D_gather_func_t)(const void *dst_buf,
|
|
|
|
size_t dst_buf_bytes_used, void *op_data);
|
|
|
|
|
2007-04-12 00:22:16 +08:00
|
|
|
H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id,
|
|
|
|
hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id);
|
|
|
|
H5_DLL hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id,
|
|
|
|
hid_t plist_id, hid_t dapl_id);
|
|
|
|
H5_DLL hid_t H5Dopen2(hid_t file_id, const char *name, hid_t dapl_id);
|
2005-11-07 11:13:53 +08:00
|
|
|
H5_DLL herr_t H5Dclose(hid_t dset_id);
|
|
|
|
H5_DLL hid_t H5Dget_space(hid_t dset_id);
|
|
|
|
H5_DLL herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *allocation);
|
|
|
|
H5_DLL hid_t H5Dget_type(hid_t dset_id);
|
|
|
|
H5_DLL hid_t H5Dget_create_plist(hid_t dset_id);
|
2008-11-13 02:07:51 +08:00
|
|
|
H5_DLL hid_t H5Dget_access_plist(hid_t dset_id);
|
2002-09-21 04:36:09 +08:00
|
|
|
H5_DLL hsize_t H5Dget_storage_size(hid_t dset_id);
|
2017-04-26 07:08:53 +08:00
|
|
|
H5_DLL herr_t H5Dget_chunk_storage_size(hid_t dset_id, const hsize_t *offset, hsize_t *chunk_bytes);
|
2002-11-07 23:57:53 +08:00
|
|
|
H5_DLL haddr_t H5Dget_offset(hid_t dset_id);
|
2005-11-07 11:13:53 +08:00
|
|
|
H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
|
1999-01-22 02:33:39 +08:00
|
|
|
hid_t file_space_id, hid_t plist_id, void *buf/*out*/);
|
2005-11-07 11:13:53 +08:00
|
|
|
H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
|
1999-01-22 02:33:39 +08:00
|
|
|
hid_t file_space_id, hid_t plist_id, const void *buf);
|
2002-09-21 04:36:09 +08:00
|
|
|
H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,
|
1999-08-11 02:54:06 +08:00
|
|
|
H5D_operator_t op, void *operator_data);
|
2002-09-21 04:36:09 +08:00
|
|
|
H5_DLL herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf);
|
|
|
|
H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dataset_id, hid_t type_id, hid_t space_id, hsize_t *size);
|
|
|
|
H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf,
|
2002-04-09 20:47:34 +08:00
|
|
|
hid_t buf_type, hid_t space);
|
2008-01-16 05:29:27 +08:00
|
|
|
H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]);
|
2016-05-01 18:24:56 +08:00
|
|
|
H5_DLL herr_t H5Dflush(hid_t dset_id);
|
2016-06-15 07:07:03 +08:00
|
|
|
H5_DLL herr_t H5Drefresh(hid_t dset_id);
|
2013-02-06 01:07:02 +08:00
|
|
|
H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id,
|
|
|
|
hid_t dst_space_id, void *dst_buf);
|
2013-07-03 05:17:16 +08:00
|
|
|
H5_DLL herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id,
|
2013-02-06 01:07:02 +08:00
|
|
|
size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data);
|
2003-07-12 02:06:51 +08:00
|
|
|
H5_DLL herr_t H5Ddebug(hid_t dset_id);
|
2002-04-12 05:28:59 +08:00
|
|
|
|
2016-05-13 04:47:03 +08:00
|
|
|
/* Internal API routines */
|
|
|
|
H5_DLL herr_t H5Dformat_convert(hid_t dset_id);
|
|
|
|
H5_DLL herr_t H5Dget_chunk_index_type(hid_t did, H5D_chunk_index_t *idx_type);
|
|
|
|
|
[svn-r14192] Description:
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 23:26:02 +08:00
|
|
|
/* Symbols defined for compatibility with previous versions of the HDF5 API.
|
2008-09-16 23:52:51 +08:00
|
|
|
*
|
[svn-r14192] Description:
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 23:26:02 +08:00
|
|
|
* Use of these symbols is deprecated.
|
|
|
|
*/
|
|
|
|
#ifndef H5_NO_DEPRECATED_SYMBOLS
|
|
|
|
|
|
|
|
/* Macros */
|
2016-04-07 22:50:44 +08:00
|
|
|
#define H5D_CHUNK_BTREE H5D_CHUNK_IDX_BTREE
|
[svn-r14192] Description:
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 23:26:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
/* Typedefs */
|
|
|
|
|
|
|
|
|
|
|
|
/* Function prototypes */
|
[svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2
Fix thread-safe error stack initialization for API versioned error
stack printing routines.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-12 00:24:11 +08:00
|
|
|
H5_DLL hid_t H5Dcreate1(hid_t file_id, const char *name, hid_t type_id,
|
|
|
|
hid_t space_id, hid_t dcpl_id);
|
[svn-r14193] Description:
Make H5Dopen versioned and change all internal usage to use H5Dopen2
Add simple regression test for H5Dopen1
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-09 03:59:36 +08:00
|
|
|
H5_DLL hid_t H5Dopen1(hid_t file_id, const char *name);
|
2008-01-16 05:29:27 +08:00
|
|
|
H5_DLL herr_t H5Dextend(hid_t dset_id, const hsize_t size[]);
|
1997-08-02 05:24:03 +08:00
|
|
|
|
[svn-r14192] Description:
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 23:26:02 +08:00
|
|
|
#endif /* H5_NO_DEPRECATED_SYMBOLS */
|
|
|
|
|
1997-08-16 00:51:34 +08:00
|
|
|
#ifdef __cplusplus
|
1997-08-02 05:24:03 +08:00
|
|
|
}
|
1997-08-16 00:51:34 +08:00
|
|
|
#endif
|
2005-10-21 23:52:54 +08:00
|
|
|
#endif /* _H5Dpublic_H */
|
2007-04-12 00:22:16 +08:00
|
|
|
|