DWARF_START_MACRO_FILE(3) | Library Functions Manual | DWARF_START_MACRO_FILE(3)

# NAME

`dwarf_start_macro_file` — mark the start of a source file inclusion

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

int
`dwarf_start_macro_file`(Dwarf_P_Debug dbg, Dwarf_Unsigned lineno, Dwarf_Unsigned fileindex, Dwarf_Error *err);

# DESCRIPTION

Function `dwarf_start_macro_file`() marks the start of a new source file inclusion.

Argument dbg should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3).

Argument lineno specifies the line number of the source line where the source file inclusion occurs. A value of zero is used to indicate the file for the compilation unit source itself.

Argument fileindex specifies the index of the source file that is being included. Valid source file indices are those returned by dwarf_add_file_decl(3).

If argument err is not `NULL`, it will be used to store error information in case of an error.

# RETURN VALUES

On success, function `dwarf_start_macro_file`() returns `DW_DLV_OK`. In case of an error, function `dwarf_start_macro_file`() returns `DW_DLV_ERROR` and sets the argument err.

# ERRORS

Function `dwarf_start_macro_file`() can fail with:

[`DW_DLE_ARGUMENT`]
  Argument dbg was `NULL`.
[`DW_DLE_MEMORY`]
  An out of memory condition was encountered during the execution of the function.

# SEE ALSO

dwarf(3), dwarf_add_file_decl(3), dwarf_def_macro(3), dwarf_end_macro_file(3), dwarf_producer_init(3), dwarf_producer_init_b(3), dwarf_undef_macro(3), dwarf_vendor_ext(3)

September 25, 2011 | NetBSD 11.0