windows-nt/Source/XPSP1/NT/base/ntsetup/legacy/dll/decomp.h

104 lines
3 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*******************************************************************
***** Header for Decompression Library (condensed from API.H and RETCODES.H)
********************************************************************/
/*** API.H: Extern procs for the decompression library. ***/
typedef int (far * PFNWFROMW)(int);
LONG
LcbCopyFile(
HANDLE fhSrc,
HANDLE fhDest,
PFNWFROMW pfn,
INT cProgTicks
);
LONG
LcbDecompFile(
HANDLE fhSrc,
HANDLE fhDest,
PFNWFROMW pfn,
INT cProgTicks
);
//
// Diamond routines.
//
BOOL
InitDiamond(
VOID
);
VOID
TermDiamond(
VOID
);
BOOL
IsDiamondFile(
IN PSTR FileName
);
LONG
DecompDiamondFile(
PSTR SourceFileName,
HANDLE TargetFileHandle,
PFNWFROMW ProgressCallback,
INT NumberOfTicks
);
/* global variables for file header info before writing or after reading */
extern SHORT vwAlgType;
extern LONG vlcbSrcLength;
extern BOOL vfChecksum;
extern USHORT vusChecksum;
extern USHORT vcbArgs;
extern BYTE * vrgbArgs;
extern CHAR vszBaseName[9];
extern CHAR vszExtension[4];
extern SZ vszText;
extern USHORT vcbText;
/*** RETCODES.H: Return Codes for compression module for Setup Toolkit. ***/
/* error codes - quick check is anything less than rcNoError */
#define rcNoError 0 /* no errors */
#define rcNoHeader (-1) /* no header (eg no magic value) */
#define rcUnknownAlgType (-2) /* wAlgType doesn't match knowns */
#define rcBadHeader (-3) /* header too short or bad value */
#define rcFilenamesTooLong (-4) /* filenames bigger than 8.3 */
#define rcReadError (-5) /* reading error with fhSrc */
#define rcReadSeekError (-6) /* seeking error with fhSrc */
#define rcWriteError (-7) /* writing error with fhDest */
#define rcWriteSeekError (-8) /* seeking error with fhDest */
#define rcDestPatchError (-9) /* patching error with fhDest */
#define rcCompChecksumBad (-10) /* compressed checksums mismatch */
#define rcDecompChecksumBad (-11) /* decompressed checksums mismatch */
#define rcCompLengthBad (-12) /* compressed length mismatch */
#define rcDecompLengthBad (-13) /* decompressed length mismatch */
#define rcGenericCompError (-14) /* internal compression error */
#define rcGenericDecompError (-15) /* internal decompression error */
#define rcSplitSizeTooSmall (-16) /* split size too small for header */
#define rcOutOfMemory (-17) /* unable to alloc a buffer */
#define rcDiskFull (-18) /* target is full */
#define rcUserQuit (-19) /* user quit during decomp */
/* each code below here has a standard header */
#define wAlgTypeNil (-1) /* no algorithm type (never found) */
#define wAlgTypeZK1 2 /* Steve Zeck compression algorithm */
#define wAlgTypeJJJ1 3 /* Jeff J. Johnson algorithm */