HP-UX Reference (11i v1 05/09) - 3 Library Functions A-M (vol 6)
e
elf_getarhdr(3E) elf_getarhdr(3E)
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 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(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 appropri-
ate 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
ar(4), elf(3E), elf_begin(3E), elf_getarsym(3E), elf_rand(3E).
Section 3−−204 Hewlett-Packard Company − 1 − HP-UX 11i Version 1: September 2005