[BACK]Return to user.h CVS log [TXT][DIR] Up to [local] / sys / sys

Annotation of sys/sys/user.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: user.h,v 1.6 2003/06/02 23:28:22 millert Exp $        */
        !             2: /*     $NetBSD: user.h,v 1.10 1996/04/09 20:55:49 cgd Exp $    */
        !             3:
        !             4: /*
        !             5:  * Copyright (c) 1982, 1986, 1989, 1991, 1993
        !             6:  *     The Regents of the University of California.  All rights reserved.
        !             7:  *
        !             8:  * Redistribution and use in source and binary forms, with or without
        !             9:  * modification, are permitted provided that the following conditions
        !            10:  * are met:
        !            11:  * 1. Redistributions of source code must retain the above copyright
        !            12:  *    notice, this list of conditions and the following disclaimer.
        !            13:  * 2. Redistributions in binary form must reproduce the above copyright
        !            14:  *    notice, this list of conditions and the following disclaimer in the
        !            15:  *    documentation and/or other materials provided with the distribution.
        !            16:  * 3. Neither the name of the University nor the names of its contributors
        !            17:  *    may be used to endorse or promote products derived from this software
        !            18:  *    without specific prior written permission.
        !            19:  *
        !            20:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
        !            21:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            22:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            23:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
        !            24:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            25:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            26:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            27:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            28:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            29:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            30:  * SUCH DAMAGE.
        !            31:  *
        !            32:  *     @(#)user.h      8.2 (Berkeley) 9/23/93
        !            33:  */
        !            34:
        !            35: #include <machine/pcb.h>
        !            36: #ifndef _KERNEL
        !            37: /* stuff that *used* to be included by user.h, or is now needed */
        !            38: #include <errno.h>
        !            39: #include <sys/time.h>
        !            40: #include <sys/resource.h>
        !            41: #include <sys/ucred.h>
        !            42: #include <sys/uio.h>
        !            43: #endif
        !            44: #include <sys/resourcevar.h>
        !            45: #include <uvm/uvm_extern.h>            /* XXX */
        !            46: #include <sys/sysctl.h>
        !            47:
        !            48:
        !            49: /*
        !            50:  * Per process structure containing data that isn't needed in core
        !            51:  * when the process isn't running (esp. when swapped out).
        !            52:  * This structure may or may not be at the same kernel address
        !            53:  * in all processes.
        !            54:  */
        !            55:
        !            56: struct user {
        !            57:        struct  pcb u_pcb;
        !            58:
        !            59:        struct  pstats u_stats;         /* p_stats points here (use it!) */
        !            60:
        !            61:        /*
        !            62:         * Remaining fields only for core dump and/or ptrace--
        !            63:         * not valid at other times!
        !            64:         */
        !            65:        struct  kinfo_proc u_kproc;     /* proc + eproc */
        !            66:        struct  md_coredump u_md;       /* machine dependent glop */
        !            67: };
        !            68:
        !            69: /*
        !            70:  * Redefinitions to make the debuggers happy for now...  This subterfuge
        !            71:  * brought to you by coredump() and trace_req().  These fields are *only*
        !            72:  * valid at those times!
        !            73:  */
        !            74: #define        U_ar0   u_kproc.kp_proc.p_md.md_regs /* copy of curproc->p_md.md_regs */
        !            75: #define        U_tsize u_kproc.kp_eproc.e_vm.vm_tsize
        !            76: #define        U_dsize u_kproc.kp_eproc.e_vm.vm_dsize
        !            77: #define        U_ssize u_kproc.kp_eproc.e_vm.vm_ssize
        !            78:
        !            79: #ifndef _KERNEL
        !            80: #define        u_ar0   U_ar0
        !            81: #define        u_tsize U_tsize
        !            82: #define        u_dsize U_dsize
        !            83: #define        u_ssize U_ssize
        !            84: #endif /* _KERNEL */

CVSweb