misc/libphysfs/lzma/C/Archive/7z/7zItem.h
changeset 13881 99b265e0d1d0
parent 13880 5f819b90d479
child 13882 b172a5d40eee
equal deleted inserted replaced
13880:5f819b90d479 13881:99b265e0d1d0
     1 /* 7zItem.h */
       
     2 
       
     3 #ifndef __7Z_ITEM_H
       
     4 #define __7Z_ITEM_H
       
     5 
       
     6 #include "7zMethodID.h"
       
     7 #include "7zHeader.h"
       
     8 #include "7zBuffer.h"
       
     9 
       
    10 typedef struct _CCoderInfo
       
    11 {
       
    12   UInt32 NumInStreams;
       
    13   UInt32 NumOutStreams;
       
    14   CMethodID MethodID;
       
    15   CSzByteBuffer Properties;
       
    16 }CCoderInfo;
       
    17 
       
    18 void SzCoderInfoInit(CCoderInfo *coder);
       
    19 void SzCoderInfoFree(CCoderInfo *coder, void (*freeFunc)(void *p));
       
    20 
       
    21 typedef struct _CBindPair
       
    22 {
       
    23   UInt32 InIndex;
       
    24   UInt32 OutIndex;
       
    25 }CBindPair;
       
    26 
       
    27 typedef struct _CFolder
       
    28 {
       
    29   UInt32 NumCoders;
       
    30   CCoderInfo *Coders;
       
    31   UInt32 NumBindPairs;
       
    32   CBindPair *BindPairs;
       
    33   UInt32 NumPackStreams; 
       
    34   UInt32 *PackStreams;
       
    35   CFileSize *UnPackSizes;
       
    36   int UnPackCRCDefined;
       
    37   UInt32 UnPackCRC;
       
    38 
       
    39   UInt32 NumUnPackStreams;
       
    40 }CFolder;
       
    41 
       
    42 void SzFolderInit(CFolder *folder);
       
    43 CFileSize SzFolderGetUnPackSize(CFolder *folder);
       
    44 int SzFolderFindBindPairForInStream(CFolder *folder, UInt32 inStreamIndex);
       
    45 UInt32 SzFolderGetNumOutStreams(CFolder *folder);
       
    46 CFileSize SzFolderGetUnPackSize(CFolder *folder);
       
    47 
       
    48 typedef struct _CArchiveFileTime
       
    49 {
       
    50   UInt32 Low;
       
    51   UInt32 High;
       
    52 } CArchiveFileTime;
       
    53 
       
    54 typedef struct _CFileItem
       
    55 {
       
    56   CArchiveFileTime LastWriteTime;
       
    57   /*
       
    58   CFileSize StartPos;
       
    59   UInt32 Attributes; 
       
    60   */
       
    61   CFileSize Size;
       
    62   UInt32 FileCRC;
       
    63   char *Name;
       
    64 
       
    65   Byte IsFileCRCDefined;
       
    66   Byte HasStream;
       
    67   Byte IsDirectory;
       
    68   Byte IsAnti;
       
    69   Byte IsLastWriteTimeDefined;
       
    70   /*
       
    71   int AreAttributesDefined;
       
    72   int IsLastWriteTimeDefined;
       
    73   int IsStartPosDefined;
       
    74   */
       
    75 }CFileItem;
       
    76 
       
    77 void SzFileInit(CFileItem *fileItem);
       
    78 
       
    79 typedef struct _CArchiveDatabase
       
    80 {
       
    81   UInt32 NumPackStreams;
       
    82   CFileSize *PackSizes;
       
    83   Byte *PackCRCsDefined;
       
    84   UInt32 *PackCRCs;
       
    85   UInt32 NumFolders;
       
    86   CFolder *Folders;
       
    87   UInt32 NumFiles;
       
    88   CFileItem *Files;
       
    89 }CArchiveDatabase;
       
    90 
       
    91 void SzArchiveDatabaseInit(CArchiveDatabase *db);
       
    92 void SzArchiveDatabaseFree(CArchiveDatabase *db, void (*freeFunc)(void *));
       
    93 
       
    94 
       
    95 #endif