Skip to main content

libmimalloc_sys_ms/generated/
fns.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3use super::types::*;
4
5unsafe extern "C" {
6    pub fn mi_malloc(size: usize) -> *mut ::std::os::raw::c_void;
7    pub fn mi_calloc(count: usize, size: usize) -> *mut ::std::os::raw::c_void;
8    pub fn mi_realloc(
9        p: *mut ::std::os::raw::c_void,
10        newsize: usize,
11    ) -> *mut ::std::os::raw::c_void;
12    pub fn mi_expand(p: *mut ::std::os::raw::c_void, newsize: usize)
13        -> *mut ::std::os::raw::c_void;
14    pub fn mi_free(p: *mut ::std::os::raw::c_void);
15    pub fn mi_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
16    pub fn mi_strndup(s: *const ::std::os::raw::c_char, n: usize) -> *mut ::std::os::raw::c_char;
17    pub fn mi_realpath(
18        fname: *const ::std::os::raw::c_char,
19        resolved_name: *mut ::std::os::raw::c_char,
20    ) -> *mut ::std::os::raw::c_char;
21    pub fn mi_malloc_small(size: usize) -> *mut ::std::os::raw::c_void;
22    pub fn mi_zalloc_small(size: usize) -> *mut ::std::os::raw::c_void;
23    pub fn mi_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
24    pub fn mi_mallocn(count: usize, size: usize) -> *mut ::std::os::raw::c_void;
25    pub fn mi_reallocn(
26        p: *mut ::std::os::raw::c_void,
27        count: usize,
28        size: usize,
29    ) -> *mut ::std::os::raw::c_void;
30    pub fn mi_reallocf(
31        p: *mut ::std::os::raw::c_void,
32        newsize: usize,
33    ) -> *mut ::std::os::raw::c_void;
34    pub fn mi_usable_size(p: *const ::std::os::raw::c_void) -> usize;
35    pub fn mi_good_size(size: usize) -> usize;
36    pub fn mi_register_deferred_free(
37        deferred_free: mi_deferred_free_fun,
38        arg: *mut ::std::os::raw::c_void,
39    );
40    pub fn mi_register_output(out: mi_output_fun, arg: *mut ::std::os::raw::c_void);
41    pub fn mi_register_error(fun: mi_error_fun, arg: *mut ::std::os::raw::c_void);
42    pub fn mi_collect(force: bool);
43    pub fn mi_version() -> ::std::os::raw::c_int;
44    pub fn mi_stats_reset();
45    pub fn mi_stats_merge();
46    pub fn mi_stats_print(out: *mut ::std::os::raw::c_void);
47    pub fn mi_stats_print_out(out: mi_output_fun, arg: *mut ::std::os::raw::c_void);
48    pub fn mi_thread_stats_print_out(out: mi_output_fun, arg: *mut ::std::os::raw::c_void);
49    pub fn mi_options_print();
50    pub fn mi_process_info(
51        elapsed_msecs: *mut usize,
52        user_msecs: *mut usize,
53        system_msecs: *mut usize,
54        current_rss: *mut usize,
55        peak_rss: *mut usize,
56        current_commit: *mut usize,
57        peak_commit: *mut usize,
58        page_faults: *mut usize,
59    );
60    pub fn mi_process_init();
61    pub fn mi_process_done();
62    pub fn mi_thread_init();
63    pub fn mi_thread_done();
64    pub fn mi_malloc_aligned(size: usize, alignment: usize) -> *mut ::std::os::raw::c_void;
65    pub fn mi_malloc_aligned_at(
66        size: usize,
67        alignment: usize,
68        offset: usize,
69    ) -> *mut ::std::os::raw::c_void;
70    pub fn mi_zalloc_aligned(size: usize, alignment: usize) -> *mut ::std::os::raw::c_void;
71    pub fn mi_zalloc_aligned_at(
72        size: usize,
73        alignment: usize,
74        offset: usize,
75    ) -> *mut ::std::os::raw::c_void;
76    pub fn mi_calloc_aligned(
77        count: usize,
78        size: usize,
79        alignment: usize,
80    ) -> *mut ::std::os::raw::c_void;
81    pub fn mi_calloc_aligned_at(
82        count: usize,
83        size: usize,
84        alignment: usize,
85        offset: usize,
86    ) -> *mut ::std::os::raw::c_void;
87    pub fn mi_realloc_aligned(
88        p: *mut ::std::os::raw::c_void,
89        newsize: usize,
90        alignment: usize,
91    ) -> *mut ::std::os::raw::c_void;
92    pub fn mi_realloc_aligned_at(
93        p: *mut ::std::os::raw::c_void,
94        newsize: usize,
95        alignment: usize,
96        offset: usize,
97    ) -> *mut ::std::os::raw::c_void;
98    pub fn mi_umalloc(size: usize, block_size: *mut usize) -> *mut ::std::os::raw::c_void;
99    pub fn mi_ucalloc(
100        count: usize,
101        size: usize,
102        block_size: *mut usize,
103    ) -> *mut ::std::os::raw::c_void;
104    pub fn mi_urealloc(
105        p: *mut ::std::os::raw::c_void,
106        newsize: usize,
107        block_size_pre: *mut usize,
108        block_size_post: *mut usize,
109    ) -> *mut ::std::os::raw::c_void;
110    pub fn mi_ufree(p: *mut ::std::os::raw::c_void, block_size: *mut usize);
111    pub fn mi_umalloc_aligned(
112        size: usize,
113        alignment: usize,
114        block_size: *mut usize,
115    ) -> *mut ::std::os::raw::c_void;
116    pub fn mi_uzalloc_aligned(
117        size: usize,
118        alignment: usize,
119        block_size: *mut usize,
120    ) -> *mut ::std::os::raw::c_void;
121    pub fn mi_umalloc_small(size: usize, block_size: *mut usize) -> *mut ::std::os::raw::c_void;
122    pub fn mi_uzalloc_small(size: usize, block_size: *mut usize) -> *mut ::std::os::raw::c_void;
123    pub fn mi_heap_new() -> *mut mi_heap_t;
124    pub fn mi_heap_delete(heap: *mut mi_heap_t);
125    pub fn mi_heap_destroy(heap: *mut mi_heap_t);
126    pub fn mi_heap_set_default(heap: *mut mi_heap_t) -> *mut mi_heap_t;
127    pub fn mi_heap_get_default() -> *mut mi_heap_t;
128    pub fn mi_heap_get_backing() -> *mut mi_heap_t;
129    pub fn mi_heap_collect(heap: *mut mi_heap_t, force: bool);
130    pub fn mi_heap_malloc(heap: *mut mi_heap_t, size: usize) -> *mut ::std::os::raw::c_void;
131    pub fn mi_heap_zalloc(heap: *mut mi_heap_t, size: usize) -> *mut ::std::os::raw::c_void;
132    pub fn mi_heap_calloc(
133        heap: *mut mi_heap_t,
134        count: usize,
135        size: usize,
136    ) -> *mut ::std::os::raw::c_void;
137    pub fn mi_heap_mallocn(
138        heap: *mut mi_heap_t,
139        count: usize,
140        size: usize,
141    ) -> *mut ::std::os::raw::c_void;
142    pub fn mi_heap_malloc_small(heap: *mut mi_heap_t, size: usize) -> *mut ::std::os::raw::c_void;
143    pub fn mi_heap_realloc(
144        heap: *mut mi_heap_t,
145        p: *mut ::std::os::raw::c_void,
146        newsize: usize,
147    ) -> *mut ::std::os::raw::c_void;
148    pub fn mi_heap_reallocn(
149        heap: *mut mi_heap_t,
150        p: *mut ::std::os::raw::c_void,
151        count: usize,
152        size: usize,
153    ) -> *mut ::std::os::raw::c_void;
154    pub fn mi_heap_reallocf(
155        heap: *mut mi_heap_t,
156        p: *mut ::std::os::raw::c_void,
157        newsize: usize,
158    ) -> *mut ::std::os::raw::c_void;
159    pub fn mi_heap_strdup(
160        heap: *mut mi_heap_t,
161        s: *const ::std::os::raw::c_char,
162    ) -> *mut ::std::os::raw::c_char;
163    pub fn mi_heap_strndup(
164        heap: *mut mi_heap_t,
165        s: *const ::std::os::raw::c_char,
166        n: usize,
167    ) -> *mut ::std::os::raw::c_char;
168    pub fn mi_heap_realpath(
169        heap: *mut mi_heap_t,
170        fname: *const ::std::os::raw::c_char,
171        resolved_name: *mut ::std::os::raw::c_char,
172    ) -> *mut ::std::os::raw::c_char;
173    pub fn mi_heap_malloc_aligned(
174        heap: *mut mi_heap_t,
175        size: usize,
176        alignment: usize,
177    ) -> *mut ::std::os::raw::c_void;
178    pub fn mi_heap_malloc_aligned_at(
179        heap: *mut mi_heap_t,
180        size: usize,
181        alignment: usize,
182        offset: usize,
183    ) -> *mut ::std::os::raw::c_void;
184    pub fn mi_heap_zalloc_aligned(
185        heap: *mut mi_heap_t,
186        size: usize,
187        alignment: usize,
188    ) -> *mut ::std::os::raw::c_void;
189    pub fn mi_heap_zalloc_aligned_at(
190        heap: *mut mi_heap_t,
191        size: usize,
192        alignment: usize,
193        offset: usize,
194    ) -> *mut ::std::os::raw::c_void;
195    pub fn mi_heap_calloc_aligned(
196        heap: *mut mi_heap_t,
197        count: usize,
198        size: usize,
199        alignment: usize,
200    ) -> *mut ::std::os::raw::c_void;
201    pub fn mi_heap_calloc_aligned_at(
202        heap: *mut mi_heap_t,
203        count: usize,
204        size: usize,
205        alignment: usize,
206        offset: usize,
207    ) -> *mut ::std::os::raw::c_void;
208    pub fn mi_heap_realloc_aligned(
209        heap: *mut mi_heap_t,
210        p: *mut ::std::os::raw::c_void,
211        newsize: usize,
212        alignment: usize,
213    ) -> *mut ::std::os::raw::c_void;
214    pub fn mi_heap_realloc_aligned_at(
215        heap: *mut mi_heap_t,
216        p: *mut ::std::os::raw::c_void,
217        newsize: usize,
218        alignment: usize,
219        offset: usize,
220    ) -> *mut ::std::os::raw::c_void;
221    pub fn mi_rezalloc(
222        p: *mut ::std::os::raw::c_void,
223        newsize: usize,
224    ) -> *mut ::std::os::raw::c_void;
225    pub fn mi_recalloc(
226        p: *mut ::std::os::raw::c_void,
227        newcount: usize,
228        size: usize,
229    ) -> *mut ::std::os::raw::c_void;
230    pub fn mi_rezalloc_aligned(
231        p: *mut ::std::os::raw::c_void,
232        newsize: usize,
233        alignment: usize,
234    ) -> *mut ::std::os::raw::c_void;
235    pub fn mi_rezalloc_aligned_at(
236        p: *mut ::std::os::raw::c_void,
237        newsize: usize,
238        alignment: usize,
239        offset: usize,
240    ) -> *mut ::std::os::raw::c_void;
241    pub fn mi_recalloc_aligned(
242        p: *mut ::std::os::raw::c_void,
243        newcount: usize,
244        size: usize,
245        alignment: usize,
246    ) -> *mut ::std::os::raw::c_void;
247    pub fn mi_recalloc_aligned_at(
248        p: *mut ::std::os::raw::c_void,
249        newcount: usize,
250        size: usize,
251        alignment: usize,
252        offset: usize,
253    ) -> *mut ::std::os::raw::c_void;
254    pub fn mi_heap_rezalloc(
255        heap: *mut mi_heap_t,
256        p: *mut ::std::os::raw::c_void,
257        newsize: usize,
258    ) -> *mut ::std::os::raw::c_void;
259    pub fn mi_heap_recalloc(
260        heap: *mut mi_heap_t,
261        p: *mut ::std::os::raw::c_void,
262        newcount: usize,
263        size: usize,
264    ) -> *mut ::std::os::raw::c_void;
265    pub fn mi_heap_rezalloc_aligned(
266        heap: *mut mi_heap_t,
267        p: *mut ::std::os::raw::c_void,
268        newsize: usize,
269        alignment: usize,
270    ) -> *mut ::std::os::raw::c_void;
271    pub fn mi_heap_rezalloc_aligned_at(
272        heap: *mut mi_heap_t,
273        p: *mut ::std::os::raw::c_void,
274        newsize: usize,
275        alignment: usize,
276        offset: usize,
277    ) -> *mut ::std::os::raw::c_void;
278    pub fn mi_heap_recalloc_aligned(
279        heap: *mut mi_heap_t,
280        p: *mut ::std::os::raw::c_void,
281        newcount: usize,
282        size: usize,
283        alignment: usize,
284    ) -> *mut ::std::os::raw::c_void;
285    pub fn mi_heap_recalloc_aligned_at(
286        heap: *mut mi_heap_t,
287        p: *mut ::std::os::raw::c_void,
288        newcount: usize,
289        size: usize,
290        alignment: usize,
291        offset: usize,
292    ) -> *mut ::std::os::raw::c_void;
293    pub fn mi_heap_contains_block(heap: *mut mi_heap_t, p: *const ::std::os::raw::c_void) -> bool;
294    pub fn mi_heap_check_owned(heap: *mut mi_heap_t, p: *const ::std::os::raw::c_void) -> bool;
295    pub fn mi_check_owned(p: *const ::std::os::raw::c_void) -> bool;
296    pub fn mi_heap_visit_blocks(
297        heap: *const mi_heap_t,
298        visit_blocks: bool,
299        visitor: mi_block_visit_fun,
300        arg: *mut ::std::os::raw::c_void,
301    ) -> bool;
302    pub fn mi_is_in_heap_region(p: *const ::std::os::raw::c_void) -> bool;
303    pub fn mi_is_redirected() -> bool;
304    pub fn mi_reserve_huge_os_pages_interleave(
305        pages: usize,
306        numa_nodes: usize,
307        timeout_msecs: usize,
308    ) -> ::std::os::raw::c_int;
309    pub fn mi_reserve_huge_os_pages_at(
310        pages: usize,
311        numa_node: ::std::os::raw::c_int,
312        timeout_msecs: usize,
313    ) -> ::std::os::raw::c_int;
314    pub fn mi_reserve_os_memory(
315        size: usize,
316        commit: bool,
317        allow_large: bool,
318    ) -> ::std::os::raw::c_int;
319    pub fn mi_manage_os_memory(
320        start: *mut ::std::os::raw::c_void,
321        size: usize,
322        is_committed: bool,
323        is_large: bool,
324        is_zero: bool,
325        numa_node: ::std::os::raw::c_int,
326    ) -> bool;
327    pub fn mi_debug_show_arenas();
328    pub fn mi_arenas_print();
329    pub fn mi_arena_area(arena_id: mi_arena_id_t, size: *mut usize) -> *mut ::std::os::raw::c_void;
330    pub fn mi_reserve_huge_os_pages_at_ex(
331        pages: usize,
332        numa_node: ::std::os::raw::c_int,
333        timeout_msecs: usize,
334        exclusive: bool,
335        arena_id: *mut mi_arena_id_t,
336    ) -> ::std::os::raw::c_int;
337    pub fn mi_reserve_os_memory_ex(
338        size: usize,
339        commit: bool,
340        allow_large: bool,
341        exclusive: bool,
342        arena_id: *mut mi_arena_id_t,
343    ) -> ::std::os::raw::c_int;
344    pub fn mi_manage_os_memory_ex(
345        start: *mut ::std::os::raw::c_void,
346        size: usize,
347        is_committed: bool,
348        is_large: bool,
349        is_zero: bool,
350        numa_node: ::std::os::raw::c_int,
351        exclusive: bool,
352        arena_id: *mut mi_arena_id_t,
353    ) -> bool;
354    pub fn mi_heap_new_in_arena(arena_id: mi_arena_id_t) -> *mut mi_heap_t;
355    pub fn mi_subproc_main() -> mi_subproc_id_t;
356    pub fn mi_subproc_new() -> mi_subproc_id_t;
357    pub fn mi_subproc_delete(subproc: mi_subproc_id_t);
358    pub fn mi_subproc_add_current_thread(subproc: mi_subproc_id_t);
359    pub fn mi_abandoned_visit_blocks(
360        subproc_id: mi_subproc_id_t,
361        heap_tag: ::std::os::raw::c_int,
362        visit_blocks: bool,
363        visitor: mi_block_visit_fun,
364        arg: *mut ::std::os::raw::c_void,
365    ) -> bool;
366    pub fn mi_heap_guarded_set_sample_rate(heap: *mut mi_heap_t, sample_rate: usize, seed: usize);
367    pub fn mi_heap_guarded_set_size_bound(heap: *mut mi_heap_t, min: usize, max: usize);
368    pub fn mi_thread_set_in_threadpool();
369    pub fn mi_heap_new_ex(
370        heap_tag: ::std::os::raw::c_int,
371        allow_destroy: bool,
372        arena_id: mi_arena_id_t,
373    ) -> *mut mi_heap_t;
374    pub fn mi_reserve_huge_os_pages(
375        pages: usize,
376        max_secs: f64,
377        pages_reserved: *mut usize,
378    ) -> ::std::os::raw::c_int;
379    pub fn mi_collect_reduce(target_thread_owned: usize);
380    pub fn mi_option_is_enabled(option: mi_option_t) -> bool;
381    pub fn mi_option_enable(option: mi_option_t);
382    pub fn mi_option_disable(option: mi_option_t);
383    pub fn mi_option_set_enabled(option: mi_option_t, enable: bool);
384    pub fn mi_option_set_enabled_default(option: mi_option_t, enable: bool);
385    pub fn mi_option_get(option: mi_option_t) -> ::std::os::raw::c_long;
386    pub fn mi_option_get_clamp(
387        option: mi_option_t,
388        min: ::std::os::raw::c_long,
389        max: ::std::os::raw::c_long,
390    ) -> ::std::os::raw::c_long;
391    pub fn mi_option_get_size(option: mi_option_t) -> usize;
392    pub fn mi_option_set(option: mi_option_t, value: ::std::os::raw::c_long);
393    pub fn mi_option_set_default(option: mi_option_t, value: ::std::os::raw::c_long);
394    pub fn mi_cfree(p: *mut ::std::os::raw::c_void);
395    pub fn mi__expand(
396        p: *mut ::std::os::raw::c_void,
397        newsize: usize,
398    ) -> *mut ::std::os::raw::c_void;
399    pub fn mi_malloc_size(p: *const ::std::os::raw::c_void) -> usize;
400    pub fn mi_malloc_good_size(size: usize) -> usize;
401    pub fn mi_malloc_usable_size(p: *const ::std::os::raw::c_void) -> usize;
402    pub fn mi_posix_memalign(
403        p: *mut *mut ::std::os::raw::c_void,
404        alignment: usize,
405        size: usize,
406    ) -> ::std::os::raw::c_int;
407    pub fn mi_memalign(alignment: usize, size: usize) -> *mut ::std::os::raw::c_void;
408    pub fn mi_valloc(size: usize) -> *mut ::std::os::raw::c_void;
409    pub fn mi_pvalloc(size: usize) -> *mut ::std::os::raw::c_void;
410    pub fn mi_aligned_alloc(alignment: usize, size: usize) -> *mut ::std::os::raw::c_void;
411    pub fn mi_reallocarray(
412        p: *mut ::std::os::raw::c_void,
413        count: usize,
414        size: usize,
415    ) -> *mut ::std::os::raw::c_void;
416    pub fn mi_reallocarr(
417        p: *mut ::std::os::raw::c_void,
418        count: usize,
419        size: usize,
420    ) -> ::std::os::raw::c_int;
421    pub fn mi_aligned_recalloc(
422        p: *mut ::std::os::raw::c_void,
423        newcount: usize,
424        size: usize,
425        alignment: usize,
426    ) -> *mut ::std::os::raw::c_void;
427    pub fn mi_aligned_offset_recalloc(
428        p: *mut ::std::os::raw::c_void,
429        newcount: usize,
430        size: usize,
431        alignment: usize,
432        offset: usize,
433    ) -> *mut ::std::os::raw::c_void;
434    pub fn mi_wcsdup(s: *const ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
435    pub fn mi_mbsdup(s: *const ::std::os::raw::c_uchar) -> *mut ::std::os::raw::c_uchar;
436    pub fn mi_dupenv_s(
437        buf: *mut *mut ::std::os::raw::c_char,
438        size: *mut usize,
439        name: *const ::std::os::raw::c_char,
440    ) -> ::std::os::raw::c_int;
441    pub fn mi_wdupenv_s(
442        buf: *mut *mut ::std::os::raw::c_ushort,
443        size: *mut usize,
444        name: *const ::std::os::raw::c_ushort,
445    ) -> ::std::os::raw::c_int;
446    pub fn mi_free_size(p: *mut ::std::os::raw::c_void, size: usize);
447    pub fn mi_free_size_aligned(p: *mut ::std::os::raw::c_void, size: usize, alignment: usize);
448    pub fn mi_free_aligned(p: *mut ::std::os::raw::c_void, alignment: usize);
449    pub fn mi_new(size: usize) -> *mut ::std::os::raw::c_void;
450    pub fn mi_new_aligned(size: usize, alignment: usize) -> *mut ::std::os::raw::c_void;
451    pub fn mi_new_nothrow(size: usize) -> *mut ::std::os::raw::c_void;
452    pub fn mi_new_aligned_nothrow(size: usize, alignment: usize) -> *mut ::std::os::raw::c_void;
453    pub fn mi_new_n(count: usize, size: usize) -> *mut ::std::os::raw::c_void;
454    pub fn mi_new_realloc(
455        p: *mut ::std::os::raw::c_void,
456        newsize: usize,
457    ) -> *mut ::std::os::raw::c_void;
458    pub fn mi_new_reallocn(
459        p: *mut ::std::os::raw::c_void,
460        newcount: usize,
461        size: usize,
462    ) -> *mut ::std::os::raw::c_void;
463    pub fn mi_heap_alloc_new(heap: *mut mi_heap_t, size: usize) -> *mut ::std::os::raw::c_void;
464    pub fn mi_heap_alloc_new_n(
465        heap: *mut mi_heap_t,
466        count: usize,
467        size: usize,
468    ) -> *mut ::std::os::raw::c_void;
469}