SIONlib  1.7.6
Scalable I/O library for parallel access to task-local files
csioninter.pxd
1 # -*- python -*-
2 from libc.stdio cimport FILE
3 from libc.stdint cimport uint64_t
4 ctypedef long long sion_int64
5 ctypedef int sion_int32
6 from mpi4py.mpi_c cimport MPI_Comm
7 
8 cdef extern from "sion.h":
9  int sion_open(char *fname,
10  const char* file_mode,
11  int *ntasks,
12  int *nfiles,
13  sion_int64 **chunksizes,
14  sion_int32 *fsblksize,
15  int **globalranks,
16  FILE **fileptr)
17 
18  int sion_close(int sid)
19 
20  size_t sion_fwrite(const void *data,
21  size_t size,
22  size_t nitems,
23  int sid)
24 
25  size_t sion_fread(void *ptr,
26  size_t size,
27  size_t nmemb,
28  int sid)
29 
30  sion_int64 sion_bytes_avail_in_chunk(int sid)
31 
32  size_t sion_fwrite_key(const void *data,
33  uint64_t key,
34  size_t size,
35  size_t nitems,
36  int sid)
37 
38  size_t sion_fread_key(void *data,
39  uint64_t key,
40  size_t size,
41  size_t nitems,
42  int sid)
43 
44 cdef extern from "sion_mpi.h":
45  int sion_paropen_mpi(char *fname,
46  const char *file_mode,
47  int *numFiles,
48  MPI_Comm gComm,
49  MPI_Comm *lComm,
50  sion_int64 *chunksize,
51  sion_int32 *fsblksize,
52  int *globalrank,
53  FILE **fileptr,
54  char **newfname)
55 
56  int sion_parclose_mpi(int sid)
57  int sion_parreinit_mpi(int sid,
58  sion_int64 chunksize)