source: rtems/cpukit/posix/src/time.c @ 974ff40

4.104.114.84.95
Last change on this file since 974ff40 was 974ff40, checked in by Joel Sherrill <joel.sherrill@…>, on 05/29/96 at 16:04:31

renamed signal.c to psignal.c to avoid naming problems.

added mp stubs to cond.c and mutex.c to eliminate link errors.

added pthread_exit to pthread.c

  • Property mode set to 100644
File size: 3.1 KB
Line 
1/* time.c
2 *
3 *  $Id$
4 */
5
6#include <time.h>
7
8#include <rtems/system.h>
9#include <rtems/score/tod.h>
10
11/*
12 *  Seconds from January 1, 1970 to January 1, 1988.  Used to account for
13 *  differences between POSIX API and RTEMS core.
14 */
15
16#define POSIX_TIME_SECONDS_1970_THROUGH_1988 \
17  (((1987 - 1970 + 1)  * TOD_SECONDS_PER_NON_LEAP_YEAR) + \
18  (4 * TOD_SECONDS_PER_DAY))
19
20/*
21 *  _POSIX_Time_Spec_to_interval
22 */
23
24Watchdog_Interval _POSIX_Time_Spec_to_interval(
25  const struct timespec *time
26)
27{
28  return POSIX_NOT_IMPLEMENTED();
29}
30
31/*
32 *  4.5.1 Get System Time, P1003.1b-1993, p. 91
33 */
34
35time_t time(
36  time_t   *tloc
37)
38{
39  time_t  seconds_since_epoch;
40
41  if ( !_TOD_Is_set() ) {
42    /* XXX set errno */
43    return -1;
44  }
45
46  /*
47   *  Internally the RTEMS epoch is 1988.  This must be taken into account.
48   */
49
50  seconds_since_epoch = _TOD_Seconds_since_epoch;
51     
52  seconds_since_epoch += POSIX_TIME_SECONDS_1970_THROUGH_1988;
53
54  if ( tloc )
55    *tloc = seconds_since_epoch;
56
57  return seconds_since_epoch;
58}
59
60#ifdef NOT_IMPLEMENTED_YET
61/*
62 *  14.2.1 Clocks, P1003.1b-1993, p. 263
63 */
64
65int clock_settime(
66  clockid_t              clock_id,
67  const struct timespec *tp
68)
69{
70  return POSIX_NOT_IMPLEMENTED();
71}
72
73/*
74 *  14.2.1 Clocks, P1003.1b-1993, p. 263
75 */
76
77int clock_gettime(
78  clockid_t        clock_id,
79  struct timespec *tp
80)
81{
82  return POSIX_NOT_IMPLEMENTED();
83}
84
85/*
86 *  14.2.1 Clocks, P1003.1b-1993, p. 263
87 */
88
89int clock_getres(
90  clockid_t        clock_id,
91  struct timespec *res
92)
93{
94  return POSIX_NOT_IMPLEMENTED();
95}
96
97/*
98 *  14.2.2 Create a Per-Process Timer, P1003.1b-1993, p. 264
99 */
100
101int timer_create(
102  clockid_t        clock_id,
103  struct sigevent *evp,
104  timer_t         *timerid
105)
106{
107  return POSIX_NOT_IMPLEMENTED();
108}
109
110/*
111 *  14.2.3 Delete a Per_process Timer, P1003.1b-1993, p. 266
112 */
113
114int timer_delete(
115  timer_t timerid
116)
117{
118  return POSIX_NOT_IMPLEMENTED();
119}
120
121/*
122 *  14.2.4 Per-Process Timers, P1003.1b-1993, p. 267
123 */
124
125int timer_settime(
126  timer_t                  timerid,
127  int                      flags,
128  const struct itimerspec *value,
129  struct itimerspec       *ovalue
130)
131{
132  return POSIX_NOT_IMPLEMENTED();
133}
134
135/*
136 *  14.2.4 Per-Process Timers, P1003.1b-1993, p. 267
137 */
138
139int timer_gettime(
140  timer_t            timerid,
141  struct itimerspec *value
142)
143{
144  return POSIX_NOT_IMPLEMENTED();
145}
146
147/*
148 *  14.2.4 Per-Process Timers, P1003.1b-1993, p. 267
149 */
150
151int timer_getoverrun(
152  timer_t   timerid
153)
154{
155  return POSIX_NOT_IMPLEMENTED();
156}
157
158/*
159 *  14.2.5 High Resolution Sleep, P1003.1b-1993, p. 269
160 */
161
162int nanosleep(
163  const struct timespec  *rqtp,
164  struct timespec        *rmtp
165)
166{
167  return POSIX_NOT_IMPLEMENTED();
168}
169
170/*
171 *  20.1.3 Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55
172 */
173
174int clock_getcpuclockid(
175  pid_t      pid,
176  clockid_t *clock_id
177)
178{
179  return POSIX_NOT_IMPLEMENTED();
180}
181
182/*
183 *  20.1.5 CPU-time Clock Attribute Access, P1003.4b/D8, p. 58
184 */
185
186int clock_setenable_attr(
187  clockid_t    clock_id,
188  int          attr
189)
190{
191  return POSIX_NOT_IMPLEMENTED();
192}
193
194/*
195 *  20.1.5 CPU-time Clock Attribute Access, P1003.4b/D8, p. 58
196 */
197
198int clock_getenable_attr(
199  clockid_t    clock_id,
200  int         *attr
201)
202{
203  return POSIX_NOT_IMPLEMENTED();
204}
205
206#endif
Note: See TracBrowser for help on using the repository browser.