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_HAVE_EXTRA(header, flag)    (((header)->extra_flags & (flag)) != 0)
 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.