| 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 | 
 
 
 
 
 | 28 | extern "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 |  | 
 
 
 
 
 | 36 | typedef enum _VIDEO_PORT_CACHE_TYPE { | 
 
 
 
 
 | 37 | VpNonCached = 0, | 
 
 
 
 
 | 38 | VpWriteCombined, | 
 
 
 
 
 | 39 | VpCached | 
 
 
 
 
 | 40 | } VIDEO_PORT_CACHE_TYPE; | 
 
 
 
 
 | 41 |  | 
 
 
 
 
 | 42 | typedef BOOLEAN | 
 
 
 
 
 | 43 | (NTAPI *PAGP_COMMIT_PHYSICAL)( | 
 
 
 
 
 | 44 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 45 | IN PVOID PhysicalReserveContext, | 
 
 
 
 
 | 46 | IN ULONG Pages, | 
 
 
 
 
 | 47 | IN ULONG Offset); | 
 
 
 
 
 | 48 |  | 
 
 
 
 
 | 49 | typedef PVOID | 
 
 
 
 
 | 50 | (NTAPI *PAGP_COMMIT_VIRTUAL)( | 
 
 
 
 
 | 51 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 52 | IN PVOID VirtualReserveContext, | 
 
 
 
 
 | 53 | IN ULONG Pages, | 
 
 
 
 
 | 54 | IN ULONG Offset); | 
 
 
 
 
 | 55 |  | 
 
 
 
 
 | 56 | typedef VOID | 
 
 
 
 
 | 57 | (NTAPI *PAGP_FREE_PHYSICAL)( | 
 
 
 
 
 | 58 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 59 | IN PVOID PhysicalReserveContext, | 
 
 
 
 
 | 60 | IN ULONG Pages, | 
 
 
 
 
 | 61 | IN ULONG Offset); | 
 
 
 
 
 | 62 |  | 
 
 
 
 
 | 63 | typedef VOID | 
 
 
 
 
 | 64 | (NTAPI *PAGP_FREE_VIRTUAL)( | 
 
 
 
 
 | 65 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 66 | IN PVOID VirtualReserveContext, | 
 
 
 
 
 | 67 | IN ULONG Pages, | 
 
 
 
 
 | 68 | IN ULONG Offset); | 
 
 
 
 
 | 69 |  | 
 
 
 
 
 | 70 | typedef VOID | 
 
 
 
 
 | 71 | (NTAPI *PAGP_RELEASE_PHYSICAL)( | 
 
 
 
 
 | 72 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 73 | IN PVOID PhysicalReserveContext); | 
 
 
 
 
 | 74 |  | 
 
 
 
 
 | 75 | typedef VOID | 
 
 
 
 
 | 76 | (NTAPI *PAGP_RELEASE_VIRTUAL)( | 
 
 
 
 
 | 77 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 78 | IN PVOID VirtualReserveContext); | 
 
 
 
 
 | 79 |  | 
 
 
 
 
 | 80 | typedef 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 |  | 
 
 
 
 
 | 87 | typedef PVOID | 
 
 
 
 
 | 88 | (NTAPI *PAGP_RESERVE_VIRTUAL)( | 
 
 
 
 
 | 89 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 90 | IN HANDLE ProcessHandle, | 
 
 
 
 
 | 91 | IN PVOID PhysicalReserveContext, | 
 
 
 
 
 | 92 | OUT PVOID *VirtualReserveContext); | 
 
 
 
 
 | 93 |  | 
 
 
 
 
 | 94 | typedef BOOLEAN | 
 
 
 
 
 | 95 | (NTAPI *PAGP_SET_RATE)( | 
 
 
 
 
 | 96 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 97 | IN ULONG AgpRate); | 
 
 
 
 
 | 98 |  | 
 
 
 
 
 | 99 | typedef 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 |  | 
 
 
 
 
 | 111 | BOOLEAN | 
 
 
 
 
 | 112 | NTAPI | 
 
 
 
 
 | 113 | VideoPortGetAgpServices( | 
 
 
 
 
 | 114 | IN PVOID HwDeviceExtension, | 
 
 
 
 
 | 115 | IN PVIDEO_PORT_AGP_SERVICES AgpServices); | 
 
 
 
 
 | 116 |  | 
 
 
 
 
 | 117 | #ifdef __cplusplus | 
 
 
 
 
 | 118 | } | 
 
 
 
 
 | 119 | #endif |