summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2004-11-09 13:43:20 +0000
committerphk <phk@FreeBSD.org>2004-11-09 13:43:20 +0000
commitd87333225e35e8c6b3afa41f52e976cd6a0f0a81 (patch)
tree87c5a11c3762da87a839838007cb2e8eb692dde9 /sys/vm
parentab25fa1db20b5c1b6784e1cb0e5f7e027804fde6 (diff)
downloadFreeBSD-src-d87333225e35e8c6b3afa41f52e976cd6a0f0a81.zip
FreeBSD-src-d87333225e35e8c6b3afa41f52e976cd6a0f0a81.tar.gz
Improve readability with a bunch of typedefs for the pager ops.
These can also be used for prototypes in the pagers.
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 6b30f80..7581692 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;
OpenPOWER on IntegriCloud