]> git.proxmox.com Git - cargo.git/blob - vendor/libc/src/unix/bsd/apple/b64/x86_64/mod.rs
New upstream version 0.63.1
[cargo.git] / vendor / libc / src / unix / bsd / apple / b64 / x86_64 / mod.rs
1 pub type boolean_t = ::c_uint;
2 pub type mcontext_t = *mut __darwin_mcontext64;
3
4 s! {
5 pub struct ucontext_t {
6 pub uc_onstack: ::c_int,
7 pub uc_sigmask: ::sigset_t,
8 pub uc_stack: ::stack_t,
9 pub uc_link: *mut ::ucontext_t,
10 pub uc_mcsize: usize,
11 pub uc_mcontext: mcontext_t,
12 }
13
14 pub struct __darwin_mcontext64 {
15 pub __es: __darwin_x86_exception_state64,
16 pub __ss: __darwin_x86_thread_state64,
17 pub __fs: __darwin_x86_float_state64,
18 }
19
20 pub struct __darwin_x86_exception_state64 {
21 pub __trapno: u16,
22 pub __cpu: u16,
23 pub __err: u32,
24 pub __faultvaddr: u64,
25 }
26
27 pub struct __darwin_x86_thread_state64 {
28 pub __rax: u64,
29 pub __rbx: u64,
30 pub __rcx: u64,
31 pub __rdx: u64,
32 pub __rdi: u64,
33 pub __rsi: u64,
34 pub __rbp: u64,
35 pub __rsp: u64,
36 pub __r8: u64,
37 pub __r9: u64,
38 pub __r10: u64,
39 pub __r11: u64,
40 pub __r12: u64,
41 pub __r13: u64,
42 pub __r14: u64,
43 pub __r15: u64,
44 pub __rip: u64,
45 pub __rflags: u64,
46 pub __cs: u64,
47 pub __fs: u64,
48 pub __gs: u64,
49 }
50
51 pub struct __darwin_x86_float_state64 {
52 pub __fpu_reserved: [::c_int; 2],
53 __fpu_fcw: ::c_short,
54 __fpu_fsw: ::c_short,
55 pub __fpu_ftw: u8,
56 pub __fpu_rsrv1: u8,
57 pub __fpu_fop: u16,
58 pub __fpu_ip: u32,
59 pub __fpu_cs: u16,
60 pub __fpu_rsrv2: u16,
61 pub __fpu_dp: u32,
62 pub __fpu_ds: u16,
63 pub __fpu_rsrv3: u16,
64 pub __fpu_mxcsr: u32,
65 pub __fpu_mxcsrmask: u32,
66 pub __fpu_stmm0: __darwin_mmst_reg,
67 pub __fpu_stmm1: __darwin_mmst_reg,
68 pub __fpu_stmm2: __darwin_mmst_reg,
69 pub __fpu_stmm3: __darwin_mmst_reg,
70 pub __fpu_stmm4: __darwin_mmst_reg,
71 pub __fpu_stmm5: __darwin_mmst_reg,
72 pub __fpu_stmm6: __darwin_mmst_reg,
73 pub __fpu_stmm7: __darwin_mmst_reg,
74 pub __fpu_xmm0: __darwin_xmm_reg,
75 pub __fpu_xmm1: __darwin_xmm_reg,
76 pub __fpu_xmm2: __darwin_xmm_reg,
77 pub __fpu_xmm3: __darwin_xmm_reg,
78 pub __fpu_xmm4: __darwin_xmm_reg,
79 pub __fpu_xmm5: __darwin_xmm_reg,
80 pub __fpu_xmm6: __darwin_xmm_reg,
81 pub __fpu_xmm7: __darwin_xmm_reg,
82 pub __fpu_xmm8: __darwin_xmm_reg,
83 pub __fpu_xmm9: __darwin_xmm_reg,
84 pub __fpu_xmm10: __darwin_xmm_reg,
85 pub __fpu_xmm11: __darwin_xmm_reg,
86 pub __fpu_xmm12: __darwin_xmm_reg,
87 pub __fpu_xmm13: __darwin_xmm_reg,
88 pub __fpu_xmm14: __darwin_xmm_reg,
89 pub __fpu_xmm15: __darwin_xmm_reg,
90 // this field is actually [u8; 96], but defining it with a bigger type
91 // allows us to auto-implement traits for it since the length of the
92 // array is less than 32
93 __fpu_rsrv4: [u32; 24],
94 pub __fpu_reserved1: ::c_int,
95 }
96
97 pub struct __darwin_mmst_reg {
98 pub __mmst_reg: [::c_char; 10],
99 pub __mmst_rsrv: [::c_char; 6],
100 }
101
102 pub struct __darwin_xmm_reg {
103 pub __xmm_reg: [::c_char; 16],
104 }
105
106 pub struct malloc_introspection_t {
107 _private: [::uintptr_t; 16], // FIXME: keeping private for now
108 }
109
110 pub struct malloc_zone_t {
111 _reserved1: *mut ::c_void,
112 _reserved2: *mut ::c_void,
113 pub size: ::Option<unsafe extern "C" fn(
114 zone: *mut malloc_zone_t,
115 ptr: *const ::c_void,
116 ) -> ::size_t>,
117 pub malloc: ::Option<unsafe extern "C" fn(
118 zone: *mut malloc_zone_t,
119 size: ::size_t,
120 ) -> *mut ::c_void>,
121 pub calloc: ::Option<unsafe extern "C" fn(
122 zone: *mut malloc_zone_t,
123 num_items: ::size_t,
124 size: ::size_t,
125 ) -> *mut ::c_void>,
126 pub valloc: ::Option<unsafe extern "C" fn(
127 zone: *mut malloc_zone_t,
128 size: ::size_t
129 ) -> *mut ::c_void>,
130 pub free: ::Option<unsafe extern "C" fn(
131 zone: *mut malloc_zone_t,
132 ptr: *mut ::c_void
133 )>,
134 pub realloc: ::Option<unsafe extern "C" fn(
135 zone: *mut malloc_zone_t,
136 ptr: *mut ::c_void,
137 size: ::size_t,
138 ) -> *mut ::c_void>,
139 pub destroy: ::Option<unsafe extern "C" fn(zone: *mut malloc_zone_t)>,
140 pub zone_name: *const ::c_char,
141 pub batch_malloc: ::Option<unsafe extern "C" fn(
142 zone: *mut malloc_zone_t,
143 size: ::size_t,
144 results: *mut *mut ::c_void,
145 num_requested: ::c_uint,
146 ) -> ::c_uint>,
147 pub batch_free: ::Option<unsafe extern "C" fn(
148 zone: *mut malloc_zone_t,
149 to_be_freed: *mut *mut ::c_void,
150 num_to_be_freed: ::c_uint,
151 )>,
152 pub introspect: *mut malloc_introspection_t,
153 pub version: ::c_uint,
154 pub memalign: ::Option<unsafe extern "C" fn(
155 zone: *mut malloc_zone_t,
156 alignment: ::size_t,
157 size: ::size_t,
158 ) -> *mut ::c_void>,
159 pub free_definite_size: ::Option<unsafe extern "C" fn(
160 zone: *mut malloc_zone_t,
161 ptr: *mut ::c_void,
162 size: ::size_t
163 )>,
164 pub pressure_relief: ::Option<unsafe extern "C" fn(
165 zone: *mut malloc_zone_t,
166 goal: ::size_t,
167 ) -> ::size_t>,
168 pub claimed_address: ::Option<unsafe extern "C" fn(
169 zone: *mut malloc_zone_t,
170 ptr: *mut ::c_void,
171 ) -> ::boolean_t>,
172 }
173 }
174
175 cfg_if! {
176 if #[cfg(libc_align)] {
177 mod align;
178 pub use self::align::*;
179 }
180 }