aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2004-11-09 13:43:20 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2004-11-09 13:43:20 +0000
commitd20b2f76cc1d1a78ee75aa6955fe52a771379190 (patch)
tree87c5a11c3762da87a839838007cb2e8eb692dde9 /sys/vm
parent6a33b3c60bcd7df7f78ce527ca91e5605f1c0981 (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pager.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/sys/vm/vm_pager.h b/sys/vm/vm_pager.h
index 6b30f8036b84f..7581692727c80 100644
--- a/sys/vm/vm_pager.h
+++ b/sys/vm/vm_pager.h
@@ -48,14 +48,22 @@ TAILQ_HEAD(pagerlst, vm_object);
struct bio;
+typedef void pgo_init_t(void);
+typedef vm_object_t pgo_alloc_t(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t);
+typedef void pgo_dealloc_t(vm_object_t);
+typedef int pgo_getpages_t(vm_object_t, vm_page_t *, int, int);
+typedef void pgo_putpages_t(vm_object_t, vm_page_t *, int, int, int *);
+typedef boolean_t pgo_haspage_t(vm_object_t, vm_pindex_t, int *, int *);
+typedef void pgo_pageunswapped_t(vm_page_t);
+
struct pagerops {
- void (*pgo_init)(void); /* Initialize pager. */
- vm_object_t (*pgo_alloc)(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t); /* Allocate pager. */
- void (*pgo_dealloc)(vm_object_t); /* Disassociate. */
- int (*pgo_getpages)(vm_object_t, vm_page_t *, int, int); /* Get (read) page. */
- void (*pgo_putpages)(vm_object_t, vm_page_t *, int, int, int *); /* Put (write) page. */
- boolean_t (*pgo_haspage)(vm_object_t, vm_pindex_t, int *, int *); /* Does pager have page? */
- void (*pgo_pageunswapped)(vm_page_t);
+ pgo_init_t *pgo_init; /* Initialize pager. */
+ pgo_alloc_t *pgo_alloc; /* Allocate pager. */
+ pgo_dealloc_t *pgo_dealloc; /* Disassociate. */
+ pgo_getpages_t *pgo_getpages; /* Get (read) page. */
+ pgo_putpages_t *pgo_putpages; /* Put (write) page. */
+ pgo_haspage_t *pgo_haspage; /* Does pager have page? */
+ pgo_pageunswapped_t *pgo_pageunswapped;
};
extern struct pagerops defaultpagerops;