merge in 7.7.1.1 (ralphs 3100 changes)
[unix-history] / usr / src / sys / vm / device_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 * @(#)device_pager.h 7.1 (Berkeley) %G%
13 */
14
15#ifndef _DEVICE_PAGER_
16#define _DEVICE_PAGER_ 1
17
18/*
19 * Device pager private data.
20 */
21struct devpager {
22 queue_head_t devp_list; /* list of managed devices */
23 dev_t devp_dev; /* devno of device */
24 vm_page_t devp_pages; /* page structs for device */
25 int devp_npages; /* size of device in pages */
26 int devp_count; /* reference count */
27 vm_object_t devp_object; /* object representing this device */
28};
29typedef struct devpager *dev_pager_t;
30
31#define DEV_PAGER_NULL ((dev_pager_t)0)
32
33#ifdef KERNEL
34
35void dev_pager_init();
36vm_pager_t dev_pager_alloc();
37void dev_pager_dealloc();
38boolean_t dev_pager_getpage(), dev_pager_putpage();
39boolean_t dev_pager_haspage();
40
41struct pagerops devicepagerops = {
42 dev_pager_init,
43 dev_pager_alloc,
44 dev_pager_dealloc,
45 dev_pager_getpage,
46 dev_pager_putpage,
47 dev_pager_haspage
48};
49
50#endif
51
52#endif /* _DEVICE_PAGER_ */