source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ddk/videoagp.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 2.8 KB
Line 
1/*
2 * videoagp.h
3 *
4 * Video miniport AGP interface
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#pragma once
24
25#define __VIDEOAGP_H__
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31#define VIDEO_AGP_RATE_1X 0x00000001
32#define VIDEO_AGP_RATE_2X 0x00000002
33#define VIDEO_AGP_RATE_4X 0x00000004
34#define VIDEO_AGP_RATE_8X 0x00000008
35
36typedef enum _VIDEO_PORT_CACHE_TYPE {
37 VpNonCached = 0,
38 VpWriteCombined,
39 VpCached
40} VIDEO_PORT_CACHE_TYPE;
41
42typedef BOOLEAN
43(NTAPI *PAGP_COMMIT_PHYSICAL)(
44 IN PVOID HwDeviceExtension,
45 IN PVOID PhysicalReserveContext,
46 IN ULONG Pages,
47 IN ULONG Offset);
48
49typedef PVOID
50(NTAPI *PAGP_COMMIT_VIRTUAL)(
51 IN PVOID HwDeviceExtension,
52 IN PVOID VirtualReserveContext,
53 IN ULONG Pages,
54 IN ULONG Offset);
55
56typedef VOID
57(NTAPI *PAGP_FREE_PHYSICAL)(
58 IN PVOID HwDeviceExtension,
59 IN PVOID PhysicalReserveContext,
60 IN ULONG Pages,
61 IN ULONG Offset);
62
63typedef VOID
64(NTAPI *PAGP_FREE_VIRTUAL)(
65 IN PVOID HwDeviceExtension,
66 IN PVOID VirtualReserveContext,
67 IN ULONG Pages,
68 IN ULONG Offset);
69
70typedef VOID
71(NTAPI *PAGP_RELEASE_PHYSICAL)(
72 IN PVOID HwDeviceExtension,
73 IN PVOID PhysicalReserveContext);
74
75typedef VOID
76(NTAPI *PAGP_RELEASE_VIRTUAL)(
77 IN PVOID HwDeviceExtension,
78 IN PVOID VirtualReserveContext);
79
80typedef PHYSICAL_ADDRESS
81(NTAPI *PAGP_RESERVE_PHYSICAL)(
82 IN PVOID HwDeviceExtension,
83 IN ULONG Pages,
84 IN VIDEO_PORT_CACHE_TYPE Caching,
85 OUT PVOID *PhysicalReserveContext);
86
87typedef PVOID
88(NTAPI *PAGP_RESERVE_VIRTUAL)(
89 IN PVOID HwDeviceExtension,
90 IN HANDLE ProcessHandle,
91 IN PVOID PhysicalReserveContext,
92 OUT PVOID *VirtualReserveContext);
93
94typedef BOOLEAN
95(NTAPI *PAGP_SET_RATE)(
96 IN PVOID HwDeviceExtension,
97 IN ULONG AgpRate);
98
99typedef struct _VIDEO_PORT_AGP_SERVICES {
100 PAGP_RESERVE_PHYSICAL AgpReservePhysical;
101 PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
102 PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
103 PAGP_FREE_PHYSICAL AgpFreePhysical;
104 PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
105 PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
106 PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
107 PAGP_FREE_VIRTUAL AgpFreeVirtual;
108 ULONGLONG AllocationLimit;
109} VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
110
111BOOLEAN
112NTAPI
113VideoPortGetAgpServices(
114 IN PVOID HwDeviceExtension,
115 IN PVIDEO_PORT_AGP_SERVICES AgpServices);
116
117#ifdef __cplusplus
118}
119#endif
Note: See TracBrowser for help on using the repository browser.