home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 9.ddi / usr / include / vm / seg_objs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  2.0 KB  |  67 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. /*
  11.  * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  12.  *         PROPRIETARY NOTICE (Combined)
  13.  * 
  14.  * This source code is unpublished proprietary information
  15.  * constituting, or derived under license from AT&T's UNIX(r) System V.
  16.  * In addition, portions of such source code were derived from Berkeley
  17.  * 4.3 BSD under license from the Regents of the University of
  18.  * California.
  19.  * 
  20.  * 
  21.  * 
  22.  *         Copyright Notice 
  23.  * 
  24.  * Notice of copyright on this source code product does not indicate 
  25.  * publication.
  26.  * 
  27.  *     (c) 1986,1987,1988,1989  Sun Microsystems, Inc
  28.  *     (c) 1983,1984,1985,1986,1987,1988,1989  AT&T.
  29.  *               All rights reserved.
  30.  *  
  31.  */
  32.  
  33. #ifndef _VM_SEG_OBJS_H
  34. #define _VM_SEG_OBJS_H
  35.  
  36. #ident    "@(#)/usr/include/vm/seg_objs.h.sl 1.1 4.0 12/08/90 34381 AT&T-USL"
  37.  
  38. /*
  39.  * Structure who's pointer is passed to the segvn_create routine
  40.  */
  41. struct segobjs_crargs {
  42.     int    (*mapfunc)();    /* map function to call */
  43.     u_int    offset;        /* starting offset */
  44.     caddr_t    arg;
  45.     u_char    prot;        /* protection */
  46.     u_char    maxprot;    /* maximum protection */
  47. };
  48.  
  49. /*
  50.  * (Semi) private data maintained by the seg_objs driver per segment mapping
  51.  */
  52. struct    segobjs_data {
  53.     int    (*mapfunc)();    /* really returns struct pte, not int */
  54.     u_int    offset;        /* device offset for start of mapping */
  55.     caddr_t    arg;        /* 1st argument to (*mapfunc)() */
  56.     u_char    pageprot;    /* true if per page protections present */
  57.     u_char    prot;        /* current segment prot if pageprot == 0 */
  58.     u_char    maxprot;    /* maximum segment protections */
  59.     struct    vpage *vpage;    /* per-page information, if needed */
  60. };
  61.  
  62. #ifdef _KERNEL
  63. int    segobjs_create(/* seg, void */);
  64. #endif /* _KERNEL */
  65.  
  66. #endif    /* _VM_SEG_OBJS_H */
  67.