Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_strptr(3E) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_strptr(3E)                                               elf_strptr(3E)

NAME
     elfstrptr - make a string pointer

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

     #include <libelf.h>

     char *elfstrptr(Elf *elf, sizet section, sizet offset);

DESCRIPTION
     This function converts a string section offset to a string pointer.
     elf identifies the file in which the string section resides, and sec-
     tion gives the section table index for the strings. elfstrptr() nor-
     mally returns a pointer to a string, but it returns a null pointer
     when elf is null, section is invalid or is not a section of type
     SHTSTRTAB, the section data cannot be obtained, offset is invalid, or
     an error occurs.

EXAMPLE
     A prototype for retrieving section names appears below. The file
     header specifies the section name string table in the eshstrndx
     member. The following code loops through the sections, printing their
     names.

        if ((ehdr = elf32getehdr(elf)) == 0)
        {
              /* handle the error */
              return;
        }
        ndx = ehdr->eshstrndx;
        scn = 0;
       while ((scn = elfnextscn(elf, scn)) != 0)
        {
              char    *name = 0;
              if ((shdr = elf32getshdr(scn)) != 0)
                name = elfstrptr(elf, ndx, (sizet)shdr->shname);
              printf("'%s'\n", name? name: "(null)");
        }

NOTES
     A program may call elfgetdata() to retrieve an entire string table
     section. For some applications, that would be both more efficient and
     more convenient than using elfstrptr().

SEE ALSO
     elf(3E), elfgetdata(3E), elfgetshdr(3E), elfxlate(3E).








Page 1                       Reliant UNIX 5.44                Printed 11/98

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