diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-23 18:07:42 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-06-23 18:07:42 +0200 |
| commit | a7bcede17b4c10e172c7877fc2ce89862dc454af (patch) | |
| tree | d89b8ff274d18d67d695c5f320a1d079e1bb26b6 /le/le_object_page_table.cpp | |
| parent | 0f2d7c9ed9dfa3716840fc112bd53e5ec6b6315b (diff) | |
| download | openwar-a7bcede17b4c10e172c7877fc2ce89862dc454af.tar.gz openwar-a7bcede17b4c10e172c7877fc2ce89862dc454af.tar.bz2 openwar-a7bcede17b4c10e172c7877fc2ce89862dc454af.zip | |
adds alot more binary parsing.
Diffstat (limited to 'le/le_object_page_table.cpp')
| -rw-r--r-- | le/le_object_page_table.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/le/le_object_page_table.cpp b/le/le_object_page_table.cpp new file mode 100644 index 0000000..d8fd290 --- /dev/null +++ b/le/le_object_page_table.cpp @@ -0,0 +1,27 @@ +#include "le_object_page_table.hpp" + +#include "parse.hpp" +#include "output.hpp" + +namespace le { + +ObjectPageTable parse_object_page_table(std::istream& is, binparse::Offset32 offset, binparse::Value32 nr_pages) +{ + is.seekg(0, std::ios::beg); + is.ignore(offset); + + ObjectPageTable table; + + for(binparse::Value32 i = binparse::Value32(0); i < nr_pages; i++) { + table.entries.emplace(i+1, parse_object_page_table_entry(is)); + } + + return table; +} + +std::ostream&operator<<(std::ostream& os, const ObjectPageTable& table) +{ + return binparse::operator<<(os, table.entries); +} + +}
\ No newline at end of file |
