home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL2.DMS / in.adf / INCLUDE / libraries / iffparse.h < prev    next >
Encoding:
Text File  |  1994-07-25  |  2.9 KB  |  134 lines

  1. {$if not def IFF_IFFPARSE_H} CONST IFF_IFFPARSE_H=0;
  2.  
  3. { **********************************************************************
  4.   ** KickPascal-Include-Datei "libraries/iffparse.h" zu Kickstart 3.0 **
  5.   ********************************************************************** }
  6.  
  7. TYPE p_IFFHandle = ^IFFHandle;
  8. TYPE p_IFFStreamCmd = ^IFFStreamCmd;
  9. TYPE p_ContextNode = ^ContextNode;
  10. TYPE p_LocalContextItem = ^LocalContextItem;
  11. TYPE p_StoredProperty = ^StoredProperty;
  12. TYPE p_CollectionItem = ^CollectionItem;
  13. TYPE p_ClipboardHandle = ^ClipboardHandle;
  14.  
  15.  
  16. {$if not def EXEC_LISTS_H;incl "exec/Lists.h";endif}
  17. {$if not def EXEC_PORTS_H;incl "exec/Ports.h";endif}
  18. {$if not def DEVICES_CLIPBOARD_H;incl "devices/clipboard.h";endif}
  19.  
  20. TYPE IFFHandle = RECORD
  21.  iff_Stream : Long;
  22.  iff_Flags  : Long
  23.  iff_Depth  : LongInt;
  24.  { private Felder ...}
  25. END;
  26.  
  27. CONST
  28.  IFFF_READ     = 0;
  29.  IFFF_WRITE    = 1;
  30.  IFFF_RWBITS   = 3;
  31.  IFFF_FSEEK    = $2;
  32.  IFFF_RSEEK    = $4;
  33.  IFFF_RESERVED = $FFFF0000;
  34.  
  35. TYPE IFFStreamCmd = RECORD
  36.  sc_Command : LongInt;
  37.  sc_Buf     : Ptr;
  38.  sc_NBytes  : LongInt;
  39. END;
  40.  
  41. TYPE ContextNode = RECORD
  42.  cn_Node : MinNode;
  43.  cn_ID   : LongInt;
  44.  cn_Type : LongInt;
  45.  cn_Size : LongInt;
  46.  cn_Scan : LongInt;
  47.  { priate Felder ... }
  48. END;
  49.  
  50. TYPE LocalContextItem = RECORD
  51.  lci_Node  : MinNode;
  52.  lci_ID    : Long;
  53.  lci_Type  : Long;
  54.  lci_Ident : Long;
  55.  { priate Felder ... }
  56. END;
  57.  
  58. TYPE StoredProperty = RECORD
  59.  sp_Size : LongInt;
  60.  sp_Data : Ptr;
  61. END;
  62.  
  63. TYPE CollectionItem = RECORD
  64.  ci_Next : p_CollectionItem;
  65.  ci_Size : LongInt;
  66.  ci_Data : Ptr;
  67. END;
  68.  
  69. TYPE ClipboardHandle = RECORD
  70.  cbh_Req         : IOClipReq;
  71.  cbh_CBport      : MsgPort;
  72.  cbh_SatisfyPort : MsgPort;
  73. END;
  74.  
  75. CONST
  76.  IFFERR_EOF        = -1;
  77.  IFFERR_EOC        = -2;
  78.  IFFERR_NOSCOPE    = -3;
  79.  IFFERR_NOMEM      = -4;
  80.  IFFERR_READ       = -5;
  81.  IFFERR_WRITE      = -6;
  82.  IFFERR_SEEK       = -7;
  83.  IFFERR_MANGLED    = -8;
  84.  IFFERR_SYNTAX     = -9;
  85.  IFFERR_NOTIFF     = -10;
  86.  IFFERR_NOHOOK     = -11;
  87.  IFF_RETURN2CLIENT = -12;
  88.  
  89. { Macro MAKE_ID wurde als FUNCTION in IFFPARSE_Functions.h
  90.   angelegt, kann jedoch NICHT bei Konstantendefinition benutzt werden! }
  91.  
  92. CONST
  93.  ID_FORM = $464F524D  { "FORM" };
  94.  ID_LIST = $4C495354  { "LIST" };
  95.  ID_CAT  = $43415420  { "CAT " };
  96.  ID_PROP = $50524f50  { "PROP" };
  97.  ID_NULL = $20202020  { "    " };
  98.  
  99. CONST
  100.  IFFLCI_PROP         = $70726F70 { "prop" };
  101.  IFFLCI_COLLECTION   = $636F6C6C { "coll" };
  102.  IFFLCI_ENTRYHANDLER = $656E6864 { "enhd" };
  103.  IFFLCI_EXITHANDLER  = $65786864 { "exhd" };
  104.  
  105. CONST
  106.  IFFPARSE_SCAN    = 0;
  107.  IFFPARSE_STEP    = 1;
  108.  IFFPARSE_RAWSTEP = 2;
  109.  
  110. CONST
  111.  IFFSLI_ROOT = 1;
  112.  IFFSLI_TOP  = 2;
  113.  IFFSLI_PROP = 3;
  114.  
  115. CONST IFFSIZE_UNKNOWN = -1;
  116.  
  117. CONST
  118.  IFFCMD_INIT     = 0;
  119.  IFFCMD_CLEANUP  = 1;
  120.  IFFCMD_READ     = 2;
  121.  IFFCMD_WRITE    = 3;
  122.  IFFCMD_SEEK     = 4;
  123.  IFFCMD_ENTRY    = 5;
  124.  IFFCMD_EXIT     = 6;
  125.  IFFCMD_PURGELCI = 7;
  126.  
  127.  IFFSCC_INIT    = IFFCMD_INIT;
  128.  IFFSCC_CLEANUP = IFFCMD_CLEANUP;
  129.  IFFSCC_READ    = IFFCMD_READ;
  130.  IFFSCC_WRITE   = IFFCMD_WRITE;
  131.  IFFSCC_SEEK    = IFFCMD_SEEK;
  132.  
  133. {$endif}
  134.