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