elf_rand(3E)															      elf_rand(3E)

NAME
elf_rand - random archive member access SYNOPSIS
[flag... ] file... [library] ... DESCRIPTION
and manipulate simple object files and archives. elf is an ELF descriptor previously returned from provides random archive processing, preparing elf to access an arbitrary archive member. elf must be a descriptor for the archive itself, not a member within the archive. offset gives the byte offset from the beginning of the archive to the archive header of the desired mem- ber. See elf_getarsym(3E) for more information about archive member offsets. When works, it returns offset. Otherwise it returns 0, because an error occurred, elf was null, or the file was not an archive (no archive member can have a zero offset). A program may mix ran- dom and sequential archive processing. EXAMPLES
An archive starts with a ``magic string'' that has bytes; the initial archive member follows immediately. An application could thus pro- vide the following function to rewind an archive (the function returns -1 for errors and 0 otherwise). #include <ar.h> #include <libelf.h> int rewindelf(Elf *elf) { if (elf_rand(elf, (size_t)SARMAG) == SARMAG) return 0; return -1; } SEE ALSO
ar(4), elf(3E), elf_begin(3E), elf_getarsym(3E), elf_next(3E). elf_rand(3E)