Structure

IOFireWireAVCLibUnitInterface

Initial interface discovered for all AVC Unit drivers.

Declaration

typedef struct {
    ...
} IOFireWireAVCLibUnitInterface;

Overview

The IOFireWireAVCLibUnitInterface is the initial interface discovered by most drivers. It supplies the methods that control the operation of the AVC unit as a whole. Finally, the Unit can supply a reference to the IOFireWireUnit. This can be useful if a driver wishes to access the standard FireWire APIs.

Topics

Instance Properties

AVCCommand

Sends an AVC command to the device and returns the response.

AVCCommandInGeneration

Sends an AVC command to the device and returns the response.

addCallbackDispatcherToRunLoop

Adds a dispatcher for kernel callbacks to the specified runloop.

breakP2PInputConnection

Decrements the point-to-point connection count of a unit input plug.

breakP2POutputConnection

Decrements the point-to-point connection count of a unit output plug.

close

Closes an exclusive access to the device.

getAncestorInterface

Creates a plug-in object for an ancestor (in the I/O Registry) of the AVC unit and returns an interface to it.

getProtocolInterface

Creates a plug-in object for a protocol driver for the FireWire bus the AVC unit is connected to and returns an interface to it.

getSessionRef

Get the session reference.

makeP2PInputConnection

Increments the point-to-point connection count of a unit input plug.

makeP2POutputConnection

Increments the point-to-point connection count of a unit output plug.

open

Exclusively opens a connection to the in-kernel device.

openWithSessionRef

Opens a connection to a device that is not already open.

removeCallbackDispatcherFromRunLoop

Removes a dispatcher for kernel callbacks to the specified run loop.

setMessageCallback

Sets callback for user space message routine.

updateAVCCommandTimeout

Updates an AVCCommand's timeout back to 10 seconds.

See Also

COM Interfaces

IOATASMARTInterface

Self-Monitoring, Analysis, and Reporting Technology Interface.

IOFireWireAVCLibConsumerInterface

Interface for an asynchronous connection consumer.

IOFireWireAVCLibProtocolInterface

Initial interface discovered for all AVC protocol drivers.

IOFireWireCommandInterface

IOFireWireLib command object.

IOFireWireConfigDirectoryInterface

IOFireWireLib device config ROM browsing interface

IOFireWireDeviceInterface

IOFireWireDeviceInterface is your primary gateway to the functionality contained in IOFireWireLib.

IOFireWireIsochChannelInterface

FireWire user client isochronous channel object.

IOFireWireIsochPortInterface

FireWire user client isochronous port interface

IOFireWireLibPHYPacketListenerInterface

Represents and provides management functions for a phy packet listener object.

IOFireWireLibVectorCommandInterface

IOFireWireLib command object for grouping commands execution.

IOFireWireLocalIsochPortInterface

FireWire user client local isochronous port object.

IOFireWireNubInterface

IOFireWireDeviceInterface is your primary gateway to the functionality contained in IOFireWireLib.

IOFireWireNuDCLPoolInterface

Use this interface to build NuDCL-based DCL programs.

IOFireWirePhysicalAddressSpaceInterface

IOFireWireLib physical address space object. ( interface name: IOFireWirePhysicalAddressSpaceInterface )

IOFireWireReadCommandInterface

IOFireWireLib block read command object.

IOFireWireReadQuadletCommandInterface

IOFireWireReadQuadletCommandInterface -- IOFireWireLib quadlet read command object.

IOFireWireSBP2LibLoginInterface

Supplies the login maintenance and Normal Command ORB execution portions of the API.

IOFireWireSBP2LibLUNInterface

Initial interface disovered for all drivers.

IOFireWireSBP2LibMgmtORBInterface

Supplies non login related management ORBs. Management ORBs can be executed independent of a login, if necessary. Management ORBs are created using the IOFireWireSBP2LibLUNInterface.

IOFireWireSBP2LibORBInterface

Represents an SBP2 normal command ORB. Supplies the APIs for configuring normal command ORBs. This includes setting the command block and writing the page tables for I/O. The ORBs are executed using the submitORB method in IOFireWireSBP2LibLoginInterface.

IOFireWireUnitInterface

IOFireWireDeviceInterface is your primary gateway to the functionality contained in IOFireWireLib.

IOFireWireWriteCommandInterface

IOFireWireLib block read command object.

IOFireWireWriteQuadletCommandInterface

IOFireWireLib quadlet read command object.

IOFWAsyncStreamListenerInterface

Represents and provides management functions for a asyn stream listener object.

IOHIDDeviceDeviceInterface

The object you use to access HID devices from user space, returned by version 1.5 of the IOHIDFamily.

IOHIDDeviceInterface

CFPlugin object subclass which provides the primary interface to HID devices.

IOHIDDeviceInterface121

CFPlugin object subclass which provides the primary interface to HID devices. This class is a subclass of IOHIDDeviceInterface.

IOHIDDeviceInterface122

CFPlugin object subclass which provides the primary interface to HID devices. This class is a subclass of IOHIDDeviceInterface121.

IOHIDDeviceQueueInterface

The object you use to access a HID queue from user space, returned by version 1.5 of the IOHIDFamily.

IOHIDDeviceTransactionInterface

The object you use to access a HID transaction from user space, returned by version 1.5 of the IOHIDFamily.

IOHIDOutputTransactionInterface

CFPlugin object subclass which privides interface for output transactions to HID devices. Created by a IOHIDDeviceInterface object.

IOHIDQueueInterface

CFPlugin object subclass which provides an interface for input queues from HID devices. Created by an IOHIDDeviceInterface object.

IOUPSPlugInInterface

Represents and provides management functions for a UPS device.

IOUSBDeviceInterface

The object you use to access USB devices from user space, returned by all versions of the IOUSBFamily currently shipping.

IOUSBDeviceInterface182

The object you use to access USB devices from user space, returned by the IOUSBFamily version 1.8.2 and above.

IOUSBDeviceInterface187

The object you use to access USB devices from user space, returned by the IOUSBFamily version 10.8.7 and above.

IOUSBDeviceInterface197

The object you use to access USB devices from user space, returned by the IOUSBFamily version 1.9.7 and above.

IOUSBDeviceInterface245

The object you use to access USB devices from user space, returned by the IOUSBFamily version 2.4.5 and above.

IOUSBDeviceInterface300

The object you use to access USB devices from user space, returned by the IOUSBFamily version 3.0.0 and above.

IOUSBDeviceInterface320

The object you use to access USB devices from user space, returned by the IOUSBFamily version 3.2.0 and above.

IOUSBDeviceInterface500

The object you use to access USB devices from user space, returned by the IOUSBFamily version 3.2.0 and above.

IOUSBInterfaceInterface

The object you use to access a USB device interface from user space, returned by all versions of the IOUSBFamily currently shipping.

IOUSBInterfaceInterface182

The object you use to access a USB device interface from user space, returned by the IOUSBFamily version 1.8.2 and above.

IOUSBInterfaceInterface183

The object you use to access a USB device interface from user space, returned by the IOUSBFamily version 1.8.3 and above.

IOUSBInterfaceInterface190

The object you use to access a USB device interface from user space, returned by the IOUSBFamily version 1.9 and above.

IOUSBInterfaceInterface192

The object you use to access a USB device interface from user space, returned by the IOUSBFamily version 1.9.2 and above.

IOUSBInterfaceInterface197

The object you use to access a USB device interface from user space, returned by the IOUSBFamily version 1.9.7 and above.

MMCDeviceInterface

Basic interface for an MMC-2 Compliant Device.

SCSITaskDeviceInterface

Basic interface for a SCSITask Device.

SCSITaskInterface

Basic interface for a SCSITask.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software