From 5095c2e2ba9aadf468514804fb3a872d10fdc17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Tue, 16 Aug 2022 04:37:48 +0200 Subject: Implement preliminary IO. It might be a good idea to eschew the structs and access the data directly from the view. Alternatively, the serialization functions might be rewritten to simply memcpy the structs, after either adding __attribute__((packed)) or ensuring consistent padding. --- c/data.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'c/data.h') diff --git a/c/data.h b/c/data.h index 797271d..91e34d9 100644 --- a/c/data.h +++ b/c/data.h @@ -24,6 +24,16 @@ struct DlvData wchar_t wiki[128] = {0}; }; +struct DatView +{ + DatView(const wchar_t* filename, size_t cb); + ~DatView(); + HANDLE hf; + HANDLE hm; + void* view; + /* TODO: Handle exceptions on read and write... */ +}; + constexpr size_t CB_SERIALIZE_ELVDATA = 1+sizeof(ElvData); unsigned char* Serialize(const ElvData& e, unsigned char* buf); unsigned char* Unserialize(ElvData& e, unsigned char* buf); -- cgit v1.2.3