Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_flag(3E) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_flag(3E)                                                   elf_flag(3E)

NAME
     elfflag: elfflagdata, elfflagehdr, elfflagelf, elfflagphdr,
     elfflagscn, elfflagshdr - Schalter manipulieren

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

     #include <libelf.h>

     unsigned elfflagdata(ElfData *data, ElfCmd cmd, unsigned flags);

     unsigned elfflagehdr(Elf *elf, ElfCmd cmd, unsigned flags);

     unsigned elfflagelf(Elf *elf, ElfCmd cmd, unsigned flags);

     unsigned elfflagphdr(Elf *elf, ElfCmd cmd, unsigned flags);

     unsigned elfflagscn(ElfScn *scn, ElfCmd cmd, unsigned flags);

     unsigned elfflagshdr(ElfScn *scn, ElfCmd cmd, unsigned flags);

BESCHREIBUNG
     Diese Funktionen manipulieren die Schalter, die mit den verschiedenen
     Strukturen einer ELF-Datei verknüpft sind. Gegeben sei ein ELF-Deskrip-
     tor elf, ein Datendeskriptor data oder ein Abschnittsdeskriptor scn.
     Die Funktionen können dann die entsprechenden Status-Bits setzen oder
     löschen; als Ergebnis wird der modifizierte Wert der Bits zurückgelie-
     fert. Ein Nulldeskriptor ist erlaubt, um die Fehlerbehandlung zu ver-
     einfachen; alle Funktionen liefern in diesem Fall den Wert Null als
     Ergebnis.

     cmd kann die folgenden Werte annehmen:

     ELFCCLR
          Die Funktionen löschen die in flags angegebenen Bits. Nur die in
          flags gesetzten Bits werden gelöscht; Null-Bits ändern den Status
          des Deskriptors nicht.

     ELFCSET
          Die Funktionen setzen die in flags angegebenen Bits. Nur die in
          flags gesetzten Bits werden gesetzt; Null-Bits ändern den Status
          des Deskriptors nicht.

     Die Beschreibungen zu den definierten Bits für flags lauten:











Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

elf_flag(3E)                                                   elf_flag(3E)

     ELFFDIRTY
          Wenn das Programm eine ELF-Datei schreiben will, garantiert die-
          ses Bit, daß die entsprechenden Informationen in die Datei
          geschrieben werden. Möchte ein Programm beispielsweise den ELF-
          Dateikopf einer Datei verändern, wird elfflagehdr() mit diesem
          Bit in flags und cmd gleich ELFCSET aufgerufen. Ein nachfolgen-
          der Aufruf von elfupdate() schreibt dann den derart markierten
          Dateikopf in die Datei.

     ELFFLAYOUT
          Normalerweise entscheidet die Bibliothek, wie eine Ausgabedatei
          organisiert wird. Dies bedeutet, daß automatisch entschieden
          wird, wo Abschnitte plaziert werden, wie sie in der Datei
          angeordnet werden etc. Wenn dieses Bit für einen ELF-Deskriptor
          gesetzt ist, übernimmt das Programm die Verantwortung für die
          Bestimmung aller Dateipositionen. Dieses Bit ist nur für
          elfflagelf() relevant und gilt für die gesamte Datei, die mit
          dem Deskriptor verknüpft ist.

     Wird ein Schalterbit für ein Objekt gesetzt, so werden alle Unterob-
     jekte ebenfalls beeinflußt. Setzt das Programm beispielsweise das
     ELFFDIRTY Bit mit elfflagelf(), so befindet sich die gesamte logi-
     sche Datei in diesem Modus.

BEISPIELE
     Der folgende Programmauszug demonstriert, wie ein ELF-Dateikopf mar-
     kiert werden kann, um in die Ausgabedatei geschrieben zu werden.

        ehdr = elf32getehdr(elf);
        /* dirty ehdr ... */
        elfflagehdr(elf, ELFCSET, ELFFDIRTY);

SIEHE AUCH
     elf(3E), elfend(3E), elfgetdata(3E), elfgetehdr(3E),
     elfupdate(3E).



















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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