add affiliation for Oz
[unix-history] / usr / src / usr.bin / ktrace / subr.c
CommitLineData
d0095905
MT
1/*-
2 * Copyright (c) 1988 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 */
7
8#ifndef lint
699b8584 9static char sccsid[] = "@(#)subr.c 5.3 (Berkeley) %G%";
d0095905
MT
10#endif /* not lint */
11
ecb3b10d
KB
12#include <sys/param.h>
13#include <sys/file.h>
14#include <sys/user.h>
15#include <sys/proc.h>
d0095905 16#include <sys/time.h>
ecb3b10d
KB
17#include <sys/ktrace.h>
18#include <stdio.h>
19#include "ktrace.h"
8d8fc106 20
d0095905 21getpoints(s)
8d8fc106
MT
22 char *s;
23{
24 int facs = 0;
25
26 while (*s) {
27 switch(*s) {
28 case 'c':
29 facs |= KTRFAC_SYSCALL | KTRFAC_SYSRET;
30 break;
31 case 'n':
32 facs |= KTRFAC_NAMEI;
33 break;
d0095905 34 case 'i':
8d8fc106
MT
35 facs |= KTRFAC_GENIO;
36 break;
8d8fc106 37 case 's':
d0095905 38 facs |= KTRFAC_PSIG;
8d8fc106
MT
39 break;
40 default:
41 return (-1);
42 }
43 s++;
44 }
45 return (facs);
46}
d0095905
MT
47
48timevaladd(t1, t2)
49 struct timeval *t1, *t2;
50{
d0095905
MT
51 t1->tv_sec += t2->tv_sec;
52 t1->tv_usec += t2->tv_usec;
53 timevalfix(t1);
54}
55
56timevalsub(t1, t2)
57 struct timeval *t1, *t2;
58{
d0095905
MT
59 t1->tv_sec -= t2->tv_sec;
60 t1->tv_usec -= t2->tv_usec;
61 timevalfix(t1);
62}
63
64timevalfix(t1)
65 struct timeval *t1;
66{
d0095905
MT
67 if (t1->tv_usec < 0) {
68 t1->tv_sec--;
69 t1->tv_usec += 1000000;
70 }
71 if (t1->tv_usec >= 1000000) {
72 t1->tv_sec++;
73 t1->tv_usec -= 1000000;
74 }
75}