rs_time.rsh revision ca3f09c0924e9515901dfd47fa5f95385d53cf80
1ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines#ifndef __RS_TIME_RSH__
2ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines#define __RS_TIME_RSH__
3ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
4ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinestypedef int rs_time_t;
5ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
6ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinestypedef struct {
7ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_sec;
8ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_min;
9ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_hour;
10ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_mday;
11ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_mon;
12ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_year;
13ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_wday;
14ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_yday;
15ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    int tm_isdst;
16ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines} rs_tm;
17ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
18ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinesextern rs_time_t __attribute__((overloadable))
19ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    rsTime(rs_time_t *timer);
20ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
21ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinesextern rs_tm * __attribute__((overloadable))
22ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    rsLocaltime(rs_tm *local, const rs_time_t *timer);
23ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
24ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines// Return the current system clock in milliseconds
25ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinesextern int64_t __attribute__((overloadable))
26ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    rsUptimeMillis(void);
27ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
28ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines// Return the current system clock in nanoseconds
29ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinesextern int64_t __attribute__((overloadable))
30ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    rsUptimeNanos(void);
31ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
32ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines// Return the time in seconds since function was last called in this script.
33ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hinesextern float __attribute__((overloadable))
34ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines    rsGetDt(void);
35ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines
36ca3f09c0924e9515901dfd47fa5f95385d53cf80Stephen Hines#endif
37