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