1 module hdf5.H5Spublic;
2 
3 import hdf5.H5public;
4 import hdf5.H5Ipublic;
5 
6 extern (C):
7 
8 //alias H5S_class_t H5S_class_t;
9 //alias H5S_seloper_t H5S_seloper_t;
10 alias _Anonymous_0 H5S_sel_type;
11 
12 enum H5S_UNLIMITED = (cast(hsize_t)(-1L));
13 
14 enum H5S_ALL = 0;
15 
16 enum H5S_class_t
17 {
18     H5S_NO_CLASS = -1,
19     H5S_SCALAR = 0,
20     H5S_SIMPLE = 1,
21     H5S_NULL = 2
22 }
23 
24 enum H5S_seloper_t
25 {
26     H5S_SELECT_NOOP = -1,
27     H5S_SELECT_SET = 0,
28     H5S_SELECT_OR = 1,
29     H5S_SELECT_AND = 2,
30     H5S_SELECT_XOR = 3,
31     H5S_SELECT_NOTB = 4,
32     H5S_SELECT_NOTA = 5,
33     H5S_SELECT_APPEND = 6,
34     H5S_SELECT_PREPEND = 7,
35     H5S_SELECT_INVALID = 8
36 }
37 
38 enum _Anonymous_0
39 {
40     H5S_SEL_ERROR = -1,
41     H5S_SEL_NONE = 0,
42     H5S_SEL_POINTS = 1,
43     H5S_SEL_HYPERSLABS = 2,
44     H5S_SEL_ALL = 3,
45     H5S_SEL_N = 4
46 }
47 
48 hid_t H5Screate (H5S_class_t type);
49 hid_t H5Screate_simple (int rank, const hsize_t *dims, const hsize_t *maxdims);
50 herr_t H5Sset_extent_simple (hid_t space_id, int rank, const hsize_t *dims, const hsize_t *maxdims);
51 hid_t H5Scopy (hid_t space_id);
52 herr_t H5Sclose (hid_t space_id);
53 herr_t H5Sencode (hid_t obj_id, void* buf, size_t* nalloc);
54 hid_t H5Sdecode (const(void)* buf);
55 hssize_t H5Sget_simple_extent_npoints (hid_t space_id);
56 int H5Sget_simple_extent_ndims (hid_t space_id);
57 int H5Sget_simple_extent_dims (hid_t space_id, const hsize_t *dims, const hsize_t *maxdims);
58 htri_t H5Sis_simple (hid_t space_id);
59 hssize_t H5Sget_select_npoints (hid_t spaceid);
60 herr_t H5Sselect_hyperslab (hid_t space_id, H5S_seloper_t op, const hsize_t *start, const hsize_t *_stride, const hsize_t *count, const hsize_t *_block);
61 herr_t H5Sselect_elements (hid_t space_id, H5S_seloper_t op, size_t num_elem, const(hsize_t)* coord);
62 H5S_class_t H5Sget_simple_extent_type (hid_t space_id);
63 herr_t H5Sset_extent_none (hid_t space_id);
64 herr_t H5Sextent_copy (hid_t dst_id, hid_t src_id);
65 htri_t H5Sextent_equal (hid_t sid1, hid_t sid2);
66 herr_t H5Sselect_all (hid_t spaceid);
67 herr_t H5Sselect_none (hid_t spaceid);
68 herr_t H5Soffset_simple (hid_t space_id, const(hssize_t)* offset);
69 htri_t H5Sselect_valid (hid_t spaceid);
70 htri_t H5Sis_regular_hyperslab (hid_t spaceid);
71 htri_t H5Sget_regular_hyperslab (hid_t spaceid, hsize_t *start, hsize_t *stride, hsize_t *count, hsize_t *block);
72 hssize_t H5Sget_select_hyper_nblocks (hid_t spaceid);
73 hssize_t H5Sget_select_elem_npoints (hid_t spaceid);
74 herr_t H5Sget_select_hyper_blocklist (hid_t spaceid, hsize_t startblock, hsize_t numblocks, hsize_t *buf);
75 herr_t H5Sget_select_elem_pointlist (hid_t spaceid, hsize_t startpoint, hsize_t numpoints, hsize_t *buf);
76 herr_t H5Sget_select_bounds (hid_t spaceid, hsize_t *start, hsize_t *end);
77 H5S_sel_type H5Sget_select_type (hid_t spaceid);