28#ifndef INCLUDED_TYPES_FCI_FDI
29#define INCLUDED_TYPES_FCI_FDI 1
50#define CB_MAX_CHUNK 32768U
51#define CB_MAX_DISK 0x7fffffffL
52#define CB_MAX_FILENAME 256
53#define CB_MAX_CABINET_NAME 256
54#define CB_MAX_CAB_PATH 256
55#define CB_MAX_DISK_NAME 256
61#define tcompMASK_TYPE 0x000F
62#define tcompTYPE_NONE 0x0000
63#define tcompTYPE_MSZIP 0x0001
64#define tcompTYPE_QUANTUM 0x0002
65#define tcompTYPE_LZX 0x0003
66#define tcompBAD 0x000F
68#define tcompMASK_LZX_WINDOW 0x1F00
69#define tcompLZX_WINDOW_LO 0x0F00
70#define tcompLZX_WINDOW_HI 0x1500
71#define tcompSHIFT_LZX_WINDOW 8
73#define tcompMASK_QUANTUM_LEVEL 0x00F0
74#define tcompQUANTUM_LEVEL_LO 0x0010
75#define tcompQUANTUM_LEVEL_HI 0x0070
76#define tcompSHIFT_QUANTUM_LEVEL 4
78#define tcompMASK_QUANTUM_MEM 0x1F00
79#define tcompQUANTUM_MEM_LO 0x0A00
80#define tcompQUANTUM_MEM_HI 0x1500
81#define tcompSHIFT_QUANTUM_MEM 8
83#define tcompMASK_RESERVED 0xE000
87#define CompressionTypeFromTCOMP(tc) \
88 ((tc) & tcompMASK_TYPE)
90#define CompressionLevelFromTCOMP(tc) \
91 (((tc) & tcompMASK_QUANTUM_LEVEL) >> tcompSHIFT_QUANTUM_LEVEL)
93#define CompressionMemoryFromTCOMP(tc) \
94 (((tc) & tcompMASK_QUANTUM_MEM) >> tcompSHIFT_QUANTUM_MEM)
96#define TCOMPfromTypeLevelMemory(t, l, m) \
97 (((m) << tcompSHIFT_QUANTUM_MEM ) | \
98 ((l) << tcompSHIFT_QUANTUM_LEVEL) | \
101#define LZXCompressionWindowFromTCOMP(tc) \
102 (((tc) & tcompMASK_LZX_WINDOW) >> tcompSHIFT_LZX_WINDOW)
104#define TCOMPfromLZXWindow(w) \
105 (((w) << tcompSHIFT_LZX_WINDOW) | \
131#ifndef _A_NAME_IS_UTF
132#define _A_NAME_IS_UTF 0x80
203#define FNALLOC(fn) void * __cdecl fn(ULONG cb)
206#define FNFREE(fn) void __cdecl fn(void *pv)
209#define FNOPEN(fn) INT_PTR __cdecl fn(char *pszFile, int oflag, int pmode)
212#define FNREAD(fn) UINT __cdecl fn(INT_PTR hf, void *pv, UINT cb)
215#define FNWRITE(fn) UINT __cdecl fn(INT_PTR hf, void *pv, UINT cb)
218#define FNCLOSE(fn) int __cdecl fn(INT_PTR hf)
221#define FNSEEK(fn) LONG __cdecl fn(INT_PTR hf, LONG dist, int seektype)
224#define FNFDIDECRYPT(fn) int __cdecl fn(PFDIDECRYPT pfdid)
257#define FNFDINOTIFY(fn) INT_PTR __cdecl fn(FDINOTIFICATIONTYPE fdint, \
258 PFDINOTIFICATION pfdin)
269#define cpuUNKNOWN (-1)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
struct FDICABINETINFO * PFDICABINETINFO
@ FDIERROR_CORRUPT_CABINET
@ FDIERROR_RESERVE_MISMATCH
@ FDIERROR_BAD_COMPR_TYPE
@ FDIERROR_UNKNOWN_CABINET_VERSION
@ FDIERROR_CABINET_NOT_FOUND
BOOL __cdecl FDICopy(HFDI, char *, char *, int, PFNFDINOTIFY, PFNFDIDECRYPT, void *pvUser)
struct FDINOTIFICATION * PFDINOTIFICATION
UINT(__cdecl * PFNWRITE)(INT_PTR hf, void *pv, UINT cb)
BOOL __cdecl FDIIsCabinet(HFDI, INT_PTR, PFDICABINETINFO)
int(__cdecl * PFNCLOSE)(INT_PTR hf)
BOOL __cdecl FDITruncateCabinet(HFDI, char *, USHORT)
struct FDIDECRYPT * PFDIDECRYPT
INT_PTR(__cdecl * PFNFDINOTIFY)(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin)
BOOL __cdecl FDIDestroy(HFDI)
HFDI __cdecl FDICreate(PFNALLOC, PFNFREE, PFNOPEN, PFNREAD, PFNWRITE, PFNCLOSE, PFNSEEK, int, PERF)
UINT(__cdecl * PFNREAD)(INT_PTR hf, void *pv, UINT cb)
void(__cdecl * PFNFREE)(void *pv)
void *(__cdecl * PFNALLOC)(ULONG cb)
INT_PTR(__cdecl * PFNOPEN)(char *pszFile, int oflag, int pmode)
LONG(__cdecl * PFNSEEK)(INT_PTR hf, LONG dist, int seektype)
struct FDISPILLFILE * PFDISPILLFILE
int(__cdecl * PFNFDIDECRYPT)(PFDIDECRYPT pfdid)
static HMODULE MODULEINFO DWORD cb