xref: /original-bsd/sys/sys/sysctl.h (revision 1cfaf997)
1 /*
2  * Copyright (c) 1989 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)sysctl.h	7.9 (Berkeley) 06/26/91
8  */
9 
10 /*
11  * Get kernel info
12  */
13 #define ki_op(x)		((x)&0x0000ffff)
14 #define ki_type(x)		((x)&0x0000ff00)
15 
16 /*
17  * proc info
18  */
19 #define	KINFO_PROC		(0<<8)
20 #define KINFO_PROC_ALL	(KINFO_PROC|0)	/* everything */
21 #define	KINFO_PROC_PID	(KINFO_PROC|1)	/* by process id */
22 #define	KINFO_PROC_PGRP	(KINFO_PROC|2)	/* by process group id */
23 #define	KINFO_PROC_SESSION (KINFO_PROC|3)	/* by session of pid */
24 #define	KINFO_PROC_TTY	(KINFO_PROC|4)	/* by controlling tty */
25 #define	KINFO_PROC_UID	(KINFO_PROC|5)	/* by effective uid */
26 #define	KINFO_PROC_RUID	(KINFO_PROC|6)	/* by real uid */
27 
28 /*
29  * Routing table
30  */
31 #define ki_af(x)		(((x)&0x00ff0000) >> 16)
32 #define KINFO_RT		(1<<8)
33 #define KINFO_RT_DUMP	(KINFO_RT|1)	/* dump; may limit to a.f. */
34 #define KINFO_RT_FLAGS	(KINFO_RT|2)	/* by flags, e.g. RESOLVING */
35 
36 /*
37  * vnodes
38  */
39 #define	KINFO_VNODE		(2<<8)
40 
41 /*
42  * file structures
43  */
44 #define KINFO_FILE		(3<<8)
45 
46 /*
47  * Locking and stats
48  */
49 
50 struct kinfo_lock {
51 	int	kl_lock;
52 	int	kl_want;
53 	int	kl_locked;
54 };
55 
56 #ifdef KERNEL
57 extern struct kinfo_lock kinfo_lock;
58 #else
59 
60 #include <sys/cdefs.h>
61 
62 __BEGIN_DECLS
63 int	getkerninfo __P((int, void *, int *, int));
64 __END_DECLS
65 #endif
66