MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


ELF Library Functions                            elfgetscn(3ELF)



NAME
     elfgetscn, elfndxscn, elfnewscn, elfnextscn -  get  sec-
     tion information

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

     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 pro-
     gram is building a new file, it is responsible for  creating
     the   file's   ELF  header  before  creating  sections;  see
     elf32getehdr(3ELF).


     The elfgetscn()  function  returns  a  section  descriptor,
     given  an  index  into the file's section header table. Note
     that the first ``real'' section has an index of 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 NUL, elfgetscn() returns a null pointer.


     The elfnewscn() function 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 NUL, elfnewscn() returns a null pointer.


     After creating a new section descriptor, the program can use
     elf32getshdr()  to  retrieve  the  newly created, ``clean''
     section header. The new  section  descriptor  will  have  no
     associated data (see elfgetdata(3ELF)). When creating a new
     section in this way, the library updates the eshnum  member



SunOS 5.11          Last change: 11 Jul 2001                    1






ELF Library Functions                            elfgetscn(3ELF)



     of  the ELF header and sets the ELFDIRTY bit for the sec-
     tion (see elfflagdata(3ELF)). If the program is building  a
     new  file,  it  is  responsible  for creating the file's ELF
     header (see elf32getehdr(3ELF)) before  creating  new  sec-
     tions.


     The  elfnextscn()  function  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 sec-
     tion  descriptor  for the section whose index is 1 (skipping
     the section whose index is SHNUNDEF). If  no  further  sec-
     tions  are present or an error occurs, elfnextscn() returns
     a null pointer.


     The elfndxscn() function takes an existing section descrip-
     tor,  scn,  and  returns  its section table index. If scn is
     null or an error occurs, elfndxscn() returns SHNUNDEF.

EXAMPLES
     Example 1 A sample of calling elfgetscn() function.


     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 */
       }


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:
















SunOS 5.11          Last change: 11 Jul 2001                    2






ELF Library Functions                            elfgetscn(3ELF)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Stable                      
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     elf(3ELF),     elf32getehdr(3ELF),     elf32getshdr(3ELF),
     elfbegin(3ELF),    elfflagdata(3ELF),   elfgetdata(3ELF),
     libelf(3LIB), attributes(5)










































SunOS 5.11          Last change: 11 Jul 2001                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™