QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
7z.h File Reference
#include "7zTypes.h"
Include dependency graph for 7z.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CSzData
struct  CSzCoderInfo
struct  CSzBond
struct  CSzFolder
struct  CNtfsFileTime
struct  CSzBitUi32s
struct  CSzBitUi64s
struct  CSzAr
struct  CSzArEx

Macros

#define k7zStartHeaderSize   0x20
#define k7zSignatureSize   6
#define SZ_NUM_CODERS_IN_FOLDER_MAX   4
#define SZ_NUM_BONDS_IN_FOLDER_MAX   3
#define SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX   4
#define SzBitArray_Check(p, i)
#define SzBitWithVals_Check(p, i)
#define SzArEx_IsDir(p, i)
#define SzArEx_GetFileSize(p, i)

Functions

SRes SzGetNextFolderItem (CSzFolder *f, CSzData *sd)
UInt64 SzAr_GetFolderUnpackSize (const CSzAr *p, UInt32 folderIndex)
SRes SzAr_DecodeFolder (const CSzAr *p, UInt32 folderIndex, ILookInStreamPtr stream, UInt64 startPos, Byte *outBuffer, size_t outSize, ISzAllocPtr allocMain)
void SzArEx_Init (CSzArEx *p)
void SzArEx_Free (CSzArEx *p, ISzAllocPtr alloc)
UInt64 SzArEx_GetFolderStreamPos (const CSzArEx *p, UInt32 folderIndex, UInt32 indexInFolder)
int SzArEx_GetFolderFullPackSize (const CSzArEx *p, UInt32 folderIndex, UInt64 *resSize)
size_t SzArEx_GetFileNameUtf16 (const CSzArEx *p, size_t fileIndex, UInt16 *dest)
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)
SRes SzArEx_Open (CSzArEx *p, ILookInStreamPtr inStream, ISzAllocPtr allocMain, ISzAllocPtr allocTemp)

Variables

const Byte k7zSignature [k7zSignatureSize]

Macro Definition Documentation

◆ k7zSignatureSize

#define k7zSignatureSize   6

◆ k7zStartHeaderSize

#define k7zStartHeaderSize   0x20

◆ SZ_NUM_BONDS_IN_FOLDER_MAX

#define SZ_NUM_BONDS_IN_FOLDER_MAX   3

◆ SZ_NUM_CODERS_IN_FOLDER_MAX

#define SZ_NUM_CODERS_IN_FOLDER_MAX   4

◆ SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX

#define SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX   4

◆ SzArEx_GetFileSize

#define SzArEx_GetFileSize ( p,
i )
Value:
((p)->UnpackPositions[(i) + 1] - (p)->UnpackPositions[i])

◆ SzArEx_IsDir

#define SzArEx_IsDir ( p,
i )
Value:
(SzBitArray_Check((p)->IsDirs, i))
#define SzBitArray_Check(p, i)
Definition 7z.h:75

◆ SzBitArray_Check

#define SzBitArray_Check ( p,
i )
Value:
(((p)[(i) >> 3] & (0x80 >> ((i) & 7))) != 0)

◆ SzBitWithVals_Check

#define SzBitWithVals_Check ( p,
i )
Value:
((p)->Defs && ((p)->Defs[(i) >> 3] & (0x80 >> ((i) & 7))) != 0)

Function Documentation

◆ SzAr_DecodeFolder()

SRes SzAr_DecodeFolder ( const CSzAr * p,
UInt32 folderIndex,
ILookInStreamPtr stream,
UInt64 startPos,
Byte * outBuffer,
size_t outSize,
ISzAllocPtr allocMain )

◆ SzAr_GetFolderUnpackSize()

UInt64 SzAr_GetFolderUnpackSize ( const CSzAr * p,
UInt32 folderIndex )

◆ SzArEx_Extract()

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 )
Here is the caller graph for this function:

◆ SzArEx_Free()

void SzArEx_Free ( CSzArEx * p,
ISzAllocPtr alloc )
Here is the caller graph for this function:

◆ SzArEx_GetFileNameUtf16()

size_t SzArEx_GetFileNameUtf16 ( const CSzArEx * p,
size_t fileIndex,
UInt16 * dest )
Here is the caller graph for this function:

◆ SzArEx_GetFolderFullPackSize()

int SzArEx_GetFolderFullPackSize ( const CSzArEx * p,
UInt32 folderIndex,
UInt64 * resSize )

◆ SzArEx_GetFolderStreamPos()

UInt64 SzArEx_GetFolderStreamPos ( const CSzArEx * p,
UInt32 folderIndex,
UInt32 indexInFolder )

◆ SzArEx_Init()

void SzArEx_Init ( CSzArEx * p)
Here is the caller graph for this function:

◆ SzArEx_Open()

SRes SzArEx_Open ( CSzArEx * p,
ILookInStreamPtr inStream,
ISzAllocPtr allocMain,
ISzAllocPtr allocTemp )
Here is the caller graph for this function:

◆ SzGetNextFolderItem()

SRes SzGetNextFolderItem ( CSzFolder * f,
CSzData * sd )

Variable Documentation

◆ k7zSignature

const Byte k7zSignature[k7zSignatureSize]
extern