Manual browser: elf_next(3)

Section:
Page:
ELF_NEXT(3) Library Functions Manual ELF_NEXT(3)

NAME

elf_nextprovide 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.
June 17, 2006 NetBSD 7.0