-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathconfiguration.h
79 lines (63 loc) · 1.73 KB
/
configuration.h
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
/* hdf5-iotest -- simple I/O performance tester for HDF5
SPDX-License-Identifier: BSD-3-Clause
Copyright (C) 2020, The HDF Group
hdf5-iotest is released under the New BSD license (see COPYING).
Go to the project home page for more info:
https://github.com/HDFGroup/hdf5-iotest
*/
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#include "ini.h"
#include "hdf5.h"
#include <limits.h>
typedef enum time_unit {
TIME_INVALID,
TIME_MIN,
TIME_SEC,
TIME_MS,
TIME_US,
} time_unit;
typedef struct duration {
int enable;
unsigned long time_num;
time_unit unit;
} duration;
/* Configuration parameters */
typedef struct
{
int version;
unsigned int steps;
unsigned int arrays;
unsigned long rows;
unsigned long cols;
unsigned int proc_rows;
unsigned int proc_cols;
char scaling[16];
unsigned int rank;
char slowest_dimension[16];
char libver_bound_low[16];
char libver_bound_high[16];
hsize_t alignment_increment;
hsize_t alignment_threshold;
hsize_t meta_block_size;
char layout[16];
char fill_values[8];
char single_process[16];
char mpi_io[16];
char hdf5_file[PATH_MAX+1];
char csv_file[PATH_MAX+1];
unsigned int restart;
unsigned int split;
unsigned int one_case;
unsigned int HDF5perCase;
char compress_type[16];
unsigned int compress_par[2];
unsigned int async;
duration delay;
} configuration;
extern int handler(void* user,
const char* section,
const char* name,
const char* value);
extern int validate(configuration* user, const int size);
#endif