1!
2! Copyright (C) by Argonne National Laboratory
3!     See COPYRIGHT in top-level directory
4!
5
6module mpi_f08_compile_constants
7
8use,intrinsic :: iso_c_binding, only: c_int
9use :: mpi_f08_types
10use :: mpi_c_interface_types, only: c_Aint, c_Count, c_Offset
11
12!====================================================================
13! Make names brought in from other modules private if they should not
14! be exposed in program units using this module
15!====================================================================
16
17! Make names from iso_c_binding private
18private :: c_int
19
20! Make names from mpi_c_interface_types private
21private :: c_Aint
22private :: c_Count
23private :: c_Offset
24
25
26! MPI version
27integer, parameter :: MPI_VERSION                      = 3
28integer, parameter :: MPI_SUBVERSION                   = 1
29
30! Error classes
31integer, parameter :: MPI_SUCCESS                      = 0
32integer, parameter :: MPI_ERR_BUFFER                   = 1
33integer, parameter :: MPI_ERR_COUNT                    = 2
34integer, parameter :: MPI_ERR_TYPE                     = 3
35integer, parameter :: MPI_ERR_TAG                      = 4
36integer, parameter :: MPI_ERR_COMM                     = 5
37integer, parameter :: MPI_ERR_RANK                     = 6
38integer, parameter :: MPI_ERR_ROOT                     = 7
39integer, parameter :: MPI_ERR_GROUP                    = 8
40integer, parameter :: MPI_ERR_OP                       = 9
41integer, parameter :: MPI_ERR_TOPOLOGY                 = 10
42integer, parameter :: MPI_ERR_DIMS                     = 11
43integer, parameter :: MPI_ERR_ARG                      = 12
44integer, parameter :: MPI_ERR_UNKNOWN                  = 13
45integer, parameter :: MPI_ERR_TRUNCATE                 = 14
46integer, parameter :: MPI_ERR_OTHER                    = 15
47integer, parameter :: MPI_ERR_INTERN                   = 16
48integer, parameter :: MPI_ERR_IN_STATUS                = 17
49integer, parameter :: MPI_ERR_PENDING                  = 18
50integer, parameter :: MPI_ERR_REQUEST                  = 19
51integer, parameter :: MPI_ERR_ACCESS                   = 20
52integer, parameter :: MPI_ERR_AMODE                    = 21
53integer, parameter :: MPI_ERR_BAD_FILE                 = 22
54integer, parameter :: MPI_ERR_CONVERSION               = 23
55integer, parameter :: MPI_ERR_DUP_DATAREP              = 24
56integer, parameter :: MPI_ERR_FILE_EXISTS              = 25
57integer, parameter :: MPI_ERR_FILE_IN_USE              = 26
58integer, parameter :: MPI_ERR_FILE                     = 27
59integer, parameter :: MPI_ERR_INFO                     = 28
60integer, parameter :: MPI_ERR_INFO_KEY                 = 29
61integer, parameter :: MPI_ERR_INFO_VALUE               = 30
62integer, parameter :: MPI_ERR_INFO_NOKEY               = 31
63integer, parameter :: MPI_ERR_IO                       = 32
64integer, parameter :: MPI_ERR_NAME                     = 33
65integer, parameter :: MPI_ERR_NO_MEM                   = 34
66integer, parameter :: MPI_ERR_NOT_SAME                 = 35
67integer, parameter :: MPI_ERR_NO_SPACE                 = 36
68integer, parameter :: MPI_ERR_NO_SUCH_FILE             = 37
69integer, parameter :: MPI_ERR_PORT                     = 38
70integer, parameter :: MPI_ERR_QUOTA                    = 39
71integer, parameter :: MPI_ERR_READ_ONLY                = 40
72integer, parameter :: MPI_ERR_SERVICE                  = 41
73integer, parameter :: MPI_ERR_SPAWN                    = 42
74integer, parameter :: MPI_ERR_UNSUPPORTED_DATAREP      = 43
75integer, parameter :: MPI_ERR_UNSUPPORTED_OPERATION    = 44
76integer, parameter :: MPI_ERR_WIN                      = 45
77integer, parameter :: MPI_ERR_BASE                     = 46
78integer, parameter :: MPI_ERR_LOCKTYPE                 = 47
79integer, parameter :: MPI_ERR_KEYVAL                   = 48
80integer, parameter :: MPI_ERR_RMA_CONFLICT             = 49
81integer, parameter :: MPI_ERR_RMA_SYNC                 = 50
82integer, parameter :: MPI_ERR_SIZE                     = 51
83integer, parameter :: MPI_ERR_DISP                     = 52
84integer, parameter :: MPI_ERR_ASSERT                   = 53
85integer, parameter :: MPI_ERR_RMA_RANGE                = 55
86integer, parameter :: MPI_ERR_RMA_ATTACH               = 56
87integer, parameter :: MPI_ERR_RMA_SHARED               = 57
88integer, parameter :: MPI_ERR_RMA_FLAVOR               = 58
89integer, parameter :: MPI_ERR_LASTCODE                 = 1073741823 ! 0x3fffffff
90
91! Predefined error handlers
92type(MPI_Errhandler), parameter :: MPI_ERRORS_ARE_FATAL = MPI_Errhandler(1409286144) ! 0x54000000
93type(MPI_Errhandler), parameter :: MPI_ERRORS_RETURN   = MPI_Errhandler(1409286145) ! 0x54000001
94
95! Compare operations
96integer, parameter :: MPI_IDENT                        = 0
97integer, parameter :: MPI_CONGRUENT                    = 1
98integer, parameter :: MPI_SIMILAR                      = 2
99integer, parameter :: MPI_UNEQUAL                      = 3
100
101! Window flavors and models
102integer, parameter :: MPI_WIN_FLAVOR_CREATE            = 1
103integer, parameter :: MPI_WIN_FLAVOR_ALLOCATE          = 2
104integer, parameter :: MPI_WIN_FLAVOR_DYNAMIC           = 3
105integer, parameter :: MPI_WIN_FLAVOR_SHARED            = 4
106integer, parameter :: MPI_WIN_SEPARATE                 = 1
107integer, parameter :: MPI_WIN_UNIFIED                  = 2
108
109! Collective operations
110type(MPI_Op), parameter         :: MPI_MAX             = MPI_Op(1476395009) ! 0x58000001
111type(MPI_Op), parameter         :: MPI_MIN             = MPI_Op(1476395010) ! 0x58000002
112type(MPI_Op), parameter         :: MPI_SUM             = MPI_Op(1476395011) ! 0x58000003
113type(MPI_Op), parameter         :: MPI_PROD            = MPI_Op(1476395012) ! 0x58000004
114type(MPI_Op), parameter         :: MPI_LAND            = MPI_Op(1476395013) ! 0x58000005
115type(MPI_Op), parameter         :: MPI_BAND            = MPI_Op(1476395014) ! 0x58000006
116type(MPI_Op), parameter         :: MPI_LOR             = MPI_Op(1476395015) ! 0x58000007
117type(MPI_Op), parameter         :: MPI_BOR             = MPI_Op(1476395016) ! 0x58000008
118type(MPI_Op), parameter         :: MPI_LXOR            = MPI_Op(1476395017) ! 0x58000009
119type(MPI_Op), parameter         :: MPI_BXOR            = MPI_Op(1476395018) ! 0x5800000a
120type(MPI_Op), parameter         :: MPI_MINLOC          = MPI_Op(1476395019) ! 0x5800000b
121type(MPI_Op), parameter         :: MPI_MAXLOC          = MPI_Op(1476395020) ! 0x5800000c
122type(MPI_Op), parameter         :: MPI_REPLACE         = MPI_Op(1476395021) ! 0x5800000d
123type(MPI_Op), parameter         :: MPI_NO_OP           = MPI_Op(1476395022) ! 0x5800000e
124
125! Predefined comms and null handles
126type(MPI_Comm), parameter       :: MPI_COMM_WORLD      = MPI_Comm(1140850688) ! 0x44000000
127type(MPI_Comm), parameter       :: MPI_COMM_SELF       = MPI_Comm(1140850689) ! 0x44000001
128type(MPI_Comm), parameter       :: MPI_COMM_NULL       = MPI_Comm(67108864) ! 0x04000000
129type(MPI_Group), parameter      :: MPI_GROUP_EMPTY     = MPI_Group(1207959552) ! 0x48000000
130type(MPI_Group), parameter      :: MPI_GROUP_NULL      = MPI_Group(134217728) ! 0x08000000
131type(MPI_Win), parameter        :: MPI_WIN_NULL        = MPI_Win(536870912) ! 0x20000000
132type(MPI_File), parameter       :: MPI_FILE_NULL       = MPI_File(0)
133type(MPI_Op), parameter         :: MPI_OP_NULL         = MPI_Op(402653184) ! 0x18000000
134type(MPI_Datatype), parameter   :: MPI_DATATYPE_NULL   = MPI_Datatype(201326592) ! 0x0c000000
135type(MPI_Request), parameter    :: MPI_REQUEST_NULL    = MPI_Request(738197504) ! 0x2c000000
136type(MPI_Errhandler), parameter :: MPI_ERRHANDLER_NULL = MPI_Errhandler(335544320) ! 0x14000000
137type(MPI_Info), parameter       :: MPI_INFO_NULL       = MPI_Info(469762048) ! 0x1c000000
138type(MPI_Info), parameter       :: MPI_INFO_ENV        = MPI_Info(1543503873) ! 0x5c000001
139type(MPI_Message), parameter    :: MPI_MESSAGE_NULL    = MPI_Message(738197504) ! 0x2c000000
140type(MPI_Message), parameter    :: MPI_MESSAGE_NO_PROC = MPI_Message(1811939328) ! 0x6c000000
141
142! Attributes
143integer, parameter :: MPI_TAG_UB                       = 1681915906 ! 0x64400002
144integer, parameter :: MPI_HOST                         = 1681915908 ! 0x64400004
145integer, parameter :: MPI_IO                           = 1681915910 ! 0x64400006
146integer, parameter :: MPI_WTIME_IS_GLOBAL              = 1681915912 ! 0x64400008
147integer, parameter :: MPI_UNIVERSE_SIZE                = 1681915914 ! 0x6440000a
148integer, parameter :: MPI_LASTUSEDCODE                 = 1681915916 ! 0x6440000c
149integer, parameter :: MPI_APPNUM                       = 1681915918 ! 0x6440000e
150integer, parameter :: MPI_WIN_BASE                     = 1711276034 ! 0x66000002
151integer, parameter :: MPI_WIN_SIZE                     = 1711276036 ! 0x66000004
152integer, parameter :: MPI_WIN_DISP_UNIT                = 1711276038 ! 0x66000006
153integer, parameter :: MPI_WIN_CREATE_FLAVOR            = 1711276040 ! 0x66000008
154integer, parameter :: MPI_WIN_MODEL                    = 1711276042 ! 0x6600000a
155
156! String sizes
157integer, parameter :: MPI_MAX_ERROR_STRING             = @MPI_MAX_ERROR_STRING@
158integer, parameter :: MPI_MAX_PORT_NAME                = 256
159integer, parameter :: MPI_MAX_OBJECT_NAME              = 128
160integer, parameter :: MPI_MAX_INFO_KEY                 = 255
161integer, parameter :: MPI_MAX_INFO_VAL                 = 1024
162integer, parameter :: MPI_MAX_PROCESSOR_NAME           = @MPI_MAX_PROCESSOR_NAME@
163integer, parameter :: MPI_MAX_DATAREP_STRING           = 128
164integer, parameter :: MPI_MAX_LIBRARY_VERSION_STRING   = @MPI_MAX_LIBRARY_VERSION_STRING@
165
166! Predefined constants
167integer, parameter :: MPI_UNDEFINED                    = -32766
168integer, parameter :: MPI_KEYVAL_INVALID               = 603979776 ! 0x24000000
169integer, parameter :: MPI_BSEND_OVERHEAD               = @BSEND_OVERHEAD@
170integer, parameter :: MPI_PROC_NULL                    = -1
171integer, parameter :: MPI_ANY_SOURCE                   = -2
172integer, parameter :: MPI_ANY_TAG                      = -1
173integer, parameter :: MPI_ROOT                         = -3
174
175! Topology types
176integer, parameter :: MPI_GRAPH                        = 1
177integer, parameter :: MPI_CART                         = 2
178integer, parameter :: MPI_DIST_GRAPH                   = 3
179
180! RMA lock types
181integer, parameter :: MPI_LOCK_EXCLUSIVE               = 234
182integer, parameter :: MPI_LOCK_SHARED                  = 235
183
184! F08 specific constants
185logical, parameter :: MPI_SUBARRAYS_SUPPORTED          = .true.
186logical, parameter :: MPI_ASYNC_PROTECTS_NONBLOCKING   = .true.
187
188integer, parameter :: MPI_ADDRESS_KIND                 = c_Aint
189integer, parameter :: MPI_OFFSET_KIND                  = c_Offset
190integer, parameter :: MPI_COUNT_KIND                   = c_Count
191integer, parameter :: MPI_INTEGER_KIND                 = c_int
192
193! Datatypes
194type(MPI_Datatype), parameter   :: MPI_COMPLEX         = MPI_Datatype(@MPI_COMPLEX@)
195type(MPI_Datatype), parameter   :: MPI_DOUBLE_COMPLEX  = MPI_Datatype(@MPI_DOUBLE_COMPLEX@)
196type(MPI_Datatype), parameter   :: MPI_LOGICAL         = MPI_Datatype(@MPI_LOGICAL@)
197type(MPI_Datatype), parameter   :: MPI_REAL            = MPI_Datatype(@MPI_REAL@)
198type(MPI_Datatype), parameter   :: MPI_DOUBLE_PRECISION = MPI_Datatype(@MPI_DOUBLE_PRECISION@)
199type(MPI_Datatype), parameter   :: MPI_INTEGER         = MPI_Datatype(@MPI_INTEGER@)
200type(MPI_Datatype), parameter   :: MPI_2INTEGER        = MPI_Datatype(@MPI_2INTEGER@)
201type(MPI_Datatype), parameter   :: MPI_2DOUBLE_PRECISION = MPI_Datatype(@MPI_2DOUBLE_PRECISION@)
202type(MPI_Datatype), parameter   :: MPI_2REAL           = MPI_Datatype(@MPI_2REAL@)
203type(MPI_Datatype), parameter   :: MPI_CHARACTER       = MPI_Datatype(@MPI_CHARACTER@)
204
205type(MPI_Datatype), parameter   :: MPI_BYTE            = MPI_Datatype(@F08_BYTE@)
206type(MPI_Datatype), parameter   :: MPI_UB              = MPI_Datatype(@F08_UB@)
207type(MPI_Datatype), parameter   :: MPI_LB              = MPI_Datatype(@F08_LB@)
208type(MPI_Datatype), parameter   :: MPI_PACKED          = MPI_Datatype(@F08_PACKED@)
209type(MPI_Datatype), parameter   :: MPI_INTEGER1        = MPI_Datatype(@F08_INTEGER1@)
210type(MPI_Datatype), parameter   :: MPI_INTEGER2        = MPI_Datatype(@F08_INTEGER2@)
211type(MPI_Datatype), parameter   :: MPI_INTEGER4        = MPI_Datatype(@F08_INTEGER4@)
212type(MPI_Datatype), parameter   :: MPI_INTEGER8        = MPI_Datatype(@F08_INTEGER8@)
213type(MPI_Datatype), parameter   :: MPI_INTEGER16       = MPI_Datatype(@F08_INTEGER16@)
214type(MPI_Datatype), parameter   :: MPI_REAL4           = MPI_Datatype(@F08_REAL4@)
215type(MPI_Datatype), parameter   :: MPI_REAL8           = MPI_Datatype(@F08_REAL8@)
216type(MPI_Datatype), parameter   :: MPI_REAL16          = MPI_Datatype(@F08_REAL16@)
217type(MPI_Datatype), parameter   :: MPI_COMPLEX8        = MPI_Datatype(@F08_COMPLEX8@)
218type(MPI_Datatype), parameter   :: MPI_COMPLEX16       = MPI_Datatype(@F08_COMPLEX16@)
219type(MPI_Datatype), parameter   :: MPI_COMPLEX32       = MPI_Datatype(@F08_COMPLEX32@)
220type(MPI_Datatype), parameter   :: MPI_CHAR            = MPI_Datatype(@F08_CHAR@)
221type(MPI_Datatype), parameter   :: MPI_SIGNED_CHAR     = MPI_Datatype(@F08_SIGNED_CHAR@)
222type(MPI_Datatype), parameter   :: MPI_UNSIGNED_CHAR   = MPI_Datatype(@F08_UNSIGNED_CHAR@)
223type(MPI_Datatype), parameter   :: MPI_WCHAR           = MPI_Datatype(@F08_WCHAR@)
224type(MPI_Datatype), parameter   :: MPI_SHORT           = MPI_Datatype(@F08_SHORT@)
225type(MPI_Datatype), parameter   :: MPI_UNSIGNED_SHORT  = MPI_Datatype(@F08_UNSIGNED_SHORT@)
226type(MPI_Datatype), parameter   :: MPI_INT             = MPI_Datatype(@F08_INT@)
227type(MPI_Datatype), parameter   :: MPI_UNSIGNED        = MPI_Datatype(@F08_UNSIGNED@)
228type(MPI_Datatype), parameter   :: MPI_LONG            = MPI_Datatype(@F08_LONG@)
229type(MPI_Datatype), parameter   :: MPI_UNSIGNED_LONG   = MPI_Datatype(@F08_UNSIGNED_LONG@)
230type(MPI_Datatype), parameter   :: MPI_FLOAT           = MPI_Datatype(@F08_FLOAT@)
231type(MPI_Datatype), parameter   :: MPI_DOUBLE          = MPI_Datatype(@F08_DOUBLE@)
232type(MPI_Datatype), parameter   :: MPI_LONG_DOUBLE     = MPI_Datatype(@F08_LONG_DOUBLE@)
233type(MPI_Datatype), parameter   :: MPI_LONG_LONG_INT   = MPI_Datatype(@F08_LONG_LONG_INT@)
234type(MPI_Datatype), parameter   :: MPI_UNSIGNED_LONG_LONG = MPI_Datatype(@F08_UNSIGNED_LONG_LONG@)
235type(MPI_Datatype), parameter   :: MPI_LONG_LONG       = MPI_Datatype(@F08_LONG_LONG@)
236type(MPI_Datatype), parameter   :: MPI_FLOAT_INT       = MPI_Datatype(@F08_FLOAT_INT@)
237type(MPI_Datatype), parameter   :: MPI_DOUBLE_INT      = MPI_Datatype(@F08_DOUBLE_INT@)
238type(MPI_Datatype), parameter   :: MPI_LONG_INT        = MPI_Datatype(@F08_LONG_INT@)
239type(MPI_Datatype), parameter   :: MPI_SHORT_INT       = MPI_Datatype(@F08_SHORT_INT@)
240type(MPI_Datatype), parameter   :: MPI_2INT            = MPI_Datatype(@F08_2INT@)
241type(MPI_Datatype), parameter   :: MPI_LONG_DOUBLE_INT = MPI_Datatype(@F08_LONG_DOUBLE_INT@)
242type(MPI_Datatype), parameter   :: MPI_INT8_T          = MPI_Datatype(@F08_INT8_T@)
243type(MPI_Datatype), parameter   :: MPI_INT16_T         = MPI_Datatype(@F08_INT16_T@)
244type(MPI_Datatype), parameter   :: MPI_INT32_T         = MPI_Datatype(@F08_INT32_T@)
245type(MPI_Datatype), parameter   :: MPI_INT64_T         = MPI_Datatype(@F08_INT64_T@)
246type(MPI_Datatype), parameter   :: MPI_UINT8_T         = MPI_Datatype(@F08_UINT8_T@)
247type(MPI_Datatype), parameter   :: MPI_UINT16_T        = MPI_Datatype(@F08_UINT16_T@)
248type(MPI_Datatype), parameter   :: MPI_UINT32_T        = MPI_Datatype(@F08_UINT32_T@)
249type(MPI_Datatype), parameter   :: MPI_UINT64_T        = MPI_Datatype(@F08_UINT64_T@)
250type(MPI_Datatype), parameter   :: MPI_C_BOOL          = MPI_Datatype(@F08_C_BOOL@)
251type(MPI_Datatype), parameter   :: MPI_C_FLOAT_COMPLEX = MPI_Datatype(@F08_C_FLOAT_COMPLEX@)
252type(MPI_Datatype), parameter   :: MPI_C_COMPLEX       = MPI_Datatype(@F08_C_COMPLEX@)
253type(MPI_Datatype), parameter   :: MPI_C_DOUBLE_COMPLEX = MPI_Datatype(@F08_C_DOUBLE_COMPLEX@)
254type(MPI_Datatype), parameter   :: MPI_C_LONG_DOUBLE_COMPLEX = MPI_Datatype(@F08_C_LONG_DOUBLE_COMPLEX@)
255type(MPI_Datatype), parameter   :: MPI_AINT            = MPI_Datatype(@F08_AINT@)
256type(MPI_Datatype), parameter   :: MPI_OFFSET          = MPI_Datatype(@F08_OFFSET@)
257type(MPI_Datatype), parameter   :: MPI_COUNT           = MPI_Datatype(@F08_COUNT@)
258type(MPI_Datatype), parameter   :: MPI_CXX_BOOL        = MPI_Datatype(@F08_CXX_BOOL@)
259type(MPI_Datatype), parameter   :: MPI_CXX_FLOAT_COMPLEX = MPI_Datatype(@F08_CXX_FLOAT_COMPLEX@)
260type(MPI_Datatype), parameter   :: MPI_CXX_DOUBLE_COMPLEX = MPI_Datatype(@F08_CXX_DOUBLE_COMPLEX@)
261type(MPI_Datatype), parameter   :: MPI_CXX_LONG_DOUBLE_COMPLEX = MPI_Datatype(@F08_CXX_LONG_DOUBLE_COMPLEX@)
262
263! Datatype combiners
264integer, parameter :: MPI_COMBINER_NAMED               = 1
265integer, parameter :: MPI_COMBINER_DUP                 = 2
266integer, parameter :: MPI_COMBINER_CONTIGUOUS          = 3
267integer, parameter :: MPI_COMBINER_VECTOR              = 4
268integer, parameter :: MPI_COMBINER_HVECTOR_INTEGER     = 5
269integer, parameter :: MPI_COMBINER_HVECTOR             = 6
270integer, parameter :: MPI_COMBINER_INDEXED             = 7
271integer, parameter :: MPI_COMBINER_HINDEXED_INTEGER    = 8
272integer, parameter :: MPI_COMBINER_HINDEXED            = 9
273integer, parameter :: MPI_COMBINER_INDEXED_BLOCK       = 10
274integer, parameter :: MPI_COMBINER_STRUCT_INTEGER      = 11
275integer, parameter :: MPI_COMBINER_STRUCT              = 12
276integer, parameter :: MPI_COMBINER_SUBARRAY            = 13
277integer, parameter :: MPI_COMBINER_DARRAY              = 14
278integer, parameter :: MPI_COMBINER_F90_REAL            = 15
279integer, parameter :: MPI_COMBINER_F90_COMPLEX         = 16
280integer, parameter :: MPI_COMBINER_F90_INTEGER         = 17
281integer, parameter :: MPI_COMBINER_RESIZED             = 18
282integer, parameter :: MPI_COMBINER_HINDEXED_BLOCK      = 19
283
284integer, parameter :: MPI_TYPECLASS_REAL               = 1
285integer, parameter :: MPI_TYPECLASS_INTEGER            = 2
286integer, parameter :: MPI_TYPECLASS_COMPLEX            = 3
287
288integer, parameter :: MPI_MODE_NOCHECK                 = 1024
289integer, parameter :: MPI_MODE_NOSTORE                 = 2048
290integer, parameter :: MPI_MODE_NOPUT                   = 4096
291integer, parameter :: MPI_MODE_NOPRECEDE               = 8192
292integer, parameter :: MPI_MODE_NOSUCCEED               = 16384
293
294integer, parameter :: MPI_COMM_TYPE_SHARED             = 1
295
296integer, parameter :: MPI_THREAD_SINGLE                = 0
297integer, parameter :: MPI_THREAD_FUNNELED              = 1
298integer, parameter :: MPI_THREAD_SERIALIZED            = 2
299integer, parameter :: MPI_THREAD_MULTIPLE              = 3
300
301integer, parameter :: MPI_MODE_RDONLY                  = 2
302integer, parameter :: MPI_MODE_RDWR                    = 8
303integer, parameter :: MPI_MODE_WRONLY                  = 4
304integer, parameter :: MPI_MODE_DELETE_ON_CLOSE         = 16
305integer, parameter :: MPI_MODE_UNIQUE_OPEN             = 32
306integer, parameter :: MPI_MODE_CREATE                  = 1
307integer, parameter :: MPI_MODE_EXCL                    = 64
308integer, parameter :: MPI_MODE_APPEND                  = 128
309integer, parameter :: MPI_MODE_SEQUENTIAL              = 256
310
311integer, parameter :: MPI_SEEK_SET                     = 600
312integer, parameter :: MPI_SEEK_CUR                     = 602
313integer, parameter :: MPI_SEEK_END                     = 604
314
315integer, parameter :: MPI_ORDER_C                      = 56
316integer, parameter :: MPI_ORDER_FORTRAN                = 57
317
318integer, parameter :: MPI_DISTRIBUTE_BLOCK             = 121
319integer, parameter :: MPI_DISTRIBUTE_CYCLIC            = 122
320integer, parameter :: MPI_DISTRIBUTE_NONE              = 123
321integer, parameter :: MPI_DISTRIBUTE_DFLT_DARG         = -49767
322
323integer(kind=MPI_OFFSET_KIND), parameter :: MPI_DISPLACEMENT_CURRENT         = -54278278
324end module mpi_f08_compile_constants
325