adopted from Mike Hibler at Utah
[unix-history] / usr / src / sys / vm / vnode_pager.h
CommitLineData
619edcce
KM
1/*
2 * Copyright (c) 1990 University of Utah.
3 * Copyright (c) 1991 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.
9 *
10 * %sccs.include.redist.c%
11 *
12 * @(#)vnode_pager.h 7.1 (Berkeley) %G%
13 */
14
15#ifndef _VNODE_PAGER_
16#define _VNODE_PAGER_ 1
17
18/*
19 * VNODE pager private data.
20 */
21struct vnpager {
22 int vnp_flags; /* flags */
23 struct vnode *vnp_vp; /* vnode */
24 vm_size_t vnp_size; /* vnode current size */
25};
26typedef struct vnpager *vn_pager_t;
27
28#define VN_PAGER_NULL ((vn_pager_t)0)
29
30#define VNP_PAGING 0x01 /* vnode used for pageout */
31#define VNP_CACHED 0x02 /* vnode is cached */
32
33#ifdef KERNEL
34
35void vnode_pager_init();
36vm_pager_t vnode_pager_alloc();
37void vnode_pager_dealloc();
38int vnode_pager_getpage(), vnode_pager_putpage();
39boolean_t vnode_pager_haspage();
40
41struct pagerops vnodepagerops = {
42 vnode_pager_init,
43 vnode_pager_alloc,
44 vnode_pager_dealloc,
45 vnode_pager_getpage,
46 vnode_pager_putpage,
47 vnode_pager_haspage
48};
49
50#endif
51
52#endif /* _VNODE_PAGER_ */