forgot some proto defs.
[unix-history] / usr / src / sys / vm / vm_page.h
index dcfcd7c..8da75ec 100644 (file)
@@ -1,16 +1,39 @@
 /* 
 /* 
- * Copyright (c) 1985, Avadis Tevanian, Jr., Michael Wayne Young
- * Copyright (c) 1987 Carnegie-Mellon University
  * Copyright (c) 1991 Regents of the University of California.
  * All rights reserved.
  *
  * This code is derived from software contributed to Berkeley by
  * The Mach Operating System project at Carnegie-Mellon University.
  *
  * Copyright (c) 1991 Regents of the University of California.
  * All rights reserved.
  *
  * This code is derived from software contributed to Berkeley by
  * The Mach Operating System project at Carnegie-Mellon University.
  *
- * The CMU software License Agreement specifies the terms and conditions
- * for use and redistribution.
+ * %sccs.include.redist.c%
  *
  *
- *     @(#)vm_page.h   7.1 (Berkeley) %G%
+ *     @(#)vm_page.h   7.5 (Berkeley) %G%
+ *
+ *
+ * Copyright (c) 1987, 1990 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Authors: Avadis Tevanian, Jr., Michael Wayne Young
+ * 
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ * 
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ * 
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
  */
 
 /*
  */
 
 /*
 #ifndef        _VM_PAGE_
 #define        _VM_PAGE_
 
 #ifndef        _VM_PAGE_
 #define        _VM_PAGE_
 
-#include "../vm/vm_param.h"
-#include "../vm/vm_object.h"
-#include "../vm/vm_prot.h"
-#include "lock.h"
-
 /*
  *     Management of resident (logical) pages.
  *
 /*
  *     Management of resident (logical) pages.
  *
@@ -92,8 +110,6 @@ struct vm_page {
 
 typedef struct vm_page *vm_page_t;
 
 
 typedef struct vm_page *vm_page_t;
 
-#define        VM_PAGE_NULL            ((vm_page_t) 0)
-
 #if    VM_PAGE_DEBUG
 #define        VM_PAGE_CHECK(mem) { \
                if ( (((unsigned int) mem) < ((unsigned int) &vm_page_array[0])) || \
 #if    VM_PAGE_DEBUG
 #define        VM_PAGE_CHECK(mem) { \
                if ( (((unsigned int) mem) < ((unsigned int) &vm_page_array[0])) || \
@@ -143,25 +159,6 @@ vm_offset_t        first_phys_addr;        /* physical address for first_page */
 extern
 vm_offset_t    last_phys_addr;         /* physical address for last_page */
 
 extern
 vm_offset_t    last_phys_addr;         /* physical address for last_page */
 
-extern
-int    vm_page_free_count;     /* How many pages are free? */
-extern
-int    vm_page_active_count;   /* How many pages are active? */
-extern
-int    vm_page_inactive_count; /* How many pages are inactive? */
-extern
-int    vm_page_wire_count;     /* How many pages are wired? */
-extern
-int    vm_page_free_target;    /* How many do we want free? */
-extern
-int    vm_page_free_min;       /* When to wakeup pageout */
-extern
-int    vm_page_inactive_target;/* How many do we want inactive? */
-extern
-int    vm_page_free_reserved;  /* How many pages reserved to do pageout */
-extern
-int    vm_page_laundry_count;  /* How many pages being laundered? */
-
 #define VM_PAGE_TO_PHYS(entry) ((entry)->phys_addr)
 
 #define IS_VM_PHYSADDR(pa) \
 #define VM_PAGE_TO_PHYS(entry) ((entry)->phys_addr)
 
 #define IS_VM_PHYSADDR(pa) \
@@ -176,23 +173,24 @@ simple_lock_data_t        vm_page_queue_lock;     /* lock on active and inactive
 extern
 simple_lock_data_t     vm_page_queue_free_lock;
                                                /* lock on free page queue */
 extern
 simple_lock_data_t     vm_page_queue_free_lock;
                                                /* lock on free page queue */
-vm_offset_t    vm_page_startup();
-vm_page_t      vm_page_lookup();
-vm_page_t      vm_page_alloc();
-void           vm_page_init();
-void           vm_page_free();
-void           vm_page_activate();
-void           vm_page_deactivate();
-void           vm_page_rename();
-void           vm_page_replace();
-
-boolean_t      vm_page_zero_fill();
-void           vm_page_copy();
-
-void           vm_page_wire();
-void           vm_page_unwire();
-
-void           vm_set_page_size();
+void           vm_page_startup __P((vm_offset_t *start, vm_offset_t *end));
+vm_page_t      vm_page_lookup __P((vm_object_t object, vm_offset_t offset));
+vm_page_t      vm_page_alloc __P((vm_object_t object, vm_offset_t offset));
+void           vm_page_init __P((vm_page_t mem, vm_object_t object,
+                       vm_offset_t offset));
+void           vm_page_free __P((vm_page_t mem));
+void           vm_page_activate __P((vm_page_t mem));
+void           vm_page_deactivate __P((vm_page_t mem));
+void           vm_page_rename __P((vm_page_t mem, vm_object_t new_object,
+                       vm_offset_t new_offset));
+
+boolean_t      vm_page_zero_fill __P((vm_page_t mem));
+void           vm_page_copy __P((vm_page_t src_mem, vm_page_t dst_mem));
+
+void           vm_page_wire __P((vm_page_t mem));
+void           vm_page_unwire __P((vm_page_t mem));
+
+void           vm_set_page_size __P((void));
 
 /*
  *     Functions implemented as macros
 
 /*
  *     Functions implemented as macros