File: HelperStructs.h

package info (click to toggle)
r-cran-hdf5r 1.3.3%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 12,344 kB
  • sloc: ansic: 85,341; sh: 51; python: 32; makefile: 13
file content (95 lines) | stat: -rwxr-xr-x 1,873 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

#ifndef _HELPER_STRUCTS_H
#define _HELPER_STRUCTS_H

typedef struct H5F_info1_helper_t {
  hsize_t hdr_size;
  H5_ih_info_t msgs_info;
} H5F_info1_helper_t;

typedef struct H5O_hdr_info_helper_space_t {
  hsize_t total;
  hsize_t meta;
  hsize_t mesg;
  hsize_t free;
} H5O_hdr_info_helper_space_t;

typedef struct H5O_hdr_info_helper_msg_t {
  uint64_t present;
  uint64_t shared;
} H5O_hdr_info_helper_msg_t;

typedef struct H5O_info_helper_t {
  H5_ih_info_t   obj;
  H5_ih_info_t   attr;
} H5O_info_helper_t;

typedef union H5L_info1_helper_t {
  haddr_t address;
  size_t val_size;
} H5L_info1_helper_t;

typedef union H5L_info2_helper_t {
  H5O_token_t token;
  size_t val_size;
} H5L_info2_helper_t;

typedef struct H5F_info2_super_t {
	unsigned	version;
	hsize_t		super_size;
	hsize_t		super_ext_size;
    } H5F_info2_super_t;

typedef struct H5F_info2_free_t {
  unsigned	version;
  hsize_t		meta_size;
  hsize_t		tot_space;
} H5F_info2_free_t;

typedef struct H5F_info2_sohm_t {
  unsigned	version;
  hsize_t		hdr_size;
  H5_ih_info_t	msgs_info;
} H5F_info2_sohm_t;


typedef struct H5R_ref_helper_t {
    uint64_t part0;
    uint64_t part1;
    uint64_t part2;
    uint64_t part3;
    uint64_t part4;
    uint64_t part5;
    uint64_t part6;
    uint64_t part7;
} H5R_ref_helper_t;

// More structs to help with ls functionality

typedef struct H5D_info_t {
  int rank;
  char* dims;
  char* maxdims;
  H5T_class_t type_class;
  H5S_class_t space_class;
} H5D_info_t;

// and now for the info structs a version that stores the information to be gathered
typedef struct H5ls_info_t {
  char* name;
  int link_success;
  H5L_info1_t link;
  int obj_type_success;
  H5I_type_t obj_type;
  int num_attrs;
  int group_success;
  H5G_info_t group;
  int dataset_success;
  H5D_info_t dataset;
  int type_success;
  H5T_class_t committed_type;
} H5ls_info_t;



#endif