xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/malloc_ctl.h (revision 0:68f95e015346)
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 
28 /* IV configuration data */
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 };
51 /* char* configuration data */
52 enum {
53   MallocCfgP_emergency_buffer,
54   MallocCfgP_emergency_buffer_prepared,
55   MallocCfgP_last
56 };
57 START_EXTERN_C
58 extern IV *MallocCfg_ptr;
59 extern char **MallocCfgP_ptr;
60 END_EXTERN_C
61 
62 #endif
63 
64 #endif
65