144586Smarc /*- 244586Smarc * Copyright (c) 1988 The Regents of the University of California. 344586Smarc * All rights reserved. 444586Smarc * 544586Smarc * %sccs.include.redist.c% 644586Smarc */ 744586Smarc 844586Smarc #ifndef lint 9*45984Sbostic static char sccsid[] = "@(#)subr.c 5.1 (Berkeley) 01/17/91"; 1044586Smarc #endif /* not lint */ 1144586Smarc 12*45984Sbostic #include <sys/param.h> 13*45984Sbostic #include <sys/file.h> 14*45984Sbostic #include <sys/user.h> 15*45984Sbostic #include <sys/proc.h> 16*45984Sbostic #include <sys/time.h> 17*45984Sbostic #include <sys/ktrace.h> 18*45984Sbostic #include <stdio.h> 1936507Smarc #include "ktrace.h" 2036507Smarc 2144586Smarc getpoints(s) 2236507Smarc char *s; 2336507Smarc { 2436507Smarc int facs = 0; 2536507Smarc 2636507Smarc while (*s) { 2736507Smarc switch(*s) { 2836507Smarc case 'c': 2936507Smarc facs |= KTRFAC_SYSCALL | KTRFAC_SYSRET; 3036507Smarc break; 3136507Smarc case 'n': 3236507Smarc facs |= KTRFAC_NAMEI; 3336507Smarc break; 3444586Smarc case 'i': 3536507Smarc facs |= KTRFAC_GENIO; 3636507Smarc break; 3736507Smarc case 's': 3844586Smarc facs |= KTRFAC_PSIG; 3936507Smarc break; 4036507Smarc default: 4136507Smarc return (-1); 4236507Smarc } 4336507Smarc s++; 4436507Smarc } 4536507Smarc return (facs); 4636507Smarc } 4744586Smarc 4844586Smarc timevaladd(t1, t2) 4944586Smarc struct timeval *t1, *t2; 5044586Smarc { 5144586Smarc t1->tv_sec += t2->tv_sec; 5244586Smarc t1->tv_usec += t2->tv_usec; 5344586Smarc timevalfix(t1); 5444586Smarc } 5544586Smarc 5644586Smarc timevalsub(t1, t2) 5744586Smarc struct timeval *t1, *t2; 5844586Smarc { 5944586Smarc t1->tv_sec -= t2->tv_sec; 6044586Smarc t1->tv_usec -= t2->tv_usec; 6144586Smarc timevalfix(t1); 6244586Smarc } 6344586Smarc 6444586Smarc timevalfix(t1) 6544586Smarc struct timeval *t1; 6644586Smarc { 6744586Smarc if (t1->tv_usec < 0) { 6844586Smarc t1->tv_sec--; 6944586Smarc t1->tv_usec += 1000000; 7044586Smarc } 7144586Smarc if (t1->tv_usec >= 1000000) { 7244586Smarc t1->tv_sec++; 7344586Smarc t1->tv_usec -= 1000000; 7444586Smarc } 7544586Smarc } 76