drgn/libdrgn/stack_trace.h
Omar Sandoval d1745755f1 Fix some include-what-you-use warnings
Also:

* Rename struct string to struct nstring and move it to its own header.
* Fix scripts/iwyu.py, which was broken by commit 5541fad063 ("Fix
  some flake8 errors").
* Add workarounds for a few outstanding include-what-you-use issues.

There is still a false positive for
include-what-you-use/include-what-you-use#970, but hopefully that is
fixed soon.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2021-11-10 15:09:29 -08:00

46 lines
759 B
C

// Copyright (c) Facebook, Inc. and its affiliates.
// SPDX-License-Identifier: GPL-3.0-or-later
/**
* @file
*
* Stack trace internals
*
* See @ref StackTraceInternals.
*/
#ifndef DRGN_STACK_TRACE_H
#define DRGN_STACK_TRACE_H
#include <elfutils/libdw.h>
#include <stddef.h>
/**
* @ingroup Internals
*
* @defgroup StackTraceInternals Stack traces
*
* Stack trace internals.
*
* This provides the internal data structures used for stack traces.
*
* @{
*/
struct drgn_stack_frame {
struct drgn_register_state *regs;
Dwarf_Die *scopes;
size_t num_scopes;
size_t function_scope;
};
struct drgn_stack_trace {
struct drgn_program *prog;
size_t num_frames;
struct drgn_stack_frame frames[];
};
/** @} */
#endif /* DRGN_STACK_TRACE_H */