perl/malloc_ctl.h
Karl Williamson 6a5bc5acd0 Use new paradigm for hdr file double inclusion guard
We changed to use symbols not likely to be used by non-Perl code that
could conflict, and which have trailing underbars, so they don't look
like a regular Perl #define.

See https://rt.perl.org/Ticket/Display.html?id=131110

There are many more header files which are not guarded.
2017-06-02 12:47:18 -06:00

63 lines
1.5 KiB
C

#ifndef PERL_MALLOC_CTL_H_
# define PERL_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