#ifndef DEVICES_TIMER_H
#define DEVICES_TIMER_H 1

/*******************************************************************
 pOS / Amiga adapt
*******************************************************************/

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef __INC_POS_DEVICE_TIMER_H
#include <pDevice/Timer.h>
#endif
#include <exec/io.h>


#define UNIT_MICROHZ    TIMERUNIT_MicroHz
#define UNIT_VBLANK     TIMERUNIT_VBlank

#ifdef __IGNORE_NOT_SUPPORTED__
 #define UNIT_ECLOCK     2  /* => error */
 #define UNIT_WAITUNTIL  3
 #define UNIT_WAITECLOCK 4
#endif /** __IGNORE_NOT_SUPPORTED__ **/


#define TIMERNAME "ptimer.device"

struct timeval
{
  ULONG tv_secs;
  ULONG tv_micro;
};

struct timerequest
{
  struct IORequest tr_node;
  struct timeval tr_time;
};

#define TR_ADDREQUEST   TRCMD_AddRequest
#define TR_GETSYSTIME   TRCMD_GetSysTime
#define TR_SETSYSTIME   TRCMD_SetSysTime

#endif /* DEVICES_TIMER_H */
