SIONlib
2.0.0-rc.1
Scalable I/O library for parallel access to task-local files
src
lib
sion_const.h
1
/****************************************************************************
2
** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3
*****************************************************************************
4
** Copyright (c) 2008-2018 **
5
** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6
** **
7
** See the file COPYRIGHT in the package base directory for details **
8
****************************************************************************/
9
10
/* *INDENT-OFF* */
11
/* clang-format off */
12
18
#ifndef SION_SION_CONST_H
19
#define SION_SION_CONST_H
20
21
/* return codes for functions signaling success */
22
#define SION_SUCCESS 1
23
#define SION_NOT_SUCCESS 0
24
25
/* return codes for functions signaling success (used in for callback functions) */
26
#define SION_STD_SUCCESS 0
27
#define SION_STD_NOT_SUCCESS 1
28
29
/* return codes for functions returning identifier (sid) */
30
#define SION_SMALLEST_VALID_ID 0
31
#define SION_ID_UNDEF -1
32
#define SION_ID_NOT_VALID -1
33
#define SION_UNKNOWN -1
34
#define SION_AUTOMATIC -1
35
36
/* return codes for functions returning size information */
37
#define SION_SIZE_NOT_VALID -1
38
39
/* return codes for functions wrapping fwrite/fread */
40
#define SION_ANSI_SIZE_NOT_VALID 0
41
42
/* SION version information */
43
#define SION_MAIN_VERSION 2
44
#define SION_SUB_VERSION 0
45
#define SION_VERSION_PATCHLEVEL 0
46
47
/* file format version history:
48
3 -> startpointer are calculated by chunksize
49
and fsblksize, --> alignment
50
4 -> chunksize will be expanded for aligning
51
up to sionlib version 1.4
52
5 -> able to store key value data
53
6 -> remove metadata block at end of file */
54
#define SION_FILEFORMAT_VERSION 6
55
56
#ifndef SVN_REV
57
/* include Makefile.svnrev in Makefile and add
58
CFLAGS += -DSVN_REV='"$(SVN_REV)"'
59
to enable SVN_REV */
60
#define SVN_REV "Unknown"
61
#endif
62
#define SION_SVN_VERSION SVN_REV
63
64
#define SION_LVERSION_PREFIX ""
65
66
/* SION constants */
68
#define SION_CURRENT_RANK -101
69
70
#define SION_CURRENT_BLK -102
71
72
#define SION_CURRENT_CHUNK -102
73
74
#define SION_CURRENT_BLOCK -102
75
76
#define SION_CURRENT_POS -103
77
78
#define SION_ABSOLUTE_POS -104
79
80
#define SION_END_POS -105
81
82
/* for sion_dup */
84
#define SION_DUP_ALL -201
85
86
#define SION_DUP_RANK -202
87
88
#define SION_DUP_RANK_KEY -203
89
90
/* for key value */
92
#define SION_KEYVAL_NONE 50
93
94
#define SION_KEYVAL_INLINE 51
95
96
#define SION_KEYVAL_META 52
97
98
#define SION_KEYVAL_HASH 53
99
100
#define SION_KEYVAL_UNKNOWN 54
101
102
#define SION_KEYVAL_NOTSET 55
103
104
/* for callback routines of generic interface */
106
#define _SION_INT32 10
107
108
#define _SION_INT64 11
109
110
#define _SION_CHAR 12
111
112
/* role of task, for sion_get_io_info */
113
#define SION_ROLE_NONE 0
114
#define SION_ROLE_COLLECTOR 1
115
#define SION_ROLE_SENDER 2
116
#define SION_ROLE_WRITER 4
117
#define SION_ROLE_NOWRITER 8
118
#define SION_ROLE_READER 16
119
#define SION_ROLE_NOREADER 32
120
#define SION_ROLE_COLLECTOR_READER 64
121
122
/* flag for for sion_get_io_info_spec */
123
#define SION_GET_IO_INFO_FLAG_NONE 0
124
125
#endif
126
129
/* clang-format on */
130
/* *INDENT-ON* */
Generated by
1.8.15