2 * Copyright (C) 2009-2010, Shao Miller <shao.miller@yrdsb.edu.on.ca>.
3 * Copyright 2006-2008, V.
4 * For WinAoE contact information, see http://winaoe.org/
6 * This file is part of WinVBlock, derived from WinAoE.
8 * WinVBlock is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
13 * WinVBlock is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with WinVBlock. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef WV_M_DRIVER_H_
22 # define WV_M_DRIVER_H_
30 /* For testing and debugging */
34 # define DEBUGMOSTPROTOCOLCALLS
35 # define DEBUGALLPROTOCOLCALLS
40 /* An unfortunate forward declaration. Definition resolved in device.h */
43 extern PDRIVER_OBJECT WvDriverObj;
44 extern winvblock__lib_func void STDCALL Driver_CompletePendingIrp(IN PIRP);
45 /* Note the exception to the function naming convention. */
46 extern winvblock__lib_func NTSTATUS STDCALL Error(IN PCHAR, IN NTSTATUS);
47 extern winvblock__lib_func struct WV_BUS_T * driver__bus(void);
48 /* Note the exception to the function naming convention. */
49 extern NTSTATUS STDCALL DriverEntry(
54 /* The physical/function device object's (PDO's/FDO's) DeviceExtension */
55 winvblock__def_struct(driver__dev_ext) {
56 struct WV_DEV_T * device;
59 /* The prototype for a device IRP dispatch. */
60 typedef NTSTATUS STDCALL driver__dispatch_func(
65 extern winvblock__lib_func NTSTATUS STDCALL driver__complete_irp(
71 #endif /* WV_M_DRIVER_H_ */