home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / packery / xpk_develop / include / c / xpk / xpksub.h < prev   
C/C++ Source or Header  |  1996-10-19  |  4KB  |  85 lines

  1. #ifndef XPK_XPKSUB_H
  2. #define XPK_XPKSUB_H
  3.  
  4. /*
  5. **    $VER: xpk/xpksub.h 3.10 (26.09.96) by SDI
  6. **
  7. **    (C) Copyright 1991-1996 by 
  8. **          Urban Dominik Mueller, Bryan Ford,
  9. **          Christian Schneider, Christian von Roques,
  10. **        Dirk Stöcker
  11. **        All Rights Reserved
  12. */
  13.  
  14. #ifndef XPK_XPK_H
  15. #include <xpk/xpk.h>
  16. #endif
  17.  
  18. /**************************************************************************
  19.  *
  20.  *                     The XpkInfo structure
  21.  *
  22.  */
  23.  
  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. */
  28. struct XpkInfo {
  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          */
  49. };
  50.  
  51. /* defines for Flags: see xpk.h, XPKIF_xxxxx */
  52.  
  53. /**************************************************************************
  54.  *
  55.  *                     The XpkSubParams structure
  56.  *
  57.  */
  58.  
  59. struct XpkSubParams {
  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          */
  73. };
  74.  
  75. /*
  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 totaly different fileformat. [See xpkFAST.s; stupid me]
  79.  */
  80.  
  81. #define XSF_STEPDOWN   1  /* May reduce pack eff. to save mem   */
  82. #define XSF_PREVCHUNK  2  /* Previous chunk available on unpack */
  83.  
  84. #endif /* XPK_XPKSUB_H */
  85.