DWARF_SRCFILES(3) | Library Functions Manual | DWARF_SRCFILES(3)

# NAME

`dwarf_srcfiles` —
retrieve source file information

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

int
`dwarf_srcfiles`(Dwarf_Die die, char ***filenames, Dwarf_Signed *filenamecount, Dwarf_Error *err);

# DESCRIPTION

Function `dwarf_srcfiles`() returns the source file names associated with a compilation unit. Source file names are returned as an array of NUL-terminated strings.

Argument die should reference a DWARF debugging information entry descriptor with source file information, see dwarf(3). Argument filenames should point to a location that will hold a pointer to the returned array of file names. Argument filenamecount should point to a location that will hold the number of file names returned. If argument err is not NULL, it will be used to store error information in case of an error.

## Memory Management

The memory areas used for the file names and for array of pointers being returned are managed by the DWARF(3) library. The application should not attempt to directly free these memory areas. Portable code should indicate that the memory areas are to be freed by using dwarf_dealloc(3).

# RETURN VALUES

Function `dwarf_srcfiles`() returns `DW_DLV_OK` when it succeeds. In case of an error, it returns `DW_DLV_ERROR` and sets the argument err.

# ERRORS

Function `dwarf_srcfiles`() can fail with:

[`DW_DLE_ARGUMENT`]
  One of the arguments die, filenames or filenamecount was NULL.
[`DW_DLE_NO_ENTRY`]
  The compilation unit referenced by argument die does not have associated source file information.
[`DW_DLE_MEMORY`]
  An out of memory condition was encountered during the execution of this function.

# SEE ALSO

dwarf(3), dwarf_dealloc(3), dwarf_srclines(3)

April 28, 2010 | NetBSD 9.2