9 #ifndef SION_SION_FILE_H 10 #define SION_SION_FILE_H 14 #define SION_FILE_FLAG_ANSI 1 15 #define SION_FILE_FLAG_SCNDANSI 2 16 #define SION_FILE_FLAG_POSIX 4 17 #define SION_FILE_FLAG_CREATE 8 18 #define SION_FILE_FLAG_WRITE 16 19 #define SION_FILE_FLAG_READ 32 21 struct _sion_fileptr_s { 30 _sion_fileptr *_sion_file_open(
const char *fname,
unsigned int flags,
unsigned int addflags);
34 sion_int64 _sion_file_write(
const void *data, sion_int64 bytes,
_sion_fileptr *sion_fileptr );
35 sion_int64 _sion_file_read(
void *data, sion_int64 bytes,
_sion_fileptr *sion_fileptr );
38 int _sion_file_set_second_fileptr(
_sion_fileptr *sion_fileptr, FILE* fileptr);
39 int _sion_file_unset_second_fileptr(
_sion_fileptr *sion_fileptr);
43 sion_int64 _sion_file_set_position(
_sion_fileptr *fileptr, sion_int64 startpointer);
49 int _sion_file_set_buffer(
_sion_fileptr *fileptr,
char *buffer, sion_int32 buffer_size);
56 FILE *_sion_file_open_ansi_write_create(
const char *fname,
unsigned int addflags);
57 FILE *_sion_file_open_ansi_write_existing(
const char *fname,
unsigned int addflags);
58 FILE *_sion_file_open_ansi_read(
const char *fname,
unsigned int addflags);
59 int _sion_file_close_ansi(FILE *fileptr);
60 long _sion_file_get_opt_blksize_ansi( FILE *fileptr);
61 sion_int64 _sion_file_set_position_ansi(FILE *fileptr, sion_int64 startpointer);
62 sion_int64 _sion_file_get_position_ansi(FILE *fileptr);
63 int _sion_file_flush_ansi(FILE *fileptr);
64 int _sion_file_purge_ansi(FILE *fileptr);
65 int _sion_file_set_buffer_ansi(FILE *fileptr,
char *buffer, sion_int32 buffer_size);
66 sion_int64 _sion_file_write_ansi(
const void *data, sion_int64 bytes, FILE *fileptr );
67 sion_int64 _sion_file_read_ansi(
void *data, sion_int64 bytes, FILE *fileptr );
69 int _sion_file_open_posix_write_create(
const char *fname,
unsigned int addflags);
70 int _sion_file_open_posix_write_existing(
const char *fname,
unsigned int addflags);
71 int _sion_file_open_posix_read(
const char *fname,
unsigned int addflags);
72 int _sion_file_close_posix(
int fd);
73 long _sion_file_get_opt_blksize_posix(
int fd);
74 sion_int64 _sion_file_set_position_posix(
int fd, sion_int64 startpointer);
75 sion_int64 _sion_file_get_position_posix(
int fd);
76 int _sion_file_flush_posix(
int fd);
77 int _sion_file_purge_posix(
int fd);
78 int _sion_file_set_buffer_posix(
int fd,
char *buffer, sion_int32 buffer_size);
79 sion_int64 _sion_file_write_posix(
const void *data, sion_int64 bytes,
int fd );
80 sion_int64 _sion_file_read_posix(
void *data, sion_int64 bytes,
int fd );
int _sion_file_stat_file(const char *fname)
Check if file exists (LARGE_FILE support on BlueGene)