#ifndef MALLOC_CTL_H # define MALLOC_CTL_H struct perl_mstats { UV *nfree; UV *ntotal; IV topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain; IV total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains; IV minbucket; /* Level 1 info */ UV *bucket_mem_size; UV *bucket_available_size; UV nbuckets; }; typedef struct perl_mstats perl_mstats_t; PERL_CALLCONV Malloc_t Perl_malloc (MEM_SIZE nbytes); PERL_CALLCONV Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size); PERL_CALLCONV Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes); /* 'mfree' rather than 'free', since there is already a 'perl_free' * that causes clashes with case-insensitive linkers */ PERL_CALLCONV Free_t Perl_mfree (Malloc_t where); #ifndef NO_MALLOC_DYNAMIC_CFG /* IV configuration data */ enum { MallocCfg_FIRST_SBRK, MallocCfg_MIN_SBRK, MallocCfg_MIN_SBRK_FRAC1000, MallocCfg_SBRK_ALLOW_FAILURES, MallocCfg_SBRK_FAILURE_PRICE, MallocCfg_sbrk_goodness, MallocCfg_filldead, MallocCfg_fillalive, MallocCfg_fillcheck, MallocCfg_skip_cfg_env, MallocCfg_cfg_env_read, MallocCfg_emergency_buffer_size, MallocCfg_emergency_buffer_last_req, MallocCfg_emergency_buffer_prepared_size, MallocCfg_last }; /* char* configuration data */ enum { MallocCfgP_emergency_buffer, MallocCfgP_emergency_buffer_prepared, MallocCfgP_last }; START_EXTERN_C extern IV *MallocCfg_ptr; extern char **MallocCfgP_ptr; END_EXTERN_C #endif #endif