Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_nextscn(3E) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)



elf_getscn(3E)                   DG/UX 5.4.2                  elf_getscn(3E)


NAME
       elfgetscn, elfndxscn, elfnewscn, elfnextscn - get section
       information

SYNOPSIS
       cc [flag ...] file ...  -lelf [library ...]

       #include <libelf.h>
       ElfScn *elfgetscn(Elf *elf, sizet index);
       sizet elfndxscn(ElfScn *scn);
       ElfScn *elfnewscn(Elf *elf);
       ElfScn *elfnextscn(Elf *elf, ElfScn *scn);

DESCRIPTION
       These functions provide indexed and sequential access to the sections
       associated with the ELF descriptor elf.  If the program is building a
       new file, it is responsible for creating the file's ELF header before
       creating sections; see elfgetehdr(3E).

       elfgetscn  returns  a  section  descriptor,  given an index into the
       file's section header table.  Note the  first  ``real''  section  has
       index  1.   Although  a  program can get a section descriptor for the
       section whose index is 0  (SHNUNDEF,  the  undefined  section),  the
       section  has  no  data  and  the  section header is ``empty'' (though
       present).  If the specified section does not exist, an error  occurs,
       or elf is null, elfgetscn returns a null pointer.

       elfnewscn  creates a new section and appends it to the list for elf.
       Because the SHNUNDEF section is required and not ``interesting''  to
       applications,  the  library creates it automatically.  Thus the first
       call to elfnewscn for an ELF descriptor with  no  existing  sections
       returns  a  descriptor  for  section 1.  If an error occurs or elf is
       null, elfnewscn returns a null pointer.

       After  creating  a  new  section  descriptor,  the  program  can  use
       elfgetshdr  to retrieve the newly created, ``clean'' section header.
       The  new  section  descriptor  will  have  no  associated  data  [see
       elfgetdata(3E)].   When  creating  a  new  section  in this way, the
       library updates the eshnum member of the ELF  header  and  sets  the
       ELFFDIRTY  bit  for the section [see elfflag(3E)].  If the program
       is building a new file, it is responsible for creating the file's ELF
       header [see elfgetehdr(3E)] before creating new sections.

       elfnextscn  takes an existing section descriptor, scn, and returns a
       section descriptor for the next higher section.  One may use  a  null
       scn  to  obtain a section descriptor for the section whose index is 1
       (skipping the section whose  index  is  SHNUNDEF).   If  no  further
       sections  are  present or an error occurs, elfnextscn returns a null
       pointer.

       elfndxscn takes an existing section descriptor, scn, and returns its
       section  table  index.  If scn is null or an error occurs, elfndxscn
       returns SHNUNDEF.




Licensed material--property of copyright holder(s)                         1




elf_getscn(3E)                   DG/UX 5.4.2                  elf_getscn(3E)


EXAMPLE
       An example of sequential access appears below.  Each pass through the
       loop processes the next section in the file; the loop terminates when
       all sections have been processed.

            scn = 0;
            while ((scn = elfnextscn(elf, scn)) != 0)
            {
                    /* process section */
            }

SEE ALSO
       elf(3E), elfbegin(3E), elfflag(3E), elfgetdata(3E),
       elfgetehdr(3E), elfgetshdr(3E).











































Licensed material--property of copyright holder(s)                         2


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026