SIONlib  1.7.7
Scalable I/O library for parallel access to task-local files
sion_metadata.h
Go to the documentation of this file.
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_SION_METADATA_H
10 #define SION_SION_METADATA_H
11 
12 #include "sion_const.h"
13 
14 #define SION_ID "sion"
53 #include "sion_datatypes.h"
54 #include "sion_filedesc.h"
55 
56 /* WRITE */
57 int _sion_write_header(_sion_filedesc *sion_filedesc ); /* writes M11, M12 */
58 int _sion_write_header_var_info(_sion_filedesc *sion_filedesc ); /* writes M13 */
59 int _sion_write_header_var_part_blocksizes(_sion_filedesc *sion_filedesc ); /* writes M21 */
61  sion_int32 mapping_size,
62  sion_int32 *mapping ); /* writes M22 */
63 
64 /* READ */
65 int _sion_read_header_fix_part( _sion_filedesc *sion_filedesc ); /* reads M11 */
66 int _sion_read_header_var_part( _sion_filedesc *sion_filedesc ); /* reads M12, M13 */
67 int _sion_read_header_var_part_blocksizes( _sion_filedesc *sion_filedesc ); /* reads M21 */
68 int _sion_read_header_var_part_blocksizes_rank(_sion_filedesc *sion_filedesc); /* reads part of M21 (one rank) */
69 int _sion_read_header_var_part_mapping( _sion_filedesc *sion_filedesc ); /* reads M22 */
70 int _sion_read_header_var_part_mapping_rank(_sion_filedesc *sion_filedesc); /* reads part of M22 (one rank) */
71 
72 /* for parallel support, don't read all blocksizes of all tasks in memory */
74  int field_size,
75  sion_int64 *field );
77  int field_size,
78  sion_int64 *field );
79 
81  int field_size,
82  sion_int64 *field );
84  int field_size,
85  sion_int64 *field );
86 
87 #endif
int _sion_read_header_var_part(_sion_filedesc *sion_filedesc)
Read the second part of SION Meta Block 1.
int _sion_write_header_var_part_blockcount_from_field(_sion_filedesc *sion_filedesc, int field_size, sion_int64 *field)
Write the block sizes from Meta Block 2.
int _sion_read_header_var_part_blocksizes_rank(_sion_filedesc *sion_filedesc)
Read the SION Meta Block 2.
int _sion_write_header_var_part_nextblocksizes_from_field(_sion_filedesc *sion_filedesc, int field_size, sion_int64 *field)
Write the next set of blocksizes from Meta Block 2 Assuming that filepointer is at the correct positi...
int _sion_read_header_var_part_mapping_rank(_sion_filedesc *sion_filedesc)
Read the mapping data at end of SION Meta Block 2.
int _sion_write_header_var_info(_sion_filedesc *sion_filedesc)
Write the SION Meta Block 1.
int _sion_write_header_var_part_blocksizes(_sion_filedesc *sion_filedesc)
Write the SION Meta Block 2.
int _sion_write_header(_sion_filedesc *sion_filedesc)
Write the SION Meta Block 1.
Definition: sion_metadata.c:38
int _sion_read_header_var_part_blockcount_to_field(_sion_filedesc *sion_filedesc, int field_size, sion_int64 *field)
Read the block sizes from Meta Block 2.
int _sion_read_header_var_part_blocksizes(_sion_filedesc *sion_filedesc)
Read the SION Meta Block 2.
int _sion_read_header_fix_part(_sion_filedesc *sion_filedesc)
Read part of the SION Meta Block 1.
int _sion_write_header_var_part_mapping(_sion_filedesc *sion_filedesc, sion_int32 mapping_size, sion_int32 *mapping)
Write mapping into the SION Meta Block 2.
int _sion_read_header_var_part_mapping(_sion_filedesc *sion_filedesc)
Read the mapping data at end of SION Meta Block 2.
int _sion_read_header_var_part_nextblocksizes_to_field(_sion_filedesc *sion_filedesc, int field_size, sion_int64 *field)
Read the next set of blocksizes from Meta Block 2 Assuming that filepointer is at the correct positio...
Sion File Descriptor Structure.
Definition: sion_filedesc.h:79