1.\" $NetBSD: dwarf_diename.3,v 1.6 2024/03/03 17:37:30 christos Exp $ 2.\" 3.\" Copyright (c) 2010 Kai Wang 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" 27.\" Id: dwarf_diename.3 3962 2022-03-12 15:56:10Z jkoshy 28.\" 29.Dd March 31, 2010 30.Dt DWARF_DIENAME 3 31.Os 32.Sh NAME 33.Nm dwarf_diename 34.Nd retrieve the name associated with a debugging information entry 35.Sh LIBRARY 36.Lb libdwarf 37.Sh SYNOPSIS 38.In libdwarf.h 39.Ft int 40.Fn dwarf_diename "Dwarf_Die die" "char **ret_name" "Dwarf_Error *err" 41.Sh DESCRIPTION 42Function 43.Fn dwarf_diename 44retrieves a pointer to the NUL-terminated string associated with the 45.Dv DW_AT_name 46attribute of the debugging information entry descriptor referenced by 47argument 48.Fa die . 49If the pointer was successfully retrieved, it is stored in the location 50pointed to by argument 51.Fa ret_name . 52.Sh RETURN VALUES 53Function 54.Fn dwarf_diename 55returns 56.Dv DW_DLV_OK 57on success. 58.Pp 59If the debugging information entry descriptor denoted by argument 60.Fa die 61does not contain a 62.Dv DW_AT_name 63attribute, the function returns 64.Dv DW_DLV_NO_ENTRY 65and sets argument 66.Fa err . 67For other errors, it returns 68.Dv DW_DLV_ERROR 69and sets argument 70.Fa err . 71.Sh ERRORS 72Function 73.Fn dwarf_diename 74can fail with the following errors: 75.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT" 76.It Bq Er DW_DLE_ARGUMENT 77Either of arguments 78.Fa die 79or 80.Fa ret_name 81was 82.Dv NULL . 83.It Bq Er DW_DLE_NO_ENTRY 84Argument 85.Fa die 86had no 87.Dv DW_AT_name 88attribute. 89.El 90.Sh SEE ALSO 91.Xr dwarf 3 , 92.Xr dwarf_die_abbrev_code 3 , 93.Xr dwarf_dieoffset 3 , 94.Xr dwarf_tag 3 95