|
NAMEelf_rand —
provide sequential access to the next archive member
LIBRARYELF Access Library (libelf, -lelf)SYNOPSIS#include <libelf.h>
off_t
DESCRIPTIONTheelf_rand () function causes the ELF descriptor
archive to be adjusted so that the next call to
elf_begin(3)
will provide access to the archive 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 VALUESFunctionelf_rand () returns offset
if successful or zero in case of an error.
EXAMPLESTo 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 ... } ERRORSFunctionelf_rand () may fail with the following errors:
SEE ALSOar(1), elf(3), elf_begin(3), elf_end(3), elf_getarsym(3), elf_next(3), gelf(3)
Visit the GSP FreeBSD Man Page Interface. |