home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 10 / Sonderheft_12.iso / best-of-tools / packer / xpk3.11 / xpk_source / xpkmaster / test / writexpkfib.c < prev   
C/C++ Source or Header  |  1996-12-06  |  1KB  |  58 lines

  1. #include <xpk/xpk.h>
  2. #include <pragma/dos_lib.h>
  3. #include "PrintFlags.c"
  4.  
  5. /* Includesheader
  6.  
  7.     Name:        WriteXpkFib.c
  8.     Versionstring:    $VER: WriteXpkFib.c 1.1 (06.12.96)
  9.     Author:        SDI
  10.     Distribution:    PD
  11.     Description:    prints XpkFib data
  12.  
  13.  1.1   06.12.96 : now uses VPrintf and gives better output
  14. */
  15.  
  16. void WriteXpkFib(struct XpkFib *xfib)
  17. {
  18.   STRPTR a = 0;
  19.  
  20.   switch(xfib->xf_Type)
  21.   {
  22.     case 0: a = "XPKTYPE_UNPACKED"; break;
  23.     case 1: a = "XPKTYPE_PACKED"; break;
  24.     case 2: a = "XPKTYPE_ARCHIVE"; break;
  25.   }
  26.  
  27.   if(a)
  28.     VPrintf("xf_Type      : %s\n", &a);
  29.   else
  30.     VPrintf("xf_Type      : %ld\n", &xfib->xf_Type);
  31.   VPrintf(
  32.     "xf_ULen      : %ld\n"
  33.     "xf_CLen      : %ld\n"
  34.     "xf_NLen      : %ld\n"
  35.     "xf_UCur      : %ld\n"
  36.     "xf_CCur      : %ld\n"
  37.     "xf_ID        : %lx", &xfib->xf_ULen);
  38.   a = (STRPTR) &xfib->xf_ID;
  39.   VPrintf(" (%.4s)\n", &a);
  40.   a = xfib->xf_Packer;
  41.   VPrintf(
  42.     "xf_Packer    : %s\n", &a);
  43.   VPrintf(
  44.     "xf_SubVersion: %d\n"
  45.     "xf_MasVersion: %d\n"
  46.     "xf_Flags     : ", &xfib->xf_SubVersion);
  47.   {
  48.     ULONG i = xfib->xf_Flags;
  49.     PrintFlag(&i, XPKFLAGS_PASSWORD, "XPKFLAGS_PASSWORD");
  50.     PrintFlag(&i, XPKFLAGS_NOSEEK, "SPKFLAGS_NOSEEK");
  51.     PrintFlag(&i, XPKFLAGS_NONSTD, "XPKFLAGS_NONSTD");
  52.     PrintEndFlag(i, xfib->xf_Flags);
  53.   }
  54.   VPrintf(
  55.     "xf_Head      : %04lx%04lx%04lx%04lx\n"
  56.     "xf_Ratio     : %ld\n", &xfib->xf_Head[0]);
  57. }
  58.