Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/unwind/src/libunwind_ext.h
12346 views
1
//===------------------------ libunwind_ext.h -----------------------------===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is dual licensed under the MIT and the University of Illinois Open
6
// Source Licenses. See LICENSE.TXT for details.
7
//
8
//
9
// Extensions to libunwind API.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef __LIBUNWIND_EXT__
14
#define __LIBUNWIND_EXT__
15
16
#include "config.h"
17
#include <libunwind.h>
18
#include <unwind.h>
19
20
#define UNW_STEP_SUCCESS 1
21
#define UNW_STEP_END 0
22
23
#ifdef __cplusplus
24
extern "C" {
25
#endif
26
// SPI
27
extern void unw_iterate_dwarf_unwind_cache(void (*func)(unw_word_t ip_start,
28
unw_word_t ip_end,
29
unw_word_t fde,
30
unw_word_t mh));
31
32
// IPI
33
extern void _unw_add_dynamic_fde(unw_word_t fde);
34
extern void _unw_remove_dynamic_fde(unw_word_t fde);
35
36
#if defined(_LIBUNWIND_ARM_EHABI)
37
extern const uint32_t* decode_eht_entry(const uint32_t*, size_t*, size_t*);
38
extern _Unwind_Reason_Code _Unwind_VRS_Interpret(_Unwind_Context *context,
39
const uint32_t *data,
40
size_t offset, size_t len);
41
#endif
42
43
#ifdef __cplusplus
44
}
45
#endif
46
47
#endif // __LIBUNWIND_EXT__
48
49