summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
diff options
context:
space:
mode:
authorVirgile Bello <virgile.bello@gmail.com>2013-08-25 13:27:20 +0000
committerVirgile Bello <virgile.bello@gmail.com>2013-08-25 13:27:20 +0000
commita4fe3a12599ce204c3ef16b7b0742c80dc4ea4ed (patch)
treed247b8192dc2d85fa6523cb9572ba01a0a3ea92b /lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
parent8452cb54862b3655cb8fa37ac9ba683b76971e2b (diff)
downloadbcm5719-llvm-a4fe3a12599ce204c3ef16b7b0742c80dc4ea4ed.tar.gz
bcm5719-llvm-a4fe3a12599ce204c3ef16b7b0742c80dc4ea4ed.zip
PECOFF: Add support for export table.
llvm-svn: 189192
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h')
-rw-r--r--lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
index 4a41ba86fbe..6511f06c19a 100644
--- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
+++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
@@ -199,6 +199,12 @@ protected:
// uint32_t num_data_dir_entries;
std::vector<data_directory> data_dirs; // will contain num_data_dir_entries entries
} coff_opt_header_t;
+
+ typedef enum coff_data_dir_type
+ {
+ coff_data_dir_export_table = 0,
+ coff_data_dir_import_table = 1,
+ } coff_data_dir_type;
typedef struct section_header {
char name[8];
@@ -221,6 +227,20 @@ protected:
uint8_t storage;
uint8_t naux;
} coff_symbol_t;
+
+ typedef struct export_directory_entry {
+ uint32_t characteristics;
+ uint32_t time_date_stamp;
+ uint16_t major_version;
+ uint16_t minor_version;
+ uint32_t name;
+ uint32_t base;
+ uint32_t number_of_functions;
+ uint32_t number_of_names;
+ uint32_t address_of_functions;
+ uint32_t address_of_names;
+ uint32_t address_of_name_ordinals;
+ };
bool ParseDOSHeader ();
bool ParseCOFFHeader (lldb::offset_t *offset_ptr);
OpenPOWER on IntegriCloud