SIONlib  2.0.0-rc.2
Scalable I/O library for parallel access to task-local files
Enumerations
Constants

Constants for use throughout the SIONlib API. More...

Collaboration diagram for Constants:

Enumerations

enum  sion_lowlevel_api { SION_LOWLEVEL_API_C, SION_LOWLEVEL_API_POSIX }
 specifies a low-level API to use for file system access More...
 
enum  sion_open_mode { SION_OPEN_READ, SION_OPEN_WRITE }
 specifies for what type of access to open a file More...
 
enum  sion_keyval_mode {
  SION_KEYVAL_MODE_INLINE, SION_KEYVAL_MODE_META, SION_KEYVAL_MODE_HASH, SION_KEYVAL_MODE_UNKNOWN,
  SION_KEYVAL_MODE_NONE
}
 specifies whether to use SIONlib's key-value mechanism for accessing file content and if so in what mode More...
 
enum  sion_seek_mode {
  SION_SEEK_BEGINNING = 0, SION_SEEK_CURRENT, SION_SEEK_END, SION_SEEK_CHUNK_BEGINNING,
  SION_SEEK_CHUNK_END
}
 determines how offsets are interpreted for seek operations More...
 
enum  sion_endianness { SION_ENDIANNESS_LITTLE, SION_ENDIANNESS_BIG, SION_ENDIANNESS_HOST }
 declares the endianness of user data written to a file More...
 
#define SION_SUCCESS   1
 
#define SION_NOT_SUCCESS   0
 
#define SION_STD_SUCCESS   0
 
#define SION_STD_NOT_SUCCESS   1
 
#define SION_SMALLEST_VALID_ID   0
 
#define SION_ID_UNDEF   -1
 
#define SION_ID_NOT_VALID   -1
 
#define SION_UNKNOWN   -1
 
#define SION_AUTOMATIC   -1
 
#define SION_SIZE_NOT_VALID   -1
 
#define SION_ANSI_SIZE_NOT_VALID   0
 
#define SION_VERSION_MAJOR   2
 the major version number
 
#define SION_VERSION_MINOR   0
 the minor version number
 
#define SION_VERSION_PATCH   0
 the patch level
 
#define SION_MAIN_VERSION   SION_VERSION_MAJOR
 alias for SION_VERSION_MAJOR
 
#define SION_SUB_VERSION   SION_VERSION_MINOR
 alias for SION_VERSION_MINOR
 
#define SION_VERSION_PATCHLEVEL   SION_VERSION_PATCH
 alias for SION_VERSION_PATCH
 
#define SION_FILEFORMAT_VERSION   6
 
#define SVN_REV   "Unknown"
 
#define SION_SVN_VERSION   SVN_REV
 
#define SION_LVERSION_PREFIX   ""
 
#define SION_CURRENT_RANK   -101
 Alias for the current rank.
 
#define SION_CURRENT_BLK   -102
 Alias for the current block.
 
#define SION_CURRENT_CHUNK   -102
 Alias for the current block.
 
#define SION_CURRENT_BLOCK   -102
 Alias for the current block.
 
#define SION_CURRENT_POS   -103
 Alias for the current position in the current block.
 
#define SION_ABSOLUTE_POS   -104
 Alias for the flag to specify in sion_seek an absolute position in bytestream.
 
#define SION_END_POS   -105
 Flag in sion_seek for a position relative to end.
 
#define SION_DUP_ALL   -201
 dup meta data for all ranks&keys
 
#define SION_DUP_RANK   -202
 dup meta data only for one rank and all keys
 
#define SION_DUP_RANK_KEY   -203
 dup meta data only for one rank and one key
 
#define SION_KEYVAL_NONE   50
 no Key-Value Pairs in Chunks
 
#define SION_KEYVAL_INLINE   51
 use inline records to store key-value
 
#define SION_KEYVAL_META   52
 use meta data block to store keys/len
 
#define SION_KEYVAL_HASH   53
 use hash data structure to store key-value
 
#define SION_KEYVAL_UNKNOWN   54
 type UNKNOWN
 
#define SION_KEYVAL_NOTSET   55
 no Key-Value Pairs in Chunks
 
#define _SION_INT32   10
 a 32 bit signed integer
 
#define _SION_INT64   11
 a 64 bit signed integer
 
#define _SION_CHAR   12
 a character
 
#define SION_ROLE_NONE   0
 
#define SION_ROLE_COLLECTOR   1
 
#define SION_ROLE_SENDER   2
 
#define SION_ROLE_WRITER   4
 
#define SION_ROLE_NOWRITER   8
 
#define SION_ROLE_READER   16
 
#define SION_ROLE_NOREADER   32
 
#define SION_ROLE_COLLECTOR_READER   64
 
#define SION_GET_IO_INFO_FLAG_NONE   0
 

Detailed Description

Constants for use throughout the SIONlib API.

Enumeration Type Documentation

◆ sion_endianness

declares the endianness of user data written to a file

Enumerator
SION_ENDIANNESS_LITTLE 

the user data is little endian

SION_ENDIANNESS_BIG 

the user data is big endian

SION_ENDIANNESS_HOST 

the user data has the endianness of the host system

Definition at line 63 of file sion_enums.h.

◆ sion_keyval_mode

specifies whether to use SIONlib's key-value mechanism for accessing file content and if so in what mode

Enumerator
SION_KEYVAL_MODE_INLINE 

key-value mechanism with inline storage of meta-data

SION_KEYVAL_MODE_META 

not implemented

SION_KEYVAL_MODE_HASH 

not implemented

SION_KEYVAL_MODE_UNKNOWN 

when reading a file, learn appropriate mechanism from file header

SION_KEYVAL_MODE_NONE 

do not use key-value mechanism

Definition at line 35 of file sion_enums.h.

◆ sion_lowlevel_api

specifies a low-level API to use for file system access

Enumerator
SION_LOWLEVEL_API_C 

the C standard library I/O API (fopen(), fread(), fwrite(), fclose(), etc.)

SION_LOWLEVEL_API_POSIX 

the POSIX I/O API (open(), read(), write(), close(), etc.)

Definition at line 19 of file sion_enums.h.

◆ sion_open_mode

specifies for what type of access to open a file

Enumerator
SION_OPEN_READ 

open the file for reading only

SION_OPEN_WRITE 

open the file for writing only

Definition at line 27 of file sion_enums.h.

◆ sion_seek_mode

determines how offsets are interpreted for seek operations

Enumerator
SION_SEEK_BEGINNING 

interpret the offset relative to the beginning of the file

SION_SEEK_CURRENT 

interpret the offset relative to the current position in the file

SION_SEEK_END 

interpret the offset relative to the end of the file

SION_SEEK_CHUNK_BEGINNING 

interpret the offset relative to the beginning of the current chunk

SION_SEEK_CHUNK_END 

interpret the offset relative to the end of the current chunk

Definition at line 49 of file sion_enums.h.