FreeBSD manual

download PDF document: elf_next.3.pdf

ELF_NEXT(3) FreeBSD Library Functions Manual ELF_NEXT(3)
NAME elf_next - provide sequential access to the next archive member
LIBRARY ELF Access Library (libelf, -lelf)
SYNOPSIS #include <libelf.h>
Elf_Cmd elf_next(Elf *elf);
DESCRIPTION The elf_next() function causes the ELF archive descriptor corresponding to argument elf to be adjusted to provide access to the next member in the archive on a subsequent call to elf_begin().
The return value of elf_next() is suitable for use in a loop invoking elf_begin().
RETURN VALUES If successful, function elf_next() returns the value ELF_C_READ. Otherwise, if argument elf was not associated with an archive, or if it was NULL, or if any other error occurred, the value ELF_C_NULL is returned.
EXAMPLES To process all the members of an archive use:
Elf_Cmd cmd; Elf *archive, *e; ... cmd = ELF_C_READ; archive = elf_begin(fd, cmd, NULL); while ((e = elf_begin(fd, cmd, archive)) != (Elf *) 0) { ... process `e' here ...
cmd = elf_next(e); elf_end(e); } elf_end(archive);
ERRORS Function elf_next() may fail with the following error:
[ELF_E_ARGUMENT] Argument elf was not associated with a containing ar(1) archive.
[ELF_E_ARGUMENT] An error was encountered while parsing the archive containing argument elf.
SEE ALSO elf(3), elf_begin(3), elf_end(3), elf_rand(3)
FreeBSD 14.0-RELEASE-p11 February 27, 2019 FreeBSD 14.0-RELEASE-p11