ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

videoagp.h
Go to the documentation of this file.
00001 /*
00002  * videoagp.h
00003  *
00004  * Video miniport AGP interface
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #pragma once
00024 
00025 #define __VIDEOAGP_H__
00026 
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 
00031 #define VIDEO_AGP_RATE_1X                 0x00000001
00032 #define VIDEO_AGP_RATE_2X                 0x00000002
00033 #define VIDEO_AGP_RATE_4X                 0x00000004
00034 #define VIDEO_AGP_RATE_8X                 0x00000008
00035 
00036 typedef enum _VIDEO_PORT_CACHE_TYPE {
00037   VpNonCached = 0,
00038   VpWriteCombined,
00039   VpCached
00040 } VIDEO_PORT_CACHE_TYPE;
00041 
00042 typedef BOOLEAN
00043 (NTAPI *PAGP_COMMIT_PHYSICAL)(
00044   IN PVOID HwDeviceExtension,
00045   IN PVOID PhysicalReserveContext,
00046   IN ULONG Pages,
00047   IN ULONG Offset);
00048 
00049 typedef PVOID
00050 (NTAPI *PAGP_COMMIT_VIRTUAL)(
00051   IN PVOID HwDeviceExtension,
00052   IN PVOID VirtualReserveContext,
00053   IN ULONG Pages,
00054   IN ULONG Offset);
00055 
00056 typedef VOID
00057 (NTAPI *PAGP_FREE_PHYSICAL)(
00058   IN PVOID HwDeviceExtension,
00059   IN PVOID PhysicalReserveContext,
00060   IN ULONG Pages,
00061   IN ULONG Offset);
00062 
00063 typedef VOID
00064 (NTAPI *PAGP_FREE_VIRTUAL)(
00065   IN PVOID HwDeviceExtension,
00066   IN PVOID VirtualReserveContext,
00067   IN ULONG Pages,
00068   IN ULONG Offset);
00069 
00070 typedef VOID
00071 (NTAPI *PAGP_RELEASE_PHYSICAL)(
00072   IN PVOID HwDeviceExtension,
00073   IN PVOID PhysicalReserveContext);
00074 
00075 typedef VOID
00076 (NTAPI *PAGP_RELEASE_VIRTUAL)(
00077   IN PVOID HwDeviceExtension,
00078   IN PVOID VirtualReserveContext);
00079 
00080 typedef PHYSICAL_ADDRESS
00081 (NTAPI *PAGP_RESERVE_PHYSICAL)(
00082   IN PVOID HwDeviceExtension,
00083   IN ULONG Pages,
00084   IN VIDEO_PORT_CACHE_TYPE  Caching,
00085   OUT PVOID *PhysicalReserveContext);
00086 
00087 typedef PVOID
00088 (NTAPI *PAGP_RESERVE_VIRTUAL)(
00089   IN PVOID HwDeviceExtension,
00090   IN HANDLE ProcessHandle,
00091   IN PVOID PhysicalReserveContext,
00092   OUT PVOID *VirtualReserveContext);
00093 
00094 typedef BOOLEAN
00095 (NTAPI *PAGP_SET_RATE)(
00096   IN PVOID HwDeviceExtension,
00097   IN ULONG AgpRate);
00098 
00099 typedef struct _VIDEO_PORT_AGP_SERVICES {
00100   PAGP_RESERVE_PHYSICAL AgpReservePhysical;
00101   PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
00102   PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
00103   PAGP_FREE_PHYSICAL AgpFreePhysical;
00104   PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
00105   PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
00106   PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
00107   PAGP_FREE_VIRTUAL AgpFreeVirtual;
00108   ULONGLONG AllocationLimit;
00109 } VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
00110 
00111 BOOLEAN
00112 NTAPI
00113 VideoPortGetAgpServices(
00114   IN PVOID HwDeviceExtension,
00115   IN PVIDEO_PORT_AGP_SERVICES AgpServices);
00116 
00117 #ifdef __cplusplus
00118 }
00119 #endif

Generated on Sat May 26 2012 04:28:58 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.