From 9af0e860cb77a0434881d43ec355437037c68358 Mon Sep 17 00:00:00 2001 From: kayomn Date: Sun, 19 Feb 2023 16:43:30 +0000 Subject: [PATCH] Add skeleton of oar library --- source/oar.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 source/oar.cpp diff --git a/source/oar.cpp b/source/oar.cpp new file mode 100644 index 0000000..dacae13 --- /dev/null +++ b/source/oar.cpp @@ -0,0 +1,44 @@ +export module oar; + +import core; +import core.files; + +export namespace oar { + constexpr core::usize signature_length{4}; + + constexpr core::u8 signature_magic[signature_length]{'o', 'a', 'r', 0}; + + struct entry { + core::u8 signature_magic[signature_length]; + + core::path path; + + core::u64 data_offset; + + core::u64 data_length; + + core::u8 padding[244]; + }; + + struct archive : public core::fs { + using core::fs::access_result; + + archive() { + + } + + access_result read_file(core::path const & file_path, + core::callable const & then) override { + + return access_result::access_denied; + } + + virtual access_result write_file(core::path const & file_path, + core::callable const & then) override { + + return access_result::access_denied; + } + }; +} + +static_assert(sizeof(oar::entry) == 512);