Unix/Linux Go Back    


NetBSD 6.1.5 - man page for elf_rand (netbsd section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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

NAME
     elf_rand -- provide sequential access to the next archive member

LIBRARY
     library ``libelf''

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 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 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
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 12:20 AM.