xref: /plan9-contrib/sys/src/ape/lib/ap/plan9/time.c (revision fb7f0c934c48abaed6040d054ef636408c3c522d)
13e12c5d1SDavid du Colombier #include <sys/types.h>
23e12c5d1SDavid du Colombier #include <sys/stat.h>
33e12c5d1SDavid du Colombier #include <fcntl.h>
43e12c5d1SDavid du Colombier #include <time.h>
53e12c5d1SDavid du Colombier #include <unistd.h>
63e12c5d1SDavid du Colombier #include <string.h>
73e12c5d1SDavid du Colombier #include <stdlib.h>
8*fb7f0c93SDavid du Colombier #include "sys9.h"
93e12c5d1SDavid du Colombier 
103e12c5d1SDavid du Colombier time_t
time(time_t * tp)113e12c5d1SDavid du Colombier time(time_t *tp)
123e12c5d1SDavid du Colombier {
133e12c5d1SDavid du Colombier 	char b[20];
149a747e4fSDavid du Colombier 	int f;
153e12c5d1SDavid du Colombier 	time_t t;
163e12c5d1SDavid du Colombier 
173e12c5d1SDavid du Colombier 	memset(b, 0, sizeof(b));
18*fb7f0c93SDavid du Colombier 	f = _OPEN("/dev/time", 0);
193e12c5d1SDavid du Colombier 	if(f >= 0) {
20*fb7f0c93SDavid du Colombier 		_PREAD(f, b, sizeof(b), 0);
21*fb7f0c93SDavid du Colombier 		_CLOSE(f);
223e12c5d1SDavid du Colombier 	}
233e12c5d1SDavid du Colombier 	t = atol(b);
243e12c5d1SDavid du Colombier 	if(tp)
253e12c5d1SDavid du Colombier 		*tp = t;
263e12c5d1SDavid du Colombier 	return t;
273e12c5d1SDavid du Colombier }
28