€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ'/translations/zh_CN/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/zh_TW/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/it_IT/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/ja_JP/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/ko_KR/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/pt_BR/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/sp_SP/driver-api/firewire”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ+Firewire (IEEE 1394) driver Interface Guide”h]”hŒ+Firewire (IEEE 1394) driver Interface Guide”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒA/var/lib/git/docbuild/linux/Documentation/driver-api/firewire.rst”h´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒIntroduction and Overview”h]”hŒIntroduction and Overview”…”�”}”(hhÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhËh²hh³hÊh´KubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒwThe Linux FireWire subsystem adds some interfaces into the Linux system to use/maintain+any resource on IEEE 1394 bus. ”h]”(hŒterm”“”)�”}”(hŒJThe Linux FireWire subsystem adds some interfaces into the Linux system to”h]”hŒJThe Linux FireWire subsystem adds some interfaces into the Linux system to”…”�”}”(hhéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³hÊh´K hhãubhŒ definition”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒ+use/maintain+any resource on IEEE 1394 bus.”h]”hŒ+use/maintain+any resource on IEEE 1394 bus.”…”�”}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÊh´K hhùubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hhãubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³hÊh´K hhÞubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhhËh²hh³hÊh´Nubhý)�”}”(hŒÍThe main purpose of these interfaces is to access address space on each node on IEEE 1394 bus by ISO/IEC 13213 (IEEE 1212) procedure, and to control isochronous resources on the bus by IEEE 1394 procedure.”h]”hŒÍThe main purpose of these interfaces is to access address space on each node on IEEE 1394 bus by ISO/IEC 13213 (IEEE 1212) procedure, and to control isochronous resources on the bus by IEEE 1394 procedure.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÊh´K hhËh²hubhý)�”}”(hŒðTwo types of interfaces are added, according to consumers of the interface. A set of userspace interfaces is available via `firewire character devices`. A set of kernel interfaces is available via exported symbols in `firewire-core` module.”h]”(hŒ{Two types of interfaces are added, according to consumers of the interface. A set of userspace interfaces is available via ”…”�”}”(hj,h²hh³Nh´NubhŒtitle_reference”“”)�”}”(hŒ`firewire character devices`”h]”hŒfirewire character devices”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j4hj,ubhŒB. A set of kernel interfaces is available via exported symbols in ”…”�”}”(hj,h²hh³Nh´Nubj5)�”}”(hŒ`firewire-core`”h]”hŒ firewire-core”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j4hj,ubhŒ module.”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÊh´KhhËh²hubeh}”(h]”Œintroduction-and-overview”ah ]”h"]”Œintroduction and overview”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ$Firewire char device data structures”h]”hŒ$Firewire char device data structures”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjhh²hh³hÊh´KubhŒ literal_block”“”)�”}”(hX¹What: /dev/fw[0-9]+ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: The character device files /dev/fw* are the interface between firewire-core and IEEE 1394 device drivers implemented in userspace. The ioctl(2)- and read(2)-based ABI is defined and documented in . This ABI offers most of the features which firewire-core also exposes to kernelspace IEEE 1394 drivers. Each /dev/fw* is associated with one IEEE 1394 node, which can be remote or local nodes. Operations on a /dev/fw* file have different scope: - The 1394 node which is associated with the file: - Asynchronous request transmission - Get the Configuration ROM - Query node ID - Query maximum speed of the path between this node and local node - The 1394 bus (i.e. "card") to which the node is attached to: - Isochronous stream transmission and reception - Asynchronous stream transmission and reception - Asynchronous broadcast request transmission - PHY packet transmission and reception - Allocate, reallocate, deallocate isochronous resources (channels, bandwidth) at the bus's IRM - Query node IDs of local node, root node, IRM, bus manager - Query cycle time - Bus reset initiation, bus reset event reception - All 1394 buses: - Allocation of IEEE 1212 address ranges on the local link layers, reception of inbound requests to such an address range, asynchronous response transmission to inbound requests - Addition of descriptors or directories to the local nodes' Configuration ROM Due to the different scope of operations and in order to let userland implement different access permission models, some operations are restricted to /dev/fw* files that are associated with a local node: - Addition of descriptors or directories to the local nodes' Configuration ROM - PHY packet transmission and reception A /dev/fw* file remains associated with one particular node during its entire life time. Bus topology changes, and hence node ID changes, are tracked by firewire-core. ABI users do not need to be aware of topology. The following file operations are supported: open(2) Currently the only useful flags are O_RDWR. ioctl(2) Initiate various actions. Some take immediate effect, others are performed asynchronously while or after the ioctl returns. See the inline documentation in for descriptions of all ioctls. poll(2), select(2), epoll_wait(2) etc. Watch for events to become available to be read. read(2) Receive various events. There are solicited events like outbound asynchronous transaction completion or isochronous buffer completion, and unsolicited events such as bus resets, request reception, or PHY packet reception. Always use a read buffer which is large enough to receive the largest event that could ever arrive. See for descriptions of all event types and for which ioctls affect reception of events. mmap(2) Allocate a DMA buffer for isochronous reception or transmission and map it into the process address space. The arguments should be used as follows: addr = NULL, length = the desired buffer size, i.e. number of packets times size of largest packet, prot = at least PROT_READ for reception and at least PROT_WRITE for transmission, flags = MAP_SHARED, fd = the handle to the /dev/fw*, offset = 0. Isochronous reception works in packet-per-buffer fashion except for multichannel reception which works in buffer-fill mode. munmap(2) Unmap the isochronous I/O buffer from the process address space. close(2) Besides stopping and freeing I/O contexts that were associated with the file descriptor, back out any changes to the local nodes' Configuration ROM. Deallocate isochronous channels and bandwidth at the IRM that were marked for kernel-assisted re- and deallocation. Users: libraw1394; libdc1394; libhinawa; tools like linux-firewire-utils, fwhack, ... ”h]”hXWhat: /dev/fw[0-9]+ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: The character device files /dev/fw* are the interface between firewire-core and IEEE 1394 device drivers implemented in userspace. The ioctl(2)- and read(2)-based ABI is defined and documented in . This ABI offers most of the features which firewire-core also exposes to kernelspace IEEE 1394 drivers. Each /dev/fw* is associated with one IEEE 1394 node, which can be remote or local nodes. Operations on a /dev/fw* file have different scope: - The 1394 node which is associated with the file: - Asynchronous request transmission - Get the Configuration ROM - Query node ID - Query maximum speed of the path between this node and local node - The 1394 bus (i.e. "card") to which the node is attached to: - Isochronous stream transmission and reception - Asynchronous stream transmission and reception - Asynchronous broadcast request transmission - PHY packet transmission and reception - Allocate, reallocate, deallocate isochronous resources (channels, bandwidth) at the bus's IRM - Query node IDs of local node, root node, IRM, bus manager - Query cycle time - Bus reset initiation, bus reset event reception - All 1394 buses: - Allocation of IEEE 1212 address ranges on the local link layers, reception of inbound requests to such an address range, asynchronous response transmission to inbound requests - Addition of descriptors or directories to the local nodes' Configuration ROM Due to the different scope of operations and in order to let userland implement different access permission models, some operations are restricted to /dev/fw* files that are associated with a local node: - Addition of descriptors or directories to the local nodes' Configuration ROM - PHY packet transmission and reception A /dev/fw* file remains associated with one particular node during its entire life time. Bus topology changes, and hence node ID changes, are tracked by firewire-core. ABI users do not need to be aware of topology. The following file operations are supported: open(2) Currently the only useful flags are O_RDWR. ioctl(2) Initiate various actions. Some take immediate effect, others are performed asynchronously while or after the ioctl returns. See the inline documentation in for descriptions of all ioctls. poll(2), select(2), epoll_wait(2) etc. Watch for events to become available to be read. read(2) Receive various events. There are solicited events like outbound asynchronous transaction completion or isochronous buffer completion, and unsolicited events such as bus resets, request reception, or PHY packet reception. Always use a read buffer which is large enough to receive the largest event that could ever arrive. See for descriptions of all event types and for which ioctls affect reception of events. mmap(2) Allocate a DMA buffer for isochronous reception or transmission and map it into the process address space. The arguments should be used as follows: addr = NULL, length = the desired buffer size, i.e. number of packets times size of largest packet, prot = at least PROT_READ for reception and at least PROT_WRITE for transmission, flags = MAP_SHARED, fd = the handle to the /dev/fw*, offset = 0. Isochronous reception works in packet-per-buffer fashion except for multichannel reception which works in buffer-fill mode. munmap(2) Unmap the isochronous I/O buffer from the process address space. close(2) Besides stopping and freeing I/O contexts that were associated with the file descriptor, back out any changes to the local nodes' Configuration ROM. Deallocate isochronous channels and bandwidth at the IRM that were marked for kernel-assisted re- and deallocation. Users: libraw1394; libdc1394; libhinawa; tools like linux-firewire-utils, fwhack, ... ”…”�”}”hj{sbah}”(h]”h ]”h"]”h$]”h&]”Œsource”Œ&Documentation/ABI/stable/firewire-cdev”Œ xml:space”Œpreserve”uh1jyh´Khjhh²hh³hÊubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œfw_cdev_event_common (C struct)”Œc.fw_cdev_event_common”hNt”auh1j�hjhh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒfw_cdev_event_common”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct fw_cdev_event_common”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j°hj¬h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jÂhj¬h²hh³jÁh´KubhŒ desc_name”“”)�”}”(hŒfw_cdev_event_common”h]”hŒ desc_sig_name”“”)�”}”(hj¨h]”hŒfw_cdev_event_common”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jÙhjÕubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”j‹jŒuh1jÓhj¬h²hh³jÁh´Kubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒŒ add_permalink”ˆuh1jªŒsphinx_line_type”Œ declarator”hj¦h²hh³jÁh´Kubah}”(h]”jœah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j¤h³jÁh´Khj¡h²hubhŒ desc_content”“”)�”}”(hhh]”hý)�”}”(hŒ(Common part of all fw_cdev_event_* types”h]”hŒ(Common part of all fw_cdev_event_* types”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K8hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡h²hh³jÁh´Kubeh}”(h]”h ]”(Œc”Œstruct”eh"]”h$]”h&]”Œdomain”j"Œobjtype”j#Œdesctype”j#Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jŸh²hhjhh³jžh´NubhŒ container”“”)�”}”(hŒÌ**Definition**:: struct fw_cdev_event_common { __u64 closure; __u32 type; }; **Members** ``closure`` For arbitrary use by userspace ``type`` Discriminates the fw_cdev_event_* types”h]”(hý)�”}”(hŒ**Definition**::”h]”(hŒstrong”“”)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj3ubhŒ:”…”�”}”(hj3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Khj/ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjch]”hŒMembers”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KChj/ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ+``closure`` For arbitrary use by userspace ”h]”(hè)�”}”(hŒ ``closure``”h]”hŒliteral”“”)�”}”(hj‚h]”hŒclosure”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K:hj|ubhø)�”}”(hhh]”hý)�”}”(hŒFor arbitrary use by userspace”h]”hŒFor arbitrary use by userspace”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j™h´K:hjšubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j™h´K:hjyubhâ)�”}”(hŒ0``type`` Discriminates the fw_cdev_event_* types”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj½h]”hŒtype”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K:hj·ubhø)�”}”(hhh]”hý)�”}”(hŒ'Discriminates the fw_cdev_event_* types”h]”hŒ'Discriminates the fw_cdev_event_* types”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K;hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÒh´K:hjyubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjþubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K>hjhh²hubhý)�”}”(hŒoThis struct may be used to access generic members of all fw_cdev_event_* types regardless of the specific type.”h]”hŒoThis struct may be used to access generic members of all fw_cdev_event_* types regardless of the specific type.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K;hjhh²hubhý)�”}”(hŒÙData passed in the **closure** field for a request will be returned in the corresponding event. It is big enough to hold a pointer on all platforms. The ioctl used to set **closure** depends on the **type** of event.”h]”(hŒData passed in the ”…”�”}”(hj%h²hh³Nh´Nubj8)�”}”(hŒ **closure**”h]”hŒclosure”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj%ubhŒŽ field for a request will be returned in the corresponding event. It is big enough to hold a pointer on all platforms. The ioctl used to set ”…”�”}”(hj%h²hh³Nh´Nubj8)�”}”(hŒ **closure**”h]”hŒclosure”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj%ubhŒ depends on the ”…”�”}”(hj%h²hh³Nh´Nubj8)�”}”(hŒ**type**”h]”hŒtype”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj%ubhŒ of event.”…”�”}”(hj%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K>hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ"fw_cdev_event_bus_reset (C struct)”Œc.fw_cdev_event_bus_reset”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_bus_reset”h]”j«)�”}”(hŒstruct fw_cdev_event_bus_reset”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KEubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjh²hh³j�h´KEubjÔ)�”}”(hŒfw_cdev_event_bus_reset”h]”jÚ)�”}”(hj}h]”hŒfw_cdev_event_bus_reset”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjŸubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjh²hh³j�h´KEubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj{h²hh³j�h´KEubah}”(h]”jvah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j�h´KEhjxh²hubj)�”}”(hhh]”hý)�”}”(hŒSent when a bus reset occurred”h]”hŒSent when a bus reset occurred”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KIhjÂh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjxh²hh³j�h´KEubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jÝj)jÝj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXÑ**Definition**:: struct fw_cdev_event_bus_reset { __u64 closure; __u32 type; __u32 node_id; __u32 local_node_id; __u32 bm_node_id; __u32 irm_node_id; __u32 root_node_id; __u32 generation; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_GET_INFO`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_BUS_RESET`` ``node_id`` New node ID of this node ``local_node_id`` Node ID of the local node, i.e. of the controller ``bm_node_id`` Node ID of the bus manager ``irm_node_id`` Node ID of the iso resource manager ``root_node_id`` Node ID of the root node ``generation`` New bus generation”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjåubhŒ:”…”�”}”(hjåh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KMhjáubjz)�”}”(hŒÍstruct fw_cdev_event_bus_reset { __u64 closure; __u32 type; __u32 node_id; __u32 local_node_id; __u32 bm_node_id; __u32 irm_node_id; __u32 root_node_id; __u32 generation; };”h]”hŒÍstruct fw_cdev_event_bus_reset { __u64 closure; __u32 type; __u32 node_id; __u32 local_node_id; __u32 bm_node_id; __u32 irm_node_id; __u32 root_node_id; __u32 generation; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KOhjáubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KZhjáubhÝ)�”}”(hhh]”(hâ)�”}”(hŒV``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_GET_INFO`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj2h]”hŒclosure”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KKhj,ubhø)�”}”(hhh]”hý)�”}”(hŒISee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_GET_INFO`` ioctl”h]”(hŒSee ”…”�”}”(hjKh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjUh]”hŒfw_cdev_event_common”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”(Œxref”j"Œc-type”eh"]”h$]”h&]”uh1j„hjSubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdriver-api/firewire”Œ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”sbŒ reftarget”Œfw_cdev_event_common”uh1hh³jGh´KKhjKubhŒ ; set by ”…”�”}”(hjKh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_GET_INFO``”h]”hŒFW_CDEV_IOC_GET_INFO”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjKubhŒ ioctl”…”�”}”(hjKh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jGh´KKhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jGh´KKhj)ubhâ)�”}”(hŒP``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_BUS_RESET`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj«h]”hŒtype”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KLhj¥ubhø)�”}”(hhh]”hý)�”}”(hŒFSee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_BUS_RESET``”h]”(hŒSee ”…”�”}”(hjÄh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjÎh]”hŒfw_cdev_event_common”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÌubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jÀh´KLhjÄubhŒ ; always ”…”�”}”(hjÄh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_BUS_RESET``”h]”hŒFW_CDEV_EVENT_BUS_RESET”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÀh´KLhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÀh´KLhj)ubhâ)�”}”(hŒ%``node_id`` New node ID of this node ”h]”(hè)�”}”(hŒ ``node_id``”h]”j…)�”}”(hjh]”hŒnode_id”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KMhjubhø)�”}”(hhh]”hý)�”}”(hŒNew node ID of this node”h]”hŒNew node ID of this node”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j*h´KMhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j*h´KMhj)ubhâ)�”}”(hŒD``local_node_id`` Node ID of the local node, i.e. of the controller ”h]”(hè)�”}”(hŒ``local_node_id``”h]”j…)�”}”(hjNh]”hŒ local_node_id”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjLubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KNhjHubhø)�”}”(hhh]”hý)�”}”(hŒ1Node ID of the local node, i.e. of the controller”h]”hŒ1Node ID of the local node, i.e. of the controller”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jch´KNhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jch´KNhj)ubhâ)�”}”(hŒ*``bm_node_id`` Node ID of the bus manager ”h]”(hè)�”}”(hŒ``bm_node_id``”h]”j…)�”}”(hj‡h]”hŒ bm_node_id”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KOhj�ubhø)�”}”(hhh]”hý)�”}”(hŒNode ID of the bus manager”h]”hŒNode ID of the bus manager”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jœh´KOhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jœh´KOhj)ubhâ)�”}”(hŒ4``irm_node_id`` Node ID of the iso resource manager ”h]”(hè)�”}”(hŒ``irm_node_id``”h]”j…)�”}”(hjÀh]”hŒ irm_node_id”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KPhjºubhø)�”}”(hhh]”hý)�”}”(hŒ#Node ID of the iso resource manager”h]”hŒ#Node ID of the iso resource manager”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÕh´KPhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÕh´KPhj)ubhâ)�”}”(hŒ*``root_node_id`` Node ID of the root node ”h]”(hè)�”}”(hŒ``root_node_id``”h]”j…)�”}”(hjùh]”hŒ root_node_id”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KQhjóubhø)�”}”(hhh]”hý)�”}”(hŒNode ID of the root node”h]”hŒNode ID of the root node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jh´KQhjubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jh´KQhj)ubhâ)�”}”(hŒ!``generation`` New bus generation”h]”(hè)�”}”(hŒ``generation``”h]”j…)�”}”(hj2h]”hŒ generation”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KQhj,ubhø)�”}”(hhh]”hý)�”}”(hŒNew bus generation”h]”hŒNew bus generation”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KRhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jGh´KQhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjáubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjuh]”hŒ Description”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KUhjhh²hubhý)�”}”(hŒÇThis event is sent when the bus the device belongs to goes through a bus reset. It provides information about the new bus configuration, such as new node ID for this device, new root ID, and others.”h]”hŒÇThis event is sent when the bus the device belongs to goes through a bus reset. It provides information about the new bus configuration, such as new node ID for this device, new root ID, and others.”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KRhjhh²hubhý)�”}”(hŒÉIf **bm_node_id** is 0xffff right after bus reset it can be reread by an ``FW_CDEV_IOC_GET_INFO`` ioctl after bus manager selection was finished. Kernels with ABI version < 4 do not set **bm_node_id**.”h]”(hŒIf ”…”�”}”(hjšh²hh³Nh´Nubj8)�”}”(hŒ**bm_node_id**”h]”hŒ bm_node_id”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjšubhŒ8 is 0xffff right after bus reset it can be reread by an ”…”�”}”(hjšh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_GET_INFO``”h]”hŒFW_CDEV_IOC_GET_INFO”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjšubhŒY ioctl after bus manager selection was finished. Kernels with ABI version < 4 do not set ”…”�”}”(hjšh²hh³Nh´Nubj8)�”}”(hŒ**bm_node_id**”h]”hŒ bm_node_id”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjšubhŒ.”…”�”}”(hjšh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KVhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ!fw_cdev_event_response (C struct)”Œc.fw_cdev_event_response”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_response”h]”j«)�”}”(hŒstruct fw_cdev_event_response”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjôh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K]ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjôh²hh³jh´K]ubjÔ)�”}”(hŒfw_cdev_event_response”h]”jÚ)�”}”(hjòh]”hŒfw_cdev_event_response”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjôh²hh³jh´K]ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjðh²hh³jh´K]ubah}”(h]”jëah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jh´K]hjíh²hubj)�”}”(hhh]”hý)�”}”(hŒ(Sent when a response packet was received”h]”hŒ(Sent when a response packet was received”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kghj7h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjíh²hh³jh´K]ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jRj)jRj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXG**Definition**:: struct fw_cdev_event_response { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_REQUEST`` or ``FW_CDEV_IOC_SEND_BROADCAST_REQUEST`` or ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_RESPONSE`` ``rcode`` Response code returned by the remote node ``length`` Data length, i.e. the response's payload size in bytes ``data`` Payload data, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjZubhŒ:”…”�”}”(hjZh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KkhjVubjz)�”}”(hŒzstruct fw_cdev_event_response { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 data[]; };”h]”hŒzstruct fw_cdev_event_response { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 data[]; };”…”�”}”hjwsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KmhjVubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjˆh]”hŒMembers”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KuhjVubhÝ)�”}”(hhh]”(hâ)�”}”(hŒª``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_REQUEST`` or ``FW_CDEV_IOC_SEND_BROADCAST_REQUEST`` or ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj§h]”hŒclosure”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kkhj¡ubhø)�”}”(hhh]”hý)�”}”(hŒ�See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_REQUEST`` or ``FW_CDEV_IOC_SEND_BROADCAST_REQUEST`` or ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl”h]”(hŒSee ”…”�”}”(hjÀh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjÊh]”hŒfw_cdev_event_common”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÈubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KihjÀubhŒ ; set by ”…”�”}”(hjÀh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_REQUEST``”h]”hŒFW_CDEV_IOC_SEND_REQUEST”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÀubhŒ or ”…”�”}”(hjÀh²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_IOC_SEND_BROADCAST_REQUEST``”h]”hŒ"FW_CDEV_IOC_SEND_BROADCAST_REQUEST”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÀubhŒ or ”…”�”}”hjÀsbj…)�”}”(hŒ"``FW_CDEV_IOC_SEND_STREAM_PACKET``”h]”hŒFW_CDEV_IOC_SEND_STREAM_PACKET”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÀubhŒ ioctl”…”�”}”(hjÀh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jçh´Kihj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¼h´Kkhjžubhâ)�”}”(hŒO``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_RESPONSE`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj:h]”hŒtype”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Klhj4ubhø)�”}”(hhh]”hý)�”}”(hŒESee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_RESPONSE``”h]”(hŒSee ”…”�”}”(hjSh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj]h]”hŒfw_cdev_event_common”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj[ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jOh´KlhjSubhŒ ; always ”…”�”}”(hjSh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_RESPONSE``”h]”hŒFW_CDEV_EVENT_RESPONSE”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjSubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jOh´KlhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jOh´Klhjžubhâ)�”}”(hŒ4``rcode`` Response code returned by the remote node ”h]”(hè)�”}”(hŒ ``rcode``”h]”j…)�”}”(hj¤h]”hŒrcode”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kmhjžubhø)�”}”(hhh]”hý)�”}”(hŒ)Response code returned by the remote node”h]”hŒ)Response code returned by the remote node”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¹h´Kmhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¹h´Kmhjžubhâ)�”}”(hŒB``length`` Data length, i.e. the response's payload size in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjÝh]”hŒlength”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Knhj×ubhø)�”}”(hhh]”hý)�”}”(hŒ6Data length, i.e. the response's payload size in bytes”h]”hŒ8Data length, i.e. the response’s payload size in bytes”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jòh´Knhjóubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jòh´Knhjžubhâ)�”}”(hŒ``data`` Payload data, if any”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj h]”hŒdata”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Knhj ubhø)�”}”(hhh]”hý)�”}”(hŒPayload data, if any”h]”hŒPayload data, if any”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kohj, ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j+ h´Knhjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjVubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjY h]”hŒ Description”…”�”}”(hj[ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjW ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Krhjhh²hubhý)�”}”(hŒËThis event is sent instead of :c:type:`fw_cdev_event_response` if the kernel or the client implements ABI version <= 5. It has the lack of time stamp field comparing to :c:type:`fw_cdev_event_response2`.”h]”(hŒThis event is sent instead of ”…”�”}”(hjo h²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_response`”h]”j…)�”}”(hjy h]”hŒfw_cdev_event_response”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjw ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_response”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kohjo ubhŒk if the kernel or the client implements ABI version <= 5. It has the lack of time stamp field comparing to ”…”�”}”(hjo h²hh³Nh´Nubh)�”}”(hŒ!:c:type:`fw_cdev_event_response2`”h]”j…)�”}”(hj� h]”hŒfw_cdev_event_response2”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj› ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_response2”uh1hh³j– h´Kohjo ubhŒ.”…”�”}”(hjo h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j– h´Kohjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ"fw_cdev_event_response2 (C struct)”Œc.fw_cdev_event_response2”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_response2”h]”j«)�”}”(hŒstruct fw_cdev_event_response2”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjÝ h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÙ h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KuubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÙ h²hh³jê h´KuubjÔ)�”}”(hŒfw_cdev_event_response2”h]”jÚ)�”}”(hj× h]”hŒfw_cdev_event_response2”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjù ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjÙ h²hh³jê h´Kuubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjÕ h²hh³jê h´Kuubah}”(h]”jÐ ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jê h´KuhjÒ h²hubj)�”}”(hhh]”hý)�”}”(hŒ(Sent when a response packet was received”h]”hŒ(Sent when a response packet was received”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K|hj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÒ h²hh³jê h´Kuubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j7 j)j7 j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX**Definition**:: struct fw_cdev_event_response2 { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 request_tstamp; __u32 response_tstamp; __u32 padding; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_REQUEST`` or ``FW_CDEV_IOC_SEND_BROADCAST_REQUEST`` or ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_RESPONSE`` ``rcode`` Response code returned by the remote node ``length`` Data length, i.e. the response's payload size in bytes ``request_tstamp`` The time stamp of isochronous cycle at which the request was sent. ``response_tstamp`` The time stamp of isochronous cycle at which the response was sent. ``padding`` Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture. ``data`` Payload data, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj? ubhŒ:”…”�”}”(hj? h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K€hj; ubjz)�”}”(hŒÃstruct fw_cdev_event_response2 { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 request_tstamp; __u32 response_tstamp; __u32 padding; __u32 data[]; };”h]”hŒÃstruct fw_cdev_event_response2 { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 request_tstamp; __u32 response_tstamp; __u32 padding; __u32 data[]; };”…”�”}”hj\ sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K‚hj; ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjm h]”hŒMembers”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K�hj; ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒª``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_REQUEST`` or ``FW_CDEV_IOC_SEND_BROADCAST_REQUEST`` or ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjŒ h]”hŒclosure”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŠ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K€hj† ubhø)�”}”(hhh]”hý)�”}”(hŒ�See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_REQUEST`` or ``FW_CDEV_IOC_SEND_BROADCAST_REQUEST`` or ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl”h]”(hŒSee ”…”�”}”(hj¥ h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj¯ h]”hŒfw_cdev_event_common”…”�”}”(hj± h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj­ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K~hj¥ ubhŒ ; set by ”…”�”}”(hj¥ h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_REQUEST``”h]”hŒFW_CDEV_IOC_SEND_REQUEST”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥ ubhŒ or ”…”�”}”(hj¥ h²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_IOC_SEND_BROADCAST_REQUEST``”h]”hŒ"FW_CDEV_IOC_SEND_BROADCAST_REQUEST”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥ ubhŒ or ”…”�”}”hj¥ sbj…)�”}”(hŒ"``FW_CDEV_IOC_SEND_STREAM_PACKET``”h]”hŒFW_CDEV_IOC_SEND_STREAM_PACKET”…”�”}”(hjõ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥ ubhŒ ioctl”…”�”}”(hj¥ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÌ h´K~hj¢ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj† ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¡ h´K€hjƒ ubhâ)�”}”(hŒO``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_RESPONSE`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj h]”hŒtype”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K�hj ubhø)�”}”(hhh]”hý)�”}”(hŒESee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_RESPONSE``”h]”(hŒSee ”…”�”}”(hj8 h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjB h]”hŒfw_cdev_event_common”…”�”}”(hjD h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj@ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³j4 h´K�hj8 ubhŒ ; always ”…”�”}”(hj8 h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_RESPONSE``”h]”hŒFW_CDEV_EVENT_RESPONSE”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj8 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j4 h´K�hj5 ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j4 h´K�hjƒ ubhâ)�”}”(hŒ4``rcode`` Response code returned by the remote node ”h]”(hè)�”}”(hŒ ``rcode``”h]”j…)�”}”(hj‰ h]”hŒrcode”…”�”}”(hj‹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj‡ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K‚hjƒ ubhø)�”}”(hhh]”hý)�”}”(hŒ)Response code returned by the remote node”h]”hŒ)Response code returned by the remote node”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jž h´K‚hjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjƒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jž h´K‚hjƒ ubhâ)�”}”(hŒB``length`` Data length, i.e. the response's payload size in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hj h]”hŒlength”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÀ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kƒhj¼ ubhø)�”}”(hhh]”hý)�”}”(hŒ6Data length, i.e. the response's payload size in bytes”h]”hŒ8Data length, i.e. the response’s payload size in bytes”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j× h´KƒhjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¼ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j× h´Kƒhjƒ ubhâ)�”}”(hŒV``request_tstamp`` The time stamp of isochronous cycle at which the request was sent. ”h]”(hè)�”}”(hŒ``request_tstamp``”h]”j…)�”}”(hjû h]”hŒrequest_tstamp”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjù ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K„hjõ ubhø)�”}”(hhh]”hý)�”}”(hŒBThe time stamp of isochronous cycle at which the request was sent.”h]”hŒBThe time stamp of isochronous cycle at which the request was sent.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j h´K„hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjõ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j h´K„hjƒ ubhâ)�”}”(hŒX``response_tstamp`` The time stamp of isochronous cycle at which the response was sent. ”h]”(hè)�”}”(hŒ``response_tstamp``”h]”j…)�”}”(hj4 h]”hŒresponse_tstamp”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K…hj. ubhø)�”}”(hhh]”hý)�”}”(hŒCThe time stamp of isochronous cycle at which the response was sent.”h]”hŒCThe time stamp of isochronous cycle at which the response was sent.”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jI h´K…hjJ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj. ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jI h´K…hjƒ ubhâ)�”}”(hŒ½``padding`` Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture. ”h]”(hè)�”}”(hŒ ``padding``”h]”j…)�”}”(hjm h]”hŒpadding”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kˆhjg ubhø)�”}”(hhh]”hý)�”}”(hŒ°Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture.”h]”hŒ°Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture.”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K†hjƒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjg ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j‚ h´Kˆhjƒ ubhâ)�”}”(hŒ``data`` Payload data, if any”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj§ h]”hŒdata”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kˆhj¡ ubhø)�”}”(hhh]”hý)�”}”(hŒPayload data, if any”h]”hŒPayload data, if any”…”�”}”(hjÀ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K‰hj½ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¡ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¼ h´Kˆhjƒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj; ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjê h]”hŒ Description”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjè ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KŒhjhh²hubhý)�”}”(hXThis event is sent when the stack receives a response to an outgoing request sent by ``FW_CDEV_IOC_SEND_REQUEST`` ioctl. The payload data for responses carrying data (read and lock responses) follows immediately and can be accessed through the **data** field.”h]”(hŒUThis event is sent when the stack receives a response to an outgoing request sent by ”…”�”}”(hj h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_REQUEST``”h]”hŒFW_CDEV_IOC_SEND_REQUEST”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj ubhŒ„ ioctl. The payload data for responses carrying data (read and lock responses) follows immediately and can be accessed through the ”…”�”}”(hj h²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj ubhŒ field.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K‰hjhh²hubhý)�”}”(hXThe event is also generated after conclusions of transactions that do not involve response packets. This includes unified write transactions, broadcast write transactions, and transmission of asynchronous stream packets. **rcode** indicates success or failure of such transmissions.”h]”(hŒßThe event is also generated after conclusions of transactions that do not involve response packets. This includes unified write transactions, broadcast write transactions, and transmission of asynchronous stream packets. ”…”�”}”(hj3 h²hh³Nh´Nubj8)�”}”(hŒ **rcode**”h]”hŒrcode”…”�”}”(hj; h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj3 ubhŒ4 indicates success or failure of such transmissions.”…”�”}”(hj3 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KŽhjhh²hubhý)�”}”(hXŽThe value of **request_tstamp** expresses the isochronous cycle at which the request was sent to initiate the transaction. The value of **response_tstamp** expresses the isochronous cycle at which the response arrived to complete the transaction. Each value is unsigned 16 bit integer containing three low order bits of second field and all 13 bits of cycle field in format of CYCLE_TIMER register.”h]”(hŒ The value of ”…”�”}”(hjT h²hh³Nh´Nubj8)�”}”(hŒ**request_tstamp**”h]”hŒrequest_tstamp”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjT ubhŒi expresses the isochronous cycle at which the request was sent to initiate the transaction. The value of ”…”�”}”(hjT h²hh³Nh´Nubj8)�”}”(hŒ**response_tstamp**”h]”hŒresponse_tstamp”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjT ubhŒó expresses the isochronous cycle at which the response arrived to complete the transaction. Each value is unsigned 16 bit integer containing three low order bits of second field and all 13 bits of cycle field in format of CYCLE_TIMER register.”…”�”}”(hjT h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K“hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ fw_cdev_event_request (C struct)”Œc.fw_cdev_event_request”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_request”h]”j«)�”}”(hŒstruct fw_cdev_event_request”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjœ h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KœubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjœ h²hh³j­ h´KœubjÔ)�”}”(hŒfw_cdev_event_request”h]”jÚ)�”}”(hjš h]”hŒfw_cdev_event_request”…”�”}”(hjÀ h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¼ ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjœ h²hh³j­ h´Kœubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj˜ h²hh³j­ h´Kœubah}”(h]”j“ ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j­ h´Kœhj• h²hubj)�”}”(hhh]”hý)�”}”(hŒ/Old version of :c:type:`fw_cdev_event_request2`”h]”(hŒOld version of ”…”�”}”(hjâ h²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request2`”h]”j…)�”}”(hjì h]”hŒfw_cdev_event_request2”…”�”}”(hjî h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjê ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjv)�”}”jy]”jtŒ ASTIdentifier”“”)�”}”Œ identifier”jš sbŒc.fw_cdev_event_request”†”asbj{Œfw_cdev_event_request2”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Khjâ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K¦hjß h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj• h²hh³j­ h´Kœubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j$j)j$j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX�**Definition**:: struct fw_cdev_event_request { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 handle; __u32 length; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST`` ``tcode`` Transaction code of the incoming request ``offset`` The offset into the 48-bit per-node address space ``handle`` Reference to the kernel-side pending request ``length`` Data length, i.e. the request's payload size in bytes ``data`` Incoming data, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj,ubhŒ:”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kªhj(ubjz)�”}”(hŒ�struct fw_cdev_event_request { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 handle; __u32 length; __u32 data[]; };”h]”hŒ�struct fw_cdev_event_request { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 handle; __u32 length; __u32 data[]; };”…”�”}”hjIsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K¬hj(ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjZh]”hŒMembers”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K¶hj(ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒV``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjyh]”hŒclosure”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjwubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K¨hjsubhø)�”}”(hhh]”hý)�”}”(hŒISee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl”h]”(hŒSee ”…”�”}”(hj’h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjœh]”hŒfw_cdev_event_common”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjšubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jŽh´K¨hj’ubhŒ ; set by ”…”�”}”(hj’h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_ALLOCATE``”h]”hŒFW_CDEV_IOC_ALLOCATE”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj’ubhŒ ioctl”…”�”}”(hj’h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jŽh´K¨hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jŽh´K¨hjpubhâ)�”}”(hŒN``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hjçh]”hŒtype”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjåubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K©hjáubhø)�”}”(hhh]”hý)�”}”(hŒDSee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST``”h]”(hŒSee ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj h]”hŒfw_cdev_event_common”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jüh´K©hjubhŒ ; always ”…”�”}”(hjh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_REQUEST``”h]”hŒFW_CDEV_EVENT_REQUEST”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jüh´K©hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jüh´K©hjpubhâ)�”}”(hŒ3``tcode`` Transaction code of the incoming request ”h]”(hè)�”}”(hŒ ``tcode``”h]”j…)�”}”(hjQh]”hŒtcode”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KªhjKubhø)�”}”(hhh]”hý)�”}”(hŒ(Transaction code of the incoming request”h]”hŒ(Transaction code of the incoming request”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jfh´Kªhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jfh´Kªhjpubhâ)�”}”(hŒ=``offset`` The offset into the 48-bit per-node address space ”h]”(hè)�”}”(hŒ ``offset``”h]”j…)�”}”(hjŠh]”hŒoffset”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K«hj„ubhø)�”}”(hhh]”hý)�”}”(hŒ1The offset into the 48-bit per-node address space”h]”hŒ1The offset into the 48-bit per-node address space”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jŸh´K«hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj„ubeh}”(h]”h •]”h"]”h$]”h&]”uh1háh³jŸh´K«hjpubhâ)�”}”(hŒ8``handle`` Reference to the kernel-side pending request ”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjÃh]”hŒhandle”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K¬hj½ubhø)�”}”(hhh]”hý)�”}”(hŒ,Reference to the kernel-side pending request”h]”hŒ,Reference to the kernel-side pending request”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jØh´K¬hjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jØh´K¬hjpubhâ)�”}”(hŒA``length`` Data length, i.e. the request's payload size in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjüh]”hŒlength”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjúubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K­hjöubhø)�”}”(hhh]”hý)�”}”(hŒ5Data length, i.e. the request's payload size in bytes”h]”hŒ7Data length, i.e. the request’s payload size in bytes”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jh´K­hjubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjöubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jh´K­hjpubhâ)�”}”(hŒ``data`` Incoming data, if any”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj5h]”hŒdata”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K­hj/ubhø)�”}”(hhh]”hý)�”}”(hŒIncoming data, if any”h]”hŒIncoming data, if any”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K®hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jJh´K­hjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjxh]”hŒ Description”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K±hjhh²hubhý)�”}”(hŒãThis event is sent instead of :c:type:`fw_cdev_event_request2` if the kernel or the client implements ABI version <= 3. :c:type:`fw_cdev_event_request` lacks essential information; use :c:type:`fw_cdev_event_request2` instead.”h]”(hŒThis event is sent instead of ”…”�”}”(hjŽh²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request2`”h]”j…)�”}”(hj˜h]”hŒfw_cdev_event_request2”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj–ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request2”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K®hjŽubhŒ; if the kernel or the client implements ABI version <= 3. ”…”�”}”(hjŽh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_request`”h]”j…)�”}”(hj¼h]”hŒfw_cdev_event_request”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjºubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request”uh1hh³jµh´K®hjŽubhŒ" lacks essential information; use ”…”�”}”(hjŽh²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request2`”h]”j…)�”}”(hjßh]”hŒfw_cdev_event_request2”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÝubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request2”uh1hh³jµh´K®hjŽubhŒ instead.”…”�”}”(hjŽh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jµh´K®hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ!fw_cdev_event_request2 (C struct)”Œc.fw_cdev_event_request2”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_request2”h]”j«)�”}”(hŒstruct fw_cdev_event_request2”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KµubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjh²hh³j,h´KµubjÔ)�”}”(hŒfw_cdev_event_request2”h]”jÚ)�”}”(hjh]”hŒfw_cdev_event_request2”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj;ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjh²hh³j,h´Kµubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjh²hh³j,h´Kµubah}”(h]”jah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j,h´Kµhjh²hubj)�”}”(hhh]”hý)�”}”(hŒ-Sent on incoming request to an address region”h]”hŒ-Sent on incoming request to an address region”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´K¾hj^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³j,h´Kµubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jyj)jyj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXÉ**Definition**:: struct fw_cdev_event_request2 { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 source_node_id; __u32 destination_node_id; __u32 card; __u32 generation; __u32 handle; __u32 length; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST2`` ``tcode`` Transaction code of the incoming request ``offset`` The offset into the 48-bit per-node address space ``source_node_id`` Sender node ID ``destination_node_id`` Destination node ID ``card`` The index of the card from which the request came ``generation`` Bus generation in which the request is valid ``handle`` Reference to the kernel-side pending request ``length`` Data length, i.e. the request's payload size in bytes ``data`` Incoming data, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�ubhŒ:”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÂhj}ubjz)�”}”(hŒýstruct fw_cdev_event_request2 { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 source_node_id; __u32 destination_node_id; __u32 card; __u32 generation; __u32 handle; __u32 length; __u32 data[]; };”h]”hŒýstruct fw_cdev_event_request2 { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 source_node_id; __u32 destination_node_id; __u32 card; __u32 generation; __u32 handle; __u32 length; __u32 data[]; };”…”�”}”hjžsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÄhj}ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj¯h]”hŒMembers”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÒhj}ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒV``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjÎh]”hŒclosure”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÀhjÈubhø)�”}”(hhh]”hý)�”}”(hŒISee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl”h]”(hŒSee ”…”�”}”(hjçh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjñh]”hŒfw_cdev_event_common”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjïubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jãh´KÀhjçubhŒ ; set by ”…”�”}”(hjçh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_ALLOCATE``”h]”hŒFW_CDEV_IOC_ALLOCATE”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjçubhŒ ioctl”…”�”}”(hjçh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jãh´KÀhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jãh´KÀhjÅubhâ)�”}”(hŒO``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST2`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj<h]”hŒtype”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÁhj6ubhø)�”}”(hhh]”hý)�”}”(hŒESee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST2``”h]”(hŒSee ”…”�”}”(hjUh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj_h]”hŒfw_cdev_event_common”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj]ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jQh´KÁhjUubhŒ ; always ”…”�”}”(hjUh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_REQUEST2``”h]”hŒFW_CDEV_EVENT_REQUEST2”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jQh´KÁhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jQh´KÁhjÅubhâ)�”}”(hŒ3``tcode`` Transaction code of the incoming request ”h]”(hè)�”}”(hŒ ``tcode``”h]”j…)�”}”(hj¦h]”hŒtcode”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÂhj ubhø)�”}”(hhh]”hý)�”}”(hŒ(Transaction code of the incoming request”h]”hŒ(Transaction code of the incoming request”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j»h´KÂhj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j»h´KÂhjÅubhâ)�”}”(hŒ=``offset`` The offset into the 48-bit per-node address space ”h]”(hè)�”}”(hŒ ``offset``”h]”j…)�”}”(hjßh]”hŒoffset”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÃhjÙubhø)�”}”(hhh]”hý)�”}”(hŒ1The offset into the 48-bit per-node address space”h]”hŒ1The offset into the 48-bit per-node address space”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jôh´KÃhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jôh´KÃhjÅubhâ)�”}”(hŒ"``source_node_id`` Sender node ID ”h]”(hè)�”}”(hŒ``source_node_id``”h]”j…)�”}”(hjh]”hŒsource_node_id”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÄhjubhø)�”}”(hhh]”hý)�”}”(hŒSender node ID”h]”hŒSender node ID”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j-h´KÄhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j-h´KÄhjÅubhâ)�”}”(hŒ,``destination_node_id`` Destination node ID ”h]”(hè)�”}”(hŒ``destination_node_id``”h]”j…)�”}”(hjQh]”hŒdestination_node_id”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÅhjKubhø)�”}”(hhh]”hý)�”}”(hŒDestination node ID”h]”hŒDestination node ID”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jfh´KÅhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jfh´KÅhjÅubhâ)�”}”(hŒ;``card`` The index of the card from which the request came ”h]”(hè)�”}”(hŒ``card``”h]”j…)�”}”(hjŠh]”hŒcard”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÆhj„ubhø)�”}”(hhh]”hý)�”}”(hŒ1The index of the card from which the request came”h]”hŒ1The index of the card from which the request came”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jŸh´KÆhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jŸh´KÆhjÅubhâ)�”}”(hŒ<``generation`` Bus generation in which the request is valid ”h]”(hè)�”}”(hŒ``generation``”h]”j…)�”}”(hjÃh]”hŒ generation”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÇhj½ubhø)�”}”(hhh]”hý)�”}”(hŒ,Bus generation in which the request is valid”h]”hŒ,Bus generation in which the request is valid”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jØh´KÇhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jØh´KÇhjÅubhâ)�”}”(hŒ8``handle`` Reference to the kernel-side pending request ”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjüh]”hŒhandle”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjúubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÈhjöubhø)�”}”(hhh]”hý)�”}”(hŒ,Reference to the kernel-side pending request”h]”hŒ,Reference to the kernel-side pending request”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jh´KÈhjubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjöubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jh´KÈhjÅubhâ)�”}”(hŒA``length`` Data length, i.e. the request's payload size in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hj5h]”hŒlength”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÉhj/ubhø)�”}”(hhh]”hý)�”}”(hŒ5Data length, i.e. the request's payload size in bytes”h]”hŒ7Data length, i.e. the request’s payload size in bytes”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jJh´KÉhjKubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jJh´KÉhjÅubhâ)�”}”(hŒ``data`` Incoming data, if any”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hjnh]”hŒdata”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjlubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÉhjhubhø)�”}”(hhh]”hý)�”}”(hŒIncoming data, if any”h]”hŒIncoming data, if any”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÊhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jƒh´KÉhjÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj}ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj±h]”hŒ Description”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÍhjhh²hubhý)�”}”(hŒÊThis event is sent instead of :c:type:`fw_cdev_event_request3` if the kernel or the client implements ABI version <= 5. It has the lack of time stamp field comparing to :c:type:`fw_cdev_event_request3`.”h]”(hŒThis event is sent instead of ”…”�”}”(hjÇh²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request3`”h]”j…)�”}”(hjÑh]”hŒfw_cdev_event_request3”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÏubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request3”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÊhjÇubhŒk if the kernel or the client implements ABI version <= 5. It has the lack of time stamp field comparing to ”…”�”}”(hjÇh²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request3`”h]”j…)�”}”(hjõh]”hŒfw_cdev_event_request3”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjóubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request3”uh1hh³jîh´KÊhjÇubhŒ.”…”�”}”(hjÇh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jîh´KÊhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ!fw_cdev_event_request3 (C struct)”Œc.fw_cdev_event_request3”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_request3”h]”j«)�”}”(hŒstruct fw_cdev_event_request3”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj1h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÐubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj1h²hh³jBh´KÐubjÔ)�”}”(hŒfw_cdev_event_request3”h]”jÚ)�”}”(hj/h]”hŒfw_cdev_event_request3”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjQubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj1h²hh³jBh´KÐubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj-h²hh³jBh´KÐubah}”(h]”j(ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jBh´KÐhj*h²hubj)�”}”(hhh]”hý)�”}”(hŒ-Sent on incoming request to an address region”h]”hŒ-Sent on incoming request to an address region”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KÝhjth²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*h²hh³jBh´KÐubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j�j)j�j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX**Definition**:: struct fw_cdev_event_request3 { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 source_node_id; __u32 destination_node_id; __u32 card; __u32 generation; __u32 handle; __u32 length; __u32 tstamp; __u32 padding; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST2`` ``tcode`` Transaction code of the incoming request ``offset`` The offset into the 48-bit per-node address space ``source_node_id`` Sender node ID ``destination_node_id`` Destination node ID ``card`` The index of the card from which the request came ``generation`` Bus generation in which the request is valid ``handle`` Reference to the kernel-side pending request ``length`` Data length, i.e. the request's payload size in bytes ``tstamp`` The time stamp of isochronous cycle at which the request arrived. ``padding`` Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture. ``data`` Incoming data, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj—ubhŒ:”…”�”}”(hj—h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Káhj“ubjz)�”}”(hX"struct fw_cdev_event_request3 { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 source_node_id; __u32 destination_node_id; __u32 card; __u32 generation; __u32 handle; __u32 length; __u32 tstamp; __u32 padding; __u32 data[]; };”h]”hX"struct fw_cdev_event_request3 { __u64 closure; __u32 type; __u32 tcode; __u64 offset; __u32 source_node_id; __u32 destination_node_id; __u32 card; __u32 generation; __u32 handle; __u32 length; __u32 tstamp; __u32 padding; __u32 data[]; };”…”�”}”hj´sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kãhj“ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjÅh]”hŒMembers”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kóhj“ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒV``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjäh]”hŒclosure”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjâubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KßhjÞubhø)�”}”(hhh]”hý)�”}”(hŒISee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_ALLOCATE`` ioctl”h]”(hŒSee ”…”�”}”(hjýh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjh]”hŒfw_cdev_event_common”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jùh´KßhjýubhŒ ; set by ”…”�”}”(hjýh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_ALLOCATE``”h]”hŒFW_CDEV_IOC_ALLOCATE”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjýubhŒ ioctl”…”�”}”(hjýh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jùh´Kßhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÞubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jùh´KßhjÛubhâ)�”}”(hŒO``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST2`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hjRh]”hŒtype”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KàhjLubhø)�”}”(hhh]”hý)�”}”(hŒESee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_REQUEST2``”h]”(hŒSee ”…”�”}”(hjkh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjuh]”hŒfw_cdev_event_common”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjsubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³jgh´KàhjkubhŒ ; always ”…”�”}”(hjkh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_REQUEST2``”h]”hŒFW_CDEV_EVENT_REQUEST2”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jgh´Kàhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jgh´KàhjÛubhâ)�”}”(hŒ3``tcode`` Transaction code of the incoming request ”h]”(hè)�”}”(hŒ ``tcode``”h]”j…)�”}”(hj¼h]”hŒtcode”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Káhj¶ubhø)�”}”(hhh]”hý)�”}”(hŒ(Transaction code of the incoming request”h]”hŒ(Transaction code of the incoming request”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÑh´KáhjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÑh´KáhjÛubhâ)�”}”(hŒ=``offset`` The offset into the 48-bit per-node address space ”h]”(hè)�”}”(hŒ ``offset``”h]”j…)�”}”(hjõh]”hŒoffset”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kâhjïubhø)�”}”(hhh]”hý)�”}”(hŒ1The offset into the 48-bit per-node address space”h]”hŒ1The offset into the 48-bit per-node address space”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j h´Kâhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjïubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j h´KâhjÛubhâ)�”}”(hŒ"``source_node_id`` Sender node ID ”h]”(hè)�”}”(hŒ``source_node_id``”h]”j…)�”}”(hj.h]”hŒsource_node_id”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kãhj(ubhø)�”}”(hhh]”hý)�”}”(hŒSender node ID”h]”hŒSender node ID”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jCh´KãhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jCh´KãhjÛubhâ)�”}”(hŒ,``destination_node_id`` Destination node ID ”h]”(hè)�”}”(hŒ``destination_node_id``”h]”j…)�”}”(hjgh]”hŒdestination_node_id”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kähjaubhø)�”}”(hhh]”hý)�”}”(hŒDestination node ID”h]”hŒDestination node ID”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j|h´Kähj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j|h´KähjÛubhâ)�”}”(hŒ;``card`` The index of the card from which the request came ”h]”(hè)�”}”(hŒ``card``”h]”j…)�”}”(hj h]”hŒcard”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjžubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kåhjšubhø)�”}”(hhh]”hý)�”}”(hŒ1The index of the card from which the request came”h]”hŒ1The index of the card from which the request came”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jµh´Kåhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjšubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jµh´KåhjÛubhâ)�”}”(hŒ<``generation`` Bus generation in which the request is valid ”h]”(hè)�”}”(hŒ``generation``”h]”j…)�”}”(hjÙh]”hŒ generation”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KæhjÓubhø)�”}”(hhh]”hý)�”}”(hŒ,Bus generation in which the request is valid”h]”hŒ,Bus generation in which the request is valid”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jîh´Kæhjïubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jîh´KæhjÛubhâ)�”}”(hŒ8``handle`` Reference to the kernel-side pending request ”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjh]”hŒhandle”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kçhj ubhø)�”}”(hhh]”hý)�”}”(hŒ,Reference to the kernel-side pending request”h]”hŒ,Reference to the kernel-side pending request”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j'h´Kçhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j'h´KçhjÛubhâ)�”}”(hŒA``length`` Data length, i.e. the request's payload size in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjKh]”hŒlength”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KèhjEubhø)�”}”(hhh]”hý)�”}”(hŒ5Data length, i.e. the request's payload size in bytes”h]”hŒ7Data length, i.e. the request’s payload size in bytes”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j`h´Kèhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j`h´KèhjÛubhâ)�”}”(hŒM``tstamp`` The time stamp of isochronous cycle at which the request arrived. ”h]”(hè)�”}”(hŒ ``tstamp``”h]”j…)�”}”(hj„h]”hŒtstamp”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kéhj~ubhø)�”}”(hhh]”hý)�”}”(hŒAThe time stamp of isochronous cycle at which the request arrived.”h]”hŒAThe time stamp of isochronous cycle at which the request arrived.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j™h´Kéhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j™h´KéhjÛubhâ)�”}”(hŒ½``padding`` Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture. ”h]”(hè)�”}”(hŒ ``padding``”h]”j…)�”}”(hj½h]”hŒpadding”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kìhj·ubhø)�”}”(hhh]”hý)�”}”(hŒ°Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture.”h]”hŒ°Padding to keep the size of structure as multiples of 8 in various architectures since 4 byte alignment is used for 8 byte of object type in System V ABI for i386 architecture.”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´KêhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÒh´KìhjÛubhâ)�”}”(hŒ``data`` Incoming data, if any”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj÷h]”hŒdata”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kìhjñubhø)�”}”(hhh]”hý)�”}”(hŒIncoming data, if any”h]”hŒIncoming data, if any”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kíhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j h´KìhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj“ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj:h]”hŒ Description”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kðhjhh²hubhý)�”}”(hXMThis event is sent when the stack receives an incoming request to an address region registered using the ``FW_CDEV_IOC_ALLOCATE`` ioctl. The request is guaranteed to be completely contained in the specified region. Userspace is responsible for sending the response by ``FW_CDEV_IOC_SEND_RESPONSE`` ioctl, using the same **handle**.”h]”(hŒiThis event is sent when the stack receives an incoming request to an address region registered using the ”…”�”}”(hjPh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_ALLOCATE``”h]”hŒFW_CDEV_IOC_ALLOCATE”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjPubhŒ� ioctl. The request is guaranteed to be completely contained in the specified region. Userspace is responsible for sending the response by ”…”�”}”(hjPh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_RESPONSE``”h]”hŒFW_CDEV_IOC_SEND_RESPONSE”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjPubhŒ ioctl, using the same ”…”�”}”(hjPh²hh³Nh´Nubj8)�”}”(hŒ **handle**”h]”hŒhandle”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjPubhŒ.”…”�”}”(hjPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kíhjhh²hubhý)�”}”(hŒ‰The payload data for requests carrying data (write and lock requests) follows immediately and can be accessed through the **data** field.”h]”(hŒzThe payload data for requests carrying data (write and lock requests) follows immediately and can be accessed through the ”…”�”}”(hj•h²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj•ubhŒ field.”…”�”}”(hj•h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kóhjhh²hubhý)�”}”(hŒÏUnlike :c:type:`fw_cdev_event_request`, **tcode** of lock requests is one of the firewire-core specific ``TCODE_LOCK_MASK_SWAP``...``TCODE_LOCK_VENDOR_DEPENDENT``, i.e. encodes the extended transaction code.”h]”(hŒUnlike ”…”�”}”(hj¶h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_request`”h]”j…)�”}”(hjÀh]”hŒfw_cdev_event_request”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj¾ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Köhj¶ubhŒ, ”…”�”}”(hj¶h²hh³Nh´Nubj8)�”}”(hŒ **tcode**”h]”hŒtcode”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¶ubhŒ7 of lock requests is one of the firewire-core specific ”…”�”}”(hj¶h²hh³Nh´Nubj…)�”}”(hŒ``TCODE_LOCK_MASK_SWAP``”h]”hŒTCODE_LOCK_MASK_SWAP”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¶ubhŒO...``TCODE_LOCK_VENDOR_DEPENDENT``, i.e. encodes the extended transaction code.”…”�”}”(hj¶h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÝh´Köhjhh²hubhý)�”}”(hXl**card** may differ from :c:type:`fw_cdev_get_info.card ` because requests are received from all cards of the Linux host. **source_node_id**, **destination_node_id**, and **generation** pertain to that card. Destination node ID and bus generation may therefore differ from the corresponding fields of the last :c:type:`fw_cdev_event_bus_reset`.”h]”(j8)�”}”(hŒ**card**”h]”hŒcard”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj ubhŒ may differ from ”…”�”}”(hj h²hh³Nh´Nubh)�”}”(hŒ2:c:type:`fw_cdev_get_info.card `”h]”j…)�”}”(hj$h]”hŒfw_cdev_get_info.card”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj"ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_get_info”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Kúhj ubhŒB because requests are received from all cards of the Linux host. ”…”�”}”(hj h²hh³Nh´Nubj8)�”}”(hŒ**source_node_id**”h]”hŒsource_node_id”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj ubhŒ, ”…”�”}”(hj h²hh³Nh´Nubj8)�”}”(hŒ**destination_node_id**”h]”hŒdestination_node_id”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj ubhŒ, and ”…”�”}”(hj h²hh³Nh´Nubj8)�”}”(hŒ**generation**”h]”hŒ generation”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj ubhŒ~ pertain to that card. Destination node ID and bus generation may therefore differ from the corresponding fields of the last ”…”�”}”(hj h²hh³Nh´Nubh)�”}”(hŒ!:c:type:`fw_cdev_event_bus_reset`”h]”j…)�”}”(hj~h]”hŒfw_cdev_event_bus_reset”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj|ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_bus_reset”uh1hh³jAh´Kúhj ubhŒ.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jAh´Kúhjhh²hubhý)�”}”(hXc**destination_node_id** may also differ from the current node ID because of a non-local bus ID part or in case of a broadcast write request. Note, a client must call an ``FW_CDEV_IOC_SEND_RESPONSE`` ioctl even in case of a broadcast write request; the kernel will then release the kernel-side pending request but will not actually send a response packet.”h]”(j8)�”}”(hŒ**destination_node_id**”h]”hŒdestination_node_id”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¥ubhŒ“ may also differ from the current node ID because of a non-local bus ID part or in case of a broadcast write request. Note, a client must call an ”…”�”}”(hj¥h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_RESPONSE``”h]”hŒFW_CDEV_IOC_SEND_RESPONSE”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥ubhŒœ ioctl even in case of a broadcast write request; the kernel will then release the kernel-side pending request but will not actually send a response packet.”…”�”}”(hj¥h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hX1In case of a write request to FCP_REQUEST or FCP_RESPONSE, the kernel already sent a write response immediately after the request was received; in this case the client must still call an ``FW_CDEV_IOC_SEND_RESPONSE`` ioctl to release the kernel-side pending request, though another response won't be sent.”h]”(hŒ»In case of a write request to FCP_REQUEST or FCP_RESPONSE, the kernel already sent a write response immediately after the request was received; in this case the client must still call an ”…”�”}”(hjÔh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_RESPONSE``”h]”hŒFW_CDEV_IOC_SEND_RESPONSE”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÔubhŒ[ ioctl to release the kernel-side pending request, though another response won’t be sent.”…”�”}”(hjÔh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒ×If the client subsequently needs to initiate requests to the sender node of an :c:type:`fw_cdev_event_request3`, it needs to use a device file with matching card index, node ID, and generation for outbound requests.”h]”(hŒOIf the client subsequently needs to initiate requests to the sender node of an ”…”�”}”(hjõh²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request3`”h]”j…)�”}”(hjÿh]”hŒfw_cdev_event_request3”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjýubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request3”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M hjõubhŒh, it needs to use a device file with matching card index, node ID, and generation for outbound requests.”…”�”}”(hjõh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jh´M hjhh²hubhý)�”}”(hŒî**tstamp** is isochronous cycle at which the request arrived. It is 16 bit integer value and the higher 3 bits expresses three low order bits of second field in the format of CYCLE_TIME register and the rest 13 bits expresses cycle field.”h]”(j8)�”}”(hŒ **tstamp**”h]”hŒtstamp”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj'ubhŒä is isochronous cycle at which the request arrived. It is 16 bit integer value and the higher 3 bits expresses three low order bits of second field in the format of CYCLE_TIME register and the rest 13 bits expresses cycle field.”…”�”}”(hj'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ&fw_cdev_event_iso_interrupt (C struct)”Œc.fw_cdev_event_iso_interrupt”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_iso_interrupt”h]”j«)�”}”(hŒ"struct fw_cdev_event_iso_interrupt”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjYh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjYh²hh³jjh´MubjÔ)�”}”(hŒfw_cdev_event_iso_interrupt”h]”jÚ)�”}”(hjWh]”hŒfw_cdev_event_iso_interrupt”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjyubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjYh²hh³jjh´Mubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjUh²hh³jjh´Mubah}”(h]”jPah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jjh´MhjRh²hubj)�”}”(hhh]”hý)�”}”(hŒ%Sent when an iso packet was completed”h]”hŒ%Sent when an iso packet was completed”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M&hjœh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRh²hh³jjh´Mubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j·j)j·j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX **Definition**:: struct fw_cdev_event_iso_interrupt { __u64 closure; __u32 type; __u32 cycle; __u32 header_length; __u32 header[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_CREATE_ISO_CONTEXT`` ioctl ``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_ISO_INTERRUPT`` ``cycle`` Cycle counter of the last completed packet ``header_length`` Total length of following headers, in bytes ``header`` Stripped headers, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¿ubhŒ:”…”�”}”(hj¿h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M*hj»ubjz)�”}”(hŒˆstruct fw_cdev_event_iso_interrupt { __u64 closure; __u32 type; __u32 cycle; __u32 header_length; __u32 header[]; };”h]”hŒˆstruct fw_cdev_event_iso_interrupt { __u64 closure; __u32 type; __u32 cycle; __u32 header_length; __u32 header[]; };”…”�”}”hjÜsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M,hj»ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjíh]”hŒMembers”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjëubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M4hj»ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ\``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_CREATE_ISO_CONTEXT`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj h]”hŒclosure”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M)hjubhø)�”}”(hhh]”hý)�”}”(hŒOSee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_CREATE_ISO_CONTEXT`` ioctl”h]”(hŒSee ”…”�”}”(hj%h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj/h]”hŒfw_cdev_event_common”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj-ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M(hj%ubhŒ ; set by ”…”�”}”(hj%h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_CREATE_ISO_CONTEXT``”h]”hŒFW_CDEV_CREATE_ISO_CONTEXT”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj%ubhŒ ioctl”…”�”}”(hj%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jLh´M(hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j!h´M)hjubhâ)�”}”(hŒT``type`` See :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_ISO_INTERRUPT`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj{h]”hŒtype”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjyubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M*hjuubhø)�”}”(hhh]”hý)�”}”(hŒJSee :c:type:`fw_cdev_event_common`; always ``FW_CDEV_EVENT_ISO_INTERRUPT``”h]”(hŒSee ”…”�”}”(hj”h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjžh]”hŒfw_cdev_event_common”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjœubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³j�h´M*hj”ubhŒ ; always ”…”�”}”(hj”h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_ISO_INTERRUPT``”h]”hŒFW_CDEV_EVENT_ISO_INTERRUPT”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j�h´M*hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j�h´M*hjubhâ)�”}”(hŒ5``cycle`` Cycle counter of the last completed packet ”h]”(hè)�”}”(hŒ ``cycle``”h]”j…)�”}”(hjåh]”hŒcycle”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M+hjßubhø)�”}”(hhh]”hý)�”}”(hŒ*Cycle counter of the last completed packet”h]”hŒ*Cycle counter of the last completed packet”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³júh´M+hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³júh´M+hjubhâ)�”}”(hŒ>``header_length`` Total length of following headers, in bytes ”h]”(hè)�”}”(hŒ``header_length``”h]”j…)�”}”(hjh]”hŒ header_length”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M,hjubhø)�”}”(hhh]”hý)�”}”(hŒ+Total length of following headers, in bytes”h]”hŒ+Total length of following headers, in bytes”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j3h´M,hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j3h´M,hjubhâ)�”}”(hŒ#``header`` Stripped headers, if any”h]”(hè)�”}”(hŒ ``header``”h]”j…)�”}”(hjWh]”hŒheader”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M,hjQubhø)�”}”(hhh]”hý)�”}”(hŒStripped headers, if any”h]”hŒStripped headers, if any”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M-hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jlh´M,hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj»ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjšh]”hŒ Description”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M0hjhh²hubhý)�”}”(hX©This event is sent when the controller has completed an :c:type:`fw_cdev_iso_packet` with the ``FW_CDEV_ISO_INTERRUPT`` bit set, when explicitly requested with ``FW_CDEV_IOC_FLUSH_ISO``, or when there have been so many completed packets without the interrupt bit set that the kernel's internal buffer for **header** is about to overflow. (In the last case, ABI versions < 5 drop header data up to the next interrupt packet.)”h]”(hŒ8This event is sent when the controller has completed an ”…”�”}”(hj°h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_iso_packet`”h]”j…)�”}”(hjºh]”hŒfw_cdev_iso_packet”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj¸ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_iso_packet”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M-hj°ubhŒ with the ”…”�”}”(hj°h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_INTERRUPT``”h]”hŒFW_CDEV_ISO_INTERRUPT”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj°ubhŒ) bit set, when explicitly requested with ”…”�”}”(hj°h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_FLUSH_ISO``”h]”hŒFW_CDEV_IOC_FLUSH_ISO”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj°ubhŒz, or when there have been so many completed packets without the interrupt bit set that the kernel’s internal buffer for ”…”�”}”(hj°h²hh³Nh´Nubj8)�”}”(hŒ **header**”h]”hŒheader”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj°ubhŒn is about to overflow. (In the last case, ABI versions < 5 drop header data up to the next interrupt packet.)”…”�”}”(hj°h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j×h´M-hjhh²hubhý)�”}”(hŒLIsochronous transmit events (context type ``FW_CDEV_ISO_CONTEXT_TRANSMIT``):”h]”(hŒ*Isochronous transmit events (context type ”…”�”}”(hjh²hh³Nh´Nubj…)�”}”(hŒ ``FW_CDEV_ISO_CONTEXT_TRANSMIT``”h]”hŒFW_CDEV_ISO_CONTEXT_TRANSMIT”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjubhŒ):”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M4hjhh²hubhý)�”}”(hXHIn version 3 and some implementations of version 2 of the ABI, :c:type:`header_length` is a multiple of 4 and :c:type:`header` contains timestamps of all packets up until the interrupt packet. The format of the timestamps is as described below for isochronous reception. In version 1 of the ABI, :c:type:`header_length` was 0.”h]”(hŒ?In version 3 and some implementations of version 2 of the ABI, ”…”�”}”(hj9h²hh³Nh´Nubh)�”}”(hŒ:c:type:`header_length`”h]”j…)�”}”(hjCh]”hŒ header_length”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjAubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œ header_length”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M6hj9ubhŒ is a multiple of 4 and ”…”�”}”(hj9h²hh³Nh´Nubh)�”}”(hŒ:c:type:`header`”h]”j…)�”}”(hjgh]”hŒheader”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjeubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œheader”uh1hh³j`h´M6hj9ubhŒ¬ contains timestamps of all packets up until the interrupt packet. The format of the timestamps is as described below for isochronous reception. In version 1 of the ABI, ”…”�”}”(hj9h²hh³Nh´Nubh)�”}”(hŒ:c:type:`header_length`”h]”j…)�”}”(hjŠh]”hŒ header_length”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjˆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œ header_length”uh1hh³j`h´M6hj9ubhŒ was 0.”…”�”}”(hj9h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j`h´M6hjhh²hubhý)�”}”(hŒJIsochronous receive events (context type ``FW_CDEV_ISO_CONTEXT_RECEIVE``):”h]”(hŒ)Isochronous receive events (context type ”…”�”}”(hj±h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_CONTEXT_RECEIVE``”h]”hŒFW_CDEV_ISO_CONTEXT_RECEIVE”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj±ubhŒ):”…”�”}”(hj±h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M;hjhh²hubhý)�”}”(hXThe headers stripped of all packets up until and including the interrupt packet are returned in the **header** field. The amount of header data per packet is as specified at iso context creation by :c:type:`fw_cdev_create_iso_context.header_size `.”h]”(hŒdThe headers stripped of all packets up until and including the interrupt packet are returned in the ”…”�”}”(hjÒh²hh³Nh´Nubj8)�”}”(hŒ **header**”h]”hŒheader”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÒubhŒY field. The amount of header data per packet is as specified at iso context creation by ”…”�”}”(hjÒh²hh³Nh´Nubh)�”}”(hŒM:c:type:`fw_cdev_create_iso_context.header_size `”h]”j…)�”}”(hjîh]”hŒ&fw_cdev_create_iso_context.header_size”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjìubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_create_iso_context”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M=hjÒubhŒ.”…”�”}”(hjÒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j h´M=hjhh²hubhý)�”}”(hX"Hence, _interrupt.header_length / _context.header_size is the number of packets received in this interrupt event. The client can now iterate through the mmap()'ed DMA buffer according to this number of packets and to the buffer sizes as the client specified in :c:type:`fw_cdev_queue_iso`.”h]”(hXHence, _interrupt.header_length / _context.header_size is the number of packets received in this interrupt event. The client can now iterate through the mmap()’ed DMA buffer according to this number of packets and to the buffer sizes as the client specified in ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_queue_iso`”h]”j…)�”}”(hj h]”hŒfw_cdev_queue_iso”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_queue_iso”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MBhjubhŒ.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j=h´MBhjhh²hubhý)�”}”(hXvSince version 2 of this ABI, the portion for each packet in _interrupt.header consists of the 1394 isochronous packet header, followed by a timestamp quadlet if :c:type:`fw_cdev_create_iso_context.header_size ` > 4, followed by quadlets from the packet payload if :c:type:`fw_cdev_create_iso_context.header_size ` > 8.”h]”(hŒ¡Since version 2 of this ABI, the portion for each packet in _interrupt.header consists of the 1394 isochronous packet header, followed by a timestamp quadlet if ”…”�”}”(hjHh²hh³Nh´Nubh)�”}”(hŒM:c:type:`fw_cdev_create_iso_context.header_size `”h]”j…)�”}”(hjRh]”hŒ&fw_cdev_create_iso_context.header_size”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjPubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_create_iso_context”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MGhjHubhŒ6 > 4, followed by quadlets from the packet payload if ”…”�”}”(hjHh²hh³Nh´Nubh)�”}”(hŒM:c:type:`fw_cdev_create_iso_context.header_size `”h]”j…)�”}”(hjvh]”hŒ&fw_cdev_create_iso_context.header_size”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjtubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_create_iso_context”uh1hh³joh´MGhjHubhŒ > 8.”…”�”}”(hjHh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³joh´MGhjhh²hubhý)�”}”(hŒëFormat of 1394 iso packet header: 16 bits data_length, 2 bits tag, 6 bits channel, 4 bits tcode, 4 bits sy, in big endian byte order. data_length is the actual received size of the packet without the four 1394 iso packet header bytes.”h]”hŒëFormat of 1394 iso packet header: 16 bits data_length, 2 bits tag, 6 bits channel, 4 bits tcode, 4 bits sy, in big endian byte order. data_length is the actual received size of the packet without the four 1394 iso packet header bytes.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MLhjhh²hubhý)�”}”(hŒiFormat of timestamp: 16 bits invalid, 3 bits cycleSeconds, 13 bits cycleCount, in big endian byte order.”h]”hŒiFormat of timestamp: 16 bits invalid, 3 bits cycleSeconds, 13 bits cycleCount, in big endian byte order.”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MQhjhh²hubhý)�”}”(hŒÙIn version 1 of the ABI, no timestamp quadlet was inserted; instead, payload data followed directly after the 1394 is header if header_size > 4. Behaviour of ver. 1 of this ABI is no longer available since ABI ver. 2.”h]”hŒÙIn version 1 of the ABI, no timestamp quadlet was inserted; instead, payload data followed directly after the 1394 is header if header_size > 4. Behaviour of ver. 1 of this ABI is no longer available since ABI ver. 2.”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MThjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ)fw_cdev_event_iso_interrupt_mc (C struct)”Œ c.fw_cdev_event_iso_interrupt_mc”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_iso_interrupt_mc”h]”j«)�”}”(hŒ%struct fw_cdev_event_iso_interrupt_mc”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjßh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M[ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjßh²hh³jðh´M[ubjÔ)�”}”(hŒfw_cdev_event_iso_interrupt_mc”h]”jÚ)�”}”(hjÝh]”hŒfw_cdev_event_iso_interrupt_mc”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÿubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjßh²hh³jðh´M[ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjÛh²hh³jðh´M[ubah}”(h]”jÖah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jðh´M[hjØh²hubj)�”}”(hhh]”hý)�”}”(hŒ!An iso buffer chunk was completed”h]”hŒ!An iso buffer chunk was completed”…”�”}”(hj% h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mbhj" h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØh²hh³jðh´M[ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j= j)j= j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXw**Definition**:: struct fw_cdev_event_iso_interrupt_mc { __u64 closure; __u32 type; __u32 completed; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_CREATE_ISO_CONTEXT`` ioctl ``type`` ``FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL`` ``completed`` Offset into the receive buffer; data before this offset is valid”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjE ubhŒ:”…”�”}”(hjE h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MfhjA ubjz)�”}”(hŒbstruct fw_cdev_event_iso_interrupt_mc { __u64 closure; __u32 type; __u32 completed; };”h]”hŒbstruct fw_cdev_event_iso_interrupt_mc { __u64 closure; __u32 type; __u32 completed; };”…”�”}”hjb sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhhjA ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjs h]”hŒMembers”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjq ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MnhjA ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ\``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_CREATE_ISO_CONTEXT`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj’ h]”hŒclosure”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MehjŒ ubhø)�”}”(hhh]”hý)�”}”(hŒOSee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_CREATE_ISO_CONTEXT`` ioctl”h]”(hŒSee ”…”�”}”(hj« h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjµ h]”hŒfw_cdev_event_common”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj³ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mdhj« ubhŒ ; set by ”…”�”}”(hj« h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_CREATE_ISO_CONTEXT``”h]”hŒFW_CDEV_CREATE_ISO_CONTEXT”…”�”}”(hj× h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj« ubhŒ ioctl”…”�”}”(hj« h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÒ h´Mdhj¨ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjŒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j§ h´Mehj‰ ubhâ)�”}”(hŒ6``type`` ``FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj!h]”hŒtype”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÿ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mfhjû ubhø)�”}”(hhh]”hý)�”}”(hŒ,``FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL``”h]”j…)�”}”(hj!h]”hŒ(FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$•f]”h&]”uh1j„hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j!h´Mfhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjû ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j!h´Mfhj‰ ubhâ)�”}”(hŒN``completed`` Offset into the receive buffer; data before this offset is valid”h]”(hè)�”}”(hŒ ``completed``”h]”j…)�”}”(hjC!h]”hŒ completed”…”�”}”(hjE!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjA!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mfhj=!ubhø)�”}”(hhh]”hý)�”}”(hŒ@Offset into the receive buffer; data before this offset is valid”h]”hŒ@Offset into the receive buffer; data before this offset is valid”…”�”}”(hj\!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MghjY!ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj=!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jX!h´Mfhj‰ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjA ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj†!h]”hŒ Description”…”�”}”(hjˆ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj„!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mjhjhh²hubhý)�”}”(hX)This event is sent in multichannel contexts (context type ``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``) for :c:type:`fw_cdev_iso_packet` buffer chunks that have been completely filled and that have the ``FW_CDEV_ISO_INTERRUPT`` bit set, or when explicitly requested with ``FW_CDEV_IOC_FLUSH_ISO``.”h]”(hŒ:This event is sent in multichannel contexts (context type ”…”�”}”(hjœ!h²hh³Nh´Nubj…)�”}”(hŒ,``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``”h]”hŒ(FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL”…”�”}”(hj¤!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjœ!ubhŒ) for ”…”�”}”(hjœ!h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_iso_packet`”h]”j…)�”}”(hj¸!h]”hŒfw_cdev_iso_packet”…”�”}”(hjº!h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj¶!ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_iso_packet”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mghjœ!ubhŒB buffer chunks that have been completely filled and that have the ”…”�”}”(hjœ!h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_INTERRUPT``”h]”hŒFW_CDEV_ISO_INTERRUPT”…”�”}”(hjÚ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjœ!ubhŒ, bit set, or when explicitly requested with ”…”�”}”(hjœ!h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_FLUSH_ISO``”h]”hŒFW_CDEV_IOC_FLUSH_ISO”…”�”}”(hjì!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjœ!ubhŒ.”…”�”}”(hjœ!h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÕ!h´Mghjhh²hubhÝ)�”}”(hhh]”hâ)�”}”(hXThe buffer is continuously filled with the following data, per packet: - the 1394 iso packet header as described at :c:type:`fw_cdev_event_iso_interrupt`, but in little endian byte order, - packet payload (as many bytes as specified in the data_length field of the 1394 iso packet header) in big endian byte order, - 0...3 padding bytes as needed to align the following trailer quadlet, - trailer quadlet, containing the reception timestamp as described at :c:type:`fw_cdev_event_iso_interrupt`, but in little endian byte order. ”h]”(hè)�”}”(hŒFThe buffer is continuously filled with the following data, per packet:”h]”hŒFThe buffer is continuously filled with the following data, per packet:”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mthj"ubhø)�”}”(hhh]”hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒrthe 1394 iso packet header as described at :c:type:`fw_cdev_event_iso_interrupt`, but in little endian byte order,”h]”hý)�”}”(hŒrthe 1394 iso packet header as described at :c:type:`fw_cdev_event_iso_interrupt`, but in little endian byte order,”h]”(hŒ+the 1394 iso packet header as described at ”…”�”}”(hj("h²hh³Nh´Nubh)�”}”(hŒ%:c:type:`fw_cdev_event_iso_interrupt`”h]”j…)�”}”(hj2"h]”hŒfw_cdev_event_iso_interrupt”…”�”}”(hj4"h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj0"ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_iso_interrupt”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mnhj("ubhŒ", but in little endian byte order,”…”�”}”(hj("h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jO"h´Mnhj$"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j""hj"ubj#")�”}”(hŒ|packet payload (as many bytes as specified in the data_length field of the 1394 iso packet header) in big endian byte order,”h]”hý)�”}”(hŒ|packet payload (as many bytes as specified in the data_length field of the 1394 iso packet header) in big endian byte order,”h]”hŒ|packet payload (as many bytes as specified in the data_length field of the 1394 iso packet header) in big endian byte order,”…”�”}”(hjd"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mphj`"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j""hj"ubj#")�”}”(hŒE0...3 padding bytes as needed to align the following trailer quadlet,”h]”hý)�”}”(hj{"h]”hŒE0...3 padding bytes as needed to align the following trailer quadlet,”…”�”}”(hj}"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mrhjy"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j""hj"ubj#")�”}”(hŒŒtrailer quadlet, containing the reception timestamp as described at :c:type:`fw_cdev_event_iso_interrupt`, but in little endian byte order. ”h]”hý)�”}”(hŒ‹trailer quadlet, containing the reception timestamp as described at :c:type:`fw_cdev_event_iso_interrupt`, but in little endian byte order.”h]”(hŒDtrailer quadlet, containing the reception timestamp as described at ”…”�”}”(hj•"h²hh³Nh´Nubh)�”}”(hŒ%:c:type:`fw_cdev_event_iso_interrupt`”h]”j…)�”}”(hjŸ"h]”hŒfw_cdev_event_iso_interrupt”…”�”}”(hj¡"h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj�"ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_iso_interrupt”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mshj•"ubhŒ", but in little endian byte order.”…”�”}”(hj•"h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¼"h´Mshj‘"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j""hj"ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j"h³jO"h´Mnhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j"h´Mthj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjhh²hh³jžh´Nubhý)�”}”(hŒ§Hence the per-packet size is data_length (rounded up to a multiple of 4) + 8. When processing the data, stop before a packet that would cross the **completed** offset.”h]”(hŒ’Hence the per-packet size is data_length (rounded up to a multiple of 4) + 8. When processing the data, stop before a packet that would cross the ”…”�”}”(hjç"h²hh³Nh´Nubj8)�”}”(hŒ **completed**”h]”hŒ completed”…”�”}”(hjï"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjç"ubhŒ offset.”…”�”}”(hjç"h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mvhjhh²hubhý)�”}”(hX'A packet near the end of a buffer chunk will typically spill over into the next queued buffer chunk. It is the responsibility of the client to check for this condition, assemble a broken-up packet from its parts, and not to re-queue any buffer chunks in which as yet unread packet parts reside.”h]”hX'A packet near the end of a buffer chunk will typically spill over into the next queued buffer chunk. It is the responsibility of the client to check for this condition, assemble a broken-up packet from its parts, and not to re-queue any buffer chunks in which as yet unread packet parts reside.”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mzhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ%fw_cdev_event_iso_resource (C struct)”Œc.fw_cdev_event_iso_resource”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_iso_resource”h]”j«)�”}”(hŒ!struct fw_cdev_event_iso_resource”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj0#h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj,#h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‚ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>#h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj,#h²hh³j=#h´M‚ubjÔ)�”}”(hŒfw_cdev_event_iso_resource”h]”jÚ)�”}”(hj*#h]”hŒfw_cdev_event_iso_resource”…”�”}”(hjP#h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjL#ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj,#h²hh³j=#h´M‚ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj(#h²hh³j=#h´M‚ubah}”(h]”j##ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j=#h´M‚hj%#h²hubj)�”}”(hhh]”hý)�”}”(hŒ%Iso resources were allocated or freed”h]”hŒ%Iso resources were allocated or freed”…”�”}”(hjr#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‡hjo#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%#h²hh³j=#h´M‚ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jŠ#j)jŠ#j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXa**Definition**:: struct fw_cdev_event_iso_resource { __u64 closure; __u32 type; __u32 handle; __s32 channel; __s32 bandwidth; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by``FW_CDEV_IOC_(DE)ALLOCATE_ISO_RESOURCE(_ONCE)`` ioctl ``type`` ``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` or ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` ``handle`` Reference by which an allocated resource can be deallocated ``channel`` Isochronous channel which was (de)allocated, if any ``bandwidth`` Bandwidth allocation units which were (de)allocated, if any”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj–#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj’#ubhŒ:”…”�”}”(hj’#h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‹hjŽ#ubjz)�”}”(hŒƒstruct fw_cdev_event_iso_resource { __u64 closure; __u32 type; __u32 handle; __s32 channel; __s32 bandwidth; };”h]”hŒƒstruct fw_cdev_event_iso_resource { __u64 closure; __u32 type; __u32 handle; __s32 channel; __s32 bandwidth; };”…”�”}”hj¯#sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hjŽ#ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjÀ#h]”hŒMembers”…”�”}”(hjÂ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¾#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M•hjŽ#ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒm``closure`` See :c:type:`fw_cdev_event_common`; set by``FW_CDEV_IOC_(DE)ALLOCATE_ISO_RESOURCE(_ONCE)`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjß#h]”hŒclosure”…”�”}”(hjá#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÝ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MŠhjÙ#ubhø)�”}”(hhh]”hý)�”}”(hŒ`See :c:type:`fw_cdev_event_common`; set by``FW_CDEV_IOC_(DE)ALLOCATE_ISO_RESOURCE(_ONCE)`` ioctl”h]”(hŒSee ”…”�”}”(hjø#h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj$h]”hŒfw_cdev_event_common”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj$ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‰hjø#ubhŒ>; set by``FW_CDEV_IOC_(DE)ALLOCATE_ISO_RESOURCE(_ONCE)`` ioctl”…”�”}”(hjø#h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j$h´M‰hjõ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÙ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jô#h´MŠhjÖ#ubhâ)�”}”(hŒ```type`` ``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` or ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj<$h]”hŒtype”…”�”}”(hj>$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj:$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MŒhj6$ubhø)�”}”(hhh]”hý)�”}”(hŒV``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` or ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED``”h]”(j…)�”}”(hŒ(``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED``”h]”hŒ$FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED”…”�”}”(hjY$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjU$ubhŒ or ”…”�”}”(hjU$h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED``”h]”hŒ&FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED”…”�”}”(hjk$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjU$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‹hjR$ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj6$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jQ$h´MŒhjÖ#ubhâ)�”}”(hŒG``handle`` Reference by which an allocated resource can be deallocated ”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hj’$h]”hŒhandle”…”�”}”(hj”$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hjŒ$ubhø)�”}”(hhh]”hý)�”}”(hŒ;Reference by which an allocated resource can be deallocated”h]”hŒ;Reference by which an allocated resource can be deallocated”…”�”}”(hj«$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j§$h´M�hj¨$ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjŒ$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j§$h´M�hjÖ#ubhâ)�”}”(hŒ@``channel`` Isochronous channel which was (de)allocated, if any ”h]”(hè)�”}”(hŒ ``channel``”h]”j…)�”}”(hjË$h]”hŒchannel”…”�”}”(hjÍ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÉ$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MŽhjÅ$ubhø)�”}”(hhh]”hý)�”}”(hŒ3Isochronous channel which was (de)allocated, if any”h]”hŒ3Isochronous channel which was (de)allocated, if any”…”�”}”(hjä$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jà$h´MŽhjá$ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÅ$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jà$h´MŽhjÖ#ubhâ)�”}”(hŒI``bandwidth`` Bandwidth allocation units which were (de)allocated, if any”h]”(hè)�”}”(hŒ ``bandwidth``”h]”j…)�”}”(hj%h]”hŒ bandwidth”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MŽhjþ$ubhø)�”}”(hhh]”hý)�”}”(hŒ;Bandwidth allocation units which were (de)allocated, if any”h]”hŒ;Bandwidth allocation units which were (de)allocated, if any”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjþ$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j%h´MŽhjÖ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjŽ#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjG%h]”hŒ Description”…”�”}”(hjI%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjE%ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M’hjhh²hubhý)�”}”(hŒ×An ``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` event is sent after an isochronous resource was allocated at the IRM. The client has to check **channel** and **bandwidth** for whether the allocation actually succeeded.”h]”(hŒAn ”…”�”}”(hj]%h²hh³Nh´Nubj…)�”}”(hŒ(``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED``”h]”hŒ$FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED”…”�”}”(hje%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj]%ubhŒ` event is sent after an isochronous resource was allocated at the IRM. The client has to check ”…”�”}”(hj]%h²hh³Nh´Nubj8)�”}”(hŒ **channel**”h]”hŒchannel”…”�”}”(hjw%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj]%ubhŒ and ”…”�”}”(hj]%h²hh³Nh´Nubj8)�”}”(hŒ **bandwidth**”h]”hŒ bandwidth”…”�”}”(hj‰%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj]%ubhŒ/ for whether the allocation actually succeeded.”…”�”}”(hj]%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hjhh²hubhý)�”}”(hŒ¼An ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` event is sent after an isochronous resource was deallocated at the IRM. It is also sent when automatic reallocation after a bus reset failed.”h]”(hŒAn ”…”�”}”(hj¢%h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED``”h]”hŒ&FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED”…”�”}”(hjª%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¢%ubhŒ� event is sent after an isochronous resource was deallocated at the IRM. It is also sent when automatic reallocation after a bus reset failed.”…”�”}”(hj¢%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M“hjhh²hubhý)�”}”(hŒœ**channel** is <0 if no channel was (de)allocated or if reallocation failed. **bandwidth** is 0 if no bandwidth was (de)allocated or if reallocation failed.”h]”(j8)�”}”(hŒ **channel**”h]”hŒchannel”…”�”}”(hjÇ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÃ%ubhŒB is <0 if no channel was (de)allocated or if reallocation failed. ”…”�”}”(hjÃ%h²hh³Nh´Nubj8)�”}”(hŒ **bandwidth**”h]”hŒ bandwidth”…”�”}”(hjÙ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÃ%ubhŒB is 0 if no bandwidth was (de)allocated or if reallocation failed.”…”�”}”(hjÃ%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M—hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ#fw_cdev_event_phy_packet (C struct)”Œc.fw_cdev_event_phy_packet”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_phy_packet”h]”j«)�”}”(hŒstruct fw_cdev_event_phy_packet”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj &h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj&h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj&h²hh³j&h´M�ubjÔ)�”}”(hŒfw_cdev_event_phy_packet”h]”jÚ)�”}”(hj&h]”hŒfw_cdev_event_phy_packet”…”�”}”(hj+&h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj'&ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj&h²hh³j&h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj&h²hh³j&h´M�ubah}”(h]”jþ%ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j&h´M�hj&h²hubj)�”}”(hhh]”hý)�”}”(hŒ(A PHY packet was transmitted or received”h]”hŒ(A PHY packet was transmitted or received”…”�”}”(hjM&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¤hjJ&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&h²hh³j&h´M�ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(je&j)je&j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXŽ**Definition**:: struct fw_cdev_event_phy_packet { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_PHY_PACKET`` or ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS`` ioctl ``type`` ``FW_CDEV_EVENT_PHY_PACKET_SENT`` or %..._RECEIVED ``rcode`` ``RCODE_``..., indicates success or failure of transmission ``length`` Data length in bytes ``data`` Incoming data for ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS``. For ``FW_CDEV_IOC_SEND_PHY_PACKET`` the field has the same data in the request, thus the length of 8 bytes.”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjq&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjm&ubhŒ:”…”�”}”(hjm&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¨hji&ubjz)�”}”(hŒ|struct fw_cdev_event_phy_packet { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 data[]; };”h]”hŒ|struct fw_cdev_event_phy_packet { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 data[]; };”…”�”}”hjŠ&sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mªhji&ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj›&h]”hŒMembers”…”�”}”(hj�&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj™&ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M²hji&ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ„``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_PHY_PACKET`` or ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjº&h]”hŒclosure”…”�”}”(hj¼&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¸&ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M§hj´&ubhø)�”}”(hhh]”hý)�”}”(hŒwSee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_PHY_PACKET`` or ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS`` ioctl”h]”(hŒSee ”…”�”}”(hjÓ&h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hjÝ&h]”hŒfw_cdev_event_common”…”�”}”(hjß&h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÛ&ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¦hjÓ&ubhŒ ; set by ”…”�”}”(hjÓ&h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_PHY_PACKET``”h]”hŒFW_CDEV_IOC_SEND_PHY_PACKET”…”�”}”(hjÿ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÓ&ubhŒ or ”…”�”}”(hjÓ&h²hh³Nh´Nubj…)�”}”(hŒ#``FW_CDEV_IOC_RECEIVE_PHY_PACKETS``”h]”hŒFW_CDEV_IOC_RECEIVE_PHY_PACKETS”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÓ&ubhŒ ioctl”…”�”}”(hjÓ&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jú&h´M¦hjÐ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj´&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÏ&h´M§hj±&ubhâ)�”}”(hŒ<``type`` ``FW_CDEV_EVENT_PHY_PACKET_SENT`` or %..._RECEIVED ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj;'h]”hŒtype”…”�”}”(hj='h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj9'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¨hj5'ubhø)�”}”(hhh]”hý)�”}”(hŒ2``FW_CDEV_EVENT_PHY_PACKET_SENT`` or %..._RECEIVED”h]”(j…)�”}”(hŒ!``FW_CDEV_EVENT_PHY_PACKET_SENT``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT”…”�”}”(hjX'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjT'ubhŒ or %..._RECEIVED”…”�”}”(hjT'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jP'h´M¨hjQ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj5'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jP'h´M¨hj±&ubhâ)�”}”(hŒF``rcode`` ``RCODE_``..., indicates success or failure of transmission ”h]”(hè)�”}”(hŒ ``rcode``”h]”j…)�”}”(hj‚'h]”hŒrcode”…”�”}”(hj„'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj€'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M©hj|'ubhø)�”}”(hhh]”hý)�”}”(hŒ;``RCODE_``..., indicates success or failure of transmission”h]”(j…)�”}”(hŒ ``RCODE_``”h]”hŒRCODE_”…”�”}”(hjŸ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj›'ubhŒ1..., indicates success or failure of transmission”…”�”}”(hj›'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j—'h´M©hj˜'ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj|'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j—'h´M©hj±&ubhâ)�”}”(hŒ ``length`` Data length in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjÉ'h]”hŒlength”…”�”}”(hjË'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÇ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MªhjÃ'ubhø)�”}”(hhh]”hý)�”}”(hŒData length in bytes”h]”hŒData length in bytes”…”�”}”(hjâ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÞ'h´Mªhjß'ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÃ'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÞ'h´Mªhj±&ubhâ)�”}”(hŒ«``data`` Incoming data for ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS``. For ``FW_CDEV_IOC_SEND_PHY_PACKET`` the field has the same data in the request, thus the length of 8 bytes.”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj(h]”hŒdata”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M«hjü'ubhø)�”}”(hhh]”hý)�”}”(hŒ¢Incoming data for ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS``. For ``FW_CDEV_IOC_SEND_PHY_PACKET`` the field has the same data in the request, thus the length of 8 bytes.”h]”(hŒIncoming data for ”…”�”}”(hj(h²hh³Nh´Nubj…)�”}”(hŒ#``FW_CDEV_IOC_RECEIVE_PHY_PACKETS``”h]”hŒFW_CDEV_IOC_RECEIVE_PHY_PACKETS”…”�”}”(hj#(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj(ubhŒ. For ”…”�”}”(hj(h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_PHY_PACKET``”h]”hŒFW_CDEV_IOC_SEND_PHY_PACKET”…”�”}”(hj5(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj(ubhŒH the field has the same data in the request, thus the length of 8 bytes.”…”�”}”(hj(h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j(h´M«hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjü'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j(h´M«hj±&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhji&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjh(h]”hŒ Description”…”�”}”(hjj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjf(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¯hjhh²hubhý)�”}”(hŒÐThis event is sent instead of :c:type:`fw_cdev_event_phy_packet2` if the kernel or the client implements ABI version <= 5. It has the lack of time stamp field comparing to :c:type:`fw_cdev_event_phy_packet2`.”h]”(hŒThis event is sent instead of ”…”�”}”(hj~(h²hh³Nh´Nubh)�”}”(hŒ#:c:type:`fw_cdev_event_phy_packet2`”h]”j…)�”}”(hjˆ(h]”hŒfw_cdev_event_phy_packet2”…”�”}”(hjŠ(h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj†(ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_phy_packet2”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¬hj~(ubhŒk if the kernel or the client implements ABI version <= 5. It has the lack of time stamp field comparing to ”…”�”}”(hj~(h²hh³Nh´Nubh)�”}”(hŒ#:c:type:`fw_cdev_event_phy_packet2`”h]”j…)�”}”(hj¬(h]”hŒfw_cdev_event_phy_packet2”…”�”}”(hj®(h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjª(ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_phy_packet2”uh1hh³j¥(h´M¬hj~(ubhŒ.”…”�”}”(hj~(h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¥(h´M¬hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ$fw_cdev_event_phy_packet2 (C struct)”Œc.fw_cdev_event_phy_packet2”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_event_phy_packet2”h]”j«)�”}”(hŒ struct fw_cdev_event_phy_packet2”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjì(h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjè(h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M³ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú(h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjè(h²hh³jù(h´M³ubjÔ)�”}”(hŒfw_cdev_event_phy_packet2”h]”jÚ)�”}”(hjæ(h]”hŒfw_cdev_event_phy_packet2”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj)ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjè(h²hh³jù(h´M³ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjä(h²hh³jù(h´M³ubah}”(h]”jß(ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jù(h´M³hjá(h²hubj)�”}”(hhh]”hý)�”}”(hŒ9A PHY packet was transmitted or received with time stamp.”h]”hŒ9A PHY packet was transmitted or received with time stamp.”…”�”}”(hj.)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mºhj+)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjá(h²hh³jù(h´M³ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jF)j)jF)j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX{**Definition**:: struct fw_cdev_event_phy_packet2 { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 tstamp; __u32 data[]; }; **Members** ``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_PHY_PACKET`` or ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS`` ioctl ``type`` ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` or ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2`` ``rcode`` ``RCODE_``..., indicates success or failure of transmission ``length`` Data length in bytes ``tstamp`` For ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``, the time stamp of isochronous cycle at which the packet arrived. For ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` and non-ping packet, the time stamp of isochronous cycle at which the packet was sent. For ping packet, the tick count for round-trip time measured by 1394 OHCI controller. ``data`` Incoming data”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjR)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjN)ubhŒ:”…”�”}”(hjN)h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¾hjJ)ubjz)�”}”(hŒ�struct fw_cdev_event_phy_packet2 { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 tstamp; __u32 data[]; };”h]”hŒ�struct fw_cdev_event_phy_packet2 { __u64 closure; __u32 type; __u32 rcode; __u32 length; __u32 tstamp; __u32 data[]; };”…”�”}”hjk)sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÀhjJ)ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj|)h]”hŒMembers”…”�”}”(hj~)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjz)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÉhjJ)ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ„``closure`` See :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_PHY_PACKET`` or ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS`` ioctl ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj›)h]”hŒclosure”…”�”}”(hj�)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj™)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M½hj•)ubhø)�”}”(hhh]”hý)�”}”(hŒwSee :c:type:`fw_cdev_event_common`; set by ``FW_CDEV_IOC_SEND_PHY_PACKET`` or ``FW_CDEV_IOC_RECEIVE_PHY_PACKETS`` ioctl”h]”(hŒSee ”…”�”}”(hj´)h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_common`”h]”j…)�”}”(hj¾)h]”hŒfw_cdev_event_common”…”�”}”(hjÀ)h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj¼)ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_common”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¼hj´)ubhŒ ; set by ”…”�”}”(hj´)h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_PHY_PACKET``”h]”hŒFW_CDEV_IOC_SEND_PHY_PACKET”…”�”}”(hjà)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj´)ubhŒ or ”…”�”}”(hj´)h²hh³Nh´Nubj…)�”}”(hŒ#``FW_CDEV_IOC_RECEIVE_PHY_PACKETS``”h]”hŒFW_CDEV_IOC_RECEIVE_PHY_PACKETS”…”�”}”(hjò)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj´)ubhŒ ioctl”…”�”}”(hj´)h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÛ)h´M¼hj±)ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj•)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j°)h´M½hj’)ubhâ)�”}”(hŒV``type`` ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` or ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hj*h]”hŒtype”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¾hj*ubhø)�”}”(hhh]”hý)�”}”(hŒL``FW_CDEV_EVENT_PHY_PACKET_SENT2`` or ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”(j…)�”}”(hŒ"``FW_CDEV_EVENT_PHY_PACKET_SENT2``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT2”…”�”}”(hj9*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj5*ubhŒ or ”…”�”}”(hj5*h²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”hŒ"FW_CDEV_EVENT_PHY_PACKET_RECEIVED2”…”�”}”(hjK*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj5*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j1*h´M¾hj2*ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j1*h´M¾hj’)ubhâ)�”}”(hŒF``rcode`` ``RCODE_``..., indicates success or failure of transmission ”h]”(hè)�”}”(hŒ ``rcode``”h]”j…)�”}”(hjq*h]”hŒrcode”…”�”}”(hjs*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjo*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¿hjk*ubhø)�”}”(hhh]”hý)�”}”(hŒ;``RCODE_``..., indicates success or failure of transmission”h]”(j…)�”}”(hŒ ``RCODE_``”h]”hŒRCODE_”…”�”}”(hjŽ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŠ*ubhŒ1..., indicates success or failure of transmission”…”�”}”(hjŠ*h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j†*h´M¿hj‡*ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjk*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j†*h´M¿hj’)ubhâ)�”}”(hŒ ``length`` Data length in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hj¸*h]”hŒlength”…”�”}”(hjº*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¶*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÀhj²*ubhø)�”}”(hhh]”hý)�”}”(hŒData length in bytes”h]”hŒData length in bytes”…”�”}”(hjÑ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÍ*h´MÀhjÎ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj²*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÍ*h´MÀhj’)ubhâ)�”}”(hXL``tstamp`` For ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``, the time stamp of isochronous cycle at which the packet arrived. For ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` and non-ping packet, the time stamp of isochronous cycle at which the packet was sent. For ping packet, the tick count for round-trip time measured by 1394 OHCI controller. ”h]”(hè)�”}”(hŒ ``tstamp``”h]”j…)�”}”(hjñ*h]”hŒtstamp”…”�”}”(hjó*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjï*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÄhjë*ubhø)�”}”(hhh]”hý)�”}”(hX@For ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``, the time stamp of isochronous cycle at which the packet arrived. For ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` and non-ping packet, the time stamp of isochronous cycle at which the packet was sent. For ping packet, the tick count for round-trip time measured by 1394 OHCI controller.”h]”(hŒFor ”…”�”}”(hj +h²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”hŒ"FW_CDEV_EVENT_PHY_PACKET_RECEIVED2”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj +ubhŒG, the time stamp of isochronous cycle at which the packet arrived. For ”…”�”}”(hj +h²hh³Nh´Nubj…)�”}”(hŒ"``FW_CDEV_EVENT_PHY_PACKET_SENT2``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT2”…”�”}”(hj$+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj +ubhŒ­ and non-ping packet, the time stamp of isochronous cycle at which the packet was sent. For ping packet, the tick count for round-trip time measured by 1394 OHCI controller.”…”�”}”(hj +h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÁhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjë*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j+h´MÄhj’)ubhâ)�”}”(hŒ``data`` Incoming data”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hjO+h]”hŒdata”…”�”}”(hjQ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjM+ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÈhjI+ubhø)�”}”(hhh]”hý)�”}”(hŒ Incoming data”h]”hŒ Incoming data”…”�”}”(hjh+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÉhje+ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjI+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jd+h´MÈhj’)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjJ)ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj’+h]”hŒ Description”…”�”}”(hj”+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�+ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÌhjhh²hubhŒ block_quote”“”)�”}”(hŒ´The time stamp of isochronous cycle at which either the response was sent for ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` or the request arrived for ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``. ”h]”hý)�”}”(hŒ³The time stamp of isochronous cycle at which either the response was sent for ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` or the request arrived for ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``.”h]”(hŒNThe time stamp of isochronous cycle at which either the response was sent for ”…”�”}”(hj®+h²hh³Nh´Nubj…)�”}”(hŒ"``FW_CDEV_EVENT_PHY_PACKET_SENT2``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT2”…”�”}”(hj¶+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj®+ubhŒ or the request arrived for ”…”�”}”(hj®+h²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”hŒ"FW_CDEV_EVENT_PHY_PACKET_RECEIVED2”…”�”}”(hjÈ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj®+ubhŒ.”…”�”}”(hj®+h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÄhjª+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨+h³jà+h´MÄhjhh²hubhý)�”}”(hŒ—If **type** is ``FW_CDEV_EVENT_PHY_PACKET_SENT2``, **length** is 8 and **data** consists of the two PHY packet quadlets to be sent, in host byte order,”h]”(hŒIf ”…”�”}”(hjç+h²hh³Nh´Nubj8)�”}”(hŒ**type**”h]”hŒtype”…”�”}”(hjï+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjç+ubhŒ is ”…”�”}”(hjç+h²hh³Nh´Nubj…)�”}”(hŒ"``FW_CDEV_EVENT_PHY_PACKET_SENT2``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT2”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjç+ubhŒ, ”…”�”}”(hjç+h²hh³Nh´Nubj8)�”}”(hŒ **length**”h]”hŒlength”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjç+ubhŒ is 8 and ”…”�”}”(hjç+h²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj%,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjç+ubhŒH consists of the two PHY packet quadlets to be sent, in host byte order,”…”�”}”(hjç+h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÈhjhh²hubhý)�”}”(hŒ�If **type** is ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``, **length** is 8 and **data** consists of the two PHY packet quadlets, in host byte order.”h]”(hŒIf ”…”�”}”(hj>,h²hh³Nh´Nubj8)�”}”(hŒ**type**”h]”hŒtype”…”�”}”(hjF,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>,ubhŒ is ”…”�”}”(hj>,h²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”hŒ"FW_CDEV_EVENT_PHY_PACKET_RECEIVED2”…”�”}”(hjX,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj>,ubhŒ, ”…”�”}”(hj>,h²hh³Nh´Nubj8)�”}”(hŒ **length**”h]”hŒlength”…”�”}”(hjj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>,ubhŒ is 8 and ”…”�”}”(hj>,h²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj|,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>,ubhŒ= consists of the two PHY packet quadlets, in host byte order.”…”�”}”(hj>,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MËhjhh²hubhý)�”}”(hX!For ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``, the **tstamp** is the isochronous cycle at which the packet arrived. It is 16 bit integer value and the higher 3 bits expresses three low order bits of second field and the rest 13 bits expresses cycle field in the format of CYCLE_TIME register.”h]”(hŒFor ”…”�”}”(hj•,h²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”hŒ"FW_CDEV_EVENT_PHY_PACKET_RECEIVED2”…”�”}”(hj�,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj•,ubhŒ, the ”…”�”}”(hj•,h²hh³Nh´Nubj8)�”}”(hŒ **tstamp**”h]”hŒtstamp”…”�”}”(hj¯,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj•,ubhŒç is the isochronous cycle at which the packet arrived. It is 16 bit integer value and the higher 3 bits expresses three low order bits of second field and the rest 13 bits expresses cycle field in the format of CYCLE_TIME register.”…”�”}”(hj•,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÎhjhh²hubhý)�”}”(hX•For ``FW_CDEV_EVENT_PHY_PACKET_SENT2``, the **tstamp** has different meanings whether to sent the packet for ping or not. If it's not for ping, the **tstamp** is the isochronous cycle at which the packet was sent, and use the same format as the case of ``FW_CDEV_EVENT_PHY_PACKET_SENT2``. If it's for ping, the **tstamp** is for round-trip time measured by 1394 OHCI controller with 42.195 MHz resolution.”h]”(hŒFor ”…”�”}”(hjÈ,h²hh³Nh´Nubj…)�”}”(hŒ"``FW_CDEV_EVENT_PHY_PACKET_SENT2``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT2”…”�”}”(hjÐ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÈ,ubhŒ, the ”…”�”}”(hjÈ,h²hh³Nh´Nubj8)�”}”(hŒ **tstamp**”h]”hŒtstamp”…”�”}”(hjâ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÈ,ubhŒ` has different meanings whether to sent the packet for ping or not. If it’s not for ping, the ”…”�”}”(hjÈ,h²hh³Nh´Nubj8)�”}”(hŒ **tstamp**”h]”hŒtstamp”…”�”}”(hjô,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÈ,ubhŒ_ is the isochronous cycle at which the packet was sent, and use the same format as the case of ”…”�”}”(hjÈ,h²hh³Nh´Nubj…)�”}”(hŒ"``FW_CDEV_EVENT_PHY_PACKET_SENT2``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT2”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÈ,ubhŒ. If it’s for ping, the ”…”�”}”(hjÈ,h²hh³Nh´Nubj8)�”}”(hŒ **tstamp**”h]”hŒtstamp”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÈ,ubhŒT is for round-trip time measured by 1394 OHCI controller with 42.195 MHz resolution.”…”�”}”(hjÈ,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÒhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_event (C union)”Œc.fw_cdev_event”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒ fw_cdev_event”h]”j«)�”}”(hŒunion fw_cdev_event”h]”(j±)�”}”(hŒunion”h]”hŒunion”…”�”}”(hjJ-h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjF-h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÛubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY-h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjF-h²hh³jX-h´MÛubjÔ)�”}”(hŒ fw_cdev_event”h]”jÚ)�”}”(hjD-h]”hŒ fw_cdev_event”…”�”}”(hjk-h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjg-ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjF-h²hh³jX-h´MÛubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjB-h²hh³jX-h´MÛubah}”(h]”j=-ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jX-h´MÛhj?-h²hubj)�”}”(hhh]”hý)�”}”(hŒ*Convenience union of fw_cdev_event_* types”h]”hŒ*Convenience union of fw_cdev_event_* types”…”�”}”(hj�-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MähjŠ-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?-h²hh³jX-h´MÛubeh}”(h]”h ]”(j"Œunion”eh"]”h$]”h&]”j'j"j(j¥-j)j¥-j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXø**Definition**:: union fw_cdev_event { struct fw_cdev_event_common common; struct fw_cdev_event_bus_reset bus_reset; struct fw_cdev_event_response response; struct fw_cdev_event_request request; struct fw_cdev_event_request2 request2; struct fw_cdev_event_iso_interrupt iso_interrupt; struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc; struct fw_cdev_event_iso_resource iso_resource; struct fw_cdev_event_phy_packet phy_packet; struct fw_cdev_event_request3 request3; struct fw_cdev_event_response2 response2; struct fw_cdev_event_phy_packet2 phy_packet2; }; **Members** ``common`` Valid for all types ``bus_reset`` Valid if **common.type** == ``FW_CDEV_EVENT_BUS_RESET`` ``response`` Valid if **common.type** == ``FW_CDEV_EVENT_RESPONSE`` ``request`` Valid if **common.type** == ``FW_CDEV_EVENT_REQUEST`` ``request2`` Valid if **common.type** == ``FW_CDEV_EVENT_REQUEST2`` ``iso_interrupt`` Valid if **common.type** == ``FW_CDEV_EVENT_ISO_INTERRUPT`` ``iso_interrupt_mc`` Valid if **common.type** == ``FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL`` ``iso_resource`` Valid if **common.type** == ``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` or ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` ``phy_packet`` Valid if **common.type** == ``FW_CDEV_EVENT_PHY_PACKET_SENT`` or ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED`` ``request3`` Valid if **common.type** == ``FW_CDEV_EVENT_REQUEST3`` ``response2`` Valid if **common.type** == ``FW_CDEV_EVENT_RESPONSE2`` ``phy_packet2`` Valid if **common.type** == ``FW_CDEV_EVENT_PHY_PACKET_SENT2`` or ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj±-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj­-ubhŒ:”…”�”}”(hj­-h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mèhj©-ubjz)�”}”(hXµunion fw_cdev_event { struct fw_cdev_event_common common; struct fw_cdev_event_bus_reset bus_reset; struct fw_cdev_event_response response; struct fw_cdev_event_request request; struct fw_cdev_event_request2 request2; struct fw_cdev_event_iso_interrupt iso_interrupt; struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc; struct fw_cdev_event_iso_resource iso_resource; struct fw_cdev_event_phy_packet phy_packet; struct fw_cdev_event_request3 request3; struct fw_cdev_event_response2 response2; struct fw_cdev_event_phy_packet2 phy_packet2; };”h]”hXµunion fw_cdev_event { struct fw_cdev_event_common common; struct fw_cdev_event_bus_reset bus_reset; struct fw_cdev_event_response response; struct fw_cdev_event_request request; struct fw_cdev_event_request2 request2; struct fw_cdev_event_iso_interrupt iso_interrupt; struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc; struct fw_cdev_event_iso_resource iso_resource; struct fw_cdev_event_phy_packet phy_packet; struct fw_cdev_event_request3 request3; struct fw_cdev_event_response2 response2; struct fw_cdev_event_phy_packet2 phy_packet2; };”…”�”}”hjÊ-sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mêhj©-ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjÛ-h]”hŒMembers”…”�”}”(hjÝ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÙ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mùhj©-ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ``common`` Valid for all types ”h]”(hè)�”}”(hŒ ``common``”h]”j…)�”}”(hjú-h]”hŒcommon”…”�”}”(hjü-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjø-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mæhjô-ubhø)�”}”(hhh]”hý)�”}”(hŒValid for all types”h]”hŒValid for all types”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j.h´Mæhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjô-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j.h´Mæhjñ-ubhâ)�”}”(hŒF``bus_reset`` Valid if **common.type** == ``FW_CDEV_EVENT_BUS_RESET`` ”h]”(hè)�”}”(hŒ ``bus_reset``”h]”j…)�”}”(hj3.h]”hŒ bus_reset”…”�”}”(hj5.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj1.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mçhj-.ubhø)�”}”(hhh]”hý)�”}”(hŒ7Valid if **common.type** == ``FW_CDEV_EVENT_BUS_RESET``”h]”(hŒ Valid if ”…”�”}”(hjL.h²hh³Nh´Nubj8)�”}”(hŒ**common.type**”h]”hŒ common.type”…”�”}”(hjT.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjL.ubhŒ == ”…”�”}”(hjL.h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_BUS_RESET``”h]”hŒFW_CDEV_EVENT_BUS_RESET”…”�”}”(hjf.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjL.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jH.h´MçhjI.ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj-.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jH.h´Mçhjñ-ubhâ)�”}”(hŒD``response`` Valid if **common.type** == ``FW_CDEV_EVENT_RESPONSE`` ”h]”(hè)�”}”(hŒ ``response``”h]”j…)�”}”(hjŒ.h]”hŒresponse”…”�”}”(hjŽ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŠ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mèhj†.ubhø)�”}”(hhh]”hý)�”}”(hŒ6Valid if **common.type** == ``FW_CDEV_EVENT_RESPONSE``”h]”(hŒ Valid if ”…”�”}”(hj¥.h²hh³Nh´Nubj8)�”}”(hŒ**common.type**”h]”hŒ common.type”…”�”}”(hj­.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¥.ubhŒ == ”…”�”}”(hj¥.h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_RESPONSE``”h]”hŒFW_CDEV_EVENT_RESPONSE”…”�”}”(hj¿.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¥.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¡.h´Mèhj¢.ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj†.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¡.h´Mèhjñ-ubhâ)�”}”(hŒB``request`` Valid if **common.type** == ``FW_CDEV_EVENT_REQUEST`` ”h]”(hè)�”}”(hŒ ``request``”h]”j…)�”}”(hjå.h]”hŒrequest”…”�”}”(hjç.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjã.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Méhjß.ubhø)�”}”(hhh]”hý)�”}”(hŒ5Valid if **common.type** == ``FW_CDEV_EVENT_REQUEST``”h]”(hŒ Valid if ”…”�”}”(hjþ.h²hh³Nh´Nubj8)�”}”(hŒ**common.type**”h]”hŒ common.type”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjþ.ubhŒ == ”…”�”}”(hjþ.h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_REQUEST``”h]”hŒFW_CDEV_EVENT_REQUEST”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjþ.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jú.h´Méhjû.ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjß.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jú.h´Méhjñ-ubhâ)�”}”(hŒD``request2`` Valid if **common.type** == ``FW_CDEV_EVENT_REQUEST2`` ”h]”(hè)�”}”(hŒ ``request2``”h]”j…)�”}”(hj>/h]”hŒrequest2”…”�”}”(hj@/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj` with the current state of the bus. This does not cause a bus reset to happen. ``bus_reset_closure`` Value of :c:type:`closure` in this and subsequent bus reset events ``card`` The index of the card this device belongs to”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjì2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjè2ubhŒ:”…”�”}”(hjè2h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MZhjä2ubjz)�”}”(hŒ–struct fw_cdev_get_info { __u32 version; __u32 rom_length; __u64 rom; __u64 bus_reset; __u64 bus_reset_closure; __u32 card; };”h]”hŒ–struct fw_cdev_get_info { __u32 version; __u32 rom_length; __u64 rom; __u64 bus_reset; __u64 bus_reset_closure; __u32 card; };”…”�”}”hj3sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M\hjä2ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj3h]”hŒMembers”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mehjä2ubhÝ)�”}”(hhh]”(hâ)�”}”(hX=``version`` The version field is just a running serial number. Both an input parameter (ABI version implemented by the client) and output parameter (ABI version implemented by the kernel). A client shall fill in the ABI **version** for which the client was implemented. This is necessary for forward compatibility. ”h]”(hè)�”}”(hŒ ``version``”h]”j…)�”}”(hj53h]”hŒversion”…”�”}”(hj73h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj33ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M\hj/3ubhø)�”}”(hhh]”hý)�”}”(hX0The version field is just a running serial number. Both an input parameter (ABI version implemented by the client) and output parameter (ABI version implemented by the kernel). A client shall fill in the ABI **version** for which the client was implemented. This is necessary for forward compatibility.”h]”(hŒÑThe version field is just a running serial number. Both an input parameter (ABI version implemented by the client) and output parameter (ABI version implemented by the kernel). A client shall fill in the ABI ”…”�”}”(hjN3h²hh³Nh´Nubj8)�”}”(hŒ **version**”h]”hŒversion”…”�”}”(hjV3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjN3ubhŒT for which the client was implemented. This is necessary for forward compatibility.”…”�”}”(hjN3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MXhjK3ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj/3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jJ3h´M\hj,3ubhâ)�”}”(hŒà``rom_length`` If **rom** is non-zero, up to **rom_length** bytes of Configuration ROM will be copied into that user space address. In either case, **rom_length** is updated with the actual length of the Configuration ROM. ”h]”(hè)�”}”(hŒ``rom_length``”h]”j…)�”}”(hj�3h]”hŒ rom_length”…”�”}”(hjƒ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M`hj{3ubhø)�”}”(hhh]”hý)�”}”(hŒÐIf **rom** is non-zero, up to **rom_length** bytes of Configuration ROM will be copied into that user space address. In either case, **rom_length** is updated with the actual length of the Configuration ROM.”h]”(hŒIf ”…”�”}”(hjš3h²hh³Nh´Nubj8)�”}”(hŒ**rom**”h]”hŒrom”…”�”}”(hj¢3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjš3ubhŒ is non-zero, up to ”…”�”}”(hjš3h²hh³Nh´Nubj8)�”}”(hŒ**rom_length**”h]”hŒ rom_length”…”�”}”(hj´3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjš3ubhŒZ bytes of Configuration ROM will be copied into that user space address. In either case, ”…”�”}”(hjš3h²hh³Nh´Nubj8)�”}”(hŒ**rom_length**”h]”hŒ rom_length”…”�”}”(hjÆ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjš3ubhŒ< is updated with the actual length of the Configuration ROM.”…”�”}”(hjš3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M]hj—3ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj{3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j–3h´M`hj,3ubhâ)�”}”(hŒb``rom`` If non-zero, address of a buffer to be filled by a copy of the device's Configuration ROM ”h]”(hè)�”}”(hŒ``rom``”h]”j…)�”}”(hjñ3h]”hŒrom”…”�”}”(hjó3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjï3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mbhjë3ubhø)�”}”(hhh]”hý)�”}”(hŒYIf non-zero, address of a buffer to be filled by a copy of the device's Configuration ROM”h]”hŒ[If non-zero, address of a buffer to be filled by a copy of the device’s Configuration ROM”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mahj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjë3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j4h´Mbhj,3ubhâ)�”}”(hŒÓ``bus_reset`` If non-zero, address of a buffer to be filled by a :c:type:`struct fw_cdev_event_bus_reset ` with the current state of the bus. This does not cause a bus reset to happen. ”h]”(hè)�”}”(hŒ ``bus_reset``”h]”j…)�”}”(hj+4h]”hŒ bus_reset”…”�”}”(hj-4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj)4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mehj%4ubhø)�”}”(hhh]”hý)�”}”(hŒÄIf non-zero, address of a buffer to be filled by a :c:type:`struct fw_cdev_event_bus_reset ` with the current state of the bus. This does not cause a bus reset to happen.”h]”(hŒ3If non-zero, address of a buffer to be filled by a ”…”�”}”(hjD4h²hh³Nh´Nubh)�”}”(hŒB:c:type:`struct fw_cdev_event_bus_reset `”h]”j…)�”}”(hjN4h]”hŒstruct fw_cdev_event_bus_reset”…”�”}”(hjP4h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjL4ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_event_bus_reset”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MchjD4ubhŒO with the current state of the bus. This does not cause a bus reset to happen.”…”�”}”(hjD4h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jk4h´MchjA4ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj%4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j@4h´Mehj,3ubhâ)�”}”(hŒY``bus_reset_closure`` Value of :c:type:`closure` in this and subsequent bus reset events ”h]”(hè)�”}”(hŒ``bus_reset_closure``”h]”j…)�”}”(hjˆ4h]”hŒbus_reset_closure”…”�”}”(hjŠ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj†4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mfhj‚4ubhø)�”}”(hhh]”hý)�”}”(hŒBValue of :c:type:`closure` in this and subsequent bus reset events”h]”(hŒ Value of ”…”�”}”(hj¡4h²hh³Nh´Nubh)�”}”(hŒ:c:type:`closure`”h]”j…)�”}”(hj«4h]”hŒclosure”…”�”}”(hj­4h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj©4ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œclosure”uh1hh³j�4h´Mfhj¡4ubhŒ( in this and subsequent bus reset events”…”�”}”(hj¡4h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j�4h´Mfhjž4ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj‚4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j�4h´Mfhj,3ubhâ)�”}”(hŒ5``card`` The index of the card this device belongs to”h]”(hè)�”}”(hŒ``card``”h]”j…)�”}”(hjä4h]”hŒcard”…”�”}”(hjæ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjâ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MfhjÞ4ubhø)�”}”(hhh]”hý)�”}”(hŒ,The index of the card this device belongs to”h]”hŒ,The index of the card this device belongs to”…”�”}”(hjý4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mghjú4ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÞ4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jù4h´Mfhj,3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjä2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj'5h]”hŒ Description”…”�”}”(hj)5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj%5ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mjhjhh²hubhý)�”}”(hŒThe ``FW_CDEV_IOC_GET_INFO`` ioctl is usually the very first one which a client performs right after it opened a /dev/fw* file.”h]”(hŒThe ”…”�”}”(hj=5h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_GET_INFO``”h]”hŒFW_CDEV_IOC_GET_INFO”…”�”}”(hjE5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj=5ubhŒc ioctl is usually the very first one which a client performs right after it opened a /dev/fw* file.”…”�”}”(hj=5h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mghjhh²hubhý)�”}”(hŒiAs a side effect, reception of ``FW_CDEV_EVENT_BUS_RESET`` events to be read(2) is started by this ioctl.”h]”(hŒAs a side effect, reception of ”…”�”}”(hj^5h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_BUS_RESET``”h]”hŒFW_CDEV_EVENT_BUS_RESET”…”�”}”(hjf5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj^5ubhŒ/ events to be read(2) is started by this ioctl.”…”�”}”(hj^5h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mjhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_send_request (C struct)”Œc.fw_cdev_send_request”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_send_request”h]”j«)�”}”(hŒstruct fw_cdev_send_request”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj˜5h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj”5h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MpubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦5h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj”5h²hh³j¥5h´MpubjÔ)�”}”(hŒfw_cdev_send_request”h]”jÚ)�”}”(hj’5h]”hŒfw_cdev_send_request”…”�”}”(hj¸5h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj´5ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj”5h²hh³j¥5h´Mpubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj�5h²hh³j¥5h´Mpubah}”(h]”j‹5ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j¥5h´Mphj�5h²hubj)�”}”(hhh]”hý)�”}”(hŒ#Send an asynchronous request packet”h]”hŒ#Send an asynchronous request packet”…”�”}”(hjÚ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mxhj×5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�5h²hh³j¥5h´Mpubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jò5j)jò5j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXï**Definition**:: struct fw_cdev_send_request { __u32 tcode; __u32 length; __u64 offset; __u64 closure; __u64 data; __u32 generation; }; **Members** ``tcode`` Transaction code of the request ``length`` Length of outgoing payload, in bytes ``offset`` 48-bit offset at destination node ``closure`` Passed back to userspace in the response event ``data`` Userspace pointer to payload ``generation`` The bus generation where packet is valid”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjþ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjú5ubhŒ:”…”�”}”(hjú5h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M|hjö5ubjz)�”}”(hŒŽstruct fw_cdev_send_request { __u32 tcode; __u32 length; __u64 offset; __u64 closure; __u64 data; __u32 generation; };”h]”hŒŽstruct fw_cdev_send_request { __u32 tcode; __u32 length; __u64 offset; __u64 closure; __u64 data; __u32 generation; };”…”�”}”hj6sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M~hjö5ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj(6h]”hŒMembers”…”�”}”(hj*6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj&6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‡hjö5ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ*``tcode`` Transaction code of the request ”h]”(hè)�”}”(hŒ ``tcode``”h]”j…)�”}”(hjG6h]”hŒtcode”…”�”}”(hjI6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjE6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MzhjA6ubhø)�”}”(hhh]”hý)�”}”(hŒTransaction code of the request”h]”hŒTransaction code of the request”…”�”}”(hj`6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j\6h´Mzhj]6ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjA6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j\6h´Mzhj>6ubhâ)�”}”(hŒ0``length`` Length of outgoing payload, in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hj€6h]”hŒlength”…”�”}”(hj‚6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj~6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M{hjz6ubhø)�”}”(hhh]”hý)�”}”(hŒ$Length of outgoing payload, in bytes”h]”hŒ$Length of outgoing payload, in bytes”…”�”}”(hj™6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j•6h´M{hj–6ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjz6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j•6h´M{hj>6ubhâ)�”}”(hŒ-``offset`` 48-bit offset at destination node ”h]”(hè)�”}”(hŒ ``offset``”h]”j…)�”}”(hj¹6h]”hŒoffset”…”�”}”(hj»6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj·6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M|hj³6ubhø)�”}”(hhh]”hý)�”}”(hŒ!48-bit offset at destination node”h]”hŒ!48-bit offset at destination node”…”�”}”(hjÒ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÎ6h´M|hjÏ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj³6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÎ6h´M|hj>6ubhâ)�”}”(hŒ;``closure`` Passed back to userspace in the response event ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjò6h]”hŒclosure”…”�”}”(hjô6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjð6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M}hjì6ubhø)�”}”(hhh]”hý)�”}”(hŒ.Passed back to userspace in the response event”h]”hŒ.Passed back to userspace in the response event”…”�”}”(hj 7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j7h´M}hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjì6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j7h´M}hj>6ubhâ)�”}”(hŒ&``data`` Userspace pointer to payload ”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj+7h]”hŒdata”…”�”}”(hj-7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj)7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M~hj%7ubhø)�”}”(hhh]”hý)�”}”(hŒUserspace pointer to payload”h]”hŒUserspace pointer to payload”…”�”}”(hjD7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j@7h´M~hjA7ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj%7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j@7h´M~hj>6ubhâ)�”}”(hŒ7``generation`` The bus generation where packet is valid”h]”(hè)�”}”(hŒ``generation``”h]”j…)�”}”(hjd7h]”hŒ generation”…”�”}”(hjf7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjb7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M~hj^7ubhø)�”}”(hhh]”hý)�”}”(hŒ(The bus generation where packet is valid”h]”hŒ(The bus generation where packet is valid”…”�”}”(hj}7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjz7ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj^7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jy7h´M~hj>6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjö5ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj§7h]”hŒ Description”…”�”}”(hj©7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¥7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‚hjhh²hubhý)�”}”(hXˆSend a request to the device. This ioctl implements all outgoing requests. Both quadlet and block request specify the payload as a pointer to the data in the **data** field. Once the transaction completes, the kernel writes either :c:type:`fw_cdev_event_response` event or :c:type:`fw_cdev_event_response` event back. The **closure** field is passed back to user space in the response event.”h]”(hŒŸSend a request to the device. This ioctl implements all outgoing requests. Both quadlet and block request specify the payload as a pointer to the data in the ”…”�”}”(hj½7h²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hjÅ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj½7ubhŒA field. Once the transaction completes, the kernel writes either ”…”�”}”(hj½7h²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_response`”h]”j…)�”}”(hjÙ7h]”hŒfw_cdev_event_response”…”�”}”(hjÛ7h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj×7ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_response”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhj½7ubhŒ event or ”…”�”}”(hj½7h²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_response`”h]”j…)�”}”(hjý7h]”hŒfw_cdev_event_response”…”�”}”(hjÿ7h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjû7ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_response”uh1hh³jö7h´Mhj½7ubhŒ event back. The ”…”�”}”(hj½7h²hh³Nh´Nubj8)�”}”(hŒ **closure**”h]”hŒclosure”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj½7ubhŒ: field is passed back to user space in the response event.”…”�”}”(hj½7h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jö7h´Mhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ fw_cdev_send_response (C struct)”Œc.fw_cdev_send_response”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_send_response”h]”j«)�”}”(hŒstruct fw_cdev_send_response”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjO8h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjK8h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MˆubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]8h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjK8h²hh³j\8h´MˆubjÔ)�”}”(hŒfw_cdev_send_response”h]”jÚ)�”}”(hjI8h]”hŒfw_cdev_send_response”…”�”}”(hjo8h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjk8ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjK8h²hh³j\8h´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjG8h²hh³j\8h´Mˆubah}”(h]”jB8ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j\8h´MˆhjD8h²hubj)�”}”(hhh]”hý)�”}”(hŒ$Send an asynchronous response packet”h]”hŒ$Send an asynchronous response packet”…”�”}”(hj‘8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hjŽ8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjD8h²hh³j\8h´Mˆubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j©8j)j©8j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXq**Definition**:: struct fw_cdev_send_response { __u32 rcode; __u32 length; __u64 data; __u32 handle; }; **Members** ``rcode`` Response code as determined by the userspace handler ``length`` Length of outgoing payload, in bytes ``data`` Userspace pointer to payload ``handle`` The handle from the :c:type:`fw_cdev_event_request`”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjµ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj±8ubhŒ:”…”�”}”(hj±8h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M”hj­8ubjz)�”}”(hŒfstruct fw_cdev_send_response { __u32 rcode; __u32 length; __u64 data; __u32 handle; };”h]”hŒfstruct fw_cdev_send_response { __u32 rcode; __u32 length; __u64 data; __u32 handle; };”…”�”}”hjÎ8sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M–hj­8ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjß8h]”hŒMembers”…”�”}”(hjá8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÝ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hj­8ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ?``rcode`` Response code as determined by the userspace handler ”h]”(hè)�”}”(hŒ ``rcode``”h]”j…)�”}”(hjþ8h]”hŒrcode”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjü8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M’hjø8ubhø)�”}”(hhh]”hý)�”}”(hŒ4Response code as determined by the userspace handler”h]”hŒ4Response code as determined by the userspace handler”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j9h´M’hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjø8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j9h´M’hjõ8ubhâ)�”}”(hŒ0``length`` Length of outgoing payload, in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hj79h]”hŒlength”…”�”}”(hj99h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj59ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M“hj19ubhø)�”}”(hhh]”hý)�”}”(hŒ$Length of outgoing payload, in bytes”h]”hŒ$Length of outgoing payload, in bytes”…”�”}”(hjP9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jL9h´M“hjM9ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj19ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jL9h´M“hjõ8ubhâ)�”}”(hŒ&``data`` Userspace pointer to payload ”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hjp9h]”hŒdata”…”�”}”(hjr9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjn9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M”hjj9ubhø)�”}”(hhh]”hý)�”}”(hŒUserspace pointer to payload”h]”hŒUserspace pointer to payload”…”�”}”(hj‰9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j…9h´M”hj†9ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j…9h´M”hjõ8ubhâ)�”}”(hŒ>``handle`` The handle from the :c:type:`fw_cdev_event_request`”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hj©9h]”hŒhandle”…”�”}”(hj«9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj§9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M”hj£9ubhø)�”}”(hhh]”hý)�”}”(hŒ3The handle from the :c:type:`fw_cdev_event_request`”h]”(hŒThe handle from the ”…”�”}”(hjÂ9h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_request`”h]”j…)�”}”(hjÌ9h]”hŒfw_cdev_event_request”…”�”}”(hjÎ9h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÊ9ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M•hjÂ9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jé9h´M•hj¿9ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj£9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¾9h´M”hjõ8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj­8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj :h]”hŒ Description”…”�”}”(hj :h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj :ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M˜hjhh²hubhý)�”}”(hXvSend a response to an incoming request. By setting up an address range using the ``FW_CDEV_IOC_ALLOCATE`` ioctl, userspace can listen for incoming requests. An incoming request will generate an ``FW_CDEV_EVENT_REQUEST``, and userspace must send a reply using this ioctl. The event has a handle to the kernel-side pending transaction, which should be used with this ioctl.”h]”(hŒRSend a response to an incoming request. By setting up an address range using the ”…”�”}”(hj!:h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_ALLOCATE``”h]”hŒFW_CDEV_IOC_ALLOCATE”…”�”}”(hj):h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj!:ubhŒZ ioctl, userspace can listen for incoming requests. An incoming request will generate an ”…”�”}”(hj!:h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_REQUEST``”h]”hŒFW_CDEV_EVENT_REQUEST”…”�”}”(hj;:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj!:ubhŒ™, and userspace must send a reply using this ioctl. The event has a handle to the kernel-side pending transaction, which should be used with this ioctl.”…”�”}”(hj!:h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M•hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_allocate (C struct)”Œc.fw_cdev_allocate”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_allocate”h]”j«)�”}”(hŒstruct fw_cdev_allocate”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjm:h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hji:h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MžubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{:h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhji:h²hh³jz:h´MžubjÔ)�”}”(hŒfw_cdev_allocate”h]”jÚ)�”}”(hjg:h]”hŒfw_cdev_allocate”…”�”}”(hj�:h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj‰:ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhji:h²hh³jz:h´Mžubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhje:h²hh³jz:h´Mžubah}”(h]”j`:ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jz:h´Mžhjb:h²hubj)�”}”(hhh]”hý)�”}”(hŒ"Allocate a CSR in an address range”h]”hŒ"Allocate a CSR in an address range”…”�”}”(hj¯:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¤hj¬:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjb:h²hh³jz:h´Mžubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jÇ:j)jÇ:j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXÒ**Definition**:: struct fw_cdev_allocate { __u64 offset; __u64 closure; __u32 length; __u32 handle; __u64 region_end; }; **Members** ``offset`` Start offset of the address range ``closure`` To be passed back to userspace in request events ``length`` Length of the CSR, in bytes ``handle`` Handle to the allocation, written by the kernel ``region_end`` First address above the address range (added in ABI v4, 2.6.36)”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÓ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÏ:ubhŒ:”…”�”}”(hjÏ:h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¨hjË:ubjz)�”}”(hŒ{struct fw_cdev_allocate { __u64 offset; __u64 closure; __u32 length; __u32 handle; __u64 region_end; };”h]”hŒ{struct fw_cdev_allocate { __u64 offset; __u64 closure; __u32 length; __u32 handle; __u64 region_end; };”…”�”}”hjì:sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MªhjË:ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjý:h]”hŒMembers”…”�”}”(hjÿ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjû:ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M²hjË:ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ-``offset`` Start offset of the address range ”h]”(hè)�”}”(hŒ ``offset``”h]”j…)�”}”(hj;h]”hŒoffset”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¦hj;ubhø)�”}”(hhh]”hý)�”}”(hŒ!Start offset of the address range”h]”hŒ!Start offset of the address range”…”�”}”(hj5;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j1;h´M¦hj2;ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j1;h´M¦hj;ubhâ)�”}”(hŒ=``closure`` To be passed back to userspace in request events ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjU;h]”hŒclosure”…”�”}”(hjW;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjS;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M§hjO;ubhø)�”}”(hhh]”hý)�”}”(hŒ0To be passed back to userspace in request events”h]”hŒ0To be passed back to userspace in request events”…”�”}”(hjn;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jj;h´M§hjk;ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjO;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jj;h´M§hj;ubhâ)�”}”(hŒ'``length`` Length of the CSR, in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjŽ;h]”hŒlength”…”�”}”(hj�;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŒ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¨hjˆ;ubhø)�”}”(hhh]”hý)�”}”(hŒLength of the CSR, in bytes”h]”hŒLength of the CSR, in bytes”…”�”}”(hj§;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j£;h´M¨hj¤;ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjˆ;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j£;h´M¨hj;ubhâ)�”}”(hŒ;``handle`` Handle to the allocation, written by the kernel ”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjÇ;h]”hŒhandle”…”�”}”(hjÉ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÅ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M©hjÁ;ubhø)�”}”(hhh]”hý)�”}”(hŒ/Handle to the allocation, written by the kernel”h]”hŒ/Handle to the allocation, written by the kernel”…”�”}”(hjà;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÜ;h´M©hjÝ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÁ;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÜ;h´M©hj;ubhâ)�”}”(hŒN``region_end`` First address above the address range (added in ABI v4, 2.6.36)”h]”(hè)�”}”(hŒ``region_end``”h]”j…)�”}”(hj<h]”hŒ region_end”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjþ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M©hjú;ubhø)�”}”(hhh]”hý)�”}”(hŒ?First address above the address range (added in ABI v4, 2.6.36)”h]”hŒ?First address above the address range (added in ABI v4, 2.6.36)”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mªhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjú;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j<h´M©hj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjË:ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjC<h]”hŒ Description”…”�”}”(hjE<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjA<ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M­hjhh²hubhý)�”}”(hX¦Allocate an address range in the 48-bit address space on the local node (the controller). This allows userspace to listen for requests with an offset within that address range. Every time when the kernel receives a request within the range, an :c:type:`fw_cdev_event_request2` event will be emitted. (If the kernel or the client implements ABI version <= 3, an :c:type:`fw_cdev_event_request` will be generated instead.)”h]”(hŒöAllocate an address range in the 48-bit address space on the local node (the controller). This allows userspace to listen for requests with an offset within that address range. Every time when the kernel receives a request within the range, an ”…”�”}”(hjY<h²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_request2`”h]”j…)�”}”(hjc<h]”hŒfw_cdev_event_request2”…”�”}”(hje<h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hja<ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request2”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MªhjY<ubhŒU event will be emitted. (If the kernel or the client implements ABI version <= 3, an ”…”�”}”(hjY<h²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_event_request`”h]”j…)�”}”(hj‡<h]”hŒfw_cdev_event_request”…”�”}”(hj‰<h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj…<ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_request”uh1hh³j€<h´MªhjY<ubhŒ will be generated instead.)”…”�”}”(hjY<h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j€<h´Mªhjhh²hubhý)�”}”(hŒÎThe **closure** field is passed back to userspace in these request events. The **handle** field is an out parameter, returning a handle to the allocated range to be used for later deallocation of the range.”h]”(hŒThe ”…”�”}”(hj®<h²hh³Nh´Nubj8)�”}”(hŒ **closure**”h]”hŒclosure”…”�”}”(hj¶<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj®<ubhŒ@ field is passed back to userspace in these request events. The ”…”�”}”(hj®<h²hh³Nh´Nubj8)�”}”(hŒ **handle**”h]”hŒhandle”…”�”}”(hjÈ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj®<ubhŒu field is an out parameter, returning a handle to the allocated range to be used for later deallocation of the range.”…”�”}”(hj®<h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M±hjhh²hubhý)�”}”(hŒêThe address range is allocated on all local nodes. The address allocation is exclusive except for the FCP command and response registers. If an exclusive address region is already in use, the ioctl fails with errno set to ``EBUSY``.”h]”(hŒàThe address range is allocated on all local nodes. The address allocation is exclusive except for the FCP command and response registers. If an exclusive address region is already in use, the ioctl fails with errno set to ”…”�”}”(hjá<h²hh³Nh´Nubj…)�”}”(hŒ ``EBUSY``”h]”hŒEBUSY”…”�”}”(hjé<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjá<ubhŒ.”…”�”}”(hjá<h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mµhjhh²hubhý)�”}”(hX˜If kernel and client implement ABI version >= 4, the kernel looks up a free spot of size **length** inside [**offset**..**region_end**) and, if found, writes the start address of the new CSR back in **offset**. I.e. **offset** is an in and out parameter. If this automatic placement of a CSR in a bigger address range is not desired, the client simply needs to set **region_end** = **offset** + **length**.”h]”(hŒYIf kernel and client implement ABI version >= 4, the kernel looks up a free spot of size ”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ **length**”h]”hŒlength”…”�”}”(hj =h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒ inside [”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ **offset**”h]”hŒoffset”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒQ..**region_end**) and, if found, writes the start address of the new CSR back in ”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ **offset**”h]”hŒoffset”…”�”}”(hj.=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒ. I.e. ”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ **offset**”h]”hŒoffset”…”�”}”(hj@=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒŒ is an in and out parameter. If this automatic placement of a CSR in a bigger address range is not desired, the client simply needs to set ”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ**region_end**”h]”hŒ region_end”…”�”}”(hjR=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒ = ”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ **offset**”h]”hŒoffset”…”�”}”(hjd=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒ + ”…”�”}”(hj=h²hh³Nh´Nubj8)�”}”(hŒ **length**”h]”hŒlength”…”�”}”(hjv=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj=ubhŒ.”…”�”}”(hj=h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mºhjhh²hubhý)�”}”(hŒ‰If the kernel or the client implements ABI version <= 3, **region_end** is ignored and effectively assumed to be **offset** + **length**.”h]”(hŒ9If the kernel or the client implements ABI version <= 3, ”…”�”}”(hj�=h²hh³Nh´Nubj8)�”}”(hŒ**region_end**”h]”hŒ region_end”…”�”}”(hj—=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�=ubhŒ* is ignored and effectively assumed to be ”…”�”}”(hj�=h²hh³Nh´Nubj8)�”}”(hŒ **offset**”h]”hŒoffset”…”�”}”(hj©=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�=ubhŒ + ”…”�”}”(hj�=h²hh³Nh´Nubj8)�”}”(hŒ **length**”h]”hŒlength”…”�”}”(hj»=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�=ubhŒ.”…”�”}”(hj�=h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÁhjhh²hubhý)�”}”(hŒŒ**region_end** is only present in a kernel header >= 2.6.36. If necessary, this can for example be tested by #ifdef FW_CDEV_EVENT_REQUEST2.”h]”(j8)�”}”(hŒ**region_end**”h]”hŒ region_end”…”�”}”(hjØ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÔ=ubhŒ~ is only present in a kernel header >= 2.6.36. If necessary, this can for example be tested by #ifdef FW_CDEV_EVENT_REQUEST2.”…”�”}”(hjÔ=h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÄhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_deallocate (C struct)”Œc.fw_cdev_deallocate”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_deallocate”h]”j«)�”}”(hŒstruct fw_cdev_deallocate”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj >h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj>h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÊubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj>h²hh³j>h´MÊubjÔ)�”}”(hŒfw_cdev_deallocate”h]”jÚ)�”}”(hj>h]”hŒfw_cdev_deallocate”…”�”}”(hj*>h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj&>ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj>h²hh³j>h´MÊubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj>h²hh³j>h´MÊubah}”(h]”jý=ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j>h´MÊhjÿ=h²hubj)�”}”(hhh]”hý)�”}”(hŒ0Free a CSR address range or isochronous resource”h]”hŒ0Free a CSR address range or isochronous resource”…”�”}”(hjL>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÑhjI>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿ=h²hh³j>h´MÊubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jd>j)jd>j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hŒÕ**Definition**:: struct fw_cdev_deallocate { __u32 handle; }; **Members** ``handle`` Handle to the address range or iso resource, as returned by the kernel when the range or resource was allocated”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjp>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjl>ubhŒ:”…”�”}”(hjl>h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÕhjh>ubjz)�”}”(hŒ0struct fw_cdev_deallocate { __u32 handle; };”h]”hŒ0struct fw_cdev_deallocate { __u32 handle; };”…”�”}”hj‰>sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M×hjh>ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjš>h]”hŒMembers”…”�”}”(hjœ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj˜>ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÛhjh>ubhÝ)�”}”(hhh]”hâ)�”}”(hŒz``handle`` Handle to the address range or iso resource, as returned by the kernel when the range or resource was allocated”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hj¹>h]”hŒhandle”…”�”}”(hj»>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj·>ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÓhj³>ubhø)�”}”(hhh]”hý)�”}”(hŒoHandle to the address range or iso resource, as returned by the kernel when the range or resource was allocated”h]”hŒoHandle to the address range or iso resource, as returned by the kernel when the range or resource was allocated”…”�”}”(hjÒ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÎ>h´MÓhjÏ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj³>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÎ>h´MÓhj°>ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjh>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ%fw_cdev_initiate_bus_reset (C struct)”Œc.fw_cdev_initiate_bus_reset”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_initiate_bus_reset”h]”j«)�”}”(hŒ!struct fw_cdev_initiate_bus_reset”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj?h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÚubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ?h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj?h²hh³j?h´MÚubjÔ)�”}”(hŒfw_cdev_initiate_bus_reset”h]”jÚ)�”}”(hj ?h]”hŒfw_cdev_initiate_bus_reset”…”�”}”(hj2?h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj.?ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj?h²hh³j?h´MÚubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj ?h²hh³j?h´MÚubah}”(h]”j?ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j?h´MÚhj?h²hubj)�”}”(hhh]”hý)�”}”(hŒInitiate a bus reset”h]”hŒInitiate a bus reset”…”�”}”(hjT?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÝhjQ?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?h²hh³j?h´MÚubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jl?j)jl?j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hŒ™**Definition**:: struct fw_cdev_initiate_bus_reset { __u32 type; }; **Members** ``type`` ``FW_CDEV_SHORT_RESET`` or ``FW_CDEV_LONG_RESET``”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjx?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjt?ubhŒ:”…”�”}”(hjt?h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Máhjp?ubjz)�”}”(hŒ6struct fw_cdev_initiate_bus_reset { __u32 type; };”h]”hŒ6struct fw_cdev_initiate_bus_reset { __u32 type; };”…”�”}”hj‘?sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mãhjp?ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj¢?h]”hŒMembers”…”�”}”(hj¤?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mçhjp?ubhÝ)�”}”(hhh]”hâ)�”}”(hŒ:``type`` ``FW_CDEV_SHORT_RESET`` or ``FW_CDEV_LONG_RESET``”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hjÁ?h]”hŒtype”…”�”}”(hjÃ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¿?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÞhj»?ubhø)�”}”(hhh]”hý)�”}”(hŒ1``FW_CDEV_SHORT_RESET`` or ``FW_CDEV_LONG_RESET``”h]”(j…)�”}”(hŒ``FW_CDEV_SHORT_RESET``”h]”hŒFW_CDEV_SHORT_RESET”…”�”}”(hjÞ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÚ?ubhŒ or ”…”�”}”(hjÚ?h²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_LONG_RESET``”h]”hŒFW_CDEV_LONG_RESET”…”�”}”(hjð?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÚ?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mßhj×?ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj»?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÖ?h´MÞhj¸?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjp?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj @h]”hŒ Description”…”�”}”(hj"@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mâhjhh²hubhý)�”}”(hŒ¬Initiate a bus reset for the bus this device is on. The bus reset can be either the original (long) bus reset or the arbitrated (short) bus reset introduced in 1394a-2000.”h]”hŒ¬Initiate a bus reset for the bus this device is on. The bus reset can be either the original (long) bus reset or the arbitrated (short) bus reset introduced in 1394a-2000.”…”�”}”(hj6@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mßhjhh²hubhý)�”}”(hX.The ioctl returns immediately. A subsequent :c:type:`fw_cdev_event_bus_reset` indicates when the reset actually happened. Since ABI v4, this may be considerably later than the ioctl because the kernel ensures a grace period between subsequent bus resets as per IEEE 1394 bus management specification.”h]”(hŒ-The ioctl returns immediately. A subsequent ”…”�”}”(hjE@h²hh³Nh´Nubh)�”}”(hŒ!:c:type:`fw_cdev_event_bus_reset`”h]”j…)�”}”(hjO@h]”hŒfw_cdev_event_bus_reset”…”�”}”(hjQ@h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjM@ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_bus_reset”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MãhjE@ubhŒà indicates when the reset actually happened. Since ABI v4, this may be considerably later than the ioctl because the kernel ensures a grace period between subsequent bus resets as per IEEE 1394 bus management specification.”…”�”}”(hjE@h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jl@h´Mãhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ!fw_cdev_add_descriptor (C struct)”Œc.fw_cdev_add_descriptor”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_add_descriptor”h]”j«)�”}”(hŒstruct fw_cdev_add_descriptor”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj�@h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjŒ@h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MëubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž@h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjŒ@h²hh³j�@h´MëubjÔ)�”}”(hŒfw_cdev_add_descriptor”h]”jÚ)�”}”(hjŠ@h]”hŒfw_cdev_add_descriptor”…”�”}”(hj°@h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¬@ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjŒ@h²hh³j�@h´Mëubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjˆ@h²hh³j�@h´Mëubah}”(h]”jƒ@ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j�@h´Mëhj…@h²hubj)�”}”(hhh]”hý)�”}”(hŒ+Add contents to the local node's config ROM”h]”hŒ-Add contents to the local node’s config ROM”…”�”}”(hjÒ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MîhjÏ@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj…@h²hh³j�@h´Mëubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jê@j)jê@j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXÕ**Definition**:: struct fw_cdev_add_descriptor { __u32 immediate; __u32 key; __u64 data; __u32 length; __u32 handle; }; **Members** ``immediate`` If non-zero, immediate key to insert before pointer ``key`` Upper 8 bits of root directory pointer ``data`` Userspace pointer to contents of descriptor block ``length`` Length of descriptor block data, in quadlets ``handle`` Handle to the descriptor, written by the kernel”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjö@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjò@ubhŒ:”…”�”}”(hjò@h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mòhjî@ubjz)�”}”(hŒzstruct fw_cdev_add_descriptor { __u32 immediate; __u32 key; __u64 data; __u32 length; __u32 handle; };”h]”hŒzstruct fw_cdev_add_descriptor { __u32 immediate; __u32 key; __u64 data; __u32 length; __u32 handle; };”…”�”}”hjAsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Môhjî@ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj Ah]”hŒMembers”…”�”}”(hj"Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mühjî@ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒB``immediate`` If non-zero, immediate key to insert before pointer ”h]”(hè)�”}”(hŒ ``immediate``”h]”j…)�”}”(hj?Ah]”hŒ immediate”…”�”}”(hjAAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj=Aubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mðhj9Aubhø)�”}”(hhh]”hý)�”}”(hŒ3If non-zero, immediate key to insert before pointer”h]”hŒ3If non-zero, immediate key to insert before pointer”…”�”}”(hjXAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jTAh´MðhjUAubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj9Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jTAh´Mðhj6Aubhâ)�”}”(hŒ/``key`` Upper 8 bits of root directory pointer ”h]”(hè)�”}”(hŒ``key``”h]”j…)�”}”(hjxAh]”hŒkey”…”�”}”(hjzAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjvAubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MñhjrAubhø)�”}”(hhh]”hý)�”}”(hŒ&Upper 8 bits of root directory pointer”h]”hŒ&Upper 8 bits of root directory pointer”…”�”}”(hj‘Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j�Ah´MñhjŽAubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjrAubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j�Ah´Mñhj6Aubhâ)�”}”(hŒ;``data`` Userspace pointer to contents of descriptor block ”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj±Ah]”hŒdata”…”�”}”(hj³Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¯Aubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mòhj«Aubhø)�”}”(hhh]”hý)�”}”(hŒ1Userspace pointer to contents of descriptor block”h]”hŒ1Userspace pointer to contents of descriptor block”…”�”}”(hjÊAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÆAh´MòhjÇAubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj«Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÆAh´Mòhj6Aubhâ)�”}”(hŒ8``length`` Length of descriptor block data, in quadlets ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjêAh]”hŒlength”…”�”}”(hjìAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjèAubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MóhjäAubhø)�”}”(hhh]”hý)�”}”(hŒ,Length of descriptor block data, in quadlets”h]”hŒ,Length of descriptor block data, in quadlets”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÿAh´MóhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjäAubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÿAh´Móhj6Aubhâ)�”}”(hŒ:``handle`` Handle to the descriptor, written by the kernel”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hj#Bh]”hŒhandle”…”�”}”(hj%Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj!Bubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MóhjBubhø)�”}”(hhh]”hý)�”}”(hŒ/Handle to the descriptor, written by the kernel”h]”hŒ/Handle to the descriptor, written by the kernel”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj:Dubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhj6Dubhø)�”}”(hhh]”hý)�”}”(hŒQHandle to the descriptor, as returned by the kernel when the descriptor was added”h]”hŒQHandle to the descriptor, as returned by the kernel when the descriptor was added”…”�”}”(hjUDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jQDh´MhjRDubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj6Dubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jQDh´Mhj3Dubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjëCubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj~Dh]”hŒ Description”…”�”}”(hj€Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj|Dubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒËRemove a descriptor block and accompanying immediate key from the local nodes' Configuration ROMs. The kernel will also generate a bus reset to signal the change of the Configuration ROM to other nodes.”h]”hŒÍRemove a descriptor block and accompanying immediate key from the local nodes’ Configuration ROMs. The kernel will also generate a bus reset to signal the change of the Configuration ROM to other nodes.”…”�”}”(hj”Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ%fw_cdev_create_iso_context (C struct)”Œc.fw_cdev_create_iso_context”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_create_iso_context”h]”j«)�”}”(hŒ!struct fw_cdev_create_iso_context”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj¼Dh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj¸Dh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊDh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj¸Dh²hh³jÉDh´MubjÔ)�”}”(hŒfw_cdev_create_iso_context”h]”jÚ)�”}”(hj¶Dh]”hŒfw_cdev_create_iso_context”…”�”}”(hjÜDh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjØDubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj¸Dh²hh³jÉDh´Mubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj´Dh²hh³jÉDh´Mubah}”(h]”j¯Dah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jÉDh´Mhj±Dh²hubj)�”}”(hhh]”hý)�”}”(hŒ$Create a context for isochronous I/O”h]”hŒ$Create a context for isochronous I/O”…”�”}”(hjþDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M$hjûDh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±Dh²hh³jÉDh´Mubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jEj)jEj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX°**Definition**:: struct fw_cdev_create_iso_context { __u32 type; __u32 header_size; __u32 channel; __u32 speed; __u64 closure; __u32 handle; }; **Members** ``type`` ``FW_CDEV_ISO_CONTEXT_TRANSMIT`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL`` ``header_size`` Header size to strip in single-channel reception ``channel`` Channel to bind to in single-channel reception or transmission ``speed`` Transmission speed ``closure`` To be returned in :c:type:`fw_cdev_event_iso_interrupt` or :c:type:`fw_cdev_event_iso_interrupt_multichannel` ``handle`` Handle to context, written back by kernel”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj"Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjEubhŒ:”…”�”}”(hjEh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M(hjEubjz)�”}”(hŒ–struct fw_cdev_create_iso_context { __u32 type; __u32 header_size; __u32 channel; __u32 speed; __u64 closure; __u32 handle; };”h]”hŒ–struct fw_cdev_create_iso_context { __u32 type; __u32 header_size; __u32 channel; __u32 speed; __u64 closure; __u32 handle; };”…”�”}”hj;Esbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M*hjEubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjLEh]”hŒMembers”…”�”}”(hjNEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjJEubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M3hjEubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ}``type`` ``FW_CDEV_ISO_CONTEXT_TRANSMIT`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL`` ”h]”(hè)�”}”(hŒ``type``”h]”j…)�”}”(hjkEh]”hŒtype”…”�”}”(hjmEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjiEubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M'hjeEubhø)�”}”(hhh]”hý)�”}”(hŒs``FW_CDEV_ISO_CONTEXT_TRANSMIT`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``”h]”(j…)�”}”(hŒ ``FW_CDEV_ISO_CONTEXT_TRANSMIT``”h]”hŒFW_CDEV_ISO_CONTEXT_TRANSMIT”…”�”}”(hjˆEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj„EubhŒ or ”…”�”}”(hj„Eh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_CONTEXT_RECEIVE``”h]”hŒFW_CDEV_ISO_CONTEXT_RECEIVE”…”�”}”(hjšEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj„EubhŒ or ”…”�”}”(hj„Eh²hh³Nh´Nubj…)�”}”(hŒ,``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``”h]”hŒ(FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL”…”�”}”(hj¬Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj„Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M&hj�Eubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjeEubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j€Eh´M'hjbEubhâ)�”}”(hŒA``header_size`` Header size to strip in single-channel reception ”h]”(hè)�”}”(hŒ``header_size``”h]”j…)�”}”(hjÓEh]”hŒ header_size”…”�”}”(hjÕEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÑEubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M(hjÍEubhø)�”}”(hhh]”hý)�”}”(hŒ0Header size to strip in single-channel reception”h]”hŒ0Header size to strip in single-channel reception”…”�”}”(hjìEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jèEh´M(hjéEubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÍEubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jèEh´M(hjbEubhâ)�”}”(hŒK``channel`` Channel to bind to in single-channel reception or transmission ”h]”(hè)�”}”(hŒ ``channel``”h]”j…)�”}”(hj Fh]”hŒchannel”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj Fubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M)hjFubhø)�”}”(hhh]”hý)�”}”(hŒ>Channel to bind to in single-channel reception or transmission”h]”hŒ>Channel to bind to in single-channel reception or transmission”…”�”}”(hj%Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j!Fh´M)hj"Fubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j!Fh´M)hjbEubhâ)�”}”(hŒ``speed`` Transmission speed ”h]”(hè)�”}”(hŒ ``speed``”h]”j…)�”}”(hjEFh]”hŒspeed”…”�”}”(hjGFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjCFubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M*hj?Fubhø)�”}”(hhh]”hý)�”}”(hŒTransmission speed”h]”hŒTransmission speed”…”�”}”(hj^Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jZFh´M*hj[Fubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj?Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jZFh´M*hjbEubhâ)�”}”(hŒz``closure`` To be returned in :c:type:`fw_cdev_event_iso_interrupt` or :c:type:`fw_cdev_event_iso_interrupt_multichannel` ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj~Fh]”hŒclosure”…”�”}”(hj€Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj|Fubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M,hjxFubhø)�”}”(hhh]”hý)�”}”(hŒmTo be returned in :c:type:`fw_cdev_event_iso_interrupt` or :c:type:`fw_cdev_event_iso_interrupt_multichannel`”h]”(hŒTo be returned in ”…”�”}”(hj—Fh²hh³Nh´Nubh)�”}”(hŒ%:c:type:`fw_cdev_event_iso_interrupt`”h]”j…)�”}”(hj¡Fh]”hŒfw_cdev_event_iso_interrupt”…”�”}”(hj£Fh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjŸFubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_iso_interrupt”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M+hj—FubhŒ or ”…”�”}”(hj—Fh²hh³Nh´Nubh)�”}”(hŒ2:c:type:`fw_cdev_event_iso_interrupt_multichannel`”h]”j…)�”}”(hjÅFh]”hŒ(fw_cdev_event_iso_interrupt_multichannel”…”�”}”(hjÇFh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÃFubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œ(fw_cdev_event_iso_interrupt_multichannel”uh1hh³j¾Fh´M+hj—Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¾Fh´M+hj”Fubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjxFubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j“Fh´M,hjbEubhâ)�”}”(hŒ4``handle`` Handle to context, written back by kernel”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjúFh]”hŒhandle”…”�”}”(hjüFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjøFubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M,hjôFubhø)�”}”(hhh]”hý)�”}”(hŒ)Handle to context, written back by kernel”h]”hŒ)Handle to context, written back by kernel”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M-hjGubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjôFubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jGh´M,hjbEubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjEubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj=Gh]”hŒ Description”…”�”}”(hj?Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj;Gubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M0hjhh²hubhý)�”}”(hX6Prior to sending or receiving isochronous I/O, a context must be created. The context records information about the transmit or receive configuration and typically maps to an underlying hardware resource. A context is set up for either sending or receiving. It is bound to a specific isochronous **channel**.”h]”(hX*Prior to sending or receiving isochronous I/O, a context must be created. The context records information about the transmit or receive configuration and typically maps to an underlying hardware resource. A context is set up for either sending or receiving. It is bound to a specific isochronous ”…”�”}”(hjSGh²hh³Nh´Nubj8)�”}”(hŒ **channel**”h]”hŒchannel”…”�”}”(hj[Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjSGubhŒ.”…”�”}”(hjSGh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M-hjhh²hubhý)�”}”(hŒ‘In case of multichannel reception, **header_size** and **channel** are ignored and the channels are selected by ``FW_CDEV_IOC_SET_ISO_CHANNELS``.”h]”(hŒ#In case of multichannel reception, ”…”�”}”(hjtGh²hh³Nh´Nubj8)�”}”(hŒ**header_size**”h]”hŒ header_size”…”�”}”(hj|Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjtGubhŒ and ”…”�”}”(hjtGh²hh³Nh´Nubj8)�”}”(hŒ **channel**”h]”hŒchannel”…”�”}”(hjŽGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjtGubhŒ. are ignored and the channels are selected by ”…”�”}”(hjtGh²hh³Nh´Nubj…)�”}”(hŒ ``FW_CDEV_IOC_SET_ISO_CHANNELS``”h]”hŒFW_CDEV_IOC_SET_ISO_CHANNELS”…”�”}”(hj Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjtGubhŒ.”…”�”}”(hjtGh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M3hjhh²hubhý)�”}”(hŒ”For ``FW_CDEV_ISO_CONTEXT_RECEIVE`` contexts, **header_size** must be at least 4 and must be a multiple of 4. It is ignored in other context types.”h]”(hŒFor ”…”�”}”(hj¹Gh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_CONTEXT_RECEIVE``”h]”hŒFW_CDEV_ISO_CONTEXT_RECEIVE”…”�”}”(hjÁGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¹GubhŒ contexts, ”…”�”}”(hj¹Gh²hh³Nh´Nubj8)�”}”(hŒ**header_size**”h]”hŒ header_size”…”�”}”(hjÓGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¹GubhŒW must be at least 4 and must be a multiple of 4. It is ignored in other context types.”…”�”}”(hj¹Gh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M6hjhh²hubhý)�”}”(hŒ.**speed** is ignored in receive context types.”h]”(j8)�”}”(hŒ **speed**”h]”hŒspeed”…”�”}”(hjðGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjìGubhŒ% is ignored in receive context types.”…”�”}”(hjìGh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M9hjhh²hubhý)�”}”(hŒ™If a context was successfully created, the kernel writes back a handle to the context, which must be passed in for subsequent operations on that context.”h]”hŒ™If a context was successfully created, the kernel writes back a handle to the context, which must be passed in for subsequent operations on that context.”…”�”}”(hj Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M;hjhh²hubhý)�”}”(hXLimitations: No more than one iso context can be created per fd. The total number of contexts that all userspace and kernelspace drivers can create on a card at a time is a hardware limit, typically 4 or 8 contexts per direction, and of them at most one multichannel receive context.”h]”hXLimitations: No more than one iso context can be created per fd. The total number of contexts that all userspace and kernelspace drivers can create on a card at a time is a hardware limit, typically 4 or 8 contexts per direction, and of them at most one multichannel receive context.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M>hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ#fw_cdev_set_iso_channels (C struct)”Œc.fw_cdev_set_iso_channels”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_set_iso_channels”h]”j«)�”}”(hŒstruct fw_cdev_set_iso_channels”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj@Hh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj"Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j=Ih´MQhjæHubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjžHubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjkIh]”hŒ Description”…”�”}”(hjmIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjiIubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MUhjhh²hubhý)�”}”(hŒL**channels** is the bitwise or of 1ULL << n for each channel n to listen to.”h]”(j8)�”}”(hŒ **channels**”h]”hŒchannels”…”�”}”(hj…Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�IubhŒ@ is the bitwise or of 1ULL << n for each channel n to listen to.”…”�”}”(hj�Ih²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MRhjhh²hubhý)�”}”(hŒÁThe ioctl fails with errno ``EBUSY`` if there is already another receive context on a channel in **channels**. In that case, the bitmask of all unoccupied channels is returned in **channels**.”h]”(hŒThe ioctl fails with errno ”…”�”}”(hjžIh²hh³Nh´Nubj…)�”}”(hŒ ``EBUSY``”h]”hŒEBUSY”…”�”}”(hj¦Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjžIubhŒ= if there is already another receive context on a channel in ”…”�”}”(hjžIh²hh³Nh´Nubj8)�”}”(hŒ **channels**”h]”hŒchannels”…”�”}”(hj¸Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjžIubhŒG. In that case, the bitmask of all unoccupied channels is returned in ”…”�”}”(hjžIh²hh³Nh´Nubj8)�”}”(hŒ **channels**”h]”hŒchannels”…”�”}”(hjÊIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjžIubhŒ.”…”�”}”(hjžIh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MThjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_iso_packet (C struct)”Œc.fw_cdev_iso_packet”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_iso_packet”h]”j«)�”}”(hŒstruct fw_cdev_iso_packet”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjüIh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjøIh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M[ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Jh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjøIh²hh³j Jh´M[ubjÔ)�”}”(hŒfw_cdev_iso_packet”h]”jÚ)�”}”(hjöIh]”hŒfw_cdev_iso_packet”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjJubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjøIh²hh³j Jh´M[ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjôIh²hh³j Jh´M[ubah}”(h]”jïIah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j Jh´M[hjñIh²hubj)�”}”(hhh]”hý)�”}”(hŒIsochronous packet”h]”hŒIsochronous packet”…”�”}”(hj>Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mghj;Jh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñIh²hh³j Jh´M[ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jVJj)jVJj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX‰**Definition**:: struct fw_cdev_iso_packet { __u32 control; __u32 header[]; }; **Members** ``control`` Contains the header length (8 uppermost bits), the sy field (4 bits), the tag field (2 bits), a sync flag or a skip flag (1 bit), an interrupt flag (1 bit), and the payload length (16 lowermost bits) ``header`` Header and payload in case of a transmit context.”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjbJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj^JubhŒ:”…”�”}”(hj^Jh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MkhjZJubjz)�”}”(hŒEstruct fw_cdev_iso_packet { __u32 control; __u32 header[]; };”h]”hŒEstruct fw_cdev_iso_packet { __u32 control; __u32 header[]; };”…”�”}”hj{Jsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MmhjZJubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjŒJh]”hŒMembers”…”�”}”(hjŽJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjŠJubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MrhjZJubhÝ)�”}”(hhh]”(hâ)�”}”(hŒÔ``control`` Contains the header length (8 uppermost bits), the sy field (4 bits), the tag field (2 bits), a sync flag or a skip flag (1 bit), an interrupt flag (1 bit), and the payload length (16 lowermost bits) ”h]”(hè)�”}”(hŒ ``control``”h]”j…)�”}”(hj«Jh]”hŒcontrol”…”�”}”(hj­Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj©Jubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mlhj¥Jubhø)�”}”(hhh]”hý)�”}”(hŒÇContains the header length (8 uppermost bits), the sy field (4 bits), the tag field (2 bits), a sync flag or a skip flag (1 bit), an interrupt flag (1 bit), and the payload length (16 lowermost bits)”h]”hŒÇContains the header length (8 uppermost bits), the sy field (4 bits), the tag field (2 bits), a sync flag or a skip flag (1 bit), an interrupt flag (1 bit), and the payload length (16 lowermost bits)”…”�”}”(hjÄJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MihjÁJubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¥Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÀJh´Mlhj¢Jubhâ)�”}”(hŒ<``header`` Header and payload in case of a transmit context.”h]”(hè)�”}”(hŒ ``header``”h]”j…)�”}”(hjåJh]”hŒheader”…”�”}”(hjçJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjãJubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MlhjßJubhø)�”}”(hhh]”hý)�”}”(hŒ1Header and payload in case of a transmit context.”h]”hŒ1Header and payload in case of a transmit context.”…”�”}”(hjþJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MmhjûJubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjßJubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³júJh´Mlhj¢Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjZJubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj(Kh]”hŒ Description”…”�”}”(hj*Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj&Kubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mphjhh²hubhý)�”}”(hŒ×:c:type:`struct fw_cdev_iso_packet ` is used to describe isochronous packet queues. Use the FW_CDEV_ISO_* macros to fill in **control**. The **header** array is empty in case of receive contexts.”h]”(h)�”}”(hŒ8:c:type:`struct fw_cdev_iso_packet `”h]”j…)�”}”(hjDKh]”hŒstruct fw_cdev_iso_packet”…”�”}”(hjFKh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjBKubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_iso_packet”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mmhj>KubhŒX is used to describe isochronous packet queues. Use the FW_CDEV_ISO_* macros to fill in ”…”�”}”(hj>Kh²hh³Nh´Nubj8)�”}”(hŒ **control**”h]”hŒcontrol”…”�”}”(hjfKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>KubhŒ. The ”…”�”}”(hj>Kh²hh³Nh´Nubj8)�”}”(hŒ **header**”h]”hŒheader”…”�”}”(hjxKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>KubhŒ, array is empty in case of receive contexts.”…”�”}”(hj>Kh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jaKh´Mmhjhh²hubhý)�”}”(hŒ.Context type ``FW_CDEV_ISO_CONTEXT_TRANSMIT``:”h]”(hŒ Context type ”…”�”}”(hj�Kh²hh³Nh´Nubj…)�”}”(hŒ ``FW_CDEV_ISO_CONTEXT_TRANSMIT``”h]”hŒFW_CDEV_ISO_CONTEXT_TRANSMIT”…”�”}”(hj˜Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�KubhŒ:”…”�”}”(hj�Kh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mqhjhh²hubhý)�”}”(hŒò**control.HEADER_LENGTH** must be a multiple of 4. It specifies the numbers of bytes in **header** that will be prepended to the packet's payload. These bytes are copied into the kernel and will not be accessed after the ioctl has returned.”h]”(j8)�”}”(hŒ**control.HEADER_LENGTH**”h]”hŒcontrol.HEADER_LENGTH”…”�”}”(hjµKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj±KubhŒ@ must be a multiple of 4. It specifies the numbers of bytes in ”…”�”}”(hj±Kh²hh³Nh´Nubj8)�”}”(hŒ **header**”h]”hŒheader”…”�”}”(hjÇKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj±KubhŒ‘ that will be prepended to the packet’s payload. These bytes are copied into the kernel and will not be accessed after the ioctl has returned.”…”�”}”(hj±Kh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mshjhh²hubhý)�”}”(hŒ�The **control.SY** and TAG fields are copied to the iso packet header. These fields are specified by IEEE 1394a and IEC 61883-1.”h]”(hŒThe ”…”�”}”(hjàKh²hh³Nh´Nubj8)�”}”(hŒ**control.SY**”h]”hŒ control.SY”…”�”}”(hjèKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjàKubhŒo and TAG fields are copied to the iso packet header. These fields are specified by IEEE 1394a and IEC 61883-1.”…”�”}”(hjàKh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mxhjhh²hubhý)�”}”(hŒ™The **control.SKIP** flag specifies that no packet is to be sent in a frame. When using this, all other fields except **control.INTERRUPT** must be zero.”h]”(hŒThe ”…”�”}”(hjLh²hh³Nh´Nubj8)�”}”(hŒ**control.SKIP**”h]”hŒ control.SKIP”…”�”}”(hj Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjLubhŒb flag specifies that no packet is to be sent in a frame. When using this, all other fields except ”…”�”}”(hjLh²hh³Nh´Nubj8)�”}”(hŒ**control.INTERRUPT**”h]”hŒcontrol.INTERRUPT”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjLubhŒ must be zero.”…”�”}”(hjLh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M{hjhh²hubhý)�”}”(hŒ†When a packet with the **control.INTERRUPT** flag set has been completed, an :c:type:`fw_cdev_event_iso_interrupt` event will be sent.”h]”(hŒWhen a packet with the ”…”�”}”(hj4Lh²hh³Nh´Nubj8)�”}”(hŒ**control.INTERRUPT**”h]”hŒcontrol.INTERRUPT”…”�”}”(hj`.”h]”(hŒIf the ”…”�”}”(hj×Lh²hh³Nh´Nubj8)�”}”(hŒ**control.SYNC**”h]”hŒ control.SYNC”…”�”}”(hjßLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj×LubhŒe flag is set, the context drops all packets until a packet with a sy field is received which matches ”…”�”}”(hj×Lh²hh³Nh´Nubh)�”}”(hŒ4:c:type:`fw_cdev_start_iso.sync `”h]”j…)�”}”(hjóLh]”hŒfw_cdev_start_iso.sync”…”�”}”(hjõLh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjñLubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jsjwj{Œfw_cdev_start_iso”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‰hj×LubhŒ.”…”�”}”(hj×Lh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jMh´M‰hjhh²hubhý)�”}”(hXr**control.PAYLOAD_LENGTH** defines how many payload bytes can be received for one packet (in addition to payload quadlets that have been defined as headers and are stripped and returned in the :c:type:`fw_cdev_event_iso_interrupt` structure). If more bytes are received, the additional bytes are dropped. If less bytes are received, the remaining bytes in this part of the payload buffer will not be written to, not even by the next packet. I.e., packets received in consecutive frames will not necessarily be consecutive in memory. If an entry has queued multiple packets, the PAYLOAD_LENGTH is divided equally among them.”h]”(j8)�”}”(hŒ**control.PAYLOAD_LENGTH**”h]”hŒcontrol.PAYLOAD_LENGTH”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjMubhŒ§ defines how many payload bytes can be received for one packet (in addition to payload quadlets that have been defined as headers and are stripped and returned in the ”…”�”}”(hjMh²hh³Nh´Nubh)�”}”(hŒ%:c:type:`fw_cdev_event_iso_interrupt`”h]”j…)�”}”(hj3Mh]”hŒfw_cdev_event_iso_interrupt”…”�”}”(hj5Mh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj1Mubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_iso_interrupt”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MŒhjMubhXŒ structure). If more bytes are received, the additional bytes are dropped. If less bytes are received, the remaining bytes in this part of the payload buffer will not be written to, not even by the next packet. I.e., packets received in consecutive frames will not necessarily be consecutive in memory. If an entry has queued multiple packets, the PAYLOAD_LENGTH is divided equally among them.”…”�”}”(hjMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jPMh´MŒhjhh²hubhý)�”}”(hŒéWhen a packet with the **control.INTERRUPT** flag set has been completed, an :c:type:`fw_cdev_event_iso_interrupt` event will be sent. An entry that has queued multiple receive packets is completed when its last packet is completed.”h]”(hŒWhen a packet with the ”…”�”}”(hj[Mh²hh³Nh´Nubj8)�”}”(hŒ**control.INTERRUPT**”h]”hŒcontrol.INTERRUPT”…”�”}”(hjcMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj[MubhŒ! flag set has been completed, an ”…”�”}”(hj[Mh²hh³Nh´Nubh)�”}”(hŒ%:c:type:`fw_cdev_event_iso_interrupt`”h]”j…)�”}”(hjwMh]”hŒfw_cdev_event_iso_interrupt”…”�”}”(hjyMh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjuMubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_iso_interrupt”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M–hj[MubhŒw event will be sent. An entry that has queued multiple receive packets is completed when its last packet is completed.”…”�”}”(hj[Mh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j”Mh´M–hjhh²hubhý)�”}”(hŒ:Context type ``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``:”h]”(hŒ Context type ”…”�”}”(hjŸMh²hh³Nh´Nubj…)�”}”(hŒ,``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``”h]”hŒ(FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL”…”�”}”(hj§Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŸMubhŒ:”…”�”}”(hjŸMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mšhjhh²hubhý)�”}”(hŒèHere, :c:type:`fw_cdev_iso_packet` would be more aptly named _iso_buffer_chunk since it specifies a chunk of the mmap()'ed buffer, while the number and alignment of packets to be placed into the buffer chunk is not known beforehand.”h]”(hŒHere, ”…”�”}”(hjÀMh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_iso_packet`”h]”j…)�”}”(hjÊMh]”hŒfw_cdev_iso_packet”…”�”}”(hjÌMh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjÈMubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_iso_packet”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MœhjÀMubhŒÈ would be more aptly named _iso_buffer_chunk since it specifies a chunk of the mmap()’ed buffer, while the number and alignment of packets to be placed into the buffer chunk is not known beforehand.”…”�”}”(hjÀMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jçMh´Mœhjhh²hubhý)�”}”(hŒ±**control.PAYLOAD_LENGTH** is the size of the buffer chunk and specifies room for header, payload, padding, and trailer bytes of one or more packets. It must be a multiple of 4.”h]”(j8)�”}”(hŒ**control.PAYLOAD_LENGTH**”h]”hŒcontrol.PAYLOAD_LENGTH”…”�”}”(hjöMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjòMubhŒ— is the size of the buffer chunk and specifies room for header, payload, padding, and trailer bytes of one or more packets. It must be a multiple of 4.”…”�”}”(hjòMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M hjhh²hubhý)�”}”(hŒn**control.HEADER_LENGTH**, TAG and SY are ignored. SYNC is treated as described for single-channel reception.”h]”(j8)�”}”(hŒ**control.HEADER_LENGTH**”h]”hŒcontrol.HEADER_LENGTH”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjNubhŒU, TAG and SY are ignored. SYNC is treated as described for single-channel reception.”…”�”}”(hjNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¤hjhh²hubhý)�”}”(hŒ•When a buffer chunk with the **control.INTERRUPT** flag set has been filled entirely, an :c:type:`fw_cdev_event_iso_interrupt_mc` event will be sent.”h]”(hŒWhen a buffer chunk with the ”…”�”}”(hj,Nh²hh³Nh´Nubj8)�”}”(hŒ**control.INTERRUPT**”h]”hŒcontrol.INTERRUPT”…”�”}”(hj4Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj,NubhŒ' flag set has been filled entirely, an ”…”�”}”(hj,Nh²hh³Nh´Nubh)�”}”(hŒ(:c:type:`fw_cdev_event_iso_interrupt_mc`”h]”j…)�”}”(hjHNh]”hŒfw_cdev_event_iso_interrupt_mc”…”�”}”(hjJNh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjFNubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_iso_interrupt_mc”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M§hj,NubhŒ event will be sent.”…”�”}”(hj,Nh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jeNh´M§hjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_queue_iso (C struct)”Œc.fw_cdev_queue_iso”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_queue_iso”h]”j«)�”}”(hŒstruct fw_cdev_queue_iso”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj‰Nh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj…Nh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M­ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—Nh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj…Nh²hh³j–Nh´M­ubjÔ)�”}”(hŒfw_cdev_queue_iso”h]”jÚ)�”}”(hjƒNh]”hŒfw_cdev_queue_iso”…”�”}”(hj©Nh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¥Nubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj…Nh²hh³j–Nh´M­ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj�Nh²hh³j–Nh´M­ubah}”(h]”j|Nah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j–Nh´M­hj~Nh²hubj)�”}”(hhh]”hý)�”}”(hŒ!Queue isochronous packets for I/O”h]”hŒ!Queue isochronous packets for I/O”…”�”}”(hjËNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M±hjÈNh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~Nh²hh³j–Nh´M­ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jãNj)jãNj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXi**Definition**:: struct fw_cdev_queue_iso { __u64 packets; __u64 data; __u32 size; __u32 handle; }; **Members** ``packets`` Userspace pointer to an array of :c:type:`fw_cdev_iso_packet` ``data`` Pointer into mmap()'ed payload buffer ``size`` Size of the **packets** array, in bytes ``handle`` Isochronous context handle”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjïNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjëNubhŒ:”…”�”}”(hjëNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MµhjçNubjz)�”}”(hŒbstruct fw_cdev_queue_iso { __u64 packets; __u64 data; __u32 size; __u32 handle; };”h]”hŒbstruct fw_cdev_queue_iso { __u64 packets; __u64 data; __u32 size; __u32 handle; };”…”�”}”hjOsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M·hjçNubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjOh]”hŒMembers”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¾hjçNubhÝ)�”}”(hhh]”(hâ)�”}”(hŒJ``packets`` Userspace pointer to an array of :c:type:`fw_cdev_iso_packet` ”h]”(hè)�”}”(hŒ ``packets``”h]”j…)�”}”(hj8Oh]”hŒpackets”…”�”}”(hj:Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj6Oubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M³hj2Oubhø)�”}”(hhh]”hý)�”}”(hŒ=Userspace pointer to an array of :c:type:`fw_cdev_iso_packet`”h]”(hŒ!Userspace pointer to an array of ”…”�”}”(hjQOh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_iso_packet`”h]”j…)�”}”(hj[Oh]”hŒfw_cdev_iso_packet”…”�”}”(hj]Oh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjYOubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_iso_packet”uh1hh³jMOh´M³hjQOubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jMOh´M³hjNOubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj2Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jMOh´M³hj/Oubhâ)�”}”(hŒ/``data`` Pointer into mmap()'ed payload buffer ”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj�Oh]”hŒdata”…”�”}”(hj’Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŽOubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M´hjŠOubhø)�”}”(hhh]”hý)�”}”(hŒ%Pointer into mmap()'ed payload buffer”h]”hŒ'Pointer into mmap()’ed payload buffer”…”�”}”(hj©Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¥Oh´M´hj¦Oubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjŠOubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¥Oh´M´hj/Oubhâ)�”}”(hŒ1``size`` Size of the **packets** array, in bytes ”h]”(hè)�”}”(hŒ``size``”h]”j…)�”}”(hjÉOh]”hŒsize”…”�”}”(hjËOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÇOubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MµhjÃOubhø)�”}”(hhh]”hý)�”}”(hŒ'Size of the **packets** array, in bytes”h]”(hŒ Size of the ”…”�”}”(hjâOh²hh³Nh´Nubj8)�”}”(hŒ **packets**”h]”hŒpackets”…”�”}”(hjêOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjâOubhŒ array, in bytes”…”�”}”(hjâOh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÞOh´MµhjßOubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÃOubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÞOh´Mµhj/Oubhâ)�”}”(hŒ%``handle`` Isochronous context handle”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjPh]”hŒhandle”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MµhjPubhø)�”}”(hhh]”hý)�”}”(hŒIsochronous context handle”h]”hŒIsochronous context handle”…”�”}”(hj-Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¶hj*Pubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j)Ph´Mµhj/Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjçNubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjWPh]”hŒ Description”…”�”}”(hjYPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjUPubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¹hjhh²hubhý)�”}”(hX|Queue a number of isochronous packets for reception or transmission. This ioctl takes a pointer to an array of :c:type:`fw_cdev_iso_packet` structs, which describe how to transmit from or receive into a contiguous region of a mmap()'ed payload buffer. As part of transmit packet descriptors, a series of headers can be supplied, which will be prepended to the payload during DMA.”h]”(hŒoQueue a number of isochronous packets for reception or transmission. This ioctl takes a pointer to an array of ”…”�”}”(hjmPh²hh³Nh´Nubh)�”}”(hŒ:c:type:`fw_cdev_iso_packet`”h]”j…)�”}”(hjwPh]”hŒfw_cdev_iso_packet”…”�”}”(hjyPh²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjuPubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_iso_packet”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M¶hjmPubhŒó structs, which describe how to transmit from or receive into a contiguous region of a mmap()’ed payload buffer. As part of transmit packet descriptors, a series of headers can be supplied, which will be prepended to the payload during DMA.”…”�”}”(hjmPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j”Ph´M¶hjhh²hubhý)�”}”(hŒ©The kernel may or may not queue all packets, but will write back updated values of the **packets**, **data** and **size** fields, so the ioctl can be resubmitted easily.”h]”(hŒWThe kernel may or may not queue all packets, but will write back updated values of the ”…”�”}”(hjŸPh²hh³Nh´Nubj8)�”}”(hŒ **packets**”h]”hŒpackets”…”�”}”(hj§Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjŸPubhŒ, ”…”�”}”(hjŸPh²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj¹Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjŸPubhŒ and ”…”�”}”(hjŸPh²hh³Nh´Nubj8)�”}”(hŒ**size**”h]”hŒsize”…”�”}”(hjËPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjŸPubhŒ0 fields, so the ioctl can be resubmitted easily.”…”�”}”(hjŸPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M½hjhh²hubhý)�”}”(hŒiIn case of a multichannel receive context, **data** must be quadlet-aligned relative to the buffer start.”h]”(hŒ+In case of a multichannel receive context, ”…”�”}”(hjäPh²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hjìPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjäPubhŒ6 must be quadlet-aligned relative to the buffer start.”…”�”}”(hjäPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÁhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_start_iso (C struct)”Œc.fw_cdev_start_iso”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_start_iso”h]”j«)�”}”(hŒstruct fw_cdev_start_iso”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjQh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÇubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Qh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjQh²hh³j+Qh´MÇubjÔ)�”}”(hŒfw_cdev_start_iso”h]”jÚ)�”}”(hjQh]”hŒfw_cdev_start_iso”…”�”}”(hj>Qh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj:Qubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjQh²hh³j+Qh´MÇubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjQh²hh³j+Qh´MÇubah}”(h]”jQah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j+Qh´MÇhjQh²hubj)�”}”(hhh]”hý)�”}”(hŒ.Start an isochronous transmission or reception”h]”hŒ.Start an isochronous transmission or reception”…”�”}”(hj`Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÓhj]Qh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjQh²hh³j+Qh´MÇubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jxQj)jxQj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX**Definition**:: struct fw_cdev_start_iso { __s32 cycle; __u32 sync; __u32 tags; __u32 handle; }; **Members** ``cycle`` Cycle in which to start I/O. If **cycle** is greater than or equal to 0, the I/O will start on that cycle. ``sync`` Determines the value to wait for receive packets that have the ``FW_CDEV_ISO_SYNC`` bit set ``tags`` Tag filter bit mask. Only valid for isochronous reception. Determines the tag values for which packets will be accepted. Use FW_CDEV_ISO_CONTEXT_MATCH_* macros to set **tags**. ``handle`` Isochronous context handle within which to transmit or receive”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj„Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj€QubhŒ:”…”�”}”(hj€Qh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M×hj|Qubjz)�”}”(hŒ`struct fw_cdev_start_iso { __s32 cycle; __u32 sync; __u32 tags; __u32 handle; };”h]”hŒ`struct fw_cdev_start_iso { __s32 cycle; __u32 sync; __u32 tags; __u32 handle; };”…”�”}”hj�Qsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÙhj|Qubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj®Qh]”hŒMembers”…”�”}”(hj°Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¬Qubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Màhj|QubhÝ)�”}”(hhh]”(hâ)�”}”(hŒv``cycle`` Cycle in which to start I/O. If **cycle** is greater than or equal to 0, the I/O will start on that cycle. ”h]”(hè)�”}”(hŒ ``cycle``”h]”j…)�”}”(hjÍQh]”hŒcycle”…”�”}”(hjÏQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjËQubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÖhjÇQubhø)�”}”(hhh]”hý)�”}”(hŒkCycle in which to start I/O. If **cycle** is greater than or equal to 0, the I/O will start on that cycle.”h]”(hŒ!Cycle in which to start I/O. If ”…”�”}”(hjæQh²hh³Nh´Nubj8)�”}”(hŒ **cycle**”h]”hŒcycle”…”�”}”(hjîQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjæQubhŒA is greater than or equal to 0, the I/O will start on that cycle.”…”�”}”(hjæQh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÕhjãQubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÇQubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jâQh´MÖhjÄQubhâ)�”}”(hŒe``sync`` Determines the value to wait for receive packets that have the ``FW_CDEV_ISO_SYNC`` bit set ”h]”(hè)�”}”(hŒ``sync``”h]”j…)�”}”(hjRh]”hŒsync”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MØhjRubhø)�”}”(hhh]”hý)�”}”(hŒ[Determines the value to wait for receive packets that have the ``FW_CDEV_ISO_SYNC`` bit set”h]”(hŒ?Determines the value to wait for receive packets that have the ”…”�”}”(hj2Rh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_SYNC``”h]”hŒFW_CDEV_ISO_SYNC”…”�”}”(hj:Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj2RubhŒ bit set”…”�”}”(hj2Rh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M×hj/Rubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j.Rh´MØhjÄQubhâ)�”}”(hŒ»``tags`` Tag filter bit mask. Only valid for isochronous reception. Determines the tag values for which packets will be accepted. Use FW_CDEV_ISO_CONTEXT_MATCH_* macros to set **tags**. ”h]”(hè)�”}”(hŒ``tags``”h]”j…)�”}”(hjeRh]”hŒtags”…”�”}”(hjgRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjcRubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÛhj_Rubhø)�”}”(hhh]”hý)�”}”(hŒ±Tag filter bit mask. Only valid for isochronous reception. Determines the tag values for which packets will be accepted. Use FW_CDEV_ISO_CONTEXT_MATCH_* macros to set **tags**.”h]”(hŒ¨Tag filter bit mask. Only valid for isochronous reception. Determines the tag values for which packets will be accepted. Use FW_CDEV_ISO_CONTEXT_MATCH_* macros to set ”…”�”}”(hj~Rh²hh³Nh´Nubj8)�”}”(hŒ**tags**”h]”hŒtags”…”�”}”(hj†Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj~RubhŒ.”…”�”}”(hj~Rh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÙhj{Rubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj_Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jzRh´MÛhjÄQubhâ)�”}”(hŒI``handle`` Isochronous context handle within which to transmit or receive”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hj±Rh]”hŒhandle”…”�”}”(hj³Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¯Rubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÛhj«Rubhø)�”}”(hhh]”hý)�”}”(hŒ>Isochronous context handle within which to transmit or receive”h]”hŒ>Isochronous context handle within which to transmit or receive”…”�”}”(hjÊRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MÜhjÇRubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj«Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÆRh´MÛhjÄQubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj|Qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_stop_iso (C struct)”Œc.fw_cdev_stop_iso”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_stop_iso”h]”j«)�”}”(hŒstruct fw_cdev_stop_iso”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj Sh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjSh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MâubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjSh²hh³jSh´MâubjÔ)�”}”(hŒfw_cdev_stop_iso”h]”jÚ)�”}”(hjSh]”hŒfw_cdev_stop_iso”…”�”}”(hj+Sh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj'Subah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjSh²hh³jSh´Mâubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjSh²hh³jSh´Mâubah}”(h]”jþRah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jSh´MâhjSh²hubj)�”}”(hhh]”hý)�”}”(hŒ-Stop an isochronous transmission or reception”h]”hŒ-Stop an isochronous transmission or reception”…”�”}”(hjMSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MåhjJSh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjSh²hh³jSh´Mâubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jeSj)jeSj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hŒ‡**Definition**:: struct fw_cdev_stop_iso { __u32 handle; }; **Members** ``handle`` Handle of isochronous context to stop”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjqSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjmSubhŒ:”…”�”}”(hjmSh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MéhjiSubjz)�”}”(hŒ.struct fw_cdev_stop_iso { __u32 handle; };”h]”hŒ.struct fw_cdev_stop_iso { __u32 handle; };”…”�”}”hjŠSsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MëhjiSubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj›Sh]”hŒMembers”…”�”}”(hj�Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj™Subah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MïhjiSubhÝ)�”}”(hhh]”hâ)�”}”(hŒ0``handle`` Handle of isochronous context to stop”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjºSh]”hŒhandle”…”�”}”(hj¼Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¸Subah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mæhj´Subhø)�”}”(hhh]”hý)�”}”(hŒ%Handle of isochronous context to stop”h]”hŒ%Handle of isochronous context to stop”…”�”}”(hjÓSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MçhjÐSubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj´Subeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÏSh´Mæhj±Subah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjiSubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_cdev_flush_iso (C struct)”Œc.fw_cdev_flush_iso”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_flush_iso”h]”j«)�”}”(hŒstruct fw_cdev_flush_iso”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjTh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MíubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"Th²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjTh²hh³j!Th´MíubjÔ)�”}”(hŒfw_cdev_flush_iso”h]”jÚ)�”}”(hjTh]”hŒfw_cdev_flush_iso”…”�”}”(hj4Th²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj0Tubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjTh²hh³j!Th´Míubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj Th²hh³j!Th´Míubah}”(h]”jTah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j!Th´Míhj Th²hubj)�”}”(hhh]”hý)�”}”(hŒflush completed iso packets”h]”hŒflush completed iso packets”…”�”}”(hjVTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MíhjSTh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Th²hh³j!Th´Míubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jnTj)jnTj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hŒ‰**Definition**:: struct fw_cdev_flush_iso { __u32 handle; }; **Members** ``handle`` handle of isochronous context to flush”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjzTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjvTubhŒ:”…”�”}”(hjvTh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MñhjrTubjz)�”}”(hŒ/struct fw_cdev_flush_iso { __u32 handle; };”h]”hŒ/struct fw_cdev_flush_iso { __u32 handle; };”…”�”}”hj“Tsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MóhjrTubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj¤Th]”hŒMembers”…”�”}”(hj¦Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¢Tubah}”(h]”h ]”h"]”•Ïh$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M÷hjrTubhÝ)�”}”(hhh]”hâ)�”}”(hŒ1``handle`` handle of isochronous context to flush”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hjÃTh]”hŒhandle”…”�”}”(hjÅTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÁTubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mîhj½Tubhø)�”}”(hhh]”hý)�”}”(hŒ&handle of isochronous context to flush”h]”hŒ&handle of isochronous context to flush”…”�”}”(hjÜTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MïhjÙTubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj½Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jØTh´MîhjºTubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjrTubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjUh]”hŒ Description”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mòhjhh²hubhý)�”}”(hŒoFor ``FW_CDEV_ISO_CONTEXT_TRANSMIT`` or ``FW_CDEV_ISO_CONTEXT_RECEIVE`` contexts, report any completed packets.”h]”(hŒFor ”…”�”}”(hjUh²hh³Nh´Nubj…)�”}”(hŒ ``FW_CDEV_ISO_CONTEXT_TRANSMIT``”h]”hŒFW_CDEV_ISO_CONTEXT_TRANSMIT”…”�”}”(hj$Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjUubhŒ or ”…”�”}”(hjUh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_ISO_CONTEXT_RECEIVE``”h]”hŒFW_CDEV_ISO_CONTEXT_RECEIVE”…”�”}”(hj6Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjUubhŒ( contexts, report any completed packets.”…”�”}”(hjUh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mïhjhh²hubhý)�”}”(hŒ´For ``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL`` contexts, report the current offset in the receive buffer, if it has changed; this is typically in the middle of some buffer chunk.”h]”(hŒFor ”…”�”}”(hjOUh²hh³Nh´Nubj…)�”}”(hŒ,``FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL``”h]”hŒ(FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL”…”�”}”(hjWUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjOUubhŒ„ contexts, report the current offset in the receive buffer, if it has changed; this is typically in the middle of some buffer chunk.”…”�”}”(hjOUh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mòhjhh²hubhý)�”}”(hŒÜAny ``FW_CDEV_EVENT_ISO_INTERRUPT`` or ``FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL`` events generated by this ioctl are sent synchronously, i.e., are available for reading from the file descriptor when this ioctl returns.”h]”(hŒAny ”…”�”}”(hjpUh²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_EVENT_ISO_INTERRUPT``”h]”hŒFW_CDEV_EVENT_ISO_INTERRUPT”…”�”}”(hjxUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjpUubhŒ or ”…”�”}”(hjpUh²hh³Nh´Nubj…)�”}”(hŒ,``FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL``”h]”hŒ(FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL”…”�”}”(hjŠUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjpUubhŒ‰ events generated by this ioctl are sent synchronously, i.e., are available for reading from the file descriptor when this ioctl returns.”…”�”}”(hjpUh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Möhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ"fw_cdev_get_cycle_timer (C struct)”Œc.fw_cdev_get_cycle_timer”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_get_cycle_timer”h]”j«)�”}”(hŒstruct fw_cdev_get_cycle_timer”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj¼Uh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj¸Uh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MýubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊUh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj¸Uh²hh³jÉUh´MýubjÔ)�”}”(hŒfw_cdev_get_cycle_timer”h]”jÚ)�”}”(hj¶Uh]”hŒfw_cdev_get_cycle_timer”…”�”}”(hjÜUh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjØUubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj¸Uh²hh³jÉUh´Mýubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj´Uh²hh³jÉUh´Mýubah}”(h]”j¯Uah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jÉUh´Mýhj±Uh²hubj)�”}”(hhh]”hý)�”}”(hŒread cycle timer register”h]”hŒread cycle timer register”…”�”}”(hjþUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjûUh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±Uh²hh³jÉUh´Mýubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jVj)jVj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hŒæ**Definition**:: struct fw_cdev_get_cycle_timer { __u64 local_time; __u32 cycle_timer; }; **Members** ``local_time`` system time, in microseconds since the Epoch ``cycle_timer`` Cycle Time register contents”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj"Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjVubhŒ:”…”�”}”(hjVh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjVubjz)�”}”(hŒPstruct fw_cdev_get_cycle_timer { __u64 local_time; __u32 cycle_timer; };”h]”hŒPstruct fw_cdev_get_cycle_timer { __u64 local_time; __u32 cycle_timer; };”…”�”}”hj;Vsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjVubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjLVh]”hŒMembers”…”�”}”(hjNVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjJVubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M hjVubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ<``local_time`` system time, in microseconds since the Epoch ”h]”(hè)�”}”(hŒ``local_time``”h]”j…)�”}”(hjkVh]”hŒ local_time”…”�”}”(hjmVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjiVubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjeVubhø)�”}”(hhh]”hý)�”}”(hŒ,system time, in microseconds since the Epoch”h]”hŒ,system time, in microseconds since the Epoch”…”�”}”(hj„Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j€Vh´Mhj�Vubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjeVubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j€Vh´MhjbVubhâ)�”}”(hŒ,``cycle_timer`` Cycle Time register contents”h]”(hè)�”}”(hŒ``cycle_timer``”h]”j…)�”}”(hj¤Vh]”hŒ cycle_timer”…”�”}”(hj¦Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¢Vubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjžVubhø)�”}”(hhh]”hý)�”}”(hŒCycle Time register contents”h]”hŒCycle Time register contents”…”�”}”(hj½Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjºVubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjžVubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¹Vh´MhjbVubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjVubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjçVh]”hŒ Description”…”�”}”(hjéVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjåVubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒtSame as ``FW_CDEV_IOC_GET_CYCLE_TIMER2``, but fixed to use ``CLOCK_REALTIME`` and only with microseconds resolution.”h]”(hŒSame as ”…”�”}”(hjýVh²hh³Nh´Nubj…)�”}”(hŒ ``FW_CDEV_IOC_GET_CYCLE_TIMER2``”h]”hŒFW_CDEV_IOC_GET_CYCLE_TIMER2”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjýVubhŒ, but fixed to use ”…”�”}”(hjýVh²hh³Nh´Nubj…)�”}”(hŒ``CLOCK_REALTIME``”h]”hŒCLOCK_REALTIME”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjýVubhŒ' and only with microseconds resolution.”…”�”}”(hjýVh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒ}In version 1 and 2 of the ABI, this ioctl returned unreliable (non- monotonic) **cycle_timer** values on certain controllers.”h]”(hŒOIn version 1 and 2 of the ABI, this ioctl returned unreliable (non- monotonic) ”…”�”}”(hj0Wh²hh³Nh´Nubj8)�”}”(hŒ**cycle_timer**”h]”hŒ cycle_timer”…”�”}”(hj8Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj0WubhŒ values on certain controllers.”…”�”}”(hj0Wh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ#fw_cdev_get_cycle_timer2 (C struct)”Œc.fw_cdev_get_cycle_timer2”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_get_cycle_timer2”h]”j«)�”}”(hŒstruct fw_cdev_get_cycle_timer2”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjjWh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjfWh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxWh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjfWh²hh³jwWh´M ubjÔ)�”}”(hŒfw_cdev_get_cycle_timer2”h]”jÚ)�”}”(hjdWh]”hŒfw_cdev_get_cycle_timer2”…”�”}”(hjŠWh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj†Wubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjfWh²hh³jwWh´M ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjbWh²hh³jwWh´M ubah}”(h]”j]Wah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jwWh´M hj_Wh²hubj)�”}”(hhh]”hý)�”}”(hŒread cycle timer register”h]”hŒread cycle timer register”…”�”}”(hj¬Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhj©Wh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj_Wh²hh³jwWh´M ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jÄWj)jÄWj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXs**Definition**:: struct fw_cdev_get_cycle_timer2 { __s64 tv_sec; __s32 tv_nsec; __s32 clk_id; __u32 cycle_timer; }; **Members** ``tv_sec`` system time, seconds ``tv_nsec`` system time, sub-seconds part in nanoseconds ``clk_id`` input parameter, clock from which to get the system time ``cycle_timer`` Cycle Time register contents”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÐWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÌWubhŒ:”…”�”}”(hjÌWh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjÈWubjz)�”}”(hŒrstruct fw_cdev_get_cycle_timer2 { __s64 tv_sec; __s32 tv_nsec; __s32 clk_id; __u32 cycle_timer; };”h]”hŒrstruct fw_cdev_get_cycle_timer2 { __s64 tv_sec; __s32 tv_nsec; __s32 clk_id; __u32 cycle_timer; };”…”�”}”hjéWsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjÈWubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjúWh]”hŒMembers”…”�”}”(hjüWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjøWubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjÈWubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ ``tv_sec`` system time, seconds ”h]”(hè)�”}”(hŒ ``tv_sec``”h]”j…)�”}”(hjXh]”hŒtv_sec”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjXubhø)�”}”(hhh]”hý)�”}”(hŒsystem time, seconds”h]”hŒsystem time, seconds”…”�”}”(hj2Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j.Xh´Mhj/Xubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j.Xh´MhjXubhâ)�”}”(hŒ9``tv_nsec`` system time, sub-seconds part in nanoseconds ”h]”(hè)�”}”(hŒ ``tv_nsec``”h]”j…)�”}”(hjRXh]”hŒtv_nsec”…”�”}”(hjTXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjPXubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjLXubhø)�”}”(hhh]”hý)�”}”(hŒ,system time, sub-seconds part in nanoseconds”h]”hŒ,system time, sub-seconds part in nanoseconds”…”�”}”(hjkXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jgXh´MhjhXubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjLXubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jgXh´MhjXubhâ)�”}”(hŒD``clk_id`` input parameter, clock from which to get the system time ”h]”(hè)�”}”(hŒ ``clk_id``”h]”j…)�”}”(hj‹Xh]”hŒclk_id”…”�”}”(hj�Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj‰Xubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhj…Xubhø)�”}”(hhh]”hý)�”}”(hŒ8input parameter, clock from which to get the system time”h]”hŒ8input parameter, clock from which to get the system time”…”�”}”(hj¤Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j Xh´Mhj¡Xubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj…Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j Xh´MhjXubhâ)�”}”(hŒ,``cycle_timer`` Cycle Time register contents”h]”(hè)�”}”(hŒ``cycle_timer``”h]”j…)�”}”(hjÄXh]”hŒ cycle_timer”…”�”}”(hjÆXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÂXubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhj¾Xubhø)�”}”(hhh]”hý)�”}”(hŒCycle Time register contents”h]”hŒCycle Time register contents”…”�”}”(hjÝXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MhjÚXubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¾Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÙXh´MhjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjÈWubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjYh]”hŒ Description”…”�”}”(hj Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒ¹The ``FW_CDEV_IOC_GET_CYCLE_TIMER2`` ioctl reads the isochronous cycle timer and also the system clock. This allows to correlate reception time of isochronous packets with system time.”h]”(hŒThe ”…”�”}”(hjYh²hh³Nh´Nubj…)�”}”(hŒ ``FW_CDEV_IOC_GET_CYCLE_TIMER2``”h]”hŒFW_CDEV_IOC_GET_CYCLE_TIMER2”…”�”}”(hj%Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjYubhŒ• ioctl reads the isochronous cycle timer and also the system clock. This allows to correlate reception time of isochronous packets with system time.”…”�”}”(hjYh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒÁ**clk_id** lets you choose a clock like with POSIX' clock_gettime function. Supported **clk_id** values are POSIX' ``CLOCK_REALTIME`` and ``CLOCK_MONOTONIC`` and Linux' ``CLOCK_MONOTONIC_RAW``.”h]”(j8)�”}”(hŒ **clk_id**”h]”hŒclk_id”…”�”}”(hjBYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>YubhŒN lets you choose a clock like with POSIX’ clock_gettime function. Supported ”…”�”}”(hj>Yh²hh³Nh´Nubj8)�”}”(hŒ **clk_id**”h]”hŒclk_id”…”�”}”(hjTYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj>YubhŒ values are POSIX’ ”…”�”}”(hj>Yh²hh³Nh´Nubj…)�”}”(hŒ``CLOCK_REALTIME``”h]”hŒCLOCK_REALTIME”…”�”}”(hjfYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj>YubhŒ and ”…”�”}”(hj>Yh²hh³Nh´Nubj…)�”}”(hŒ``CLOCK_MONOTONIC``”h]”hŒCLOCK_MONOTONIC”…”�”}”(hjxYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj>YubhŒ and Linux’ ”…”�”}”(hj>Yh²hh³Nh´Nubj…)�”}”(hŒ``CLOCK_MONOTONIC_RAW``”h]”hŒCLOCK_MONOTONIC_RAW”…”�”}”(hjŠYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj>YubhŒ.”…”�”}”(hj>Yh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒÏ**cycle_timer** consists of 7 bits cycleSeconds, 13 bits cycleCount, and 12 bits cycleOffset, in host byte order. Cf. the Cycle Time register per IEEE 1394 or Isochronous Cycle Timer register per OHCI-1394.”h]”(j8)�”}”(hŒ**cycle_timer**”h]”hŒ cycle_timer”…”�”}”(hj§Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj£YubhŒÀ consists of 7 bits cycleSeconds, 13 bits cycleCount, and 12 bits cycleOffset, in host byte order. Cf. the Cycle Time register per IEEE 1394 or Isochronous Cycle Timer register per OHCI-1394.”…”�”}”(hj£Yh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ(fw_cdev_allocate_iso_resource (C struct)”Œc.fw_cdev_allocate_iso_resource”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_allocate_iso_resource”h]”j«)�”}”(hŒ$struct fw_cdev_allocate_iso_resource”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjÙYh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÕYh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M$ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçYh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÕYh²hh³jæYh´M$ubjÔ)�”}”(hŒfw_cdev_allocate_iso_resource”h]”jÚ)�”}”(hjÓYh]”hŒfw_cdev_allocate_iso_resource”…”�”}”(hjùYh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjõYubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjÕYh²hh³jæYh´M$ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjÑYh²hh³jæYh´M$ubah}”(h]”jÌYah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jæYh´M$hjÎYh²hubj)�”}”(hhh]”hý)�”}”(hŒ#(De)allocate a channel or bandwidth”h]”hŒ#(De)allocate a channel or bandwidth”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M*hjZh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎYh²hh³jæYh´M$ubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j3Zj)j3Zj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXþ**Definition**:: struct fw_cdev_allocate_iso_resource { __u64 closure; __u64 channels; __u32 bandwidth; __u32 handle; }; **Members** ``closure`` Passed back to userspace in corresponding iso resource events ``channels`` Isochronous channels of which one is to be (de)allocated ``bandwidth`` Isochronous bandwidth units to be (de)allocated ``handle`` Handle to the allocation, written by the kernel (only valid in case of ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE`` ioctls)”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj?Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj;ZubhŒ:”…”�”}”(hj;Zh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M.hj7Zubjz)�”}”(hŒwstruct fw_cdev_allocate_iso_resource { __u64 closure; __u64 channels; __u32 bandwidth; __u32 handle; };”h]”hŒwstruct fw_cdev_allocate_iso_resource { __u64 closure; __u64 channels; __u32 bandwidth; __u32 handle; };”…”�”}”hjXZsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M0hj7Zubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjiZh]”hŒMembers”…”�”}”(hjkZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjgZubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M7hj7ZubhÝ)�”}”(hhh]”(hâ)�”}”(hŒJ``closure`` Passed back to userspace in corresponding iso resource events ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjˆZh]”hŒclosure”…”�”}”(hjŠZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj†Zubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M,hj‚Zubhø)�”}”(hhh]”hý)�”}”(hŒ=Passed back to userspace in corresponding iso resource events”h]”hŒ=Passed back to userspace in corresponding iso resource events”…”�”}”(hj¡Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j�Zh´M,hjžZubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj‚Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j�Zh´M,hjZubhâ)�”}”(hŒF``channels`` Isochronous channels of which one is to be (de)allocated ”h]”(hè)�”}”(hŒ ``channels``”h]”j…)�”}”(hjÁZh]”hŒchannels”…”�”}”(hjÃZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¿Zubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M-hj»Zubhø)�”}”(hhh]”hý)�”}”(hŒ8Isochronous channels of which one is to be (de)allocated”h]”hŒ8Isochronous channels of which one is to be (de)allocated”…”�”}”(hjÚZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÖZh´M-hj×Zubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj»Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÖZh´M-hjZubhâ)�”}”(hŒ>``bandwidth`` Isochronous bandwidth units to be (de)allocated ”h]”(hè)�”}”(hŒ ``bandwidth``”h]”j…)�”}”(hjúZh]”hŒ bandwidth”…”�”}”(hjüZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjøZubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M.hjôZubhø)�”}”(hhh]”hý)�”}”(hŒ/Isochronous bandwidth units to be (de)allocated”h]”hŒ/Isochronous bandwidth units to be (de)allocated”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j[h´M.hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjôZubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j[h´M.hjZubhâ)�”}”(hŒ``handle`` Handle to the allocation, written by the kernel (only valid in case of ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE`` ioctls)”h]”(hè)�”}”(hŒ ``handle``”h]”j…)�”}”(hj3[h]”hŒhandle”…”�”}”(hj5[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj1[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M/hj-[ubhø)�”}”(hhh]”hý)�”}”(hŒtHandle to the allocation, written by the kernel (only valid in case of ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE`` ioctls)”h]”(hŒGHandle to the allocation, written by the kernel (only valid in case of ”…”�”}”(hjL[h²hh³Nh´Nubj…)�”}”(hŒ%``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE``”h]”hŒ!FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE”…”�”}”(hjT[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjL[ubhŒ ioctls)”…”�”}”(hjL[h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jH[h´M/hjI[ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj-[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jH[h´M/hjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj7Zubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj‡[h]”hŒ Description”…”�”}”(hj‰[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj…[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M3hjhh²hubhý)�”}”(hX{The ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE`` ioctl initiates allocation of an isochronous channel and/or of isochronous bandwidth at the isochronous resource manager (IRM). Only one of the channels specified in **channels** is allocated. An ``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` is sent after communication with the IRM, indicating success or failure in the event data. The kernel will automatically reallocate the resources after bus resets. Should a reallocation fail, an ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` event will be sent. The kernel will also automatically deallocate the resources when the file descriptor is closed.”h]”(hŒThe ”…”�”}”(hj�[h²hh³Nh´Nubj…)�”}”(hŒ%``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE``”h]”hŒ!FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE”…”�”}”(hj¥[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�[ubhŒ¨ ioctl initiates allocation of an isochronous channel and/or of isochronous bandwidth at the isochronous resource manager (IRM). Only one of the channels specified in ”…”�”}”(hj�[h²hh³Nh´Nubj8)�”}”(hŒ **channels**”h]”hŒchannels”…”�”}”(hj·[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj�[ubhŒ is allocated. An ”…”�”}”(hj�[h²hh³Nh´Nubj…)�”}”(hŒ(``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED``”h]”hŒ$FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED”…”�”}”(hjÉ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�[ubhŒÄ is sent after communication with the IRM, indicating success or failure in the event data. The kernel will automatically reallocate the resources after bus resets. Should a reallocation fail, an ”…”�”}”(hj�[h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED``”h]”hŒ&FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED”…”�”}”(hjÛ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�[ubhŒu event will be sent. The kernel will also automatically deallocate the resources when the file descriptor is closed.”…”�”}”(hj�[h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M0hjhh²hubhý)�”}”(hŒÚThe ``FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE`` ioctl can be used to initiate deallocation of resources which were allocated as described above. An ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` event concludes this operation.”h]”(hŒThe ”…”�”}”(hjô[h²hh³Nh´Nubj…)�”}”(hŒ'``FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE``”h]”hŒ#FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE”…”�”}”(hjü[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjô[ubhŒe ioctl can be used to initiate deallocation of resources which were allocated as described above. An ”…”�”}”(hjô[h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED``”h]”hŒ&FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjô[ubhŒ event concludes this operation.”…”�”}”(hjô[h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M:hjhh²hubhý)�”}”(hŒíThe ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE`` ioctl is a variant of allocation without automatic re- or deallocation. An ``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED`` event concludes this operation, indicating success or failure in its data.”h]”(hŒThe ”…”�”}”(hj'\h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE``”h]”hŒ&FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE”…”�”}”(hj/\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj'\ubhŒL ioctl is a variant of allocation without automatic re- or deallocation. An ”…”�”}”(hj'\h²hh³Nh´Nubj…)�”}”(hŒ(``FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED``”h]”hŒ$FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED”…”�”}”(hjA\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj'\ubhŒK event concludes this operation, indicating success or failure in its data.”…”�”}”(hj'\h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M>hjhh²hubhý)�”}”(hŒðThe ``FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE`` ioctl works like ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE`` except that resources are freed instead of allocated. An ``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED`` event concludes this operation.”h]”(hŒThe ”…”�”}”(hjZ\h²hh³Nh´Nubj…)�”}”(hŒ,``FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE``”h]”hŒ(FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE”…”�”}”(hjb\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjZ\ubhŒ ioctl works like ”…”�”}”(hjZ\h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE``”h]”hŒ&FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE”…”�”}”(hjt\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjZ\ubhŒ: except that resources are freed instead of allocated. An ”…”�”}”(hjZ\h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED``”h]”hŒ&FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED”…”�”}”(hj†\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjZ\ubhŒ event concludes this operation.”…”�”}”(hjZ\h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MChjhh²hubhý)�”}”(hŒëTo summarize, ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE`` allocates iso resources for the lifetime of the fd or **handle**. In contrast, ``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE`` allocates iso resources for the duration of a bus generation.”h]”(hŒTo summarize, ”…”�”}”(hjŸ\h²hh³Nh´Nubj…)�”}”(hŒ%``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE``”h]”hŒ!FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE”…”�”}”(hj§\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŸ\ubhŒ7 allocates iso resources for the lifetime of the fd or ”…”�”}”(hjŸ\h²hh³Nh´Nubj8)�”}”(hŒ **handle**”h]”hŒhandle”…”�”}”(hj¹\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjŸ\ubhŒ. In contrast, ”…”�”}”(hjŸ\h²hh³Nh´Nubj…)�”}”(hŒ*``FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE``”h]”hŒ&FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE”…”�”}”(hjË\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŸ\ubhŒ> allocates iso resources for the duration of a bus generation.”…”�”}”(hjŸ\h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MHhjhh²hubhý)�”}”(hŒ×**channels** is a host-endian bitfield with the least significant bit representing channel 0 and the most significant bit representing channel 63: 1ULL << c for each channel c that is a candidate for (de)allocation.”h]”(j8)�”}”(hŒ **channels**”h]”hŒchannels”…”�”}”(hjè\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjä\ubhŒË is a host-endian bitfield with the least significant bit representing channel 0 and the most significant bit representing channel 63: 1ULL << c for each channel c that is a candidate for (de)allocation.”…”�”}”(hjä\h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MMhjhh²hubhý)�”}”(hŒŒ**bandwidth** is expressed in bandwidth allocation units, i.e. the time to send one quadlet of data (payload or header data) at speed S1600.”h]”(j8)�”}”(hŒ **bandwidth**”h]”hŒ bandwidth”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj]ubhŒ is expressed in bandwidth allocation units, i.e. the time to send one quadlet of data (payload or header data) at speed S1600.”…”�”}”(hj]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MQhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ%fw_cdev_send_stream_packet (C struct)”Œc.fw_cdev_send_stream_packet”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_send_stream_packet”h]”j«)�”}”(hŒ!struct fw_cdev_send_stream_packet”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj7]h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj3]h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MWubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE]h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj3]h²hh³jD]h´MWubjÔ)�”}”(hŒfw_cdev_send_stream_packet”h]”jÚ)�”}”(hj1]h]”hŒfw_cdev_send_stream_packet”…”�”}”(hjW]h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjS]ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj3]h²hh³jD]h´MWubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj/]h²hh³jD]h´MWubah}”(h]”j*]ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jD]h´MWhj,]h²hubj)�”}”(hhh]”hý)�”}”(hŒ"send an asynchronous stream packet”h]”hŒ"send an asynchronous stream packet”…”�”}”(hjy]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M]hjv]h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj,]h²hh³jD]h´MWubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j‘]j)j‘]j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hXH**Definition**:: struct fw_cdev_send_stream_packet { __u32 length; __u32 tag; __u32 channel; __u32 sy; __u64 closure; __u64 data; __u32 generation; __u32 speed; }; **Members** ``length`` Length of outgoing payload, in bytes ``tag`` Data format tag ``channel`` Isochronous channel to transmit to ``sy`` Synchronization code ``closure`` Passed back to userspace in the response event ``data`` Userspace pointer to payload ``generation`` The bus generation where packet is valid ``speed`` Speed to transmit at”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj�]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj™]ubhŒ:”…”�”}”(hj™]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mahj•]ubjz)�”}”(hŒ²struct fw_cdev_send_stream_packet { __u32 length; __u32 tag; __u32 channel; __u32 sy; __u64 closure; __u64 data; __u32 generation; __u32 speed; };”h]”hŒ²struct fw_cdev_send_stream_packet { __u32 length; __u32 tag; __u32 channel; __u32 sy; __u64 closure; __u64 data; __u32 generation; __u32 speed; };”…”�”}”hj¶]sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mchj•]ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjÇ]h]”hŒMembers”…”�”}”(hjÉ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÅ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mnhj•]ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ0``length`` Length of outgoing payload, in bytes ”h]”(hè)�”}”(hŒ ``length``”h]”j…)�”}”(hjæ]h]”hŒlength”…”�”}”(hjè]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjä]ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M_hjà]ubhø)�”}”(hhh]”hý)�”}”(hŒ$Length of outgoing payload, in bytes”h]”hŒ$Length of outgoing payload, in bytes”…”�”}”(hjÿ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jû]h´M_hjü]ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjà]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jû]h´M_hjÝ]ubhâ)�”}”(hŒ``tag`` Data format tag ”h]”(hè)�”}”(hŒ``tag``”h]”j…)�”}”(hj^h]”hŒtag”…”�”}”(hj!^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M`hj^ubhø)�”}”(hhh]”hý)�”}”(hŒData format tag”h]”hŒData format tag”…”�”}”(hj8^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j4^h´M`hj5^ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j4^h´M`hjÝ]ubhâ)�”}”(hŒ/``channel`` Isochronous channel to transmit to ”h]”(hè)�”}”(hŒ ``channel``”h]”j…)�”}”(hjX^h]”hŒchannel”…”�”}”(hjZ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjV^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MahjR^ubhø)�”}”(hhh]”hý)�”}”(hŒ"Isochronous channel to transmit to”h]”hŒ"Isochronous channel to transmit to”…”�”}”(hjq^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jm^h´Mahjn^ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjR^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jm^h´MahjÝ]ubhâ)�”}”(hŒ``sy`` Synchronization code ”h]”(hè)�”}”(hŒ``sy``”h]”j…)�”}”(hj‘^h]”hŒsy”…”�”}”(hj“^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mbhj‹^ubhø)�”}”(hhh]”hý)�”}”(hŒSynchronization code”h]”hŒSynchronization code”…”�”}”(hjª^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¦^h´Mbhj§^ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj‹^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¦^h´MbhjÝ]ubhâ)�”}”(hŒ;``closure`` Passed back to userspace in the response event ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjÊ^h]”hŒclosure”…”�”}”(hjÌ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÈ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MchjÄ^ubhø)�”}”(hhh]”hý)�”}”(hŒ.Passed back to userspace in the response event”h]”hŒ.Passed back to userspace in the response event”…”�”}”(hjã^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jß^h´Mchjà^ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÄ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jß^h´MchjÝ]ubhâ)�”}”(hŒ&``data`` Userspace pointer to payload ”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj_h]”hŒdata”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mdhjý^ubhø)�”}”(hhh]”hý)�”}”(hŒUserspace pointer to payload”h]”hŒUserspace pointer to payload”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j_h´Mdhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjý^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j_h´MdhjÝ]ubhâ)�”}”(hŒ8``generation`` The bus generation where packet is valid ”h]”(hè)�”}”(hŒ``generation``”h]”j…)�”}”(hj<_h]”hŒ generation”…”�”}”(hj>_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj:_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mehj6_ubhø)�”}”(hhh]”hý)�”}”(hŒ(The bus generation where packet is valid”h]”hŒ(The bus generation where packet is valid”…”�”}”(hjU_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jQ_h´MehjR_ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj6_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jQ_h´MehjÝ]ubhâ)�”}”(hŒ``speed`` Speed to transmit at”h]”(hè)�”}”(hŒ ``speed``”h]”j…)�”}”(hju_h]”hŒspeed”…”�”}”(hjw_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjs_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mehjo_ubhø)�”}”(hhh]”hý)�”}”(hŒSpeed to transmit at”h]”hŒSpeed to transmit at”…”�”}”(hjŽ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mfhj‹_ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjo_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jŠ_h´MehjÝ]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj•]ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj¸_h]”hŒ Description”…”�”}”(hjº_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj¶_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mihjhh²hubhý)�”}”(hX0The ``FW_CDEV_IOC_SEND_STREAM_PACKET`` ioctl sends an asynchronous stream packet to every device which is listening to the specified channel. The kernel writes either :c:type:`fw_cdev_event_response` event or :c:type:`fw_cdev_event_response2` event which indicates success or failure of the transmission.”h]”(hŒThe ”…”�”}”(hjÎ_h²hh³Nh´Nubj…)�”}”(hŒ"``FW_CDEV_IOC_SEND_STREAM_PACKET``”h]”hŒFW_CDEV_IOC_SEND_STREAM_PACKET”…”�”}”(hjÖ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÎ_ubhŒ� ioctl sends an asynchronous stream packet to every device which is listening to the specified channel. The kernel writes either ”…”�”}”(hjÎ_h²hh³Nh´Nubh)�”}”(hŒ :c:type:`fw_cdev_event_response`”h]”j…)�”}”(hjê_h]”hŒfw_cdev_event_response”…”�”}”(hjì_h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hjè_ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_response”uh1hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MfhjÎ_ubhŒ event or ”…”�”}”(hjÎ_h²hh³Nh´Nubh)�”}”(hŒ!:c:type:`fw_cdev_event_response2`”h]”j…)�”}”(hj`h]”hŒfw_cdev_event_response2”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”(jaj"Œc-type”eh"]”h$]”h&]”uh1j„hj `ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jmŒ refdomain”j"Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jsjwj{Œfw_cdev_event_response2”uh1hh³j`h´MfhjÎ_ubhŒ> event which indicates success or failure of the transmission.”…”�”}”(hjÎ_h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j`h´Mfhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ"fw_cdev_send_phy_packet (C struct)”Œc.fw_cdev_send_phy_packet”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_send_phy_packet”h]”j«)�”}”(hŒstruct fw_cdev_send_phy_packet”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjN`h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjJ`h²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MmubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\`h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjJ`h²hh³j[`h´MmubjÔ)�”}”(hŒfw_cdev_send_phy_packet”h]”jÚ)�”}”(hjH`h]”hŒfw_cdev_send_phy_packet”…”�”}”(hjn`h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjj`ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjJ`h²hh³j[`h´Mmubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjF`h²hh³j[`h´Mmubah}”(h]”jA`ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j[`h´MmhjC`h²hubj)�”}”(hhh]”hý)�”}”(hŒsend a PHY packet”h]”hŒsend a PHY packet”…”�”}”(hj�`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mwhj�`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjC`h²hh³j[`h´Mmubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(j¨`j)j¨`j*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hX?**Definition**:: struct fw_cdev_send_phy_packet { __u64 closure; __u32 data[2]; __u32 generation; }; **Members** ``closure`` Passed back to userspace in the PHY-packet-sent event ``data`` First and second quadlet of the PHY packet ``generation`` The bus generation where packet is valid”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj´`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj°`ubhŒ:”…”�”}”(hj°`h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M{hj¬`ubjz)�”}”(hŒ_struct fw_cdev_send_phy_packet { __u64 closure; __u32 data[2]; __u32 generation; };”h]”hŒ_struct fw_cdev_send_phy_packet { __u64 closure; __u32 data[2]; __u32 generation; };”…”�”}”hjÍ`sbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M}hj¬`ubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hjÞ`h]”hŒMembers”…”�”}”(hjà`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÜ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mƒhj¬`ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒB``closure`` Passed back to userspace in the PHY-packet-sent event ”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hjý`h]”hŒclosure”…”�”}”(hjÿ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjû`ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Myhj÷`ubhø)�”}”(hhh]”hý)�”}”(hŒ5Passed back to userspace in the PHY-packet-sent event”h]”hŒ5Passed back to userspace in the PHY-packet-sent event”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jah´Myhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj÷`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jah´Myhjô`ubhâ)�”}”(hŒ4``data`` First and second quadlet of the PHY packet ”h]”(hè)�”}”(hŒ``data``”h]”j…)�”}”(hj6ah]”hŒdata”…”�”}”(hj8ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj4aubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mzhj0aubhø)�”}”(hhh]”hý)�”}”(hŒ*First and second quadlet of the PHY packet”h]”hŒ*First and second quadlet of the PHY packet”…”�”}”(hjOah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jKah´MzhjLaubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj0aubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jKah´Mzhjô`ubhâ)�”}”(hŒ7``generation`` The bus generation where packet is valid”h]”(hè)�”}”(hŒ``generation``”h]”j…)�”}”(hjoah]”hŒ generation”…”�”}”(hjqah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjmaubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mzhjiaubhø)�”}”(hhh]”hý)�”}”(hŒ(The bus generation where packet is valid”h]”hŒ(The bus generation where packet is valid”…”�”}”(hjˆah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M{hj…aubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjiaubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j„ah´Mzhjô`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj¬`ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj²ah]”hŒ Description”…”�”}”(hj´ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj°aubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M~hjhh²hubhý)�”}”(hŒçThe ``FW_CDEV_IOC_SEND_PHY_PACKET`` ioctl sends a PHY packet to all nodes on the same card as this device. After transmission, either ``FW_CDEV_EVENT_PHY_PACKET_SENT`` event or ``FW_CDEV_EVENT_PHY_PACKET_SENT`` event is generated.”h]”(hŒThe ”…”�”}”(hjÈah²hh³Nh´Nubj…)�”}”(hŒ``FW_CDEV_IOC_SEND_PHY_PACKET``”h]”hŒFW_CDEV_IOC_SEND_PHY_PACKET”…”�”}”(hjÐah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÈaubhŒd ioctl sends a PHY packet to all nodes on the same card as this device. After transmission, either ”…”�”}”(hjÈah²hh³Nh´Nubj…)�”}”(hŒ!``FW_CDEV_EVENT_PHY_PACKET_SENT``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT”…”�”}”(hjâah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÈaubhŒ event or ”…”�”}”(hjÈah²hh³Nh´Nubj…)�”}”(hŒ!``FW_CDEV_EVENT_PHY_PACKET_SENT``”h]”hŒFW_CDEV_EVENT_PHY_PACKET_SENT”…”�”}”(hjôah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÈaubhŒ event is generated.”…”�”}”(hjÈah²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M{hjhh²hubhý)�”}”(hŒºThe payload **data**\[\] shall be specified in host byte order. Usually, **data**\[1\] needs to be the bitwise inverse of **data**\[0\]. VersaPHY packets are an exception to this rule.”h]”(hŒ The payload ”…”�”}”(hj bh²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj bubhŒ6[] shall be specified in host byte order. Usually, ”…”�”}”(hj bh²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj'bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj bubhŒ)[1] needs to be the bitwise inverse of ”…”�”}”(hj bh²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hj9bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj bubhŒ7[0]. VersaPHY packets are an exception to this rule.”…”�”}”(hj bh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mhjhh²hubhý)�”}”(hŒIThe ioctl is only permitted on device files which represent a local node.”h]”hŒIThe ioctl is only permitted on device files which represent a local node.”…”�”}”(hjRbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´Mƒhjhh²hubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ&fw_cdev_receive_phy_packets (C struct)”Œc.fw_cdev_receive_phy_packets”hNt”auh1j�hjhh²hh³jžh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒfw_cdev_receive_phy_packets”h]”j«)�”}”(hŒ"struct fw_cdev_receive_phy_packets”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjzbh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjvbh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MˆubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆbh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjvbh²hh³j‡bh´MˆubjÔ)�”}”(hŒfw_cdev_receive_phy_packets”h]”jÚ)�”}”(hjtbh]”hŒfw_cdev_receive_phy_packets”…”�”}”(hjšbh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj–bubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjvbh²hh³j‡bh´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjrbh²hh³j‡bh´Mˆubah}”(h]”jmbah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j‡bh´Mˆhjobh²hubj)�”}”(hhh]”hý)�”}”(hŒstart reception of PHY packets”h]”hŒstart reception of PHY packets”…”�”}”(hj¼bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hj¹bh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjobh²hh³j‡bh´Mˆubeh}”(h]”h ]”(j"Œstruct”eh"]”h$]”h&]”j'j"j(jÔbj)jÔbj*‰j+‰j,‰uh1jŸh²hhjhh³jžh´Nubj.)�”}”(hŒœ**Definition**:: struct fw_cdev_receive_phy_packets { __u64 closure; }; **Members** ``closure`` Passed back to userspace in phy packet events”h]”(hý)�”}”(hŒ**Definition**::”h]”(j8)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjàbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÜbubhŒ:”…”�”}”(hjÜbh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M‘hjØbubjz)�”}”(hŒ:struct fw_cdev_receive_phy_packets { __u64 closure; };”h]”hŒ:struct fw_cdev_receive_phy_packets { __u64 closure; };”…”�”}”hjùbsbah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1jyh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M“hjØbubhý)�”}”(hŒ **Members**”h]”j8)�”}”(hj ch]”hŒMembers”…”�”}”(hj ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M—hjØbubhÝ)�”}”(hhh]”hâ)�”}”(hŒ9``closure`` Passed back to userspace in phy packet events”h]”(hè)�”}”(hŒ ``closure``”h]”j…)�”}”(hj)ch]”hŒclosure”…”�”}”(hj+ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj'cubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´MŽhj#cubhø)�”}”(hhh]”hý)�”}”(hŒ-Passed back to userspace in phy packet events”h]”hŒ-Passed back to userspace in phy packet events”…”�”}”(hjBch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hj?cubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj#cubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j>ch´MŽhj cubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjØbubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjhh²hh³jžh´Nubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjlch]”hŒ Description”…”�”}”(hjnch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjjcubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M’hjhh²hubhý)�”}”(hŒ¿This ioctl activates issuing of either ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED`` or ``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2`` due to incoming PHY packets from any node on the same bus as the device.”h]”(hŒ'This ioctl activates issuing of either ”…”�”}”(hj‚ch²hh³Nh´Nubj…)�”}”(hŒ%``FW_CDEV_EVENT_PHY_PACKET_RECEIVED``”h]”hŒ!FW_CDEV_EVENT_PHY_PACKET_RECEIVED”…”�”}”(hjŠch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj‚cubhŒ or ”…”�”}”(hj‚ch²hh³Nh´Nubj…)�”}”(hŒ&``FW_CDEV_EVENT_PHY_PACKET_RECEIVED2``”h]”hŒ"FW_CDEV_EVENT_PHY_PACKET_RECEIVED2”…”�”}”(hjœch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj‚cubhŒI due to incoming PHY packets from any node on the same bus as the device.”…”�”}”(hj‚ch²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M�hjhh²hubhý)�”}”(hŒIThe ioctl is only permitted on device files which represent a local node.”h]”hŒIThe ioctl is only permitted on device files which represent a local node.”…”�”}”(hjµch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:25: ./include/uapi/linux/firewire-cdev.h”h´M“hjhh²hubeh}”(h]”Œ$firewire-char-device-data-structures”ah ]”h"]”Œ$firewire char device data structures”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ,Firewire device probing and sysfs interfaces”h]”hŒ,Firewire device probing and sysfs interfaces”…”�”}”(hjÏch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÌch²hh³hÊh´Kubjz)�”}”(hXÀWhat: /sys/bus/firewire/devices/fw[0-9]+/ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 node device attributes. Read-only. Mutable during the node device's lifetime. See IEEE 1212 for semantic definitions. config_rom Contents of the Configuration ROM register. Binary attribute; an array of host-endian u32. guid The node's EUI-64 in the bus information block of Configuration ROM. Hexadecimal string representation of an u64. What: /sys/bus/firewire/devices/fw[0-9]+/units Date: June 2009 KernelVersion: 2.6.31 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 node device attribute. Read-only. Mutable during the node device's lifetime. See IEEE 1212 for semantic definitions. units Summary of all units present in an IEEE 1394 node. Contains space-separated tuples of specifier_id and version of each unit present in the node. Specifier_id and version are hexadecimal string representations of u24 of the respective unit directory entries. Specifier_id and version within each tuple are separated by a colon. Users: udev rules to set ownership and access permissions or ACLs of /dev/fw[0-9]+ character device files What: /sys/bus/firewire/devices/fw[0-9]+/is_local Date: July 2012 KernelVersion: 3.6 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 node device attribute. Read-only and immutable. Values: 1: The sysfs entry represents a local node (a controller card). 0: The sysfs entry represents a remote node. What: /sys/bus/firewire/devices/fw[0-9]+[.][0-9]+/ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 unit device attributes. Read-only. Immutable during the unit device's lifetime. See IEEE 1212 for semantic definitions. modalias Same as MODALIAS in the uevent at device creation. rom_index Offset of the unit directory within the parent device's (node device's) Configuration ROM, in quadlets. Decimal string representation. What: /sys/bus/firewire/devices/*/ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: Attributes common to IEEE 1394 node devices and unit devices. Read-only. Mutable during the node device's lifetime. Immutable during the unit device's lifetime. See IEEE 1212 for semantic definitions. These attributes are only created if the root directory of an IEEE 1394 node or the unit directory of an IEEE 1394 unit actually contains according entries. hardware_version Hexadecimal string representation of an u24. hardware_version_name Contents of a respective textual descriptor leaf. model Hexadecimal string representation of an u24. model_name Contents of a respective textual descriptor leaf. specifier_id Hexadecimal string representation of an u24. Mandatory in unit directories according to IEEE 1212. vendor Hexadecimal string representation of an u24. Mandatory in the root directory according to IEEE 1212. vendor_name Contents of a respective textual descriptor leaf. version Hexadecimal string representation of an u24. Mandatory in unit directories according to IEEE 1212. What: /sys/bus/firewire/drivers/sbp2/fw*/host*/target*/*:*:*:*/ieee1394_id formerly /sys/bus/ieee1394/drivers/sbp2/fw*/host*/target*/*:*:*:*/ieee1394_id Date: Feb 2004 KernelVersion: 2.6.4 Contact: linux1394-devel@lists.sourceforge.net Description: SCSI target port identifier and logical unit identifier of a logical unit of an SBP-2 target. The identifiers are specified in SAM-2...SAM-4 annex A. They are persistent and world-wide unique properties the SBP-2 attached target. Read-only attribute, immutable during the target's lifetime. Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: Colon-separated hexadecimal string representations of u64 EUI-64 : u24 directory_ID : u16 LUN without 0x prefixes, without whitespace. The former sbp2 driver (removed in 2.6.37 after being superseded by firewire-sbp2) used a somewhat shorter format which was not as close to SAM. Users: udev rules to create /dev/disk/by-id/ symlinks ”h]”hX5What: /sys/bus/firewire/devices/fw[0-9]+/ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 node device attributes. Read-only. Mutable during the node device's lifetime. See IEEE 1212 for semantic definitions. config_rom Contents of the Configuration ROM register. Binary attribute; an array of host-endian u32. guid The node's EUI-64 in the bus information block of Configuration ROM. Hexadecimal string representation of an u64. What: /sys/bus/firewire/devices/fw[0-9]+/units Date: June 2009 KernelVersion: 2.6.31 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 node device attribute. Read-only. Mutable during the node device's lifetime. See IEEE 1212 for semantic definitions. units Summary of all units present in an IEEE 1394 node. Contains space-separated tuples of specifier_id and version of each unit present in the node. Specifier_id and version are hexadecimal string representations of u24 of the respective unit directory entries. Specifier_id and version within each tuple are separated by a colon. Users: udev rules to set ownership and access permissions or ACLs of /dev/fw[0-9]+ character device files What: /sys/bus/firewire/devices/fw[0-9]+/is_local Date: July 2012 KernelVersion: 3.6 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 node device attribute. Read-only and immutable. Values: 1: The sysfs entry represents a local node (a controller card). 0: The sysfs entry represents a remote node. What: /sys/bus/firewire/devices/fw[0-9]+[.][0-9]+/ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: IEEE 1394 unit device attributes. Read-only. Immutable during the unit device's lifetime. See IEEE 1212 for semantic definitions. modalias Same as MODALIAS in the uevent at device creation. rom_index Offset of the unit directory within the parent device's (node device's) Configuration ROM, in quadlets. Decimal string representation. What: /sys/bus/firewire/devices/*/ Date: May 2007 KernelVersion: 2.6.22 Contact: linux1394-devel@lists.sourceforge.net Description: Attributes common to IEEE 1394 node devices and unit devices. Read-only. Mutable during the node device's lifetime. Immutable during the unit device's lifetime. See IEEE 1212 for semantic definitions. These attributes are only created if the root directory of an IEEE 1394 node or the unit directory of an IEEE 1394 unit actually contains according entries. hardware_version Hexadecimal string representation of an u24. hardware_version_name Contents of a respective textual descriptor leaf. model Hexadecimal string representation of an u24. model_name Contents of a respective textual descriptor leaf. specifier_id Hexadecimal string representation of an u24. Mandatory in unit directories according to IEEE 1212. vendor Hexadecimal string representation of an u24. Mandatory in the root directory according to IEEE 1212. vendor_name Contents of a respective textual descriptor leaf. version Hexadecimal string representation of an u24. Mandatory in unit directories according to IEEE 1212. What: /sys/bus/firewire/drivers/sbp2/fw*/host*/target*/*:*:*:*/ieee1394_id formerly /sys/bus/ieee1394/drivers/sbp2/fw*/host*/target*/*:*:*:*/ieee1394_id Date: Feb 2004 KernelVersion: 2.6.4 Contact: linux1394-devel@lists.sourceforge.net Description: SCSI target port identifier and logical unit identifier of a logical unit of an SBP-2 target. The identifiers are specified in SAM-2...SAM-4 annex A. They are persistent and world-wide unique properties the SBP-2 attached target. Read-only attribute, immutable during the target's lifetime. Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: Colon-separated hexadecimal string representations of u64 EUI-64 : u24 directory_ID : u16 LUN without 0x prefixes, without whitespace. The former sbp2 driver (removed in 2.6.37 after being superseded by firewire-sbp2) used a somewhat shorter format which was not as close to SAM. Users: udev rules to create /dev/disk/by-id/ symlinks ”…”�”•}”hjÝcsbah}”(h]”h ]”h"]”h$]”h&]”Œsource”Œ+Documentation/ABI/stable/sysfs-bus-firewire”j‹jŒuh1jyh´KhjÌch²hh³hÊubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_csr_string (C function)”Œc.fw_csr_string”hNt”auh1j�hjÌch²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒIint fw_csr_string (const u32 *directory, int key, char *buf, size_t size)”h]”j«)�”}”(hŒHint fw_csr_string(const u32 *directory, int key, char *buf, size_t size)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jdhjdh²hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´KqubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjdh²hh³jdh´KqubjÔ)�”}”(hŒ fw_csr_string”h]”jÚ)�”}”(hŒ fw_csr_string”h]”hŒ fw_csr_string”…”�”}”(hj*dh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj&dubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjdh²hh³jdh´KqubhŒdesc_parameterlist”“”)�”}”(hŒ7(const u32 *directory, int key, char *buf, size_t size)”h]”(hŒdesc_parameter”“”)�”}”(hŒconst u32 *directory”h]”(j±)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjJdh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjFdubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXdh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjFdubh)�”}”(hhh]”jÚ)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjidh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjfdubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jkdŒmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jj,dsbŒc.fw_csr_string”†”asbuh1hhjFdubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰dh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjFdubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj™dh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j—dhjFdubjÚ)�”}”(hŒ directory”h]”hŒ directory”…”�”}”(hj¨dh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjFdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj@dubjEd)�”}”(hŒint key”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjÁdh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj½dubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏdh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj½dubjÚ)�”}”(hŒkey”h]”hŒkey”…”�”}”(hjÝdh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj½dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj@dubjEd)�”}”(hŒ char *buf”h]”(jd)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjödh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjòdubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjòdubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjòdubjÚ)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjòdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj@dubjEd)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”jÚ)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj;eh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj8eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j=eŒmodname”NŒ classname”Njsjv)�”}”jy]”j…dŒc.fw_csr_string”†”asbuh1hhj4eubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYeh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj4eubjÚ)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjgeh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj4eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj@dubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjdh²hh³jdh´Kqubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjþch²hh³jdh´Kqubah}”(h]”jùcah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jdh´Kqhjûch²hubj)�”}”(hhh]”hý)�”}”(hŒ)reads a string from the configuration ROM”h]”hŒ)reads a string from the configuration ROM”…”�”}”(hj‘eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´KqhjŽeh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjûch²hh³jdh´Kqubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j©ej)j©ej*‰j+‰j,‰uh1jŸh²hhjÌch³Nh´Nubj.)�”}”(hXþ**Parameters** ``const u32 *directory`` e.g. root directory or unit directory ``int key`` the key of the preceding directory entry ``char *buf`` where to put the string ``size_t size`` size of **buf**, in bytes **Description** The string is taken from a minimal ASCII text descriptor leaf just after the entry with the **key**. The string is zero-terminated. An overlong string is silently truncated such that it and the zero byte fit into **size**. Returns strlen(buf) or a negative error code.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj³eh]”hŒ Parameters”…”�”}”(hjµeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj±eubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kuhj­eubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ?``const u32 *directory`` e.g. root directory or unit directory ”h]”(hè)�”}”(hŒ``const u32 *directory``”h]”j…)�”}”(hjÒeh]”hŒconst u32 *directory”…”�”}”(hjÔeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÐeubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´KrhjÌeubhø)�”}”(hhh]”hý)�”}”(hŒ%e.g. root directory or unit directory”h]”hŒ%e.g. root directory or unit directory”…”�”}”(hjëeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jçeh´Krhjèeubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÌeubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jçeh´KrhjÉeubhâ)�”}”(hŒ5``int key`` the key of the preceding directory entry ”h]”(hè)�”}”(hŒ ``int key``”h]”j…)�”}”(hj fh]”hŒint key”…”�”}”(hj fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj fubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kshjfubhø)�”}”(hhh]”hý)�”}”(hŒ(the key of the preceding directory entry”h]”hŒ(the key of the preceding directory entry”…”�”}”(hj$fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j fh´Kshj!fubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j fh´KshjÉeubhâ)�”}”(hŒ&``char *buf`` where to put the string ”h]”(hè)�”}”(hŒ ``char *buf``”h]”j…)�”}”(hjDfh]”hŒ char *buf”…”�”}”(hjFfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjBfubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kthj>fubhø)�”}”(hhh]”hý)�”}”(hŒwhere to put the string”h]”hŒwhere to put the string”…”�”}”(hj]fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jYfh´KthjZfubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj>fubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jYfh´KthjÉeubhâ)�”}”(hŒ*``size_t size`` size of **buf**, in bytes ”h]”(hè)�”}”(hŒ``size_t size``”h]”j…)�”}”(hj}fh]”hŒ size_t size”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj{fubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kuhjwfubhø)�”}”(hhh]”hý)�”}”(hŒsize of **buf**, in bytes”h]”(hŒsize of ”…”�”}”(hj–fh²hh³Nh´Nubj8)�”}”(hŒ**buf**”h]”hŒbuf”…”�”}”(hjžfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj–fubhŒ , in bytes”…”�”}”(hj–fh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j’fh´Kuhj“fubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjwfubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j’fh´KuhjÉeubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj­eubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjÊfh]”hŒ Description”…”�”}”(hjÌfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÈfubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kwhj­eubhý)�”}”(hŒÞThe string is taken from a minimal ASCII text descriptor leaf just after the entry with the **key**. The string is zero-terminated. An overlong string is silently truncated such that it and the zero byte fit into **size**.”h]”(hŒ\The string is taken from a minimal ASCII text descriptor leaf just after the entry with the ”…”�”}”(hjàfh²hh³Nh´Nubj8)�”}”(hŒ**key**”h]”hŒkey”…”�”}”(hjèfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjàfubhŒr. The string is zero-terminated. An overlong string is silently truncated such that it and the zero byte fit into ”…”�”}”(hjàfh²hh³Nh´Nubj8)�”}”(hŒ**size**”h]”hŒsize”…”�”}”(hjúfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjàfubhŒ.”…”�”}”(hjàfh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kvhj­eubhý)�”}”(hŒ-Returns strlen(buf) or a negative error code.”h]”hŒ-Returns strlen(buf) or a negative error code.”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:34: ./drivers/firewire/core-device.c”h´Kzhj­eubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjÌch²hh³Nh´Nubeh}”(h]”Œ,firewire-device-probing-and-sysfs-interfaces”ah ]”h"]”Œ,firewire device probing and sysfs interfaces”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ$Firewire core transaction interfaces”h]”hŒ$Firewire core transaction interfaces”…”�”}”(hj4gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj1gh²hh³hÊh´K&ubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ__fw_send_request (C function)”Œc.__fw_send_request”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hX void __fw_send_request (struct fw_card *card, struct fw_transaction *t, int tcode, int destination_id, int generation, int speed, unsigned long long offset, void *payload, size_t length, union fw_transaction_callback callback, bool with_tstamp, void *callback_data)”h]”j«)�”}”(hXvoid __fw_send_request(struct fw_card *card, struct fw_transaction *t, int tcode, int destination_id, int generation, int speed, unsigned long long offset, void *payload, size_t length, union fw_transaction_callback callback, bool with_tstamp, void *callback_data)”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj[gh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjWgh²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MLubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjgh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjWgh²hh³jigh´MLubjÔ)�”}”(hŒ__fw_send_request”h]”jÚ)�”}”(hŒ__fw_send_request”h]”hŒ__fw_send_request”…”�”}”(hj|gh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjxgubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjWgh²hh³jigh´MLubj?d)�”}”(hŒò(struct fw_card *card, struct fw_transaction *t, int tcode, int destination_id, int generation, int speed, unsigned long long offset, void *payload, size_t length, union fw_transaction_callback callback, bool with_tstamp, void *callback_data)”h]”(jEd)�”}”(hŒstruct fw_card *card”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj˜gh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj”gubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥gh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj”gubh)�”}”(hhh]”jÚ)�”}”(hŒfw_card”h]”hŒfw_card”…”�”}”(hj¶gh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj³gubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j¸gŒmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jj~gsbŒc.__fw_send_request”†”asbuh1hhj”gubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖgh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj”gubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hjägh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj”gubjÚ)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjñgh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj”gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒstruct fw_transaction *t”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj hh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjhubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjhubh)�”}”(hhh]”jÚ)�”}”(hŒfw_transaction”h]”hŒfw_transaction”…”�”}”(hj(hh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj%hubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j*hŒmodname”NŒ classname”Njsjv)�”}”jy]”jÒgŒc.__fw_send_request”†”asbuh1hhjhubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFhh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjhubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hjThh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjhubjÚ)�”}”(hŒt”h]”hŒt”…”�”}”(hjahh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒ int tcode”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjzhh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjvhubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆhh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjvhubjÚ)�”}”(hŒtcode”h]”hŒtcode”…”�”}”(hj–hh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjvhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒint destination_id”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hj¯hh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj«hubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½hh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj«hubjÚ)�”}”(hŒdestination_id”h]”hŒdestination_id”…”�”}”(hjËhh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj«hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒint generation”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjähh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjàhubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòhh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjàhubjÚ)�”}”(hŒ generation”h]”hŒ generation”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjàhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒ int speed”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjiubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'ih²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjiubjÚ)�”}”(hŒspeed”h]”hŒspeed”…”�”}”(hj5ih²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒunsigned long long offset”h]”(jd)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjNih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjJiubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\ih²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjJiubjd)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjjih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjJiubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxih²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjJiubjd)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj†ih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjJiubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”ih²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjJiubjÚ)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj¢ih²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjJiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒ void *payload”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj»ih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj·iubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉih²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj·iubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj×ih²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj·iubjÚ)�”}”(hŒpayload”h]”hŒpayload”…”�”}”(hjäih²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj·iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jÚ)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjýiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jjŒmodname”NŒ classname”Njsjv)�”}”jy]”jÒgŒc.__fw_send_request”†”asbuh1hhjùiubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjùiubjÚ)�”}”(hŒlength”h]”hŒlength”…”�”}”(hj,jh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjùiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒ&union fw_transaction_callback callback”h]”(j±)�”}”(hjL-h]”hŒunion”…”�”}”(hjEjh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjAjubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRjh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjAjubh)�”}”(hhh]”jÚ)�”}”(hŒfw_transaction_callback”h]”hŒfw_transaction_callback”…”�”}”(hjcjh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj`jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jejŒmodname”NŒ classname”Njsjv)�”}”jy]”jÒgŒc.__fw_send_request”†”asbuh1hhjAjubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�jh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjAjubjÚ)�”}”(hŒcallback”h]”hŒcallback”…”�”}”(hj�jh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjAjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒbool with_tstamp”h]”(jd)�”}”(hŒbool”h]”hŒbool”…”�”}”(hj¨jh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj¤jubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶jh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj¤jubjÚ)�”}”(hŒ with_tstamp”h]”hŒ with_tstamp”…”�”}”(hjÄjh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¤jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubjEd)�”}”(hŒvoid *callback_data”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÝjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjÙjubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëjh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÙjubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hjùjh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjÙjubjÚ)�”}”(hŒ callback_data”h]”hŒ callback_data”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÙjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�gubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjWgh²hh³jigh´MLubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjSgh²hh³jigh´MLubah}”(h]”jNgah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jigh´MLhjPgh²hubj)�”}”(hhh]”hý)�”}”(hŒpsubmit a request packet for transmission to generate callback for response subaction with or without time stamp.”h]”hŒpsubmit a request packet for transmission to generate callback for response subaction with or without time stamp.”…”�”}”(hj0kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MLhj-kh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjPgh²hh³jigh´MLubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(jHkj)jHkj*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hX® **Parameters** ``struct fw_card *card`` interface to send the request at ``struct fw_transaction *t`` transaction instance to which the request belongs ``int tcode`` transaction code ``int destination_id`` destination node ID, consisting of bus_ID and phy_ID ``int generation`` bus generation in which request and response are valid ``int speed`` transmission speed ``unsigned long long offset`` 48bit wide offset into destination's address space ``void *payload`` data payload for the request subaction ``size_t length`` length of the payload, in bytes ``union fw_transaction_callback callback`` union of two functions whether to receive time stamp or not for response subaction. ``bool with_tstamp`` Whether to receive time stamp or not for response subaction. ``void *callback_data`` data to be passed to the transaction completion callback **Description** Submit a request packet into the asynchronous request transmission queue. Can be called from atomic context. If you prefer a blocking API, use fw_run_transaction() in a context that can sleep. In case of lock requests, specify one of the firewire-core specific ``TCODE_`` constants instead of ``TCODE_LOCK_REQUEST`` in **tcode**. Make sure that the value in **destination_id** is not older than the one in **generation**. Otherwise the request is in danger to be sent to a wrong node. In case of asynchronous stream packets i.e. ``TCODE_STREAM_DATA``, the caller needs to synthesize **destination_id** with fw_stream_packet_destination_id(). It will contain tag, channel, and sy data instead of a node ID then. The payload buffer at **data** is going to be DMA-mapped except in case of **length** <= 8 or of local (loopback) requests. Hence make sure that the buffer complies with the restrictions of the streaming DMA mapping API. **payload** must not be freed before the **callback** is called. In case of request types without payload, **data** is NULL and **length** is 0. After the transaction is completed successfully or unsuccessfully, the **callback** will be called. Among its parameters is the response code which is either one of the rcodes per IEEE 1394 or, in case of internal errors, the firewire-core specific ``RCODE_SEND_ERROR``. The other firewire-core specific rcodes (``RCODE_CANCELLED``, ``RCODE_BUSY``, ``RCODE_GENERATION``, ``RCODE_NO_ACK``) denote transaction timeout, busy responder, stale request generation, or missing ACK respectively. Note some timing corner cases: fw_send_request() may complete much earlier than when the request packet actually hits the wire. On the other hand, transaction completion and hence execution of **callback** may happen even before fw_send_request() returns.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hjRkh]”hŒ Parameters”…”�”}”(hjTkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjPkubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MPhjLkubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ:``struct fw_card *card`` interface to send the request at ”h]”(hè)�”}”(hŒ``struct fw_card *card``”h]”j…)�”}”(hjqkh]”hŒstruct fw_card *card”…”�”}”(hjskh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjokubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MNhjkkubhø)�”}”(hhh]”hý)�”}”(hŒ interface to send the request at”h]”hŒ interface to send the request at”…”�”}”(hjŠkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j†kh´MNhj‡kubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjkkubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j†kh´MNhjhkubhâ)�”}”(hŒO``struct fw_transaction *t`` transaction instance to which the request belongs ”h]”(hè)�”}”(hŒ``struct fw_transaction *t``”h]”j…)�”}”(hjªkh]”hŒstruct fw_transaction *t”…”�”}”(hj¬kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj¨kubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MOhj¤kubhø)�”}”(hhh]”hý)�”}”(hŒ1transaction instance to which the request belongs”h]”hŒ1transaction instance to which the request belongs”…”�”}”(hjÃkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¿kh´MOhjÀkubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¤kubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¿kh´MOhjhkubhâ)�”}”(hŒ``int tcode`` transaction code ”h]”(hè)�”}”(hŒ ``int tcode``”h]”j…)�”}”(hjãkh]”hŒ int tcode”…”�”}”(hjåkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjákubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MPhjÝkubhø)�”}”(hhh]”hý)�”}”(hŒtransaction code”h]”hŒtransaction code”…”�”}”(hjükh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jøkh´MPhjùkubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÝkubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jøkh´MPhjhkubhâ)�”}”(hŒL``int destination_id`` destination node ID, consisting of bus_ID and phy_ID ”h]”(hè)�”}”(hŒ``int destination_id``”h]”j…)�”}”(hjlh]”hŒint destination_id”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjlubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MQhjlubhø)�”}”(hhh]”hý)�”}”(hŒ4destination node ID, consisting of bus_ID and phy_ID”h]”hŒ4destination node ID, consisting of bus_ID and phy_ID”…”�”}”(hj5lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j1lh´MQhj2lubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j1lh´MQhjhkubhâ)�”}”(hŒJ``int generation`` bus generation in which request and response are valid ”h]”(hè)�”}”(hŒ``int generation``”h]”j…)�”}”(hjUlh]”hŒint generation”…”�”}”(hjWlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjSlubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MRhjOlubhø)�”}”(hhh]”hý)�”}”(hŒ6bus generation in which request and response are valid”h]”hŒ6bus generation in which request and response are valid”…”�”}”(hjnlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jjlh´MRhjklubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjOlubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jjlh´MRhjhkubhâ)�”}”(hŒ!``int speed`` transmission speed ”h]”(hè)�”}”(hŒ ``int speed``”h]”j…)�”}”(hjŽlh]”hŒ int speed”…”�”}”(hj�lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjŒlubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MShjˆlubhø)�”}”(hhh]”hý)�”}”(hŒtransmission speed”h]”hŒtransmission speed”…”�”}”(hj§lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j£lh´MShj¤lubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjˆlubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j£lh´MShjhkubhâ)�”}”(hŒQ``unsigned long long offset`` 48bit wide offset into destination's address space ”h]”(hè)�”}”(hŒ``unsigned long long offset``”h]”j…)�”}”(hjÇlh]”hŒunsigned long long offset”…”�”}”(hjÉlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÅlubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MThjÁlubhø)�”}”(hhh]”hý)�”}”(hŒ248bit wide offset into destination's address space”h]”hŒ448bit wide offset into destination’s address space”…”�”}”(hjàlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÜlh´MThjÝlubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÁlubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÜlh´MThjhkubhâ)�”}”(hŒ9``void *payload`` data payload for the request subaction ”h]”(hè)�”}”(hŒ``void *payload``”h]”j…)�”}”(hjmh]”hŒ void *payload”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjþlubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MUhjúlubhø)�”}”(hhh]”hý)�”}”(hŒ&data payload for the request subaction”h]”hŒ&data payload for the request subaction”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jmh´MUhjmubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjúlubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jmh´MUhjhkubhâ)�”}”(hŒ2``size_t length`` length of the payload, in bytes ”h]”(hè)�”}”(hŒ``size_t length``”h]”j…)�”}”(hj9mh]”hŒ size_t length”…”�”}”(hj;mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj7mubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MVhj3mubhø)�”}”(hhh]”hý)�”}”(hŒlength of the payload, in bytes”h]”hŒlength of the payload, in bytes”…”�”}”(hjRmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jNmh´MVhjOmubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj3mubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jNmh´MVhjhkubhâ)�”}”(hŒ``union fw_transaction_callback callback`` union of two functions whether to receive time stamp or not for response subaction. ”h]”(hè)�”}”(hŒ*``union fw_transaction_callback callback``”h]”j…)�”}”(hjrmh]”hŒ&union fw_transaction_callback callback”…”�”}”(hjtmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjpmubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MXhjlmubhø)�”}”(hhh]”hý)�”}”(hŒSunion of two functions whether to receive time stamp or not for response subaction.”h]”hŒSunion of two functions whether to receive time stamp or not for response subaction.”…”�”}”(hj‹mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MWhjˆmubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjlmubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j‡mh´MXhjhkubhâ)�”}”(hŒR``bool with_tstamp`` Whether to receive time stamp or not for response subaction. ”h]”(hè)�”}”(hŒ``bool with_tstamp``”h]”j…)�”}”(hj¬mh]”hŒbool with_tstamp”…”�”}”(hj®mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjªmubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MYhj¦mubhø)�”}”(hhh]”hý)�”}”(hŒdhj2ph²hh³jDph´MÑubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj.ph²hh³jDph´MÑubah}”(h]”j)pah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jDph´MÑhj+ph²hubj)�”}”(hhh]”hý)�”}”(hŒ5send request and sleep until transaction is completed”h]”hŒ5send request and sleep until transaction is completed”…”�”}”(hjÁrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÑhj¾rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj+ph²hh³jDph´MÑubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(jÙrj)jÙrj*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hX***Parameters** ``struct fw_card *card`` card interface for this request ``int tcode`` transaction code ``int destination_id`` destination node ID, consisting of bus_ID and phy_ID ``int generation`` bus generation in which request and response are valid ``int speed`` transmission speed ``unsigned long long offset`` 48bit wide offset into destination's address space ``void *payload`` data payload for the request subaction ``size_t length`` length of the payload, in bytes **Description** Returns the RCODE. See fw_send_request() for parameter documentation. Unlike fw_send_request(), **data** points to the payload of the request or/and to the payload of the response. DMA mapping restrictions apply to outbound request payloads of >= 8 bytes but not to inbound response payloads.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hjãrh]”hŒ Parameters”…”�”}”(hjårh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjárubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÕhjÝrubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ9``struct fw_card *card`` card interface for this request ”h]”(hè)�”}”(hŒ``struct fw_card *card``”h]”j…)�”}”(hjsh]”hŒstruct fw_card *card”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÒhjürubhø)�”}”(hhh]”hý)�”}”(hŒcard interface for this request”h]”hŒcard interface for this request”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jsh´MÒhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjürubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jsh´MÒhjùrubhâ)�”}”(hŒ``int tcode`` transaction code ”h]”(hè)�”}”(hŒ ``int tcode``”h]”j…)�”}”(hj;sh]”hŒ int tcode”…”�”}”(hj=sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj9subah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÓhj5subhø)�”}”(hhh]”hý)�”}”(hŒtransaction code”h]”hŒtransaction code”…”�”}”(hjTsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jPsh´MÓhjQsubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj5subeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jPsh´MÓhjùrubhâ)�”}”(hŒL``int destination_id`` destination node ID, consisting of bus_ID and phy_ID ”h]”(hè)�”}”(hŒ``int destination_id``”h]”j…)�”}”(hjtsh]”hŒint destination_id”…”�”}”(hjvsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjrsubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÔhjnsubhø)�”}”(hhh]”hý)�”}”(hŒ4destination node ID, consisting of bus_ID and phy_ID”h]”hŒ4destination node ID, consisting of bus_ID and phy_ID”…”�”}”(hj�sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j‰sh´MÔhjŠsubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjnsubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j‰sh´MÔhjùrubhâ)�”}”(hŒJ``int generation`` bus generation in which request and response are valid ”h]”(hè)�”}”(hŒ``int generation``”h]”j…)�”}”(hj­sh]”hŒint generation”…”�”}”(hj¯sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj«subah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÕhj§subhø)�”}”(hhh]”hý)�”}”(hŒ6bus generation in which request and response are valid”h]”hŒ6bus generation in which request and response are valid”…”�”}”(hjÆsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÂsh´MÕhjÃsubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj§subeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÂsh´MÕhjùrubhâ)�”}”(hŒ!``int speed`` transmission speed ”h]”(hè)�”}”(hŒ ``int speed``”h]”j…)�”}”(hjæsh]”hŒ int speed”…”�”}”(hjèsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjäsubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÖhjàsubhø)�”}”(hhh]”hý)�”}”(hŒtransmission speed”h]”hŒtransmission speed”…”�”}”(hjÿsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jûsh´MÖhjüsubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjàsubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jûsh´MÖhjùrubhâ)�”}”(hŒQ``unsigned long long offset`` 48bit wide offset into destination's address space ”h]”(hè)�”}”(hŒ``unsigned long long offset``”h]”j…)�”}”(hjth]”hŒunsigned long long offset”…”�”}”(hj!th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M×hjtubhø)�”}”(hhh]”hý)�”}”(hŒ248bit wide offset into destination's address space”h]”hŒ448bit wide offset into destination’s address space”…”�”}”(hj8th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j4th´M×hj5tubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j4th´M×hjùrubhâ)�”}”(hŒ9``void *payload`` data payload for the request subaction ”h]”(hè)�”}”(hŒ``void *payload``”h]”j…)�”}”(hjXth]”hŒ void *payload”…”�”}”(hjZth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjVtubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MØhjRtubhø)�”}”(hhh]”hý)�”}”(hŒ&data payload for the request subaction”h]”hŒ&data payload for the request subaction”…”�”}”(hjqth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jmth´MØhjntubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjRtubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jmth´MØhjùrubhâ)�”}”(hŒ2``size_t length`` length of the payload, in bytes ”h]”(hè)�”}”(hŒ``size_t length``”h]”j…)�”}”(hj‘th]”hŒ size_t length”…”�”}”(hj“th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj�tubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÙhj‹tubhø)�”}”(hhh]”hý)�”}”(hŒlength of the payload, in bytes”h]”hŒlength of the payload, in bytes”…”�”}”(hjªth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j¦th´MÙhj§tubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj‹tubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j¦th´MÙhjùrubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjÝrubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjÌth]”hŒ Description”…”�”}”(hjÎth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÊtubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÛhjÝrubhý)�”}”(hX&Returns the RCODE. See fw_send_request() for parameter documentation. Unlike fw_send_request(), **data** points to the payload of the request or/and to the payload of the response. DMA mapping restrictions apply to outbound request payloads of >= 8 bytes but not to inbound response payloads.”h]”(hŒaReturns the RCODE. See fw_send_request() for parameter documentation. Unlike fw_send_request(), ”…”�”}”(hjâth²hh³Nh´Nubj8)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hjêth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjâtubhŒ½ points to the payload of the request or/and to the payload of the response. DMA mapping restrictions apply to outbound request payloads of >= 8 bytes but not to inbound response payloads.”…”�”}”(hjâth²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÚhjÝrubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ(fw_core_add_address_handler (C function)”Œc.fw_core_add_address_handler”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒlint fw_core_add_address_handler (struct fw_address_handler *handler, const struct fw_address_region *region)”h]”j«)�”}”(hŒkint fw_core_add_address_handler(struct fw_address_handler *handler, const struct fw_address_region *region)”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hj#uh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjuh²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MvubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2uh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjuh²hh³j1uh´MvubjÔ)�”}”(hŒfw_core_add_address_handler”h]”jÚ)�”}”(hŒfw_core_add_address_handler”h]”hŒfw_core_add_address_handler”…”�”}”(hjDuh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj@uubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjuh²hh³j1uh´Mvubj?d)�”}”(hŒL(struct fw_address_handler *handler, const struct fw_address_region *region)”h]”(jEd)�”}”(hŒ"struct fw_address_handler *handler”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj`uh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj\uubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmuh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj\uubh)�”}”(hhh]”jÚ)�”}”(hŒfw_address_handler”h]”hŒfw_address_handler”…”�”}”(hj~uh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj{uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j€uŒmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jjFusbŒc.fw_core_add_address_handler”†”asbuh1hhj\uubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžuh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj\uubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj¬uh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj\uubjÚ)�”}”(hŒhandler”h]”hŒhandler”…”�”}”(hj¹uh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj\uubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhjXuubjEd)�”}”(hŒ&const struct fw_address_region *region”h]”(j±)�”}”(hjLdh]”hŒconst”…”�”}”(hjÒuh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÎuubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßuh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÎuubj±)�”}”(hj´h]”hŒstruct”…”�”}”(hjíuh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÎuubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúuh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÎuubh)�”}”(hhh]”jÚ)�”}”(hŒfw_address_region”h]”hŒfw_address_region”…”�”}”(hj vh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j vŒmodname”NŒ classname”Njsjv)�”}”jy]”jšuŒc.fw_core_add_address_handler”†”asbuh1hhjÎuubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)vh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÎuubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj7vh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjÎuubjÚ)�”}”(hŒregion”h]”hŒregion”…”�”}”(hjDvh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÎuubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhjXuubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjuh²hh³j1uh´Mvubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjuh²hh³j1uh´Mvubah}”(h]”juah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j1uh´Mvhjuh²hubj)�”}”(hhh]”hý)�”}”(hŒregister for incoming requests”h]”hŒregister for incoming requests”…”�”}”(hjnvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´Mvhjkvh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjuh²hh³j1uh´Mvubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j†vj)j†vj*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hX**Parameters** ``struct fw_address_handler *handler`` callback ``const struct fw_address_region *region`` region in the IEEE 1212 node space address range **Description** region->start, ->end, and handler->length have to be quadlet-aligned. When a request is received that falls within the specified address range, the specified callback is invoked. The parameters passed to the callback give the details of the particular request. The callback is invoked in the workqueue context in most cases. However, if the request is initiated by the local node, the callback is invoked in the initiator's context. To be called in process context. Return value: 0 on success, non-zero otherwise. The start offset of the handler's address region is determined by fw_core_add_address_handler() and is returned in handler->offset. Address allocations are exclusive, except for the FCP registers.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj�vh]”hŒ Parameters”…”�”}”(hj’vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjŽvubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MzhjŠvubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ0``struct fw_address_handler *handler`` callback ”h]”(hè)�”}”(hŒ&``struct fw_address_handler *handler``”h]”j…)�”}”(hj¯vh]”hŒ"struct fw_address_handler *handler”…”�”}”(hj±vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj­vubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´Mwhj©vubhø)�”}”(hhh]”hý)�”}”(hŒcallback”h]”hŒcallback”…”�”}”(hjÈvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jÄvh´MwhjÅvubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj©vubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jÄvh´Mwhj¦vubhâ)�”}”(hŒ\``const struct fw_address_region *region`` region in the IEEE 1212 node space address range ”h]”(hè)�”}”(hŒ*``const struct fw_address_region *region``”h]”j…)�”}”(hjèvh]”hŒ&const struct fw_address_region *region”…”�”}”(hjêvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjævubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´Mxhjâvubhø)�”}”(hhh]”hý)�”}”(hŒ0region in the IEEE 1212 node space address range”h]”hŒ0region in the IEEE 1212 node space address range”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jývh´Mxhjþvubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjâvubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jývh´Mxhj¦vubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjŠvubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj#wh]”hŒ Description”…”�”}”(hj%wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj!wubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MzhjŠvubhý)�”}”(hŒEregion->start, ->end, and handler->length have to be quadlet-aligned.”h]”hŒEregion->start, ->end, and handler->length have to be quadlet-aligned.”…”�”}”(hj9wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MyhjŠvubhý)�”}”(hXkWhen a request is received that falls within the specified address range, the specified callback is invoked. The parameters passed to the callback give the details of the particular request. The callback is invoked in the workqueue context in most cases. However, if the request is initiated by the local node, the callback is invoked in the initiator's context.”h]”hXmWhen a request is received that falls within the specified address range, the specified callback is invoked. The parameters passed to the callback give the details of the particular request. The callback is invoked in the workqueue context in most cases. However, if the request is initiated by the local node, the callback is invoked in the initiator’s context.”…”�”}”(hjHwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M{hjŠvubhý)�”}”(hŒQTo be called in process context. Return value: 0 on success, non-zero otherwise.”h]”hŒQTo be called in process context. Return value: 0 on success, non-zero otherwise.”…”�”}”(hjWwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M€hjŠvubhý)�”}”(hŒƒThe start offset of the handler's address region is determined by fw_core_add_address_handler() and is returned in handler->offset.”h]”hŒ…The start offset of the handler’s address region is determined by fw_core_add_address_handler() and is returned in handler->offset.”…”�”}”(hjfwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MƒhjŠvubhý)�”}”(hŒ@Address allocations are exclusive, except for the FCP registers.”h]”hŒ@Address allocations are exclusive, except for the FCP registers.”…”�”}”(hjuwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M†hjŠvubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ+fw_core_remove_address_handler (C function)”Œ c.fw_core_remove_address_handler”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒHvoid fw_core_remove_address_handler (struct fw_address_handler *handler)”h]”j«)�”}”(hŒGvoid fw_core_remove_address_handler(struct fw_address_handler *handler)”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¤wh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj wh²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M°ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³wh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj wh²hh³j²wh´M°ubjÔ)�”}”(hŒfw_core_remove_address_handler”h]”jÚ)�”}”(hŒfw_core_remove_address_handler”h]”hŒfw_core_remove_address_handler”…”�”}”(hjÅwh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÁwubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj wh²hh³j²wh´M°ubj?d)�”}”(hŒ$(struct fw_address_handler *handler)”h]”jEd)�”}”(hŒ"struct fw_address_handler *handler”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjáwh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÝwubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîwh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÝwubh)�”}”(hhh]”jÚ)�”}”(hŒfw_address_handler”h]”hŒfw_address_handler”…”�”}”(hjÿwh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjüwubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jxŒmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jjÇwsbŒ c.fw_core_remove_address_handler”†”asbuh1hhjÝwubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÝwubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj-xh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjÝwubjÚ)�”}”(hŒhandler”h]”hŒhandler”…”�”}”(hj:xh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÝwubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhjÙwubah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhj wh²hh³j²wh´M°ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjœw•öØh²hh³j²wh´M°ubah}”(h]”j—wah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j²wh´M°hj™wh²hubj)�”}”(hhh]”hý)�”}”(hŒunregister an address handler”h]”hŒunregister an address handler”…”�”}”(hjdxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M°hjaxh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj™wh²hh³j²wh´M°ubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j|xj)j|xj*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hŒë**Parameters** ``struct fw_address_handler *handler`` callback **Description** To be called in process context. When fw_core_remove_address_handler() returns, **handler->callback\(\)** is guaranteed to not run on any CPU anymore.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj†xh]”hŒ Parameters”…”�”}”(hjˆxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj„xubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M´hj€xubhÝ)�”}”(hhh]”hâ)�”}”(hŒ0``struct fw_address_handler *handler`` callback ”h]”(hè)�”}”(hŒ&``struct fw_address_handler *handler``”h]”j…)�”}”(hj¥xh]”hŒ"struct fw_address_handler *handler”…”�”}”(hj§xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj£xubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M±hjŸxubhø)�”}”(hhh]”hý)�”}”(hŒcallback”h]”hŒcallback”…”�”}”(hj¾xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jºxh´M±hj»xubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjŸxubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jºxh´M±hjœxubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj€xubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjàxh]”hŒ Description”…”�”}”(hjâxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÞxubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M³hj€xubhý)�”}”(hŒ To be called in process context.”h]”hŒ To be called in process context.”…”�”}”(hjöxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M²hj€xubhý)�”}”(hŒuWhen fw_core_remove_address_handler() returns, **handler->callback\(\)** is guaranteed to not run on any CPU anymore.”h]”(hŒ/When fw_core_remove_address_handler() returns, ”…”�”}”(hjyh²hh³Nh´Nubj8)�”}”(hŒ**handler->callback\(\)**”h]”hŒhandler->callback()”…”�”}”(hj yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjyubhŒ- is guaranteed to not run on any CPU anymore.”…”�”}”(hjyh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M´hj€xubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_send_response (C function)”Œc.fw_send_response”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒSvoid fw_send_response (struct fw_card *card, struct fw_request *request, int rcode)”h]”j«)�”}”(hŒRvoid fw_send_response(struct fw_card *card, struct fw_request *request, int rcode)”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjFyh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjByh²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M˜ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUyh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjByh²hh³jTyh´M˜ubjÔ)�”}”(hŒfw_send_response”h]”jÚ)�”}”(hŒfw_send_response”h]”hŒfw_send_response”…”�”}”(hjgyh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjcyubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjByh²hh³jTyh´M˜ubj?d)�”}”(hŒ=(struct fw_card *card, struct fw_request *request, int rcode)”h]”(jEd)�”}”(hŒstruct fw_card *card”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjƒyh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjyubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�yh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjyubh)�”}”(hhh]”jÚ)�”}”(hŒfw_card”h]”hŒfw_card”…”�”}”(hj¡yh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjžyubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j£yŒmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jjiysbŒc.fw_send_response”†”asbuh1hhjyubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁyh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjyubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hjÏyh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjyubjÚ)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjÜyh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjyubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj{yubjEd)�”}”(hŒstruct fw_request *request”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjõyh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjñyubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjñyubh)�”}”(hhh]”jÚ)�”}”(hŒ fw_request”h]”hŒ fw_request”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jzŒmodname”NŒ classname”Njsjv)�”}”jy]”j½yŒc.fw_send_response”†”asbuh1hhjñyubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1zh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjñyubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj?zh²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjñyubjÚ)�”}”(hŒrequest”h]”hŒrequest”…”�”}”(hjLzh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjñyubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj{yubjEd)�”}”(hŒ int rcode”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjezh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjazubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjszh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjazubjÚ)�”}”(hŒrcode”h]”hŒrcode”…”�”}”(hj�zh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjazubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj{yubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjByh²hh³jTyh´M˜ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj>yh²hh³jTyh´M˜ubah}”(h]”j9yah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jTyh´M˜hj;yh²hubj)�”}”(hhh]”j")�”}”(hhh]”j#")�”}”(hŒ2send response packet for asynchronous transaction.”h]”hý)�”}”(hj°zh]”hŒ2send response packet for asynchronous transaction.”…”�”}”(hj²zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M˜hj®zubah}”(h]”h ]”h"]”h$]”h&]”uh1j""hj«zh²hh³j¿zh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÓ"jÔ"uh1j"h³j¿zh´M˜hj¨zh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;yh²hh³jTyh´M˜ubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(jÕzj)jÕzj*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hX{**Parameters** ``struct fw_card *card`` interface to send the response at. ``struct fw_request *request`` firewire request data for the transaction. ``int rcode`` response code to send. **Description** Submit a response packet into the asynchronous response transmission queue. The **request** is going to be released when the transmission successfully finishes later.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hjßzh]”hŒ Parameters”…”�”}”(hjázh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÝzubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MœhjÙzubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ<``struct fw_card *card`` interface to send the response at. ”h]”(hè)�”}”(hŒ``struct fw_card *card``”h]”j…)�”}”(hjþzh]”hŒstruct fw_card *card”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjüzubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M™hjøzubhø)�”}”(hhh]”hý)�”}”(hŒ"interface to send the response at.”h]”hŒ"interface to send the response at.”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j{h´M™hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjøzubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j{h´M™hjõzubhâ)�”}”(hŒJ``struct fw_request *request`` firewire request data for the transaction. ”h]”(hè)�”}”(hŒ``struct fw_request *request``”h]”j…)�”}”(hj7{h]”hŒstruct fw_request *request”…”�”}”(hj9{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj5{ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´Mšhj1{ubhø)�”}”(hhh]”hý)�”}”(hŒ*firewire request data for the transaction.”h]”hŒ*firewire request data for the transaction.”…”�”}”(hjP{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jL{h´MšhjM{ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj1{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jL{h´Mšhjõzubhâ)�”}”(hŒ%``int rcode`` response code to send. ”h]”(hè)�”}”(hŒ ``int rcode``”h]”j…)�”}”(hjp{h]”hŒ int rcode”…”�”}”(hjr{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjn{ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M›hjj{ubhø)�”}”(hhh]”hý)�”}”(hŒresponse code to send.”h]”hŒresponse code to send.”…”�”}”(hj‰{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j…{h´M›hj†{ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j…{h´M›hjõzubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjÙzubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj«{h]”hŒ Description”…”�”}”(hj­{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj©{ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M�hjÙzubhý)�”}”(hŒ¦Submit a response packet into the asynchronous response transmission queue. The **request** is going to be released when the transmission successfully finishes later.”h]”(hŒPSubmit a response packet into the asynchronous response transmission queue. The ”…”�”}”(hjÁ{h²hh³Nh´Nubj8)�”}”(hŒ **request**”h]”hŒrequest”…”�”}”(hjÉ{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÁ{ubhŒK is going to be released when the transmission successfully finishes later.”…”�”}”(hjÁ{h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MœhjÙzubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ!fw_get_request_speed (C function)”Œc.fw_get_request_speed”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒ5int fw_get_request_speed (struct fw_request *request)”h]”j«)�”}”(hŒ4int fw_get_request_speed(struct fw_request *request)”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjþ{h²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÁubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjþ{h²hh³j|h´MÁubjÔ)�”}”(hŒfw_get_request_speed”h]”jÚ)�”}”(hŒfw_get_request_speed”h]”hŒfw_get_request_speed”…”�”}”(hj#|h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj|ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjþ{h²hh³j|h´MÁubj?d)�”}”(hŒ(struct fw_request *request)”h]”jEd)�”}”(hŒstruct fw_request *request”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj?|h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj;|ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL|h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj;|ubh)�”}”(hhh]”jÚ)�”}”(hŒ fw_request”h]”hŒ fw_request”…”�”}”(hj]|h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjZ|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j_|Œmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jj%|sbŒc.fw_get_request_speed”†”asbuh1hhj;|ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}|h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj;|ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj‹|h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj;|ubjÚ)�”}”(hŒrequest”h]”hŒrequest”…”�”}”(hj˜|h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj;|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj7|ubah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjþ{h²hh³j|h´MÁubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjú{h²hh³j|h´MÁubah}”(h]”jõ{ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j|h´MÁhj÷{h²hubj)�”}”(hhh]”hý)�”}”(hŒ3returns speed at which the **request** was received”h]”(hŒreturns speed at which the ”…”�”}”(hjÂ|h²hh³Nh´Nubj8)�”}”(hŒ **request**”h]”hŒrequest”…”�”}”(hjÊ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÂ|ubhŒ was received”…”�”}”(hjÂ|h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÁhj¿|h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷{h²hh³j|h´MÁubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(jì|j)jì|j*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hŒF**Parameters** ``struct fw_request *request`` firewire request data”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hjö|h]”hŒ Parameters”…”�”}”(hjø|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjô|ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÅhjð|ubhÝ)�”}”(hhh]”hâ)�”}”(hŒ4``struct fw_request *request`` firewire request data”h]”(hè)�”}”(hŒ``struct fw_request *request``”h]”j…)�”}”(hj}h]”hŒstruct fw_request *request”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÇhj}ubhø)�”}”(hhh]”hý)�”}”(hŒfirewire request data”h]”hŒfirewire request data”…”�”}”(hj.}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÂhj+}ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j*}h´MÇhj }ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjð|ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ%fw_request_get_timestamp (C function)”Œc.fw_request_get_timestamp”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒ?u32 fw_request_get_timestamp (const struct fw_request *request)”h]”j«)�”}”(hŒ>u32 fw_request_get_timestamp(const struct fw_request *request)”h]”(h)�”}”(hhh]”jÚ)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjr}h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjo}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jt}Œmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jŒfw_request_get_timestamp”sbŒc.fw_request_get_timestamp”†”asbuh1hhjk}h²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MËubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”}h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjk}h²hh³j“}h´MËubjÔ)�”}”(hŒfw_request_get_timestamp”h]”jÚ)�”}”(hj�}h]”hŒfw_request_get_timestamp”…”�”}”(hj¦}h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¢}ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjk}h²hh³j“}h´MËubj?d)�”}”(hŒ"(const struct fw_request *request)”h]”jEd)�”}”(hŒ const struct fw_request *request”h]”(j±)�”}”(hjLdh]”hŒconst”…”�”}”(hjÁ}h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj½}ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ}h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj½}ubj±)�”}”(hj´h]”hŒstruct”…”�”}”(hjÜ}h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj½}ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé}h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj½}ubh)�”}”(hhh]”jÚ)�”}”(hŒ fw_request”h]”hŒ fw_request”…”�”}”(hjú}h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj÷}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jü}Œmodname”NŒ classname”Njsjv)�”}”jy]”jŽ}Œc.fw_request_get_timestamp”†”asbuh1hhj½}ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj½}ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj&~h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj½}ubjÚ)�”}”(hŒrequest”h]”hŒrequest”…”�”}”(hj3~h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj½}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj¹}ubah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjk}h²hh³j“}h´MËubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjg}h²hh³j“}h´MËubah}”(h]”jb}ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j“}h´MËhjd}h²hubj)�”}”(hhh]”hý)�”}”(hŒGet timestamp of the request.”h]”hŒGet timestamp of the request.”…”�”}”(hj]~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MËhjZ~h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjd}h²hh³j“}h´MËubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(ju~j)ju~j*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hXt**Parameters** ``const struct fw_request *request`` The opaque pointer to request structure. **Description** Get timestamp when 1394 OHCI controller receives the asynchronous request subaction. The timestamp consists of the low order 3 bits of second field and the full 13 bits of count field of isochronous cycle time register. **Return** timestamp of the request.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj~h]”hŒ Parameters”…”�”}”(hj�~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj}~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÏhjy~ubhÝ)�”}”(hhh]”hâ)�”}”(hŒN``const struct fw_request *request`` The opaque pointer to request structure. ”h]”(hè)�”}”(hŒ$``const struct fw_request *request``”h]”j…)�”}”(hjž~h]”hŒ const struct fw_request *request”…”�”}”(hj ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjœ~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÌhj˜~ubhø)�”}”(hhh]”hý)�”}”(hŒ(The opaque pointer to request structure.”h]”hŒ(The opaque pointer to request structure.”…”�”}”(hj·~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j³~h´MÌhj´~ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj˜~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j³~h´MÌhj•~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhjy~ubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjÙ~h]”hŒ Description”…”�”}”(hjÛ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj×~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÎhjy~ubhý)�”}”(hŒÛGet timestamp when 1394 OHCI controller receives the asynchronous request subaction. The timestamp consists of the low order 3 bits of second field and the full 13 bits of count field of isochronous cycle time register.”h]”hŒÛGet timestamp when 1394 OHCI controller receives the asynchronous request subaction. The timestamp consists of the low order 3 bits of second field and the full 13 bits of count field of isochronous cycle time register.”…”�”}”(hjï~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÍhjy~ubhý)�”}”(hŒ **Return**”h]”j8)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjþ~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÑhjy~ubhý)�”}”(hŒtimestamp of the request.”h]”hŒtimestamp of the request.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÒhjy~ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒfw_rcode_string (C function)”Œc.fw_rcode_string”hNt”auh1j�hj1gh²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒ(const char * fw_rcode_string (int rcode)”h]”j«)�”}”(hŒ&const char *fw_rcode_string(int rcode)”h]”(j±)�”}”(hjLdh]”hŒconst”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjAh²hh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M»ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjAh²hh³jRh´M»ubjd)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjAh²hh³jRh´M»ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjAh²hh³jRh´M»ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjAh²hh³jRh´M»ubjÔ)�”}”(hŒfw_rcode_string”h]”jÚ)�”}”(hŒfw_rcode_string”h]”hŒfw_rcode_string”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjŠubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjAh²hh³jRh´M»ubj?d)�”}”(hŒ (int rcode)”h]”jEd)�”}”(hŒ int rcode”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj¦ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj¦ubjÚ)�”}”(hŒrcode”h]”hŒrcode”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj¢ubah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjAh²hh³jRh´M»ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhj=h²hh³jRh´M»ubah}”(h]”j8ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jRh´M»hj:h²hubj)�”}”(hhh]”hý)�”}”(hŒ6convert a firewire result code to an error description”h]”hŒ6convert a firewire result code to an error description”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M»hjíh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:h²hh³jRh´M»ubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j€j)j€j*‰j+‰j,‰uh1jŸh²hhj1gh³Nh´Nubj.)�”}”(hŒ/**Parameters** ``int rcode`` the result code”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj€h]”hŒ Parameters”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M¿hj €ubhÝ)�”}”(hhh]”hâ)�”}”(hŒ``int rcode`` the result code”h]”(hè)�”}”(hŒ ``int rcode``”h]”j…)�”}”(hj1€h]”hŒ int rcode”…”�”}”(hj3€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj/€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´MÁhj+€ubhø)�”}”(hhh]”hý)�”}”(hŒthe result code”h]”hŒthe result code”…”�”}”(hjJ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:40: ./drivers/firewire/core-transaction.c”h´M¼hjG€ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj+€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jF€h´MÁhj(€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj €ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hj1gh²hh³Nh´Nubeh}”(h]”Œ$firewire-core-transaction-interfaces”ah ]”h"]”Œ$firewire core transaction interfaces”ah$]”h&]”uh1hµhh·h²hh³hÊh´K&ubh¶)�”}”(hhh]”(h»)�”}”(hŒ#Firewire Isochronous I/O interfaces”h]”hŒ#Firewire Isochronous I/O interfaces”…”�”}”(hj}€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjz€h²hh³hÊh´K,ubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ6fw_iso_context_schedule_flush_completions (C function)”Œ+c.fw_iso_context_schedule_flush_completions”hNt”auh1j�hjz€h²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒKvoid fw_iso_context_schedule_flush_completions (struct fw_iso_context *ctx)”h]”j«)�”}”(hŒJvoid fw_iso_context_schedule_flush_completions(struct fw_iso_context *ctx)”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¤€h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj €h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´MUubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³€h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj €h²hh³j²€h´MUubjÔ)�”}”(hŒ)fw_iso_context_schedule_flush_completions”h]”jÚ)�”}”(hŒ)fw_iso_context_schedule_flush_completions”h]”hŒ)fw_iso_context_schedule_flush_completions”…”�”}”(hjÅ€h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÁ€ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhj €h²hh³j²€h´MUubj?d)�”}”(hŒ(struct fw_iso_context *ctx)”h]”jEd)�”}”(hŒstruct fw_iso_context *ctx”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hjá€h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÝ€ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî€h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÝ€ubh)�”}”(hhh]”jÚ)�”}”(hŒfw_iso_context”h]”hŒfw_iso_context”…”�”}”(hjÿ€h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjü€ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j�Œmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jjÇ€sbŒ+c.fw_iso_context_schedule_flush_completions”†”asbuh1hhjÝ€ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÝ€ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj-�h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhjÝ€ubjÚ)�”}”(hŒctx”h]”hŒctx”…”�”}”(hj:�h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÝ€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhjÙ€ubah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhj €h²hh³j²€h´MUubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjœ€h²hh³j²€h´MUubah}”(h]”j—€ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j²€h´MUhj™€h²hubj)�”}”(hhh]”hý)�”}”(hŒ2schedule work item to process isochronous context.”h]”hŒ2schedule work item to process isochronous context.”…”�”}”(hjd�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´MUhja�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj™€h²hh³j²€h´MUubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j|�j)j|�j*‰j+‰j,‰uh1jŸh²hhjz€h³Nh´Nubj.)�”}”(hX^**Parameters** ``struct fw_iso_context *ctx`` the isochronous context **Description** Schedule a work item on workqueue to process the isochronous context. The registered callback function is called by the worker when a queued packet buffer with the interrupt flag is completed, either after transmission in the IT context or after being filled in the IR context. The callback function is also called when the header buffer in the context becomes full, If it is required to process the context in the current context, fw_iso_context_flush_completions() is available instead. **Context** Any context.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj†�h]”hŒ Parameters”…”�”}”(hjˆ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj„�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´MYhj€�ubhÝ)�”}”(hhh]”hâ)�”}”(hŒ7``struct fw_iso_context *ctx`` the isochronous context ”h]”(hè)�”}”(hŒ``struct fw_iso_context *ctx``”h]”j…)�”}”(hj¥�h]”hŒstruct fw_iso_context *ctx”…”�”}”(hj§�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj£�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´MVhjŸ�ubhø)�”}”(hhh]”hý)�”}”(hŒthe isochronous context”h]”hŒthe isochronous context”…”�”}”(hj¾�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jº�h´MVhj»�ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjŸ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jº�h´MVhjœ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj€�ubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjà�h]”hŒ Description”…”�”}”(hjâ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hjÞ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´MXhj€�ubhý)�”}”(hXèSchedule a work item on workqueue to process the isochronous context. The registered callback function is called by the worker when a queued packet buffer with the interrupt flag is completed, either after transmission in the IT context or after being filled in the IR context. The callback function is also called when the header buffer in the context becomes full, If it is required to process the context in the current context, fw_iso_context_flush_completions() is available instead.”h]”hXèSchedule a work item on workqueue to process the isochronous context. The registered callback function is called by the worker when a queued packet buffer with the interrupt flag is completed, either after transmission in the IT context or after being filled in the IR context. The callback function is also called when the header buffer in the context becomes full, If it is required to process the context in the current context, fw_iso_context_flush_completions() is available instead.”…”�”}”(hjö�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´MWhj€�ubhý)�”}”(hŒ **Context**”h]”j8)�”}”(hj‚h]”hŒContext”…”�”}”(hj ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´M^hj€�ubhý)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:46: ./include/linux/firewire.h”h´M_hj€�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjz€h²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ-fw_iso_context_flush_completions (C function)”Œ"c.fw_iso_context_flush_completions”hNt”auh1j�hjz€h²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒAint fw_iso_context_flush_completions (struct fw_iso_context *ctx)”h]”j«)�”}”(hŒ@int fw_iso_context_flush_completions(struct fw_iso_context *ctx)”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjL‚h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjH‚h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´KÞubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[‚h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjH‚h²hh³jZ‚h´KÞubjÔ)�”}”(hŒ fw_iso_context_flush_completions”h]”jÚ)�”}”(hŒ fw_iso_context_flush_completions”h]”hŒ fw_iso_context_flush_completions”…”�”}”(hjm‚h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhji‚ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjH‚h²hh³jZ‚h´KÞubj?d)�”}”(hŒ(struct fw_iso_context *ctx)”h]”jEd)�”}”(hŒstruct fw_iso_context *ctx”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj‰‚h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj…‚ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–‚h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj…‚ubh)�”}”(hhh]”jÚ)�”}”(hŒfw_iso_context”h]”hŒfw_iso_context”…”�”}”(hj§‚h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj¤‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”j©‚Œmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jjo‚sbŒ"c.fw_iso_context_flush_completions”†”asbuh1hhj…‚ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ‚h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj…‚ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hjÕ‚h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj…‚ubjÚ)�”}”(hŒctx”h]”hŒctx”…”�”}”(hjâ‚h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj…‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj�‚ubah}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjH‚h²hh³jZ‚h´KÞubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjD‚h²hh³jZ‚h´KÞubah}”(h]”j?‚ah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³jZ‚h´KÞhjA‚h²hubj)�”}”(hhh]”hý)�”}”(hŒ7process isochronous context in current process context.”h]”hŒ7process isochronous context in current process context.”…”�”}”(hj ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´KÞhj ƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjA‚h²hh³jZ‚h´KÞubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j$ƒj)j$ƒj*‰j+‰j,‰uh1jŸh²hhjz€h³Nh´Nubj.)�”}”(hXá**Parameters** ``struct fw_iso_context *ctx`` the isochronous context **Description** Process the isochronous context in the current process context. The registered callback function is called when a queued packet buffer with the interrupt flag is completed, either after transmission in the IT context or after being filled in the IR context. Additionally, the callback function is also called for the packet buffer completed at last. Furthermore, the callback function is called as well when the header buffer in the context becomes full. If it is required to process the context asynchronously, fw_iso_context_schedule_flush_completions() is available instead. **Context** Process context. May sleep due to disable_work_sync().”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj.ƒh]”hŒ Parameters”…”�”}”(hj0ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj,ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Kâhj(ƒubhÝ)�”}”(hhh]”hâ)�”}”(hŒ7``struct fw_iso_context *ctx`` the isochronous context ”h]”(hè)�”}”(hŒ``struct fw_iso_context *ctx``”h]”j…)�”}”(hjMƒh]”hŒstruct fw_iso_context *ctx”…”�”}”(hjOƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjKƒubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´KßhjGƒubhø)�”}”(hhh]”hý)�”}”(hŒthe isochronous context”h]”hŒthe isochronous context”…”�”}”(hjfƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jbƒh´Kßhjcƒubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjGƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jbƒh´KßhjDƒubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj(ƒubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hjˆƒh]”hŒ Description”…”�”}”(hjŠƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj†ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Káhj(ƒubhý)�”}”(hXAProcess the isochronous context in the current process context. The registered callback function is called when a queued packet buffer with the interrupt flag is completed, either after transmission in the IT context or after being filled in the IR context. Additionally, the callback function is also called for the packet buffer completed at last. Furthermore, the callback function is called as well when the header buffer in the context becomes full. If it is required to process the context asynchronously, fw_iso_context_schedule_flush_completions() is available instead.”h]”hXAProcess the isochronous context in the current process context. The registered callback function is called when a queued packet buffer with the interrupt flag is completed, either after transmission in the IT context or after being filled in the IR context. Additionally, the callback function is also called for the packet buffer completed at last. Furthermore, the callback function is called as well when the header buffer in the context becomes full. If it is required to process the context asynchronously, fw_iso_context_schedule_flush_completions() is available instead.”…”�”}”(hjžƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Kàhj(ƒubhý)�”}”(hŒ **Context**”h]”j8)�”}”(hj¯ƒh]”hŒContext”…”�”}”(hj±ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj­ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Kèhj(ƒubhý)�”}”(hŒ6Process context. May sleep due to disable_work_sync().”h]”hŒ6Process context. May sleep due to disable_work_sync().”…”�”}”(hjŃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Kéhj(ƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjz€h²hh³Nh´NubjŽ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jšŒ#fw_iso_resource_manage (C function)”Œc.fw_iso_resource_manage”hNt”auh1j�hjz€h²hh³Nh´Nubj )�”}”(hhh]”(j¥)�”}”(hŒ‚void fw_iso_resource_manage (struct fw_card *card, int generation, u64 channels_mask, int *channel, int *bandwidth, bool allocate)”h]”j«)�”}”(hŒ�void fw_iso_resource_manage(struct fw_card *card, int generation, u64 channels_mask, int *channel, int *bandwidth, bool allocate)”h]”(jd)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjôƒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjðƒh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M…ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjðƒh²hh³j„h´M…ubjÔ)�”}”(hŒfw_iso_resource_manage”h]”jÚ)�”}”(hŒfw_iso_resource_manage”h]”hŒfw_iso_resource_manage”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj„ubah}”(h]”h ]”(jìjíeh"]”h$]”h&]”j‹jŒuh1jÓhjðƒh²hh³j„h´M…ubj?d)�”}”(hŒf(struct fw_card *card, int generation, u64 channels_mask, int *channel, int *bandwidth, bool allocate)”h]”(jEd)�”}”(hŒstruct fw_card *card”h]”(j±)�”}”(hj´h]”hŒstruct”…”�”}”(hj1„h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj-„ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>„h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj-„ubh)�”}”(hhh]”jÚ)�”}”(hŒfw_card”h]”hŒfw_card”…”�”}”(hjO„h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjL„ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jQ„Œmodname”NŒ classname”Njsjv)�”}”jy]”j )�”}”jj„sbŒc.fw_iso_resource_manage”†”asbuh1hhj-„ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo„h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj-„ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj}„h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj-„ubjÚ)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjŠ„h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj-„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj)„ubjEd)�”}”(hŒint generation”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hj£„h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhjŸ„ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±„h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjŸ„ubjÚ)�”}”(hŒ generation”h]”hŒ generation”…”�”}”(hj¿„h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjŸ„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj)„ubjEd)�”}”(hŒu64 channels_mask”h]”(h)�”}”(hhh]”jÚ)�”}”(hŒu64”h]”hŒu64”…”�”}”(hjÛ„h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjØ„ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j"Œreftype”jŒ reftarget”jÝ„Œmodname”NŒ classname”Njsjv)�”}”jy]”jk„Œc.fw_iso_resource_manage”†”asbuh1hhjÔ„ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù„h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÔ„ubjÚ)�”}”(hŒ channels_mask”h]”hŒ channels_mask”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhjÔ„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj)„ubjEd)�”}”(hŒ int *channel”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hj …h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj…ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.…h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj…ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj<…h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj…ubjÚ)�”}”(hŒchannel”h]”hŒchannel”…”�”}”(hjI…h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj)„ubjEd)�”}”(hŒint *bandwidth”h]”(jd)�”}”(hŒint”h]”hŒint”…”�”}”(hjb…h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj^…ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp…h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj^…ubj˜d)�”}”(hj›dh]”hŒ*”…”�”}”(hj~…h²hh³Nh´Nubah}”(h]”h ]”j¤dah"]”h$]”h&]”uh1j—dhj^…ubjÚ)�”}”(hŒ bandwidth”h]”hŒ bandwidth”…”�”}”(hj‹…h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj^…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj)„ubjEd)�”}”(hŒ bool allocate”h]”(jd)�”}”(hjªjh]”hŒbool”…”�”}”(hj¤…h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jdhj …ubjÃ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±…h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj …ubjÚ)�”}”(hŒallocate”h]”hŒallocate”…”�”}”(hj¿…h²hh³Nh´Nubah}”(h]”h ]”jåah"]”h$]”h&]”uh1jÙhj …ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj‹jŒuh1jDdhj)„ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒuh1j>dhjðƒh²hh³j„h´M…ubeh}”(h]”h ]”h"]”h$]”h&]”j‹jŒj÷ˆuh1jªjøjùhjìƒh²hh³j„h´M…ubah}”(h]”jçƒah ]”(jýjþeh"]”h$]”h&]”jˆj)jhuh1j¤h³j„h´M…hjéƒh²hubj)�”}”(hhh]”hý)�”}”(hŒ1Allocate or deallocate a channel and/or bandwidth”h]”hŒ1Allocate or deallocate a channel and/or bandwidth”…”�”}”(hjé…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M…hjæ…h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjéƒh²hh³j„h´M…ubeh}”(h]”h ]”(j"Œfunction”eh"]”h$]”h&]”j'j"j(j†j)j†j*‰j+‰j,‰uh1jŸh²hhjz€h³Nh´Nubj.)�”}”(hX?**Parameters** ``struct fw_card *card`` card interface for this action ``int generation`` bus generation ``u64 channels_mask`` bitmask for channel allocation ``int *channel`` pointer for returning channel allocation result ``int *bandwidth`` pointer for returning bandwidth allocation result ``bool allocate`` whether to allocate (true) or deallocate (false) **Description** In parameters: card, generation, channels_mask, bandwidth, allocate Out parameters: channel, bandwidth This function blocks (sleeps) during communication with the IRM. Allocates or deallocates at most one channel out of channels_mask. channels_mask is a bitfield with MSB for channel 63 and LSB for channel 0. (Note, the IRM's CHANNELS_AVAILABLE is a big-endian bitfield with MSB for channel 0 and LSB for channel 63.) Allocates or deallocates as many bandwidth allocation units as specified. Returns channel < 0 if no channel was allocated or deallocated. Returns bandwidth = 0 if no bandwidth was allocated or deallocated. If generation is stale, deallocations succeed but allocations fail with channel = -EAGAIN. If channel allocation fails, no bandwidth will be allocated either. If bandwidth allocation fails, no channel will be allocated either. But deallocations of channel and bandwidth are tried independently of each other's success.”h]”(hý)�”}”(hŒ**Parameters**”h]”j8)�”}”(hj †h]”hŒ Parameters”…”�”}”(hj †h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj †ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M‰hj†ubhÝ)�”}”(hhh]”(hâ)�”}”(hŒ8``struct fw_card *card`` card interface for this action ”h]”(hè)�”}”(hŒ``struct fw_card *card``”h]”j…)�”}”(hj*†h]”hŒstruct fw_card *card”…”�”}”(hj,†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj(†ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M†hj$†ubhø)�”}”(hhh]”hý)�”}”(hŒcard interface for this action”h]”hŒcard interface for this action”…”�”}”(hjC†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j?†h´M†hj@†ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj$†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j?†h´M†hj!†ubhâ)�”}”(hŒ"``int generation`` bus generation ”h]”(hè)�”}”(hŒ``int generation``”h]”j…)�”}”(hjc†h]”hŒint generation”…”�”}”(hje†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hja†ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M‡hj]†ubhø)�”}”(hhh]”hý)�”}”(hŒbus generation”h]”hŒbus generation”…”�”}”(hj|†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jx†h´M‡hjy†ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj]†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jx†h´M‡hj!†ubhâ)�”}”(hŒ5``u64 channels_mask`` bitmask for channel allocation ”h]”(hè)�”}”(hŒ``u64 channels_mask``”h]”j…)�”}”(hjœ†h]”hŒu64 channels_mask”…”�”}”(hjž†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjš†ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Mˆhj–†ubhø)�”}”(hhh]”hý)�”}”(hŒbitmask for channel allocation”h]”hŒbitmask for channel allocation”…”�”}”(hjµ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j±†h´Mˆhj²†ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj–†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j±†h´Mˆhj!†ubhâ)�”}”(hŒA``int *channel`` pointer for returning channel allocation result ”h]”(hè)�”}”(hŒ``int *channel``”h]”j…)�”}”(hjÕ†h]”hŒ int *channel”…”�”}”(hj׆h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjÓ†ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M‰hjφubhø)�”}”(hhh]”hý)�”}”(hŒ/pointer for returning channel allocation result”h]”hŒ/pointer for returning channel allocation result”…”�”}”(hjî†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³jê†h´M‰hjë†ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjφubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³jê†h´M‰hj!†ubhâ)�”}”(hŒE``int *bandwidth`` pointer for returning bandwidth allocation result ”h]”(hè)�”}”(hŒ``int *bandwidth``”h]”j…)�”}”(hj‡h]”hŒint *bandwidth”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hj ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´MŠhj‡ubhø)�”}”(hhh]”hý)�”}”(hŒ1pointer for returning bandwidth allocation result”h]”hŒ1pointer for returning bandwidth allocation result”…”�”}”(hj'‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j#‡h´MŠhj$‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j#‡h´MŠhj!†ubhâ)�”}”(hŒC``bool allocate`` whether to allocate (true) or deallocate (false) ”h]”(hè)�”}”(hŒ``bool allocate``”h]”j…)�”}”(hjG‡h]”hŒ bool allocate”…”�”}”(hjI‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j„hjE‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hçh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M‹hjA‡ubhø)�”}”(hhh]”hý)�”}”(hŒ0whether to allocate (true) or deallocate (false)”h]”hŒ0whether to allocate (true) or deallocate (false)”…”�”}”(hj`‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³j\‡h´M‹hj]‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjA‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1háh³j\‡h´M‹hj!†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj†ubhý)�”}”(hŒ**Description**”h]”j8)�”}”(hj‚‡h]”hŒ Description”…”�”}”(hj„‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj€‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M�hj†ubhý)�”}”(hŒfIn parameters: card, generation, channels_mask, bandwidth, allocate Out parameters: channel, bandwidth”h]”hŒfIn parameters: card, generation, channels_mask, bandwidth, allocate Out parameters: channel, bandwidth”…”�”}”(hj˜‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´MŒhj†ubhý)�”}”(hŒ@This function blocks (sleeps) during communication with the IRM.”h]”hŒ@This function blocks (sleeps) during communication with the IRM.”…”�”}”(hj§‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M�hj†ubhý)�”}”(hXDAllocates or deallocates at most one channel out of channels_mask. channels_mask is a bitfield with MSB for channel 63 and LSB for channel 0. (Note, the IRM's CHANNELS_AVAILABLE is a big-endian bitfield with MSB for channel 0 and LSB for channel 63.) Allocates or deallocates as many bandwidth allocation units as specified.”h]”hXFAllocates or deallocates at most one channel out of channels_mask. channels_mask is a bitfield with MSB for channel 63 and LSB for channel 0. (Note, the IRM’s CHANNELS_AVAILABLE is a big-endian bitfield with MSB for channel 0 and LSB for channel 63.) Allocates or deallocates as many bandwidth allocation units as specified.”…”�”}”(hj¶‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M‘hj†ubhý)�”}”(hŒƒReturns channel < 0 if no channel was allocated or deallocated. Returns bandwidth = 0 if no bandwidth was allocated or deallocated.”h]”hŒƒReturns channel < 0 if no channel was allocated or deallocated. Returns bandwidth = 0 if no bandwidth was allocated or deallocated.”…”�”}”(hjŇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M—hj†ubhý)�”}”(hŒZIf generation is stale, deallocations succeed but allocations fail with channel = -EAGAIN.”h]”hŒZIf generation is stale, deallocations succeed but allocations fail with channel = -EAGAIN.”…”�”}”(hjÔ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´Mšhj†ubhý)�”}”(hŒãIf channel allocation fails, no bandwidth will be allocated either. If bandwidth allocation fails, no channel will be allocated either. But deallocations of channel and bandwidth are tried independently of each other's success.”h]”hŒåIf channel allocation fails, no bandwidth will be allocated either. If bandwidth allocation fails, no channel will be allocated either. But deallocations of channel and bandwidth are tried independently of each other’s success.”…”�”}”(hjã‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/firewire:48: ./drivers/firewire/core-iso.c”h´M�hj†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j-hjz€h²hh³Nh´Nubeh}”(h]”Œ#firewire-isochronous-i-o-interfaces”ah ]”h"]”Œ#firewire isochronous i/o interfaces”ah$]”h&]”uh1hµhh·h²hh³hÊh´K,ubeh}”(h]”Œ)firewire-ieee-1394-driver-interface-guide”ah ]”h"]”Œ+firewire (ieee 1394) driver interface guide”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j,ˆŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jˆjˆjejbjÉcjÆcj.gj+gjw€jt€jþ‡jû‡uŒ nametypes”}”(jˆ‰je‰jÉc‰j.g‰jw€‰jþ‡‰uh}”(jˆh·jbhËjÆcjhjœj¦jvj{jëjðjÐ jÕ j“ j˜ jjj(j-jPjUjÖjÛj##j(#jþ%j&jß(jä(j=-jB-jy2j~2j‹5j�5jB8jG8j`:je:jý=j>j?j ?jƒ@jˆ@j€Cj…Cj¯Dj´Dj3Hj8HjïIjôIj|Nj�NjQjQjþRjSjTj Tj¯Uj´Uj]WjbWjÌYjÑYj*]j/]jA`jF`jmbjrbj+gjÌcjùcjþcjt€j1gjNgjSgj)pj.pjujuj—wjœwj9yj>yjõ{jú{jb}jg}j8j=jû‡jz€j—€jœ€j?‚jD‚jçƒjìƒuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.