Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)



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


NAME
      elfcntl - control a file descriptor

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

      #include <libelf.h>
      int elfcntl(Elf *elf, ElfCmd cmd);

DESCRIPTION
      elfcntl instructs the library to modify its behavior with respect to an
      ELF descriptor, elf.  As elfbegin(3E) describes, an ELF descriptor can
      have multiple activations, and multiple ELF descriptors may share a
      single file descriptor.  Generally, elfcntl commands apply to all
      activations of elf.  Moreover, if the ELF descriptor is associated with
      an archive file, descriptors for members within the archive will also be
      affected as described below.  Unless stated otherwise, operations on
      archive members do not affect the descriptor for the containing archive.

      The cmd argument tells what actions to take and may have the following
      values.

      ELFCFDDONE
                This value tells the library not to use the file descriptor
                associated with elf.  A program should use this command when it
                has requested all the information it cares to use and wishes to
                avoid the overhead of reading the rest of the file.  The memory
                for all completed operations remains valid, but later file
                operations, such as the initial elfgetdata for a section, will
                fail if the data are not in memory already.

      ELFCFDREAD
                This command is similar to ELFCFDDONE, except it forces the
                library to read the rest of the file.  A program should use
                this command when it must close the file descriptor but has not
                yet read everything it needs from the file.  After elfcntl
                completes the ELFCFDREAD command, future operations, such as
                elfgetdata, will use the memory version of the file without
                needing to use the file descriptor.

      If elfcntl succeeds, it returns zero.  Otherwise elf was null or an
      error occurred, and the function returns -1.

SEE ALSO
      elf(3E), elfbegin(3E), elfgetdata(3E), elfrawfile(3E)

NOTE
      If the program wishes to use the ``raw'' operations [see elfrawdata,
      which elfgetdata(3E) describes, and elfrawfile(3E)] after disabling the
      file descriptor with ELFCFDDONE or ELFCFDREAD, it must execute the
      raw operations explicitly beforehand.  Otherwise, the raw file operations
      will fail.  Calling elfrawfile makes the entire image available, thus


10/89                                                                    Page 1







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


      supporting subsequent elfrawdata calls.





















































Page 2                                                                    10/89





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