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
Copyright 1994 Novell, Inc. Page 1
elf_getarhdr(3E) elf_getarhdr(3E)
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.
REFERENCES
ar(4), elf(3E), elf_begin(3E), elf_getarsym(3E), elf_rand(3E)
Copyright 1994 Novell, Inc. Page 2