| ELF_GETDATA(3) | Library Functions Manual | ELF_GETDATA(3) |
elf_getdata, elf_newdata,
elf_rawdata —
#include <libelf.h>
Elf_Data *
elf_getdata(Elf_Scn
*scn, Elf_Data
*data);
Elf_Data *
elf_newdata(Elf_Scn
*scn);
Elf_Data *
elf_rawdata(Elf_Scn
*scn, Elf_Data
*data);
Function elf_getdata() will return the
next data descriptor associated with section descriptor
scn. The returned data descriptor will be setup to
contain translated data. Argument data may be
NULL, in which case the function returns the first
data descriptor associated with section scn. If
argument data is not NULL, it
must be a pointer to a data descriptor associated with section descriptor
scn, and function
elf_getdata() will return a pointer to the next data
descriptor for the section, or NULL when the end of
the section's descriptor list is reached.
Function elf_newdata() will allocate a new
data descriptor and append it to the list of data descriptors associated
with section descriptor scn. The new data descriptor
will be initialized as follows:
NULL.ELF_F_LAYOUT flag was set on the ELF
descriptor.ELF_T_BYTE.ELF_F_LAYOUT flag on descriptor
elf, then the data referenced by the returned descriptor
will be positioned after the existing content of the section, honoring the
file alignment specified in member d_align. On
successful completion of a call to elf_newdata(), the
ELF library will mark the section scn as
“dirty”.
Function elf_rawdata() is used to step
through the data descriptors associated with section
scn. In contrast to function
elf_getdata(), this function returns untranslated
data. If argument data is
NULL, the first data descriptor associated with
section scn is returned. If argument
data is not NULL, is must be a
data descriptor associated with section scn, and
function elf_rawdata() will return the next data
descriptor in the list, or NULL if no further
descriptors are present. Function elf_rawdata()
always returns Elf_Data structures of type
ELF_T_BYTE.
SHT_NOBITS, and for zero-sized
sections, the functions elf_getdata() and
elf_rawdata() return a pointer to a valid
Elf_Data structure that has its
d_buf member set to NULL and its
d_size member set to the size of the section.
If an application wishes to create a section of type
SHT_NOBITS, it should add a data buffer to the
section using function elf_newdata(). It should then
set the d_buf and d_size members
of the returned Elf_Data structure to
NULL and the desired size of the section
respectively.
NULL if an error occurs.
ELF_E_ARGUMENT]NULL.ELF_E_ARGUMENT]ELF_E_ARGUMENT]ELF_E_DATA]ELF_E_RESOURCE]ELF_E_SECTION]SHT_NULL.ELF_E_SECTION]ELF_E_SECTION]ELF_E_SECTION]ELF_E_UNIMPL]| January 26, 2011 | NetBSD 9.3 |