home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 May / PCO_5_97.ISO / FilesBBS / WIN95 / WINRAR.ARJ / UnRAR.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-04  |  1.6 KB  |  63 lines

  1. #define ERAR_END_ARCHIVE     10
  2. #define ERAR_NO_MEMORY       11
  3. #define ERAR_BAD_DATA        12
  4. #define ERAR_BAD_ARCHIVE     13
  5. #define ERAR_UNKNOWN_FORMAT  14
  6. #define ERAR_EOPEN           15
  7. #define ERAR_ECREATE         16
  8. #define ERAR_ECLOSE          17
  9. #define ERAR_EREAD           18
  10. #define ERAR_EWRITE          19
  11. #define ERAR_SMALL_BUF       20
  12.  
  13. #define RAR_OM_LIST           0
  14. #define RAR_OM_EXTRACT        1
  15.  
  16. #define RAR_SKIP              0
  17. #define RAR_TEST              1
  18. #define RAR_EXTRACT           2
  19.  
  20. #define RAR_VOL_ASK           0
  21. #define RAR_VOL_NOTIFY        1
  22.  
  23. struct RARHeaderData
  24. {
  25.   char ArcName[260];
  26.   char FileName[260];
  27.   UINT Flags;
  28.   UINT PackSize;
  29.   UINT UnpSize;
  30.   UINT HostOS;
  31.   UINT FileCRC;
  32.   UINT FileTime;
  33.   UINT UnpVer;
  34.   UINT Method;
  35.   UINT FileAttr;
  36.   char *CmtBuf;
  37.   UINT CmtBufSize;
  38.   UINT CmtSize;
  39.   UINT CmtState;
  40. };
  41.  
  42.  
  43. struct RAROpenArchiveData
  44. {
  45.   char *ArcName;
  46.   UINT OpenMode;
  47.   UINT OpenResult;
  48.   char *CmtBuf;
  49.   UINT CmtBufSize;
  50.   UINT CmtSize;
  51.   UINT CmtState;
  52. };
  53.  
  54.  
  55. HANDLE PASCAL RAROpenArchive(struct RAROpenArchiveData *ArchiveData);
  56. int PASCAL RARCloseArchive(HANDLE hArcData);
  57. int PASCAL RARReadHeader(HANDLE hArcData,struct RARHeaderData *HeaderData);
  58. int PASCAL RARProcessFile(HANDLE hArcData,int Operation,char *DestPath,char *DestName);
  59. void PASCAL RARSetChangeVolProc(HANDLE hArcData,int (*ChangeVolProc)(char *ArcName,int Mode));
  60. void PASCAL RARSetProcessDataProc(HANDLE hArcData,int (*ProcessDataProc)(unsigned char *Addr,int Size));
  61. void PASCAL RARSetPassword(HANDLE hArcData,char *Password);
  62.  
  63.