#include "munga.h" #pragma hdrstop #include "filestrm.h" #include #include #include //############################################################################# //########################### FileStream ################################ //############################################################################# //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // int FileStream::OpenImplementation( const char *file_name, Logical read_only ) { if (read_only) { return _open(file_name, _O_BINARY | _O_RDONLY); } else { return _open(file_name, _O_BINARY | _O_CREAT | _O_TRUNC | _O_WRONLY, _S_IWRITE); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void FileStream::FlushImplementation(int file_handle) { _commit(file_handle); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void FileStream::CloseImplementation(int file_handle) { _close(file_handle); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // size_t FileStream::SeekImplementation( int file_handle, size_t where, Logical from_end ) { return _lseek(file_handle, (long)where, (from_end) ? SEEK_END : SEEK_SET); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // size_t FileStream::ReadImplementation( int file_handle, void *buffer, size_t length ) { return _read(file_handle, buffer, length); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // size_t FileStream::WriteImplementation( int file_handle, const void *buffer, size_t length ) { return _write(file_handle, buffer, length); }