|
enum | source_type {
Offset8 = 0
, Selector16 = 2
, Pointer32 = 3
, Offset16 = 5
,
Pointer48 = 6
, Offset32 = 7
, Relative32 = 8
, SourceTypeMask = 0x0F
,
Alias = 0x10
, SourceList = 0x20
} |
|
enum | flag_type {
Internal = 0
, ImportOrdinal = 1
, ImportName = 2
, Entry = 3
,
FlagTypeMask = 3
, Additive = 4
, Target32 = 0x10
, Additive32 = 0x20
,
Module16 = 0x40
, Ordinal8 = 0x80
} |
|
|
| Relocation (unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint32_t target=0, uint32_t addition=0) |
|
bool | IsExternal () const |
|
bool | IsSelectorOrOffset () const |
|
bool | ComesBefore () const |
|
size_t | GetSourceSize () const |
|
void | DecrementSingleSourceOffset (size_t amount) |
|
bool | IsSelector () const |
|
bool | IsSourceList () const |
|
bool | IsAdditive () const |
|
size_t | GetTargetSize () const |
|
size_t | GetAdditiveSize () const |
|
size_t | GetModuleSize () const |
|
size_t | GetOrdinalSize () const |
|
void | CalculateSizes (compatibility_type compatibility) |
|
size_t | GetSize () const |
|
void | WriteFile (Linker::Writer &wr, compatibility_type compatibility) |
|
| 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.
|
|
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.
|
|