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 - manipulate flags

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

     #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);

DESCRIPTION
     These functions manipulate the flags associated with various struc-
     tures of an ELF file. Given an ELF descriptor elf, a data descriptor
     data, or a section descriptor scn, the functions may set or clear the
     associated status bits, returning the updated bits. A null descriptor
     is allowed, to simplify error handling; all functions return zero for
     this degenerate case.

     cmd may have the following values.

     ELFCCLR
          The functions clear the bits that are asserted in flags. Only the
          non-zero bits in flags are cleared; zero bits do not change the
          status of the descriptor.

     ELFCSET
          The functions set the bits that are asserted in flags. Only the
          non-zero bits in flags are set; zero bits do not change the
          status of the descriptor.

     Descriptions of the defined flags bits appear below.

     ELFFDIRTY
          When the program intends to write an ELF file, this flag asserts
          the associated information needs to be written to the file. Thus,
          for example, a program that wished to update the ELF header of an
          existing file would call elfflagehdr() with this bit set in
          flags and cmd equal to ELFCSET. A later call to elfupdate()
          would write the marked header to the file.





Page 1                       Reliant UNIX 5.44                Printed 11/98

elf_flag(3E)                                                   elf_flag(3E)

     ELFFLAYOUT
          Normally, the library decides how to arrange an output file. That
          is, it automatically decides where to place sections, how to
          align them in the file, etc. If this bit is set for an ELF
          descriptor, the program assumes responsibility for determining
          all file positions. This bit is meaningful only for elfflagelf()
          and applies to the entire file associated with the descriptor.

     When a flag bit is set for an item, it affects all the subitems as
     well. Thus, for example, if the program sets the ELFFDIRTY bit with
     elfflagelf(), the entire logical file is "dirty".

EXAMPLES
     The following fragment shows how one might mark the ELF header to be
     written to the output file.

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

SEE ALSO
     elf(3E), elfend(3E), elfgetdata(3E), elfgetehdr(3E),
     elfupdate(3E).































Page 2                       Reliant UNIX 5.44                Printed 11/98

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