Manual pages › Libraries: curses, OPEN LOOK and others (3)
elf_getarhdr(3)
retrieve archive member header
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
NAME
elf_getarhdr - retrieve archive member header
SYNOPSIS
cc [flag ...] file ... -lelf [library ...] #include <libelf.h> 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. 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.
char *ar_name;
time_t ar_date;
long ar_uid;
long ar_gid;
unsigned long 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 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(3E)].
// 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.
SEE ALSO
elf(3E), elf_begin(3E), elf_getarsym(3E), elf_rand(3E), ar(4).