|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
Represents an entry into the binary, typically DLL exported procedures. More...
#include <leexe.h>
Public Types | |
| enum | entry_type { Unused , Entry16 , CallGate286 , Entry32 , Forwarder } |
| enum | flag_type { Exported = 1 , SharedData = 2 , ForwarderByOrdinal = 1 } |
| enum | export_type { NotExported , ExportByName , ExportByOrdinal } |
Public Member Functions | |
| Entry (unsigned type) | |
| Entry (unsigned type, uint16_t object, unsigned flags, uint32_t offset) | |
| bool | SameBundle (const Entry &other) const |
| offset_t | GetEntryHeadSize () const |
| offset_t | GetEntryBodySize () const |
| void | WriteEntryHead (Linker::Writer &wr) const |
| void | WriteEntryBody (Linker::Writer &wr) const |
Public Member Functions inherited from Linker::Writer | |
| Writer (EndianType endiantype, std::ostream *out=nullptr) | |
| void | WriteData (size_t count, const void *data) |
| Write out a sequence of bytes. | |
| size_t | WriteData (size_t max_count, const std::vector< uint8_t > &data, size_t offset=0) |
| Write out a sequence of bytes. | |
| size_t | WriteData (const std::vector< uint8_t > &data, size_t offset=0) |
| Write out a sequence of bytes. | |
| template<class T , std::size_t N> | |
| void | WriteData (const std::array< T, N > &data, size_t offset=0) |
| Write out a sequence of bytes. | |
| void | WriteData (size_t count, std::string text, char padding='\0') |
| Write a string, possibly truncated or zero padded. | |
| void | WriteData (std::string text) |
| Write a string. | |
| void | WriteData (size_t count, std::istream &in) |
| Write data using an input stream as the source of data. | |
| void | WriteWord (size_t bytes, uint64_t value, EndianType endiantype) |
| Read a word. | |
| void | WriteWord (size_t bytes, uint64_t value) |
| Read a word. | |
| void | Seek (offset_t offset) |
| Jump to a specific location in the ouput stream. | |
| void | Skip (offset_t offset) |
| Jump to a distance in the output stream. | |
| void | SeekEnd (offset_t offset=0) |
| Jump to a specific offset from the end. | |
| offset_t | Tell () |
| Retrieve the current location. | |
| void | FillTo (offset_t position) |
| Move to a specific offset, fill with zeroes if needed. | |
| void | AlignTo (offset_t align) |
| Align the current pointer. | |
Static Public Member Functions | |
| static Entry | ReadEntryHead (Linker::Reader &rd, uint8_t type) |
| static Entry | ReadEntry (Linker::Reader &rd, uint8_t type, LEFormat::Entry &head) |
Public Attributes | |
| entry_type | type = Unused |
| uint16_t | object = 0 |
| flag_type | flags = flag_type(0) |
| uint32_t | offset = 0 |
| export_type | export_state = NotExported |
| Whether the entry is exported. This is not actually stored in the entry table and its value is ignored during program generation. | |
| std::string | entry_name |
| The name of an exported entry. This is not actually stored in the entry table and its value is ignored during program generation. | |
| std::string | module_name |
| Convenience field that stores the module name for a forwarder entry, not used for generation. | |
| std::string | import_name |
| Convenience field that stores the imported procedure name for a forwarder entry, if imported by name, also the name for an exported entry, not used for generation. | |
| bool | same_bundle = false |
Public Attributes inherited from Linker::Writer | |
| EndianType | endiantype |
| The default endianness of the binary format, used for reading multibyte numeric data. | |
| std::ostream * | out |
| The output stream. | |
Additional Inherited Members | |
Protected Member Functions inherited from Linker::Writer | |
| void | ForceSeek (offset_t offset) |
Represents an entry into the binary, typically DLL exported procedures.