mirror of
https://github.com/serge1/ELFIO.git
synced 2024-12-28 06:15:21 +00:00
492 lines
14 KiB
Plaintext
492 lines
14 KiB
Plaintext
<table frame='all'>
|
|
<title>Class <classname>elfio</classname> member functions</title>
|
|
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
|
|
<colspec colname='c1'/>
|
|
<colspec colname='c2'/>
|
|
<thead>
|
|
<row>
|
|
<entry align="center">Function</entry>
|
|
<entry align="center">Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>
|
|
<function>elfio</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
The constructor.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>
|
|
<function>~elfio</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
The destructor.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>create</function>
|
|
</funcdef>
|
|
<paramdef>unsigned char <parameter>file_class</parameter>
|
|
</paramdef>
|
|
<paramdef>unsigned char <parameter>encoding</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Cleans and initializes empty <classname>elfio</classname> object.
|
|
<parameter>file_class</parameter> is either ELFCLASS32 or ELFCLASS64.
|
|
<parameter>file_class</parameter> is either ELFDATA2LSB or ELFDATA2MSB.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>bool <function>load</function>
|
|
</funcdef>
|
|
<paramdef>const std::string& <parameter>file_name</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Initializes <classname>elfio</classname> object by loading data
|
|
from ELF binary file. File name provided in <parameter>file_name</parameter>.
|
|
Returns <returnvalue>true</returnvalue> if the file was processed successfully.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>bool <function>save</function>
|
|
</funcdef>
|
|
<paramdef>const std::string& <parameter>file_name</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Creates a file in ELF binary format. File name provided in <parameter>file_name</parameter>.
|
|
Returns <returnvalue>true</returnvalue> if the file was created successfully.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>unsigned char <function>get_class</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns ELF file class. Possible values are ELFCLASS32 or ELFCLASS64.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>unsigned char <function>get_elf_version</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns ELF file format version.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>unsigned char <function>get_encoding</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns ELF file format encoding. Possible values are ELFDATA2LSB and
|
|
ELFDATA2MSB.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Word <function>get_version</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Identifies the object file version.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Half <function>get_header_size</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the ELF header's size in bytes.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Half <function>get_section_entry_size</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns a section's entry size in ELF file header section table.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Half <function>get_segment_entry_size</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns a segment's entry size in ELF file header program table.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>unsigned char <function>get_os_abi</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns operating system ABI identification.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_os_abi</function>
|
|
</funcdef>
|
|
<paramdef>unsigned char <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets operating system ABI identification.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>unsigned char <function>get_abi_version</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns ABI version.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_abi_version</function>
|
|
</funcdef>
|
|
<paramdef>unsigned char <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets ABI version.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Half <function>get_type</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the object file type.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_type</function>
|
|
</funcdef>
|
|
<paramdef>Elf_Half <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets the object file type.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Half <function>get_machine</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the object file's architecture.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_machine</function>
|
|
</funcdef>
|
|
<paramdef>Elf_Half <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets the object file's architecture.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Word <function>get_flags</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns processor-specific flags associated with the file.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_flags</function>
|
|
</funcdef>
|
|
<paramdef>Elf_Word <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets processor-specific flags associated with the file.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
|
|
<table frame='all'>
|
|
<title>Class <classname>elfio</classname> member functions (continue)</title>
|
|
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
|
|
<colspec colname='c1'/>
|
|
<colspec colname='c2'/>
|
|
<thead>
|
|
<row>
|
|
<entry align="center">Function</entry>
|
|
<entry align="center">Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf64_Addr <function>get_entry</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the virtual address to which the system first transfers control.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_entry</function>
|
|
</funcdef>
|
|
<paramdef>Elf64_Addr <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets the virtual address to which the system first transfers control.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf64_Off <function>get_sections_offset</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the section header table's file offset in bytes.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_sections_offset</function>
|
|
</funcdef>
|
|
<paramdef>Elf64_Off <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns default entry size for .
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf64_Off <function>get_segments_offset</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the program header table's file offset in bytes.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_segments_offset</function>
|
|
</funcdef>
|
|
<paramdef>Elf64_Off <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets the program header table's file offset in bytes.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>Elf_Half <function>get_section_name_str_index</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns the section header table index of the entry associated with
|
|
the section name string table.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>set_section_name_str_index</function>
|
|
</funcdef>
|
|
<paramdef>Elf_Half <parameter>value</parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Sets the section header table index of the entry associated with
|
|
the section name string table.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>endianess_convertor& <function>get_convertor</function>
|
|
</funcdef>
|
|
<void/>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</entry>
|
|
<entry>
|
|
Returns endianess convertor reference for the specific
|
|
<classname>elfio</classname> object instance.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|