MT Core (C++)
Core library for replacing C++ standard in project usage
Loading...
Searching...
No Matches
mtcore::io::SyncFileSystemVTable Struct Reference

VTable for synchronous file system. More...

#include <file_sys.hpp>

Collaboration diagram for mtcore::io::SyncFileSystemVTable:

Public Attributes

Result< FILE *, FileError >(* file_open )(void *state, const char *path, const char *mode)
 Function pointer for opening a file.
 
Result< void, FileError >(* file_close )(void *state, FILE *fp)
 Function pointer for closing a file.
 
size_t(* file_read )(void *state, void *buffer, size_t size, size_t count, FILE *stream)
 Function pointer for reading a file.
 
size_t(* file_write )(void *state, const void *ptr, size_t size, size_t nmemb, FILE *stream)
 Function pointer for writing a file.
 
Result< void, FileError >(* file_rename )(void *state, const char *oldFileName, const char *newFileName)
 Function pointer for renaming a file.
 
Result< void, FileError >(* file_remove )(void *state, const char *path)
 Function pointer for removing a file.
 
Result< void, FileError >(* file_sync )(void *state, FILE *fp)
 Function pointer for syncing a file to disk.
 
size_t(* file_size )(void *state, FILE *file)
 Function pointer for getting a file's size.
 
bool(* file_eof )(void *state, FILE *file)
 Checks if file handle is at end of file.
 
FileError(* file_error )(void *state, FILE *file)
 Checks if a file stream has errors.
 

Detailed Description

VTable for synchronous file system.

Designed for providing a simple, minimalistic file system interface to allow easy simulation and replacement

Definition at line 48 of file file_sys.hpp.

Member Data Documentation

◆ file_close

Result< void, FileError >(* mtcore::io::SyncFileSystemVTable::file_close) (void *state, FILE *fp)

Function pointer for closing a file.

Parameters
fpFile pointer to close
Returns
A Result with with the error if there is one

Definition at line 316 of file file_sys.hpp.

◆ file_eof

bool(* mtcore::io::SyncFileSystemVTable::file_eof) (void *state, FILE *file)

Checks if file handle is at end of file.

Definition at line 117 of file file_sys.hpp.

◆ file_error

FileError(* mtcore::io::SyncFileSystemVTable::file_error) (void *state, FILE *file)

Checks if a file stream has errors.

Definition at line 122 of file file_sys.hpp.

◆ file_open

Result< FILE *, FileError >(* mtcore::io::SyncFileSystemVTable::file_open) (void *state, const char *path, const char *mode)

Function pointer for opening a file.

Parameters
stateState of file system
pathFile path to open
modeOpening mode
Returns
A Result with a file pointer on success, or error on failure (e.g. from errno)

Definition at line 316 of file file_sys.hpp.

◆ file_read

size_t(* mtcore::io::SyncFileSystemVTable::file_read) (void *state, void *buffer, size_t size, size_t count, FILE *stream)

Function pointer for reading a file.

Parameters
bufferpointer to element buffer to write to
sizesize of each element in the buffer
countnumber of elements in the buffer
streamfile pointer to read from
Returns
The number of bytes read from the stream

Definition at line 74 of file file_sys.hpp.

◆ file_remove

Result< void, FileError >(* mtcore::io::SyncFileSystemVTable::file_remove) (void *state, const char *path)

Function pointer for removing a file.

Parameters
pathFile path to remove
Returns
Result with potential error

Definition at line 84 of file file_sys.hpp.

◆ file_rename

Result< void, FileError >(* mtcore::io::SyncFileSystemVTable::file_rename) (void *state, const char *oldFileName, const char *newFileName)

Function pointer for renaming a file.

Parameters
oldFileNameCurrent file name on disk
newFileNameFile name to rename to
Returns
Result with potential error

Definition at line 84 of file file_sys.hpp.

◆ file_size

size_t(* mtcore::io::SyncFileSystemVTable::file_size) (void *state, FILE *file)

Function pointer for getting a file's size.

Parameters
fileFile pointer to get size of
Returns
size of file

Definition at line 112 of file file_sys.hpp.

◆ file_sync

Result< void, FileError >(* mtcore::io::SyncFileSystemVTable::file_sync) (void *state, FILE *fp)

Function pointer for syncing a file to disk.

Parameters
fpFile pointer to sync to disk
Returns
Result with potential error

Definition at line 84 of file file_sys.hpp.

◆ file_write

size_t(* mtcore::io::SyncFileSystemVTable::file_write) (void *state, const void *ptr, size_t size, size_t nmemb, FILE *stream)

Function pointer for writing a file.

Parameters
ptrpointer to element buffer to write to file
sizesize of each element in the buffer
nmembnumber of elements in the buffer
streamfile pointer to write to from
Returns
The number of bytes written

Definition at line 84 of file file_sys.hpp.


The documentation for this struct was generated from the following file: