diff options
author | 2021-08-22 09:06:15 +1000 | |
---|---|---|
committer | 2021-08-22 09:06:15 +1000 | |
commit | e8bbea1fc6e94e14768509d322f6c624403ffb36 (patch) | |
tree | 74dd1606a900d83de8aecff17a6737af4113308d /src/lib/formats/ioprocs.h | |
parent | e319bde5fc3696d7f48f62b15b6366c4377fe5d1 (diff) |
formats, osd, util: Started refactoring file I/O stuff. (#8456)
Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter.
unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename.
Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums.
Allow mounting TI-99 RPK from inside archives.
Diffstat (limited to 'src/lib/formats/ioprocs.h')
-rw-r--r-- | src/lib/formats/ioprocs.h | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/lib/formats/ioprocs.h b/src/lib/formats/ioprocs.h deleted file mode 100644 index 1244873f14c..00000000000 --- a/src/lib/formats/ioprocs.h +++ /dev/null @@ -1,70 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Nathan Woods -/********************************************************************* - - ioprocs.h - - File IO abstraction layer - -*********************************************************************/ -#ifndef MAME_FORMATS_IOPROCS_H -#define MAME_FORMATS_IOPROCS_H - -#pragma once - -#include <cstdint> -#include <cstdlib> - - - -/*************************************************************************** - - Type definitions - -***************************************************************************/ - -struct io_procs -{ - void (*closeproc)(void *file) = nullptr; - int (*seekproc)(void *file, int64_t offset, int whence) = nullptr; - size_t (*readproc)(void *file, void *buffer, size_t length) = nullptr; - size_t (*writeproc)(void *file, const void *buffer, size_t length) = nullptr; - uint64_t (*filesizeproc)(void *file) = nullptr; -}; - - - -struct io_generic -{ - const struct io_procs *procs = nullptr; - void *file = nullptr; - uint8_t filler = 0; -}; - - -/*************************************************************************** - - Globals - -***************************************************************************/ - -extern const io_procs stdio_ioprocs; -extern const io_procs stdio_ioprocs_noclose; -extern const io_procs corefile_ioprocs; -extern const io_procs corefile_ioprocs_noclose; - - - -/*************************************************************************** - - Prototypes - -***************************************************************************/ - -void io_generic_close(struct io_generic *genio); -void io_generic_read(struct io_generic *genio, void *buffer, uint64_t offset, size_t length); -void io_generic_write(struct io_generic *genio, const void *buffer, uint64_t offset, size_t length); -void io_generic_write_filler(struct io_generic *genio, uint8_t filler, uint64_t offset, size_t length); -uint64_t io_generic_size(struct io_generic *genio); - -#endif // MAME_FORMATS_IOPROCS_H |