Mac OS 9
PCI.h File Reference

PCI Bus Interfaces. More...

#include <MacTypes.h>
#include <NameRegistry.h>

Go to the source code of this file.

Data Structures

struct  PCIAssignedAddress
 

Macros

#define kPCIAssignedAddressProperty   "assigned-addresses"
 
#define GetPCIIsRelocatable(AssignedAddressPtr)    ((AssignedAddressPtr)->addressSpaceFlags & kPCIRelocatableSpace)
 
#define GetPCIIsPrefetchable(AssignedAddressPtr)    ((AssignedAddressPtr)->addressSpaceFlags & kPCIPrefetchableSpace)
 
#define GetPCIIsAliased(AssignedAddressPtr)    ((AssignedAddressPtr)->addressSpaceFlags & kPCIAliasedSpace)
 
#define GetPCIAddressSpaceType(AssignedAddressPtr)    ((AssignedAddressPtr)->addressSpaceFlags & kPCIAddressTypeCodeMask)
 
#define GetPCIBusNumber(AssignedAddressPtr)   ((AssignedAddressPtr)->busNumber)
 
#define GetPCIDeviceNumber(AssignedAddressPtr)    (((AssignedAddressPtr)->deviceFunctionNumber >> 3) & kPCIDeviceNumberMask)
 
#define GetPCIFunctionNumber(AssignedAddressPtr)    ((AssignedAddressPtr)->deviceFunctionNumber & kPCIFunctionNumberMask)
 
#define GetPCIRegisterNumber(AssignedAddressPtr)    ((AssignedAddressPtr)->registerNumber)
 

Typedefs

typedef UInt8 PCIAddressSpaceFlags
 
typedef UInt8 PCIDeviceFunction
 
typedef UInt8 PCIBusNumber
 
typedef UInt8 PCIRegisterNumber
 
typedef struct PCIAssignedAddress PCIAssignedAddress
 
typedef PCIAssignedAddressPCIAssignedAddressPtr
 

Enumerations

enum  {
  kPCIConfigVendorID = 0x00 , kPCIConfigDeviceID = 0x02 , kPCIConfigCommand = 0x04 , kPCIConfigStatus = 0x06 ,
  kPCIConfigRevisionID = 0x08 , kPCIConfigClassCode = 0x09 , kPCIConfigCacheLineSize = 0x0C , kPCIConfigLatencyTimer = 0x0D ,
  kPCIConfigHeaderType = 0x0E , kPCIConfigBIST = 0x0F , kPCIConfigBaseAddress0 = 0x10 , kPCIConfigBaseAddress1 = 0x14 ,
  kPCIConfigBaseAddress2 = 0x18 , kPCIConfigBaseAddress3 = 0x1C , kPCIConfigBaseAddress4 = 0x20 , kPCIConfigBaseAddress5 = 0x24 ,
  kPCIConfigCardBusCISPtr = 0x28 , kPCIConfigSubSystemVendorID = 0x2C , kPCIConfigSubSystemID = 0x2E , kPCIConfigExpansionROMBase = 0x30 ,
  kPCIConfigCapabilitiesPtr = 0x34 , kPCIConfigInterruptLine = 0x3C , kPCIConfigInterruptPin = 0x3D , kPCIConfigMinimumGrant = 0x3E ,
  kPCIConfigMaximumLatency = 0x3F
}
 
enum  { kPCICapabilityIDOffset = 0x00 , kPCINextCapabilityOffset = 0x01 , kPCIPowerManagementCapability = 0x01 , kPCIAGPCapability = 0x02 }
 
enum  {
  kPCIRelocatableSpace = 0x80 , kPCIPrefetchableSpace = 0x40 , kPCIAliasedSpace = 0x20 , kPCIAddressTypeCodeMask = 0x03 ,
  kPCIConfigSpace = 0 , kPCIIOSpace = 1 , kPCI32BitMemorySpace = 2 , kPCI64BitMemorySpace = 3
}
 
enum  { kPCIDeviceNumberMask = 0x1F , kPCIFunctionNumberMask = 0x07 }
 

Functions

UInt16 EndianSwap16Bit (UInt16 data16)
 
UInt32 EndianSwap32Bit (UInt32 data32)
 
OSErr ExpMgrConfigReadByte (RegEntryIDPtr node, LogicalAddress configAddr, UInt8 *valuePtr)
 
OSErr ExpMgrConfigReadWord (RegEntryIDPtr node, LogicalAddress configAddr, UInt16 *valuePtr)
 
OSErr ExpMgrConfigReadLong (RegEntryIDPtr node, LogicalAddress configAddr, UInt32 *valuePtr)
 
OSErr ExpMgrConfigWriteByte (RegEntryIDPtr node, LogicalAddress configAddr, UInt8 value)
 
OSErr ExpMgrConfigWriteWord (RegEntryIDPtr node, LogicalAddress configAddr, UInt16 value)
 
OSErr ExpMgrConfigWriteLong (RegEntryIDPtr node, LogicalAddress configAddr, UInt32 value)
 
OSErr ExpMgrIOReadByte (RegEntryIDPtr node, LogicalAddress ioAddr, UInt8 *valuePtr)
 
OSErr ExpMgrIOReadWord (RegEntryIDPtr node, LogicalAddress ioAddr, UInt16 *valuePtr)
 
OSErr ExpMgrIOReadLong (RegEntryIDPtr node, LogicalAddress ioAddr, UInt32 *valuePtr)
 
OSErr ExpMgrIOWriteByte (RegEntryIDPtr node, LogicalAddress ioAddr, UInt8 value)
 
OSErr ExpMgrIOWriteWord (RegEntryIDPtr node, LogicalAddress ioAddr, UInt16 value)
 
OSErr ExpMgrIOWriteLong (RegEntryIDPtr node, LogicalAddress ioAddr, UInt32 value)
 
OSErr ExpMgrInterruptAcknowledgeReadByte (RegEntryIDPtr entry, UInt8 *valuePtr)
 
OSErr ExpMgrInterruptAcknowledgeReadWord (RegEntryIDPtr entry, UInt16 *valuePtr)
 
OSErr ExpMgrInterruptAcknowledgeReadLong (RegEntryIDPtr entry, UInt32 *valuePtr)
 
OSErr ExpMgrSpecialCycleWriteLong (RegEntryIDPtr entry, UInt32 value)
 
OSErr ExpMgrSpecialCycleBroadcastLong (UInt32 value)
 

Detailed Description

PCI Bus Interfaces.

Introduced In: PowerSurge 1.0.2
Avaliable From: Universal Interfaces 3.4.1
Copyright: © 1993-2001 by Apple Computer, Inc., all rights reserved.

For bug reports, consult the following page on the World Wide Web:

http://developer.apple.com/bugreporter/

Macro Definition Documentation

◆ kPCIAssignedAddressProperty

#define kPCIAssignedAddressProperty   "assigned-addresses"

Types and structures for accessing the PCI Assigned-Address property.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definitions for the PCI Config Registers

◆ anonymous enum

anonymous enum

Definitions for the Capabilities PCI Config Register

Function Documentation

◆ EndianSwap16Bit()

UInt16 EndianSwap16Bit ( UInt16  data16)

EndianSwap16Bit()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ EndianSwap32Bit()

UInt32 EndianSwap32Bit ( UInt32  data32)

EndianSwap32Bit()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrConfigReadByte()

OSErr ExpMgrConfigReadByte ( RegEntryIDPtr  node,
LogicalAddress  configAddr,
UInt8 *  valuePtr 
)

CALL_NOT_IN_CARBON ExpMgrConfigReadByte()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrConfigReadLong()

OSErr ExpMgrConfigReadLong ( RegEntryIDPtr  node,
LogicalAddress  configAddr,
UInt32 *  valuePtr 
)

ExpMgrConfigReadLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrConfigReadWord()

OSErr ExpMgrConfigReadWord ( RegEntryIDPtr  node,
LogicalAddress  configAddr,
UInt16 *  valuePtr 
)

ExpMgrConfigReadWord()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrConfigWriteByte()

OSErr ExpMgrConfigWriteByte ( RegEntryIDPtr  node,
LogicalAddress  configAddr,
UInt8  value 
)

ExpMgrConfigWriteByte()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrConfigWriteLong()

OSErr ExpMgrConfigWriteLong ( RegEntryIDPtr  node,
LogicalAddress  configAddr,
UInt32  value 
)

ExpMgrConfigWriteLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrConfigWriteWord()

OSErr ExpMgrConfigWriteWord ( RegEntryIDPtr  node,
LogicalAddress  configAddr,
UInt16  value 
)

ExpMgrConfigWriteWord()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrInterruptAcknowledgeReadByte()

OSErr ExpMgrInterruptAcknowledgeReadByte ( RegEntryIDPtr  entry,
UInt8 *  valuePtr 
)

ExpMgrInterruptAcknowledgeReadByte()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrInterruptAcknowledgeReadLong()

OSErr ExpMgrInterruptAcknowledgeReadLong ( RegEntryIDPtr  entry,
UInt32 *  valuePtr 
)

ExpMgrInterruptAcknowledgeReadLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrInterruptAcknowledgeReadWord()

OSErr ExpMgrInterruptAcknowledgeReadWord ( RegEntryIDPtr  entry,
UInt16 *  valuePtr 
)

ExpMgrInterruptAcknowledgeReadWord()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrIOReadByte()

OSErr ExpMgrIOReadByte ( RegEntryIDPtr  node,
LogicalAddress  ioAddr,
UInt8 *  valuePtr 
)

ExpMgrIOReadByte()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrIOReadLong()

OSErr ExpMgrIOReadLong ( RegEntryIDPtr  node,
LogicalAddress  ioAddr,
UInt32 *  valuePtr 
)

ExpMgrIOReadLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrIOReadWord()

OSErr ExpMgrIOReadWord ( RegEntryIDPtr  node,
LogicalAddress  ioAddr,
UInt16 *  valuePtr 
)

ExpMgrIOReadWord()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrIOWriteByte()

OSErr ExpMgrIOWriteByte ( RegEntryIDPtr  node,
LogicalAddress  ioAddr,
UInt8  value 
)

ExpMgrIOWriteByte()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrIOWriteLong()

OSErr ExpMgrIOWriteLong ( RegEntryIDPtr  node,
LogicalAddress  ioAddr,
UInt32  value 
)

ExpMgrIOWriteLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrIOWriteWord()

OSErr ExpMgrIOWriteWord ( RegEntryIDPtr  node,
LogicalAddress  ioAddr,
UInt16  value 
)

ExpMgrIOWriteWord()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrSpecialCycleBroadcastLong()

OSErr ExpMgrSpecialCycleBroadcastLong ( UInt32  value)

ExpMgrSpecialCycleBroadcastLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available

◆ ExpMgrSpecialCycleWriteLong()

OSErr ExpMgrSpecialCycleWriteLong ( RegEntryIDPtr  entry,
UInt32  value 
)

ExpMgrSpecialCycleWriteLong()

Non-Carbon CFM: in PCILib 1.0 and later
Carbon Lib: not available
Mac OS X: not available