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.12 (Berkeley) 02/25/92 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 #define KINFO_RT_IFLIST (KINFO_RT|3) /* survey interface list */ 36 37 /* 38 * vnodes 39 */ 40 #define KINFO_VNODE (2<<8) 41 42 /* 43 * file structures 44 */ 45 #define KINFO_FILE (3<<8) 46 47 /* 48 * vmtotal structure 49 */ 50 #define KINFO_METER (4<<8) 51 52 /* 53 * load average structure 54 */ 55 #define KINFO_LOADAVG (5<<8) 56 57 /* 58 * clock rate structure 59 */ 60 #define KINFO_CLOCKRATE (6<<8) 61 62 /* 63 * Locking and stats 64 */ 65 66 struct kinfo_lock { 67 int kl_lock; 68 int kl_want; 69 int kl_locked; 70 }; 71 72 #ifdef KERNEL 73 extern struct kinfo_lock kinfo_lock; 74 #else 75 76 #include <sys/cdefs.h> 77 78 __BEGIN_DECLS 79 int getkerninfo __P((int, void *, int *, int)); 80 __END_DECLS 81 #endif 82