SIONlib  1.7.4
Scalable I/O library for parallel access to task-local files
sion_fortran_omp.h
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 #ifndef SION_FORTRAN_OMP_H_
10 #define SION_FORTRAN_OMP_H_
11 
12 #include <omp.h>
13 #include "sion.h"
14 
15 /* sion_paropen_omp() */
16 #if defined(_FORTRANCAPS)
17 #define fsion_paropen_omp_c FSION_PAROPEN_OMP_C
18 
19 #elif defined(_FORTRANNOCAPS)
20 #define fsion_paropen_omp_c fsion_paropen_omp_c
21 
22 #elif defined(_FORTRANUNDERSCORE)
23 #define fsion_paropen_omp_c fsion_paropen_omp_c_
24 
25 #elif defined(_FORTRANDOUBLEUNDERSCORE)
26 #define fsion_paropen_omp_c fsion_paropen_omp_c__
27 
28 #elif defined(_FORTRANNOUNDERSCORE)
29 #else
30 #error nothing defined for fortran externals
31 #endif
32 
33 void fsion_paropen_omp_c(char *fname,
34  char *file_mode,
35  sion_int64 *chunksize,
36  sion_int32 *fsblksize,
37  int *globalrank,
38  char *newfname,
39  int *sid,
40  int fname_len,
41  int file_mode_len,
42  int newfname_len);
43 
44 /* sion_parclose_omp() */
45 #if defined(_FORTRANCAPS)
46 #define fsion_parclose_omp_c FSION_PARCLOSE_OMP_C
47 
48 #elif defined(_FORTRANNOCAPS)
49 #define fsion_parclose_omp_c fsion_parclose_omp_c
50 
51 #elif defined(_FORTRANUNDERSCORE)
52 #define fsion_parclose_omp_c fsion_parclose_omp_c_
53 
54 #elif defined(_FORTRANDOUBLEUNDERSCORE)
55 #define fsion_parclose_omp_c fsion_parclose_omp_c__
56 
57 #elif defined(_FORTRANNOUNDERSCORE)
58 #else
59 #error nothing defined for fortran externals
60 #endif
61 void fsion_parclose_omp_c(int *sid, int *ierr);
62 
63 #endif /* SION_FORTRAN_OMP_H_ */
void fsion_paropen_omp_c(char *fname, char *file_mode, sion_int64 *chunksize, sion_int32 *fsblksize, int *globalrank, char *newfname, int *sid, int fname_len, int file_mode_len, int newfname_len)
Fortran wrapper function that calls sion_paropen_omp.
void fsion_parclose_omp_c(int *sid, int *ierr)
Fortran procedure to close a sion file opened with OpenMP in parallel.