#include <jf/jf_config.h>
#include <jf/jf_errors.h>
#include <jf/jf_trace.h>
#include <jf_file.h>
Go to the source code of this file.
Defines | |
#define | JF_TRACE_MODULE JF_TRACE_MOD_LIB_FILE |
Functions | |
int | jf_file_build_open_mode (uint32_t flags, char *mode1, char *mode2, int *repos, int *resize, int *append) |
int | jf_file_check_mode (const char *mode, uint32_t *flags) |
int | jf_file_close (jf_file_t *jfile) |
jf_offset_t | jf_file_get_cache_limit (const jf_file_t *jfile) |
int | jf_file_getc (jf_file_t *jf, int *c) |
int | jf_file_gets (jf_file_t *jf, size_t size, char *s) |
int | jf_file_open (jf_file_t *jfile, jf_journal_t *journal, const char *path, const char *mode, const struct jf_file_open_opts_s *options) |
int | jf_file_printf (jf_file_t *jf, size_t *write_number, const char *format,...) |
int | jf_file_putc (jf_file_t *jf, int c) |
int | jf_file_puts (jf_file_t *jf, const char *s) |
int | jf_file_read (jf_file_t *jf, void *data, size_t size, size_t *read_number) |
void | jf_file_reset (jf_file_t *jf) |
int | jf_file_seek (jf_file_t *jf, jf_offset_t offset, int whence) |
int | jf_file_size (jf_file_t *jf, jf_offset_t *last_size, jf_offset_t *last_uc_size) |
int | jf_file_vprintf (jf_file_t *jf, size_t *write_number, const char *format, va_list ap) |
int | jf_file_write (jf_file_t *jf, const void *data, size_t size, size_t *write_number) |
|
|
Build real open mode related to flag mask
References CATCH, FALSE, JF_FILE_OM_APPEND, JF_FILE_OM_MASK, JF_FILE_OM_MSDOS, JF_FILE_OM_READ, JF_FILE_OM_RESTART, JF_FILE_OM_TRUNCATE, JF_FILE_OM_WRITE, JF_RC_INTERNAL_ERROR, JF_RC_INVALID_OPTION, JF_RC_OK, JF_TRACE, THROW, and TRUE. Referenced by jf_journal_open_attach_file(). |
|
Check the "open mode" and build related binary flags
References CATCH, JF_FILE_OM_APPEND, JF_FILE_OM_MSDOS, JF_FILE_OM_READ, JF_FILE_OM_RESTART, JF_FILE_OM_TRUNCATE, JF_FILE_OM_WRITE, JF_RC_INTERNAL_ERROR, JF_RC_INVALID_OPTION, JF_RC_NULL_OBJECT, JF_RC_OK, JF_TRACE, and THROW. Referenced by jf_journal_open_attach_file(). |
|
PUBLIC METHOD
References CATCH, jf_file_t::char_buffer, jf_file_t::char_buffer_size, jf_file_t::id, jf_file_is_safe(), jf_file_reset(), jf_file_rollback(), jf_journal_close(), jf_journal_close_detach_file(), JF_RC_INTERNAL_ERROR, JF_RC_INVALID_STATUS, JF_RC_OBJ_CORRUPTED, JF_RC_OK, JF_TRACE, jf_file_t::journal, jf_file_t::private_journal, and THROW. Referenced by bench_X0_ljf_post(), and jf_journal_util_join(). |
|
PUBLIC METHOD
References jf_file_t::id, jf_cache_file_get_limit(), jf_file_is_safe(), jf_journal_file_get_cache_file(), jf_journal_get_jfile(), jf_offset_t, and jf_file_t::journal. |
|
PUBLIC METHOD
References CATCH, jf_file_get_id(), jf_file_get_journal(), jf_file_is_safe(), jf_journal_get_c(), jf_journal_get_jfile(), JF_RC_INTERNAL_ERROR, JF_RC_OBJ_CORRUPTED, JF_RC_OK, JF_TRACE, jf_word_t, and THROW. |
|
PUBLIC METHOD
References CATCH, jf_file_get_id(), jf_file_get_journal(), jf_file_is_safe(), jf_journal_get_c(), jf_journal_get_jfile(), JF_RC_EOF, JF_RC_INTERNAL_ERROR, JF_RC_OBJ_CORRUPTED, JF_RC_OK, JF_TRACE, jf_word_t, and THROW. |
|
PUBLIC METHOD
References CATCH, FALSE, jf_journal_opts_s::flags, jf_file_t::id, jf_file_reset(), JF_JOURNAL_EXTENSION, jf_journal_open(), jf_journal_open_attach_file(), JF_JOURNAL_PROP_OPEN_O_CREAT, JF_RC_INTERNAL_ERROR, JF_RC_INVALID_PATH_NAME, JF_RC_MALLOC_ERROR, JF_RC_OK, jf_set_default_file_open_opts(), JF_TRACE, jf_file_open_opts_s::join_the_journal, jf_file_t::journal, jf_journal_opts_s::journal_file_opts, jf_file_open_opts_s::journal_opts, jf_file_t::private_journal, THROW, and TRUE. Referenced by bench_X0_ljf_pre(), jf_journal_cold_recovery_patch(), jf_journal_reopen_files(), and jf_journal_util_join(). |
|
PUBLIC METHOD
References CATCH, jf_file_vprintf(), JF_RC_INTERNAL_ERROR, JF_RC_OK, JF_TRACE, and THROW. |
|
PUBLIC METHOD
References CATCH, jf_file_get_id(), jf_file_get_journal(), jf_journal_add_c(), JF_RC_INTERNAL_ERROR, JF_RC_OK, JF_TRACE, and THROW. |
|
PUBLIC METHOD
References byte_t, CATCH, jf_file_get_id(), jf_file_get_journal(), jf_journal_add_byte_data(), JF_RC_INTERNAL_ERROR, JF_RC_OK, JF_TRACE, and THROW. |
|
PUBLIC METHOD
References byte_t, CATCH, jf_file_get_id(), jf_file_get_journal(), jf_journal_get_byte_data(), JF_RC_INTERNAL_ERROR, JF_RC_OK, JF_TRACE, and THROW. Referenced by bench_01_ljf_run(), and bench_03_ljf_run(). |
|
Reset a file object Definition at line 54 of file jf_file.c. References jf_file_t::char_buffer, jf_file_t::char_buffer_size, FALSE, jf_file_t::id, JF_JOURNAL_GLOBAL_FILE_ID, JF_TRACE, jf_file_t::journal, and jf_file_t::private_journal. Referenced by jf_file_close(), and jf_file_open(). |
|
PUBLIC METHOD
References CATCH, jf_file_get_id(), jf_file_get_journal(), jf_file_is_safe(), JF_FILE_OM_APPEND, JF_FILE_OM_READ, jf_journal_file_get_last_uc_pos(), jf_journal_file_get_last_uc_size(), jf_journal_file_get_open_mode(), jf_journal_file_set_last_uc_pos(), jf_journal_get_jfile(), jf_offset_t, JF_RC_INTERNAL_ERROR, JF_RC_INVALID_STREAM_POSITION, JF_RC_OBJ_CORRUPTED, JF_RC_OK, JF_RC_OUT_OF_RANGE, JF_TRACE, jf_word_t, and THROW. Referenced by bench_01_ljf_run(), bench_02_ljf_run(), bench_03_ljf_run(), and jf_file_rewind(). |
|
PUBLIC METHOD
References CATCH, jf_file_get_id(), jf_file_get_journal(), jf_file_is_safe(), jf_journal_file_get_last_size(), jf_journal_file_get_last_uc_size(), jf_journal_get_jfile(), jf_offset_t, JF_RC_INTERNAL_ERROR, JF_RC_OBJ_CORRUPTED, JF_RC_OK, JF_TRACE, jf_word_t, and THROW. |
|
PUBLIC METHOD
References CATCH, jf_file_t::char_buffer, jf_file_t::char_buffer_size, JF_FILE_BUFFER_PAGE_SIZE, jf_file_get_journal(), jf_file_write(), jf_journal_get_open_opts_flags(), JF_JOURNAL_PROP_VIRTMEM_LOW, JF_JOURNAL_PROP_VIRTMEM_MEDIUM, JF_RC_INTERNAL_ERROR, JF_RC_INVALID_STATUS, JF_RC_MALLOC_ERROR, JF_RC_OK, JF_RC_VSNPRINTF_ERROR, JF_TRACE, THROW, and TRUE. Referenced by jf_file_printf(). |
|
PUBLIC METHOD
References byte_t, CATCH, jf_file_get_id(), jf_file_get_journal(), jf_journal_add_byte_data(), JF_RC_INTERNAL_ERROR, JF_RC_OK, JF_TRACE, and THROW. Referenced by bench_00_ljf_run(), bench_01_ljf_run(), bench_02_ljf_pre(), bench_02_ljf_run(), bench_03_ljf_run(), bench_X1_ljf_pre(), and jf_file_vprintf(). |