1 module hdf5.H5Lpublic;
2 
3 import core.sys.posix.sys.types;
4 import core.stdc.config;
5 
6 import hdf5.H5public;
7 import hdf5.H5Ipublic;
8 import hdf5.H5Tpublic;
9 
10 extern (C):
11 
12 alias _Anonymous_0 H5L_type_t;
13 alias _Anonymous_1 H5L_info_t;
14 alias int function (const(char)*, c_long, const(void)*, c_ulong, c_long) H5L_create_func_t;
15 alias int function (const(char)*, c_long, const(void)*, c_ulong) H5L_move_func_t;
16 alias int function (const(char)*, c_long, const(void)*, c_ulong) H5L_copy_func_t;
17 alias c_long function (const(char)*, c_long, const(void)*, c_ulong, c_long) H5L_traverse_func_t;
18 alias int function (const(char)*, c_long, const(void)*, c_ulong) H5L_delete_func_t;
19 alias c_long function (const(char)*, const(void)*, c_ulong, void*, c_ulong) H5L_query_func_t;
20 alias _Anonymous_2 H5L_class_t;
21 alias int function (c_long, const(char)*, const(_Anonymous_1)*, void*) H5L_iterate_t;
22 alias int function (const(char)*, const(char)*, const(char)*, const(char)*, uint*, c_long, void*) H5L_elink_traverse_t;
23 
24 enum _Anonymous_0
25 {
26     H5L_TYPE_ERROR = -1,
27     H5L_TYPE_HARD = 0,
28     H5L_TYPE_SOFT = 1,
29     H5L_TYPE_EXTERNAL = 64,
30     H5L_TYPE_MAX = 255
31 }
32 
33 struct _Anonymous_1
34 {
35     H5L_type_t type;
36     hbool_t corder_valid;
37     long corder;
38     H5T_cset_t cset;
39     union
40     {
41         haddr_t address;
42         size_t val_size;
43     }
44 }
45 
46 struct _Anonymous_2
47 {
48     int version_;
49     H5L_type_t id;
50     const(char)* comment;
51     H5L_create_func_t create_func;
52     H5L_move_func_t move_func;
53     H5L_copy_func_t copy_func;
54     H5L_traverse_func_t trav_func;
55     H5L_delete_func_t del_func;
56     H5L_query_func_t query_func;
57 }
58 
59 herr_t H5Lmove (hid_t src_loc, const(char)* src_name, hid_t dst_loc, const(char)* dst_name, hid_t lcpl_id, hid_t lapl_id);
60 herr_t H5Lcopy (hid_t src_loc, const(char)* src_name, hid_t dst_loc, const(char)* dst_name, hid_t lcpl_id, hid_t lapl_id);
61 herr_t H5Lcreate_hard (hid_t cur_loc, const(char)* cur_name, hid_t dst_loc, const(char)* dst_name, hid_t lcpl_id, hid_t lapl_id);
62 herr_t H5Lcreate_soft (const(char)* link_target, hid_t link_loc_id, const(char)* link_name, hid_t lcpl_id, hid_t lapl_id);
63 herr_t H5Ldelete (hid_t loc_id, const(char)* name, hid_t lapl_id);
64 herr_t H5Ldelete_by_idx (hid_t loc_id, const(char)* group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id);
65 herr_t H5Lget_val (hid_t loc_id, const(char)* name, void* buf, size_t size, hid_t lapl_id);
66 herr_t H5Lget_val_by_idx (hid_t loc_id, const(char)* group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void* buf, size_t size, hid_t lapl_id);
67 htri_t H5Lexists (hid_t loc_id, const(char)* name, hid_t lapl_id);
68 herr_t H5Lget_info (hid_t loc_id, const(char)* name, H5L_info_t* linfo, hid_t lapl_id);
69 herr_t H5Lget_info_by_idx (hid_t loc_id, const(char)* group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t* linfo, hid_t lapl_id);
70 ssize_t H5Lget_name_by_idx (hid_t loc_id, const(char)* group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char* name, size_t size, hid_t lapl_id);
71 herr_t H5Literate (hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t* idx, H5L_iterate_t op, void* op_data);
72 herr_t H5Literate_by_name (hid_t loc_id, const(char)* group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t* idx, H5L_iterate_t op, void* op_data, hid_t lapl_id);
73 herr_t H5Lvisit (hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void* op_data);
74 herr_t H5Lvisit_by_name (hid_t loc_id, const(char)* group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void* op_data, hid_t lapl_id);
75 herr_t H5Lcreate_ud (hid_t link_loc_id, const(char)* link_name, H5L_type_t link_type, const(void)* udata, size_t udata_size, hid_t lcpl_id, hid_t lapl_id);
76 herr_t H5Lregister (const(H5L_class_t)* cls);
77 herr_t H5Lunregister (H5L_type_t id);
78 htri_t H5Lis_registered (H5L_type_t id);
79 herr_t H5Lunpack_elink_val (const(void)* ext_linkval, size_t link_size, uint* flags, const(char*)* filename, const(char*)* obj_path);
80 herr_t H5Lcreate_external (const(char)* file_name, const(char)* obj_name, hid_t link_loc_id, const(char)* link_name, hid_t lcpl_id, hid_t lapl_id);