elf_version(3E) DG/UX 5.4R3.00 elf_version(3E)
NAME
elfversion - coordinate ELF library and application versions
SYNOPSIS
cc [flag ...] file ... -lelf [library ...]
#include <libelf.h>
unsigned elfversion(unsigned ver);
DESCRIPTION
As elf(3E) explains, the program, the library, and an object file
have independent notions of the ``latest'' ELF version. elfversion
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 EVCURRENT. If the library's internal version (the highest
version known to the library) is lower than that known by the program
itself, the library may lack semantic knowledge assumed by the
program. Accordingly, elfversion will not accept a working version
unknown to the library.
Passing ver equal to EVNONE causes elfversion to return the
library's internal version, without altering the working version. If
ver is a version known to the library, elfversion returns the
previous (or initial) working version number. Otherwise, the working
version remains unchanged and elfversion returns EVNONE.
EXAMPLE
The following excerpt from an application program protects itself
from using an older library.
if (elfversion(EVCURRENT) == EVNONE)
{
/* library out of date */
/* recover from error */
}
NOTES
The working version should be the same for all operations on a
particular elf descriptor. Changing the version between operations
on a descriptor will probably not give the expected results.
SEE ALSO
elf(3E), elfbegin(3E), elfxlate(3E).
Licensed material--property of copyright holder(s) 1