diff options
| author | 2023-12-12 11:41:26 -0500 | |
|---|---|---|
| committer | 2023-12-12 11:41:26 -0500 | |
| commit | ff489bd82ff313bcfd7dc2ab585ed31cec909ebd (patch) | |
| tree | 300e031693a5ddb990a32068ab0596382349aeea /tcc/include/winapi/ddk/videoagp.h | |
| parent | init (diff) | |
fix software to compile properly on Windows XP x86
Diffstat (limited to '')
| -rw-r--r-- | tcc/include/winapi/ddk/videoagp.h | 129 |
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 */ |
