ELF_CNTL(3)             NetBSD Library Functions Manual            ELF_CNTL(3)

NAME
     elf_cntl -- control an elf file descriptor

LIBRARY
     library ``libelf''

SYNOPSIS
     #include <libelf.h>

     int
     elf_cntl(Elf *elf, Elf_Cmd cmd);

DESCRIPTION
     Function elf_cntl() controls the ELF library's subsequent use of the file
     descriptor used to create ELF descriptor elf.

     Argument cmd informs the library of the action to be taken:

     ELF_C_FDDONE  This value instructs the ELF library not to perform any
                   further I/O on the file descriptor associated with argument
                   elf.  For ELF descriptors opened with mode ELF_C_WRITE or
                   ELF_C_RDWR subsequent elf_update() operations on the
                   descriptor will fail.

     ELF_C_FDREAD  This value instructs the ELF library to read in all neces-
                   sary data associated with ELF descriptor elf into memory so
                   that the underlying file descriptor can be safely closed
                   with command ELF_C_FDDONE.

     Argument elf must be an ELF descriptor associated with a file system
     object (e.g., an ar(1) archive, an ELF file, or other data file).

IMPLEMENTATION NOTES
     Due to use of mmap(2) internally, this function is a no-op for for ELF
     objects opened in ELF_C_READ mode.

RETURN VALUES
     Function elf_cntl() returns 0 on success, or -1 if an error was detected.

ERRORS
     [ELF_E_ARCHIVE]   Argument elf is a descriptor for an archive member.

     [ELF_E_ARGUMENT]  Argument elf was NULL.

     [ELF_E_ARGUMENT]  Argument cmd was not recognized.

     [ELF_E_MODE]      An ELF_C_FDREAD operation was requested on an ELF
                       descriptor opened for writing.

SEE ALSO
     elf(3), elf_begin(3), elf_end(3), elf_next(3), elf_update(3), gelf(3)

NetBSD 5.0                      August 9, 2006                      NetBSD 5.0