![]()  | 
  
    SIONlib
    1.7.7
    
   Scalable I/O library for parallel access to task-local files 
   | 
 
Go to the source code of this file.
Data Structures | |
| struct | _sion_fileptr_s | 
Macros | |
| #define | SION_FILE_FLAG_ANSI 1 | 
| #define | SION_FILE_FLAG_SCNDANSI 2 | 
| #define | SION_FILE_FLAG_POSIX 4 | 
| #define | SION_FILE_FLAG_CREATE 8 | 
| #define | SION_FILE_FLAG_WRITE 16 | 
| #define | SION_FILE_FLAG_READ 32 | 
Typedefs | |
| typedef struct _sion_fileptr_s | _sion_fileptr | 
Functions | |
| _sion_fileptr * | _sion_file_open (const char *fname, unsigned int flags, unsigned int addflags) | 
| Create and open a new file for writing.  More... | |
| int | _sion_file_close (_sion_fileptr *sion_fileptr) | 
| Close file and destroys fileptr structure.  More... | |
| sion_int64 | _sion_file_write (const void *data, sion_int64 bytes, _sion_fileptr *sion_fileptr) | 
| Write data to file.  More... | |
| sion_int64 | _sion_file_read (void *data, sion_int64 bytes, _sion_fileptr *sion_fileptr) | 
| Read data from file.  More... | |
| int | _sion_file_set_second_fileptr (_sion_fileptr *sion_fileptr, FILE *fileptr) | 
| Set second fileptr for file if opened with ANSI.  More... | |
| int | _sion_file_unset_second_fileptr (_sion_fileptr *sion_fileptr) | 
| Unset second fileptr for file if opened with ANSI.  More... | |
| long | _sion_file_get_opt_blksize (_sion_fileptr *fileptr) | 
| Get optional file system block size for a file.  More... | |
| int | _sion_file_stat_file (const char *fname) | 
| Check if file exists (LARGE_FILE support on BlueGene)  More... | |
| int | _sion_file_stat_file2 (const char *fname, unsigned int apiflag) | 
| Check if file exists with appropriate low-level API.  More... | |
| sion_int64 | _sion_file_set_position (_sion_fileptr *fileptr, sion_int64 startpointer) | 
| Set new position in file.  More... | |
| sion_int64 | _sion_file_get_position (_sion_fileptr *fileptr) | 
| Get new position in file.  More... | |
| int | _sion_file_flush (_sion_fileptr *fileptr) | 
| Flush data to file.  More... | |
| int | _sion_file_purge (_sion_fileptr *fileptr) | 
| Purge data to file.  More... | |
| int | _sion_file_set_buffer (_sion_fileptr *fileptr, char *buffer, sion_int32 buffer_size) | 
| Set buffer of fp.  More... | |
| int | _sion_file_get_fd (_sion_fileptr *sion_fileptr) | 
| Utility function: Get POSIX fp.  More... | |
| FILE * | _sion_file_open_ansi_write_create (const char *fname, unsigned int addflags) | 
| ANSI: Create and open a new file for writing.  More... | |
| FILE * | _sion_file_open_ansi_write_existing (const char *fname, unsigned int addflags) | 
| ANSI: Open a new file for writing.  More... | |
| FILE * | _sion_file_open_ansi_read (const char *fname, unsigned int addflags) | 
| ANSI: Open a file for reading.  More... | |
| int | _sion_file_close_ansi (FILE *fileptr) | 
| ANSI: Close a file.  More... | |
| long | _sion_file_get_opt_blksize_ansi (FILE *fileptr) | 
| ANSI: Get optional file system block size for a file.  More... | |
| sion_int64 | _sion_file_set_position_ansi (FILE *fileptr, sion_int64 startpointer) | 
| ANSI: Set the start position for the current task.  More... | |
| sion_int64 | _sion_file_get_position_ansi (FILE *fileptr) | 
| ANSI: Get the current position in file.  More... | |
| int | _sion_file_flush_ansi (FILE *fileptr) | 
| ANSI: Flush the data to the disk.  More... | |
| int | _sion_file_purge_ansi (FILE *fileptr) | 
| ANSI: Purge the data to the disk.  More... | |
| int | _sion_file_set_buffer_ansi (FILE *fileptr, char *buffer, sion_int32 buffer_size) | 
| ANSI: set buffer of fp.  More... | |
| sion_int64 | _sion_file_write_ansi (const void *data, sion_int64 bytes, FILE *fileptr) | 
| ANSI: Write data to file.  More... | |
| sion_int64 | _sion_file_read_ansi (void *data, sion_int64 bytes, FILE *fileptr) | 
| ANSI: Read data from file.  More... | |
| int | _sion_file_open_posix_write_create (const char *fname, unsigned int addflags) | 
| POSIX: Create and open a new file for writing.  More... | |
| int | _sion_file_open_posix_write_existing (const char *fname, unsigned int addflags) | 
| POSIX: Open a new file for writing.  More... | |
| int | _sion_file_open_posix_read (const char *fname, unsigned int addflags) | 
| POSIX: Open a file for reading.  More... | |
| int | _sion_file_close_posix (int fd) | 
| POSIX: Close a file.  More... | |
| long | _sion_file_get_opt_blksize_posix (int fd) | 
| POSIX: Get optional file system block size for a file.  More... | |
| sion_int64 | _sion_file_set_position_posix (int fd, sion_int64 startpointer) | 
| POSIX: Set the start position for the current task.  More... | |
| sion_int64 | _sion_file_get_position_posix (int fd) | 
| POSIX: Get the current position in file.  More... | |
| int | _sion_file_flush_posix (int fd) | 
| POSIX: Flush the data to the disk.  More... | |
| int | _sion_file_purge_posix (int fd) | 
| POSIX: Purge the data to the disk.  More... | |
| int | _sion_file_set_buffer_posix (int fd, char *buffer, sion_int32 buffer_size) | 
| POSIX: set buffer of fd.  More... | |
| sion_int64 | _sion_file_write_posix (const void *data, sion_int64 bytes, int fd) | 
| POSIX: Write data to file.  More... | |
| sion_int64 | _sion_file_read_posix (void *data, sion_int64 bytes, int fd) | 
| POSIX: Read data from file.  More... | |
| _sion_fileptr * | _sion_file_alloc_and_init_sion_fileptr (void) | 
| Create and return _sion_fileptr.  More... | |
| char * | _sion_get_fileptr_desc (_sion_fileptr *sion_fileptr) | 
| #define SION_FILE_FLAG_ANSI 1 | 
ANSI fileptr available
Definition at line 25 of file sion_file.h.
| #define SION_FILE_FLAG_CREATE 8 | 
create file
Definition at line 28 of file sion_file.h.
| #define SION_FILE_FLAG_POSIX 4 | 
POSIX file pointer available
Definition at line 27 of file sion_file.h.
| #define SION_FILE_FLAG_READ 32 | 
read mode
Definition at line 30 of file sion_file.h.
| #define SION_FILE_FLAG_SCNDANSI 2 | 
ANSI second fileptr available
Definition at line 26 of file sion_file.h.
| #define SION_FILE_FLAG_WRITE 16 | 
write mode
Definition at line 29 of file sion_file.h.
| _sion_fileptr* _sion_file_alloc_and_init_sion_fileptr | ( | void | ) | 
Create and return _sion_fileptr.
Definition at line 1526 of file sion_file.c.
Referenced by _sion_file_open().
| int _sion_file_close | ( | _sion_fileptr * | sion_fileptr | ) | 
Close file and destroys fileptr structure.
| [in,out] | sion_fileptr | file handle | 
SION_SUCCESS if success Definition at line 178 of file sion_file.c.
| int _sion_file_close_ansi | ( | FILE * | fileptr | ) | 
ANSI: Close a file.
| *fileptr | ANSI file pointer | 
SION_SUCCESS or SION_NOT_SUCCESS Definition at line 671 of file sion_file.c.
| int _sion_file_close_posix | ( | int | fd | ) | 
POSIX: Close a file.
| fd | POSIX file pointer | 
SION_SUCCESS or SION_NOT_SUCCESS Definition at line 950 of file sion_file.c.
| int _sion_file_flush | ( | _sion_fileptr * | sion_fileptr | ) | 
Flush data to file.
| sion_fileptr | fileptr | 
SION_SUCCESS if ok Definition at line 434 of file sion_file.c.
| int _sion_file_flush_ansi | ( | FILE * | fileptr | ) | 
ANSI: Flush the data to the disk.
| *fileptr | file handle | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 805 of file sion_file.c.
Referenced by _sion_file_purge_ansi().
| int _sion_file_flush_posix | ( | int | fd | ) | 
POSIX: Flush the data to the disk.
| fd | file descriptor | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 1053 of file sion_file.c.
| int _sion_file_get_fd | ( | _sion_fileptr * | sion_fileptr | ) | 
Utility function: Get POSIX fp.
| sion_fileptr | file handle | 
SION_ID_UNDEF on failure Definition at line 573 of file sion_file.c.
Referenced by fsion_get_fileno_c().
| long _sion_file_get_opt_blksize | ( | _sion_fileptr * | sion_fileptr | ) | 
Get optional file system block size for a file.
| sion_fileptr | fileptr | 
-1 if not defined Definition at line 289 of file sion_file.c.
| long _sion_file_get_opt_blksize_ansi | ( | FILE * | fileptr | ) | 
ANSI: Get optional file system block size for a file.
| fileptr | fileptr | 
-1 if not defined Definition at line 686 of file sion_file.c.
| long _sion_file_get_opt_blksize_posix | ( | int | fd | ) | 
POSIX: Get optional file system block size for a file.
| fd | file descriptor | 
-1 if not defined Definition at line 965 of file sion_file.c.
| sion_int64 _sion_file_get_position | ( | _sion_fileptr * | sion_fileptr | ) | 
Get new position in file.
| sion_fileptr | fileptr | 
-1 on failure Definition at line 401 of file sion_file.c.
| sion_int64 _sion_file_get_position_ansi | ( | FILE * | fileptr | ) | 
ANSI: Get the current position in file.
| *fileptr | file handle | 
| position | in file, -1 on failure  | 
Definition at line 762 of file sion_file.c.
| sion_int64 _sion_file_get_position_posix | ( | int | fd | ) | 
POSIX: Get the current position in file.
| fd | file handle | 
| position | in file or -1 on failure  | 
Definition at line 1025 of file sion_file.c.
| _sion_fileptr* _sion_file_open | ( | const char * | fname, | 
| unsigned int | flags, | ||
| unsigned int | addflags | ||
| ) | 
Create and open a new file for writing.
| fname | filename to use | 
| flags | flags | 
| addflags | optional additional flags | 
NULL on error Definition at line 53 of file sion_file.c.
References _sion_file_alloc_and_init_sion_fileptr(), _sion_file_open_ansi_read(), _sion_file_open_ansi_write_create(), _sion_file_open_ansi_write_existing(), SION_FILE_FLAG_ANSI, SION_FILE_FLAG_CREATE, SION_FILE_FLAG_READ, and SION_FILE_FLAG_WRITE.
| FILE* _sion_file_open_ansi_read | ( | const char * | fname, | 
| unsigned int | addflags | ||
| ) | 
ANSI: Open a file for reading.
| *fname | filename to use | 
| addflags | optional additional flags | 
NULL Definition at line 653 of file sion_file.c.
Referenced by _sion_file_open().
| FILE* _sion_file_open_ansi_write_create | ( | const char * | fname, | 
| unsigned int | addflags | ||
| ) | 
ANSI: Create and open a new file for writing.
| *fname | filename to use | 
| addflags | optional additional flags | 
NULL Definition at line 611 of file sion_file.c.
Referenced by _sion_file_open().
| FILE* _sion_file_open_ansi_write_existing | ( | const char * | fname, | 
| unsigned int | addflags | ||
| ) | 
ANSI: Open a new file for writing.
| *fname | filename to use | 
| addflags | optional additional flags | 
NULL Definition at line 630 of file sion_file.c.
Referenced by _sion_file_open().
| int _sion_file_open_posix_read | ( | const char * | fname, | 
| unsigned int | addflags | ||
| ) | 
POSIX: Open a file for reading.
| *fname | filename to use | 
| addflags | optional additional flags | 
-1 on failure Definition at line 925 of file sion_file.c.
| int _sion_file_open_posix_write_create | ( | const char * | fname, | 
| unsigned int | addflags | ||
| ) | 
POSIX: Create and open a new file for writing.
| *fname | filename to use | 
| addflags | optional additional flags | 
-1 on failure Definition at line 873 of file sion_file.c.
| int _sion_file_open_posix_write_existing | ( | const char * | fname, | 
| unsigned int | addflags | ||
| ) | 
POSIX: Open a new file for writing.
| *fname | filename to use | 
| addflags | optional additional flags | 
-1 on failure Definition at line 899 of file sion_file.c.
| int _sion_file_purge | ( | _sion_fileptr * | sion_fileptr | ) | 
Purge data to file.
| sion_fileptr | fileptr | 
SION_SUCCESS if ok Definition at line 467 of file sion_file.c.
| int _sion_file_purge_ansi | ( | FILE * | fileptr | ) | 
ANSI: Purge the data to the disk.
| *fileptr | file handle | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 815 of file sion_file.c.
References _sion_file_flush_ansi().
| int _sion_file_purge_posix | ( | int | fd | ) | 
POSIX: Purge the data to the disk.
Purge is only relevant for ANSI, using fsync instead
| fd | file descriptor | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 1076 of file sion_file.c.
| sion_int64 _sion_file_read | ( | void * | data, | 
| sion_int64 | bytes, | ||
| _sion_fileptr * | sion_fileptr | ||
| ) | 
Read data from file.
| data | pointer to data | 
| bytes | number of bytes to write | 
| sion_fileptr | file handle | 
bytes if the requested amount could be read, on EOF, returns n with 0 <= n < bytes, otherwise -1 Definition at line 257 of file sion_file.c.
| sion_int64 _sion_file_read_ansi | ( | void * | data, | 
| sion_int64 | bytes, | ||
| FILE * | fileptr | ||
| ) | 
ANSI: Read data from file.
| data | pointer to data | 
| bytes | number of bytes to read | 
| fileptr | file handle | 
bytes if the requested amount could be read, on EOF, returns n with 0 <= n < bytes, otherwise -1 Definition at line 854 of file sion_file.c.
| sion_int64 _sion_file_read_posix | ( | void * | data, | 
| sion_int64 | bytes, | ||
| int | fd | ||
| ) | 
POSIX: Read data from file.
| data | pointer to data | 
| bytes | number of bytes to read | 
| fd | file handle | 
bytes if the requested amount could be read, on EOF, returns n with 0 <= n < bytes, otherwise -1 Definition at line 1145 of file sion_file.c.
| int _sion_file_set_buffer | ( | _sion_fileptr * | sion_fileptr, | 
| char * | buffer, | ||
| sion_int32 | buffer_size | ||
| ) | 
Set buffer of fp.
| *sion_fileptr | file handle | 
| *buffer | pointer buffer | 
| *buffer_size | buffer size | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 495 of file sion_file.c.
| int _sion_file_set_buffer_ansi | ( | FILE * | fileptr, | 
| char * | buffer, | ||
| sion_int32 | buffer_size | ||
| ) | 
ANSI: set buffer of fp.
| *fileptr | file handle | 
| *buffer | pointer buffer | 
| *buffer_size | buffer size | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 827 of file sion_file.c.
| int _sion_file_set_buffer_posix | ( | int | fd, | 
| char * | buffer, | ||
| sion_int32 | buffer_size | ||
| ) | 
POSIX: set buffer of fd.
| fd | file descriptor | 
| *buffer | pointer buffer | 
| *buffer_size | buffer size | 
| <tt>SION_SUCCESS</tt> | if OK | 
Definition at line 1099 of file sion_file.c.
| sion_int64 _sion_file_set_position | ( | _sion_fileptr * | sion_fileptr, | 
| sion_int64 | startpointer | ||
| ) | 
Set new position in file.
| sion_fileptr | fileptr | 
| startpointer | new position | 
-1 on failure Definition at line 367 of file sion_file.c.
| sion_int64 _sion_file_set_position_ansi | ( | FILE * | fileptr, | 
| sion_int64 | startpointer | ||
| ) | 
ANSI: Set the start position for the current task.
| *fileptr | file handle | 
| startpointer | the position for the current task | 
-1 on failure Definition at line 708 of file sion_file.c.
| sion_int64 _sion_file_set_position_posix | ( | int | fd, | 
| sion_int64 | startpointer | ||
| ) | 
POSIX: Set the start position for the current task.
| fd | file descriptor | 
| startpointer | the position for the current task | 
-1 on failure Definition at line 986 of file sion_file.c.
| int _sion_file_set_second_fileptr | ( | _sion_fileptr * | sion_fileptr, | 
| FILE * | fileptr | ||
| ) | 
Set second fileptr for file if opened with ANSI.
| sion_fileptr | file handle | 
| fileptr | second file pointer | 
SION_SUCCESS if success Definition at line 529 of file sion_file.c.
| int _sion_file_stat_file | ( | const char * | fname | ) | 
Check if file exists (LARGE_FILE support on BlueGene)
| *fname | filename to use | 
0 or 1 Definition at line 318 of file sion_file.c.
| int _sion_file_stat_file2 | ( | const char * | fname, | 
| unsigned int | apiflag | ||
| ) | 
Check if file exists with appropriate low-level API.
| *fname | filename to use | 
| apiflag | indicates the low-level API to use (POSIX, ANSI, etc.) | 
1 if the file exists, otherwise 0 Definition at line 329 of file sion_file.c.
References SION_FILE_FLAG_ANSI, and SION_FILE_FLAG_POSIX.
Referenced by _sion_file_stat_file().
| int _sion_file_unset_second_fileptr | ( | _sion_fileptr * | sion_fileptr | ) | 
Unset second fileptr for file if opened with ANSI.
| sion_fileptr | file handle | 
SION_SUCCESS if success Definition at line 551 of file sion_file.c.
| sion_int64 _sion_file_write | ( | const void * | data, | 
| sion_int64 | bytes, | ||
| _sion_fileptr * | sion_fileptr | ||
| ) | 
Write data to file.
| data | pointer to data | 
| bytes | number of bytes to write | 
| sion_fileptr | file handle | 
bytes if the requested amount could be written, otherwise -1 Definition at line 221 of file sion_file.c.
| sion_int64 _sion_file_write_ansi | ( | const void * | data, | 
| sion_int64 | bytes, | ||
| FILE * | fileptr | ||
| ) | 
ANSI: Write data to file.
| data | pointer to data | 
| bytes | number of bytes to write | 
| fileptr | file handle | 
bytes if the requested amount could be written, otherwise -1 Definition at line 840 of file sion_file.c.
| sion_int64 _sion_file_write_posix | ( | const void * | data, | 
| sion_int64 | bytes, | ||
| int | fd | ||
| ) | 
POSIX: Write data to file.
| data | pointer to data | 
| bytes | number of bytes to write | 
| fd | file handle | 
bytes if the requested amount could be written, otherwise -1 Definition at line 1112 of file sion_file.c.
| char* _sion_get_fileptr_desc | ( | _sion_fileptr * | sion_fileptr | ) | 
Definition at line 1568 of file sion_file.c.
References SION_FILE_FLAG_ANSI, SION_FILE_FLAG_CREATE, SION_FILE_FLAG_POSIX, and SION_FILE_FLAG_WRITE.