summaryrefslogtreecommitdiff
path: root/rtl/morphos/timerd.inc
blob: d01367d0c3ce6aacc40e95320fec05fa762867ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
    This file is part of the Free Pascal run time library.

    timer.device definitions (V50) for MorphOS/PowerPC
    Copyright (c) 2002-3 The MorphOS Development Team, All Rights Reserved.

    Free Pascal conversion
    Copyright (c) 2004 Karoly Balogh for Genesi S.a.r.l. <www.genesi.lu>

    See the file COPYING.FPC, included in this distribution,
    for details about the copyright.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 **********************************************************************}


{ * timer.device definitions (V50)
  *********************************************************************
  * }


const
  UNIT_MICROHZ      = 0;
  UNIT_VBLANK       = 1;
  UNIT_ECLOCK       = 2;
  UNIT_WAITUNTIL    = 3;
  UNIT_WAITECLOCK   = 4;
  { *** V50 *** }
  UNIT_CPUCLOCK     = 5;
  UNIT_WAITCPUCLOCK = 6;

const
  TIMERNAME = 'timer.device';


type
  PTimeVal = ^TTimeVal;
  TTimeVal = packed record
    tv_secs : DWord;
    tv_micro: DWord;
  end;

type
  PEClockVal = ^TEClockVal;
  TEClockVal = packed record
    ev_hi: DWord;
    ev_lo: DWord;
  end;

type
  PTimeRequest = ^TTimeRequest;
  TTimeRequest = packed record
    tr_node: TIORequest;
    tr_time: TTimeVal;
  end;


const
   TR_ADDREQUEST = (CMD_NONSTD);
   TR_GETSYSTIME = (CMD_NONSTD + 1);
   TR_SETSYSTIME = (CMD_NONSTD + 2);