/* File: AGP.h Contains: API for Accelerated Graphics Port (AGP) Version: Technology: 1.0 Release: QuickTime 6.0.2 Copyright: (c) 1999-2001 by Apple Computer, Inc., all rights reserved. Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __AGP__ #define __AGP__ #ifndef __CONDITIONALMACROS__ #include #endif #ifndef __MACTYPES__ #include #endif #if PRAGMA_ONCE #pragma once #endif #ifdef __cplusplus extern "C" { #endif #if PRAGMA_IMPORT #pragma import on #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=power #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(push, 2) #elif PRAGMA_STRUCT_PACK #pragma pack(2) #endif /* AGP related property names*/ #define kAGPMasterProperty "AGP_Master" #define kAGPTargetProperty "AGP_Target" #define kAGPAddressRange "AGP_Address_Range" #define kAGPAddressBlock "AGP_Address_Block" #define kAGPAlignment "AGP_Alignment" #define kAGPAllowOverlap "AGP_AllowOverlap" #define kAGPMajorRevision "AGP_MajorRevision" #define kAGPMinorRevision "AGP_MinorRevision" #define kAGPDepth "AGP_Depth" #define kAGPSBASupport "AGP_SBA_Support" #define AGPTransferType "AGP_Transfer_Type" #define kAGPFourGig "AGP_4Gig_Enabled" #define kAGPFastWrite "AGP_FastWrite_Enabled" #define kAGPEnabled "AGP_Enabled" /* AGP Capabilities Register definitions*/ enum { /* AGP Register Offsets*/ kAGPRevisionOffset = 0x02, kAGPStatusOffset = 0x04, kAGPCommandOffset = 0x08, /* Major/Minor Rev Bits*/ kAGPMinorRevMask = 0x0F, kAGPMajorRevMask = 0xF0, kAGPMinorRevBit = 0x00, kAGPMajorRevBit = 0x04, /* AGP Status Register definitions*/ kAGPDataRateMask = 0x00000003, kAGPFastWriteMask = 0x00000010, kAGPFourGigAddrMask = 0x00000020, kAGPSideBandAddrMask = 0x00000200, kAGPRequestDepthMask = (long)0xFF000000, kAGPDataRateBit = 0x00, kAGPFastWriteBit = 0x04, kAGPFourGigAddrBit = 0x05, kAGPSideBandAddrBit = 0x09, kAGPRequestDepthBit = 0x18, /* AGP Command Register definitions*/ kAGPEnableBit = 0x08, kAGPEnableMask = 0x00000100 }; /* AGP Speed definitions*/ enum { kAGPOneX = 1, kAGPTwoX = 2, kAGPFourX = 4 }; enum { kAGPQueryBaseAddress = 1, kAGPQueryEnabled = 2, kAGPQueryMaxAGPMemory = 3, kAGPQueryFreeAGPMemory = 4, kAGPEnabledStatus = 1, kAGPDisabledStatus = 0 }; struct AGPAddressPair { LogicalAddress systemLogicalAddress; LogicalAddress agpLogicalAddress; UInt32 internalInfo[4]; }; typedef struct AGPAddressPair AGPAddressPair; typedef UInt32 AGPQuery; #if CALL_NOT_IN_CARBON EXTERN_API_C( OSStatus ) AGPNewMemory (AGPAddressPair * agpAddressPair, ByteCount byteSize, Boolean clear); EXTERN_API_C( OSStatus ) AGPReserveMemory (AGPAddressPair * agpAddressPair, ByteCount byteSize); EXTERN_API_C( OSStatus ) AGPDisposeMemory (AGPAddressPair * agpAddress); EXTERN_API_C( OSStatus ) AGPReleaseMemory (AGPAddressPair * agpAddress); EXTERN_API_C( OSStatus ) AGPCommitMemory (AGPAddressPair * agpAddress, Boolean agpClientManagesCaches); EXTERN_API_C( OSStatus ) AGPGetAGPLogicalAddress (AGPAddressPair * agpAddressPair); EXTERN_API_C( OSStatus ) AGPGetSystemLogicalAddress (AGPAddressPair * agpAddressPair); EXTERN_API_C( OSStatus ) AGPGetStatus (AGPQuery query, void * result); EXTERN_API_C( OSStatus ) AGPDecommitMemory (AGPAddressPair * agpAddress); EXTERN_API_C( OSStatus ) AGPRestoreCacheState (AGPAddressPair * agpAddress); #endif /* CALL_NOT_IN_CARBON */ #if PRAGMA_STRUCT_ALIGN #pragma options align=reset #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(pop) #elif PRAGMA_STRUCT_PACK #pragma pack() #endif #ifdef PRAGMA_IMPORT_OFF #pragma import off #elif PRAGMA_IMPORT #pragma import reset #endif #ifdef __cplusplus } #endif #endif /* __AGP__ */