SIONlib  2.0.0-rc.3
Scalable I/O library for parallel access to task-local files
sion_const.h
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2021 **
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 #include "sion_version.h"
22 
23 /* return codes for functions signaling success */
24 #define SION_SUCCESS 1
25 #define SION_NOT_SUCCESS 0
26 
27 /* return codes for functions signaling success (used in for callback functions) */
28 #define SION_STD_SUCCESS 0
29 #define SION_STD_NOT_SUCCESS 1
30 
31 /* return codes for functions returning identifier (sid) */
32 #define SION_SMALLEST_VALID_ID 0
33 #define SION_ID_UNDEF -1
34 #define SION_ID_NOT_VALID -1
35 #define SION_UNKNOWN -1
36 #define SION_AUTOMATIC -1
37 
38 /* return codes for functions returning size information */
39 #define SION_SIZE_NOT_VALID -1
40 
41 /* return codes for functions wrapping fwrite/fread */
42 #define SION_ANSI_SIZE_NOT_VALID 0
43 
44 #define SION_LVERSION_PREFIX ""
45 
46 /* SION constants */
48 #define SION_CURRENT_RANK -101
50 #define SION_CURRENT_BLK -102
52 #define SION_CURRENT_CHUNK -102
54 #define SION_CURRENT_BLOCK -102
56 #define SION_CURRENT_POS -103
58 #define SION_ABSOLUTE_POS -104
60 #define SION_END_POS -105
61 
62 /* for sion_dup */
64 #define SION_DUP_ALL -201
66 #define SION_DUP_RANK -202
68 #define SION_DUP_RANK_KEY -203
69 
70 /* for key value */
72 #define SION_KEYVAL_NONE 50
74 #define SION_KEYVAL_INLINE 51
76 #define SION_KEYVAL_META 52
78 #define SION_KEYVAL_HASH 53
80 #define SION_KEYVAL_UNKNOWN 54
82 #define SION_KEYVAL_NOTSET 55
83 
84 /* for callback routines of generic interface */
86 #define _SION_INT32 10
88 #define _SION_INT64 11
90 #define _SION_CHAR 12
91 
92 /* role of task, for sion_get_io_info */
93 #define SION_ROLE_NONE 0
94 #define SION_ROLE_COLLECTOR 1
95 #define SION_ROLE_SENDER 2
96 #define SION_ROLE_WRITER 4
97 #define SION_ROLE_NOWRITER 8
98 #define SION_ROLE_READER 16
99 #define SION_ROLE_NOREADER 32
100 #define SION_ROLE_COLLECTOR_READER 64
101 
102 /* flag for for sion_get_io_info_spec */
103 #define SION_GET_IO_INFO_FLAG_NONE 0
104 
105 #endif
106 
109 /* clang-format on */
110 /* *INDENT-ON* */