#ifndef _RAR_DEFS_ #define _RAR_DEFS_ #define Min(x,y) … #define Max(x,y) … // Universal replacement of abs function. #define Abs(x) … #define ASIZE(x) … // MAXPASSWORD and MAXPASSWORD_RAR are expected to be multiple of // CRYPTPROTECTMEMORY_BLOCK_SIZE (16) for CryptProtectMemory in SecPassword. // We allow a larger MAXPASSWORD to unpack archives with lengthy passwords // in non-RAR formats in GUI versions. For RAR format we set MAXPASSWORD_RAR // to 128 for compatibility and because it is enough for AES-256. #define MAXPASSWORD … #define MAXPASSWORD_RAR … // Set some arbitrary sensible limit to maximum path length to prevent // the excessive memory allocation for dynamically allocated strings. #define MAXPATHSIZE … #define MAXSFXSIZE … #define MAXCMTSIZE … #ifdef _WIN_32 #define DefSFXName … #else #define DefSFXName … #endif #define DefSortListName … // Maximum dictionary allowed by compression. Can be less than // maximum dictionary supported by decompression. #define PACK_MAX_DICT … // Maximum dictionary allowed by decompression. #define UNPACK_MAX_DICT … #ifndef SFX_MODULE #define USE_QOPEN #endif // Produce the value, which is equal or larger than 'v' and aligned to 'a'. #define ALIGN_VALUE(v,a) … #endif