For Delphi
Jump to navigation
Jump to search
{ Contents of file wcxhead.pas } { It contains definitions of error codes, flags and callbacks } unit wcxhead; interface const {Error codes returned to calling application} E_END_ARCHIVE= 10; {No more files in archive} E_NO_MEMORY= 11; {Not enough memory} E_BAD_DATA= 12; {Data is bad} E_BAD_ARCHIVE= 13; {CRC error in archive data} E_UNKNOWN_FORMAT= 14; {Archive format unknown} E_EOPEN= 15; {Cannot open existing file} E_ECREATE= 16; {Cannot create file} E_ECLOSE= 17; {Error closing file} E_EREAD= 18; {Error reading from file} E_EWRITE= 19; {Error writing to file} E_SMALL_BUF= 20; {Buffer too small} E_EABORTED= 21; {Function aborted by user} E_NO_FILES= 22; {No files found} E_TOO_MANY_FILES= 23; {Too many files to pack} E_NOT_SUPPORTED= 24; {Function not supported} {Unpacking flags} PK_OM_LIST= 0; PK_OM_EXTRACT= 1; {Flags for ProcessFile} PK_SKIP= 0; {Skip file (no unpacking)} PK_TEST= 1; {Test file integrity} PK_EXTRACT= 2; {Extract file to disk} {Flags passed through ChangeVolProc} PK_VOL_ASK= 0; {Ask user for location of next volume} PK_VOL_NOTIFY= 1; {Notify app that next volume will be unpacked} {Packing flags} {For PackFiles} PK_PACK_MOVE_FILES= 1; {Delete original after packing} PK_PACK_SAVE_PATHS= 2; {Save path names of files} {Returned by GetPackCaps} PK_CAPS_NEW= 1; {Can create new archives} PK_CAPS_MODIFY= 2; {Can modify exisiting archives} PK_CAPS_MULTIPLE= 4; {Archive can contain multiple files} PK_CAPS_DELETE= 8; {Can delete files} PK_CAPS_OPTIONS= 16; {Supports the options dialogbox} PK_CAPS_MEMPACK= 32; {Supports packing in memory} PK_CAPS_BY_CONTENT= 64; {Detect archive type by content} PK_CAPS_SEARCHTEXT= 128; {Allow searching for text in archives { created with this plugin} PK_CAPS_HIDE= 256; { Show as normal files (hide packer icon) } { open with Ctrl+PgDn, not Enter } {Flags for packing in memory} MEM_OPTIONS_WANTHEADERS=1; {Return archive headers with packed data} {Errors returned by PackToMem} MEMPACK_OK= 0; {Function call finished OK, but there is more data} MEMPACK_DONE= 1; {Function call finished OK, there is no more data} type {Definition of callback functions called by the DLL} {Ask to swap disk for multi-volume archive} PChangeVolProc=^TChangeVolProc; TChangeVolProc=function(ArcName:pchar;Mode:longint):longint; stdcall; {Notify that data is processed - used for progress dialog} PProcessDataProc=^TProcessDataProc; TProcessDataProc=function(FileName:pchar;Size:longint):longint; stdcall; type THeaderData=packed record ArcName:array [0..259] of char; FileName:array [0..259] of char; Flags, PackSize, UnpSize, HostOS, FileCRC, FileTime, UnpVer, Method, FileAttr:longint; CmtBuf:pchar; CmtBufSize, CmtSize, CmtState:longint; end; tOpenArchiveData=packed record ArcName:pchar; OpenMode, OpenResult:longint; CmtBuf:pchar; CmtBufSize, CmtSize, CmtState:longint; end; tPackDefaultParamStruct=record size, PluginInterfaceVersionLow, PluginInterfaceVersionHi:longint; DefaultIniName:array[0..MAX_PATH-1] of char; end; pPackDefaultParamStruct=^tPackDefaultParamStruct; implementation end.
Back to Packer plugins developer guide