elf_getscn(3E)
elf_getscn, elf_ndxscn, elf_newscn, elf_nextscn - Get section information
As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.
NAME elf_getscn, elf_ndxscn, elf_newscn, elf_nextscn - Get section information SYNOPSIS cc [flag ...] file ... -lelf [library ...] #include <libelf.h> Elf_Scn *elf_getscn(Elf *elf, size_t index); size_t elf_ndxscn(Elf_Scn *scn); Elf_Scn *elf_newscn(Elf *elf); Elf_Scn *elf_nextscn(Elf *elf, Elf_Scn *scn); IMPLEMENTATION IRIX systems 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 elf_getehdr(3E). elf_getscn 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 (SHN_UNDEF, 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, elf_getscn returns a null pointer. elf_newscn creates a new section and appends it to the list for elf. Because the SHN_UNDEF section is required and not interesting to applications, the library creates it automatically. Thus, the first call to elf_newscn for an ELF descriptor with no existing sections returns a descriptor for section 1. If an error occurs or elf is null, elf_newscn returns a null pointer. After creating a new section descriptor, the program can use elf_getshdr to retrieve the newly created, clean section header. The new section descriptor will have no associated data [see elf_getdata(3E)]. When creating a new section in this way, the library updates the e_shnum member of the ELF header and sets the ELF_F_DIRTY bit for the section [see elf_flag(3E)]. If the program is building a new file, it is responsible for creating the file's ELF header [see elf_getehdr(3E)] before creating new sections. elf_nextscn 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 SHN_UNDEF). If no further sections are present or an error occurs, elf_nextscn returns a null pointer. elf_ndxscn takes an existing section descriptor, scn, and returns its section table index. If scn is null or an error occurs, elf_ndxscn returns SHN_UNDEF. EXAMPLES The following is an example of sequential access. 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 = elf_nextscn(elf, scn)) != 0) { /* process section */ } SEE ALSO elf(3E), elf_begin(3E), elf_flag(3E), elf_getdata(3E), elf_getehdr(3E), elf_getshdr(3E) This man page is available only online.