A set of basic interfaces to operate isochronous context on 1394 OHCI hardware. [iface@FwIsoCtx] includes interfaces to operate 1394 OHCI hardware for isochronous communication by any kind of contexts. Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous context. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. A [struct@GLib.Source]. Flush isochronous context until recent isochronous cycle. The call of function forces the context to queue any type of interrupt event for the recent isochronous cycle. Application can process the content of isochronous packet without waiting for actual hardware interrupt. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. Retrieve the value of cycle time register. This method call is available once any isochronous context is created. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. The numeric ID of clock source for the reference timestamp. One CLOCK_REALTIME(0), CLOCK_MONOTONIC(1), and CLOCK_MONOTONIC_RAW(4) is available in UAPI of Linux kernel. A [struct@Hinawa.CycleTime] to store data of cycle time. Release the contest from 1394 OHCI hardware. A [iface@FwIsoCtx]. Stop isochronous context. A [iface@FwIsoCtx]. Closure for the [signal@FwIsoCtx::stopped] signal. A [iface@FwIsoCtx]. A [struct@GLib.Error]. Unmap intermediate buffer shared with 1394 OHCI hardware for the context. A [iface@FwIsoCtx]. Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous context. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. A [struct@GLib.Source]. Flush isochronous context until recent isochronous cycle. The call of function forces the context to queue any type of interrupt event for the recent isochronous cycle. Application can process the content of isochronous packet without waiting for actual hardware interrupt. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. Retrieve the value of cycle time register. This method call is available once any isochronous context is created. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. The numeric ID of clock source for the reference timestamp. One CLOCK_REALTIME(0), CLOCK_MONOTONIC(1), and CLOCK_MONOTONIC_RAW(4) is available in UAPI of Linux kernel. A [struct@Hinawa.CycleTime] to store data of cycle time. Release the contest from 1394 OHCI hardware. A [iface@FwIsoCtx]. Stop isochronous context. A [iface@FwIsoCtx]. Unmap intermediate buffer shared with 1394 OHCI hardware for the context. A [iface@FwIsoCtx]. The number of bytes per chunk in buffer. The number of chunks per buffer. Emitted when isochronous context is stopped. A [struct@GLib.Error]. A set of error code for operations in [iface@FwIsoCtx]. The system call fails. The instance is already associated to any firewire character device. The instance is not associated to any firewire character device. The intermediate buffer is already mapped to the process. The intermediate buffer is not mapped to the process. No chunk registered before starting. No isochronous channel is available. Return the [alias@GLib.Quark] for [struct@GLib.Error] which has code in [error@FwIsoCtxError]. A [alias@GLib.Quark]. A [iface@FwIsoCtx]. A [iface@FwIsoCtx]. A [iface@FwIsoCtx]. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. The numeric ID of clock source for the reference timestamp. One CLOCK_REALTIME(0), CLOCK_MONOTONIC(1), and CLOCK_MONOTONIC_RAW(4) is available in UAPI of Linux kernel. A [struct@Hinawa.CycleTime] to store data of cycle time. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoCtx]. A [struct@GLib.Source]. A [iface@FwIsoCtx]. A [struct@GLib.Error]. A set of tag field of isochronous packet on IEEE 1394 bus. The value of tag0 in 1394 OHCI. The value of tag1 in 1394 OHCI. The value of tag2 in 1394 OHCI. The value of tag3 in 1394 OHCI. A set of mode for isochronous context of Linux FireWire subsystem. The mode of IT context of 1394 OHCI. The mode of IR context of 1394 OHCI with packer-per-buffer protocol The mode of IR context of 1394 OHCI with buffer-fill protocol. An object to receive isochronous packet for several channels. [class@FwIsoIrMultiple] receives isochronous packets for several channels by buffer-fill mode of IR context in 1394 OHCI. Instantiate [class@FwIsoIrMultiple] object and return the instance. an instance of [class@FwIsoIrMultiple]. Class closure for the [signal@FwIsoIrMultiple::interrupted]. A [class@FwIsoIrMultiple]. The number of packets available in this interrupt. Allocate an IR context to 1394 OHCI hardware for buffer-fill mode. A local node of the node corresponding to the given path is used as the hardware, thus any path is accepted as long as process has enough permission for the path. A [class@FwIsoIrMultiple]. A path to any Linux FireWire character device. an array for channels to listen to. The value of each element should be up to 63. The length of channels. Retrieve data for packet indicated by the index parameter. The data has isochronous packet header in its first quadlet, timestamp in its last quadlet. The rest is data of isochronous packet. A [class@FwIsoIrMultiple]. the index of packet available in this interrupt. The array with data frame for payload of IR context. The number of bytes in the above @payload. Map an intermediate buffer to share payload of IR context with 1394 OHCI hardware. A [class@FwIsoIrMultiple]. The maximum number of bytes for payload of isochronous packet (not payload for isochronous context). The number of chunks in buffer. Start IR context. A [class@FwIsoIrMultiple]. The isochronous cycle to start packet processing. The first element should be the second part of isochronous cycle, up to 3. The second element should be the cycle part of isochronous cycle, up to 7999. The value of sy field in isochronous packet header for packet processing, up to 15. The value of tag field in isochronous header for packet processing. The number of chunks per interval of interrupt. When 0 is given, application should call [method@FwIsoCtx.flush_completions] voluntarily to generate [signal@FwIsoIrMultiple::interrupted] event. The array with elements to express isochronous channels to be listened to. Emitted when Linux FireWire subsystem generates interrupt event. There are two cases for Linux FireWire subsystem to generate the event: - When 1394 OHCI hardware generates hardware interrupt as a result to process the isochronous packet for the buffer chunk marked to generate hardware interrupt. - When application calls [method@FwIsoCtx.flush_completions] explicitly. The handler of signal can retrieve the content of packet by call of [method@FwIsoIrMultiple.get_payload]. The number of packets available in this interrupt. A [class@FwIsoIrMultiple]. The number of packets available in this interrupt. An object to receive isochronous packet for single channel. [class@FwIsoIrSingle] receives isochronous packets for single channel by packet-per-buffer mode of IR context in 1394 OHCI. The content of packet is split to two parts; context header and context payload in a manner of Linux FireWire subsystem. Instantiate [class@FwIsoIrSingle] object and return the instance. an instance of [class@FwIsoIrSingle]. Class closure for the [signal@FwIsoIrSingle::interrupted] signal. A [class@FwIsoIrSingle]. The sec part of isochronous cycle when interrupt occurs, up to 7. The cycle part of of isochronous cycle when interrupt occurs, up to 7999. The headers of IR context for packets handled in the event of interrupt. The content is different depending on header_size parameter of [method@FwIsoIrSingle.allocate]. the number of bytes for header. the number of packets to handle. Allocate an IR context to 1394 OHCI hardware for packet-per-buffer mode. A local node of the node corresponding to the given path is used as the hardware, thus any path is accepted as long as process has enough permission for the path. The header_size parameter has an effect for the content of header parameter in [signal@FwIsoIrSingle::interrupted]. When it's greater than 8, header includes the series of two quadlets for isochronous packet header and timestamp per isochronous packet. When it's greater than 12, header includes the part of isochronous packet data per packet. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwIsoIrSingle]. A path to any Linux FireWire character device. An isochronous channel to listen, up to 63. The number of bytes for header of IR context, greater than 4 at least to include isochronous packet header in header parameter of [signal@FwIsoIrSingle::interrupted]. Retrieve payload of IR context for a handled packet corresponding to index at the event of interrupt. A [class@FwIsoIrSingle]. the index inner available packets at the event of interrupt. The array with data frame for payload of IR context. The number of bytes in the above payload. Map intermediate buffer to share payload of IR context with 1394 OHCI hardware. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwIsoIrSingle]. The maximum number of bytes per payload of IR context. The number of payload in buffer. Register chunk of buffer to process packet for future isochronous cycle. The caller can schedule hardware interrupt to generate interrupt event. In detail, please refer to documentation about [signal@FwIsoIrSingle::interrupted] signal. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwIsoIrSingle]. Whether to schedule hardware interrupt at isochronous cycle for the packet. Start IR context. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwIsoIrSingle]. The isochronous cycle to start packet processing. The first element should be the second part of isochronous cycle, up to 3. The second element should be the cycle part of isochronous cycle, up to 7999. The value of sy field in isochronous packet header for packet processing, up to 15. The value of tag field in isochronous header for packet processing. Emitted when Linux FireWire subsystem generates interrupt event. There are three cases for Linux FireWire subsystem to generate the event: - When 1394 OHCI hardware generates hardware interrupt as a result to process the isochronous packet for the buffer chunk marked to generate hardware interrupt. - When the size of accumulated context header for packets since the last event reaches the size of memory page (usually 4,096 bytes). - When application calls [method@FwIsoCtx.flush_completions] explicitly. The handler of signal can retrieve context payload of received packet by call of [method@FwIsoIrSingle.get_payload]. sec part of isochronous cycle when interrupt occurs, up to 7. cycle part of of isochronous cycle when interrupt occurs, up to 7999. The headers of IR context for packets handled in the event of interrupt. The content is different depending on header_size parameter of [method@FwIsoIrSingle.allocate]. the number of bytes for @header. the number of packets to handle. A [class@FwIsoIrSingle]. The sec part of isochronous cycle when interrupt occurs, up to 7. The cycle part of of isochronous cycle when interrupt occurs, up to 7999. The headers of IR context for packets handled in the event of interrupt. The content is different depending on header_size parameter of [method@FwIsoIrSingle.allocate]. the number of bytes for header. the number of packets to handle. An object to transmit isochronous packet for single channel. [class@FwIsoIt] transmits isochronous packets for single channel by IT context in 1394 OHCI. The content of packet is split to two parts; context header and context payload in a manner of Linux FireWire subsystem. Instantiate [class@FwIsoIt] object and return the instance. an instance of [class@FwIsoIt]. Class closure for the [signal@FwIsoIt::interrupted] signal. A [class@FwIsoIt]. The sec part of isochronous cycle when interrupt occurs, up to 7. The cycle part of of isochronous cycle when interrupt occurs, up to 7999. A series of timestamps for packets already handled. the number of bytes for @tstamp. the number of handled packets. Allocate an IT context to 1394 OHCI hardware. A local node of the node corresponding to the given path is used as the hardware, thus any path is accepted as long as process has enough permission for the path. TRUE if the overall operation finishes successful, otherwise FALSE. A [class@FwIsoIt]. A path to any Linux FireWire character device. A [enum@FwScode] to indicate speed of isochronous communication. An isochronous channel to transfer, up to 63. The number of bytes for header of IT context. Map intermediate buffer to share payload of IT context with 1394 OHCI hardware. TRUE if the overall operation finishes successful, otherwise FALSE. A [class@FwIsoIt]. The number of bytes for payload of IT context. The number of payloads of IT context in buffer. Register packet data with header and payload for IT context. The content of given header and payload is appended into data field of isochronous packet to be sent. The caller can schedule hardware interrupt to generate interrupt event. In detail, please refer to documentation about [signal@FwIsoIt::interrupted]. TRUE if the overall operation finishes successful, otherwise FALSE. A [class@FwIsoIt]. The value of tag field for isochronous packet to register. The value of sync field in isochronous packet header for packet processing, up to 15. The header of IT context for isochronous packet. The length of header should be the same as the size of header indicated in allocation if it's not null. The number of bytes for the @header. The payload of IT context for isochronous packet. The number of bytes for the @payload. Whether to schedule hardware interrupt at isochronous cycle for the packet. Start IT context. TRUE if the overall operation finishes successful, otherwise FALSE. A [class@FwIsoIt]. The isochronous cycle to start packet processing. The first element should be the second part of isochronous cycle, up to 3. The second element should be the cycle part of isochronous cycle, up to 7999. Emitted when Linux FireWire subsystem generates interrupt event. There are three cases for Linux FireWire subsystem to generate the event: - When 1394 OHCI hardware generates hardware interrupt as a result of processing the isochronous packet for the buffer chunk marked to generate hardware interrupt. - When the number of isochronous packets sent since the last interrupt event reaches one quarter of memory page size (usually 4,096 / 4 = 1,024 packets). - When application calls [method@FwIsoCtx.flush_completions] explicitly. sec part of isochronous cycle when interrupt occurs, up to 7. cycle part of of isochronous cycle when interrupt occurs, up to 7999. A series of timestamps for packets already handled. the number of bytes for @tstamp. the number of handled packets. A [class@FwIsoIt]. The sec part of isochronous cycle when interrupt occurs, up to 7. The cycle part of of isochronous cycle when interrupt occurs, up to 7999. A series of timestamps for packets already handled. the number of bytes for @tstamp. the number of handled packets. A set of basic interfaces to listen to events about isochronous resource. [iface@FwIsoResource] includes interfaces to listen to events about allocation and deallocation of isochronous resource. Calculate the amount of bandwidth expected to be consumed in allocation unit by given parameters. The amount of bandwidth expected to be consumed. The number of bytes in payload of isochronous packet. The speed of transmission. Initiate allocation of isochronous resource without any wait. One of the candidates is actually allocated for channel. When the allocation finishes, [signal@FwIsoResource::allocated] signal is emitted to notify the result, channel, and bandwidth. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoResource]. The array with elements for numeric number of isochronous channel to be allocated. The number of channel candidates. The amount of bandwidth to be allocated. Closure for the [signal@FwIsoResource::allocated] signal. A [iface@FwIsoResource]. The deallocated channel number. The deallocated amount of bandwidth. A [struct@GLib.Error]. Error can be generated with domain of [error@FwIsoResourceError] and its EVENT code. Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous resource. TRUE if the overall operation finished successfully, otherwise FALSE. A [iface@FwIsoResource]. A [struct@GLib.Source] Closure for the [signal@FwIsoResource::deallocated] signal. A [iface@FwIsoResource]. The deallocated channel number. The deallocated amount of bandwidth. A [struct@GLib.Error]. Error can be generated with domain of [error@FwIsoResourceError] and its EVENT code. Open Linux FireWire character device to delegate any request for isochronous resource management to Linux FireWire subsystem. TRUE if the overall operation finished successfully, otherwise FALSE. A [iface@FwIsoResource]. A path of any Linux FireWire character device. The flag of open(2) system call. O_RDONLY is forced to fulfil internally. Initiate allocation of isochronous resource without any wait. One of the candidates is actually allocated for channel. When the allocation finishes, [signal@FwIsoResource::allocated] signal is emitted to notify the result, channel, and bandwidth. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoResource]. The array with elements for numeric number of isochronous channel to be allocated. The number of channel candidates. The amount of bandwidth to be allocated. Initiate allocation of isochronous resource and wait for [signal@FwIsoResource::allocated] signal. One of the candidates is actually allocated for channel. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoResource]. The array with elements for numeric number for isochronous channel to be allocated. The number of channel candidates. The amount of bandwidth to be allocated. The timeout to wait for allocated event. Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous resource. TRUE if the overall operation finished successfully, otherwise FALSE. A [iface@FwIsoResource]. A [struct@GLib.Source] Open Linux FireWire character device to delegate any request for isochronous resource management to Linux FireWire subsystem. TRUE if the overall operation finished successfully, otherwise FALSE. A [iface@FwIsoResource]. A path of any Linux FireWire character device. The flag of open(2) system call. O_RDONLY is forced to fulfil internally. Emitted when allocation of isochronous resource finishes. The deallocated channel number. The deallocated amount of bandwidth. A [struct@GLib.Error]. Error can be generated with domain of [error@FwIsoResourceError] and its EVENT code. Emitted when deallocation of isochronous resource finishes. The deallocated channel number. The deallocated amount of bandwidth. A [struct@GLib.Error]. Error can be generated with domain of [error@FwIsoResourceError] and its EVENT code. An object to maintain allocated isochronous resource. [class@FwIsoResourceAuto]is an object to maintain isochronous resource during the lifetime of the object. The allocated isochronous resource is kept even if the generation of the bus updates. The maintenance of allocated isochronous resource is done by Linux FireWire subsystem. Allocate and return an instance of [class@FwIsoResourceAuto]object. A [class@FwIsoResourceAuto] Initiate deallocation of isochronous resource. When the deallocation is done, [signal@FwIsoResource::deallocated] signal is emit to notify the result, channel, and bandwidth. TRUE if the overall operation finished successfully, otherwise FALSE. A [class@FwIsoResourceAuto] Initiate deallocation of isochronous resource. When the deallocation is done, [signal@FwIsoResource::deallocated] signal is emit to notify the result, channel, and bandwidth. TRUE if the overall operation finished successfully, otherwise FALSE. A [class@FwIsoResourceAuto] The timeout to wait for allocated event by milli second unit. The allocated amount of bandwidth. The allocated channel number. Whether to be allocate isochronous resource or not. A set of error code for operations in [class@FwIsoResourceAuto]. The system call fails. The instance is already associated to allocated isochronous resources. The instance is not associated to allocated isochronous resources. Return the [alias@GLib.Quark] for error domain of [struct@GLib.Error] which has code in [error@FwIsoResourceAutoError]. A [alias@GLib.Quark]. A set of error code for operations in [iface@FwIsoResource]. The system call fails. The instance is already associated to any firewire character device. The instance is not associated to any firewire character device. No event to the request arrives within timeout. Event for the request arrives but includes error code. Return the [alias@GLib.Quark] for [struct@GLib.Error] with which has code in [error@FwIsoResourceError]. A [alias@GLib.Quark]. TRUE if the overall operation finished successfully, otherwise FALSE. A [iface@FwIsoResource]. A path of any Linux FireWire character device. The flag of open(2) system call. O_RDONLY is forced to fulfil internally. TRUE if the overall operation finishes successfully, otherwise FALSE. A [iface@FwIsoResource]. The array with elements for numeric number of isochronous channel to be allocated. The number of channel candidates. The amount of bandwidth to be allocated. TRUE if the overall operation finished successfully, otherwise FALSE. A [iface@FwIsoResource]. A [struct@GLib.Source] A [iface@FwIsoResource]. The deallocated channel number. The deallocated amount of bandwidth. A [struct@GLib.Error]. Error can be generated with domain of [error@FwIsoResourceError] and its EVENT code. A [iface@FwIsoResource]. The deallocated channel number. The deallocated amount of bandwidth. A [struct@GLib.Error]. Error can be generated with domain of [error@FwIsoResourceError] and its EVENT code. An object to initiate requests and listen events of isochronous resource allocation/deallocation by one shot. The [class@FwIsoResourceOnce] is an object to initiate requests and listen events of isochronous resource allocation/deallocation by file descriptor owned internally. The allocated resource is left even if this object is destroyed, thus application is responsible for deallocation. Allocate and return an instance of [class@FwIsoResourceOnce]. A [class@FwIsoResourceOnce]. Initiate deallocation of isochronous resource without any wait. When the deallocation finishes, [signal@FwIsoResource::deallocated] signal is emit to notify the result, channel, and bandwidth. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwIsoResourceOnce]. The channel number to be deallocated. The amount of bandwidth to be deallocated. Initiate deallocation of isochronous resource and wait for [signal@FwIsoResource::deallocated] signal. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwIsoResourceOnce]. The channel number to be deallocated. The amount of bandwidth to be deallocated. The timeout to wait for deallocated event. A set of speed for isochronous context on IEEE 1394 bus. 100 Mbps. 200 Mbps. 400 Mbps. 800 Mbps. 1600 Mbps. 3200 Mbps. Return the [alias@GLib.Quark] for [struct@GLib.Error] which has code in [error@FwIsoCtxError]. A [alias@GLib.Quark]. Return the [alias@GLib.Quark] for error domain of [struct@GLib.Error] which has code in [error@FwIsoResourceAutoError]. A [alias@GLib.Quark]. Calculate the amount of bandwidth expected to be consumed in allocation unit by given parameters. The amount of bandwidth expected to be consumed. The number of bytes in payload of isochronous packet. The speed of transmission. Return the [alias@GLib.Quark] for [struct@GLib.Error] with which has code in [error@FwIsoResourceError]. A [alias@GLib.Quark].