HDF5  1.12.0
H5PLprivate.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 private information about the H5PL module
15  */
16 
17 #ifndef _H5PLprivate_H
18 #define _H5PLprivate_H
19 
20 /* Include package's public header */
21 #include "H5PLpublic.h"
22 
23 /* Private headers needed by this file */
24 #include "H5private.h" /* Generic Functions */
25 #include "H5VLprivate.h" /* Virtual Object Layer */
26 
27 
28 /**************************/
29 /* Library Private Macros */
30 /**************************/
31 
32 
33 /****************************/
34 /* Library Private Typedefs */
35 /****************************/
36 
37 /* The key that will be used to find the plugin */
38 typedef union H5PL_key_t {
39  int id; /* I/O filters */
40  struct {
41  H5VL_get_connector_kind_t kind; /* Kind of VOL lookup to do */
42  union {
43  H5VL_class_value_t value; /* VOL connector value */
44  const char *name; /* VOL connector name */
45  } u;
46  } vol;
48 
49 
50 /*****************************/
51 /* Library-private Variables */
52 /*****************************/
53 
54 
55 /***************************************/
56 /* Library-private Function Prototypes */
57 /***************************************/
58 
59 /* Internal API routines */
60 H5_DLL const void *H5PL_load(H5PL_type_t plugin_type, const H5PL_key_t *key);
61 
62 #endif /* _H5PLprivate_H */
63 
H5PL_type_t
H5PL_type_t
Definition: H5PLpublic.h:32
H5PLpublic.h
H5VLprivate.h
H5PL_key_t::u
union H5PL_key_t::@38::@39 u
H5PL_key_t::kind
H5VL_get_connector_kind_t kind
Definition: H5PLprivate.h:41
H5PL_key_t::value
H5VL_class_value_t value
Definition: H5PLprivate.h:43
H5VL_class_value_t
int H5VL_class_value_t
Definition: H5VLpublic.h:49
H5PL_load
H5_DLL const void * H5PL_load(H5PL_type_t plugin_type, const H5PL_key_t *key)
Definition: H5PLint.c:238
H5PL_key_t
Definition: H5PLprivate.h:38
H5PL_key_t::id
int id
Definition: H5PLprivate.h:39
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5PL_key_t::vol
struct H5PL_key_t::@38 vol
H5VL_get_connector_kind_t
H5VL_get_connector_kind_t
Definition: H5VLprivate.h:51
H5PL_key_t::name
const char * name
Definition: H5PLprivate.h:44
H5PL_key_t
union H5PL_key_t H5PL_key_t
H5private.h