12#if defined(_M_IX86) || defined(__i386__)
13#define MXIO_MINFO_MFILE
103 MxU16 Descend(MMCKINFO* p_chunkInfo,
const MMCKINFO* p_parentInfo,
MxU16 p_descend);
127#ifndef MXIO_MINFO_MFILE
[AI] A wrapper for low-level file I/O, abstracting MMIOINFO functionality, and providing additional b...
MxU16 Descend(MMCKINFO *p_chunkInfo, const MMCKINFO *p_parentInfo, MxU16 p_descend)
[AI] Descends into a specific RIFF or LIST chunk in a hierarchical file, reading chunk headers and up...
MxLong Seek(MxLong p_offset, MxLong p_origin)
[AI] Seeks to a specific position in the file (or file buffer).
MxU16 Advance(MxU16 p_option)
[AI] Advances the buffer state for reading/writing the next block, committing dirty writes and loadin...
~MXIOINFO()
[AI] Destructor, closes the file and releases all memory associated with buffers if necessary.
MxU16 SetBuffer(char *p_buf, MxLong p_len, MxLong p_unused)
[AI] Changes the buffer used for internal I/O (applies and releases old buffer if owned).
MxU16 Ascend(MMCKINFO *p_chunkInfo, MxU16 p_ascend)
[AI] Ascends from a chunk in a hierarchical file, correcting chunk size and finishing the chunk corre...
MxLong Read(void *p_buf, MxLong p_len)
[AI] Reads a number of bytes from the file or buffer into the destination buffer.
MXIOINFO()
[AI] Constructs a new MXIOINFO instance and initializes all struct members to zero.
MxLong Write(void *p_buf, MxLong p_len)
[AI] Writes data to the file or internal buffer.
MxU16 CreateChunk(MMCKINFO *p_chunkInfo, MxU16 p_create)
[AI] Creates a new hierarchical chunk (RIFF or LIST or other type), writing initial chunk header.
HFILE m_file
[AI] File handle used when MMIOINFO is not used as a file (HFILE abstraction).
MxU16 Open(const char *p_filename, MxULong p_flags)
[AI] Opens a file for buffered/unbuffered I/O, initializing MMIOINFO and (optionally) internal buffer...
MMIOINFO m_info
[AI] Underlying MMIOINFO structure used for buffered and low-level file I/O.
MxU16 Flush(MxU16 p_unused)
[AI] Flushes contents of the buffer to disk if necessary (e.g., if data is dirty).
MxU16 Close(MxLong p_unused)
[AI] Closes the file and releases its resources, including buffer memory if owned.