Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_cntl(3E) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_cntl(3E)                                                   elf_cntl(3E)

NAME
     elfcntl - Dateideskriptor kontrollieren

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

     #include <libelf.h>

     int elfcntl(Elf *elf, ElfCmd cmd);

BESCHREIBUNG
     elfcntl() weist die Bibliothek an, ihr Verhalten bezüglich eines
     ELF-Deskriptors elf zu ändern. Wie unter elfbegin(3E) beschrieben,
     kann ein ELF-Deskriptor mehrfache Aktivierungen besitzen, und mehrere
     ELF-Deskriptoren können gemeinsam einen Dateideskriptor verwenden.
     Grundsätzlich gelten die elfcntl-Kommandos für alle Aktivierungen von
     elf. Darüber hinaus werden, wenn der ELF-Deskriptor mit einer Archiv-
     datei verknüpft ist, die Deskriptoren für Komponenten aus dem Archiv,
     wie unten beschrieben, beeinflußt. Soweit keine andere Aussage gemacht
     wird, beeinträchtigen Operationen mit Archivkomponenten nicht den
     Deskriptor für das umfassende Archiv.

     Das Argument cmd gibt an, welche Aktionen ausgeführt werden sollen;
     folgende Werte sind möglich:

     ELFCFDDONE
          Dieser Wert teilt der Bibliothek mit, daß der Dateideskriptor,
          der mit elf verknüpft ist, nicht verwendet werden soll. Ein Pro-
          gramm sollte dieses Kommando verwenden, wenn alle notwendigen
          Informationen gelesen wurden und aus Leistungsgründen der Rest
          der Datei nicht gelesen werden soll. Der Speicher für alle ausge-
          führten Operationen bleibt gültig; weitere Dateioperationen, wie
          zum Beispiel der erste Aufruf von elfgetdata() für einen
          Abschnitt, schlagen jedoch fehl, wenn sich die betreffenden Daten
          noch nicht im Speicher befinden.

     ELFCFDREAD
          Dieses Kommando ist ELFCFDDONE ähnlich; die Bibliothek wird
          jedoch dazu gezwungen, den Rest der Datei zu lesen. Ein Programm
          sollte dieses Kommando verwenden, wenn der Dateideskriptor
          geschlossen werden muß, aber noch nicht alle Informationen aus
          der Datei gelesen wurden. Nachdem elfcntl() das ELFCFDREAD-
          Kommando ausgeführt hat, verwenden weitere Operationen, wie zum
          Beispiel elfgetdata(), die Speicherversion der Datei, ohne den
          Dateideskriptor benutzen zu müssen.

     Wenn elfcntl() erfolgreich ist, wird Null zurückgeliefert. Ansonsten
     war elf ein Nulldeskriptor oder ein Fehler trat auf; in diesem Falle
     liefert die Funktion -1.

HINWEISE
     Wenn das Programm die "Raw" Operationen [siehe elfrawdata(), wie



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

elf_cntl(3E)                                                   elf_cntl(3E)

     unter elfgetdata(3E) beschrieben, und elfrawfile(3E)] nach dem Deak-
     tivieren des Dateideskriptors mit ELFCFDDONE oder ELFCFDREAD ver-
     wenden möchte, muß es die Rohoperationen ausdrücklich vorher ausfüh-
     ren. Ansonsten schlagen die rohen Dateioperationen fehl. Der Aufruf
     von elfrawfile() macht die gesamte Speicherabbildung verfügbar; nach-
     folgende elfrawdata() Aufrufe werden dadurch unterstützt.

SIEHE AUCH
     elf(3E), elfbegin(3E), elfgetdata(3E), elfrawfile(3E).













































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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