11#define k7zStartHeaderSize 0x20
12#define k7zSignatureSize 6
38#define SZ_NUM_CODERS_IN_FOLDER_MAX 4
39#define SZ_NUM_BONDS_IN_FOLDER_MAX 3
40#define SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX 4
75#define SzBitArray_Check(p, i) (((p)[(i) >> 3] & (0x80 >> ((i) & 7))) != 0)
77#define SzBitWithVals_Check(p, i) ((p)->Defs && ((p)->Defs[(i) >> 3] & (0x80 >> ((i) & 7))) != 0)
87 size_t *FoCodersOffsets;
88 UInt32 *FoStartPackStreamIndex;
89 UInt32 *FoToCoderUnpackSizes;
90 Byte *FoToMainUnpackSizeIndex;
101 ILookInStreamPtr stream,
UInt64 startPos,
102 Byte *outBuffer,
size_t outSize,
109 UInt64 startPosAfterHeader;
127 size_t *FileNameOffsets;
131#define SzArEx_IsDir(p, i) (SzBitArray_Check((p)->IsDirs, i))
133#define SzArEx_GetFileSize(p, i) ((p)->UnpackPositions[(i) + 1] - (p)->UnpackPositions[i])
177 ILookInStreamPtr inStream,
181 size_t *outBufferSize,
183 size_t *outSizeProcessed,
SRes SzArEx_Extract(const CSzArEx *db, ILookInStreamPtr inStream, UInt32 fileIndex, UInt32 *blockIndex, Byte **outBuffer, size_t *outBufferSize, size_t *offset, size_t *outSizeProcessed, ISzAllocPtr allocMain, ISzAllocPtr allocTemp)
Definition 7zArcIn.c:1650
#define SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX
Definition 7z.h:40
SRes SzGetNextFolderItem(CSzFolder *f, CSzData *sd)
Definition 7zArcIn.c:444
void SzArEx_Free(CSzArEx *p, ISzAllocPtr alloc)
Definition 7zArcIn.c:153
size_t SzArEx_GetFileNameUtf16(const CSzArEx *p, size_t fileIndex, UInt16 *dest)
Definition 7zArcIn.c:1727
UInt64 SzAr_GetFolderUnpackSize(const CSzAr *p, UInt32 folderIndex)
Definition 7zArcIn.c:855
const Byte k7zSignature[k7zSignatureSize]
Definition 7zArcIn.c:60
#define k7zSignatureSize
Definition 7z.h:12
UInt64 SzArEx_GetFolderStreamPos(const CSzArEx *p, UInt32 folderIndex, UInt32 indexInFolder)
int SzArEx_GetFolderFullPackSize(const CSzArEx *p, UInt32 folderIndex, UInt64 *resSize)
SRes SzArEx_Open(CSzArEx *p, ILookInStreamPtr inStream, ISzAllocPtr allocMain, ISzAllocPtr allocTemp)
Definition 7zArcIn.c:1640
#define SZ_NUM_BONDS_IN_FOLDER_MAX
Definition 7z.h:39
#define SZ_NUM_CODERS_IN_FOLDER_MAX
Definition 7z.h:38
SRes SzAr_DecodeFolder(const CSzAr *p, UInt32 folderIndex, ILookInStreamPtr stream, UInt64 startPos, Byte *outBuffer, size_t outSize, ISzAllocPtr allocMain)
Definition 7zDec.c:631
void SzArEx_Init(CSzArEx *p)
Definition 7zArcIn.c:130
#define EXTERN_C_BEGIN
Definition 7zTypes.h:20
unsigned long long int UInt64
Definition 7zTypes.h:234
int SRes
Definition 7zTypes.h:45
#define EXTERN_C_END
Definition 7zTypes.h:21
char * dest
Definition lz4.h:806
unsigned int UInt32
Definition bzlib_private.h:45
unsigned short UInt16
Definition bzlib_private.h:47
unsigned char Byte
Definition zconf.h:391
#define f(i)
Definition sha256.c:46