OldSchool Library 1.5.1
Loading...
Searching...
No Matches
VirtualFile.h File Reference

Virtual File Support Header File. More...

Data Structures

struct  VIRTUAL_FILE
 Virtual File type. More...
 
struct  VIRTUAL_FILE_SOURCE
 Structure representing a Virtual File Source. More...
 
struct  OSL_VIRTUALFILENAME
 Virtual file list item. More...
 

Macros

#define VirtualFileWrite(ptr, size, n, f)   (VirtualFileGetSource(f)->fWrite(ptr, size, n, f))
 Writes data to a file.
 
#define VirtualFileRead(ptr, size, n, f)   (VirtualFileGetSource(f)->fRead(ptr, size, n, f))
 Reads data from a file.
 
#define VirtualFileGetc(f)   (VirtualFileGetSource(f)->fGetc(f))
 Reads a single character from a file.
 
#define VirtualFilePutc(caractere, f)   (VirtualFileGetSource(f)->fPutc(caractere, f))
 Writes a single character to a file.
 
#define VirtualFileGets(str, maxLen, f)   (VirtualFileGetSource(f)->fGets(str, maxLen, f))
 Reads a string from a file.
 
#define VirtualFilePuts(s, f)   (VirtualFileGetSource(f)->fPuts(s, f))
 Writes a string to a file.
 
#define VirtualFileSeek(f, offset, whence)   (VirtualFileGetSource(f)->fSeek(f, offset, whence))
 Sets the current file position.
 
#define VirtualFileTell(f)   (VirtualFileGetSource(f)->fTell(f))
 Returns the current file pointer position.
 
#define VirtualFileEof(f)   (VirtualFileGetSource(f)->fEof(f))
 Checks if the end of a file has been reached.
 
#define VF_MAX_SOURCES   16
 Maximum number of virtual file sources.
 
#define VirtualFileGetSource(vf)   (VirtualFileSources[(vf)->type])
 Gets a pointer to the virtual file source associated with a given virtual file.
 
#define VF_AUTO   -2
 Auto-select source.
 

Enumerations

enum  VF_OPEN_MODES { VF_O_READ , VF_O_READWRITE , VF_O_WRITE }
 Enumeration of the available file open modes. More...
 

Functions

void VirtualFileInit ()
 Initializes the virtual filesystem.
 
VIRTUAL_FILE * VirtualFileOpen (void *param1, int param2, int type, int mode)
 Opens a new virtual file.
 
int VirtualFileClose (VIRTUAL_FILE *f)
 Closes an open virtual file.
 
int VirtualFileRegisterSource (VIRTUAL_FILE_SOURCE *vfs)
 Registers a new virtual file source.
 
OSL_VIRTUALFILENAME * oslFindFileInVirtualFilenameList (const char *fname, int type)
 Finds a file in the virtual filename list.
 
void * oslReadEntireFileToMemory (VIRTUAL_FILE *f, int *size)
 Reads an entire file into memory.
 
int oslInitVfsFile ()
 Initializes the file system.
 
static void oslSetDefaultVirtualFileSource (int source)
 Sets the default virtual file source.
 
static char * oslGetTempFileName ()
 Gets the name of the temporary file.
 
void oslSetTempFileData (void *data, int size, int *type)
 Sets the data associated with a temporary file.
 
int oslAddVirtualFileList (OSL_VIRTUALFILENAME *vfl, int numberOfEntries)
 Adds a list of virtual files.
 
void oslRemoveVirtualFileList (OSL_VIRTUALFILENAME *vfl, int numberOfEntries)
 Removes file entries from the virtual file list.
 

Variables

VIRTUAL_FILE_SOURCE * VirtualFileSources [VF_MAX_SOURCES]
 List of virtual file sources.
 
int VirtualFileSourcesNb
 Number of registered virtual file sources.
 
OSL_VIRTUALFILENAME * osl_virtualFileList
 List of virtual filenames used for RAM-based virtual files.
 
int osl_virtualFileListNumber
 Number of entries in the virtual file list.
 
int osl_defaultVirtualFileSource
 Default virtual file source type.
 
const char * osl_tempFileName
 Name of the temporary virtual file.
 
int VF_MEMORY
 Memory-based virtual file source.
 
int VF_FILE
 File-based virtual file source.
 

Detailed Description

Virtual File Support Header File.

This file contains functions and definitions related to Virtual File operations in the Oldschool Library (OSLib). It provides a universal interface for manipulating various file sources, including memory and standard file I/O, allowing users to define their own.