Commit | Line | Data |
---|---|---|
22f7c9c9 JH |
1 | #ifndef MALLOC_CTL_H |
2 | # define MALLOC_CTL_H | |
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 | ||
17 | START_EXTERN_C | |
18 | Malloc_t Perl_malloc (MEM_SIZE nbytes); | |
19 | Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size); | |
20 | Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes); | |
21 | /* 'mfree' rather than 'free', since there is already a 'perl_free' | |
22 | * that causes clashes with case-insensitive linkers */ | |
23 | Free_t Perl_mfree (Malloc_t where); | |
24 | END_EXTERN_C | |
25 | ||
26 | #ifndef NO_MALLOC_DYNAMIC_CFG | |
27 | ||
6af660ee | 28 | /* IV configuration data */ |
22f7c9c9 JH |
29 | enum { |
30 | MallocCfg_FIRST_SBRK, | |
31 | MallocCfg_MIN_SBRK, | |
32 | MallocCfg_MIN_SBRK_FRAC1000, | |
33 | MallocCfg_SBRK_ALLOW_FAILURES, | |
34 | MallocCfg_SBRK_FAILURE_PRICE, | |
35 | MallocCfg_sbrk_goodness, | |
36 | ||
37 | MallocCfg_filldead, | |
38 | MallocCfg_fillalive, | |
39 | MallocCfg_fillcheck, | |
40 | ||
41 | MallocCfg_skip_cfg_env, | |
42 | MallocCfg_cfg_env_read, | |
43 | ||
44 | MallocCfg_emergency_buffer_size, | |
45 | MallocCfg_emergency_buffer_last_req, | |
46 | ||
47 | MallocCfg_emergency_buffer_prepared_size, | |
48 | ||
49 | MallocCfg_last | |
50 | }; | |
6af660ee IZ |
51 | /* char* configuration data */ |
52 | enum { | |
53 | MallocCfgP_emergency_buffer, | |
54 | MallocCfgP_emergency_buffer_prepared, | |
55 | MallocCfgP_last | |
56 | }; | |
a7433df8 | 57 | START_EXTERN_C |
22f7c9c9 | 58 | extern IV *MallocCfg_ptr; |
6af660ee | 59 | extern char **MallocCfgP_ptr; |
a7433df8 | 60 | END_EXTERN_C |
22f7c9c9 JH |
61 | |
62 | #endif | |
63 | ||
64 | #endif |