2 * Copyright (C) 2009, 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/>.
31 winvblock__def_struct ( bus__type )
33 PDEVICE_OBJECT LowerDeviceObject;
34 PDEVICE_OBJECT PhysicalDeviceObject;
36 winvblock__uint8_ptr first_child_ptr;
40 extern NTSTATUS Bus_Start (
44 extern VOID Bus_Stop (
48 extern NTSTATUS STDCALL Bus_AddDevice (
49 IN PDRIVER_OBJECT DriverObject,
50 IN PDEVICE_OBJECT PhysicalDeviceObject
53 extern irp__handler_decl (
54 Bus_DispatchDeviceControl
57 extern irp__handler_decl (
58 Bus_DispatchSystemControl
61 extern VOID STDCALL Bus_AddTarget (
62 IN winvblock__uint8_ptr ClientMac,
63 IN winvblock__uint8_ptr ServerMac,
64 winvblock__uint16 Major,
65 winvblock__uint8 Minor,
69 extern VOID Bus_CleanupTargetList (
73 extern NTSTATUS STDCALL Bus_GetDeviceCapabilities (
74 IN PDEVICE_OBJECT DeviceObject,
75 IN PDEVICE_CAPABILITIES DeviceCapabilities
78 /* An unfortunate forward declaration. Definition resolved in disk.h */
81 extern winvblock__bool STDCALL Bus_AddChild (
82 IN PDEVICE_OBJECT BusDeviceObject,
83 IN struct _disk__type Disk,
84 IN winvblock__bool Boot
87 extern bus__type_ptr STDCALL get_bus_ptr (
88 driver__dev_ext_ptr dev_ext_ptr
90 extern disk__type_ptr STDCALL get_disk_ptr (
91 driver__dev_ext_ptr dev_ext_ptr
94 extern PDEVICE_OBJECT bus__fdo;