HDF5  1.12.0
H5VLnative.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * All rights reserved. *
4  * *
5  * This file is part of HDF5. The full HDF5 copyright notice, including *
6  * terms governing use, modification, and redistribution, is contained in *
7  * the COPYING file, which can be found at the root of the source code *
8  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
9  * If you do not have access to either file, you may request a copy from *
10  * help@hdfgroup.org. *
11  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
12 
13 /*
14  * Purpose: The public header file for the native VOL connector.
15  */
16 
17 #ifndef _H5VLnative_H
18 #define _H5VLnative_H
19 
20 /* Public headers needed by this file */
21 #include "H5VLpublic.h" /* Virtual Object Layer */
22 
23 
24 /*****************/
25 /* Public Macros */
26 /*****************/
27 
28 /* Identifier for the native VOL connector */
29 #define H5VL_NATIVE (H5VL_native_register())
30 
31 /* Characteristics of the native VOL connector */
32 #define H5VL_NATIVE_NAME "native"
33 #define H5VL_NATIVE_VALUE H5_VOL_NATIVE /* enum value */
34 #define H5VL_NATIVE_VERSION 0
35 
36 /* Values for VOL connector attribute optional VOL operations */
37 #ifndef H5_NO_DEPRECATED_SYMBOLS
38 #define H5VL_NATIVE_ATTR_ITERATE_OLD 0 /* H5Aiterate (deprecated routine) */
39 #endif /* H5_NO_DEPRECATED_SYMBOLS */
40 
41 /* Values for native VOL connector dataset optional VOL operations */
42 #define H5VL_NATIVE_DATASET_FORMAT_CONVERT 0 /* H5Dformat_convert (internal) */
43 #define H5VL_NATIVE_DATASET_GET_CHUNK_INDEX_TYPE 1 /* H5Dget_chunk_index_type */
44 #define H5VL_NATIVE_DATASET_GET_CHUNK_STORAGE_SIZE 2 /* H5Dget_chunk_storage_size */
45 #define H5VL_NATIVE_DATASET_GET_NUM_CHUNKS 3 /* H5Dget_num_chunks */
46 #define H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_IDX 4 /* H5Dget_chunk_info */
47 #define H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD 5 /* H5Dget_chunk_info_by_coord */
48 #define H5VL_NATIVE_DATASET_CHUNK_READ 6 /* H5Dchunk_read */
49 #define H5VL_NATIVE_DATASET_CHUNK_WRITE 7 /* H5Dchunk_write */
50 #define H5VL_NATIVE_DATASET_GET_VLEN_BUF_SIZE 8 /* H5Dvlen_get_buf_size */
51 #define H5VL_NATIVE_DATASET_GET_OFFSET 9 /* H5Dget_offset */
52 
53 /* Values for native VOL connector file optional VOL operations */
54 #define H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE 0 /* H5Fclear_elink_file_cache */
55 #define H5VL_NATIVE_FILE_GET_FILE_IMAGE 1 /* H5Fget_file_image */
56 #define H5VL_NATIVE_FILE_GET_FREE_SECTIONS 2 /* H5Fget_free_sections */
57 #define H5VL_NATIVE_FILE_GET_FREE_SPACE 3 /* H5Fget_freespace */
58 #define H5VL_NATIVE_FILE_GET_INFO 4 /* H5Fget_info1/2 */
59 #define H5VL_NATIVE_FILE_GET_MDC_CONF 5 /* H5Fget_mdc_config */
60 #define H5VL_NATIVE_FILE_GET_MDC_HR 6 /* H5Fget_mdc_hit_rate */
61 #define H5VL_NATIVE_FILE_GET_MDC_SIZE 7 /* H5Fget_mdc_size */
62 #define H5VL_NATIVE_FILE_GET_SIZE 8 /* H5Fget_filesize */
63 #define H5VL_NATIVE_FILE_GET_VFD_HANDLE 9 /* H5Fget_vfd_handle */
64 #define H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE 10 /* H5Freset_mdc_hit_rate_stats */
65 #define H5VL_NATIVE_FILE_SET_MDC_CONFIG 11 /* H5Fset_mdc_config */
66 #define H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO 12 /* H5Fget_metadata_read_retry_info */
67 #define H5VL_NATIVE_FILE_START_SWMR_WRITE 13 /* H5Fstart_swmr_write */
68 #define H5VL_NATIVE_FILE_START_MDC_LOGGING 14 /* H5Fstart_mdc_logging */
69 #define H5VL_NATIVE_FILE_STOP_MDC_LOGGING 15 /* H5Fstop_mdc_logging */
70 #define H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS 16 /* H5Fget_mdc_logging_status */
71 #define H5VL_NATIVE_FILE_FORMAT_CONVERT 17 /* H5Fformat_convert */
72 #define H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS 18 /* H5Freset_page_buffering_stats */
73 #define H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS 19 /* H5Fget_page_buffering_stats */
74 #define H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO 20 /* H5Fget_mdc_image_info */
75 #define H5VL_NATIVE_FILE_GET_EOA 21 /* H5Fget_eoa */
76 #define H5VL_NATIVE_FILE_INCR_FILESIZE 22 /* H5Fincrement_filesize */
77 #define H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS 23 /* H5Fset_latest_format/libver_bounds */
78 #define H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG 24 /* H5Fget_dset_no_attrs_hint */
79 #define H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG 25 /* H5Fset_dset_no_attrs_hint */
80 #define H5VL_NATIVE_FILE_GET_MPI_ATOMICITY 26 /* H5Fget_mpi_atomicity */
81 #define H5VL_NATIVE_FILE_SET_MPI_ATOMICITY 27 /* H5Fset_mpi_atomicity */
82 #define H5VL_NATIVE_FILE_POST_OPEN 28 /* Adjust file after open, with wrapping context */
83 
84 /* Values for native VOL connector group optional VOL operations */
85 #ifndef H5_NO_DEPRECATED_SYMBOLS
86 #define H5VL_NATIVE_GROUP_ITERATE_OLD 0 /* HG5Giterate (deprecated routine) */
87 #define H5VL_NATIVE_GROUP_GET_OBJINFO 1 /* HG5Gget_objinfo (deprecated routine) */
88 #endif /* H5_NO_DEPRECATED_SYMBOLS */
89 
90 /* Values for native VOL connector object optional VOL operations */
91 #define H5VL_NATIVE_OBJECT_GET_COMMENT 0 /* H5G|H5Oget_comment, H5Oget_comment_by_name */
92 #define H5VL_NATIVE_OBJECT_SET_COMMENT 1 /* H5G|H5Oset_comment, H5Oset_comment_by_name */
93 #define H5VL_NATIVE_OBJECT_DISABLE_MDC_FLUSHES 2 /* H5Odisable_mdc_flushes */
94 #define H5VL_NATIVE_OBJECT_ENABLE_MDC_FLUSHES 3 /* H5Oenable_mdc_flushes */
95 #define H5VL_NATIVE_OBJECT_ARE_MDC_FLUSHES_DISABLED 4 /* H5Oare_mdc_flushes_disabled */
96 #define H5VL_NATIVE_OBJECT_GET_NATIVE_INFO 5 /* H5Oget_native_info(_by_idx, _by_name) */
97 
98 /*******************/
99 /* Public Typedefs */
100 /*******************/
101 
102 /********************/
103 /* Public Variables */
104 /********************/
105 
106 /*********************/
107 /* Public Prototypes */
108 /*********************/
109 
110 /*******************/
111 /* Public Typedefs */
112 /*******************/
113 
114 /********************/
115 /* Public Variables */
116 /********************/
117 
118 /*********************/
119 /* Public Prototypes */
120 /*********************/
121 
122 #ifdef __cplusplus
123 extern "C" {
124 #endif
125 
126 /* Token <--> address converters */
129 
130 /* Not really public but must be included here */
132 
133 #ifdef __cplusplus
134 }
135 #endif
136 
137 #endif /* _H5VLnative_H */
138 
haddr_t
CATCH haddr_t
Definition: H5EAdblock.c:162
H5VLpublic.h
H5VL_native_register
H5_DLL hid_t H5VL_native_register(void)
Definition: H5VLnative.c:159
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5VLnative_addr_to_token
H5_DLL herr_t H5VLnative_addr_to_token(hid_t loc_id, haddr_t addr, H5O_token_t *token)
Definition: H5VLnative.c:312
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
herr_t
int herr_t
Definition: H5public.h:128
H5VLnative_token_to_addr
H5_DLL herr_t H5VLnative_token_to_addr(hid_t loc_id, H5O_token_t token, haddr_t *addr)
Definition: H5VLnative.c:407
H5O_token_t
Definition: H5public.h:339