2 Copyright © 1995-2012, The AROS Development Team. All rights reserved.
5 Returns time passed since start of program.
8 #include "__arosc_privdata.h"
11 #include <proto/dos.h>
12 #include <aros/symbolsets.h>
14 /*****************************************************************************
25 clock() returns an approximation of the time passed since
26 the program was started
31 The time passed in CLOCKS_PER_SEC units. To get the
32 number of seconds divide by CLOCKS_PER_SEC.
35 This function must not be used in a shared library or
36 in a threaded application.
47 ******************************************************************************/
49 struct aroscbase
*aroscbase
= __GM_GetBase();
53 DateStamp (&t
); /* Get timestamp */
56 retval
= (t
.ds_Days
- aroscbase
->acb_datestamp
.ds_Days
);
58 /* Convert into minutes */
61 /* Minute difference */
62 retval
+= (t
.ds_Minute
- aroscbase
->acb_datestamp
.ds_Minute
);
64 /* Convert into CLOCKS_PER_SEC (which is the same as TICKS_PER_SECOND) units */
65 retval
*= (60 * TICKS_PER_SECOND
);
67 /* Add tick difference */
68 retval
+= (t
.ds_Tick
- aroscbase
->acb_datestamp
.ds_Tick
);
74 int __init_clock(struct aroscbase
*aroscbase
)
76 DateStamp(&aroscbase
->acb_datestamp
);
81 ADD2OPENLIB(__init_clock
, 20);