123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- #ifndef _UNRAR_DLL_
- #define _UNRAR_DLL_
- #pragma pack(1)
- #define ERAR_END_ARCHIVE 10
- #define ERAR_NO_MEMORY 11
- #define ERAR_BAD_DATA 12
- #define ERAR_BAD_ARCHIVE 13
- #define ERAR_UNKNOWN_FORMAT 14
- #define ERAR_EOPEN 15
- #define ERAR_ECREATE 16
- #define ERAR_ECLOSE 17
- #define ERAR_EREAD 18
- #define ERAR_EWRITE 19
- #define ERAR_SMALL_BUF 20
- #define ERAR_UNKNOWN 21
- #define ERAR_MISSING_PASSWORD 22
- #define RAR_OM_LIST 0
- #define RAR_OM_EXTRACT 1
- #define RAR_OM_LIST_INCSPLIT 2
- #define RAR_SKIP 0
- #define RAR_TEST 1
- #define RAR_EXTRACT 2
- #define RAR_VOL_ASK 0
- #define RAR_VOL_NOTIFY 1
- #define RAR_DLL_VERSION 5
- #ifdef _UNIX
- #define CALLBACK
- #define PASCAL
- #define LONG long
- #define HANDLE void *
- #define LPARAM long
- #define UINT unsigned int
- #endif
- struct RARHeaderData
- {
- char ArcName[260];
- char FileName[260];
- unsigned int Flags;
- unsigned int PackSize;
- unsigned int UnpSize;
- unsigned int HostOS;
- unsigned int FileCRC;
- unsigned int FileTime;
- unsigned int UnpVer;
- unsigned int Method;
- unsigned int FileAttr;
- char *CmtBuf;
- unsigned int CmtBufSize;
- unsigned int CmtSize;
- unsigned int CmtState;
- };
- struct RARHeaderDataEx
- {
- char ArcName[1024];
- wchar_t ArcNameW[1024];
- char FileName[1024];
- wchar_t FileNameW[1024];
- unsigned int Flags;
- unsigned int PackSize;
- unsigned int PackSizeHigh;
- unsigned int UnpSize;
- unsigned int UnpSizeHigh;
- unsigned int HostOS;
- unsigned int FileCRC;
- unsigned int FileTime;
- unsigned int UnpVer;
- unsigned int Method;
- unsigned int FileAttr;
- char *CmtBuf;
- unsigned int CmtBufSize;
- unsigned int CmtSize;
- unsigned int CmtState;
- unsigned int Reserved[1024];
- };
- struct RAROpenArchiveData
- {
- char *ArcName;
- unsigned int OpenMode;
- unsigned int OpenResult;
- char *CmtBuf;
- unsigned int CmtBufSize;
- unsigned int CmtSize;
- unsigned int CmtState;
- };
- typedef int (CALLBACK *UNRARCALLBACK)(UINT msg,LPARAM UserData,LPARAM P1,LPARAM P2);
- struct RAROpenArchiveDataEx
- {
- char *ArcName;
- wchar_t *ArcNameW;
- unsigned int OpenMode;
- unsigned int OpenResult;
- char *CmtBuf;
- unsigned int CmtBufSize;
- unsigned int CmtSize;
- unsigned int CmtState;
- unsigned int Flags;
- UNRARCALLBACK Callback;
- LPARAM UserData;
- unsigned int Reserved[28];
- };
- enum UNRARCALLBACK_MESSAGES {
- UCM_CHANGEVOLUME,UCM_PROCESSDATA,UCM_NEEDPASSWORD
- };
- typedef int (PASCAL *CHANGEVOLPROC)(char *ArcName,int Mode);
- typedef int (PASCAL *PROCESSDATAPROC)(unsigned char *Addr,int Size);
- #ifdef __cplusplus
- extern "C" {
- #endif
- HANDLE PASCAL RAROpenArchive(struct RAROpenArchiveData *ArchiveData);
- HANDLE PASCAL RAROpenArchiveEx(struct RAROpenArchiveDataEx *ArchiveData);
- int PASCAL RARCloseArchive(HANDLE hArcData);
- int PASCAL RARReadHeader(HANDLE hArcData,struct RARHeaderData *HeaderData);
- int PASCAL RARReadHeaderEx(HANDLE hArcData,struct RARHeaderDataEx *HeaderData);
- int PASCAL RARProcessFile(HANDLE hArcData,int Operation,char *DestPath,char *DestName);
- int PASCAL RARProcessFileW(HANDLE hArcData,int Operation,wchar_t *DestPath,wchar_t *DestName);
- void PASCAL RARSetCallback(HANDLE hArcData,UNRARCALLBACK Callback,LPARAM UserData);
- void PASCAL RARSetChangeVolProc(HANDLE hArcData,CHANGEVOLPROC ChangeVolProc);
- void PASCAL RARSetProcessDataProc(HANDLE hArcData,PROCESSDATAPROC ProcessDataProc);
- void PASCAL RARSetPassword(HANDLE hArcData,char *Password);
- int PASCAL RARGetDllVersion();
- #ifdef __cplusplus
- }
- #endif
- #pragma pack()
- #endif
|