#include "le_header.hpp" #include "parse.hpp" #include "output.hpp" #include BOOST_FUSION_ADAPT_STRUCT( le::Header, (binparse::Magic16, magic) (binparse::Value8, B_ord) (binparse::Value8, W_ord) (binparse::Value32, format_level) (binparse::Value16, cpu_type) (binparse::Value16, os_type) (binparse::Value32, module_version) (binparse::Value32, module_flags) (binparse::Value32, module_nr_of_pages) (binparse::Offset32, EIP_object) (binparse::Offset32, EIP) (binparse::Offset32, ESP_object) (binparse::Offset32, ESP) (binparse::Value32, page_size) (binparse::Offset32, page_offset_shift) (binparse::Value32, fixup_section_size) (binparse::Value32, fixup_section_checksum) (binparse::Value32, loader_section_size) (binparse::Value32, loader_section_checksum) (binparse::Offset32, object_table_offset) (binparse::Value32, nr_objects_in_module) (binparse::Offset32, object_page_table_offset) (binparse::Offset32, objct_iter_pages_offset) (binparse::Offset32, resource_table_offset) (binparse::Value32, nr_resource_table_entries) (binparse::Offset32, resident_name_table_offset) (binparse::Offset32, entry_table_offset) (binparse::Offset32, module_directives_offset) (binparse::Value32, nr_module_directives) (binparse::Offset32, fixup_page_table_offset) (binparse::Offset32, fixup_record_table_offset) (binparse::Offset32, import_module_table_offset) (binparse::Value32, import_mod_entries) (binparse::Offset32, import_proc_table_offset) (binparse::Offset32, per_page_checksum_offset) (binparse::Offset32, data_page_offset) (binparse::Value32, nr_preload_pages) (binparse::Offset32, non_res_name_table_offset) (binparse::Value32, non_res_name_table_length) (binparse::Value32, non_res_name_table_checksum) (binparse::Value32, auto_ds_object_nr) (binparse::Offset32, debug_info_offset) (binparse::Value32, debug_info_length) (binparse::Value32, nr_instance_preload) (binparse::Value32, nr_instance_demand) (binparse::Value32, heapsize) ) namespace le { Header parse_header(std::istream& is) { using binparse::parse; return parse
(is); } std::ostream& operator<<(std::ostream& os, Header const& header) { return binparse::operator<<(os, header); } }