Commit | Line | Data |
---|---|---|
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 |
20 | rtime() |
21 | { | |
22 | ||
23 | } | |
24 | ||
25 | rusage() | |
aac7ea5b | 26 | { |
4147b3f6 BJ |
27 | |
28 | } | |
29 | ||
30 | itimer() | |
31 | { | |
32 | ||
33 | } | |
34 | ||
35 | /* BEGIN DEPRECATED */ | |
36 | ogtime() | |
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 | 48 | oftime() |
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 | */ | |
78 | stime() | |
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 | ||
92 | times() | |
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 | } |