Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_flag(3E) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)



elf_flag(3E)              UNIX System V(ELF Library)               elf_flag(3E)


NAME
      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 structures
      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.

      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.




10/89                                                                    Page 1







elf_flag(3E)              UNIX System V(ELF Library)               elf_flag(3E)


      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.''

EXAMPLE
      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                                                                    10/89





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