Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

elf_next(3) [netbsd man page]

ELF_NEXT(3)						   BSD 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. SEE ALSO
elf(3), elf_begin(3), elf_end(3), elf_rand(3) BSD
June 17, 2006 BSD

Check Out this Related Man Page

ELF_RAND(3)						   BSD Library Functions Manual 					       ELF_RAND(3)

NAME
elf_rand -- provide sequential access to the next archive member LIBRARY
ELF Access Library (libelf, -lelf) SYNOPSIS
#include <libelf.h> off_t elf_rand(Elf *archive, off_t offset); DESCRIPTION
The elf_rand() function causes the ELF descriptor archive to be adjusted so that the next call to elf_begin(3) will provide access to the ar- chive member at byte offset offset in the archive. Argument offset is the byte offset from the start of the archive to the beginning of the archive header for the desired member. Archive member offsets may be retrieved using the elf_getarsym(3) function. RETURN VALUES
Function elf_rand() returns offset if successful or zero in case of an error. EXAMPLES
To process all the members of an archive use: off_t off; 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 ... elf_end(e); off = ...new value...; if (elf_rand(archive, off) != off) { ... process error ... } } elf_end(archive); To rewind an archive, use: Elf *archive; ... if (elf_rand(archive, SARMAG) != SARMAG) { ... error ... } ERRORS
Function elf_rand() may fail with the following errors: [ELF_E_ARGUMENT] Argument archive was null. [ELF_E_ARGUMENT] Argument archive was not a descriptor for an ar(1) archive. [ELF_E_ARCHIVE] Argument offset did not correspond to the start of an archive member header. SEE ALSO
ar(1), elf(3), elf_begin(3), elf_end(3), elf_getarsym(3), elf_next(3), gelf(3) BSD
June 17, 2006 BSD
Man Page