Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Overview of the IEEE 1394 bus technology.
To develop IEEE 1394 bus, you need these headers:
For the programming guide, see IEEE 1394 bus.
IOCTLs
| IOCTL_1394_CLASS An IEEE 1394 driver uses the IRP_MJ_INTERNAL_DEVICE_CONTROL IRP, with IoControlCode IOCTL_1394_CLASS, to communicate with the bus driver. The driver has access to all operations provided by the IEEE 1394 bus and its host controller through this request. |
| IOCTL_61883_CLASS An IEC-61883 client driver uses the IRP_MJ_INTERNAL_DEVICE_CONTROL IRP with IoControlCode IOCTL_61883_CLASS to communicate with 1394 driver stack using the IEC-61883 protocol. |
Enumerations
| CMP_CONNECT_TYPE This enumeration specifies a connection type. |
| CMP_PLUG_LOCATION This enumeration specifies the location of a plug. |
| CMP_PLUG_TYPE This enumeration specifies the type of a plug. |
Functions
| PBUS_RESET_ROUTINE This is a caller-supplied function to be called by the protocol driver when the 1394 bus is reset. |
| PCMP_MONITOR_ROUTINE This routine is called for plug monitoring. |
| PCMP_NOTIFY_ROUTINE This routine is called for plug notification. |
Structures
| ADDRESS_FIFO The ADDRESS_FIFO structure is an entry in a singly-linked list of MDLs that the REQUEST_ALLOCATE_ADDRESS_RANGE IEEE 1394 bus request uses. |
| ADDRESS_OFFSET The ADDRESS_OFFSET structure specifies the 48-bit address within a device's IEEE 1394 address space. |
| ADDRESS_RANGE The ADDRESS_RANGE structure describes a range in a IEEE 1394 device's address space. |
| AV_61883_REQUEST The AV_61883_REQUEST structure is used to pass requests to the IEC-61883 protocol driver. |
| AV_PCR The AV_PCR structure specifies settings for an input or output plug. |
| BUS_GENERATION_NODE The BUS_GENERATION_NODE structure is used in conjunction with the Av61883_GetUnitInfo request to retrieve bus characteristics. |
| BUS_RESET_DATA The BUS_RESET_DATA structure specifies the context for the extended bus reset notification routine. |
| BUS_RESET_NOTIFY This structure is used to register or deregister the PBUS_RESET_ROUTINE callback. |
| CIP_ATTACH_FRAME This structure is used in an attach frame request. |
| CIP_CANCEL_FRAME The request cancels an attached frame buffer. A frame can be canceled while the stream is running. |
| CIP_DATA_FORMAT_VER2 This structure is a CIP data format which is used by CMP_CONNECT_VER2. |
| CIP_DATA_FORMAT_VER3 This structure is used by CipDataFormat. |
| CIP_FRAME The CIP_FRAME structure describes a frame to be attached to an input or output plug. |
| CIP_LISTEN This structure is used for a listen request. The request begins isochronous reception on the specified connection. |
| CIP_NOTIFY_INFO The CIP_NOTIFY_INFO structure contains information about the frame. |
| CIP_STOP This structure is used to stop transmission or reception. |
| CIP_TALK This structure is used to begin transmission. |
| CIP_VALIDATE_INFO The CIP_VALIDATE_INFO structure contains information about the frame. |
| CMP_CONNECT_VER2 This structure contains information for a connection request. The request attempts to make a connection to a plug control register on the local host. |
| CMP_CONNECT_VER3 This structure contains information for a connection request. |
| CMP_CREATE_PLUG This structure is used to create a plug. |
| CMP_DELETE_PLUG This structure is used to delete a plug.Av61883_CreatePlug. |
| CMP_DISCONNECT This structure is used to break a connection. |
| CMP_GET_PLUG_HANDLE This structure is used in getting the handle of a plug. |
| CMP_GET_PLUG_STATE This structure is used in getting the state of a plug. |
| CMP_MONITOR_INFO The CMP_MONITOR_INFO structure is used in conjunction with the Av61883_MonitorPlugs request to allow a driver to monitor access to local oPCR and iPCR plugs. |
| CMP_MONITOR_PLUGS This structure is used to monitor plug access. The request allows a driver to monitor all access to local oPCR and iPCR plugs. |
| CMP_NOTIFY_INFO This structure is used by the PCMP_NOTIFY_ROUTINE callback. |
| CMP_SET_PLUG This structure is used to assign settings to a plug. |
| CONFIG_ROM The CONFIG_ROM structure is used to contain the first 24 bytes of an IEEE 1394 device's configuration ROM. |
| CYCLE_TIME The CYCLE_TIME structure contains the IEEE 1394 isochronous cycle time. |
| FCP_FRAME The FCP_FRAME structure describes a function control protocol (FCP) request. |
| FCP_GET_REQUEST This structure is used for a get request. |
| FCP_REQUEST This structure is used for a send request. |
| FCP_RESPONSE The structure is used in a request yjsy retrieves the next FCP response from the queue of requests maintained by the IEC-61883 protocol driver. |
| FCP_SEND_RESPONSE This structure is used for a send response. |
| GET_LOCAL_HOST_INFO1 The GET_LOCAL_HOST_INFO1 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request using u.GetLocalHostInformation.nLevel GET_HOST_UNIQUE_ID. |
| GET_LOCAL_HOST_INFO2 The GET_LOCAL_HOST_INFO2 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request using u.GetLocalHostInformation.nLevel GET_HOST_CAPABILITIES. |
| GET_LOCAL_HOST_INFO3 The GET_LOCAL_HOST_INFO3 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request using u.GetLocalHostInformation.nLevel = GET_POWER_SUPPLIED. |
| GET_LOCAL_HOST_INFO4 The GET_LOCAL_HOST_INFO4 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request using u.GetLocalHostInformation.nLevel = GET_PHYS_ADDR_ROUTINE. |
| GET_LOCAL_HOST_INFO5 The GET_LOCAL_HOST_INFO5 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request using u.GetLocalHostInformation.nLevel = GET_HOST_CONFIG_ROM. |
| GET_LOCAL_HOST_INFO6 The GET_LOCAL_HOST_INFO6 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request using u.GetLocalHostInformation.nLevel = GET_HOST_CSR_CONTENTS. |
| GET_LOCAL_HOST_INFO7_W2K The GET_LOCAL_HOST_INFO7_W2K structure is returned by a REQUEST_GET_LOCAL_HOST_INFO request with u.GetLocalHostInformation.nLevel set to GET_HOST_DMA_CAPABILITIES. |
| GET_LOCAL_HOST_INFO7_WXP The GET_LOCAL_HOST_INFO7_WXP structure is returned by a REQUEST_GET_LOCAL_HOST_INFO request with u.GetLocalHostInformation.nLevel set to GET_HOST_DMA_CAPABILITIES. |
| GET_LOCAL_HOST_INFO8 The GET_LOCAL_HOST_INFO8 structure contains the data returned by a REQUEST_GET_LOCAL_HOST_INFO request with u.GetLocalHostInformation.nLevel set to GET_HOST_DDI_VERSION. |
| GET_UNIT_CAPABILITIES The GET_UNIT_CAPABILITIES structure is used in conjunction with the Av61883_GetUnitInfo request to retrieve unit information about a device's capabilities. |
| GET_UNIT_IDS The GET_UNIT_CAPABILITIES structure is used in conjunction with the Av61883_GetUnitInfo request to retrieve device identifiers. |
| GET_UNIT_INFO This structure is used to get unit information. |
| IO_ADDRESS The IO_ADDRESS structure specifies the 1394 64-bit destination address for read, write and lock operations. |
| IPCR The IPCR structure contains initialization values for an input plug. |
| IRB Drivers use this structure to pass most requests to IEEE 1394 bus driver. |
| IRB_REQ_ALLOCATE_ADDRESS_RANGE This structure contains the fields necessary for the 1394 stack to carry out a request to allocate an address range. |
| IRB_REQ_ASYNC_LOCK This structure contains the fields necessary for the 1394 stack to carry out an asynchronous lock request. |
| IRB_REQ_ASYNC_READ This structure contains the fields necessary for the 1394 stack to carry out an asynchronous read request. |
| IRB_REQ_ASYNC_STREAM This structure contains the fields necessary for the 1394 bus driver to carry out an asynchronous write request. |
| IRB_REQ_ASYNC_WRITE This structure contains the fields necessary for the 1394 stack to carry out an asynchronous write request. |
| IRB_REQ_BUS_RESET This structure contains the fields necessary for the 1394 bus driver to create a bus reset request. |
| IRB_REQ_BUS_RESET_NOTIFICATION This structure contains the fields necessary for the 1394 bus driver to carry out a bus reset notification request. |
| IRB_REQ_CONTROL This structure contains the fields necessary for the 1394 bus driver to carry out a control request. |
| IRB_REQ_FREE_ADDRESS_RANGE This structure contains the fields necessary for the 1394 stack to carry out a free address range request. |
| IRB_REQ_GET_1394_ADDRESS_FROM_DEVICE_OBJECT This structure contains the fields necessary to carry out a Get1394AddressFromDeviceObject request. |
| IRB_REQ_GET_CONFIG_ROM This structure contains the fields necessary for the bus driver to carry out a GetConfigRom request. |
| IRB_REQ_GET_CONFIGURATION_INFORMATION This structure contains the fields necessary for the 1394 bus driver to carry out a GetConfigurationInformation request. |
| IRB_REQ_GET_GENERATION_COUNT This structure contains the fields necessary for the 1394 bus driver to carry out a GetGenerationCount request. |
| IRB_REQ_GET_LOCAL_HOST_INFORMATION This structure contains the fields necessary for the 1394 bus driver to carry out a GetLocalHostInformation request. |
| IRB_REQ_GET_MAX_SPEED_BETWEEN_DEVICES This structure contains the fields necessary in order for the Bus driver to carry out a GetMaxSpeedBetweenDevices request. |
| IRB_REQ_GET_SPEED_TOPOLOGY_MAPS This structure contains the fields necessary for the 1394 bus driver to carry out a GetSpeedTopologyMaps request. |
| IRB_REQ_ISOCH_ALLOCATE_BANDWIDTH This structure contains the fields necessary in order for the Bus driver to carry out an IsochAllocateBandwidth request. |
| IRB_REQ_ISOCH_ALLOCATE_CHANNEL This structure contains the fields necessary in order for the 1394 bus driver to carry out an IsochAllocateChannel request. |
| IRB_REQ_ISOCH_ALLOCATE_RESOURCES_W2K The IRB_REQ_ISOCH_ALLOCATE_RESOURCES_W2K structure contains the fields necessary for the 1394 bus driver to carry out an IsochAllocateResources request. |
| IRB_REQ_ISOCH_ALLOCATE_RESOURCES_WXP The IRB_REQ_ISOCH_ALLOCATE_RESOURCES_WXP structure contains the fields necessary for the 1394 bus driver to carry out an IsochAllocateResources request. |
| IRB_REQ_ISOCH_ATTACH_BUFFERS This structure contains the fields required for the 1394 bus driver to carry out an IsochAttachBuffers request. |
| IRB_REQ_ISOCH_DETACH_BUFFERS This structure contains the fields required to carry out a IsochDetachBuffers request. |
| IRB_REQ_ISOCH_FREE_BANDWIDTH This structure contains the fields necessary in order for the Bus driver to carry out an IsochFreeBandwidth request. |
| IRB_REQ_ISOCH_FREE_CHANNEL This structure contains the fields required to carry out an IsochFreeChannel request. |
| IRB_REQ_ISOCH_FREE_RESOURCES This structure contains the fields necessary to carry out a IsochFreeResources request. |
| IRB_REQ_ISOCH_LISTEN This structure contains the fields necessary to carry out a ReqIsochListen request. |
| IRB_REQ_ISOCH_MODIFY_STREAM_PROPERTIES This structure contains the fields necessary for the Bus driver to carry out an IsochModifyStreamProperties request. |
| IRB_REQ_ISOCH_QUERY_CURRENT_CYCLE_TIME This structure contains the fields necessary for the Bus driver to carry out an IsochQueryCurrentCycleTime request. |
| IRB_REQ_ISOCH_QUERY_RESOURCES This structure contains the fields necessary to carry out a IsochQueryResources request. |
| IRB_REQ_ISOCH_SET_CHANNEL_BANDWIDTH This structure contains the fields necessary for the Bus driver to carry out an IsochSetChannelBandwidth request. |
| IRB_REQ_ISOCH_STOP This structure contains the field necessary to carry out a IsochStop request. |
| IRB_REQ_ISOCH_TALK This structure contains the field necessary to carry out a IsochTalk request. |
| IRB_REQ_RECEIVE_PHY_PACKETS This structure contains the fields necessary to carry out a ReceivePhyPackets request. |
| IRB_REQ_SEND_PHY_CONFIGURATION_PACKET This structure contains the fields necessary to carry out a SendPhyConfigurationPacket request. |
| IRB_REQ_SEND_PHY_PACKET This structure contains the fields necessary to carry out a SendPhyPacket request. |
| IRB_REQ_SET_DEVICE_XMIT_PROPERTIES This structure contains the fields necessary to carry out a SetDeviceXmitProperties request. |
| IRB_REQ_SET_LOCAL_HOST_PROPERTIES This structure contains the fields required to carry out a SetLocalHostProperties request. |
| ISOCH_DESCRIPTOR The ISOCH_DESCRIPTOR structure describes a buffer to be attached or detailed from a resource handle, using the REQUEST_ISOCH_ATTACH_BUFFERS and REQUEST_ISOCH_DETACH_BUFFERS requests. |
| NODE_ADDRESS The NODE_ADDRESS structure specifies the 10-bit bus number and 6-bit node number that serve as the node address for a 1394 node. |
| NOTIFICATION_INFO_W2K The bus driver passes NOTIFICATION_INFO_W2K to the driver-provided notification routine for a driver-allocated address range in an IEEE 1394 address space. |
| NOTIFICATION_INFO_WXP The bus driver passes NOTIFICATION_INFO_WXP to the driver-provided notification routine for a driver-allocated address range in an IEEE 1394 address space. |
| OPCR The OPCR structure contains initialization values for an output plug. |
| PHY_CONFIGURATION_PACKET The PHY_CONFIGURATION_PACKET structure contains a raw PHY configuration packet. |
| SELF_ID The SELF_ID structure contains a raw packet zero self-ID packet. See the IEEE 1394 Trade Association specification website for details. |
| SELF_ID_MORE The SELF_ID_MORE structure contains a raw packet one, two, or three self-ID packet. See the IEEE 1394 specification for details. |
| SET_CMP_ADDRESS_TYPE The SET_CMP_ADDRESS_TYPE structure is used in conjunction with the Av61883_SetUnitInfo request to set the parameters that the IEC-61883 protocol driver should use when capturing and transmitting isochronous packets. |
| SET_FCP_NOTIFY This structure is used for FCP notification. |
| SET_LOCAL_HOST_PROPS2 SET_LOCAL_HOST_PROPS2 sets a lower bound on the value the bus will use for its gap count. |
| SET_LOCAL_HOST_PROPS3 SET_LOCAL_HOST_PROPS3 contains the data necessary for defining or identifying one or more unit directories in the Configuration ROM of a 1394 Host Controller. |
| SET_UNIT_DIRECTORY This structure is used to assign settings for a unit directory. |
| SET_UNIT_INFO This structure is used to set unit information. |
| SPEED_MAP The SPEED_MAP structure is stores an IEEE 1394 bus speed map. |
| TEXTUAL_LEAF The TEXTUAL_LEAF structure describes the device description that can be stored in the Configuration ROM of devices that satisfy the PC 98 or PC 99 specifications. |
| TOPOLOGY_MAP The TOPOLOGY_MAP structure is used to store an IEEE 1394 bus topology map. The relations between devices are found in the port members of the entries in TOP_Self_ID_Array. |
| UNIT_DDI_VERSION The UNIT_DDI_VERSION structure is used in conjunction with the Av61883_GetUnitInfo request to retrieve the current 61883 DDI version. |
| UNIT_DIAG_LEVEL The UNIT_DDI_VERSION structure is used in conjunction with the Av61883_GetUnitInfo request to retrieve the current diag level |
| UNIT_ISOCH_PARAMS The UNIT_ISOCH_PARAMS structure is used to get or set the parameters that the IEC-61883 protocol driver uses when capturing or transmitting isochronous packets. |