mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.4 KiB
71 lines
1.4 KiB
// QUANTUM.H
|
|
//
|
|
// Quantum file archiver and compressor
|
|
// Advanced data compression
|
|
//
|
|
// Copyright (c) 1993,1994 David Stafford
|
|
// All rights reserved.
|
|
|
|
#ifndef __QUANTUM
|
|
#define __QUANTUM
|
|
|
|
|
|
typedef unsigned char BYTE;
|
|
typedef unsigned short WORD;
|
|
typedef unsigned long DWORD;
|
|
typedef int BOOL;
|
|
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#define TRUE !FALSE
|
|
#endif
|
|
|
|
#define VERSION_MAJOR 0
|
|
#define VERSION_MINOR 23
|
|
|
|
#define FILES_MAX 1024 // maximum number of files in an archive
|
|
|
|
#define ARCHIVE_SIGNATURE 0x5344 // 'DS', used to identify a Quantum archive
|
|
|
|
|
|
// The archive file header
|
|
|
|
typedef struct
|
|
{
|
|
WORD Signature;
|
|
BYTE VersionMajor;
|
|
BYTE VersionMinor;
|
|
WORD NumFiles;
|
|
BYTE WindowBits;
|
|
BYTE CompFlags;
|
|
} AHEADER;
|
|
|
|
|
|
// The archive header is immediately followed by the list of files
|
|
|
|
typedef struct
|
|
{
|
|
char *Name;
|
|
char *Alias; // if not NULL, the alias name to put in a new archive
|
|
char *Comment;
|
|
DWORD Size;
|
|
WORD Time;
|
|
WORD Date;
|
|
WORD Checksum;
|
|
} AFILE;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
char *ArchiveName;
|
|
WORD NumFiles;
|
|
AFILE *Files;
|
|
BYTE VersionMajor;
|
|
BYTE VersionMinor;
|
|
BYTE WindowBits; // number of bits to address the history window
|
|
int CompressionLevel;
|
|
long SizeLimit; // limit of an archive size, for multiple volumes
|
|
} APARMS;
|
|
|
|
|
|
#endif // quantum.h
|