ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference

 


IOFWPseudoAddressSpace

Inherits from:
Declared In:

Overview



Functions

contains

returns number of bytes starting at addr in this space

doRead

A method for processing an address space read request

doWrite

A method for processing an address space write request

initAll

Initialize an address space object to handle r/w memory

initFixed

Initialize a fixed address space at top of kCSRRegisterSpaceBaseAddressHi

setARxReqIntCompleteHandler

Installs a callback to receive notification, when FWIM has completed ARxReqInt processing and no incoming packets are left in the queue.

simpleRead

Create an address space object to handle read-only memory (eg. the local ROM) handles everything itself

simpleReader

A method for processing an address space read request

simpleReadFixed

Create an address space object to handle fixed read-only memory (eg. the local ROM) handles everything itself

simpleRW(IOFireWireBus *, FWAddress *, IOMemoryDescriptor *)

Create an address space object to handle r/w memory handles everything itself

simpleRW(IOFireWireBus *, FWAddress *, UInt32, void *)

Create an address space object to handle r/w memory handles everything itself

simpleRWFixed

Create a Read/Write fixed address space at top of kCSRRegisterSpaceBaseAddressHi.

simpleWriter

A method for processing an address space write request


contains


returns number of bytes starting at addr in this space

public

virtual UInt32 contains( FWAddress addr);
Return Value

0 if it doesn't contain the address


doRead


A method for processing an address space read request

public

virtual UInt32 doRead( UInt16 nodeID, IOFWSpeed & speed, FWAddress addr, UInt32 len, IOMemoryDescriptor **buf, IOByteCount *offset, IOFWRequestRefCon reqrefcon);
Parameters
nodeID

FireWire Read from nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

len

read 'len' bytes from nodeID.

buf

points to a memory descriptor containing the packet data.

offset

start from this 'offset' in 'buf'.

reqrefcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success


doWrite


A method for processing an address space write request

public

virtual UInt32 doWrite( UInt16 nodeID, IOFWSpeed& speed, FWAddress addr, UInt32 len, const void* buf, IOFWRequestRefCon reqrefcon);
Parameters
nodeID

FireWire Write to nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

len

write 'len' bytes to nodeID.

buf

obtain bytes from location given by 'buf'.

reqrefcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success


initAll


Initialize an address space object to handle r/w memory

public

virtual bool initAll( IOFireWireBus *bus, FWAddress *addr, UInt32 len, FWReadCallback reader, FWWriteCallback writer, void *refcon);
Parameters
bus

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

len

Length of the Pseudo Address Space.

reader

Callback handler for incoming Read.

writer

Callback handler for incoming Write.

refcon

Client's callback object.

Return Value

returns true on success, false on failure


initFixed


Initialize a fixed address space at top of kCSRRegisterSpaceBaseAddressHi

public

virtual bool initFixed( IOFireWireBus *bus, FWAddress addr, UInt32 len, FWReadCallback reader, FWWriteCallback writer, void *refcon);
Parameters
bus

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

reader

Callback handler for incoming Read.

writer

Callback handler for incoming Write.

refcon

Client's callback object.

Return Value

returns true on success, false on failure


setARxReqIntCompleteHandler


Installs a callback to receive notification, when FWIM has completed ARxReqInt processing and no incoming packets are left in the queue.

public

inline void setARxReqIntCompleteHandler( void *refcon, IOFWARxReqIntCompleteHandler handler )
Parameters
refcon

Client's callback object.

handler

Client callback to be invoked, at the end of interrupt processing.

Return Value

none.


simpleRead


Create an address space object to handle read-only memory (eg. the local ROM) handles everything itself

public

static IOFWPseudoAddressSpace* simpleRead( IOFireWireBus *bus, FWAddress *addr, UInt32 len, const void* data);
Parameters
bus

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

len

Length of the Pseudo Address Space.

data

The virtual address of the first byte in the memory.

Return Value

returns valid IOFWPseudoAddressSpace on success, null on failure


simpleReader


A method for processing an address space read request

public

static UInt32 simpleReader( void *refcon, UInt16 nodeID, IOFWSpeed & speed, FWAddress addr, UInt32 len, IOMemoryDescriptor **buf, IOByteCount *offset, IOFWRequestRefCon reqrefcon);
Parameters
refcon

Client's callback object.

nodeID

FireWire Read from nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

len

read 'len' bytes from nodeID.

buf

points to a memory descriptor containing the packet data.

offset

start from this 'offset' in 'buf'.

reqrefcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success


simpleReadFixed


Create an address space object to handle fixed read-only memory (eg. the local ROM) handles everything itself

public

static IOFWPseudoAddressSpace* simpleReadFixed( IOFireWireBus *bus, FWAddress addr, UInt32 len, const void* data);
Parameters
bus

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

len

Length of the Pseudo Address Space.

data

The virtual address of the first byte in the memory.

Return Value

returns valid IOFWPseudoAddressSpace on success, null on failure


simpleRW(IOFireWireBus *, FWAddress *, IOMemoryDescriptor *)


Create an address space object to handle r/w memory handles everything itself

public

static IOFWPseudoAddressSpace* simpleRW( IOFireWireBus *bus, FWAddress *addr, IOMemoryDescriptor *data);
Parameters
bus

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

data

The virtual address of the first byte in the memory.

Return Value

returns valid IOFWPseudoAddressSpace on success, null on failure


simpleRW(IOFireWireBus *, FWAddress *, UInt32, void *)


Create an address space object to handle r/w memory handles everything itself

public

static IOFWPseudoAddressSpace* simpleRW( IOFireWireBus *bus, FWAddress *addr, UInt32 len, void *data);
Parameters
bus

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

len

Length of the Pseudo Address Space.

data

The virtual address of the first byte in the memory.

Return Value

returns valid IOFWPseudoAddressSpace on success, null on failure


simpleRWFixed


Create a Read/Write fixed address space at top of kCSRRegisterSpaceBaseAddressHi.

public

static IOFWPseudoAddressSpace * simpleRWFixed( IOFireWireBus *control, FWAddress addr, UInt32 len, const void *data );
Parameters
control

Points to IOFireWireBus object.

addr

Points to starting address for the Pseudo Address Space.

len

Length of the address range.

data

The virtual address of the first byte in the memory.

Return Value

returns valid IOFWPseudoAddressSpace on success, null on failure


simpleWriter


A method for processing an address space write request

public

static UInt32 simpleWriter( void *refcon, UInt16 nodeID, IOFWSpeed& speed, FWAddress addr, UInt32 len, const void* buf, IOFWRequestRefCon reqrefcon);
Parameters
refcon

Client's callback object.

nodeID

FireWire Write to nodeID.

speed

at this 'speed'.

addr

with FireWire address 'addr'.

len

write 'len' bytes to nodeID.

buf

obtain bytes from location given by 'buf'.

reqrefcon

Can be queried for extra info about the request.

Return Value

UIn32 returns kFWResponseComplete on success

Structs and Unions


ExpansionData


protected

struct ExpansionData { };
Discussion

This structure will be used to expand the capablilties of the class in the future.

Member Data


reserved


protected

ExpansionData *reserved;
Discussion

Reserved for future use. (Internal use only)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2008-12-19