Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_flag(3e) — Atari System V 1.1-06

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)





   elf_flag(3E)                   (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


   8/91                                                                 Page 1









   elf_flag(3E)                   (ELF Library)                   elf_flag(3E)


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

   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                                                                 8/91





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