HP-UX Reference (11i v1 00/12) - 3 Library Functions A-M (vol 6)

__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/!!!intro.3c
________________________________________________________________
___ ___
e
elf_version(3E) elf_version(3E)
NAME
elf_version - coordinate ELF library and applicationversions
SYNOPSIS
cc [flag... ] file... -lelf [library]...
#include <libelf.h>
unsigned elf_version(unsigned ver);
DESCRIPTION
As elf(3E) explains, the program, the library, and an object file have independent notions of the ‘‘latest’’
ELF version. elf_version lets a program determine the ELF library’s internal version. It further lets
the program specify what memory types it uses by giving its own working version, ver, to the library.
Every program that uses the ELF library must coordinate versions as described below.
The header file libelf.h supplies the version to the program with the macro EV_CURRENT. If the
library’s internal version (the highest version known to the library) is lower than that known by the pro-
gram itself, the library may lack semantic knowledge assumed by the program. Accordingly,
elf_version will not accept a working version unknown to the library.
Passing ver equal to
EV_NONE causes elf_version to return the library’s internal version, without
altering the working version. If ver is a version known to the library,
elf_version returns the previous
(or initial) working version number. Otherwise, the working version remains unchanged and
elf_version returns EV_NONE.
EXAMPLES
The following excerpt from an application program protects itself from using an older library.
if (elf_version(EV_CURRENT) == EV_NONE)
{
/* library out of date */
/* recover from error */
}
NOTICES
The working version should be the same for all operations on a particular elf descriptor. Changing the ver-
sion between operations on a descriptor will probably not give the expected results.
SEE ALSO
elf(3E), elf_begin(3E), elf_xlate(3E).
Section 3202 1 HP-UX Release 11i: December 2000
___
___