Signed-off-by: Aaron Merey <ame...@redhat.com> --- v2: Some rewording. Also remove comment about elf_rand affecting subsequent calls to elf_next. I will post a patch that prevents this behavior.
doc/Makefile.am | 1 + doc/elf_rand.3 | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 doc/elf_rand.3 diff --git a/doc/Makefile.am b/doc/Makefile.am index 103f9d05..f1e074f9 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -83,6 +83,7 @@ notrans_dist_man3_MANS= elf32_checksum.3 \ elf_newdata.3 \ elf_newscn.3 \ elf_nextscn.3 \ + elf_rand.3 \ elf_rawfile.3 \ elf_scnshndx.3 \ elf_strptr.3 \ diff --git a/doc/elf_rand.3 b/doc/elf_rand.3 new file mode 100644 index 00000000..5c07a920 --- /dev/null +++ b/doc/elf_rand.3 @@ -0,0 +1,71 @@ +.TH ELF_RAND 3 2025-06-30 "Libelf" "Libelf Programmer's Manual" + +.SH NAME +elf_rand - Set the offset for the next archive member in an ELF file. + +.SH SYNOPSIS +.nf +#include <libelf.h> + +.BI "size_t elf_rand(Elf *" elf ", size_t " offset ");" +.fi + +.SH DESCRIPTION +The +.BR elf_rand () +function sets the current archive member offset for the ELF archive descriptor +.I elf +to +.IR offset . + +This function is only valid when +.I elf +refers to an archive descriptor (i.e., its kind is +.BR ELF_K_AR ). + +Archive member offsets can be acquired from the +.I Elf_Arsym +array returned by +.BR elf_getarsym (3). + +If the archive header at the given offset cannot be parsed or validated, +then 0 is returned. + +.SH PARAMETERS +.TP +.I elf +A pointer to an ELF archive descriptor. + +.TP +.I offset +A byte offset to the archive header, indicating the desired member position. + +.SH RETURN VALUE +Returns the input +.I offset +if successful. Returns 0 if +.I elf +is NULL, is not an archive descriptor, or if an error occurs while reading the member at +.IR offset . + +.SH SEE ALSO +.BR elf_getarsym (3), +.BR elf_next (3), +.BR libelf (3), +.BR elf (5) + +.SH ATTRIBUTES +.TS +allbox; +lbx lb lb +l l l. +Interface Attribute Value +T{ +.na +.nh +.BR elf_rand () +T} Thread safety MT-Safe +.TE + +.SH REPORTING BUGS +Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/. -- 2.50.1