btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / system / kernel / device_manager / AbstractModuleDevice.cpp
blobe78673fd1595c39e46765cc94f8d2c03ebc4d79b
1 /*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2008-2009, Axel Dörfler, axeld@pinc-software.de.
4 * Distributed under the terms of the MIT License.
5 */
8 #include "AbstractModuleDevice.h"
11 AbstractModuleDevice::AbstractModuleDevice()
13 fNode(NULL),
14 fInitialized(0),
15 fDeviceModule(NULL),
16 fDeviceData(NULL)
21 AbstractModuleDevice::~AbstractModuleDevice()
26 bool
27 AbstractModuleDevice::HasSelect() const
29 return Module()->select != NULL;
33 bool
34 AbstractModuleDevice::HasDeselect() const
36 return Module()->deselect != NULL;
40 bool
41 AbstractModuleDevice::HasRead() const
43 return Module()->read != NULL;
47 bool
48 AbstractModuleDevice::HasWrite() const
50 return Module()->write != NULL;
54 bool
55 AbstractModuleDevice::HasIO() const
57 return Module()->io != NULL;
61 status_t
62 AbstractModuleDevice::Open(const char* path, int openMode, void** _cookie)
64 return Module()->open(Data(), path, openMode, _cookie);
68 status_t
69 AbstractModuleDevice::Read(void* cookie, off_t pos, void* buffer, size_t* _length)
71 return Module()->read(cookie, pos, buffer, _length);
75 status_t
76 AbstractModuleDevice::Write(void* cookie, off_t pos, const void* buffer, size_t* _length)
78 return Module()->write(cookie, pos, buffer, _length);
82 status_t
83 AbstractModuleDevice::IO(void* cookie, io_request* request)
85 return Module()->io(cookie, request);
89 status_t
90 AbstractModuleDevice::Control(void* cookie, int32 op, void* buffer, size_t length)
92 return Module()->control(cookie, op, buffer, length);
96 status_t
97 AbstractModuleDevice::Select(void* cookie, uint8 event, selectsync* sync)
99 return Module()->select(cookie, event, sync);
103 status_t
104 AbstractModuleDevice::Deselect(void* cookie, uint8 event, selectsync* sync)
106 return Module()->deselect(cookie, event, sync);
110 status_t
111 AbstractModuleDevice::Close(void* cookie)
113 return Module()->close(cookie);
117 status_t
118 AbstractModuleDevice::Free(void* cookie)
120 return Module()->free(cookie);