Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_flag(3E) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)



elf_flag(3E)                   DG/UX 5.4R3.00                   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.

       When  a  flag  bit is set for an item, it affects all the subitems as



Licensed material--property of copyright holder(s)                         1




elf_flag(3E)                   DG/UX 5.4R3.00                   elf_flag(3E)


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











































Licensed material--property of copyright holder(s)                         2


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