diff options
Diffstat (limited to 'le/le_entry_table.hpp')
| -rw-r--r-- | le/le_entry_table.hpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/le/le_entry_table.hpp b/le/le_entry_table.hpp index f31f542..ad2bbe5 100644 --- a/le/le_entry_table.hpp +++ b/le/le_entry_table.hpp @@ -1,15 +1,32 @@ #pragma once -#include "le_entry_table_entry.hpp" +#include "types.hpp" + +#include <boost/variant.hpp> #include <map> #include <iostream> +#include <vector> namespace le { +using namespace binparse; + struct EntryTable { - std::map<uint32_t, EntryTableEntry> entries; + struct Entry { + struct EntryPoint { + Value8 flags; + boost::variant<Offset16, Offset32> entry; + }; + + Value8 nr_entries; + Value8 flags; + Value16 object_index; + std::vector<EntryPoint> entries; + }; + + std::map<uint32_t, EntryTable::Entry> entries; }; EntryTable parse_entry_table(std::istream& is, binparse::Offset32 offset); |
