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