1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync/* Alloc.h -- Memory allocation functions 2f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo Osaka2015-02-21 : Igor Pavlov : Public domain */ 3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#ifndef __COMMON_ALLOC_H 5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define __COMMON_ALLOC_H 6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 7f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo Osaka#include "7zTypes.h" 8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 9f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo OsakaEXTERN_C_BEGIN 10baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 11baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid *MyAlloc(size_t size); 12baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid MyFree(void *address); 13baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#ifdef _WIN32 15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 16baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid SetLargePageSize(); 17baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 18baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid *MidAlloc(size_t size); 19baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid MidFree(void *address); 20baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid *BigAlloc(size_t size); 21baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid BigFree(void *address); 22baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#else 24baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 25baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define MidAlloc(size) MyAlloc(size) 26baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define MidFree(address) MyFree(address) 27baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define BigAlloc(size) MyAlloc(size) 28baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define BigFree(address) MyFree(address) 29baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 30baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#endif 31baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 32f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo Osakaextern ISzAlloc g_Alloc; 33f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo Osakaextern ISzAlloc g_BigAlloc; 34f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo Osaka 35f955a79a9fffb09826cf7547f70d08c3798a2f50Tetsuo OsakaEXTERN_C_END 36baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 37baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#endif 38