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_FLAG_READ_ONLY   0x01
 
#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_TRACE_LVL   0
 
#define MFILE_TRACE_CONTENTS_LVL   0
 
#define mfile_cmp_path(a, b)
 Compare two asset paths. Return 0 if they're the same.
 
#define mfile_check_lock(p_file)
 
#define mfile_get_sz(p_file)
 

Typedefs

typedef char retroflat_asset_path[MAUG_PATH_SZ_MAX+1]
 Path/name used to load an asset from disk.
 
typedef struct MFILE_CADDY mfile_t
 
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,...)
 

Functions

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_assign_path (retroflat_asset_path tgt, const retroflat_asset_path src, uint8_t flags)
 
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_vprintf (struct MFILE_CADDY *p_f, uint8_t flags, const char *fmt, va_list args)
 
MERROR_RETVAL mfile_lock_buffer (MAUG_MHANDLE, 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 char *filename, mfile_t *p_file)
 Open a file and read it into memory or memory-map it.
 
MERROR_RETVAL mfile_open_write (const char *filename, mfile_t *p_file)
 
void mfile_close (mfile_t *p_file)
 Close a file opened with mfile_open_read().