elf_getarhdr

Synopsis

Description

elf_getarhdr() returns a pointer to an archive member header, if one is
available for the ELF descriptor elf. Otherwise, no archive member header exists,
an error occurred, or elf was null; elf_getarhdr() then returns a null
value. The header includes the following members.

An archive member name, available through ar_name, is a null-terminated string, with
the ar format control characters removed. The ar_rawname member holds a null-terminated
string that represents the original name bytes in the file, including the terminating
slash and trailing blanks as specified in the archive format.

In addition to ``regular'' archive members, the archive format defines some special
members. All special member names begin with a slash (/), distinguishing them
from regular members (whose names may not contain a slash). These special
members have the names (ar_name) defined below.

/

This is the archive symbol table. If present, it will be the first archive member. A program may access the archive symbol table through elf_getarsym(). The information in the symbol table is useful for random archive processing (see elf_rand() on elf_begin(3ELF)).

//

This member, if present, holds a string table for long archive member names. An archive member's header contains a 16-byte area for the name, which may be exceeded in some file systems. The library automatically retrieves long member names from the string table, setting ar_name to the appropriate value.

Under some error conditions, a member's name might not be available. Although
this causes the library to set ar_name to a null pointer, the
ar_rawname member will be set as usual.