SIONlib  1.7.1
Scalable I/O library for parallel access to task-local files
sion_serial.c
Go to the documentation of this file.
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2016 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
9 
16 #include <stdlib.h>
17 #include <stdio.h>
18 #include <string.h>
19 #include <time.h>
20 #include <assert.h>
21 
22 #if defined(_BGL)
23 #include <rts.h>
24 #ifndef __USE_FILE_OFFSET64
25 #define __USE_FILE_OFFSET64
26 #endif
27 #endif
28 
29 #include <sys/time.h>
30 
31 
32 
33 #include "sion_debug.h"
34 #include "sion_filedesc.h"
35 #include "sion_internal.h"
36 #include "sion_printts.h"
37 
38 #include "sion_const.h"
39 #include "sion_common.h"
40 #include "sion_serial.h"
41 
42 
61 int sion_open(char *fname, const char *file_mode, int *ntasks, int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize, int **globalranks, FILE **fileptr)
62 {
63 
64  int sid=0;
65 
66  DPRINTFP((1, "sion_open", 0, "enter open of file %s in %s mode\n", fname, file_mode));
67 
68  sid=_sion_open(fname,file_mode,ntasks,nfiles,chunksizes,fsblksize,globalranks,fileptr);
69 
70  return (sid);
71 
72 }
73 
90 int sion_open_rank(char *fname, const char *file_mode, sion_int64 *chunksize, sion_int32 *fsblksize, int *rank, FILE **fileptr)
91 {
92  int sid;
93 
94  /* */ DPRINTFTS(*rank, "before open rank");
95  DPRINTFP((1, "sion_open_rank", *rank, "enter open of file %s in %s mode\n", fname, file_mode));
96  sid=_sion_open_rank(fname, file_mode, chunksize, fsblksize, rank, fileptr);
97  DPRINTFP((1, "sion_open_rank", 0, "leave open of file %s in %s mode sid=%d\n", fname, file_mode,sid));
98  /* */ DPRINTFTS(*rank, "after open rank");
99 
100  return (sid);
101 
102 }
103 
113 int sion_close(int sid)
114 {
115 
116  int rc = 0;
117  DPRINTFP((1, "sion_close", -1, "enter close sid=%d\n", sid));
118  rc=_sion_close_sid(sid);
119  DPRINTFP((1, "sion_close", -1, "leave close sid=%d\n", sid));
120 
121  sion_dclose();
122 
123  return (rc);
124 }
int sion_close(int sid)
Close a sion file.
Definition: sion_serial.c:113
void sion_dclose(void)
Definition: sion_debug.c:287
int sion_open_rank(char *fname, const char *file_mode, sion_int64 *chunksize, sion_int32 *fsblksize, int *rank, FILE **fileptr)
Open a sion file for a specific rank.
Definition: sion_serial.c:90
Sion Time Stamp Header.
int sion_open(char *fname, const char *file_mode, int *ntasks, int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize, int **globalranks, FILE **fileptr)
Open a sion file in serial mode.
Definition: sion_serial.c:61