aboutsummaryrefslogtreecommitdiffstats
path: root/tcc/include/winapi/ddk/videoagp.h
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2023-12-12 11:41:26 -0500
committerGravatar Peter McGoron 2023-12-12 11:41:26 -0500
commitff489bd82ff313bcfd7dc2ab585ed31cec909ebd (patch)
tree300e031693a5ddb990a32068ab0596382349aeea /tcc/include/winapi/ddk/videoagp.h
parentinit (diff)
fix software to compile properly on Windows XP x86
Diffstat (limited to '')
-rw-r--r--tcc/include/winapi/ddk/videoagp.h129
1 files changed, 129 insertions, 0 deletions
diff --git a/tcc/include/winapi/ddk/videoagp.h b/tcc/include/winapi/ddk/videoagp.h
new file mode 100644
index 0000000..299def2
--- /dev/null
+++ b/tcc/include/winapi/ddk/videoagp.h
@@ -0,0 +1,129 @@
+/*
+ * videoagp.h
+ *
+ * Video miniport AGP interface
+ *
+ * This file is part of the w32api package.
+ *
+ * Contributors:
+ * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+#ifndef __VIDEOAGP_H
+#define __VIDEOAGP_H
+
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "ntddk.h"
+#include "video.h"
+
+
+#define VIDEO_AGP_RATE_1X 0x00000001
+#define VIDEO_AGP_RATE_2X 0x00000002
+#define VIDEO_AGP_RATE_4X 0x00000004
+#define VIDEO_AGP_RATE_8X 0x00000008
+
+typedef enum _VIDEO_PORT_CACHE_TYPE {
+ VpNonCached = 0,
+ VpWriteCombined,
+ VpCached
+} VIDEO_PORT_CACHE_TYPE;
+
+typedef BOOLEAN DDKAPI
+(*PAGP_COMMIT_PHYSICAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVOID PhysicalReserveContext,
+ /*IN*/ ULONG Pages,
+ /*IN*/ ULONG Offset);
+
+typedef PVOID DDKAPI
+(*PAGP_COMMIT_VIRTUAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVOID VirtualReserveContext,
+ /*IN*/ ULONG Pages,
+ /*IN*/ ULONG Offset);
+
+typedef VOID DDKAPI
+(*PAGP_FREE_PHYSICAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVOID PhysicalReserveContext,
+ /*IN*/ ULONG Pages,
+ /*IN*/ ULONG Offset);
+
+typedef VOID DDKAPI
+(*PAGP_FREE_VIRTUAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVOID VirtualReserveContext,
+ /*IN*/ ULONG Pages,
+ /*IN*/ ULONG Offset);
+
+typedef VOID DDKAPI
+(*PAGP_RELEASE_PHYSICAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVOID PhysicalReserveContext);
+
+typedef VOID DDKAPI
+(*PAGP_RELEASE_VIRTUAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVOID VirtualReserveContext);
+
+typedef PHYSICAL_ADDRESS DDKAPI
+(*PAGP_RESERVE_PHYSICAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ ULONG Pages,
+ /*IN*/ VIDEO_PORT_CACHE_TYPE Caching,
+ /*OUT*/ PVOID *PhysicalReserveContext);
+
+typedef PVOID DDKAPI
+(*PAGP_RESERVE_VIRTUAL)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ HANDLE ProcessHandle,
+ /*IN*/ PVOID PhysicalReserveContext,
+ /*OUT*/ PVOID *VirtualReserveContext);
+
+typedef BOOLEAN DDKAPI
+(*PAGP_SET_RATE)(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ ULONG AgpRate);
+
+typedef struct _VIDEO_PORT_AGP_SERVICES {
+ PAGP_RESERVE_PHYSICAL AgpReservePhysical;
+ PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
+ PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
+ PAGP_FREE_PHYSICAL AgpFreePhysical;
+ PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
+ PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
+ PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
+ PAGP_FREE_VIRTUAL AgpFreeVirtual;
+ ULONGLONG AllocationLimit;
+} VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
+
+VPAPI
+BOOLEAN
+DDKAPI
+VideoPortGetAgpServices(
+ /*IN*/ PVOID HwDeviceExtension,
+ /*IN*/ PVIDEO_PORT_AGP_SERVICES AgpServices);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __VIDEOAGP_H */