Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


ELF_NEXT(3)                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.

     [ELF_E_ARGUMENT]  An error was encountered while parsing the archive
                       containing argument elf.

SEE ALSO
     elf(3), elf_begin(3), elf_end(3), elf_rand(3)

NetBSD 10.99                   February 27, 2019                  NetBSD 10.99