windows-nt/Source/XPSP1/NT/drivers/published/ddk/inc/videoagp.w

130 lines
2.3 KiB
OpenEdge ABL
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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__