diff options
Diffstat (limited to 'le/le_object_page_table.cpp')
| -rw-r--r-- | le/le_object_page_table.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/le/le_object_page_table.cpp b/le/le_object_page_table.cpp index d8fd290..9843689 100644 --- a/le/le_object_page_table.cpp +++ b/le/le_object_page_table.cpp @@ -3,8 +3,27 @@ #include "parse.hpp" #include "output.hpp" +#include <boost/fusion/adapted/struct.hpp> + +BOOST_FUSION_ADAPT_STRUCT( + le::ObjectPageTable::Entry, + (binparse::Value16, high) + (binparse::Value8, low) + (binparse::Value8, flags) +) + namespace le { +ObjectPageTable::Entry parse_object_page_table_entry(std::istream& is) +{ + return binparse::parse<ObjectPageTable::Entry>(is); +} + +std::ostream& operator<<(std::ostream& os, ObjectPageTable::Entry const& entry) +{ + return binparse::operator<<(os, entry); +} + ObjectPageTable parse_object_page_table(std::istream& is, binparse::Offset32 offset, binparse::Value32 nr_pages) { is.seekg(0, std::ios::beg); |
