summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/fileio.h
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2012-02-12 17:55:51 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2012-02-12 17:55:51 +0000
commitd75dbab0de7da33196f08f0cf7992d906ffbb832 (patch)
treed9120844b308fa2ac9844c182a86b79feddb84f3 /src/emu/fileio.h
parentf594641814167d5de00ee2a0d6925c42e61fecc4 (diff)
Add LZMA codec and .7z container support [David Haywood, R. Belmont]
Diffstat (limited to 'src/emu/fileio.h')
-rw-r--r--src/emu/fileio.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/emu/fileio.h b/src/emu/fileio.h
index 53c5fcdf3fb..c71d79cc530 100644
--- a/src/emu/fileio.h
+++ b/src/emu/fileio.h
@@ -58,6 +58,8 @@
typedef struct _zip_file_header zip_file_header;
typedef struct _zip_file zip_file;
+typedef struct __7z_file_header _7z_file_header;
+typedef struct __7z_file _7z_file;
// ======================> path_iterator
@@ -162,12 +164,17 @@ public:
int printf(const char *fmt, ...);
private:
+ bool compressed_file_ready(void);
+
// internal helpers
file_error attempt_zipped();
file_error load_zipped_file();
bool zip_filename_match(const zip_file_header &header, const astring &filename);
bool zip_header_is_path(const zip_file_header &header);
+ file_error attempt__7zped();
+ file_error load__7zped_file();
+
// internal state
astring m_filename; // original filename provided
astring m_fullpath; // full filename
@@ -176,9 +183,15 @@ private:
UINT32 m_crc; // iterator for paths
UINT32 m_openflags; // flags we used for the open
hash_collection m_hashes; // collection of hashes
+
zip_file * m_zipfile; // ZIP file pointer
UINT8 * m_zipdata; // ZIP file data
UINT64 m_ziplength; // ZIP file length
+
+ _7z_file * m__7zfile; // 7Z file pointer
+ UINT8 * m__7zdata; // 7Z file data
+ UINT64 m__7zlength; // 7Z file length
+
bool m_remove_on_close; // flag: remove the file when closing
};