128 lines
3.5 KiB
Groff
128 lines
3.5 KiB
Groff
.\" Copyright (c) 2010 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: dwarf_hasform.3 2073 2011-10-27 03:30:47Z jkoshy $
|
|
.\"
|
|
.Dd May 22, 2010
|
|
.Os
|
|
.Dt DWARF_HASFORM 3
|
|
.Sh NAME
|
|
.Nm dwarf_hasform ,
|
|
.Nm dwarf_whatform ,
|
|
.Nm dwarf_whatform_direct
|
|
.Nd query attribute forms
|
|
.Sh LIBRARY
|
|
.Lb libdwarf
|
|
.Sh SYNOPSIS
|
|
.In libdwarf.h
|
|
.Ft int
|
|
.Fo dwarf_hasform
|
|
.Fa "Dwarf_Attribute attr"
|
|
.Fa "Dwarf_Half form"
|
|
.Fa "Dwarf_Bool *ret"
|
|
.Fa "Dwarf_Error *err"
|
|
.Fc
|
|
.Ft int
|
|
.Fo dwarf_whatform
|
|
.Fa "Dwarf_Attribute attr"
|
|
.Fa "Dwarf_Half *retform"
|
|
.Fa "Dwarf_Error *err"
|
|
.Fc
|
|
.Ft int
|
|
.Fo dwarf_whatform_direct
|
|
.Fa "Dwarf_Attribute attr"
|
|
.Fa "Dwarf_Half *retform"
|
|
.Fa "Dwarf_Error *err"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
Function
|
|
.Fn dwarf_hasform
|
|
indicates whether the DWARF attribute denoted by argument
|
|
.Ar attr
|
|
has the attribute form specified by argument
|
|
.Ar form .
|
|
If the attribute has the specified form, then
|
|
argument
|
|
.Ar ret
|
|
is set to a non-zero value, otherwise it is set to zero.
|
|
If argument
|
|
.Ar err
|
|
is non-NULL, it will be used to return an error descriptor in
|
|
case of an error.
|
|
.Pp
|
|
Function
|
|
.Fn dwarf_whatform
|
|
sets the location specified by argument
|
|
.Ar retform
|
|
to the attribute form code for the DWARF attribute referenced
|
|
by argument
|
|
.Ar attr .
|
|
If the attribute referenced by argument
|
|
.Ar attr
|
|
has an indirect form attribute, this function will return the final
|
|
form for the attribute.
|
|
If argument
|
|
.Ar err
|
|
is non-NULL, it will be used to return an error descriptor in
|
|
case of an error.
|
|
.Pp
|
|
Function
|
|
.Fn dwarf_whatform_direct
|
|
sets the location specified by argument
|
|
.Ar retform
|
|
to the attribute form code for the DWARF attribute referenced
|
|
by argument
|
|
.Ar attr .
|
|
If the form is an indirect form, the function sets the location
|
|
specified by argument
|
|
.Ar retform
|
|
to
|
|
.Dv DW_FORM_indirect .
|
|
If argument
|
|
.Ar err
|
|
is non-NULL, it will be used to return an error descriptor in
|
|
case of an error.
|
|
.Sh RETURN VALUES
|
|
These functions return
|
|
.Dv DW_DLV_OK
|
|
on success.
|
|
In case of an error, these functions return
|
|
.Dv DW_DLV_ERR
|
|
and set argument
|
|
.Ar err .
|
|
.Sh ERRORS
|
|
These functions may fail with the following errors:
|
|
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
|
.It Bq Er DW_DLE_ARGUMENT
|
|
Any of the arguments
|
|
.Ar attr ,
|
|
.Ar ret ,
|
|
or
|
|
.Ar retform
|
|
was NULL.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr dwarf 3 ,
|
|
.Xr dwarf_attr 3 ,
|
|
.Xr dwarf_hasattr 3
|