Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ELF_GETARSYM(3)		 BSD Library Functions Manual	       ELF_GETARSYM(3)

NAME
     elf_getarsym -- retrieve the symbol table of an archive

LIBRARY
     ELF Access	Library	(libelf, -lelf)

SYNOPSIS
     #include <libelf.h>

     Elf_Arsym *
     elf_getarsym(Elf *elf, size_t *ptr);

DESCRIPTION
     The function elf_getarsym() retrieves the symbol table for	an ar(1) ar-
     chive, if one is available.

     Argument elf should be a descriptor for an	ar(1) archive opened using
     elf_begin() or elf_memory().

     If	the archive elf	contains a symbol table	with n entries,	this function
     returns a pointer to an array of n+1 Elf_Arsym structures.	 An Elf_Arsym
     structure has the following elements:
     char * as_name
	     This structure member is a	pointer	to a null-terminated symbol
	     name.
     off_t as_off
	     This structure member contains the	byte offset from the beginning
	     of	the archive to the header for the archive member.  This	value
	     is	suitable for use with elf_rand(3).
     unsigned long as_hash
	     This structure member contains a portable hash value for the sym-
	     bol name, as computed by elf_hash(3).

     The last entry of the returned array will have a NULL value for member
     as_name, a	zero value for member as_off and an illegal value of ~0UL for
     as_hash.

     If	argument ptr is	non-null, the elf_getarsym() function will store the
     number of table entries returned (including the sentinel entry at the
     end) into the location it points to.

RETURN VALUES
     Function elf_getarsym() returns a pointer to an array of Elf_Arsym	struc-
     tures if successful, or a NULL pointer if an error	was encountered.

     If	argument ptr is	non-null and there was no error, the library will
     store the number of archive symbol	entries	returned into the location it
     points to.	 If argument ptr is non-null and an error was encountered, the
     library will set the location pointed to by it to zero.

ERRORS
     Function elf_getarsym() may fail with the following errors:

     [ELF_E_ARGUMENT]  Argument	elf was	NULL.

     [ELF_E_ARGUMENT]  Argument	elf was	not a descriptor for an	ar(1) archive.

SEE ALSO
     elf(3), elf_begin(3), elf_getarhdr(3), elf_hash(3), elf_memory(3),
     elf_next(3), elf_rand(3)

BSD				August 15, 2006				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=elf_getarsym&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help