xref: /original-bsd/sys/sys/sysctl.h (revision 12449cc1)
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.10 (Berkeley) 08/28/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  * vmtotal structure
48  */
49 #define KINFO_METER		(4<<8)
50 
51 /*
52  * Locking and stats
53  */
54 
55 struct kinfo_lock {
56 	int	kl_lock;
57 	int	kl_want;
58 	int	kl_locked;
59 };
60 
61 #ifdef KERNEL
62 extern struct kinfo_lock kinfo_lock;
63 #else
64 
65 #include <sys/cdefs.h>
66 
67 __BEGIN_DECLS
68 int	getkerninfo __P((int, void *, int *, int));
69 __END_DECLS
70 #endif
71