A boxed object to express data of cycle time. A [struct@CycleTime] expresses the value of cycle time of 1394 OHCI as well as Linux system time referring to clock_id. Allocate and return an instance of [struct@CycleTime]. An instance of [struct@CycleTime]. Compute second count and cycle count from unsigned 16 bit integer value retrieved by Asynchronous Transmit (AT), Asynchronous Receive(AR), Isochronous Transmit (IT), and Isochronous Receive (IR) contexts of 1394 OHCI. The second count is completed with the internal value read from the CYCLE_TIME register. For the precise computation, the method should be called in the condition that the timing between receipt of time stamp and access to CYCLE_TIME register is within 8 seconds. A [struct@CycleTime]. The value of time stamp retrieved from each context of 1394 OHCI. The result to parse the time stamp. The first element is for 7 bits of second field in the format of IEEE 1394 CYCLE_TIME register, up to 127. The second element is for 13 bits of cycle field in the format, up to 7,999. Get the ID of clock for timestamp. A [struct@CycleTime]. The numeric ID of clock source for the reference timestamp. One of CLOCK_REALTIME(0), CLOCK_MONOTONIC(1), and CLOCK_MONOTONIC_RAW(4) is available UAPI of Linux kernel. Get the value of cycle time in 1394 OHCI hardware. The first element of array expresses the value of sec field, up to 127. The second element of array expresses the value of cycle field, up to 7999. The third element of array expresses the value of offset field, up to 3071. A [struct@CycleTime]. The value of cycle time register of 1394 OHCI hardware, including three elements; second, cycle, and offset in its order. Get the value of cycle time in 1394 OHCI hardware. A [struct@CycleTime]. The raw value for CYCLE_TIME register. Get system time with enough size of strorage. The timestamp refers to clock_id available by [method@CycleTime.get_clock_id]. A [struct@CycleTime]. The second part of timestamp. The nanosecond part of timestamp. Parse second count and cycle count from unsigned 16 bit integer value retrieved by Asynchronous Transmit (AT), Asynchronous Receive(AR), Isochronous Transmit (IT), and Isochronous Receive (IR) contexts of 1394 OHCI. The value of time stamp retrieved from each context of 1394 OHCI. The result to parse the time stamp. The first element is for three order bits of second field in the format of IEEE 1394 CYCLE_TIME register, up to 7. The second element is for 13 bits of cycle field in the format, up to 7,999. A FCP transaction executor to node in IEEE 1394 bus. [class@FwFcp] supports Function Control Protocol (FCP) in IEC 61883-1. FCP transaction consists of a pair of asynchronous transactions for command and response, while the protocol has no mechanism to match them. In AV/C Digital Interface Command Set General Specification Version 4.2 (Sep 1 2004, 1394TA), they are loosely matched by the content of their frames, and this class employs the way. Any of transaction frames should be aligned to 8 bit (1 byte). This class is an application of [class@FwReq] / [class@FwResp]. Instantiate [class@FwFcp] object and return the instance. an instance of [class@FwFcp]. Class closure for the [signal@FwFcp::responded] signal. A [class@FwFcp]. The generation of bus topology. The time stamp at which the request subaction arrived for the response of FCP transaction. The array with elements for byte data in the response of Function Control Protocol. The number of elements of the array. Finish the pair of asynchronous transaction for AV/C command and response. The @timeout_ms parameter is used to wait for response transaction since the command transaction is initiated. The timeout is not expanded in the case that AV/C INTERIM status arrived, thus the caller should expand the timeout in advance for the case. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwFcp]. An array with elements for request byte data. The value of this argument should point to the array and immutable. The size of array for request in byte unit. An array with elements for response byte data. Callers should give it for buffer with enough space against the request since this library performs no reallocation. Due to the reason, the value of this argument should point to the pointer to the array and immutable. The content of array is mutable. The size of array for response in byte unit. The value of this argument should point to the numerical number and mutable. The timeout to wait for response transaction since command transactions finishes. Finish the pair of asynchronous transaction for AV/C command and response. The @timeout_ms parameter is used to wait for response transaction since the command transaction is initiated. The timeout is not expanded in the case that AV/C INTERIM status arrived, thus the caller should expand the timeout in advance for the case. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwFcp]. An array with elements for request byte data. The value of this argument should point to the array and immutable. The size of array for request in byte unit. An array with elements for response byte data. Callers should give it for buffer with enough space against the request since this library performs no reallocation. Due to the reason, the value of this argument should point to the pointer to the array and immutable. The content of array is mutable. The size of array for response in byte unit. The value of this argument should point to the numerical number and mutable. The array with three elements for time stamps. The first element is for the isochronous cycle at which the request was sent for the command of FCP transaction. The second element is for the isochronous cycle at which the response arrived for the command of FCP transaction. The third element is for the isochronous cycle at which the request was sent for the response of FCP transaction. The timeout to wait for response transaction since command transactions finishes. Start to listen to FCP responses. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwFcp]. A [class@FwNode]. Transfer command frame for FCP. When receiving response frame for FCP, [signal@FwFcp::responded] signal is emitted. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwFcp]. An array with elements for request byte data. The value of this argument should point to the array and immutable. The size of array for request in byte unit. The timeout to wait for response subaction of transaction for command frame. Transfer command frame for FCP. When receiving response frame for FCP, [signal@FwFcp::responded] signal is emitted. Each value of @tstamp is unsigned 16 bit integer including higher 3 bits for three low order bits of second field and the rest 13 bits for cycle field in the format of IEEE 1394 CYCLE_TIMER register. If the version of kernel ABI for Linux FireWire subsystem is less than 6, each element of @tstamp has invalid value (=G_MAXUINT16). TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwFcp]. An array with elements for request byte data. The value of this argument should point to the array and immutable. The size of array for request in byte unit. The array with two elements for time stamps. The first element is for the isochronous cycle at which the request arrived. The second element is for the isochronous cycle at which the response was sent. The timeout to wait for response subaction of transaction for command frame. Stop to listen to FCP responses. Any pending transactions are forced to be aborted. A [class@FwFcp]. Whether this protocol is bound to any instance of HinawaFwNode. Emitted when the node transfers asynchronous packet as response for FCP and the process successfully read the content of packet. The values of @tstamp is unsigned 16 bit integer including higher 3 bits for three low order bits of second field and the rest 13 bits for cycle field in the format of IEEE 1394 CYCLE_TIMER register. If the version of kernel ABI for Linux FireWire subsystem is less than 6, the value of @tstamp argument has invalid value (=G_MAXUINT). The generation of bus topology. The time stamp at which the request arrived for the response of FCP transaction. The array with elements for byte data of response for FCP. The number of elements of the array. A [class@FwFcp]. The generation of bus topology. The time stamp at which the request subaction arrived for the response of FCP transaction. The array with elements for byte data in the response of Function Control Protocol. The number of elements of the array. A set of error code for [struct@GLib.Error] for operations in [class@FwFcp]. The transaction is canceled due to response timeout. The size of response is larger than expected. The transaction is aborted due to bus reset. Return the [alias@GLib.Quark] for [struct@GLib.Error] which has code in [error@FwFcpError]. A [alias@GLib.Quark]. An event listener for node in IEEE 1394 bus. [class@FwNode] listens to any events for an associated node in IEEE 1394 bus. Additionally, it provides some methods to retrieve fundamental information about the bus. Instantiate [class@FwNode] object and return the instance. an instance of [class@FwNode]. Class closure for the [signal@FwNode::bus-update]. A [class@FwNode]. Class closure for the [signal@FwNode::disconnected]. A [class@FwNode] Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for the node on IEEE 1394 bus. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwNode]. A [struct@GLib.Source]. Get cached content of configuration ROM aligned to big-endian. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwNode] The content of configuration ROM. The number of bytes consists of the configuration ROM. Open Linux FireWire character device to operate node in IEEE 1394 bus. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwNode] A path to Linux FireWire character device The flag of `open(2)` system call. `O_RDONLY` is fulfilled internally. Read current value of CYCLE_TIME register in 1394 OHCI hardware dedicated to communicate with the associated node in IEEE 1394 bus. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwNode] The numeric ID of clock source for the reference timestamp. One of CLOCK_REALTIME(0), CLOCK_MONOTONIC(1), and CLOCK_MONOTONIC_RAW(4) is available in UAPI of Linux kernel. A [struct@CycleTime]. Node ID of node which plays role of bus manager at current generation of bus topology. The numeric index for 1394 OHCI hardware used for the communication with the node. The value is stable against bus generation. Current generation of bus topology. Node ID of node which plays role of isochronous resource manager at current generation of bus topology. Node ID of node which application uses to communicate to node associated to instance of object at current generation of bus topology. In general, it is for 1394 OHCI hardware. Node ID of node associated to instance of object at current generation of bus topology. This parameter is effective after the association. Node ID of root node in bus topology at current generation of bus topology. Emitted when IEEE 1394 bus is updated. Handlers can read current generation in the bus via [property@FwNode:generation] property. Emitted when the node is not available anymore in Linux system. It's preferable to call [method@GObject.Object.unref] immediately to release file descriptor. A [class@FwNode]. A [class@FwNode] A set of error code for [struct@GLib.Error] for operations in [class@FwNode]. The node associated to the instance is disconnected. The instance is already associated to node by opening firewire character device. The instance is not associated to node by opening firewire character device. The system call fails. Return the [alias@GLib.Quark] for [struct@GLib.Error] with [error@FwNodeError] domain. A [alias@GLib.Quark]. A representation for rcode of asynchronous transaction on IEEE 1394 bus. For completion. For error of conflicting. For error of data. For error of type. For error of address. For error of sending. For cancellation. For busyness. For generation. For no acknowledge. For rcode out of specification. A transaction executor to a node in IEEE 1394 bus. [class@FwReq] supports all types of transactions defiend in IEEE 1212. Instantiate [class@FwReq] object and return the instance. an instance of [class@FwReq]. Class closure for the [signal@FwReq::responded] signal. A [class@FwReq]. One of [enum@FwRcode]. The isochronous cycle at which the request subaction was sent for the transaction. The isochronous cycle at which the response subaction arrived for the transaction. The array with elements for byte data of the response subaction of transaction. The number of elements of the array. Execute request subaction of transaction to the given node according to given code. When the response subaction arrives and running event dispatcher reads the contents, [signal@FwReq::responded] signal handler is called. A [class@FwReq]. A [class@FwNode]. A transaction code of [enum@FwTcode]. A destination address of target device The range of address in byte unit. An array with elements for byte data. Callers should give it for buffer with enough space against the request since this library performs no reallocation. Due to the reason, the value of this argument should point to the pointer to the array and immutable. The content of array is mutable for read and lock transaction. The size of array in byte unit. The value of this argument should point to the numeric number and mutable for read and lock transaction. Execute request subaction of transaction to the given node according to given code, then wait for response subaction within the value of timeout argument. The function is a thin wrapper to [method@FwReq.transaction_with_tstamp]. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwReq]. A [class@FwNode]. A transaction code of [enum@FwTcode]. A destination address of target device The range of address in byte unit. An array with elements for byte data. Callers should give it for buffer with enough space against the request since this library performs no reallocation. Due to the reason, the value of this argument should point to the pointer to the array and immutable. The content of array is mutable for read and lock transaction. The size of array in byte unit. The value of this argument should point to the numerical number and mutable for read and lock transaction. The timeout to wait for response subaction of the transaction since request subaction is initiated, in milliseconds. Execute request subaction of transaction to the given node according to given code, then wait for response subaction within the given timeout. Each value of @tstamp is unsigned 16 bit integer including higher 3 bits for three low order bits of second field and the rest 13 bits for cycle field in the format of IEEE 1394 CYCLE_TIMER register. If the version of kernel ABI for Linux FireWire subsystem is less than 6, each element of @tstamp has invalid value (=G_MAXUINT). TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwReq]. A [class@FwNode]. A transaction code of [enum@FwTcode]. A destination address of target device The range of address in byte unit. An array with elements for byte data. Callers should give it for buffer with enough space against the request since this library performs no reallocation. Due to the reason, the value of this argument should point to the pointer to the array and immutable. The content of array is mutable for read and lock transaction. The size of array in byte unit. The value of this argument should point to the numeric number and mutable for read and lock transaction. The array with two elements for time stamps. The first element is for the isochronous cycle at which the request subaction was sent. The second element is for the isochronous cycle at which the response subaction arrived. The timeout to wait for the response subaction of transaction since the request subaction is initiated, in milliseconds. Emitted when the node transfers asynchronous packet as response subaction for the transaction and the process successfully reads the content of packet from Linux firewire subsystem. The values of @request_tstamp and @response_tstamp are unsigned 16 bit integer including higher 3 bits for three low order bits of second field and the rest 13 bits for cycle field in the format of IEEE 1394 CYCLE_TIMER register. If the version of kernel ABI for Linux FireWire subsystem is less than 6, the @request_tstamp and @response_tstamp argument has invalid value (=G_MAXUINT). One of [enum@FwRcode]. The isochronous cycle at which the request subaction was sent for the transaction. The isochronous cycle at which the response subaction arrived for the transaction. The array with elements for byte data of response subaction for the transaction. The number of elements of the array. A [class@FwReq]. One of [enum@FwRcode]. The isochronous cycle at which the request subaction was sent for the transaction. The isochronous cycle at which the response subaction arrived for the transaction. The array with elements for byte data of the response subaction of transaction. The number of elements of the array. A set of error code for [struct@GLib.Error] for operations in [class@FwReq]. The actual value is equivalent to [enum@FwRcode]. For error of conflicting. For error of data. For error of type. For error of address. For error of sending. For cancellation. For busyness. For generation. For no acknowledge. For rcode out of specification. Return the [alias@GLib.Quark] for [struct@GLib.Error] with code of [enum@FwRcode]. A [alias@GLib.Quark]. A transaction responder for request subaction initiated by node in IEEE 1394 bus. [class@FwResp] responds to request subaction initiated by node in IEEE 1394 bus. Instantiate [class@FwResp] object and return the instance. a new instance of [class@FwResp]. Class closure for the [signal@FwResp::requested] signal. One of [enum@FwRcode enumerations corresponding to rcodes defined in IEEE 1394 specification. A [class@FwResp] One of [enum@FwTcode] enumerations The address offset at which the transaction arrives. The node ID of source for the transaction. The node ID of destination for the transaction. The index of card specific to 1394 OHCI hardware at which the request subaction arrived. The generation of bus when the transaction is transferred. The time stamp at which the request arrived. The array with elements for byte data. The length of bytes for the frame. Stop listening to the address range in Linux system for local nodes. A [class@FwResp]. Allocate an address range within Linux system for local nodes, each of which expresses 1394 OHCI hardware. Once successful, [signal@FwResp::requested] signal will be emitted whenever any request subactions arrive at the 1394 OHCI hardware within the dedicated range. The range is precisely reserved at the address specified by @addr with the size indicated by @width. In essence, this function is a variant of [method@FwResp.reserve_within_region] in which the specified address range is reserved as provided. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwResp]. A [class@FwNode]. A start address to listen to in 1394 OHCI hardware. The byte width of address to listen to 1394 OHCI hardware. Allocate an address range within Linux system for local nodes, each of which expresses 1394 OHCI hardware. Once successful, [signal@FwResp::requested] signal will be emitted whenever any request subactions arrive at the 1394 OHCI hardware within the dedicated range. The range is reserved between the values specified by @region_start and @region_end with the size indicated by @width. The starting offset may vary every time. TRUE if the overall operation finishes successfully, otherwise FALSE. A [class@FwResp]. A [class@FwNode]. Start offset of address region in which range of address is looked up. End offset of address region in which range of address is looked up. The width for range of address to be looked up. Register byte frame for the response subaction of transaction. A [class@FwResp] a 8 bit array for response frame. The length of bytes for the frame. Whether a range of address is reserved or not. The start offset of reserved address range. The width of reserved address range. Emitted when any node transfers request subaction to local nodes within the address range reserved in Linux system. The handler is expected to call [method@FwResp.set_resp_frame] with frame and return [enum@FwRcode] for response subaction. The value of @tstamp is unsigned 16 bit integer including higher 3 bits for three low order bits of second field and the rest 13 bits for cycle field in the format of IEEE 1394 CYCLE_TIMER register. If the version of kernel ABI for Linux FireWire subsystem is less than 6, the value of tstamp argument has invalid value (=G_MAXUINT). Furthermore, if the version is less than 4, the src, dst, card, generation arguments have invalid value (=G_MAXUINT). One of [enum@FwRcode] enumerations corresponding to rcodes defined in IEEE 1394 specification. One of [enum@FwTcode] enumerations The address offset at which the transaction arrives. The node ID of source for the transaction. The node ID of destination for the transaction. The index of card specific to the 1394 OHCI hardware at which the request subaction arrived. The generation of bus when the transaction is transferred. The isochronous cycle at which the request arrived. The array with elements for byte data. The length of bytes for the frame. One of [enum@FwRcode enumerations corresponding to rcodes defined in IEEE 1394 specification. A [class@FwResp] One of [enum@FwTcode] enumerations The address offset at which the transaction arrives. The node ID of source for the transaction. The node ID of destination for the transaction. The index of card specific to 1394 OHCI hardware at which the request subaction arrived. The generation of bus when the transaction is transferred. The time stamp at which the request arrived. The array with elements for byte data. The length of bytes for the frame. A set of error code for [struct@GLib.Error] for operations in [class@FwResp]. The generic system call error. The instance is already associated to reserved address range. The address space is used exclusively. Return the [alias@GLib.Quark] for error domain of [struct@GLib.Error] which has code in [error@FwRespError]. A [alias@GLib.Quark]. A representation for tcode of asynchronous transaction on IEEE 1394 bus. For request to write quadlet. For request to write block. For response to write. For response to read quadlet. For request to read block. For response to quadlet read. For response to block read. For cycle start. For request to lock. For stream data. For response to lock. For lock request for mask-swap. For lock request for compare-swap. For lock request for fetch-add. For lock request for little-add. For lock request for bounded-add. For lock request for wrap-add. For lock request for vendor-dependent. Parse second count and cycle count from unsigned 16 bit integer value retrieved by Asynchronous Transmit (AT), Asynchronous Receive(AR), Isochronous Transmit (IT), and Isochronous Receive (IR) contexts of 1394 OHCI. The value of time stamp retrieved from each context of 1394 OHCI. The result to parse the time stamp. The first element is for three order bits of second field in the format of IEEE 1394 CYCLE_TIME register, up to 7. The second element is for 13 bits of cycle field in the format, up to 7,999. Return the [alias@GLib.Quark] for [struct@GLib.Error] which has code in [error@FwFcpError]. A [alias@GLib.Quark]. Return the [alias@GLib.Quark] for [struct@GLib.Error] with [error@FwNodeError] domain. A [alias@GLib.Quark]. Return the [alias@GLib.Quark] for [struct@GLib.Error] with code of [enum@FwRcode]. A [alias@GLib.Quark]. Return the [alias@GLib.Quark] for error domain of [struct@GLib.Error] which has code in [error@FwRespError]. A [alias@GLib.Quark].