5 ** $VER: xpk/xpksub.h 4.10 (05.04.97) by SDI
7 ** (C) Copyright 1991-1996 by
8 ** Urban Dominik Mueller, Bryan Ford,
9 ** Christian Schneider, Christian von Roques,
11 ** All Rights Reserved
18 /**************************************************************************
20 * The XpkInfo structure
24 /* Sublibs return this structure to xpkmaster when asked nicely
25 * This is version 1 of XpkInfo. It's not #define'd because we don't want
26 * it changing automatically with recompiles - you've got to actually update
27 * your code when it changes. */
29 UWORD xi_XpkInfoVersion
; /* Version number of this structure */
30 UWORD xi_LibVersion
; /* The version of this sublibrary */
31 UWORD xi_MasterVersion
; /* The required master lib version */
32 UWORD xi_ModesVersion
; /* Version number of mode descriptors */
33 STRPTR xi_Name
; /* Brief name of the packer, 20 char max */
34 STRPTR xi_LongName
; /* Full name of the packer 30 char max */
35 STRPTR xi_Description
; /* Short packer desc., 70 char max */
36 ULONG xi_ID
; /* ID the packer goes by (XPK format) */
37 ULONG xi_Flags
; /* Defined below */
38 ULONG xi_MaxPkInChunk
; /* Max input chunk size for packing */
39 ULONG xi_MinPkInChunk
; /* Min input chunk size for packing */
40 ULONG xi_DefPkInChunk
; /* Default packing chunk size */
41 STRPTR xi_PackMsg
; /* Packing message, present tense */
42 STRPTR xi_UnpackMsg
; /* Unpacking message, present tense */
43 STRPTR xi_PackedMsg
; /* Packing message, past tense */
44 STRPTR xi_UnpackedMsg
; /* Unpacking message, past tense */
45 UWORD xi_DefMode
; /* Default mode number */
46 UWORD xi_Pad
; /* for future use */
47 struct XpkMode
*xi_ModeDesc
; /* List of individual descriptors */
48 ULONG xi_Reserved
[6] ; /* Future expansion - set to zero */
51 /* defines for Flags: see xpk.h, XPKIF_xxxxx */
53 /**************************************************************************
55 * The XpkSubParams structure
60 APTR xsp_InBuf
; /* The input data */
61 ULONG xsp_InLen
; /* The number of bytes to pack */
62 APTR xsp_OutBuf
; /* The output buffer */
63 ULONG xsp_OutBufLen
; /* The length of the output buf */
64 ULONG xsp_OutLen
; /* Number of bytes written */
65 ULONG xsp_Flags
; /* Flags for master/sub comm. */
66 ULONG xsp_Number
; /* The number of this chunk */
67 ULONG xsp_Mode
; /* The packing mode to use */
68 STRPTR xsp_Password
; /* The password to use */
69 UWORD xsp_LibVersion
; /* SublibVersion used to pack */
70 UWORD xsp_Pad
; /* Reserved; don't use */
71 ULONG xsp_Arg
[3] ; /* Reserved; don't use */
72 ULONG xsp_Sub
[4] ; /* Sublib private data */
76 * xsp_LibVersion is the version number of the sublibrary used to pack
77 * this chunk. It can be used to create backwards compatible sublibraries
78 * with a totally different fileformat.
81 #define XSF_STEPDOWN 1 /* May reduce pack eff. to save mem */
82 #define XSF_PREVCHUNK 2 /* Previous chunk available on unpack */
84 #endif /* XPK_XPKSUB_H */