elf_getarhdr(S)
elf_getarhdr --
retrieve archive member header
Syntax
cc [flag . . . ] file . . . -lelf [library] . . .
#include <libelf.h>
Elf_Arhdr *elf_getarhdr(Elf *elf);
Description
elf_getarhdr(S)
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_rawname
,
is a null-terminated string, with the
ar(FP)
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(S).
The information in the symbol table is useful for
random archive processing (see
elf_rand(S)).
//
-
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.
Diagnostics
Error conditions are identified through the routine
elf_error(S).
See also
ar(FP),
elf(S),
elf_begin(S),
elf_getarsym(S),
elf_rand(S)
Standards conformance
elf_getarhdr(S)
is not part of any currently supported standard;
it was developed by UNIX System Laboratories, Inc.
and is maintained by The SCO Group.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003