The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/servers/fs/fproc.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* This is the per-process information.  A slot is reserved for each potential
    2  * process. Thus NR_PROCS must be the same as in the kernel. It is not 
    3  * possible or even necessary to tell when a slot is free here.
    4  */
    5 EXTERN struct fproc {
    6   mode_t fp_umask;              /* mask set by umask system call */
    7   struct inode *fp_workdir;     /* pointer to working directory's inode */
    8   struct inode *fp_rootdir;     /* pointer to current root dir (see chroot) */
    9   struct filp *fp_filp[OPEN_MAX];/* the file descriptor table */
   10   uid_t fp_realuid;             /* real user id */
   11   uid_t fp_effuid;              /* effective user id */
   12   gid_t fp_realgid;             /* real group id */
   13   gid_t fp_effgid;              /* effective group id */
   14   dev_t fp_tty;                 /* major/minor of controlling tty */
   15   int fp_fd;                    /* place to save fd if rd/wr can't finish */
   16   char *fp_buffer;              /* place to save buffer if rd/wr can't finish*/
   17   int  fp_nbytes;               /* place to save bytes if rd/wr can't finish */
   18   int  fp_cum_io_partial;       /* partial byte count if rd/wr can't finish */
   19   char fp_suspended;            /* set to indicate process hanging */
   20   char fp_revived;              /* set to indicate process being revived */
   21   char fp_task;                 /* which task is proc suspended on */
   22   char fp_sesldr;               /* true if proc is a session leader */
   23   char fp_execced;              /* true if proc has exec()ced after fork */
   24   pid_t fp_pid;                 /* process id */
   25   long fp_cloexec;              /* bit map for POSIX Table 6-2 FD_CLOEXEC */
   26 } fproc[NR_PROCS];
   27 
   28 /* Field values. */
   29 #define NOT_SUSPENDED      0    /* process is not suspended on pipe or task */
   30 #define SUSPENDED          1    /* process is suspended on pipe or task */
   31 #define NOT_REVIVING       0    /* process is not being revived */
   32 #define REVIVING           1    /* process is being revived from suspension */
   33 #define PID_FREE           0    /* process slot free */
   34 
   35 /* Check is process number is acceptable - includes system processes. */
   36 #define isokprocnr(n)   ((unsigned)((n)+NR_TASKS) < NR_PROCS + NR_TASKS)
   37 

Cache object: ed6f39537e5aa58e8ee1c91a77becfd0


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.