1 //! This module corresponds to `mach/_structs.h`.
2 
3 use mem;
4 use message::mach_msg_type_number_t;
5 
6 #[repr(C)]
7 #[derive(Copy, Clone, Debug, Default, Hash, PartialOrd, PartialEq, Eq, Ord)]
8 pub struct x86_thread_state64_t {
9     pub __rax: u64,
10     pub __rbx: u64,
11     pub __rcx: u64,
12     pub __rdx: u64,
13     pub __rdi: u64,
14     pub __rsi: u64,
15     pub __rbp: u64,
16     pub __rsp: u64,
17     pub __r8: u64,
18     pub __r9: u64,
19     pub __r10: u64,
20     pub __r11: u64,
21     pub __r12: u64,
22     pub __r13: u64,
23     pub __r14: u64,
24     pub __r15: u64,
25     pub __rip: u64,
26     pub __rflags: u64,
27     pub __cs: u64,
28     pub __fs: u64,
29     pub __gs: u64,
30 }
31 
32 impl x86_thread_state64_t {
new() -> Self33     pub fn new() -> Self {
34         Self {
35             __rax: 0,
36             __rbx: 0,
37             __rcx: 0,
38             __rdx: 0,
39             __rdi: 0,
40             __rsi: 0,
41             __rbp: 0,
42             __rsp: 0,
43             __r8: 0,
44             __r9: 0,
45             __r10: 0,
46             __r11: 0,
47             __r12: 0,
48             __r13: 0,
49             __r14: 0,
50             __r15: 0,
51             __rip: 0,
52             __rflags: 0,
53             __cs: 0,
54             __fs: 0,
55             __gs: 0,
56         }
57     }
58 
count() -> mach_msg_type_number_t59     pub fn count() -> mach_msg_type_number_t {
60         (mem::size_of::<Self>() / mem::size_of::<::libc::c_int>()) as mach_msg_type_number_t
61     }
62 }
63