1.\" Copyright (c) 2010 Joseph Koshy.  All rights reserved.
2.\"
3.\" Redistribution and use in source and binary forms, with or without
4.\" modification, are permitted provided that the following conditions
5.\" are met:
6.\" 1. Redistributions of source code must retain the above copyright
7.\"    notice, this list of conditions and the following disclaimer.
8.\" 2. Redistributions in binary form must reproduce the above copyright
9.\"    notice, this list of conditions and the following disclaimer in the
10.\"    documentation and/or other materials provided with the distribution.
11.\"
12.\" This software is provided by Joseph Koshy ``as is'' and
13.\" any express or implied warranties, including, but not limited to, the
14.\" implied warranties of merchantability and fitness for a particular purpose
15.\" are disclaimed.  in no event shall Joseph Koshy be liable
16.\" for any direct, indirect, incidental, special, exemplary, or consequential
17.\" damages (including, but not limited to, procurement of substitute goods
18.\" or services; loss of use, data, or profits; or business interruption)
19.\" however caused and on any theory of liability, whether in contract, strict
20.\" liability, or tort (including negligence or otherwise) arising in any way
21.\" out of the use of this software, even if advised of the possibility of
22.\" such damage.
23.\"
24.\" $Id: dwarf_seterrarg.3 2075 2011-10-27 03:47:28Z jkoshy $
25.\"
26.Dd May 01, 2010
27.Os
28.Dt DWARF_SETERRARG 3
29.Sh NAME
30.Nm dwarf_seterrarg ,
31.Nm dwarf_seterrhand
32.Nd configure error handling
33.Sh LIBRARY
34.Lb libdwarf
35.Sh SYNOPSIS
36.In libdwarf.h
37.Ft Dwarf_Ptr
38.Fn dwarf_seterrarg "Dwarf_Debug dbg" "Dwarf_Ptr arg"
39.Ft Dwarf_Handler
40.Fn dwarf_seterrhand "Dwarf_Debug dbg" "Dwarf_Handler handler"
41.Sh DESCRIPTION
42These functions may be used by applications to configure error handling
43callbacks.
44The error handling scheme used by the library is described in
45.Xr dwarf 3 .
46.Pp
47Function
48.Fn dwarf_seterrarg
49may be used to set the callback argument passed to a configured
50error handler at the time it is invoked.
51Argument
52.Ar arg
53is the callback argument being set.
54Argument
55.Ar dbg
56can be a debug context allocated by a prior call to
57.Xr dwarf_init 3 ,
58or can be NULL to indicate that the library-wide callback argument
59is to be set.
60.Pp
61Function
62.Fn dwarf_seterrhand
63may be used to associate an error handler denoted by argument
64.Ar handler
65with the DWARF debug context descriptor denoted by argument
66.Ar dbg .
67Argument
68.Ar dbg
69should be a debug context allocated by a prior call to
70.Xr dwarf_init 3 ,
71or may be NULL to indicate that the library-wide error handler
72is to be set.
73.Sh RETURN VALUES
74Function
75.Fn dwarf_seterrhand
76returns the previous error handler associated with argument
77.Ar dbg .
78If argument
79.Ar dbg
80is NULL, function
81.Fn dwarf_seterrhand
82returns the previous library-wide error handler.
83.Pp
84Function
85.Fn dwarf_seterrarg
86returns the previous callback argument associated with argument
87.Ar dbg .
88If argument
89.Ar dbg
90is NULL, function
91.Fn dwarf_seterrarg
92returns the previous library-wide callback argument.
93.Pp
94.Sh COMPATIBILITY
95The behavior of these functions when argument
96.Ar dbg
97is NULL is a local extension.
98.Sh ERRORS
99These functions do not set an error code.
100.Sh SEE ALSO
101.Xr dwarf 3 ,
102.Xr dwarf_init 3
103