/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: videoagp.h Abstract: Video miniport AGP support. Notes: Revision History: --*/ #ifndef __VIDEOAGP_H__ #define __VIDEOAGP_H__ #define VIDEO_AGP_RATE_1X 1 #define VIDEO_AGP_RATE_2X 2 #define VIDEO_AGP_RATE_4X 4 #define VIDEO_AGP_RATE_8X 8 typedef enum { VpNonCached = 0, VpWriteCombined, VpCached } VIDEO_PORT_CACHE_TYPE; typedef PHYSICAL_ADDRESS (*PAGP_RESERVE_PHYSICAL)( IN PVOID HwDeviceExtension, IN ULONG Pages, IN VIDEO_PORT_CACHE_TYPE Caching, OUT PVOID *PhysicalReserveContext ); typedef VOID (*PAGP_RELEASE_PHYSICAL)( IN PVOID HwDeviceExtension, IN PVOID PhysicalReserveContext ); typedef BOOLEAN (*PAGP_COMMIT_PHYSICAL)( IN PVOID HwDeviceExtension, IN PVOID PhysicalReserveContext, IN ULONG Pages, IN ULONG Offset ); typedef VOID (*PAGP_FREE_PHYSICAL)( IN PVOID HwDeviceExtension, IN PVOID PhysicalReserveContext, IN ULONG Pages, IN ULONG Offset ); typedef PVOID (*PAGP_RESERVE_VIRTUAL)( IN PVOID HwDeviceExtension, IN HANDLE ProcessHandle, IN PVOID PhysicalReserveContext, OUT PVOID *VirtualReserveContext ); typedef VOID (*PAGP_RELEASE_VIRTUAL)( IN PVOID HwDeviceExtension, IN PVOID VirtualReserveContext ); typedef PVOID (*PAGP_COMMIT_VIRTUAL)( IN PVOID HwDeviceExtension, IN PVOID VirtualReserveContext, IN ULONG Pages, IN ULONG Offset ); typedef VOID (*PAGP_FREE_VIRTUAL)( IN PVOID HwDeviceExtension, IN PVOID VirtualReserveContext, IN ULONG Pages, IN ULONG Offset ); typedef BOOLEAN (*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; BOOLEAN VideoPortGetAgpServices( IN PVOID HwDeviceExtension, IN PVIDEO_PORT_AGP_SERVICES AgpServices ); #endif // ifndef __VIDEOAGP_H__