unrarsrc  6.1.7
About: unrar extracts, views and tests the contents of archives created with the RAR archiver.
  Fossies Dox: unrarsrc-6.1.7.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

headers.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MarkHeader
 
struct  BaseBlock
 
struct  BlockHeader
 
struct  MainHeader
 
struct  FileHeader
 
struct  EndArcHeader
 
struct  CryptHeader
 
struct  SubBlockHeader
 
struct  CommentHeader
 
struct  ProtectHeader
 
struct  UnixOwnersHeader
 
struct  EAHeader
 
struct  StreamHeader
 

Macros

#define SIZEOF_MARKHEAD3   7
 
#define SIZEOF_MAINHEAD14   7
 
#define SIZEOF_MAINHEAD3   13
 
#define SIZEOF_FILEHEAD14   21
 
#define SIZEOF_FILEHEAD3   32
 
#define SIZEOF_SHORTBLOCKHEAD   7
 
#define SIZEOF_LONGBLOCKHEAD   11
 
#define SIZEOF_SUBBLOCKHEAD   14
 
#define SIZEOF_COMMHEAD   13
 
#define SIZEOF_PROTECTHEAD   26
 
#define SIZEOF_UOHEAD   18
 
#define SIZEOF_STREAMHEAD   26
 
#define VER_PACK   29U
 
#define VER_PACK5   50U
 
#define VER_UNPACK   29U
 
#define VER_UNPACK5   50U
 
#define VER_UNKNOWN   9999U
 
#define MHD_VOLUME   0x0001U
 
#define MHD_COMMENT   0x0002U
 
#define MHD_LOCK   0x0004U
 
#define MHD_SOLID   0x0008U
 
#define MHD_PACK_COMMENT   0x0010U
 
#define MHD_NEWNUMBERING   0x0010U
 
#define MHD_AV   0x0020U
 
#define MHD_PROTECT   0x0040U
 
#define MHD_PASSWORD   0x0080U
 
#define MHD_FIRSTVOLUME   0x0100U
 
#define LHD_SPLIT_BEFORE   0x0001U
 
#define LHD_SPLIT_AFTER   0x0002U
 
#define LHD_PASSWORD   0x0004U
 
#define LHD_COMMENT   0x0008U
 
#define LHD_SOLID   0x0010U
 
#define LHD_WINDOWMASK   0x00e0U
 
#define LHD_WINDOW64   0x0000U
 
#define LHD_WINDOW128   0x0020U
 
#define LHD_WINDOW256   0x0040U
 
#define LHD_WINDOW512   0x0060U
 
#define LHD_WINDOW1024   0x0080U
 
#define LHD_WINDOW2048   0x00a0U
 
#define LHD_WINDOW4096   0x00c0U
 
#define LHD_DIRECTORY   0x00e0U
 
#define LHD_LARGE   0x0100U
 
#define LHD_UNICODE   0x0200U
 
#define LHD_SALT   0x0400U
 
#define LHD_VERSION   0x0800U
 
#define LHD_EXTTIME   0x1000U
 
#define SKIP_IF_UNKNOWN   0x4000U
 
#define LONG_BLOCK   0x8000U
 
#define EARC_NEXT_VOLUME   0x0001U
 
#define EARC_DATACRC   0x0002U
 
#define EARC_REVSPACE   0x0004U
 
#define EARC_VOLNUMBER   0x0008U
 
#define SUBHEAD_TYPE_CMT   L"CMT"
 
#define SUBHEAD_TYPE_QOPEN   L"QO"
 
#define SUBHEAD_TYPE_ACL   L"ACL"
 
#define SUBHEAD_TYPE_STREAM   L"STM"
 
#define SUBHEAD_TYPE_UOWNER   L"UOW"
 
#define SUBHEAD_TYPE_AV   L"AV"
 
#define SUBHEAD_TYPE_RR   L"RR"
 
#define SUBHEAD_TYPE_OS2EA   L"EA2"
 
#define SUBHEAD_FLAGS_INHERITED   0x80000000
 
#define SUBHEAD_FLAGS_CMT_UNICODE   0x00000001
 

Enumerations

enum  HEADER_TYPE {
  HEAD_MARK =0x00 , HEAD_MAIN =0x01 , HEAD_FILE =0x02 , HEAD_SERVICE =0x03 ,
  HEAD_CRYPT =0x04 , HEAD_ENDARC =0x05 , HEAD_UNKNOWN =0xff , HEAD3_MARK =0x72 ,
  HEAD3_MAIN =0x73 , HEAD3_FILE =0x74 , HEAD3_CMT =0x75 , HEAD3_AV =0x76 ,
  HEAD3_OLDSERVICE =0x77 , HEAD3_PROTECT =0x78 , HEAD3_SIGN =0x79 , HEAD3_SERVICE =0x7a ,
  HEAD3_ENDARC =0x7b
}
 
enum  {
  EA_HEAD =0x100 , UO_HEAD =0x101 , MAC_HEAD =0x102 , BEEA_HEAD =0x103 ,
  NTACL_HEAD =0x104 , STREAM_HEAD =0x105
}
 
enum  HOST_SYSTEM {
  HOST5_WINDOWS =0 , HOST5_UNIX =1 , HOST_MSDOS =0 , HOST_OS2 =1 ,
  HOST_WIN32 =2 , HOST_UNIX =3 , HOST_MACOS =4 , HOST_BEOS =5 ,
  HOST_MAX
}
 
enum  HOST_SYSTEM_TYPE { HSYS_WINDOWS , HSYS_UNIX , HSYS_UNKNOWN }
 
enum  FILE_SYSTEM_REDIRECT {
  FSREDIR_NONE =0 , FSREDIR_UNIXSYMLINK , FSREDIR_WINSYMLINK , FSREDIR_JUNCTION ,
  FSREDIR_HARDLINK , FSREDIR_FILECOPY
}
 

Macro Definition Documentation

◆ EARC_DATACRC

#define EARC_DATACRC   0x0002U

Definition at line 70 of file headers.hpp.

◆ EARC_NEXT_VOLUME

#define EARC_NEXT_VOLUME   0x0001U

Definition at line 69 of file headers.hpp.

◆ EARC_REVSPACE

#define EARC_REVSPACE   0x0004U

Definition at line 71 of file headers.hpp.

◆ EARC_VOLNUMBER

#define EARC_VOLNUMBER   0x0008U

Definition at line 72 of file headers.hpp.

◆ LHD_COMMENT

#define LHD_COMMENT   0x0008U

Definition at line 44 of file headers.hpp.

◆ LHD_DIRECTORY

#define LHD_DIRECTORY   0x00e0U

Definition at line 58 of file headers.hpp.

◆ LHD_EXTTIME

#define LHD_EXTTIME   0x1000U

Definition at line 64 of file headers.hpp.

◆ LHD_LARGE

#define LHD_LARGE   0x0100U

Definition at line 60 of file headers.hpp.

◆ LHD_PASSWORD

#define LHD_PASSWORD   0x0004U

Definition at line 40 of file headers.hpp.

◆ LHD_SALT

#define LHD_SALT   0x0400U

Definition at line 62 of file headers.hpp.

◆ LHD_SOLID

#define LHD_SOLID   0x0010U

Definition at line 47 of file headers.hpp.

◆ LHD_SPLIT_AFTER

#define LHD_SPLIT_AFTER   0x0002U

Definition at line 39 of file headers.hpp.

◆ LHD_SPLIT_BEFORE

#define LHD_SPLIT_BEFORE   0x0001U

Definition at line 38 of file headers.hpp.

◆ LHD_UNICODE

#define LHD_UNICODE   0x0200U

Definition at line 61 of file headers.hpp.

◆ LHD_VERSION

#define LHD_VERSION   0x0800U

Definition at line 63 of file headers.hpp.

◆ LHD_WINDOW1024

#define LHD_WINDOW1024   0x0080U

Definition at line 55 of file headers.hpp.

◆ LHD_WINDOW128

#define LHD_WINDOW128   0x0020U

Definition at line 52 of file headers.hpp.

◆ LHD_WINDOW2048

#define LHD_WINDOW2048   0x00a0U

Definition at line 56 of file headers.hpp.

◆ LHD_WINDOW256

#define LHD_WINDOW256   0x0040U

Definition at line 53 of file headers.hpp.

◆ LHD_WINDOW4096

#define LHD_WINDOW4096   0x00c0U

Definition at line 57 of file headers.hpp.

◆ LHD_WINDOW512

#define LHD_WINDOW512   0x0060U

Definition at line 54 of file headers.hpp.

◆ LHD_WINDOW64

#define LHD_WINDOW64   0x0000U

Definition at line 51 of file headers.hpp.

◆ LHD_WINDOWMASK

#define LHD_WINDOWMASK   0x00e0U

Definition at line 50 of file headers.hpp.

◆ LONG_BLOCK

#define LONG_BLOCK   0x8000U

Definition at line 67 of file headers.hpp.

◆ MHD_AV

#define MHD_AV   0x0020U

Definition at line 33 of file headers.hpp.

◆ MHD_COMMENT

#define MHD_COMMENT   0x0002U

Definition at line 27 of file headers.hpp.

◆ MHD_FIRSTVOLUME

#define MHD_FIRSTVOLUME   0x0100U

Definition at line 36 of file headers.hpp.

◆ MHD_LOCK

#define MHD_LOCK   0x0004U

Definition at line 29 of file headers.hpp.

◆ MHD_NEWNUMBERING

#define MHD_NEWNUMBERING   0x0010U

Definition at line 32 of file headers.hpp.

◆ MHD_PACK_COMMENT

#define MHD_PACK_COMMENT   0x0010U

Definition at line 31 of file headers.hpp.

◆ MHD_PASSWORD

#define MHD_PASSWORD   0x0080U

Definition at line 35 of file headers.hpp.

◆ MHD_PROTECT

#define MHD_PROTECT   0x0040U

Definition at line 34 of file headers.hpp.

◆ MHD_SOLID

#define MHD_SOLID   0x0008U

Definition at line 30 of file headers.hpp.

◆ MHD_VOLUME

#define MHD_VOLUME   0x0001U

Definition at line 23 of file headers.hpp.

◆ SIZEOF_COMMHEAD

#define SIZEOF_COMMHEAD   13

Definition at line 12 of file headers.hpp.

◆ SIZEOF_FILEHEAD14

#define SIZEOF_FILEHEAD14   21

Definition at line 7 of file headers.hpp.

◆ SIZEOF_FILEHEAD3

#define SIZEOF_FILEHEAD3   32

Definition at line 8 of file headers.hpp.

◆ SIZEOF_LONGBLOCKHEAD

#define SIZEOF_LONGBLOCKHEAD   11

Definition at line 10 of file headers.hpp.

◆ SIZEOF_MAINHEAD14

#define SIZEOF_MAINHEAD14   7

Definition at line 5 of file headers.hpp.

◆ SIZEOF_MAINHEAD3

#define SIZEOF_MAINHEAD3   13

Definition at line 6 of file headers.hpp.

◆ SIZEOF_MARKHEAD3

#define SIZEOF_MARKHEAD3   7

Definition at line 4 of file headers.hpp.

◆ SIZEOF_PROTECTHEAD

#define SIZEOF_PROTECTHEAD   26

Definition at line 13 of file headers.hpp.

◆ SIZEOF_SHORTBLOCKHEAD

#define SIZEOF_SHORTBLOCKHEAD   7

Definition at line 9 of file headers.hpp.

◆ SIZEOF_STREAMHEAD

#define SIZEOF_STREAMHEAD   26

Definition at line 15 of file headers.hpp.

◆ SIZEOF_SUBBLOCKHEAD

#define SIZEOF_SUBBLOCKHEAD   14

Definition at line 11 of file headers.hpp.

◆ SIZEOF_UOHEAD

#define SIZEOF_UOHEAD   18

Definition at line 14 of file headers.hpp.

◆ SKIP_IF_UNKNOWN

#define SKIP_IF_UNKNOWN   0x4000U

Definition at line 66 of file headers.hpp.

◆ SUBHEAD_FLAGS_CMT_UNICODE

#define SUBHEAD_FLAGS_CMT_UNICODE   0x00000001

Definition at line 126 of file headers.hpp.

◆ SUBHEAD_FLAGS_INHERITED

#define SUBHEAD_FLAGS_INHERITED   0x80000000

Definition at line 124 of file headers.hpp.

◆ SUBHEAD_TYPE_ACL

#define SUBHEAD_TYPE_ACL   L"ACL"

Definition at line 116 of file headers.hpp.

◆ SUBHEAD_TYPE_AV

#define SUBHEAD_TYPE_AV   L"AV"

Definition at line 119 of file headers.hpp.

◆ SUBHEAD_TYPE_CMT

#define SUBHEAD_TYPE_CMT   L"CMT"

Definition at line 114 of file headers.hpp.

◆ SUBHEAD_TYPE_OS2EA

#define SUBHEAD_TYPE_OS2EA   L"EA2"

Definition at line 121 of file headers.hpp.

◆ SUBHEAD_TYPE_QOPEN

#define SUBHEAD_TYPE_QOPEN   L"QO"

Definition at line 115 of file headers.hpp.

◆ SUBHEAD_TYPE_RR

#define SUBHEAD_TYPE_RR   L"RR"

Definition at line 120 of file headers.hpp.

◆ SUBHEAD_TYPE_STREAM

#define SUBHEAD_TYPE_STREAM   L"STM"

Definition at line 117 of file headers.hpp.

◆ SUBHEAD_TYPE_UOWNER

#define SUBHEAD_TYPE_UOWNER   L"UOW"

Definition at line 118 of file headers.hpp.

◆ VER_PACK

#define VER_PACK   29U

Definition at line 17 of file headers.hpp.

◆ VER_PACK5

#define VER_PACK5   50U

Definition at line 18 of file headers.hpp.

◆ VER_UNKNOWN

#define VER_UNKNOWN   9999U

Definition at line 21 of file headers.hpp.

◆ VER_UNPACK

#define VER_UNPACK   29U

Definition at line 19 of file headers.hpp.

◆ VER_UNPACK5

#define VER_UNPACK5   50U

Definition at line 20 of file headers.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EA_HEAD 
UO_HEAD 
MAC_HEAD 
BEEA_HEAD 
NTACL_HEAD 
STREAM_HEAD 

Definition at line 87 of file headers.hpp.

◆ FILE_SYSTEM_REDIRECT

Enumerator
FSREDIR_NONE 
FSREDIR_UNIXSYMLINK 
FSREDIR_WINSYMLINK 
FSREDIR_JUNCTION 
FSREDIR_HARDLINK 
FSREDIR_FILECOPY 

Definition at line 108 of file headers.hpp.

◆ HEADER_TYPE

Enumerator
HEAD_MARK 
HEAD_MAIN 
HEAD_FILE 
HEAD_SERVICE 
HEAD_CRYPT 
HEAD_ENDARC 
HEAD_UNKNOWN 
HEAD3_MARK 
HEAD3_MAIN 
HEAD3_FILE 
HEAD3_CMT 
HEAD3_AV 
HEAD3_OLDSERVICE 
HEAD3_PROTECT 
HEAD3_SIGN 
HEAD3_SERVICE 
HEAD3_ENDARC 

Definition at line 74 of file headers.hpp.

◆ HOST_SYSTEM

Enumerator
HOST5_WINDOWS 
HOST5_UNIX 
HOST_MSDOS 
HOST_OS2 
HOST_WIN32 
HOST_UNIX 
HOST_MACOS 
HOST_BEOS 
HOST_MAX 

Definition at line 92 of file headers.hpp.

◆ HOST_SYSTEM_TYPE

Enumerator
HSYS_WINDOWS 
HSYS_UNIX 
HSYS_UNKNOWN 

Definition at line 102 of file headers.hpp.