diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-22 00:15:08 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-22 00:16:28 +0200 |
| commit | 22231518b9c2c0b7f73c72a6ca834df659c63c7f (patch) | |
| tree | 12b1d20efd3303583649966ddfe135a81ae8109b /le/le_file.hpp | |
| parent | 46145fe7d5b1d9f0921121a088a3d61f968cc473 (diff) | |
| download | openwar-22231518b9c2c0b7f73c72a6ca834df659c63c7f.tar.gz openwar-22231518b9c2c0b7f73c72a6ca834df659c63c7f.tar.bz2 openwar-22231518b9c2c0b7f73c72a6ca834df659c63c7f.zip | |
Reduces the amount of boilerplate neccesary to parse the binary format.
Diffstat (limited to 'le/le_file.hpp')
| -rw-r--r-- | le/le_file.hpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/le/le_file.hpp b/le/le_file.hpp index 010c49b..56857c5 100644 --- a/le/le_file.hpp +++ b/le/le_file.hpp @@ -1,8 +1,10 @@ #pragma once -#include "binparse.hpp" +#include "types.hpp" + #include "mz_header.hpp" #include "le_header.hpp" +#include "le_object_table.hpp" #include <cstdint> #include <cstddef> @@ -12,22 +14,23 @@ namespace le { -using namespace binparse; +using binparse::Value16; +using binparse::Offset32; -struct LEFile +struct File { - mz::MZHeader mz_header; + mz::Header mz_header; std::array<uint8_t, 8> unused_1; Value16 OEM_id; std::array<uint8_t, 22> OEM_info; Offset32 le_offset; std::vector<uint8_t> dos_exe; - LEHeader le_header; - std::vector<uint8_t> le_exe; + Header le_header; + ObjectTable object_table; }; -LEFile parse_file(std::istream& is); +File parse_file(std::istream& is); -std::ostream& operator<<(std::ostream& os, LEFile const& file); +std::ostream& operator<<(std::ostream& os, File const& file); -} +}
\ No newline at end of file |
