#ifndef _RAR_TYPES_ #define _RAR_TYPES_ #include <stdint.h> byte; // Unsigned 8 bits. ushort; // Preferably 16 bits, but can be more. uint; // Preferably 32 bits, likely can be more. uint32; // 32 bits exactly. int32; // Signed 32 bits exactly. uint64; // 64 bits exactly. int64; // Signed 64 bits exactly. wchar; // Unicode character // Get lowest 16 bits. #define GET_SHORT16(x) … // Make 64 bit integer from two 32 bit. #define INT32TO64(high,low) … // Maximum int64 value. #define MAX_INT64 … // Special int64 value, large enough to never be found in real life // and small enough to fit to both signed and unsigned 64-bit ints. // We use it in situations, when we need to indicate that parameter // is not defined and probably should be calculated inside of function. // Lower part is intentionally 0x7fffffff, not 0xffffffff, to make it // compatible with 32 bit int64 if 64 bit type is not supported. #define INT64NDF … #endif