move in kinfo_proc definition from kinfo_proc.h and retire kinfo_proc.h
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 28 Apr 1993 05:33:15 +0000 (21:33 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 28 Apr 1993 05:33:15 +0000 (21:33 -0800)
SCCS-vsn: sys/sys/sysctl.h 7.21

usr/src/sys/sys/sysctl.h

index 3063127..db3518f 100644 (file)
@@ -7,9 +7,19 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)sysctl.h    7.20 (Berkeley) %G%
+ *     @(#)sysctl.h    7.21 (Berkeley) %G%
  */
 
  */
 
+/*
+ * These are for the eproc structure defined below.
+ */
+#ifndef KERNEL
+#include <sys/time.h>
+#include <sys/ucred.h>
+#include <sys/proc.h>
+#include <vm/vm.h>
+#endif
+
 /*
  * Definitions for sysctl call.  The sysctl call uses a hierarchical name
  * for objects that can be examined or modified.  The name is expressed as
 /*
  * Definitions for sysctl call.  The sysctl call uses a hierarchical name
  * for objects that can be examined or modified.  The name is expressed as
@@ -116,6 +126,46 @@ struct ctlname {
 #define        KERN_PROC_UID           5       /* by effective uid */
 #define        KERN_PROC_RUID          6       /* by real uid */
 
 #define        KERN_PROC_UID           5       /* by effective uid */
 #define        KERN_PROC_RUID          6       /* by real uid */
 
+/* 
+ * KERN_PROC subtype ops return arrays of augmented proc structures:
+ */
+struct kinfo_proc {
+       struct  proc kp_proc;                   /* proc structure */
+       struct  eproc {
+               struct  proc *e_paddr;          /* address of proc */
+               struct  session *e_sess;        /* session pointer */
+               struct  pcred e_pcred;          /* process credentials */
+               struct  ucred e_ucred;          /* current credentials */
+#ifdef sparc
+               struct {
+                       segsz_t vm_rssize;      /* resident set size */
+                       segsz_t vm_tsize;       /* text size */
+                       segsz_t vm_dsize;       /* data size */
+                       segsz_t vm_ssize;       /* stack size */
+               } e_vm;
+#else
+               struct  vmspace e_vm;           /* address space */
+#endif
+               pid_t   e_ppid;                 /* parent process id */
+               pid_t   e_pgid;                 /* process group id */
+               short   e_jobc;                 /* job control counter */
+               dev_t   e_tdev;                 /* controlling tty dev */
+               pid_t   e_tpgid;                /* tty process group id */
+               struct  session *e_tsess;       /* tty session pointer */
+#define        WMESGLEN        7
+               char    e_wmesg[WMESGLEN+1];    /* wchan message */
+               segsz_t e_xsize;                /* text size */
+               short   e_xrssize;              /* text rss */
+               short   e_xccount;              /* text references */
+               short   e_xswrss;
+               long    e_flag;
+#define        EPROC_CTTY      0x01    /* controlling tty vnode active */
+#define        EPROC_SLEADER   0x02    /* session leader */
+               char    e_login[MAXLOGNAME];    /* setlogin() name */
+               long    e_spare[4];
+       } kp_eproc;
+};
+
 /*
  * CTL_HW identifiers
  */
 /*
  * CTL_HW identifiers
  */
@@ -194,6 +244,7 @@ int sysctl_rdint __P((void *, size_t *, void *, int));
 int sysctl_string __P((void *, size_t *, void *, size_t, char *, int));
 int sysctl_rdstring __P((void *, size_t *, void *, char *));
 int sysctl_rdstruct __P((void *, size_t *, void *, void *, int));
 int sysctl_string __P((void *, size_t *, void *, size_t, char *, int));
 int sysctl_rdstring __P((void *, size_t *, void *, char *));
 int sysctl_rdstruct __P((void *, size_t *, void *, void *, int));
+void fill_eproc __P((struct proc *, struct eproc *));
 
 #else /* !KERNEL */
 #include <sys/cdefs.h>
 
 #else /* !KERNEL */
 #include <sys/cdefs.h>