2 * Copyright (C) 2009-2011, 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__uint16)((((x) << 8) & 0xff00) | (((x) >> 8) & 0xff))
33 (winvblock__uint16)((((x) << 8) & 0xff00) | (((x) >> 8) & 0xff))
35 # define IOCTL_AOE_SCAN \
37 FILE_DEVICE_CONTROLLER, \
40 FILE_READ_DATA | FILE_WRITE_DATA \
42 # define IOCTL_AOE_SHOW \
44 FILE_DEVICE_CONTROLLER, \
47 FILE_READ_DATA | FILE_WRITE_DATA \
49 # define IOCTL_AOE_MOUNT \
51 FILE_DEVICE_CONTROLLER, \
54 FILE_READ_DATA | FILE_WRITE_DATA \
56 # define IOCTL_AOE_UMOUNT \
58 FILE_DEVICE_CONTROLLER, \
61 FILE_READ_DATA | FILE_WRITE_DATA \
64 typedef struct AOE_MOUNT_TARGET {
65 winvblock__uint8 ClientMac[6];
66 winvblock__uint8 ServerMac[6];
67 winvblock__uint32 Major;
68 winvblock__uint32 Minor;
70 LARGE_INTEGER ProbeTime;
71 } AOE_S_MOUNT_TARGET, * AOE_SP_MOUNT_TARGET;
73 typedef struct AOE_MOUNT_TARGETS {
74 winvblock__uint32 Count;
75 AOE_S_MOUNT_TARGET Target[];
76 } AOE_S_MOUNT_TARGETS, * AOE_SP_MOUNT_TARGETS;
78 winvblock__def_struct(aoe__mount_disk)
80 winvblock__uint32 Disk;
81 winvblock__uint8 ClientMac[6];
82 winvblock__uint8 ServerMac[6];
83 winvblock__uint32 Major;
84 winvblock__uint32 Minor;
88 typedef struct AOE_MOUNT_DISKS {
89 winvblock__uint32 Count;
90 aoe__mount_disk Disk[];
91 } AOE_S_MOUNT_DISKS, * AOE_S_MOUNT_DISKS;
93 extern void aoe__reset_probe(void);
95 #endif /* AOE_M_AOE_H_ */