Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_rand(3E) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

ar(4)

elf_rand(3E)                                                   elf_rand(3E)

NAME
     elfrand - Auf Archivkomponenten wahlfrei zugreifen

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

     #include <libelf.h>

     sizet elfrand(Elf *elf, sizet offset);

BESCHREIBUNG
     elfrand(), elfnext() und elfbegin() manipulieren einfache Objektda-
     teien und Archive. elf ist ein ELF-Deskriptor, der zuvor von
     elfbegin() zurückgegeben wurde.

     elfrand() erlaubt die wahlfreie Bearbeitung von Archivkomponenten.
     elf wird auf den Zugriff auf eine beliebige Archivkomponente vorberei-
     tet. elf muß ein Deskriptor für das Archiv selbst sein und nicht etwa
     für eine Komponente innerhalb des Archivs. offset gibt den Byte-Offset
     des Archivkopfs der gewünschten Komponente an, gerechnet vom Anfang
     des Archivs. Unter elfgetarsym(3E) finden Sie weitere Informationen
     über die Offsets von Archivkomponenten. Wenn der Aufruf von elfrand()
     gelingt, wird offset zurückgegeben. Wenn ein Fehler auftrat, elf
     gleich Null war, oder wenn die Datei kein Archiv war (keine Archivkom-
     ponente kann einen Null-Offset haben), wird 0 zurückgegeben. Ein Pro-
     gramm kann die wahlweise und sequentielle Archivbearbeitung gemischt
     verwenden.

BEISPIELE
     Ein Archiv beginnt mit einer "magischen Zeichenkette" mit der Länge
     von SARMAG-Bytes; darauf folgt sofort die erste Archivkomponente. Ein
     Anwendungsprogramm kann daher die folgende Funktion verwenden, um ein
     Archiv zurückzusetzen (die Funktion liefert -1 bei Fehler; ansonsten
     wird 0 zurückgegeben).

        #include <ar.h>
        #include <libelf.h>

        int
        rewindelf(Elf *elf)
        {
              if (elfrand(elf, (sizet)SARMAG) == SARMAG)
                      return 0;
              return -1;
        }

SIEHE AUCH
     elf(3E), elfbegin(3E), elfgetarsym(3E), elfnext(3E), ar(4).







Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

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