home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pDOS / ScanDir.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  2.8 KB  |  85 lines

  1. #ifndef __INC_POS_PDOS_SCANDIR_H
  2. #define __INC_POS_PDOS_SCANDIR_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>ScanDir.h<<   02 Dec 1996    13:07:39 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PDOS_PATTERN_H
  12. #include <pDOS/Pattern.h>
  13. #endif
  14. #ifndef __INC_POS_PDOS_FIB_H
  15. #include <pDOS/FIB.h>
  16. #endif
  17.  
  18.  
  19. /*----------------------------------
  20. -----------------------------------*/
  21. struct pOS_AnchorPath
  22. {
  23.   struct pOS_PatternMatching ap_Pattern;
  24.  
  25.   struct pOS_List            ap_List;        /* list of pOS_AnchorPathObj */
  26.   struct pOS_AnchorPathObj  *ap_RetObj;      /* Object is set, when APF_ReturnDir is set */
  27.  
  28.   ULONG                      ap_BreakBits;   /* Bits we want to break on */
  29.   ULONG                      ap_FoundBreak;  /* Bits we broke on. Also returns ERROR_BREAK */
  30.   UWORD                      ap_Flags;       /* (enum pOS_AnchorPathFlags) */
  31.   const dosname_t           *ap_Path;        /* (intern) Path-Part by Init */
  32.   const dosname_t           *ap_File;        /* (intern) File/Pattern-Part by Init */
  33.   struct pOS_DosDevPathInfo *ap_PI;          /* (intern) */
  34.   UBYTE                      ap_Reserved[28];
  35.   UWORD                      ap_BufLen;      /* null => unused */
  36.   UBYTE                      ap_Buf[1];
  37. };
  38.  
  39.  
  40. struct pOS_AnchorPathObj* pOS_CURRANCHORPATH(const struct pOS_AnchorPath*);
  41. #define pOS_CURRANCHORPATH(ap) ( (struct pOS_AnchorPathObj*)(ap)->ap_List.lh_TailPred )
  42.  
  43.  
  44.  
  45. /*----------------------------------
  46. -----------------------------------*/
  47. struct pOS_AnchorPathObj
  48. {
  49.   struct pOS_Node           an_Node;
  50.   struct pOS_FileLock      *an_Lock;
  51.   struct pOS_FileInfoBlock  an_FIB;
  52.  
  53. /** SYSTEM-PRIVATE **/
  54.  
  55.  
  56. };
  57.  
  58.  
  59. enum pOS_AnchorPathFlags
  60. {
  61.   APF_OnlyWild=    0x0001,      /* Bit SET for pattern matching */
  62.   APF_IsWild=      0x0002,      /* Das aktuelle Objekt (pOS_CURRANCHORPATH)
  63.                                 ** wurde vom Patternmatching erkannt.
  64.                                 */
  65.  
  66.   APF_DoEnterDir=  0x0004,      /* Das aktuelle Objekt ist ein DIR und beim
  67.                                 ** nächsten Aufruf von pOS_PathMatchNext() entscheidet
  68.                                 ** diese Bit, ob in das DIR verzweigt wird.
  69.                                 */
  70.  
  71.   APF_ReturnDir=   0x0008,      /* Der letzte Dir-Eintrag ist erreicht, der nächte
  72.                                 ** Aufruf von pOS_PathMatchNext() ist im Parent-Dir.
  73.                                 */
  74.  
  75.   APF_StdPattern=  0x0100,      /* autom. created #? as pattern */
  76.   APF_PrtError=    0x0200,      /* print error to pr_CES */
  77.   APF_MultiAssign= 0x0400,      /* enable multi-assign scanning */
  78.  
  79.   APF_NTMode=      0x8000,      /* wird in MatchFirst gesetzt, falls ein ExNext möglich ist */
  80. };
  81.  
  82.  
  83.  
  84. #endif
  85.