Commit | Line | Data |
---|---|---|
6a5bc5ac KW |
1 | #ifndef PERL_MALLOC_CTL_H_ |
2 | # define PERL_MALLOC_CTL_H_ | |
22f7c9c9 JH |
3 | |
4 | struct perl_mstats { | |
5 | UV *nfree; | |
6 | UV *ntotal; | |
7 | IV topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain; | |
8 | IV total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains; | |
9 | IV minbucket; | |
10 | /* Level 1 info */ | |
11 | UV *bucket_mem_size; | |
12 | UV *bucket_available_size; | |
13 | UV nbuckets; | |
14 | }; | |
15 | typedef struct perl_mstats perl_mstats_t; | |
16 | ||
158cfab6 JD |
17 | PERL_CALLCONV Malloc_t Perl_malloc (MEM_SIZE nbytes); |
18 | PERL_CALLCONV Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size); | |
19 | PERL_CALLCONV Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes); | |
22f7c9c9 JH |
20 | /* 'mfree' rather than 'free', since there is already a 'perl_free' |
21 | * that causes clashes with case-insensitive linkers */ | |
158cfab6 | 22 | PERL_CALLCONV Free_t Perl_mfree (Malloc_t where); |
22f7c9c9 JH |
23 | |
24 | #ifndef NO_MALLOC_DYNAMIC_CFG | |
25 | ||
6af660ee | 26 | /* IV configuration data */ |
22f7c9c9 JH |
27 | enum { |
28 | MallocCfg_FIRST_SBRK, | |
29 | MallocCfg_MIN_SBRK, | |
30 | MallocCfg_MIN_SBRK_FRAC1000, | |
31 | MallocCfg_SBRK_ALLOW_FAILURES, | |
32 | MallocCfg_SBRK_FAILURE_PRICE, | |
33 | MallocCfg_sbrk_goodness, | |
34 | ||
35 | MallocCfg_filldead, | |
36 | MallocCfg_fillalive, | |
37 | MallocCfg_fillcheck, | |
38 | ||
39 | MallocCfg_skip_cfg_env, | |
40 | MallocCfg_cfg_env_read, | |
41 | ||
42 | MallocCfg_emergency_buffer_size, | |
43 | MallocCfg_emergency_buffer_last_req, | |
44 | ||
45 | MallocCfg_emergency_buffer_prepared_size, | |
46 | ||
47 | MallocCfg_last | |
48 | }; | |
6af660ee IZ |
49 | /* char* configuration data */ |
50 | enum { | |
51 | MallocCfgP_emergency_buffer, | |
52 | MallocCfgP_emergency_buffer_prepared, | |
53 | MallocCfgP_last | |
54 | }; | |
a7433df8 | 55 | START_EXTERN_C |
22f7c9c9 | 56 | extern IV *MallocCfg_ptr; |
6af660ee | 57 | extern char **MallocCfgP_ptr; |
a7433df8 | 58 | END_EXTERN_C |
22f7c9c9 JH |
59 | |
60 | #endif | |
61 | ||
62 | #endif |