"Fossies" - the Fresh Open Source Software Archive 
Member "unrar/rartypes.hpp" (4 May 2022, 1278 Bytes) of package /linux/misc/unrarsrc-6.1.7.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "rartypes.hpp" see the
Fossies "Dox" file reference documentation.
1 #ifndef _RAR_TYPES_
2 #define _RAR_TYPES_
3
4 #include <stdint.h>
5
6 typedef uint8_t byte; // Unsigned 8 bits.
7 typedef uint16_t ushort; // Preferably 16 bits, but can be more.
8 typedef unsigned int uint; // 32 bits or more.
9 typedef uint32_t uint32; // 32 bits exactly.
10 typedef int32_t int32; // Signed 32 bits exactly.
11 typedef uint64_t uint64; // 64 bits exactly.
12 typedef int64_t int64; // Signed 64 bits exactly.
13 typedef wchar_t wchar; // Unicode character
14
15 // Get lowest 16 bits.
16 #define GET_SHORT16(x) (sizeof(ushort)==2 ? (ushort)(x):((x)&0xffff))
17
18 // Make 64 bit integer from two 32 bit.
19 #define INT32TO64(high,low) ((((uint64)(high))<<32)+((uint64)low))
20
21 // Maximum int64 value.
22 #define MAX_INT64 int64(INT32TO64(0x7fffffff,0xffffffff))
23
24 // Special int64 value, large enough to never be found in real life
25 // and small enough to fit to both signed and unsigned 64-bit ints.
26 // We use it in situations, when we need to indicate that parameter
27 // is not defined and probably should be calculated inside of function.
28 // Lower part is intentionally 0x7fffffff, not 0xffffffff, to make it
29 // compatible with 32 bit int64 if 64 bit type is not supported.
30 #define INT64NDF INT32TO64(0x7fffffff,0x7fffffff)
31
32 #endif