mimalloc_rust_sys/
runtime_options.rs

1use cty::{c_int, c_long};
2
3pub type mi_option_t = c_int;
4
5pub const mi_option_show_errors: mi_option_t = 0;
6pub const mi_option_show_stats: mi_option_t = 1;
7pub const mi_option_verbose: mi_option_t = 2;
8// the following options are experimental
9pub const mi_option_eager_commit: mi_option_t = 3;
10pub const mi_option_eager_region_commit: mi_option_t = 4;
11pub const mi_option_reset_decommits: mi_option_t = 5;
12// implies eager commit
13pub const mi_option_large_os_pages: mi_option_t = 6;
14pub const mi_option_reserve_huge_os_pages: mi_option_t = 7;
15pub const mi_option_reserve_os_memory: mi_option_t = 8;
16pub const mi_option_segment_cache: mi_option_t = 9;
17pub const mi_option_page_reset: mi_option_t = 10;
18pub const mi_option_abandoned_page_reset: mi_option_t = 11;
19pub const mi_option_segment_reset: mi_option_t = 12;
20pub const mi_option_eager_commit_delay: mi_option_t = 13;
21pub const mi_option_reset_delay: mi_option_t = 14;
22pub const mi_option_use_numa_nodes: mi_option_t = 15;
23pub const mi_option_limit_os_alloc: mi_option_t = 16;
24pub const mi_option_os_tag: mi_option_t = 17;
25pub const mi_option_max_errors: mi_option_t = 18;
26pub const mi_option_max_warnings: mi_option_t = 19;
27
28extern "C" {
29    pub fn mi_option_disable(option: mi_option_t);
30    pub fn mi_option_enable(option: mi_option_t);
31    pub fn mi_option_get(option: mi_option_t) -> c_long;
32    pub fn mi_option_is_enabled(option: mi_option_t) -> bool;
33    pub fn mi_option_set(option: mi_option_t, value: c_long);
34    pub fn mi_option_set_default(option: mi_option_t, value: c_long);
35    pub fn mi_option_set_enabled(option: mi_option_t);
36    pub fn mi_option_set_enabled_default(option: mi_option_t);
37}