version 1.2.8.1, 2014/03/09 16:58:04 |
version 1.2.8.2, 2014/08/19 23:46:45 |
|
|
|
.\" $NetBSD$ |
|
.\" |
|
.\" 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: gelf_getmove.3 189 2008-07-20 10:38:08Z jkoshy |
|
.\" |
|
.Dd August 29, 2006 |
|
.Os |
|
.Dt GELF_GETMOVE 3 |
|
.Sh NAME |
|
.Nm gelf_getmove , |
|
.Nm gelf_update_move |
|
.Nd read and update Elf Move information |
|
.Sh LIBRARY |
|
.Lb libelf |
|
.Sh SYNOPSIS |
|
.In gelf.h |
|
.Ft "GElf_Move *" |
|
.Fn gelf_getmove "Elf_Data *data" "int ndx" "GElf_Move *move" |
|
.Ft int |
|
.Fn gelf_update_move "Elf_Data *data" "int ndx" "GElf_Move *move" |
|
.Sh DESCRIPTION |
|
These convenience functions are used to retrieve and update class-dependent |
|
.Vt Elf32_Move |
|
and |
|
.Vt Elf64_Move |
|
structures in an ELF object. |
|
.Pp |
|
Argument |
|
.Ar data |
|
is an |
|
.Vt Elf_Data |
|
descriptor associated with a section of type |
|
.Dv SHT_SUNW_move . |
|
Argument |
|
.Ar ndx |
|
is the index of the move record being retrieved or updated. |
|
The class-independent |
|
.Vt GElf_Move |
|
structure is described in |
|
.Xr gelf 3 . |
|
.Pp |
|
Function |
|
.Fn gelf_getmove |
|
retrieves class-dependent move record at index |
|
.Ar ndx |
|
in data buffer |
|
.Ar data |
|
and copies it to the destination pointed to by argument |
|
.Ar move |
|
after translation to class-independent form. |
|
.Pp |
|
Function |
|
.Fn gelf_update_move |
|
converts the class-independent move information pointed to |
|
by argument |
|
.Ar move |
|
to class-dependent form, and writes it to the move record at index |
|
.Ar ndx |
|
in the data buffer described by argument |
|
.Ar data . |
|
Function |
|
.Fn gelf_update_move |
|
signals an error if any of the values in the class-independent |
|
representation exceeds the representable limits of the target |
|
type. |
|
.Sh RETURN VALUES |
|
Function |
|
.Fn gelf_getmove |
|
returns the value of argument |
|
.Ar move |
|
if successful, or NULL in case of an error. |
|
Function |
|
.Fn gelf_update_move |
|
returns a non-zero value if successful, or zero in case of an error. |
|
.Sh ERRORS |
|
These functions may fail with the following errors: |
|
.Bl -tag -width "[ELF_E_RESOURCE]" |
|
.It Bq Er ELF_E_ARGUMENT |
|
Arguments |
|
.Ar data |
|
or |
|
.Ar move |
|
were NULL. |
|
.It Bq Er ELF_E_ARGUMENT |
|
Argument |
|
.Ar ndx |
|
was less than zero or larger than the number of records in the data |
|
descriptor. |
|
.It Bq Er ELF_E_ARGUMENT |
|
Data descriptor |
|
.Ar data |
|
was not associated with a section containing move information. |
|
.It Bq Er ELF_E_RANGE |
|
A value was not representable in the target type. |
|
.El |
|
.Sh SEE ALSO |
|
.Xr elf 3 , |
|
.Xr elf_getdata 3 , |
|
.Xr elf_getscn 3 , |
|
.Xr gelf 3 |