HDF5  1.12.0
H5VLpublic.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  * This file contains public declarations for the H5VL (VOL) module.
15  */
16 
17 #ifndef _H5VLpublic_H
18 #define _H5VLpublic_H
19 
20 /* Public headers needed by this file */
21 #include "H5public.h" /* Generic Functions */
22 #include "H5Ipublic.h" /* IDs */
23 
24 
25 /*****************/
26 /* Public Macros */
27 /*****************/
28 
29 /* VOL connector identifier values
30  * These are H5VL_class_value_t values, NOT hid_t values!
31  */
32 #define H5_VOL_INVALID (-1) /* Invalid ID for VOL connector ID */
33 #define H5_VOL_NATIVE 0 /* Native HDF5 file format VOL connector */
34 #define H5_VOL_RESERVED 256 /* VOL connector IDs below this value are reserved for library use */
35 #define H5_VOL_MAX 65535 /* Maximum VOL connector ID */
36 
37 
38 /*******************/
39 /* Public Typedefs */
40 /*******************/
41 
42 
43 /*
44  * VOL connector identifiers. Values 0 through 255 are for connectors defined
45  * by the HDF5 library. Values 256 through 511 are available for testing new
46  * connectors. Subsequent values should be obtained from the HDF5 development
47  * team at help@hdfgroup.org.
48  */
49 typedef int H5VL_class_value_t;
50 
51 
52 /********************/
53 /* Public Variables */
54 /********************/
55 
56 /*********************/
57 /* Public Prototypes */
58 /*********************/
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
64 H5_DLL hid_t H5VLregister_connector_by_name(const char *connector_name, hid_t vipl_id);
69 H5_DLL hid_t H5VLget_connector_id_by_name(const char *name);
71 H5_DLL ssize_t H5VLget_connector_name(hid_t id, char *name/*out*/, size_t size);
72 H5_DLL herr_t H5VLclose(hid_t connector_id);
74 
75 
76 #ifdef __cplusplus
77 }
78 #endif
79 
80 /* Semi-public headers mainly for VOL connector authors */
81 #include "H5VLconnector.h" /* VOL connector author routines */
82 #include "H5VLconnector_passthru.h" /* Pass-through VOL connector author routines */
83 #include "H5VLnative.h" /* Native VOL connector macros, for VOL connector authors */
84 
85 #endif /* _H5VLpublic_H */
86 
H5public.h
H5VLregister_connector_by_value
H5_DLL hid_t H5VLregister_connector_by_value(H5VL_class_value_t connector_value, hid_t vipl_id)
Definition: H5VL.c:191
ssize_t
int ssize_t
Definition: H5public.h:167
H5Ipublic.h
H5VLunregister_connector
H5_DLL herr_t H5VLunregister_connector(hid_t connector_id)
Definition: H5VL.c:526
size
iblock size
Definition: H5EAcache.c:787
H5VLget_connector_id_by_value
H5_DLL hid_t H5VLget_connector_id_by_value(H5VL_class_value_t connector_value)
Definition: H5VL.c:360
H5VLconnector.h
H5VLnative.h
H5VLconnector_passthru.h
htri_t
int htri_t
Definition: H5public.h:160
H5VLis_connector_registered_by_value
H5_DLL htri_t H5VLis_connector_registered_by_value(H5VL_class_value_t connector_value)
Definition: H5VL.c:263
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5VL_class_value_t
int H5VL_class_value_t
Definition: H5VLpublic.h:49
H5VLget_connector_id
H5_DLL hid_t H5VLget_connector_id(hid_t obj_id)
Definition: H5VL.c:295
H5VLget_connector_id_by_name
H5_DLL hid_t H5VLget_connector_id_by_name(const char *name)
Definition: H5VL.c:329
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5VLget_connector_name
H5_DLL ssize_t H5VLget_connector_name(hid_t id, char *name, size_t size)
Definition: H5VL.c:458
H5VLregister_connector_by_name
H5_DLL hid_t H5VLregister_connector_by_name(const char *connector_name, hid_t vipl_id)
Definition: H5VL.c:144
herr_t
int herr_t
Definition: H5public.h:128
H5VLis_connector_registered_by_name
H5_DLL htri_t H5VLis_connector_registered_by_name(const char *name)
Definition: H5VL.c:234
H5VLclose
H5_DLL herr_t H5VLclose(hid_t connector_id)
Definition: H5VL.c:488