1 // Copyright (c) 2004, Antony C. Roberts
2 
3 // Use of this file is subject to the terms
4 // described in the LICENSE.TXT file that
5 // accompanies this file.
6 //
7 // Your use of this file indicates your
8 // acceptance of the terms described in
9 // LICENSE.TXT.
10 //
11 // http://www.freebt.net
12 
13 #ifndef _FREEBT_RWR_H
14 #define _FREEBT_RWR_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 typedef struct _FREEBT_RW_CONTEXT
21 {
22     PURB					Urb;
23     PMDL					Mdl;
24     ULONG					Length;				// remaining to xfer
25     ULONG					Numxfer;			// cumulate xfer
26     ULONG_PTR				VirtualAddress;		// va for next segment of xfer.
27 
28 } FREEBT_RW_CONTEXT, * PFREEBT_RW_CONTEXT;
29 
30 NTSTATUS NTAPI FreeBT_DispatchRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
31 NTSTATUS NTAPI FreeBT_ReadCompletion(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context);
32 NTSTATUS NTAPI FreeBT_DispatchWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
33 NTSTATUS NTAPI FreeBT_WriteCompletion(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context);
34 
35 #ifdef __cplusplus
36 };
37 #endif
38 
39 #endif
40