Annotation of coherent/c/usr/include/sys/uproc.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 3.0
                      3:  *     Copyright (c) 1982, 1990 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /*
                      7:  * The user process area.
                      8:  */
                      9: 
                     10: #ifndef         UPROC_H
                     11: #define         UPROC_H        UPROC_H
                     12: 
                     13: #include <sys/param.h>
                     14: #include <sys/types.h>
                     15: #include <sys/machine.h>
                     16: #include <sys/dir.h>
                     17: #include <sys/io.h>
                     18: #include <sys/proc.h>
                     19: #include <signal.h>
                     20: 
                     21: /*
                     22:  * Open segment structure.
                     23:  */
                     24: typedef struct sr {
                     25:        int      sr_flag;               /* Flags for this reference */
                     26:        vaddr_t  sr_base;               /* Virtual address base */
                     27:        vaddr_t  sr_size;               /* Mapped in window size */
                     28:        struct   seg *sr_segp;          /* Segment pointer */
                     29: } SR;
                     30: 
                     31: /*
                     32:  * Flags (sr_flag).
                     33:  */
                     34: #define SRFPMAP        01                      /* Segment is mapped in process */
                     35: #define SRFDUMP        02                      /* Dump segment */
                     36: #define        SRFDATA 04                      /* Data segment */
                     37: 
                     38: /*
                     39:  * User process structure.
                     40:  */
                     41: typedef struct uproc {
                     42:        char     u_error;               /* Error number (must be first) */
                     43:        char     u_flag;                /* Flags (for accounting) */
                     44:        int      u_uid;                 /* User id */
                     45:        int      u_gid;                 /* Group id */
                     46:        int      u_ruid;                /* Real user id */
                     47:        int      u_rgid;                /* Real group id */
                     48:        unsigned u_umask;               /* Mask for file creation */
                     49:        struct   inode *u_cdir;         /* Current working directory */
                     50:        struct   inode *u_rdir;         /* Current root directory */
                     51:        struct   fd *u_filep[NUFILE];   /* Open files */
                     52:        struct   sr u_segl[NUSEG];      /* User segment descriptions */
                     53:        int      (*u_sfunc[NSIG])();    /* Signal functions */
                     54: 
                     55:        /*
                     56:         * System working area.
                     57:         */
                     58:        struct   seg *u_sege[NUSEG];    /* Exec segment descriptors */
                     59:        MPROTO   u_sproto;              /* User prototype */
                     60:        MCON     u_syscon;              /* System context save */
                     61:        MENV     u_sigenv;              /* Signal return */
                     62:        MGEN     u_sysgen;              /* General purpose area */
                     63:        int      u_args[(MSASIZE*sizeof(char)+sizeof(int)-1)/sizeof(int)];
                     64:        struct   io u_io;               /* User area I/O template */
                     65: 
                     66:        /*
                     67:         * Set by ftoi.
                     68:         */
                     69:        ino_t    u_cdirn;               /* Child inode number */
                     70:        struct   inode *u_cdiri;        /* Child inode pointer */
                     71:        struct   inode *u_pdiri;        /* Parent inode pointer */
                     72:        struct   direct u_direct;       /* Directory name */
                     73: 
                     74:        /*
                     75:         * Accounting fields.
                     76:         */
                     77:        char     u_comm[10];            /* Command name */
                     78:        time_t   u_btime;               /* Beginning time of process */
                     79:        int      u_memuse;              /* Average memory usage */
                     80:        long     u_block;               /* Count of disk blocks */
                     81: 
                     82:        /*
                     83:         * Profiler fields.
                     84:         */
                     85:        vaddr_t  u_ppc;                 /* Profile pc from clock */
                     86:        vaddr_t  u_pbase;               /* Profiler base */
                     87:        vaddr_t  u_pbend;               /* Profiler base end */
                     88:        vaddr_t  u_pofft;               /* Offset from base */
                     89:        vaddr_t  u_pscale;              /* Scaling factor */
                     90: 
                     91:        /*
                     92:         * Miscellaneous things.
                     93:         */
                     94:        int      u_argc;                /* Argument count (for ps) */
                     95:        unsigned u_argp;                /* Offset of argv[0] (for ps) */
                     96:        int      u_signo;               /* Signal number (for debugger) */
                     97: } UPROC;
                     98: 
                     99: #ifdef KERNEL
                    100: /*
                    101:  * Current user area.
                    102:  */
                    103: extern UPROC   u;
                    104: 
                    105: #endif
                    106: 
                    107: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.