HDF5  1.12.0
H5PLpublic.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 H5PL module.
15  */
16 
17 #ifndef _H5PLpublic_H
18 #define _H5PLpublic_H
19 
20 /* Public headers needed by this file */
21 #include "H5public.h" /* Generic Functions */
22 
23 /*******************/
24 /* Public Typedefs */
25 /*******************/
26 
27 /* Special string to indicate no plugin loading.
28  */
29 #define H5PL_NO_PLUGIN "::"
30 
31 /* Plugin type used by the plugin library */
32 typedef enum H5PL_type_t {
33  H5PL_TYPE_ERROR = -1, /* Error */
34  H5PL_TYPE_FILTER = 0, /* Filter */
35  H5PL_TYPE_VOL = 1, /* VOL driver */
36  H5PL_TYPE_NONE = 2 /* This must be last! */
38 
39 /* Common dynamic plugin type flags used by the set/get_loading_state functions */
40 #define H5PL_FILTER_PLUGIN 0x0001
41 #define H5PL_VOL_PLUGIN 0x0002
42 #define H5PL_ALL_PLUGIN 0xFFFF
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 /* plugin state */
49 H5_DLL herr_t H5PLset_loading_state(unsigned int plugin_control_mask);
50 H5_DLL herr_t H5PLget_loading_state(unsigned int *plugin_control_mask /*out*/);
51 H5_DLL herr_t H5PLappend(const char *search_path);
52 H5_DLL herr_t H5PLprepend(const char *search_path);
53 H5_DLL herr_t H5PLreplace(const char *search_path, unsigned int index);
54 H5_DLL herr_t H5PLinsert(const char *search_path, unsigned int index);
55 H5_DLL herr_t H5PLremove(unsigned int index);
56 H5_DLL ssize_t H5PLget(unsigned int index, char *path_buf /*out*/, size_t buf_size);
57 H5_DLL herr_t H5PLsize(unsigned int *num_paths /*out*/);
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 
63 #endif /* _H5PLpublic_H */
64 
H5public.h
ssize_t
int ssize_t
Definition: H5public.h:167
H5PL_type_t
H5PL_type_t
Definition: H5PLpublic.h:32
H5PLget
H5_DLL ssize_t H5PLget(unsigned int index, char *path_buf, size_t buf_size)
Definition: H5PL.c:346
H5PLremove
H5_DLL herr_t H5PLremove(unsigned int index)
Definition: H5PL.c:297
H5PL_TYPE_FILTER
@ H5PL_TYPE_FILTER
Definition: H5PLpublic.h:34
H5PL_TYPE_NONE
@ H5PL_TYPE_NONE
Definition: H5PLpublic.h:36
H5PLprepend
H5_DLL herr_t H5PLprepend(const char *search_path)
Definition: H5PL.c:180
H5PLsize
H5_DLL herr_t H5PLsize(unsigned int *num_paths)
Definition: H5PL.c:398
H5PLreplace
H5_DLL herr_t H5PLreplace(const char *search_path, unsigned int index)
Definition: H5PL.c:213
H5PL_TYPE_VOL
@ H5PL_TYPE_VOL
Definition: H5PLpublic.h:35
H5PL_TYPE_ERROR
@ H5PL_TYPE_ERROR
Definition: H5PLpublic.h:33
H5PLget_loading_state
H5_DLL herr_t H5PLget_loading_state(unsigned int *plugin_control_mask)
Definition: H5PL.c:117
H5PLinsert
H5_DLL herr_t H5PLinsert(const char *search_path, unsigned int index)
Definition: H5PL.c:255
H5PLset_loading_state
H5_DLL herr_t H5PLset_loading_state(unsigned int plugin_control_mask)
Definition: H5PL.c:84
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5PLappend
H5_DLL herr_t H5PLappend(const char *search_path)
Definition: H5PL.c:147
herr_t
int herr_t
Definition: H5public.h:128