HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
H5Dpublic.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * Copyright by the Board of Trustees of the University of Illinois. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the files COPYING and Copyright.html. COPYING can be found at the root *
9  * of the source code distribution tree; Copyright.html can be found at the *
10  * root level of an installed copy of the electronic HDF5 document set and *
11  * is linked from the top-level documents page. It can also be found at *
12  * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
13  * access to either file, you may request a copy from help@hdfgroup.org. *
14  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /*
17  * This file contains public declarations for the H5D module.
18  */
19 #ifndef _H5Dpublic_H
20 #define _H5Dpublic_H
21 
22 /* System headers needed by this file */
23 
24 /* Public headers needed by this file */
25 #include "H5public.h"
26 #include "H5Ipublic.h"
27 
28 /*****************/
29 /* Public Macros */
30 /*****************/
31 
32 /* Macros used to "unset" chunk cache configuration parameters */
33 #define H5D_CHUNK_CACHE_NSLOTS_DEFAULT ((size_t) -1)
34 #define H5D_CHUNK_CACHE_NBYTES_DEFAULT ((size_t) -1)
35 #define H5D_CHUNK_CACHE_W0_DEFAULT -1.
36 
37 /* Property names for H5LTDdirect_chunk_write */
38 #define H5D_XFER_DIRECT_CHUNK_WRITE_FLAG_NAME "direct_chunk_flag"
39 #define H5D_XFER_DIRECT_CHUNK_WRITE_FILTERS_NAME "direct_chunk_filters"
40 #define H5D_XFER_DIRECT_CHUNK_WRITE_OFFSET_NAME "direct_chunk_offset"
41 #define H5D_XFER_DIRECT_CHUNK_WRITE_DATASIZE_NAME "direct_chunk_datasize"
42 
43 /*******************/
44 /* Public Typedefs */
45 /*******************/
46 
47 /* Values for the H5D_LAYOUT property */
48 typedef enum H5D_layout_t {
50 
51  H5D_COMPACT = 0, /*raw data is very small */
52  H5D_CONTIGUOUS = 1, /*the default */
53  H5D_CHUNKED = 2, /*slow and fancy */
54  H5D_NLAYOUTS = 3 /*this one must be last! */
55 } H5D_layout_t;
56 
57 /* Types of chunk index data structures */
58 typedef enum H5D_chunk_index_t {
59  H5D_CHUNK_BTREE = 0 /* v1 B-tree index */
61 
62 /* Values for the space allocation time property */
63 typedef enum H5D_alloc_time_t {
70 
71 /* Values for the status of space allocation */
72 typedef enum H5D_space_status_t {
78 
79 /* Values for time of writing fill value property */
80 typedef enum H5D_fill_time_t {
86 
87 /* Values for fill value status */
88 typedef enum H5D_fill_value_t {
94 
95 /********************/
96 /* Public Variables */
97 /********************/
98 
99 /*********************/
100 /* Public Prototypes */
101 /*********************/
102 #ifdef __cplusplus
103 extern "C" {
104 #endif
105 
106 /* Define the operator function pointer for H5Diterate() */
107 typedef herr_t (*H5D_operator_t)(void *elem, hid_t type_id, unsigned ndim,
108  const hsize_t *point, void *operator_data);
109 
110 /* Define the operator function pointer for H5Dscatter() */
111 typedef herr_t (*H5D_scatter_func_t)(void **src_buf/*out*/,
112  size_t *src_buf_bytes_used/*out*/,
113  void *op_data);
114 
115 /* Define the operator function pointer for H5Dgather() */
116 typedef herr_t (*H5D_gather_func_t)(const void *dst_buf,
117  size_t dst_buf_bytes_used, void *op_data);
118 
119 H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id,
120  hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id);
121 H5_DLL hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id,
122  hid_t plist_id, hid_t dapl_id);
123 H5_DLL hid_t H5Dopen2(hid_t file_id, const char *name, hid_t dapl_id);
124 H5_DLL herr_t H5Dclose(hid_t dset_id);
125 H5_DLL hid_t H5Dget_space(hid_t dset_id);
127 H5_DLL hid_t H5Dget_type(hid_t dset_id);
132 H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
133  hid_t file_space_id, hid_t plist_id, void *buf/*out*/);
134 H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
135  hid_t file_space_id, hid_t plist_id, const void *buf);
136 H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,
137  H5D_operator_t op, void *operator_data);
138 H5_DLL herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf);
139 H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dataset_id, hid_t type_id, hid_t space_id, hsize_t *size);
140 H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf,
141  hid_t buf_type, hid_t space);
142 H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]);
143 H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id,
144  hid_t dst_space_id, void *dst_buf);
145 H5_DLL herr_t H5Dgather(hid_t src_space_id, void *src_buf, hid_t type_id,
146  size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data);
147 H5_DLL herr_t H5Ddebug(hid_t dset_id);
148 
149 /* Symbols defined for compatibility with previous versions of the HDF5 API.
150  *
151  * Use of these symbols is deprecated.
152  */
153 #ifndef H5_NO_DEPRECATED_SYMBOLS
154 
155 /* Macros */
156 
157 
158 /* Typedefs */
159 
160 
161 /* Function prototypes */
162 H5_DLL hid_t H5Dcreate1(hid_t file_id, const char *name, hid_t type_id,
163  hid_t space_id, hid_t dcpl_id);
164 H5_DLL hid_t H5Dopen1(hid_t file_id, const char *name);
165 H5_DLL herr_t H5Dextend(hid_t dset_id, const hsize_t size[]);
166 
167 #endif /* H5_NO_DEPRECATED_SYMBOLS */
168 
169 #ifdef __cplusplus
170 }
171 #endif
172 #endif /* _H5Dpublic_H */
173 
H5_DLL hsize_t H5Dget_storage_size(hid_t dset_id)
H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf, hid_t buf_type, hid_t space)
H5_DLL herr_t H5Dextend(hid_t dset_id, const hsize_t size[])
H5D_chunk_index_t
Definition: H5Dpublic.h:58
H5_DLL hid_t H5Dget_create_plist(hid_t dset_id)
#define H5_DLL
Definition: H5api_adpt.h:406
int herr_t
Definition: H5public.h:107
unsigned long long hsize_t
Definition: H5public.h:151
H5D_fill_value_t
Definition: H5Dpublic.h:88
H5_DLL herr_t H5Dclose(hid_t dset_id)
H5D_fill_time_t
Definition: H5Dpublic.h:80
GLsizeiptr size
Definition: glcorearb.h:663
herr_t(* H5D_scatter_func_t)(void **src_buf, size_t *src_buf_bytes_used, void *op_data)
Definition: H5Dpublic.h:111
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 H5Dcreate1(hid_t file_id, const char *name, hid_t type_id, hid_t space_id, hid_t dcpl_id)
H5_DLL herr_t H5Dgather(hid_t src_space_id, void *src_buf, hid_t type_id, size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data)
H5_DLL hid_t H5Dopen1(hid_t file_id, const char *name)
H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, const void *buf)
uint64_t haddr_t
Definition: H5public.h:163
herr_t(* H5D_gather_func_t)(const void *dst_buf, size_t dst_buf_bytes_used, void *op_data)
Definition: H5Dpublic.h:116
H5D_space_status_t
Definition: H5Dpublic.h:72
H5_DLL hid_t H5Dopen2(hid_t file_id, const char *name, hid_t dapl_id)
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 H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf)
H5_DLL hid_t H5Dget_space(hid_t dset_id)
int hid_t
Definition: H5Ipublic.h:56
GLuint const GLchar * name
Definition: glcorearb.h:785
H5D_layout_t
Definition: H5Dpublic.h:48
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:2539
H5_DLL herr_t H5Ddebug(hid_t dset_id)
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)
H5_DLL herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *allocation)
H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator_t op, void *operator_data)
H5_DLL hid_t H5Dget_type(hid_t dset_id)
H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[])
herr_t(* H5D_operator_t)(void *elem, hid_t type_id, unsigned ndim, const hsize_t *point, void *operator_data)
Definition: H5Dpublic.h:107
H5_DLL hid_t H5Dget_access_plist(hid_t dset_id)
H5D_alloc_time_t
Definition: H5Dpublic.h:63
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 haddr_t H5Dget_offset(hid_t dset_id)
H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf)