---
name: "dwarf_find_macro_value_start"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/dwarf_find_macro_value_start"
---

# dwarf\_find\_macro\_value\_start(3)

return the address of the first byte of a macro value

## NAME

**dwarf\_find\_macro\_value\_start** – return the address of the first byte of a macro value

## LIBRARY

library “libdwarf”

## SYNOPSIS

**#include \<libdwarf.h\>**

*char* *\**\

**dwarf\_find\_macro\_value\_start**(*char \*macro\_string*);

## DESCRIPTION

Given a DWARF macro string, function **dwarf\_find\_macro\_value\_start**() returns a pointer to the first byte of the macro value part of the macro string.

Argument *macro\_string* should be a NUL-terminated string conforming to the macro format defined in the DWARF standard; see dwarf(4).

## RETURN VALUES

On success, function **dwarf\_find\_macro\_value\_start**() returns a pointer to the first byte of the macro value. If the macro value part was not found, function **dwarf\_find\_macro\_value\_start**() returns a pointer to the NUL-byte terminating argument *macro\_string*.

Function **dwarf\_find\_macro\_value\_start**() returns NULL if argument *macro\_string* was NULL.

## SEE ALSO

[dwarf(3)](/dwarf/3.md), [dwarf\_get\_macro\_details(3)](/dwarf_get_macro_details/3.md)
