1/* 7zTypes.h */
2
3#ifndef __C_TYPES_H
4#define __C_TYPES_H
5
6#ifndef _7ZIP_BYTE_DEFINED
7#define _7ZIP_BYTE_DEFINED
8typedef unsigned char Byte;
9#endif
10
11#ifndef _7ZIP_UINT16_DEFINED
12#define _7ZIP_UINT16_DEFINED
13typedef unsigned short UInt16;
14#endif
15
16#ifndef _7ZIP_UINT32_DEFINED
17#define _7ZIP_UINT32_DEFINED
18#ifdef _LZMA_UINT32_IS_ULONG
19typedef unsigned long UInt32;
20#else
21typedef unsigned int UInt32;
22#endif
23#endif
24
25#ifndef _7ZIP_INT32_DEFINED
26#define _7ZIP_INT32_DEFINED
27#ifdef _LZMA_INT32_IS_ULONG
28typedef long Int32;
29#else
30typedef int Int32;
31#endif
32#endif
33
34/* #define _SZ_NO_INT_64 */
35/* define it your compiler doesn't support long long int */
36
37#ifndef _7ZIP_UINT64_DEFINED
38#define _7ZIP_UINT64_DEFINED
39#ifdef _SZ_NO_INT_64
40typedef unsigned long UInt64;
41#else
42#if defined(_MSC_VER) || defined(__BORLANDC__)
43typedef unsigned __int64 UInt64;
44#else
45typedef unsigned long long int UInt64;
46#endif
47#endif
48#endif
49
50
51/* #define _SZ_FILE_SIZE_32 */
52/* You can define _SZ_FILE_SIZE_32, if you don't need support for files larger than 4 GB*/
53
54#ifndef CFileSize
55#ifdef _SZ_FILE_SIZE_32
56typedef UInt32 CFileSize;
57#else
58typedef UInt64 CFileSize;
59#endif
60#endif
61
62#define SZ_RESULT int
63
64typedef int HRes;
65#define RES_OK (0)
66
67#define SZ_OK (0)
68#define SZE_DATA_ERROR (1)
69#define SZE_CRC_ERROR (3)
70#define SZE_ARCHIVE_ERROR (6)
71
72#define SZE_OUTOFMEMORY (0x8007000EL)
73#define SZE_NOTIMPL (0x80004001L)
74#define SZE_FAIL (0x80004005L)
75#define SZE_INVALIDARG (0x80070057L)
76
77
78#ifndef RINOK
79#define RINOK(x) { HRes __result_ = (x); if(__result_ != 0) return __result_; }
80#endif
81
82typedef int Bool;
83#define True 1
84#define False 0
85
86#ifdef _MSC_VER
87#define StdCall __stdcall
88#else
89#define StdCall
90#endif
91
92#if _MSC_VER >= 1300
93#define MY_FAST_CALL __declspec(noinline) __fastcall
94#elif defined( _MSC_VER)
95#define MY_FAST_CALL __fastcall
96#else
97#define MY_FAST_CALL
98#endif
99
100#endif
101