1use crate::*;
5use libc::c_int;
6
7pub const UNW_TDEP_IP: u32 = x86_64_regnum_t_UNW_X86_64_RIP;
9pub const UNW_TDEP_SP: u32 = x86_64_regnum_t_UNW_X86_64_RSP;
10pub const UNW_TDEP_BP: u32 = x86_64_regnum_t_UNW_X86_64_RBP;
11pub const UNW_TDEP_EH: u32 = x86_64_regnum_t_UNW_X86_64_RAX;
12
13extern "C" {
15 #[link_name = "_Ux86_64_create_addr_space"]
16 pub fn unw_create_addr_space( accessors: *mut unw_accessors_t, byteorder: c_int) -> unw_addr_space_t;
17
18 #[link_name = "_Ux86_64_destroy_addr_space"]
19 pub fn unw_destroy_addr_space(arg1: unw_addr_space_t);
20
21 #[link_name = "_Ux86_64_get_accessors"]
22 pub fn unw_get_accessors(arg1: unw_addr_space_t) -> *mut unw_accessors_t;
23
24 #[link_name = "_Ux86_64_init_local"]
25 pub fn unw_init_local(arg1: *mut unw_cursor_t,arg2: *mut unw_context_t) -> ::std::os::raw::c_int;
26
27 #[link_name = "_Ux86_64_init_remote"]
28 pub fn unw_init_remote( arg1: *mut unw_cursor_t, arg2: unw_addr_space_t, arg3: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
29
30 #[link_name = "_Ux86_64_step"]
31 pub fn unw_step(arg1: *mut unw_cursor_t) -> ::std::os::raw::c_int;
32
33 #[link_name = "_Ux86_64_resume"]
34 pub fn unw_resume(arg1: *mut unw_cursor_t) -> ::std::os::raw::c_int;
35
36 #[link_name = "_Ux86_64_get_proc_info"]
37 pub fn unw_get_proc_info(arg1: *mut unw_cursor_t, arg2: *mut unw_proc_info_t) -> ::std::os::raw::c_int;
38
39 #[link_name = "_Ux86_64_get_reg"]
40 pub fn unw_get_reg(arg1: *mut unw_cursor_t, arg2: ::std::os::raw::c_int,arg3: *mut unw_word_t) -> ::std::os::raw::c_int;
41
42 #[link_name = "_Ux86_64_set_reg"]
43 pub fn unw_set_reg(arg1: *mut unw_cursor_t,arg2: ::std::os::raw::c_int, arg3: unw_word_t) -> ::std::os::raw::c_int;
44
45 #[link_name = "_Ux86_64_get_proc_name"]
46 pub fn unw_get_proc_name(
47 arg1: *mut unw_cursor_t,
48 arg2: *mut ::std::os::raw::c_char,
49 arg3: usize,
50 arg4: *mut unw_word_t,
51 ) -> ::std::os::raw::c_int;
52
53 #[link_name = "_Ux86_64_getcontext"]
54 pub fn unw_getcontext(arg1: *mut unw_tdep_context_t) -> ::std::os::raw::c_int;
55
56 #[link_name = "_Ux86_64_strerror"]
57 pub fn unw_strerror(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
58
59 #[link_name = "_Ux86_64_flush_cache"]
60 pub fn unw_flush_cache(arg1: unw_addr_space_t, arg2: unw_word_t, arg3: unw_word_t);
61
62 #[link_name = "_Ux86_64_set_caching_policy"]
63 pub fn unw_set_caching_policy(
64 arg1: unw_addr_space_t,
65 arg2: unw_caching_policy_t,
66 ) -> ::std::os::raw::c_int;
67
68 #[link_name = "_Ux86_64_get_fpreg"]
69 pub fn unw_get_fpreg(
70 arg1: *mut unw_cursor_t,
71 arg2: ::std::os::raw::c_int,
72 arg3: *mut unw_fpreg_t,
73 ) -> ::std::os::raw::c_int;
74
75 #[link_name = "_Ux86_64_regname"]
76 pub fn unw_regname(arg1: unw_regnum_t) -> *const ::std::os::raw::c_char;
77
78 #[link_name = "_Ux86_64_get_proc_info_by_ip"]
79 pub fn unw_get_proc_info_by_ip(
80 arg1: unw_addr_space_t,
81 arg2: unw_word_t,
82 arg3: *mut unw_proc_info_t,
83 arg4: *mut ::std::os::raw::c_void,
84 ) -> ::std::os::raw::c_int;
85
86 #[link_name = "_Ux86_64_set_fpreg"]
87 pub fn unw_set_fpreg(
88 arg1: *mut unw_cursor_t,
89 arg2: ::std::os::raw::c_int,
90 arg3: unw_fpreg_t,
91 ) -> ::std::os::raw::c_int;
92
93 #[link_name = "_Ux86_64_get_save_loc"]
94 pub fn unw_get_save_loc(
95 arg1: *mut unw_cursor_t,
96 arg2: ::std::os::raw::c_int,
97 arg3: *mut unw_save_loc_t,
98 ) -> ::std::os::raw::c_int;
99
100 #[link_name = "_Ux86_64_is_signal_frame"]
101 pub fn unw_is_signal_frame(arg1: *mut unw_cursor_t) -> ::std::os::raw::c_int;
102
103 #[link_name = "_Ux86_64_handle_signal_frame"]
104 pub fn unw_handle_signal_frame(arg1: *mut unw_cursor_t) -> ::std::os::raw::c_int;
105
106 #[link_name = "_Ux86_64_is_fpreg"]
107 pub fn unw_is_fpreg(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
108}