3 #include "sion_cxx_serial.hpp" 12 SIONFile::SIONFile(std::string sion_file_name, std::string mode,
int num_tasks,
13 int num_files, sion_int64 * chunk_sizes, sion_int32 _fs_blk_size,
int * global_ranks) {
15 size_t ncharacter = sion_file_name.length()+1;
16 const char * tmp_sion_file_name = sion_file_name.c_str();
18 _sion_file_name =
new char[ncharacter];
20 strncpy(_sion_file_name, tmp_sion_file_name, ncharacter);
23 _num_files = num_files;
24 _num_tasks = num_tasks;
36 SIONFile::~SIONFile() {
37 delete [] _sion_file_name;
38 _sion_file_name = NULL;
41 void SIONFile::open() {
42 _sid =
sion_open(_sion_file_name, _mode.c_str(), &_num_tasks, &_num_files,
43 &_chunk_sizes, &_fs_blk_size, &_global_ranks, &_file_ptr);
46 void SIONFile::openRank() {
47 _sid =
sion_open_rank(_sion_file_name, _mode.c_str(), &_chunk_size,
48 &_fs_blk_size, &_rank, &_file_ptr);
51 int SIONFile::close() {
int sion_close(int sid)
Close a sion file.
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.
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.