xref: /csrg-svn/usr.bin/ktrace/subr.c (revision 36507)
1*36507Smarc #include "ktrace.h"
2*36507Smarc 
3*36507Smarc getfacs(s)
4*36507Smarc 	char *s;
5*36507Smarc {
6*36507Smarc 	int facs = 0;
7*36507Smarc 
8*36507Smarc 	while (*s) {
9*36507Smarc 		switch(*s) {
10*36507Smarc 		case 'c':
11*36507Smarc 			facs |= KTRFAC_SYSCALL | KTRFAC_SYSRET;
12*36507Smarc 			break;
13*36507Smarc 		case 'n':
14*36507Smarc 			facs |= KTRFAC_NAMEI;
15*36507Smarc 			break;
16*36507Smarc 		case 'g':
17*36507Smarc 		case 'd':
18*36507Smarc 			facs |= KTRFAC_GENIO;
19*36507Smarc 			break;
20*36507Smarc #ifdef notyet
21*36507Smarc 		case 's':
22*36507Smarc 			facs |= KTRFAC_SIGNAL;
23*36507Smarc 			break;
24*36507Smarc #endif
25*36507Smarc 		case '+':
26*36507Smarc 			facs |= DEF_FACS;
27*36507Smarc 			break;
28*36507Smarc 		case 'a':
29*36507Smarc 			facs = KTRFAC_SYSCALL | KTRFAC_SYSRET | KTRFAC_GENIO;
30*36507Smarc 			break;
31*36507Smarc 		default:
32*36507Smarc 			return (-1);
33*36507Smarc 		}
34*36507Smarc 		s++;
35*36507Smarc 	}
36*36507Smarc 	return (facs);
37*36507Smarc }
38