IEEE 1394 bus
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 a 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 a 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 a 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. |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for