| 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 |