summaryrefslogtreecommitdiffstats
path: root/rtemstoolkit/elftoolchain/libdwarf/dwarf_hasform.3
diff options
context:
space:
mode:
Diffstat (limited to 'rtemstoolkit/elftoolchain/libdwarf/dwarf_hasform.3')
-rw-r--r--rtemstoolkit/elftoolchain/libdwarf/dwarf_hasform.3127
1 files changed, 127 insertions, 0 deletions
diff --git a/rtemstoolkit/elftoolchain/libdwarf/dwarf_hasform.3 b/rtemstoolkit/elftoolchain/libdwarf/dwarf_hasform.3
new file mode 100644
index 0000000..2cb6fc5
--- /dev/null
+++ b/rtemstoolkit/elftoolchain/libdwarf/dwarf_hasform.3
@@ -0,0 +1,127 @@
+.\" 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