Lhasa: lha_file_header.h File Reference

Lhasa

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs
lha_file_header.h File Reference

LHA file header structure. More...

## Data Structures
struct | _LHAFileHeader
| Structure containing a decoded LZH file header. More...

## Macros
#define | LHA_OS_TYPE_UNKNOWN 0x00
| OS type value for an unknown OS.
#define | LHA_OS_TYPE_MSDOS 'M'
| OS type value for Microsoft MS/DOS.
#define | LHA_OS_TYPE_WIN95 'w'
| OS type value for Microsoft Windows 95.
#define | LHA_OS_TYPE_WINNT 'W'
| OS type value for Microsoft Windows NT.
#define | LHA_OS_TYPE_UNIX 'U'
| OS type value for Unix.
#define | LHA_OS_TYPE_OS2 '2'
| OS type value for IBM OS/2.
#define | LHA_OS_TYPE_MACOS 'm'
| OS type for Apple Mac OS (Classic).
#define | LHA_OS_TYPE_AMIGA 'A'
| OS type for Amiga OS.
#define | LHA_OS_TYPE_ATARI 'a'
| OS type for Atari TOS.
#define | LHA_OS_TYPE_JAVA 'J'
| OS type for Sun (Oracle) Java.
#define | LHA_OS_TYPE_CPM 'C'
| OS type for Digital Research CP/M.
#define | LHA_OS_TYPE_FLEX 'F'
| OS type for Digital Research FlexOS.
#define | LHA_OS_TYPE_RUNSER 'R'
| OS type for Runser (?).
#define | LHA_OS_TYPE_TOWNSOS 'T'
| OS type for Fujitsu FM Towns OS.
#define | LHA_OS_TYPE_OS9 '9'
| OS type for Microware OS-9.
#define | LHA_OS_TYPE_OS9_68K 'K'
| OS type for Microware OS-9/68k.
#define | LHA_OS_TYPE_OS386 '3'
| OS type for OS/386 (?).
#define | LHA_OS_TYPE_HUMAN68K 'H'
| OS type for Sharp X68000 Human68K OS.
#define | LHA_OS_TYPE_LHARK ' '
| "OS type" that is used by the LHARK tool and does not indicate an OS as such, except that LHARK only runs under DOS.
#define | LHA_COMPRESS_TYPE_DIR "-lhd-"
| Compression type for a stored directory.
#define | LHA_FILE_UNIX_PERMS 0x01
| Bit field value set in extra_flags to indicate that the Unix file permission header (0x50) was parsed.
#define | LHA_FILE_UNIX_UID_GID 0x02
| Bit field value set in extra_flags to indicate that the Unix UID/GID header (0x51) was parsed.
#define | LHA_FILE_COMMON_CRC 0x04
| Bit field value set in extra_flags to indicate that the 'common header' extended header (0x00) was parsed, and the common_crc field has been set.
#define | LHA_FILE_WINDOWS_TIMESTAMPS 0x08
| Bit field value set in extra_flags to indicate that the Windows time stamp header (0x41) was parsed, and the Windows FILETIME timestamp fields have been set.
#define | LHA_FILE_OS9_PERMS 0x10
| Bit field value set in extra_flags to indicate that the OS-9 permissions field is set.
#define | LHA_FILE_64BIT_SIZES 0x20
| Bit field value set in extra_flags to indicate that the extended file sizes header was present.
#define | LHA_FILE_FAKE_NAME 0x40
| Bit field value set in extra_flags to indicate that the file had an empty filename, and the value in the filename field is a fake value.
#define | LHA_FILE_HAVE_EXTRA(header, flag)
| Macro that evaluates to true if the specified flag is set in the given LHAFileHeader.

## Typedefs
typedef struct _LHAFileHeader | LHAFileHeader
| Structure containing a decoded LZH file header.

## Detailed Description

LHA file header structure.

This file contains the definition of the LHAFileHeader structure, representing a decoded file header from an LZH file.

## Macro Definition Documentation

## ◆ LHA_COMPRESS_TYPE_DIR

#define LHA_COMPRESS_TYPE_DIR "-lhd-"

Compression type for a stored directory.

The same value is also used for Unix symbolic links.

## Typedef Documentation

## ◆ LHAFileHeader

typedef struct _LHAFileHeader LHAFileHeader

Structure containing a decoded LZH file header.

A file header precedes the compressed data of each file stored within an LZH archive. It contains the name of the file, and various additional metadata, some of which is optional, and can depend on the header format, the tool used to create the archive, and the operating system on which it was created.