ELF_GETARHDR(3ELF) ELF Library Functions ELF_GETARHDR(3ELF)
elf_getarhdr - retrieve archive member header
cc [ flag ... ] file ... -lelf [ library... ]
#include <libelf.h>
Elf_Arhdr *elf_getarhdr(Elf *elf);
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;
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 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()
on elf_begin(3ELF)).
//
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 attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
elf(3ELF), elf_begin(3ELF), elf_getarsym(3ELF), ar.h(3HEAD),
libelf(3LIB), attributes(7)
July 11, 2001 ELF_GETARHDR(3ELF)
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;
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 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()
on elf_begin(3ELF)).
//
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.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
elf(3ELF), elf_begin(3ELF), elf_getarsym(3ELF), ar.h(3HEAD),
libelf(3LIB), attributes(7)
July 11, 2001 ELF_GETARHDR(3ELF)