Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_strptr(3E)                                               elf_strptr(3E)

NAME
     elfstrptr - Zeiger auf Zeichenkette erzeugen

SYNTAX
     cc [option ...] datei ... -lelf [bibliothek ...]

     #include <libelf.h>

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

BESCHREIBUNG
     Diese Funktion konvertiert den Abschnitt mit Zeichenketten bei offset
     in einen Zeiger auf eine Zeichenkette. elf bezeichnet die Datei, in
     der sich der Zeichenkettenabschnitt befindet, und section gibt den
     Abschnittstabellenindex für die Zeichenketten an. elfstrptr() liefert
     normalerweise einen Zeiger auf eine Zeichenkette; ein Nullzeiger wird
     zurückgegeben, wenn elf gleich Null ist, section ungültig ist, oder
     wenn es sich nicht um einen Abschnitt des Typs SHTSTRTAB handelt, die
     Abschnittsdaten nicht gelesen werden können, offset ungültig ist, oder
     wenn ein Fehler auftritt.

BEISPIELE
     Eine Vorlage zum Lesen von Abschnittsnamen ist im folgenden angeführt.
     Der Dateikopf definiert die Tabelle mit den Abschnittsnamen in der
     Komponente eshstrndx. Der folgende Programmauszug durchläuft die
     Abschnitte und gibt deren Namen aus.

        if ((ehdr = elf32getehdr(elf)) == 0)
        {
              /* Fehlerbehandlung */
              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)");
        }

HINWEISE
     Ein Programm kann elfgetdata() aufrufen, um einen kompletten
     Abschnitt mit Zeichenketten zu lesen. Für einige Anwendungsprogramme
     ist dies sowohl effizienter als auch gebräuchlicher als die Verwendung
     von elfstrptr().

SIEHE AUCH
     elf(3E), elfgetdata(3E), elfgetshdr(3E), elfxlate(3E).





Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

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