NT4/private/oleauto/tools/win16/hdos/c800/include/lzexpand.h
2020-09-30 17:12:29 +02:00

96 lines
3.5 KiB
C

/*****************************************************************************\
* *
* lzexpand.h Public interfaces for LZEXPAND.DLL. *
* *
* Version 3.10 *
* *
* NOTE: windows.h must be included first if LIB is NOT #defined *
* *
* Copyright (c) 1992, Microsoft Corp. All rights reserved. *
* *
*******************************************************************************
*
* #define LIB - To be used with LZEXP?.LIB (default is for LZEXPAND.DLL)
* NOTE: Not compatible with windows.h if LIB is #defined
*
\*****************************************************************************/
#ifndef _INC_LZEXPAND
#define _INC_LZEXPAND
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
/*
* If .lib version is being used, declare types used in this file.
*/
#ifdef LIB
#define LZAPI _pascal
#ifndef WINAPI /* don't declare if they're already declared */
#define WINAPI _far _pascal
#define NEAR _near
#define FAR _far
#define PASCAL _pascal
typedef int BOOL;
#define TRUE 1
#define FALSE 0
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned int UINT;
typedef signed long LONG;
typedef unsigned long DWORD;
typedef char far* LPSTR;
typedef const char far* LPCSTR;
typedef int HFILE;
#define OFSTRUCT void /* Not used by the .lib version */
#endif /* WINAPI */
#else /* LIB */
#define LZAPI _far _pascal
/* If .dll version is being used and we're being included with
* the 3.0 windows.h, #define compatible type aliases.
* If included with the 3.0 windows.h, #define compatible aliases
*/
#ifndef _INC_WINDOWS
#define UINT WORD
#define LPCSTR LPSTR
#define HFILE int
#endif /* !_INC_WINDOWS */
#endif /* !LIB */
/****** Error return codes ***************************************************/
#define LZERROR_BADINHANDLE (-1) /* invalid input handle */
#define LZERROR_BADOUTHANDLE (-2) /* invalid output handle */
#define LZERROR_READ (-3) /* corrupt compressed file format */
#define LZERROR_WRITE (-4) /* out of space for output file */
#define LZERROR_GLOBALLOC (-5) /* insufficient memory for LZFile struct */
#define LZERROR_GLOBLOCK (-6) /* bad global handle */
#define LZERROR_BADVALUE (-7) /* input parameter out of range */
#define LZERROR_UNKNOWNALG (-8) /* compression algorithm not recognized */
/****** Public functions *****************************************************/
int LZAPI LZStart(void);
void LZAPI LZDone(void);
LONG LZAPI CopyLZFile(HFILE, HFILE);
LONG LZAPI LZCopy(HFILE, HFILE);
HFILE LZAPI LZInit(HFILE);
int LZAPI GetExpandedName(LPCSTR, LPSTR);
HFILE LZAPI LZOpenFile(LPCSTR, OFSTRUCT FAR*, UINT);
LONG LZAPI LZSeek(HFILE, LONG, int);
int LZAPI LZRead(HFILE, void FAR*, int);
void LZAPI LZClose(HFILE);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _INC_LZEXPAND */