home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / IFSSRC.ZIP / FSD.H next >
Text File  |  1993-04-03  |  4KB  |  92 lines

  1. #define FSA_REMOTE 1L
  2. #define FSA_UNC    2L
  3. #define FSA_LOCK   4L
  4. #define FSA_CASE   8L
  5. /*------------------------------------------------------------*/
  6. /*                     Volume Parameters                      */
  7. /*------------------------------------------------------------*/
  8.  
  9. /* File System Independent */
  10. typedef struct vpfsi {
  11.    unsigned long  vpi_vid;       /* 32-bit volume id        */
  12.    unsigned long  vpi_hDEV;      /* handle to device driver */
  13.    unsigned short vpi_bsize;     /* sector size in bytes    */
  14.    unsigned long  vpi_totsec;    /* total number of sectors */
  15.    unsigned short vpi_trksec;    /* sectors per track       */
  16.    unsigned short vpi_nhead;     /* number of heads         */
  17.    char           vpi_text[12];  /* volume name             */
  18. } VPFSI, far *PVPFSI;
  19.  
  20. /* File System Dependent */
  21. typedef struct vpfsd {
  22.    char           vpi_work[36];  /* work area               */
  23. } VPFSD, far *PVPFSD;
  24.  
  25.  
  26. /*------------------------------------------------------------*/
  27. /*                    Current Directories                     */
  28. /*------------------------------------------------------------*/
  29.  
  30. /* File System Independent */
  31. typedef struct cdfsi {
  32.    unsigned short cdi_hvpb;          /* VPB handle for device     */
  33.    unsigned short cdi_end;           /* offset to root of path    */
  34.    char           cdi_flags;         /* fs independent flags      */
  35.    char           cdi_curdir[CCHMAXPATH]; /* text of current directory */
  36. } CDFSI, far *PCDFSI;
  37.  
  38. /* File System Dependent */
  39. typedef struct cdfsd {
  40.    char           cdd_work[8];     /* work area                 */
  41. } CDFSD, far *PCDFSD;
  42.  
  43.  
  44. /*------------------------------------------------------------*/
  45. /*                       File Instance                        */
  46. /*------------------------------------------------------------*/
  47.  
  48. /* File System Independent */
  49. typedef struct sffsi {
  50.    unsigned long  sfi_mode;     /* access/sharing mode                 */
  51.    unsigned short sfi_hvpb;     /* volume info.                        */
  52.    FTIME          sfi_ctime;    /* file creation time                  */
  53.    FDATE          sfi_cdate;    /* file creation date                  */
  54.    FTIME          sfi_atime;    /* file access time                    */
  55.    FDATE          sfi_adate;    /* file access date                    */
  56.    FTIME          sfi_mtime;    /* file modification time              */
  57.    FDATE          sfi_mdate;    /* file modification date              */
  58.    unsigned long  sfi_size;     /* size of file                        */
  59.    unsigned long  sfi_position; /* read/write pointer                  */
  60.  
  61.    /* the following may be of use in sharing checks */
  62.  
  63.    unsigned short sfi_uid;      /* user ID of initial opener           */
  64.    unsigned short sfi_pid;      /* process ID of initial opener        */
  65.    unsigned short sfi_pdb;      /* PDB (in 3x box) of initial opener   */
  66.    unsigned short sfi_selfsfn;  /* system file number of file instance */
  67.    unsigned char  sfi_tstamp;   /* time stamps flag                    */
  68.    unsigned short sfi_type;     /* type of object opened               */
  69. } SFFSI, far *PSFFSI;
  70.  
  71. /* File System Dependent */
  72. typedef struct sffsd {
  73.    char           sfd_work[30]; /* work area                           */
  74. } SFFSD, far *PSFFSD;
  75.  
  76.  
  77. /*------------------------------------------------------------*/
  78. /*                        File Search                         */
  79. /*------------------------------------------------------------*/
  80.  
  81. /* File System Independent */
  82. typedef struct fsfsi {
  83.    unsigned short fsi_hvpb;         /* volume info */
  84. } FSFSI, far *PFSFSI;
  85.  
  86.  
  87. /* File System Dependent */
  88. typedef struct fsfsd {
  89.    char           fsd_work[24];     /* work area   */
  90. } FSFSD, far *PFSFSD;
  91.  
  92.