1.\" Copyright (c) 2011 Kai Wang
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $Id: dwarf_get_AT_name.3 3644 2018-10-15 19:55:01Z jkoshy $
26.\"
27.Dd January 30, 2023
28.Dt DWARF_GET_AT_NAME 3
29.Os
30.Sh NAME
31.Nm dwarf_get_ACCESS_name ,
32.Nm dwarf_get_AT_name ,
33.Nm dwarf_get_ATE_name ,
34.Nm dwarf_get_CC_name ,
35.Nm dwarf_get_CFA_name ,
36.Nm dwarf_get_CHILDREN_name ,
37.Nm dwarf_get_DS_name ,
38.Nm dwarf_get_DSC_name ,
39.Nm dwarf_get_EH_name ,
40.Nm dwarf_get_END_name ,
41.Nm dwarf_get_FORM_name ,
42.Nm dwarf_get_ID_name ,
43.Nm dwarf_get_INL_name ,
44.Nm dwarf_get_LANG_name ,
45.Nm dwarf_get_LNE_name ,
46.Nm dwarf_get_LNS_name ,
47.Nm dwarf_get_MACINFO_name ,
48.Nm dwarf_get_OP_name ,
49.Nm dwarf_get_ORD_name ,
50.Nm dwarf_get_TAG_name ,
51.Nm dwarf_get_UT_name ,
52.Nm dwarf_get_VIRTUALITY_name ,
53.Nm dwarf_get_VIS_name
54.Nd retrieve the symbolic names of DWARF constants
55.Sh LIBRARY
56.Lb libdwarf
57.Sh SYNOPSIS
58.In libdwarf.h
59.Ft int
60.Fo dwarf_get_ACCESS_name
61.Fa "unsigned val"
62.Fa "char **str"
63.Fc
64.Ft int
65.Fo dwarf_get_AT_name
66.Fa "unsigned val"
67.Fa "char **str"
68.Fc
69.Ft int
70.Fo dwarf_get_ATE_name
71.Fa "unsigned val"
72.Fa "char **str"
73.Fc
74.Ft int
75.Fo dwarf_get_CC_name
76.Fa "unsigned val"
77.Fa "char **str"
78.Fc
79.Ft int
80.Fo dwarf_get_CFA_name
81.Fa "unsigned val"
82.Fa "char **str"
83.Fc
84.Ft int
85.Fo dwarf_get_CHILDREN_name
86.Fa "unsigned val"
87.Fa "char **str"
88.Fc
89.Ft int
90.Fo dwarf_get_DS_name
91.Fa "unsigned val"
92.Fa "char **str"
93.Fc
94.Ft int
95.Fo dwarf_get_DSC_name
96.Fa "unsigned val"
97.Fa "char **str"
98.Fc
99.Ft int
100.Fo dwarf_get_EH_name
101.Fa "unsigned val"
102.Fa "char **str"
103.Fc
104.Ft int
105.Fo dwarf_get_END_name
106.Fa "unsigned val"
107.Fa "char **str"
108.Fc
109.Ft int
110.Fo dwarf_get_FORM_name
111.Fa "unsigned val"
112.Fa "char **str"
113.Fc
114.Ft int
115.Fo dwarf_get_ID_name
116.Fa "unsigned val"
117.Fa "char **str"
118.Fc
119.Ft int
120.Fo dwarf_get_INL_name
121.Fa "unsigned val"
122.Fa "char **str"
123.Fc
124.Ft int
125.Fo dwarf_get_LANG_name
126.Fa "unsigned val"
127.Fa "char **str"
128.Fc
129.Ft int
130.Fo dwarf_get_LNE_name
131.Fa "unsigned val"
132.Fa "char **str"
133.Fc
134.Ft int
135.Fo dwarf_get_LNS_name
136.Fa "unsigned val"
137.Fa "char **str"
138.Fc
139.Ft int
140.Fo dwarf_get_MACINFO_name
141.Fa "unsigned val"
142.Fa "char **str"
143.Fc
144.Ft int
145.Fo dwarf_get_OP_name
146.Fa "unsigned val"
147.Fa "char **str"
148.Fc
149.Ft int
150.Fo dwarf_get_ORD_name
151.Fa "unsigned val"
152.Fa "char **str"
153.Fc
154.Ft int
155.Fo dwarf_get_TAG_name
156.Fa "unsigned val"
157.Fa "char **str"
158.Fc
159.Ft int
160.Fo dwarf_get_UT_name
161.Fa "unsigned unit_type"
162.Fa "const char **str"
163.Fc
164.Ft int
165.Fo dwarf_get_VIRTUALITY_name
166.Fa "unsigned val"
167.Fa "char **str"
168.Fc
169.Ft int
170.Fo dwarf_get_VIS_name
171.Fa "unsigned val"
172.Fa "char **str"
173.Fc
174.Sh DESCRIPTION
175These functions return the symbolic name of a numeric DWARF constant.
176.Pp
177Argument
178.Ar val
179specifies the numeric value whose symbolic name is desired.
180.Pp
181Argument
182.Ar str
183should point to a location which will hold the returned
184NUL-terminated string containing the symbolic name of the
185specified value.
186.Pp
187The list of functions and the DWARF constants that they accept are:
188.Pp
189.Bl -tag -width ".Fn dwarf_get_VIRTUALITY_name" -compact
190.It Fn dwarf_get_ACCESS_name
191.Dv DW_ACCESS_*
192constants.
193.It Fn dwarf_get_AT_name
194.Dv DW_AT_*
195constants.
196.It Fn dwarf_get_ATE_name
197.Dv DW_ATE_*
198constants.
199.It Fn dwarf_get_CC_name
200.Dv DW_CC_*
201constants.
202.It Fn dwarf_get_CFA_name
203.Dv DW_CFA_*
204constants.
205.It Fn dwarf_get_CHILDREN_name
206.Dv DW_CHILDREN_*
207constants.
208.It Fn dwarf_get_DS_name
209.Dv DW_DS_*
210constants.
211.It Fn dwarf_get_DSC_name
212.Dv DW_DSC_*
213constants.
214.It Fn dwarf_get_EH_name
215.Dv DW_EH_PE_*
216constants.
217.It Fn dwarf_get_END_name
218.Dv DW_END_*
219constants.
220.It Fn dwarf_get_FORM_name
221.Dv DW_FORM_*
222constants.
223.It Fn dwarf_get_ID_name
224.Dv DW_ID_*
225constants.
226.It Fn dwarf_get_INL_name
227.Dv DW_INL_*
228constants.
229.It Fn dwarf_get_LANG_name
230.Dv DW_LANG_*
231constants.
232.It Fn dwarf_get_LNE_name
233.Dv DW_LNE_*
234constants.
235.It Fn dwarf_get_LNS_name
236.Dv DW_LNS_*
237constants.
238.It Fn dwarf_get_MACINFO_name
239.Dv DW_MACINFO_*
240constants.
241.It Fn dwarf_get_OP_name
242.Dv DW_OP_*
243constants.
244.It Fn dwarf_get_ORD_name
245.Dv DW_ORD_*
246constants.
247.It Fn dwarf_get_TAG_name
248.Dv DW_TAG_*
249constants.
250.It Fn dwarf_get_UT_name
251.Dv DW_UT_*
252constants.
253.It Fn dwarf_get_VIRTUALITY_name
254.Dv DW_VIRTUALITY_*
255constants.
256.It Fn dwarf_get_VIS_name
257.Dv DW_VIS_*
258constants.
259.El
260.Sh RETURN VALUES
261These functions return
262.Dv DW_DLV_OK
263on success.
264If the DWARF constant denoted by argument
265.Ar val
266is not recognized, these function return
267.Dv DW_DLV_NO_ENTRY .
268.Sh SEE ALSO
269.Xr dwarf 3
270