Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_getscn(3E) — Amiga System V Release 4 Version 2.03

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)



elf_getscn(3E)    MISC. REFERENCE MANUAL PAGES     elf_getscn(3E)



NAME
     elfgetscn, elfndxscn, elfnewscn, elfnextscn -  get  sec-
     tion 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 creat-
     ing  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 sec-
     tion 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  (skip-
     ping  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



                    Last change: ELF Library                    1





elf_getscn(3E)    MISC. REFERENCE MANUAL PAGES     elf_getscn(3E)



     SHNUNDEF.

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








































                    Last change: ELF Library                    2



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