ELF Library Functions elf_getarhdr(3ELF)
NAME
elf_getarhdr - retrieve archive member header
SYNOPSIS
cc [ flag ... ] file ... -lelf [ library... ]
#include
Elf_Arhdr *elf_getarhdr(Elf *elf);
DESCRIPTION
elf_getarhdr() returns a pointer to an archive member
header, if one is available for the ELF descriptor elf. Oth-
erwise, 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.char *ar_name;
time_t ar_date;
uid_t ar_uid;
gid_t ar_gid;
mode_t ar_mode;
off_t ar_size;
char *ar_rawname;
An archive member name, available through ar_name, is a
null-terminated string, with the ar format control charac-
ters 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 for-
mat 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 specialmembers 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 thearchive symbol table through elf_getarsym(). The
information in the symbol table is useful for randomarchive processing (see elf_rand() on
elf_begin(3ELF)).
// This member, if present, holds a string table for longarchive member names. An archive member's header con-
tains a 16-byte area for the name, which may be
SunOS 5.11 Last change: 11 Jul 2001 1
ELF Library Functions elf_getarhdr(3ELF)
exceeded in some file systems. The library automati-
cally retrieves long member names from the stringtable, setting ar_name to the appropriate value.
Under some error conditions, a member's name might not beavailable. Although this causes the library to set ar_name
to a null pointer, the ar_rawname member will be set as
usual.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
ar.h(3HEAD), elf(3ELF), elf_begin(3ELF), elf_getarsym(3ELF),
libelf(3LIB), attributes(5)SunOS 5.11 Last change: 11 Jul 2001 2