maug
Quick and dirty C mini-augmentation library.
Loading...
Searching...
No Matches
mfile.h File Reference
#include <sys/stat.h>
#include <mrapifil.h>
#include <mrapilog.h>
Include dependency graph for mfile.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MFILE_CADDY

Macros

#define DEBUG_THRESHOLD   1
#define UPRINTF_BUFFER_SZ_MAX   1024
#define MAUG_PATH_SZ_MAX   256
 Maximum size allocated for asset paths.
#define MFILE_CADDY_TYPE_FILE   0x01
 A standard UNIX file.
#define MFILE_CADDY_TYPE_MEM_BUFFER   0x80
 An array of bytes in memory abstracted through this library.
#define MFILE_READ_FLAG_LSBF   0x01
 Flag for mfile_read_int_t() indicating integer should always be read least significant byte first.
#define MFILE_READ_FLAG_MSBF   0x01
 Flag for mfile_read_int_t() indicating integer should always be read most significant byte first.
#define MFILE_ASSIGN_FLAG_TRIM_EXT   0x01
#define MFILE_READ_TRACE_LVL   0
#define MFILE_WRITE_TRACE_LVL   0
#define MFILE_SEEK_TRACE_LVL   0
#define MFILE_CONTENTS_TRACE_LVL   0
#define mfile_cmp_path(a, b)
 Compare two asset paths. Return 0 if they're the same.
#define mfile_get_sz(p_file)

Typedefs

typedef char maug_path[MAUG_PATH_SZ_MAX]
 Path/name used to load an asset from disk or access other files.
typedef struct MFILE_CADDY mfile_t
typedef off_t(* mfile_cursor_t) (struct MFILE_CADDY *p_file)
typedef off_t(* mfile_has_bytes_t) (struct MFILE_CADDY *p_file)
typedef MERROR_RETVAL(* mfile_read_byte_t) (struct MFILE_CADDY *p_file, uint8_t *buf)
typedef MERROR_RETVAL(* mfile_read_block_t) (struct MFILE_CADDY *p_file, uint8_t *buf, size_t buf_sz)
typedef MERROR_RETVAL(* mfile_seek_t) (struct MFILE_CADDY *p_file, off_t pos)
typedef MERROR_RETVAL(* mfile_read_int_t) (struct MFILE_CADDY *p_file, uint8_t *buf, size_t buf_sz, uint8_t flags)
typedef MERROR_RETVAL(* mfile_read_line_t) (struct MFILE_CADDY *p_file, char *buf, off_t buf_sz, uint8_t flags)
typedef MERROR_RETVAL(* mfile_printf_t) (struct MFILE_CADDY *p_file, uint8_t flags, const char *fmt,...)
typedef MERROR_RETVAL(* mfile_write_block_t) (struct MFILE_CADDY *p_f, const uint8_t *buf, size_t buf_sz)

Functions

off_t mfile_mem_cursor (struct MFILE_CADDY *p_file)
off_t mfile_mem_has_bytes (struct MFILE_CADDY *p_file)
MERROR_RETVAL mfile_mem_read_byte (struct MFILE_CADDY *p_file, uint8_t *buf)
MERROR_RETVAL mfile_mem_read_block (struct MFILE_CADDY *p_file, uint8_t *buf, size_t buf_sz)
MERROR_RETVAL mfile_mem_seek (struct MFILE_CADDY *p_file, off_t pos)
MERROR_RETVAL mfile_mem_read_line (struct MFILE_CADDY *p_f, char *buffer, off_t buffer_sz, uint8_t flags)
MERROR_RETVAL mfile_mem_vprintf (mfile_t *p_file, uint8_t flags, const char *fmt, va_list args)
MERROR_RETVAL mfile_plt_init ()
MERROR_RETVAL mfile_assign_path (maug_path tgt, const maug_path src, uint8_t flags)
 Copy a maug_path from one place to another, safely observing character limits, etc.
off_t mfile_file_has_bytes (struct MFILE_CADDY *p_file)
MERROR_RETVAL mfile_file_read_byte (struct MFILE_CADDY *p_file, uint8_t *buf)
MERROR_RETVAL mfile_file_read_block (struct MFILE_CADDY *p_file, uint8_t *buf, size_t buf_sz)
MERROR_RETVAL mfile_file_read_int (struct MFILE_CADDY *p_f, uint8_t *buf, size_t buf_sz, uint8_t flags)
MERROR_RETVAL mfile_file_seek (struct MFILE_CADDY *p_file, off_t pos)
MERROR_RETVAL mfile_file_read_line (struct MFILE_CADDY *p_f, char *buffer, off_t buffer_sz, uint8_t flags)
MERROR_RETVAL mfile_file_printf (struct MFILE_CADDY *p_f, uint8_t flags, const char *fmt,...)
MERROR_RETVAL mfile_file_write_block (struct MFILE_CADDY *p_f, const uint8_t *buf, size_t buf_sz)
MERROR_RETVAL mfile_file_vprintf (struct MFILE_CADDY *p_f, uint8_t flags, const char *fmt, va_list args)
MERROR_RETVAL mfile_lock_buffer (MAUG_MHANDLE, void *ptr, off_t, mfile_t *p_file)
 Lock a buffer and assign it to an mfile_t to read/write.
MERROR_RETVAL mfile_open_read (const maug_path filename, mfile_t *p_file)
 Open a file and read it into memory or memory-map it.
MERROR_RETVAL mfile_open_write (const maug_path filename, mfile_t *p_file)
void mfile_close (mfile_t *p_file)
 Close a file opened with mfile_open_read().