30#ifndef INCLUDED_TYPES_FCI_FDI
31#define INCLUDED_TYPES_FCI_FDI 1
52#define CB_MAX_CHUNK 32768U
53#define CB_MAX_DISK 0x7fffffffL
54#define CB_MAX_FILENAME 256
55#define CB_MAX_CABINET_NAME 256
56#define CB_MAX_CAB_PATH 256
57#define CB_MAX_DISK_NAME 256
63#define tcompMASK_TYPE 0x000F
64#define tcompTYPE_NONE 0x0000
65#define tcompTYPE_MSZIP 0x0001
66#define tcompTYPE_QUANTUM 0x0002
67#define tcompTYPE_LZX 0x0003
68#define tcompBAD 0x000F
70#define tcompMASK_LZX_WINDOW 0x1F00
71#define tcompLZX_WINDOW_LO 0x0F00
72#define tcompLZX_WINDOW_HI 0x1500
73#define tcompSHIFT_LZX_WINDOW 8
75#define tcompMASK_QUANTUM_LEVEL 0x00F0
76#define tcompQUANTUM_LEVEL_LO 0x0010
77#define tcompQUANTUM_LEVEL_HI 0x0070
78#define tcompSHIFT_QUANTUM_LEVEL 4
80#define tcompMASK_QUANTUM_MEM 0x1F00
81#define tcompQUANTUM_MEM_LO 0x0A00
82#define tcompQUANTUM_MEM_HI 0x1500
83#define tcompSHIFT_QUANTUM_MEM 8
85#define tcompMASK_RESERVED 0xE000
89#define CompressionTypeFromTCOMP(tc) \
90 ((tc) & tcompMASK_TYPE)
92#define CompressionLevelFromTCOMP(tc) \
93 (((tc) & tcompMASK_QUANTUM_LEVEL) >> tcompSHIFT_QUANTUM_LEVEL)
95#define CompressionMemoryFromTCOMP(tc) \
96 (((tc) & tcompMASK_QUANTUM_MEM) >> tcompSHIFT_QUANTUM_MEM)
98#define TCOMPfromTypeLevelMemory(t, l, m) \
99 (((m) << tcompSHIFT_QUANTUM_MEM ) | \
100 ((l) << tcompSHIFT_QUANTUM_LEVEL) | \
103#define LZXCompressionWindowFromTCOMP(tc) \
104 (((tc) & tcompMASK_LZX_WINDOW) >> tcompSHIFT_LZX_WINDOW)
106#define TCOMPfromLZXWindow(w) \
107 (((w) << tcompSHIFT_LZX_WINDOW) | \
130#ifndef _A_NAME_IS_UTF
131#define _A_NAME_IS_UTF 0x80
153#ifndef REMOVE_CHICAGO_M6_HACK
167#define FNFCIALLOC(fn) void * __cdecl fn(ULONG cb)
170#define FNFCIFREE(fn) void __cdecl fn(void *memory)
173#define FNFCIOPEN(fn) INT_PTR __cdecl fn(char *pszFile, int oflag, int pmode, int *err, void *pv)
176#define FNFCIREAD(fn) UINT __cdecl fn(INT_PTR hf, void *memory, UINT cb, int *err, void *pv)
179#define FNFCIWRITE(fn) UINT __cdecl fn(INT_PTR hf, void *memory, UINT cb, int *err, void *pv)
182#define FNFCICLOSE(fn) int __cdecl fn(INT_PTR hf, int *err, void *pv)
185#define FNFCISEEK(fn) LONG __cdecl fn(INT_PTR hf, LONG dist, int seektype, int *err, void *pv)
188#define FNFCIDELETE(fn) int __cdecl fn(char *pszFile, int *err, void *pv)
191#define FNFCIGETNEXTCABINET(fn) BOOL __cdecl fn(PCCAB pccab, \
200#define FNFCIFILEPLACED(fn) int __cdecl fn(PCCAB pccab, \
203 BOOL fContinuation, \
212#define FNFCIGETOPENINFO(fn) INT_PTR __cdecl fn(char *pszName, \
220#define statusFolder 1
221#define statusCabinet 2
227#define FNFCISTATUS(fn) LONG __cdecl fn(UINT typeStatus, \
235#define FNFCIGETTEMPFILE(fn) BOOL __cdecl fn(char *pszTempName, \
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
#define CB_MAX_CABINET_NAME
LONG(__cdecl * PFNFCISEEK)(INT_PTR hf, LONG dist, int seektype, int *err, void *pv)
INT_PTR(__cdecl * PFNFCIOPEN)(char *pszFile, int oflag, int pmode, int *err, void *pv)
UINT(__cdecl * PFNFCIWRITE)(INT_PTR hf, void *memory, UINT cb, int *err, void *pv)
int(__cdecl * PFNFCIDELETE)(char *pszFile, int *err, void *pv)
UINT(__cdecl * PFNFCIREAD)(INT_PTR hf, void *memory, UINT cb, int *err, void *pv)
BOOL(__cdecl * PFNFCIGETTEMPFILE)(char *pszTempName, int cbTempName, void *pv)
LONG(__cdecl * PFNFCISTATUS)(UINT typeStatus, ULONG cb1, ULONG cb2, void *pv)
void(__cdecl * PFNFCIFREE)(void *memory)
int(__cdecl * PFNFCIFILEPLACED)(PCCAB pccab, char *pszFile, LONG cbFile, BOOL fContinuation, void *pv)
BOOL __cdecl FCIFlushFolder(HFCI, PFNFCIGETNEXTCABINET, PFNFCISTATUS)
int(__cdecl * PFNFCICLOSE)(INT_PTR hf, int *err, void *pv)
INT_PTR(__cdecl * PFNFCIGETOPENINFO)(char *pszName, USHORT *pdate, USHORT *ptime, USHORT *pattribs, int *err, void *pv)
BOOL __cdecl FCIDestroy(HFCI hfci)
void *__cdecl __WINE_ALLOC_SIZE(1) *PFNFCIALLOC)(ULONG cb)
HFCI __cdecl FCICreate(PERF, PFNFCIFILEPLACED, PFNFCIALLOC, PFNFCIFREE, PFNFCIOPEN, PFNFCIREAD, PFNFCIWRITE, PFNFCICLOSE, PFNFCISEEK, PFNFCIDELETE, PFNFCIGETTEMPFILE, PCCAB, void *)
BOOL __cdecl FCIFlushCabinet(HFCI, BOOL, PFNFCIGETNEXTCABINET, PFNFCISTATUS)
BOOL __cdecl FCIAddFile(HFCI, char *, char *, BOOL, PFNFCIGETNEXTCABINET, PFNFCISTATUS, PFNFCIGETOPENINFO, TCOMP)
BOOL(__cdecl * PFNFCIGETNEXTCABINET)(PCCAB pccab, ULONG cbPrevCab, void *pv)
static HMODULE MODULEINFO DWORD cb
static char memory[1024 *256]
int fFailOnIncompressible