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

  1. #ifndef __INC_POS_PDOS_FIB_H
  2. #define __INC_POS_PDOS_FIB_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>FIB.h<<   08 Jan 1997    16:32:27 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PDOS_DOSTYPES_H
  12. #include <pDOS/DosTypes.h>
  13. #endif
  14. #ifndef __INC_POS_PDOS_DATE_H
  15. #include <pDOS/Date.h>
  16. #endif
  17.  
  18.  
  19. /*----------------------------------
  20. -----------------------------------*/
  21. struct pOS_FileInfoBlock
  22. {
  23.   ULONG                fib_DiskKey[4];    /* private for the handler */
  24.  
  25.   UBYTE                fib_DirEntryType;  /* (enum pOS_FileInfoEntryType) */
  26.   UBYTE                fib_Pad;           /* always null */
  27.  
  28.   dosname_t            fib_FileName[pOS_DosFileName_MAX];
  29.   ULONG                fib_Bits;          /* (enum pOS_FileProtectionBits) */
  30.   dossize_t            fib_Size;          /* Number of bytes in file */
  31.   dossize_t            fib_NumBlocks;     /* Number of blocks in file */
  32.   struct pOS_DateStamp fib_Date;          /* Date file last changed */
  33.   dosname_t            fib_Comment[pOS_DosComment_MAX];
  34.  
  35.   UWORD  fib_OwnerUID;         /* owner's UID */
  36.   UWORD  fib_OwnerGID;         /* owner's GID */
  37.  
  38.   UBYTE  fib_Reserved[32];
  39. };
  40.  
  41.  
  42. enum pOS_FileInfoEntryType
  43. {
  44.   FINFENTYP_Unknown=0,       /* unknown */
  45.   FINFENTYP_File=   0x01,    /* Bit 0 */
  46.   FINFENTYP_Dir=    0x02,    /* Bit 1 */
  47.  
  48.   FINFENTYP_FDMask= 0x03,    /* FINFENTYP_File | FINFENTYP_Dir */
  49.  
  50.   FINFENTYP_HardLink=  0x10, /* is hard-link */
  51. };
  52.  
  53.  
  54.  
  55.  
  56. /*                       0    5 */
  57. #define pOS_FILEPROTSTR "DEWRAPS--"
  58.  
  59. enum pOS_FileProtectionBits
  60. {
  61.   FIBB_Delete=    0,        /* d: prevent file from being deleted */
  62.   FIBB_Execute=   1,        /* e: enable execute */
  63.   FIBB_Write=     2,        /* w:  */
  64.   FIBB_Read=      3,        /* r:  */
  65.   FIBB_Archive=   4,        /* a: cleared whenever file is changed */
  66.   FIBB_Pure=      5,        /* p: program is reentrant and rexecutable */
  67.   FIBB_Script=    6,        /* s: program is a script (execute) file */
  68.  
  69.   FIBB_GRP_Delete=    8,    /* Group: prevent file from being deleted */
  70.   FIBB_GRP_Execute=   9,    /* Group: file is executable */
  71.   FIBB_GRP_Write=     10,   /* Group: file is writable */
  72.   FIBB_GRP_Read=      11,   /* Group: file is readable */
  73.   FIBB_OTR_Delete=    12,   /* Other: prevent file from being deleted */
  74.   FIBB_OTR_Execute=   13,   /* Other: file is executable */
  75.   FIBB_OTR_Write=     14,   /* Other: file is writable */
  76.   FIBB_OTR_Read=      15,   /* Other: file is readable */
  77.  
  78.  
  79.   FIBF_RWDE = 0x0f,
  80.  
  81.   FIBF_Delete=    (1<<FIBB_Delete),
  82.   FIBF_Execute=   (1<<FIBB_Execute),
  83.   FIBF_Write=     (1<<FIBB_Write),
  84.   FIBF_Read=      (1<<FIBB_Read),
  85.   FIBF_Archive=   (1<<FIBB_Archive),
  86.   FIBF_Pure=      (1<<FIBB_Pure),
  87.   FIBF_Script=    (1<<FIBB_Script),
  88.  
  89.   FIBF_GRP_Delete=    (1<<FIBB_GRP_Delete),
  90.   FIBF_GRP_Execute=   (1<<FIBB_GRP_Execute),
  91.   FIBF_GRP_Write=     (1<<FIBB_GRP_Write),
  92.   FIBF_GRP_Read=      (1<<FIBB_GRP_Read),
  93.   FIBF_OTR_Delete=    (1<<FIBB_OTR_Delete),
  94.   FIBF_OTR_Execute=   (1<<FIBB_OTR_Execute),
  95.   FIBF_OTR_Write=     (1<<FIBB_OTR_Write),
  96.   FIBF_OTR_Read=      (1<<FIBB_OTR_Read),
  97. };
  98.  
  99.  
  100.  
  101. #endif
  102.