new ioctl's
[unix-history] / usr / src / sys / kern / kern_time.c
CommitLineData
4147b3f6 1/* kern_time.c 5.2 82/07/24 */
aac7ea5b
BJ
2
3#include "../h/param.h"
4#include "../h/systm.h"
5#include "../h/dir.h"
6#include "../h/user.h"
7#include "../h/reg.h"
8#include "../h/inode.h"
9#include "../h/proc.h"
10#include "../h/clock.h"
11#include "../h/mtpr.h"
12#include "../h/timeb.h"
13#include "../h/times.h"
14#include "../h/reboot.h"
15#include "../h/fs.h"
16#include "../h/conf.h"
17#include "../h/buf.h"
18#include "../h/mount.h"
19
4147b3f6
BJ
20rtime()
21{
22
23}
24
25rusage()
aac7ea5b 26{
4147b3f6
BJ
27
28}
29
30itimer()
31{
32
33}
34
35/* BEGIN DEPRECATED */
36ogtime()
37{
38
aac7ea5b
BJ
39 u.u_r.r_time = time;
40 if (clkwrap())
41 clkset();
42}
43
44/*
45 * New time entry-- return TOD with milliseconds, timezone,
46 * DST flag
47 */
4147b3f6 48oftime()
aac7ea5b
BJ
49{
50 register struct a {
51 struct timeb *tp;
52 } *uap;
53 struct timeb t;
54 register unsigned ms;
55
56 uap = (struct a *)u.u_ap;
57 (void) spl7();
58 t.time = time;
59 ms = lbolt;
60 (void) spl0();
61 if (ms > hz) {
62 ms -= hz;
63 t.time++;
64 }
65 t.millitm = (1000*ms)/hz;
66 t.timezone = timezone;
67 t.dstflag = dstflag;
68 if (copyout((caddr_t)&t, (caddr_t)uap->tp, sizeof(t)) < 0)
69 u.u_error = EFAULT;
70 if (clkwrap())
71 clkset();
72}
4147b3f6 73/* END DEPRECATED */
aac7ea5b
BJ
74
75/*
76 * Set the time
77 */
78stime()
79{
80 register struct a {
81 time_t time;
82 } *uap;
83
84 uap = (struct a *)u.u_ap;
85 if (suser()) {
86 bootime += uap->time - time;
87 time = uap->time;
88 clkset();
89 }
90}
91
92times()
93{
94 register struct a {
95 time_t (*times)[4];
96 } *uap;
97 struct tms tms;
98
99 tms.tms_utime = u.u_vm.vm_utime;
100 tms.tms_stime = u.u_vm.vm_stime;
101 tms.tms_cutime = u.u_cvm.vm_utime;
102 tms.tms_cstime = u.u_cvm.vm_stime;
103 uap = (struct a *)u.u_ap;
104 if (copyout((caddr_t)&tms, (caddr_t)uap->times, sizeof(struct tms)) < 0)
105 u.u_error = EFAULT;
106}