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

 $AUT Holger Burkarth
 $DAT >>DosBase.h<<   14 Feb 1997    12:41:55 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PDOS_DOSTYPES_H
#include <pDOS/DosTypes.h>
#endif
#ifndef __INC_POS_PEXEC_LIBRARY_H
#include <pExec/Library.h>
#endif
#ifndef __INC_POS_PEXEC_SEMA_H
#include <pExec/Sema.h>
#endif
#ifndef __INC_POS_DEVICE_TIMER_H
#include <pDevice/Timer.h>
#endif
#ifndef __INC_POS_PDOS_DATE_H
#include <pDOS/Date.h>
#endif


/*----------------------------------
-----------------------------------*/
struct pOS_DosBase
{
  struct pOS_Library      dos_Lib;
  struct pOS_ExecBase    *ExecBase;
  struct pOS_UtilityBase *UtilityBase;

  UBYTE dos_Reserved1[32];

  struct pOS_Semaphore dos_DevSem;     /* für dos_Device, dos_DevMount, dos_DefDev, dos_FHManage */
  struct pOS_ExList    dos_Device;     /* (pOS_DosDevice*)    */
  struct pOS_ExList    dos_DefDev;     /* (pOS_DosDefDevice*) */
  struct pOS_ExList    dos_DevMount;   /* (pOS_DosMountDevice*) */
  UBYTE                dos_Reserved2[32];
  struct pOS_ExList    dos_FHManage;   /* FileHandle-Manager */
  struct pOS_FHManage *dos_FHMDefault;

  struct pOS_Semaphore dos_SegmLLSem;  /* für dos_SegmentLLst */
  struct pOS_ExList    dos_SegmentLLst;

  struct pOS_DateStamp dos_BootTime;   /* Boot-Start Time (Basis) */
  struct pOS_TimerIO   dos_TimeReq;    /* (Master) für Delay oder ... */

  UBYTE               *dos_UseProcBitMap;  /* ** aktive Process-Nummern als BitMap */
  UWORD                dos_UseProcBitSize; /* ** Maximale Anzahl von Bits (256) */

  struct pOS_ExecLibFunction *dos_Exec2Private;    /* ** pOS pre-help */

/*** SYSTEM - DATAS ****************/

};




/** for pOS_AllocDosObject() / pOS_FreeDosObject() **/
enum pOS_DosObjects
{
  DOSOBJ_FIB=1,         /* struct pOS_FileInfoData */
  DOSOBJ_Shell,         /* struct pOS_Shell */
  DOSOBJ_InfoData       /* struct pOS_DosInfoData */
};



/** pOS_DosString() **/
enum pOS_DosStringFlags
{
  DOSSTRF_Esc   = 0x0001        /* Esc-Sequenz wird bearbeitet */
};




#endif
