SIONlib  1.7.4
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 4
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 SVN_REV
55 /* include Makefile.svnrev in Makefile and add
56  CFLAGS += -DSVN_REV='"$(SVN_REV)"'
57  to enable SVN_REV */
58 #define SVN_REV "Unknown"
59 #endif
60 #define SION_SVN_VERSION SVN_REV
61 
62 #define SION_LVERSION_PREFIX ""
63 
64 /* SION constants */
65 #define SION_CURRENT_RANK -101
66 #define SION_CURRENT_BLK -102
67 #define SION_CURRENT_CHUNK -102
68 #define SION_CURRENT_BLOCK -102
69 #define SION_CURRENT_POS -103
70 #define SION_ABSOLUTE_POS -104
71 #define SION_END_POS -105
73 /* for sion_dup */
74 #define SION_DUP_ALL -201
75 #define SION_DUP_RANK -202
76 #define SION_DUP_RANK_KEY -203
78 /* for key value */
79 #define SION_KEYVAL_NONE 50
80 #define SION_KEYVAL_INLINE 51
81 #define SION_KEYVAL_META 52
82 #define SION_KEYVAL_HASH 53
83 #define SION_KEYVAL_UNKNOWN 54
84 #define SION_KEYVAL_NOTSET 55
86 /* for callback routines of generic interface */
87 #define _SION_INT32 10
88 #define _SION_INT64 11
89 #define _SION_CHAR 12
90 
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