xref: /haiku/src/system/kernel/vm/VMDeviceCache.h (revision ba0223da5d79c5cd27496ee0e5712921cebb7642)
1 /*
2  * Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Copyright 2005-2007, Axel Dörfler, axeld@pinc-software.de.
4  * Distributed under the terms of the MIT License.
5  *
6  * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
7  * Distributed under the terms of the NewOS License.
8  */
9 #ifndef _KERNEL_VM_STORE_DEVICE_H
10 #define _KERNEL_VM_STORE_DEVICE_H
11 
12 
13 #include <vm/VMCache.h>
14 
15 
16 class VMDeviceCache final : public VMCache {
17 public:
18 			status_t			Init(addr_t baseAddress,
19 									uint32 allocationFlags);
20 
21 	virtual	status_t			Read(off_t offset, const generic_io_vec *vecs,
22 									 size_t count, uint32 flags,
23 									 generic_size_t *_numBytes);
24 	virtual	status_t			Write(off_t offset, const generic_io_vec *vecs,
25 									  size_t count, uint32 flags,
26 									  generic_size_t *_numBytes);
27 
28 protected:
29 	virtual	void				DeleteObject();
30 
31 private:
32 			addr_t				fBaseAddress;
33 };
34 
35 
36 #endif	/* _KERNEL_VM_STORE_DEVICE_H */
37