gelf_getmove
, gelf_update_move
—
read and update Elf Move information
ELF Access Library (libelf, -lelf)
#include <gelf.h>
GElf_Move *
gelf_getmove
(Elf_Data
*data, int ndx,
GElf_Move *move);
int
gelf_update_move
(Elf_Data
*data, int ndx,
GElf_Move *move);
These convenience functions are used to retrieve and update class-dependent
Elf32_Move and Elf64_Move
structures in an ELF object.
Argument data is an
Elf_Data descriptor associated with a section of type
SHT_SUNW_move
. Argument ndx is
the index of the move record being retrieved or updated. The
class-independent GElf_Move structure is described in
gelf(3).
Function gelf_getmove
() retrieves
class-dependent move record at index ndx in data
buffer data and copies it to the destination pointed
to by argument move after translation to
class-independent form.
Function gelf_update_move
() converts the
class-independent move information pointed to by argument
move to class-dependent form, and writes it to the
move record at index ndx in the data buffer described
by argument data. Function
gelf_update_move
() signals an error if any of the
values in the class-independent representation exceeds the representable
limits of the target type.
Function gelf_getmove
() returns the value of argument
move if successful, or NULL in case of an error.
Function gelf_update_move
() returns a non-zero value
if successful, or zero in case of an error.
These functions may fail with the following errors:
- [
ELF_E_ARGUMENT
]
- Arguments data or move were
NULL.
- [
ELF_E_ARGUMENT
]
- Argument ndx was less than zero or larger than the
number of records in the data descriptor.
- [
ELF_E_ARGUMENT
]
- Data descriptor data was not associated with a
section containing move information.
- [
ELF_E_RANGE
]
- A value was not representable in the target type.
- [
ELF_E_VERSION
]
- The Elf_Data descriptor denoted by argument
data is associated with an ELF object with an
unsupported version.