96 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" Copyright (c) 2006,2008 Joseph Koshy.  All rights reserved.
 | 
						|
.\"
 | 
						|
.\" Redistribution and use in source and binary forms, with or without
 | 
						|
.\" modification, are permitted provided that the following conditions
 | 
						|
.\" are met:
 | 
						|
.\" 1. Redistributions of source code must retain the above copyright
 | 
						|
.\"    notice, this list of conditions and the following disclaimer.
 | 
						|
.\" 2. Redistributions in binary form must reproduce the above copyright
 | 
						|
.\"    notice, this list of conditions and the following disclaimer in the
 | 
						|
.\"    documentation and/or other materials provided with the distribution.
 | 
						|
.\"
 | 
						|
.\" This software is provided by Joseph Koshy ``as is'' and
 | 
						|
.\" any express or implied warranties, including, but not limited to, the
 | 
						|
.\" implied warranties of merchantability and fitness for a particular purpose
 | 
						|
.\" are disclaimed.  in no event shall Joseph Koshy be liable
 | 
						|
.\" for any direct, indirect, incidental, special, exemplary, or consequential
 | 
						|
.\" damages (including, but not limited to, procurement of substitute goods
 | 
						|
.\" or services; loss of use, data, or profits; or business interruption)
 | 
						|
.\" however caused and on any theory of liability, whether in contract, strict
 | 
						|
.\" liability, or tort (including negligence or otherwise) arising in any way
 | 
						|
.\" out of the use of this software, even if advised of the possibility of
 | 
						|
.\" such damage.
 | 
						|
.\"
 | 
						|
.\" $Id$
 | 
						|
.\"
 | 
						|
.Dd June 1, 2006
 | 
						|
.Os
 | 
						|
.Dt ELF_VERSION 3
 | 
						|
.Sh NAME
 | 
						|
.Nm elf_version
 | 
						|
.Nd retrieve or set ELF library operating version
 | 
						|
.Sh LIBRARY
 | 
						|
.Lb libelf
 | 
						|
.Sh SYNOPSIS
 | 
						|
.In libelf.h
 | 
						|
.Ft unsigned int
 | 
						|
.Fn elf_version "unsigned int version"
 | 
						|
.Sh DESCRIPTION
 | 
						|
The
 | 
						|
.Fn elf_version
 | 
						|
function is used to query the current operating version of the ELF
 | 
						|
library, and to inform the ELF library about the application's desired
 | 
						|
operating version.
 | 
						|
.Pp
 | 
						|
If the argument
 | 
						|
.Ar version
 | 
						|
is
 | 
						|
.Dv EV_NONE ,
 | 
						|
the
 | 
						|
.Fn elf_version
 | 
						|
function returns the currently configured operating version for the
 | 
						|
ELF library.
 | 
						|
.Pp
 | 
						|
If the argument
 | 
						|
.Ar version
 | 
						|
is not
 | 
						|
.Dv EV_NONE ,
 | 
						|
and if argument
 | 
						|
.Ar version
 | 
						|
is supported by the ELF library, function
 | 
						|
.Fn elf_version
 | 
						|
sets the library's operating version to
 | 
						|
.Ar version ,
 | 
						|
and returns the previous value of the operating version.
 | 
						|
If argument
 | 
						|
.Ar version
 | 
						|
cannot be supported, then the
 | 
						|
.Fn elf_version
 | 
						|
function returns
 | 
						|
.Dv EV_NONE .
 | 
						|
.Sh RETURN VALUES
 | 
						|
The
 | 
						|
.Fn elf_version
 | 
						|
function returns the currently configured ELF library version, or
 | 
						|
.Dv EV_NONE
 | 
						|
if an unsupported version is requested.
 | 
						|
.Sh EXAMPLES
 | 
						|
An application program would inform the ELF library about its desired
 | 
						|
operating version and check for an error using the following code
 | 
						|
snippet:
 | 
						|
.Bd -literal -offset indent
 | 
						|
if (elf_version(EV_CURRENT) == EV_NONE)
 | 
						|
	err(EX_SOFTWARE, "ELF library too old");
 | 
						|
.Ed
 | 
						|
.Sh ERRORS
 | 
						|
Function
 | 
						|
.Fn elf_version
 | 
						|
may fail with the following error:
 | 
						|
.Bl -tag -width "[ELF_E_RESOURCE]"
 | 
						|
.It Bq Er "ELF_E_VERSION"
 | 
						|
An unsupported library version number was requested.
 | 
						|
.El
 | 
						|
.Sh SEE ALSO
 | 
						|
.Xr elf 3 ,
 | 
						|
.Xr gelf 3
 |