OSDN Git Service

d5a7017aa1fae1705abef389bd7b35ebb259755b
[mingw/mingw-org-wsl.git] / w32api / include / ddk / miniport.h
1 /*
2  * miniport.h
3  *
4  * Type definitions for miniport drivers
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22
23 #ifndef __MINIPORT_H
24 #define __MINIPORT_H
25
26 #if __GNUC__ >=3
27 #pragma GCC system_header
28 #endif
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 #include "ntddk.h"
35
36 #define EMULATOR_READ_ACCESS              0x01
37 #define EMULATOR_WRITE_ACCESS             0x02
38
39 typedef enum _EMULATOR_PORT_ACCESS_TYPE {
40         Uchar,
41         Ushort,
42         Ulong
43 } EMULATOR_PORT_ACCESS_TYPE, *PEMULATOR_PORT_ACCESS_TYPE;
44
45
46 typedef struct _EMULATOR_ACCESS_ENTRY {
47   ULONG  BasePort;
48   ULONG  NumConsecutivePorts;
49   EMULATOR_PORT_ACCESS_TYPE  AccessType;
50   UCHAR  AccessMode;
51   UCHAR  StringSupport;
52   PVOID  Routine;
53 } EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;
54
55 #ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in video.h */
56 #define VIDEO_ACCESS_RANGE_DEFINED
57 typedef struct _VIDEO_ACCESS_RANGE {
58   PHYSICAL_ADDRESS  RangeStart;
59   ULONG  RangeLength;
60   UCHAR  RangeInIoSpace;
61   UCHAR  RangeVisible;
62   UCHAR  RangeShareable;
63   UCHAR  RangePassive;
64 } VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
65 #endif
66
67 typedef VOID DDKAPI
68 (*PBANKED_SECTION_ROUTINE)(
69   /*IN*/ ULONG  ReadBank,
70   /*IN*/ ULONG  WriteBank,
71   /*IN*/ PVOID  Context);
72
73 #ifdef __cplusplus
74 }
75 #endif
76
77 #endif /* __MINIPORT_H */