#ifndef __INC_POS_PDOS_INFODATA_H
#define __INC_POS_PDOS_INFODATA_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>InfoData.h<<   12 Sep 1996    09:07:52 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PDOS_DOSTYPES_H
#include <pDOS/DosTypes.h>
#endif


/*----------------------------------
-----------------------------------*/
struct pOS_DosInfoData
{
        ULONG               id_NumSoftErrors;   /* number of soft errors on disk */
        ULONG               id_DiskState;       /* (enum pOS_DosInfoDataState) */
        ULONG               id_DiskType;        /* (enum pOS_DosInfoDataTyp) */
        struct pOS_DosDevice      *id_Volume;   /* pointer to actual volume */
  const struct pOS_DosMountDevice *id_Mount;
        ULONG               id_Flags;           /* (enum pOS_DosInfoDataFlags) */

  UBYTE id_Reserved1[32];
        dossize_t           id_NumBlocks;       /* Number of blocks on disk */
        dossize_t           id_NumBlocksUsed;   /* Number of block in use */

  UBYTE id_Reserved2[32];
};


enum pOS_DosInfoDataState
{
  DOSIFDST_WriteProtected=80,   /* Disk is write protected */
  DOSIFDST_Validating=    81,   /* Disk is currently being validated */
  DOSIFDST_Validated=     82    /* Disk is consistent and writeable */
};

enum pOS_DosInfoDataTyp
{
  DOSIFDTYP_NoDiskPresent=      0xffffffff,
  DOSIFDTYP_UnreadableDisk=     0x42414400, /* 'BAD\0' */
  DOSIFDTYP_FFSDisk=            0x444F5301, /* 'DOS\1' */
  DOSIFDTYP_NotReallyDos=       0x4E444F53, /* 'NDOS'  */

  DOSIFDTYP_Unknown=0
};

enum pOS_DosInfoDataFlags
{
  DOSIFDF_InUse=  0x00000001    /* DOSCMD_Inhibit==FALSE => DDev is 'online' */
};

#endif
