ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOFireWireLocalUnitDirectoryInterface

Declared In:

Overview

Allows creation and management of unit directories in the config ROM of the local machine. After the unit directory has been built, Publish() should be called to cause it to appear in the config ROM. Unpublish() has the reverse effect as Publish().

This interface can be created using IOFireWireDeviceInterface::CreateLocalUnitDirectory.



Functions

AddEntry_FWAddress

Appends an offset leaf

AddEntry_Ptr

Appends a data leaf.

AddEntry_UInt32

Appends an immediate leaf.

Publish

Causes a constructed or updated unit directory to appear in the local machine's config ROM.

Unpublish

Removes a unit directory from the local machine's config ROM.


AddEntry_FWAddress


Appends an offset leaf

IOReturn ( *AddEntry_FWAddress)(
    IOFireWireLibLocalUnitDirectoryRef self,
    int key,
    const FWAddress* value,
    CFStringRef inDesc);  
Parameters
self

The local unit directory interface to use.

key

The config ROM key for the data to be added.

inBuffer

A pointer to a FireWire address.

inDesc

Reserved; set to NULL.

Discussion

Appends an offset leaf to a unit directory. The address passed in value should be an address in initial unit space of the local config ROM.


AddEntry_Ptr


Appends a data leaf.

IOReturn ( *AddEntry_Ptr)(
    IOFireWireLibLocalUnitDirectoryRef self,
    int key,
    void *inBuffer,
    size_t inLen,
    CFStringRef inDesc);  
Parameters
self

The local unit directory interface to use.

key

The config ROM key for the data to be added.

inBuffer

A pointer to the data to be placed in the added leaf.

inLen

Length of the data being added.

inDesc

Reserved; set to NULL.

Discussion

Appends a leaf data node to a unit directory.


AddEntry_UInt32


Appends an immediate leaf.

IOReturn ( *AddEntry_UInt32)(
    IOFireWireLibLocalUnitDirectoryRef self,
    int key,
    UInt32 value,
    CFStringRef inDesc);  
Parameters
self

The local unit directory interface to use.

key

The config ROM key for the data to be added.

value

The value to be added.

inDesc

Reserved; set to NULL.

Discussion

Appends an immediate leaf to a unit directory. Note that only the lower 3 bytes of the passed in value can appear in the unit directory.


Publish


Causes a constructed or updated unit directory to appear in the local machine's config ROM.

IOReturn ( *Publish)(
    IOFireWireLibLocalUnitDirectoryRef self);  
Parameters
self

The local unit directory interface to use.

Discussion

Note that this call will cause a bus reset, after which the unit directory will be visible to devices on the bus.


Unpublish


Removes a unit directory from the local machine's config ROM.

IOReturn ( *Unpublish)(
    IOFireWireLibLocalUnitDirectoryRef self);  
Parameters
self

The local unit directory interface to use.

Discussion

This call has the opposite effect from Publish(). It removes a unit directory from the local machine's config ROM. Note that this call will cause a bus reset, after which the unit directory will no longer appear to devices on the bus.


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: 2009-02-23