diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-07-05 17:51:21 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-07-05 17:51:21 +0200 |
| commit | 06336eaddcc6a8f9cc578d8f059117c3aa535c9f (patch) | |
| tree | 4884cc68161df06112a49a04007fa6d03775d507 /le/le_object_page_table.hpp | |
| parent | b80a82fcc9edc73057796005cede4eea8380e193 (diff) | |
| download | openwar-06336eaddcc6a8f9cc578d8f059117c3aa535c9f.tar.gz openwar-06336eaddcc6a8f9cc578d8f059117c3aa535c9f.tar.bz2 openwar-06336eaddcc6a8f9cc578d8f059117c3aa535c9f.zip | |
Made the interface somewhat more consistant.
Diffstat (limited to 'le/le_object_page_table.hpp')
| -rw-r--r-- | le/le_object_page_table.hpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/le/le_object_page_table.hpp b/le/le_object_page_table.hpp index 08a67e6..da464b5 100644 --- a/le/le_object_page_table.hpp +++ b/le/le_object_page_table.hpp @@ -2,18 +2,29 @@ #include "types.hpp" -#include "le_object_page_table_entry.hpp" - #include <map> namespace le { -using binparse::Value32; -using binparse::Offset32; +using namespace binparse; struct ObjectPageTable { - std::map<Value32, ObjectPageTableEntry> entries; + struct Entry { + enum class object_page_flags { + legal_physical = 0, + iteration_data = 1, + invalid = 2, + zero_filled = 3, + range_of = 4 + }; + + Value16 high; + Value8 low; + Value8 flags; + }; + + std::map<Value32, ObjectPageTable::Entry> entries; }; ObjectPageTable parse_object_page_table(std::istream& is, Offset32 offset, Value32 nr_pages); |
