1#ifndef PERL_MALLOC_CTL_H_ 2# define PERL_MALLOC_CTL_H_ 3 4struct 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}; 15typedef struct perl_mstats perl_mstats_t; 16 17PERL_CALLCONV Malloc_t Perl_malloc (MEM_SIZE nbytes); 18PERL_CALLCONV Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size); 19PERL_CALLCONV Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes); 20/* 'mfree' rather than 'free', since there is already a 'perl_free' 21 * that causes clashes with case-insensitive linkers */ 22PERL_CALLCONV Free_t Perl_mfree (Malloc_t where); 23 24#ifndef NO_MALLOC_DYNAMIC_CFG 25 26/* IV configuration data */ 27enum { 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}; 49/* char* configuration data */ 50enum { 51 MallocCfgP_emergency_buffer, 52 MallocCfgP_emergency_buffer_prepared, 53 MallocCfgP_last 54}; 55START_EXTERN_C 56extern IV *MallocCfg_ptr; 57extern char **MallocCfgP_ptr; 58END_EXTERN_C 59 60#endif 61 62#endif 63