14 #ifndef SION_SION_INTERNAL_H 15 #define SION_SION_INTERNAL_H 20 #define _SION_READ_MASTER_ONLY_OF_MULTI_FILES 0 21 #define _SION_READ_ALL_OF_MULTI_FILES 1 23 #define _SION_SAFE_FREE(ptr, null) {if (ptr) {free(ptr); ptr = null;}} 26 int _sion_open(
const char *fname,
27 const char* file_mode,
30 sion_int64 **chunksizes,
31 sion_int32 *fsblksize,
35 int _sion_open_rank(
const char *fname,
36 const char *file_mode,
37 sion_int64 *chunksize,
38 sion_int32 *fsblksize,
42 int _sion_open_write(
const char *fname, sion_int64 file_mode_flags,
int *ntasks,
int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize,
int **globalranks, FILE **fileptr);
43 int _sion_open_read(
const char *fname, sion_int64 file_mode_flags,
int read_all,
int *ntasks,
int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize,
int **globalranks, FILE **fileptr);
44 int _sion_open_read_single(
const char *fname, sion_int64 file_mode_flags,
int *ntasks,
int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize,
int **globalranks, FILE **fileptr,
_sion_filedesc *sion_filedesc);
45 int _sion_open_read_master(
const char *fname, sion_int64 file_mode_flags,
int *ntasks,
int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize,
int **globalranks, FILE **fileptr,
_sion_filedesc *sion_filedesc);
57 #define _SION_ERROR_RETURN -10001 58 #define _SION_ERROR_ABORT -10002 59 #define _SION_ERROR_WARN -10003 60 #define _SION_ERROR_UNKNOWN -10020 62 int __sion_error(
int rc,
int level,
char * errmsg);
64 int _sion_errorprint_on_rank(
int rc,
int level,
int rank,
const char *format, ...);
69 #define _SION_FMODE_WRITE 1024 70 #define _SION_FMODE_READ 2048 71 #define _SION_FMODE_ANSI 1 72 #define _SION_FMODE_POSIX 2 73 #define _SION_FMODE_BUFFERED 4 74 #define _SION_FMODE_COMPRESS 8 75 #define _SION_FMODE_COLLECTIVE 16 76 #define _SION_FMODE_COLLECTIVE_MERGE 32 77 #define _SION_FMODE_KEYVAL 64 78 #define _SION_FMODE_KEYVAL_INLINE 4096 79 #define _SION_FMODE_KEYVAL_META 8192 80 #define _SION_FMODE_KEYVAL_HASH 16384 81 #define _SION_FMODE_KEYVAL_NONE 32768 82 #define _SION_FMODE_KEYVAL_UNKNOWN 65536 83 #define _SION_FMODE_ENDIANNESS_SET 131072 84 #define _SION_FMODE_ENDIANNESS_BIG 262144 int _sion_open_write(const char *fname, sion_int64 file_mode_flags, int *ntasks, int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize, int **globalranks, FILE **fileptr)
internal sion serial open function for writing on one file
int _sion_check_on_collective_mode(_sion_filedesc *sion_filedesc)
check if a collective operation are already called,
int _sion_errorprint(int rc, int level, const char *format,...)
Internal SION error.
Sion File Descriptor Structure.
sion_int32 _sion_get_endianness_with_flags(sion_int64 flags)
Return endianness including possible choice via flags.
char * _sion_get_multi_filename(const char *fname, int filenumber)
generates the multi filename
int _sion_create_new_block(_sion_filedesc *sion_filedesc)
Create a new block for the internal data structure.
int _sion_open_read(const char *fname, sion_int64 file_mode_flags, int read_all, int *ntasks, int *nfiles, sion_int64 **chunksizes, sion_int32 *fsblksize, int **globalranks, FILE **fileptr)
internal sion serial open function for reading on one or more files
char * _sion_getenv(const char *name)
int _sion_flush_block(_sion_filedesc *sion_filedesc)
Update the internal data structure.
int _sion_update_fileposition(_sion_filedesc *sion_filedesc)
Update the internal data structure (check fileposition)