Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
ELF_GETARSYM(3) 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) archive, 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 symbol 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 structures 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) NetBSD 10.99 August 15, 2006 NetBSD 10.99