blob: eebc7f65b18e55a8ae737aa80e20280abbd52ff3 [file]
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository version="1.2"
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Hinawa" version="4.0"/>
<package name="hinoko"/>
<c:include name="hinoko.h"/>
<namespace name="Hinoko"
version="1.0"
shared-library="libhinoko.so.1"
c:identifier-prefixes="Hinoko"
c:symbol-prefixes="hinoko_">
<interface name="FwIsoCtx"
c:symbol-prefix="fw_iso_ctx"
c:type="HinokoFwIsoCtx"
glib:type-name="HinokoFwIsoCtx"
glib:get-type="hinoko_fw_iso_ctx_get_type"
glib:type-struct="FwIsoCtxInterface">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="6">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.</doc>
<source-position filename="src/fw_iso_ctx.h" line="108"/>
<virtual-method name="create_source"
invoker="create_source"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="136">Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous
context.</doc>
<source-position filename="src/fw_iso_ctx.h" line="98"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="145">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="138">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
<parameter name="source"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="139">A [struct@GLib.Source].</doc>
<type name="GLib.Source" c:type="GSource**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="flush_completions"
invoker="flush_completions"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="205">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.</doc>
<source-position filename="src/fw_iso_ctx.h" line="83"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="214">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="207">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="read_cycle_time"
invoker="read_cycle_time"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="111">Retrieve the value of cycle time register. This method call is available once any isochronous
context is created.</doc>
<source-position filename="src/fw_iso_ctx.h" line="66"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="122">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="113">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
<parameter name="clock_id" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="114">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.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cycle_time"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="116">A [struct@Hinawa.CycleTime] to store data of cycle time.</doc>
<type name="Hinawa.CycleTime" c:type="HinawaCycleTime**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="release" invoker="release" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="189">Release the contest from 1394 OHCI hardware.</doc>
<source-position filename="src/fw_iso_ctx.h" line="49"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="191">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="stop" invoker="stop" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="158">Stop isochronous context.</doc>
<source-position filename="src/fw_iso_ctx.h" line="28"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="160">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="stopped">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.h"
line="100">Closure for the [signal@FwIsoCtx::stopped] signal.</doc>
<source-position filename="src/fw_iso_ctx.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.h"
line="102">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.h"
line="103">A [struct@GLib.Error].</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="unmap_buffer" invoker="unmap_buffer" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="173">Unmap intermediate buffer shared with 1394 OHCI hardware for the context.</doc>
<source-position filename="src/fw_iso_ctx.h" line="39"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="175">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</virtual-method>
<method name="create_source"
c:identifier="hinoko_fw_iso_ctx_create_source"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="136">Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous
context.</doc>
<source-position filename="src/fw_iso_ctx.h" line="119"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="145">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="138">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
<parameter name="source"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="139">A [struct@GLib.Source].</doc>
<type name="GLib.Source" c:type="GSource**"/>
</parameter>
</parameters>
</method>
<method name="flush_completions"
c:identifier="hinoko_fw_iso_ctx_flush_completions"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="205">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.</doc>
<source-position filename="src/fw_iso_ctx.h" line="121"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="214">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="207">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</method>
<method name="read_cycle_time"
c:identifier="hinoko_fw_iso_ctx_read_cycle_time"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="111">Retrieve the value of cycle time register. This method call is available once any isochronous
context is created.</doc>
<source-position filename="src/fw_iso_ctx.h" line="116"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="122">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="113">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
<parameter name="clock_id" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="114">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.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cycle_time"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="116">A [struct@Hinawa.CycleTime] to store data of cycle time.</doc>
<type name="Hinawa.CycleTime" c:type="HinawaCycleTime**"/>
</parameter>
</parameters>
</method>
<method name="release"
c:identifier="hinoko_fw_iso_ctx_release"
version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="189">Release the contest from 1394 OHCI hardware.</doc>
<source-position filename="src/fw_iso_ctx.h" line="114"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="191">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</method>
<method name="stop" c:identifier="hinoko_fw_iso_ctx_stop" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="158">Stop isochronous context.</doc>
<source-position filename="src/fw_iso_ctx.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="160">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</method>
<method name="unmap_buffer"
c:identifier="hinoko_fw_iso_ctx_unmap_buffer"
version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="173">Unmap intermediate buffer shared with 1394 OHCI hardware for the context.</doc>
<source-position filename="src/fw_iso_ctx.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="175">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</instance-parameter>
</parameters>
</method>
<property name="bytes-per-chunk"
version="0.7"
transfer-ownership="none"
default-value="0">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="67">The number of bytes per chunk in buffer.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="chunks-per-buffer"
version="0.7"
transfer-ownership="none"
default-value="0">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="80">The number of chunks per buffer.</doc>
<type name="guint" c:type="guint"/>
</property>
<glib:signal name="stopped" when="last" action="1" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="93">Emitted when isochronous context is stopped.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="96">A [struct@GLib.Error].</doc>
<type name="GLib.Error"/>
</parameter>
</parameters>
</glib:signal>
</interface>
<enumeration name="FwIsoCtxError"
glib:type-name="HinokoFwIsoCtxError"
glib:get-type="hinoko_fw_iso_ctx_error_get_type"
c:type="HinokoFwIsoCtxError"
glib:error-domain="hinoko-fw-iso-ctx-error-quark">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="96">A set of error code for operations in [iface@FwIsoCtx].</doc>
<member name="failed"
value="0"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_FAILED"
glib:nick="failed"
glib:name="HINOKO_FW_ISO_CTX_ERROR_FAILED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="98">The system call fails.</doc>
</member>
<member name="allocated"
value="1"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_ALLOCATED"
glib:nick="allocated"
glib:name="HINOKO_FW_ISO_CTX_ERROR_ALLOCATED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="99">The instance is already associated to any firewire
character device.</doc>
</member>
<member name="not_allocated"
value="2"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_NOT_ALLOCATED"
glib:nick="not-allocated"
glib:name="HINOKO_FW_ISO_CTX_ERROR_NOT_ALLOCATED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="101">The instance is not associated to any firewire
character device.</doc>
</member>
<member name="mapped"
value="3"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_MAPPED"
glib:nick="mapped"
glib:name="HINOKO_FW_ISO_CTX_ERROR_MAPPED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="103">The intermediate buffer is already mapped to the
process.</doc>
</member>
<member name="not_mapped"
value="4"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_NOT_MAPPED"
glib:nick="not-mapped"
glib:name="HINOKO_FW_ISO_CTX_ERROR_NOT_MAPPED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="105">The intermediate buffer is not mapped to the
process.</doc>
</member>
<member name="chunk_unregistered"
value="5"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_CHUNK_UNREGISTERED"
glib:nick="chunk-unregistered"
glib:name="HINOKO_FW_ISO_CTX_ERROR_CHUNK_UNREGISTERED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="107">No chunk registered before starting.</doc>
</member>
<member name="no_isoc_channel"
value="6"
c:identifier="HINOKO_FW_ISO_CTX_ERROR_NO_ISOC_CHANNEL"
glib:nick="no-isoc-channel"
glib:name="HINOKO_FW_ISO_CTX_ERROR_NO_ISOC_CHANNEL">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="108">No isochronous channel is available.</doc>
</member>
<function name="quark" c:identifier="hinoko_fw_iso_ctx_error_quark">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="16">Return the [alias@GLib.Quark] for [struct@GLib.Error] which has code in [error@FwIsoCtxError].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="21">A [alias@GLib.Quark].</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
</enumeration>
<record name="FwIsoCtxInterface"
c:type="HinokoFwIsoCtxInterface"
glib:is-gtype-struct-for="FwIsoCtx">
<source-position filename="src/fw_iso_ctx.h" line="108"/>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="stop">
<callback name="stop">
<source-position filename="src/fw_iso_ctx.h" line="28"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="160">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unmap_buffer">
<callback name="unmap_buffer">
<source-position filename="src/fw_iso_ctx.h" line="39"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="175">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="release">
<callback name="release">
<source-position filename="src/fw_iso_ctx.h" line="49"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="191">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="read_cycle_time">
<callback name="read_cycle_time" throws="1">
<source-position filename="src/fw_iso_ctx.h" line="66"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="122">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="113">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
<parameter name="clock_id" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="114">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.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="cycle_time"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="116">A [struct@Hinawa.CycleTime] to store data of cycle time.</doc>
<type name="Hinawa.CycleTime" c:type="HinawaCycleTime**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="flush_completions">
<callback name="flush_completions" throws="1">
<source-position filename="src/fw_iso_ctx.h" line="83"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="214">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="207">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_source">
<callback name="create_source" throws="1">
<source-position filename="src/fw_iso_ctx.h" line="98"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="145">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="138">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
<parameter name="source"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="139">A [struct@GLib.Source].</doc>
<type name="GLib.Source" c:type="GSource**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="stopped">
<callback name="stopped">
<source-position filename="src/fw_iso_ctx.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.h"
line="102">A [iface@FwIsoCtx].</doc>
<type name="FwIsoCtx" c:type="HinokoFwIsoCtx*"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.h"
line="103">A [struct@GLib.Error].</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<bitfield name="FwIsoCtxMatchFlag"
glib:type-name="HinokoFwIsoCtxMatchFlag"
glib:get-type="hinoko_fw_iso_ctx_match_flag_get_type"
c:type="HinokoFwIsoCtxMatchFlag">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="43">A set of tag field of isochronous packet on IEEE 1394 bus.</doc>
<member name="tag0"
value="1"
c:identifier="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG0"
glib:nick="tag0"
glib:name="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG0">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="45">The value of tag0 in 1394 OHCI.</doc>
</member>
<member name="tag1"
value="2"
c:identifier="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG1"
glib:nick="tag1"
glib:name="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG1">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="46">The value of tag1 in 1394 OHCI.</doc>
</member>
<member name="tag2"
value="4"
c:identifier="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG2"
glib:nick="tag2"
glib:name="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG2">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="47">The value of tag2 in 1394 OHCI.</doc>
</member>
<member name="tag3"
value="8"
c:identifier="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG3"
glib:nick="tag3"
glib:name="HINOKO_FW_ISO_CTX_MATCH_FLAG_TAG3">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="48">The value of tag3 in 1394 OHCI.</doc>
</member>
</bitfield>
<enumeration name="FwIsoCtxMode"
glib:type-name="HinokoFwIsoCtxMode"
glib:get-type="hinoko_fw_iso_ctx_mode_get_type"
c:type="HinokoFwIsoCtxMode">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="7">A set of mode for isochronous context of Linux FireWire subsystem.</doc>
<member name="it"
value="0"
c:identifier="HINOKO_FW_ISO_CTX_MODE_IT"
glib:nick="it"
glib:name="HINOKO_FW_ISO_CTX_MODE_IT">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="9">The mode of IT context of 1394 OHCI.</doc>
</member>
<member name="ir_single"
value="1"
c:identifier="HINOKO_FW_ISO_CTX_MODE_IR_SINGLE"
glib:nick="ir-single"
glib:name="HINOKO_FW_ISO_CTX_MODE_IR_SINGLE">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="10">The mode of IR context of 1394 OHCI with
packer-per-buffer protocol</doc>
</member>
<member name="ir_multiple"
value="2"
c:identifier="HINOKO_FW_ISO_CTX_MODE_IR_MULTIPLE"
glib:nick="ir-multiple"
glib:name="HINOKO_FW_ISO_CTX_MODE_IR_MULTIPLE">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="12">The mode of IR context of 1394 OHCI with
buffer-fill protocol.</doc>
</member>
</enumeration>
<class name="FwIsoIrMultiple"
c:symbol-prefix="fw_iso_ir_multiple"
c:type="HinokoFwIsoIrMultiple"
parent="GObject.Object"
glib:type-name="HinokoFwIsoIrMultiple"
glib:get-type="hinoko_fw_iso_ir_multiple_get_type"
glib:type-struct="FwIsoIrMultipleClass">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="4">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.</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="25"/>
<implements name="FwIsoCtx"/>
<constructor name="new" c:identifier="hinoko_fw_iso_ir_multiple_new">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="331">Instantiate [class@FwIsoIrMultiple] object and return the instance.</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="27"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="336">an instance of [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</return-value>
</constructor>
<virtual-method name="interrupted">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.h"
line="17">Class closure for the [signal@FwIsoIrMultiple::interrupted].</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="24"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.h"
line="19">A [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</instance-parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.h"
line="20">The number of packets available in this interrupt.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<method name="allocate"
c:identifier="hinoko_fw_iso_ir_multiple_allocate"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="343">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.</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="29"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="345">A [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</instance-parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="346">A path to any Linux FireWire character device.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter name="channels" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="347">an array for channels to listen
to. The value of each element should be up to 63.</doc>
<array length="2" zero-terminated="0" c:type="const guint8*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="channels_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="349">The length of channels.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_payload"
c:identifier="hinoko_fw_iso_ir_multiple_get_payload"
version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="489">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.</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="40"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="491">A [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="492">the index of packet available in this interrupt.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="payload"
direction="out"
caller-allocates="0"
transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="493">The array with data frame for payload of
IR context.</doc>
<array length="2" zero-terminated="0" c:type="const guint8**">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="length"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="495">The number of bytes in the above @payload.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="map_buffer"
c:identifier="hinoko_fw_iso_ir_multiple_map_buffer"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="402">Map an intermediate buffer to share payload of IR context with 1394 OHCI hardware.</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="33"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="404">A [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</instance-parameter>
<parameter name="bytes_per_chunk" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="405">The maximum number of bytes for payload of isochronous packet (not payload for
isochronous context).</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="chunks_per_buffer" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="407">The number of chunks in buffer.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="start"
c:identifier="hinoko_fw_iso_ir_multiple_start"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="440">Start IR context.</doc>
<source-position filename="src/fw_iso_ir_multiple.h" line="36"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="442">A [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</instance-parameter>
<parameter name="cycle_match"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="443">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.</doc>
<array zero-terminated="0" c:type="const guint16*" fixed-size="2">
<type name="guint16"/>
</array>
</parameter>
<parameter name="sync_code" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="447">The value of sy field in isochronous packet header for packet processing, up to 15.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="tags" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="448">The value of tag field in isochronous header for packet processing.</doc>
<type name="FwIsoCtxMatchFlag" c:type="HinokoFwIsoCtxMatchFlag"/>
</parameter>
<parameter name="chunks_per_irq" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="449">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.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<property name="channels" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="79">The array with elements to express isochronous channels to be listened to.</doc>
<array name="GLib.ByteArray">
<type name="guint8" c:type="guint8"/>
</array>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<glib:signal name="interrupted" when="last">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="91">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].</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.c"
line="94">The number of packets available in this interrupt.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="FwIsoIrMultipleClass"
c:type="HinokoFwIsoIrMultipleClass"
glib:is-gtype-struct-for="FwIsoIrMultiple">
<source-position filename="src/fw_iso_ir_multiple.h" line="25"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="interrupted">
<callback name="interrupted">
<source-position filename="src/fw_iso_ir_multiple.h" line="24"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.h"
line="19">A [class@FwIsoIrMultiple].</doc>
<type name="FwIsoIrMultiple" c:type="HinokoFwIsoIrMultiple*"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_multiple.h"
line="20">The number of packets available in this interrupt.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="FwIsoIrSingle"
c:symbol-prefix="fw_iso_ir_single"
c:type="HinokoFwIsoIrSingle"
parent="GObject.Object"
glib:type-name="HinokoFwIsoIrSingle"
glib:get-type="hinoko_fw_iso_ir_single_get_type"
glib:type-struct="FwIsoIrSingleClass">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="4">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.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="33"/>
<implements name="FwIsoCtx"/>
<constructor name="new" c:identifier="hinoko_fw_iso_ir_single_new">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="226">Instantiate [class@FwIsoIrSingle] object and return the instance.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="35"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="231">an instance of [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</return-value>
</constructor>
<virtual-method name="interrupted">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="17">Class closure for the [signal@FwIsoIrSingle::interrupted] signal.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="30"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="19">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</instance-parameter>
<parameter name="sec" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="20">The sec part of isochronous cycle when interrupt occurs, up to 7.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cycle" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="21">The cycle part of of isochronous cycle when interrupt occurs, up to 7999.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="22">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].</doc>
<array length="3" zero-terminated="0" c:type="const guint8*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="header_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="25">the number of bytes for header.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="26">the number of packets to handle.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<method name="allocate"
c:identifier="hinoko_fw_iso_ir_single_allocate"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="238">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.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="37"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="256">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="240">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</instance-parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="241">A path to any Linux FireWire character device.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="242">An isochronous channel to listen, up to 63.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="header_size" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="243">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].</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_payload"
c:identifier="hinoko_fw_iso_ir_single_get_payload"
version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="372">Retrieve payload of IR context for a handled packet corresponding to index at the event of
interrupt.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="51"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="374">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</instance-parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="375">the index inner available packets at the event of interrupt.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="payload"
direction="out"
caller-allocates="0"
transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="376">The array with data
frame for payload of IR context.</doc>
<array length="2" zero-terminated="0" c:type="const guint8**">
<type name="guint8"/>
</array>
</parameter>
<parameter name="length"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="378">The number of bytes in the above payload.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="map_buffer"
c:identifier="hinoko_fw_iso_ir_single_map_buffer"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="281">Map intermediate buffer to share payload of IR context with 1394 OHCI hardware.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="40"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="290">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="283">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</instance-parameter>
<parameter name="maximum_bytes_per_payload"
transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="284">The maximum number of bytes per payload of IR context.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="payloads_per_buffer" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="285">The number of payload in buffer.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="register_packet"
c:identifier="hinoko_fw_iso_ir_single_register_packet"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="309">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.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="44"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="319">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="311">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</instance-parameter>
<parameter name="schedule_interrupt" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="312">Whether to schedule hardware interrupt at isochronous cycle for the packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="start"
c:identifier="hinoko_fw_iso_ir_single_start"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="335">Start IR context.</doc>
<source-position filename="src/fw_iso_ir_single.h" line="47"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="348">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="337">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</instance-parameter>
<parameter name="cycle_match"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="338">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.</doc>
<array zero-terminated="0" c:type="const guint16*" fixed-size="2">
<type name="guint16"/>
</array>
</parameter>
<parameter name="sync_code" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="342">The value of sy field in isochronous packet header for packet processing, up to 15.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="tags" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="343">The value of tag field in isochronous header for packet processing.</doc>
<type name="FwIsoCtxMatchFlag" c:type="HinokoFwIsoCtxMatchFlag"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<glib:signal name="interrupted" when="last">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="58">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].</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sec" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="61">sec part of isochronous cycle when interrupt occurs, up to 7.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cycle" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="62">cycle part of of isochronous cycle when interrupt occurs, up to 7999.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="63">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].</doc>
<array length="3" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="header_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="66">the number of bytes for @header.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.c"
line="67">the number of packets to handle.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="FwIsoIrSingleClass"
c:type="HinokoFwIsoIrSingleClass"
glib:is-gtype-struct-for="FwIsoIrSingle">
<source-position filename="src/fw_iso_ir_single.h" line="33"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="interrupted">
<callback name="interrupted">
<source-position filename="src/fw_iso_ir_single.h" line="30"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="19">A [class@FwIsoIrSingle].</doc>
<type name="FwIsoIrSingle" c:type="HinokoFwIsoIrSingle*"/>
</parameter>
<parameter name="sec" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="20">The sec part of isochronous cycle when interrupt occurs, up to 7.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cycle" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="21">The cycle part of of isochronous cycle when interrupt occurs, up to 7999.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="22">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].</doc>
<array length="4" zero-terminated="0" c:type="const guint8*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="header_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="25">the number of bytes for header.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ir_single.h"
line="26">the number of packets to handle.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="FwIsoIt"
c:symbol-prefix="fw_iso_it"
c:type="HinokoFwIsoIt"
parent="GObject.Object"
glib:type-name="HinokoFwIsoIt"
glib:get-type="hinoko_fw_iso_it_get_type"
glib:type-struct="FwIsoItClass">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="4">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.</doc>
<source-position filename="src/fw_iso_it.h" line="31"/>
<implements name="FwIsoCtx"/>
<constructor name="new" c:identifier="hinoko_fw_iso_it_new">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="210">Instantiate [class@FwIsoIt] object and return the instance.</doc>
<source-position filename="src/fw_iso_it.h" line="33"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="215">an instance of [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</return-value>
</constructor>
<virtual-method name="interrupted">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="16">Class closure for the [signal@FwIsoIt::interrupted] signal.</doc>
<source-position filename="src/fw_iso_it.h" line="28"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="18">A [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</instance-parameter>
<parameter name="sec" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="19">The sec part of isochronous cycle when interrupt occurs, up to 7.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cycle" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="20">The cycle part of of isochronous cycle when interrupt occurs, up to 7999.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="tstamp" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="21">A series of timestamps for
packets already handled.</doc>
<array length="3" zero-terminated="0" c:type="const guint8*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="tstamp_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="23">the number of bytes for @tstamp.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="24">the number of handled packets.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<method name="allocate"
c:identifier="hinoko_fw_iso_it_allocate"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="222">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.</doc>
<source-position filename="src/fw_iso_it.h" line="35"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="235">TRUE if the overall operation finishes successful, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="224">A [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</instance-parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="225">A path to any Linux FireWire character device.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter name="scode" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="226">A [enum@FwScode] to indicate speed of isochronous communication.</doc>
<type name="FwScode" c:type="HinokoFwScode"/>
</parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="227">An isochronous channel to transfer, up to 63.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="header_size" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="228">The number of bytes for header of IT context.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="map_buffer"
c:identifier="hinoko_fw_iso_it_map_buffer"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="253">Map intermediate buffer to share payload of IT context with 1394 OHCI hardware.</doc>
<source-position filename="src/fw_iso_it.h" line="38"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="262">TRUE if the overall operation finishes successful, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="255">A [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</instance-parameter>
<parameter name="maximum_bytes_per_payload"
transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="256">The number of bytes for payload of IT context.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="payloads_per_buffer" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="257">The number of payloads of IT context in buffer.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="register_packet"
c:identifier="hinoko_fw_iso_it_register_packet"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="309">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].</doc>
<source-position filename="src/fw_iso_it.h" line="43"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="329">TRUE if the overall operation finishes successful, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="311">A [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</instance-parameter>
<parameter name="tags" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="312">The value of tag field for isochronous packet to register.</doc>
<type name="FwIsoCtxMatchFlag" c:type="HinokoFwIsoCtxMatchFlag"/>
</parameter>
<parameter name="sync_code" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="313">The value of sync field in isochronous packet header for packet processing, up to 15.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="header"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="314">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.</doc>
<array length="3" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="header_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="317">The number of bytes for the @header.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="payload"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="318">The payload of IT context for isochronous
packet.</doc>
<array length="5" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="payload_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="320">The number of bytes for the @payload.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="schedule_interrupt" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="321">Whether to schedule hardware interrupt at isochronous cycle for the packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="start"
c:identifier="hinoko_fw_iso_it_start"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="279">Start IT context.</doc>
<source-position filename="src/fw_iso_it.h" line="41"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="290">TRUE if the overall operation finishes successful, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="281">A [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</instance-parameter>
<parameter name="cycle_match"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="282">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.</doc>
<array zero-terminated="0" c:type="const guint16*" fixed-size="2">
<type name="guint16"/>
</array>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<glib:signal name="interrupted" when="last">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="53">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.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="sec" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="56">sec part of isochronous cycle when interrupt occurs, up to 7.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cycle" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="57">cycle part of of isochronous cycle when interrupt occurs, up to 7999.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="tstamp" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="58">A series of timestamps for
packets already handled.</doc>
<array length="3" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="tstamp_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="60">the number of bytes for @tstamp.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.c"
line="61">the number of handled packets.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="FwIsoItClass"
c:type="HinokoFwIsoItClass"
glib:is-gtype-struct-for="FwIsoIt">
<source-position filename="src/fw_iso_it.h" line="31"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="interrupted">
<callback name="interrupted">
<source-position filename="src/fw_iso_it.h" line="28"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="18">A [class@FwIsoIt].</doc>
<type name="FwIsoIt" c:type="HinokoFwIsoIt*"/>
</parameter>
<parameter name="sec" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="19">The sec part of isochronous cycle when interrupt occurs, up to 7.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="cycle" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="20">The cycle part of of isochronous cycle when interrupt occurs, up to 7999.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="tstamp" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="21">A series of timestamps for
packets already handled.</doc>
<array length="4" zero-terminated="0" c:type="const guint8*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="tstamp_length" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="23">the number of bytes for @tstamp.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_it.h"
line="24">the number of handled packets.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="FwIsoResource"
c:symbol-prefix="fw_iso_resource"
c:type="HinokoFwIsoResource"
version="0.7"
glib:type-name="HinokoFwIsoResource"
glib:get-type="hinoko_fw_iso_resource_get_type"
glib:type-struct="FwIsoResourceInterface">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="4">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.</doc>
<source-position filename="src/fw_iso_resource.h" line="101"/>
<function name="calculate_bandwidth"
c:identifier="hinoko_fw_iso_resource_calculate_bandwidth">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="243">Calculate the amount of bandwidth expected to be consumed in allocation unit
by given parameters.</doc>
<source-position filename="src/fw_iso_resource.h" line="119"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="251">The amount of bandwidth expected to be consumed.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="bytes_per_payload" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="245">The number of bytes in payload of isochronous packet.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="scode" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="246">The speed of transmission.</doc>
<type name="FwScode" c:type="HinokoFwScode"/>
</parameter>
</parameters>
</function>
<virtual-method name="allocate"
invoker="allocate"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="170">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.</doc>
<source-position filename="src/fw_iso_resource.h" line="54"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="184">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="172">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="channel_candidates" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="173">The array with elements for
numeric number of isochronous channel to be allocated.</doc>
<array length="1" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="channel_candidates_count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="175">The number of channel candidates.</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="176">The amount of bandwidth to be allocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="allocated" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="72">Closure for the [signal@FwIsoResource::allocated] signal.</doc>
<source-position filename="src/fw_iso_resource.h" line="84"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="74">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="75">The deallocated channel number.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="76">The deallocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="77">A [struct@GLib.Error]. Error can be generated
with domain of [error@FwIsoResourceError] and its EVENT code.</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="create_source"
invoker="create_source"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="147">Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous
resource.</doc>
<source-position filename="src/fw_iso_resource.h" line="70"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="156">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="149">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="source"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="150">A [struct@GLib.Source]</doc>
<type name="GLib.Source" c:type="GSource**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="deallocated" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="87">Closure for the [signal@FwIsoResource::deallocated] signal.</doc>
<source-position filename="src/fw_iso_resource.h" line="99"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="89">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="90">The deallocated channel number.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="91">The deallocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="92">A [struct@GLib.Error]. Error can be generated
with domain of [error@FwIsoResourceError] and its EVENT code.</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="open" invoker="open" version="0.7" throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="121">Open Linux FireWire character device to delegate any request for isochronous
resource management to Linux FireWire subsystem.</doc>
<source-position filename="src/fw_iso_resource.h" line="35"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="133">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="123">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="124">A path of any Linux FireWire character device.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="open_flag" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="125">The flag of open(2) system call. O_RDONLY is forced to fulfil
internally.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="allocate"
c:identifier="hinoko_fw_iso_resource_allocate"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="170">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.</doc>
<source-position filename="src/fw_iso_resource.h" line="109"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="184">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="172">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="channel_candidates" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="173">The array with elements for
numeric number of isochronous channel to be allocated.</doc>
<array length="1" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="channel_candidates_count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="175">The number of channel candidates.</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="176">The amount of bandwidth to be allocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="allocate_wait"
c:identifier="hinoko_fw_iso_resource_allocate_wait"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="204">Initiate allocation of isochronous resource and wait for [signal@FwIsoResource::allocated]
signal. One of the candidates is actually allocated for channel.</doc>
<source-position filename="src/fw_iso_resource.h" line="114"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="218">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="206">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="channel_candidates" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="207">The array with elements for
numeric number for isochronous channel to be allocated.</doc>
<array length="1" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="channel_candidates_count" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="209">The number of channel candidates.</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="210">The amount of bandwidth to be allocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="211">The timeout to wait for allocated event.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="create_source"
c:identifier="hinoko_fw_iso_resource_create_source"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="147">Create [struct@GLib.Source] for [struct@GLib.MainContext] to dispatch events for isochronous
resource.</doc>
<source-position filename="src/fw_iso_resource.h" line="106"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="156">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="149">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="source"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="150">A [struct@GLib.Source]</doc>
<type name="GLib.Source" c:type="GSource**"/>
</parameter>
</parameters>
</method>
<method name="open"
c:identifier="hinoko_fw_iso_resource_open"
version="0.7"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="121">Open Linux FireWire character device to delegate any request for isochronous
resource management to Linux FireWire subsystem.</doc>
<source-position filename="src/fw_iso_resource.h" line="103"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="133">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="123">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</instance-parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="124">A path of any Linux FireWire character device.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="open_flag" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="125">The flag of open(2) system call. O_RDONLY is forced to fulfil
internally.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="generation" transfer-ownership="none" default-value="0">
<type name="guint" c:type="guint"/>
</property>
<glib:signal name="allocated" when="last" action="1" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="78">Emitted when allocation of isochronous resource finishes.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="81">The deallocated channel number.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="82">The deallocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="83">A [struct@GLib.Error]. Error can be generated
with domain of [error@FwIsoResourceError] and its EVENT code.</doc>
<type name="GLib.Error"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="deallocated" when="last" action="1" version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="99">Emitted when deallocation of isochronous resource finishes.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="102">The deallocated channel number.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="103">The deallocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="104">A [struct@GLib.Error]. Error can be generated
with domain of [error@FwIsoResourceError] and its EVENT code.</doc>
<type name="GLib.Error"/>
</parameter>
</parameters>
</glib:signal>
</interface>
<class name="FwIsoResourceAuto"
c:symbol-prefix="fw_iso_resource_auto"
c:type="HinokoFwIsoResourceAuto"
parent="GObject.Object"
glib:type-name="HinokoFwIsoResourceAuto"
glib:get-type="hinoko_fw_iso_resource_auto_get_type"
glib:type-struct="FwIsoResourceAutoClass">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="4">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.</doc>
<source-position filename="src/fw_iso_resource_auto.h" line="20"/>
<implements name="FwIsoResource"/>
<constructor name="new" c:identifier="hinoko_fw_iso_resource_auto_new">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="349">Allocate and return an instance of [class@FwIsoResourceAuto]object.</doc>
<source-position filename="src/fw_iso_resource_auto.h" line="22"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="354">A [class@FwIsoResourceAuto]</doc>
<type name="FwIsoResourceAuto" c:type="HinokoFwIsoResourceAuto*"/>
</return-value>
</constructor>
<method name="deallocate"
c:identifier="hinoko_fw_iso_resource_auto_deallocate"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="361">Initiate deallocation of isochronous resource. When the deallocation is done,
[signal@FwIsoResource::deallocated] signal is emit to notify the result, channel, and bandwidth.</doc>
<source-position filename="src/fw_iso_resource_auto.h" line="24"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="370">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="363">A [class@FwIsoResourceAuto]</doc>
<type name="FwIsoResourceAuto" c:type="HinokoFwIsoResourceAuto*"/>
</instance-parameter>
</parameters>
</method>
<method name="deallocate_wait"
c:identifier="hinoko_fw_iso_resource_auto_deallocate_wait"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="412">Initiate deallocation of isochronous resource. When the deallocation is done,
[signal@FwIsoResource::deallocated] signal is emit to notify the result, channel, and bandwidth.</doc>
<source-position filename="src/fw_iso_resource_auto.h" line="25"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="422">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="414">A [class@FwIsoResourceAuto]</doc>
<type name="FwIsoResourceAuto" c:type="HinokoFwIsoResourceAuto*"/>
</instance-parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="415">The timeout to wait for allocated event by milli second unit.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<property name="bandwidth"
version="0.7"
transfer-ownership="none"
default-value="0">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="157">The allocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="channel"
version="0.7"
transfer-ownership="none"
default-value="0">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="144">The allocated channel number.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="is-allocated"
version="0.7"
transfer-ownership="none"
default-value="FALSE">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="132">Whether to be allocate isochronous resource or not.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
</class>
<record name="FwIsoResourceAutoClass"
c:type="HinokoFwIsoResourceAutoClass"
glib:is-gtype-struct-for="FwIsoResourceAuto">
<source-position filename="src/fw_iso_resource_auto.h" line="20"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<enumeration name="FwIsoResourceAutoError"
glib:type-name="HinokoFwIsoResourceAutoError"
glib:get-type="hinoko_fw_iso_resource_auto_error_get_type"
c:type="HinokoFwIsoResourceAutoError"
glib:error-domain="hinoko-fw-iso-resource-auto-error-quark">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="80">A set of error code for operations in [class@FwIsoResourceAuto].</doc>
<member name="failed"
value="0"
c:identifier="HINOKO_FW_ISO_RESOURCE_AUTO_ERROR_FAILED"
glib:nick="failed"
glib:name="HINOKO_FW_ISO_RESOURCE_AUTO_ERROR_FAILED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="82">The system call fails.</doc>
</member>
<member name="allocated"
value="1"
c:identifier="HINOKO_FW_ISO_RESOURCE_AUTO_ERROR_ALLOCATED"
glib:nick="allocated"
glib:name="HINOKO_FW_ISO_RESOURCE_AUTO_ERROR_ALLOCATED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="83">The instance is already associated to
allocated isochronous resources.</doc>
</member>
<member name="not_allocated"
value="2"
c:identifier="HINOKO_FW_ISO_RESOURCE_AUTO_ERROR_NOT_ALLOCATED"
glib:nick="not-allocated"
glib:name="HINOKO_FW_ISO_RESOURCE_AUTO_ERROR_NOT_ALLOCATED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="85">The instance is not associated to allocated
isochronous resources.</doc>
</member>
<function name="quark"
c:identifier="hinoko_fw_iso_resource_auto_error_quark">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="29">Return the [alias@GLib.Quark] for error domain of [struct@GLib.Error] which has code in
[error@FwIsoResourceAutoError].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="35">A [alias@GLib.Quark].</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
</enumeration>
<enumeration name="FwIsoResourceError"
glib:type-name="HinokoFwIsoResourceError"
glib:get-type="hinoko_fw_iso_resource_error_get_type"
c:type="HinokoFwIsoResourceError"
glib:error-domain="hinoko-fw-iso-resource-error-quark">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="60">A set of error code for operations in [iface@FwIsoResource].</doc>
<member name="failed"
value="0"
c:identifier="HINOKO_FW_ISO_RESOURCE_ERROR_FAILED"
glib:nick="failed"
glib:name="HINOKO_FW_ISO_RESOURCE_ERROR_FAILED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="62">The system call fails.</doc>
</member>
<member name="opened"
value="1"
c:identifier="HINOKO_FW_ISO_RESOURCE_ERROR_OPENED"
glib:nick="opened"
glib:name="HINOKO_FW_ISO_RESOURCE_ERROR_OPENED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="63">The instance is already associated to any firewire
character device.</doc>
</member>
<member name="not_opened"
value="2"
c:identifier="HINOKO_FW_ISO_RESOURCE_ERROR_NOT_OPENED"
glib:nick="not-opened"
glib:name="HINOKO_FW_ISO_RESOURCE_ERROR_NOT_OPENED">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="65">The instance is not associated to any firewire
character device.</doc>
</member>
<member name="timeout"
value="3"
c:identifier="HINOKO_FW_ISO_RESOURCE_ERROR_TIMEOUT"
glib:nick="timeout"
glib:name="HINOKO_FW_ISO_RESOURCE_ERROR_TIMEOUT">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="67">No event to the request arrives within timeout.</doc>
</member>
<member name="event"
value="4"
c:identifier="HINOKO_FW_ISO_RESOURCE_ERROR_EVENT"
glib:nick="event"
glib:name="HINOKO_FW_ISO_RESOURCE_ERROR_EVENT">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="68">Event for the request arrives but includes error code.</doc>
</member>
<function name="quark" c:identifier="hinoko_fw_iso_resource_error_quark">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="16">Return the [alias@GLib.Quark] for [struct@GLib.Error] with which has code in
[error@FwIsoResourceError].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="22">A [alias@GLib.Quark].</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
</enumeration>
<record name="FwIsoResourceInterface"
c:type="HinokoFwIsoResourceInterface"
glib:is-gtype-struct-for="FwIsoResource">
<source-position filename="src/fw_iso_resource.h" line="101"/>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="open">
<callback name="open" throws="1">
<source-position filename="src/fw_iso_resource.h" line="35"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="133">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="123">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</parameter>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="124">A path of any Linux FireWire character device.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="open_flag" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="125">The flag of open(2) system call. O_RDONLY is forced to fulfil
internally.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="allocate">
<callback name="allocate" throws="1">
<source-position filename="src/fw_iso_resource.h" line="54"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="184">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="172">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</parameter>
<parameter name="channel_candidates" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="173">The array with elements for
numeric number of isochronous channel to be allocated.</doc>
<array length="2" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="channel_candidates_count"
transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="175">The number of channel candidates.</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="176">The amount of bandwidth to be allocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_source">
<callback name="create_source" throws="1">
<source-position filename="src/fw_iso_resource.h" line="70"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="156">TRUE if the overall operation finished successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="149">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</parameter>
<parameter name="source"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="150">A [struct@GLib.Source]</doc>
<type name="GLib.Source" c:type="GSource**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="allocated">
<callback name="allocated">
<source-position filename="src/fw_iso_resource.h" line="84"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="74">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="75">The deallocated channel number.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="76">The deallocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="77">A [struct@GLib.Error]. Error can be generated
with domain of [error@FwIsoResourceError] and its EVENT code.</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="deallocated">
<callback name="deallocated">
<source-position filename="src/fw_iso_resource.h" line="99"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="89">A [iface@FwIsoResource].</doc>
<type name="FwIsoResource" c:type="HinokoFwIsoResource*"/>
</parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="90">The deallocated channel number.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="91">The deallocated amount of bandwidth.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="error"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource.h"
line="92">A [struct@GLib.Error]. Error can be generated
with domain of [error@FwIsoResourceError] and its EVENT code.</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="FwIsoResourceOnce"
c:symbol-prefix="fw_iso_resource_once"
c:type="HinokoFwIsoResourceOnce"
parent="GObject.Object"
glib:type-name="HinokoFwIsoResourceOnce"
glib:get-type="hinoko_fw_iso_resource_once_get_type"
glib:type-struct="FwIsoResourceOnceClass">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="4">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.</doc>
<source-position filename="src/fw_iso_resource_once.h" line="16"/>
<implements name="FwIsoResource"/>
<constructor name="new"
c:identifier="hinoko_fw_iso_resource_once_new"
version="0.7">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="191">Allocate and return an instance of [class@FwIsoResourceOnce].</doc>
<source-position filename="src/fw_iso_resource_once.h" line="18"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="196">A [class@FwIsoResourceOnce].</doc>
<type name="FwIsoResourceOnce" c:type="HinokoFwIsoResourceOnce*"/>
</return-value>
</constructor>
<method name="deallocate"
c:identifier="hinoko_fw_iso_resource_once_deallocate"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="205">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.</doc>
<source-position filename="src/fw_iso_resource_once.h" line="20"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="216">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="207">A [class@FwIsoResourceOnce].</doc>
<type name="FwIsoResourceOnce" c:type="HinokoFwIsoResourceOnce*"/>
</instance-parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="208">The channel number to be deallocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="209">The amount of bandwidth to be deallocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="deallocate_wait"
c:identifier="hinoko_fw_iso_resource_once_deallocate_wait"
version="1.0"
throws="1">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="250">Initiate deallocation of isochronous resource and wait for [signal@FwIsoResource::deallocated]
signal.</doc>
<source-position filename="src/fw_iso_resource_once.h" line="23"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="261">TRUE if the overall operation finishes successfully, otherwise FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="252">A [class@FwIsoResourceOnce].</doc>
<type name="FwIsoResourceOnce" c:type="HinokoFwIsoResourceOnce*"/>
</instance-parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="253">The channel number to be deallocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="bandwidth" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="254">The amount of bandwidth to be deallocated.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_once.c"
line="255">The timeout to wait for deallocated event.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
</class>
<record name="FwIsoResourceOnceClass"
c:type="HinokoFwIsoResourceOnceClass"
glib:is-gtype-struct-for="FwIsoResourceOnce">
<source-position filename="src/fw_iso_resource_once.h" line="16"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<enumeration name="FwScode"
glib:type-name="HinokoFwScode"
glib:get-type="hinoko_fw_scode_get_type"
c:type="HinokoFwScode">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="23">A set of speed for isochronous context on IEEE 1394 bus.</doc>
<member name="s100"
value="0"
c:identifier="HINOKO_FW_SCODE_S100"
glib:nick="s100"
glib:name="HINOKO_FW_SCODE_S100">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="25">100 Mbps.</doc>
</member>
<member name="s200"
value="1"
c:identifier="HINOKO_FW_SCODE_S200"
glib:nick="s200"
glib:name="HINOKO_FW_SCODE_S200">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="26">200 Mbps.</doc>
</member>
<member name="s400"
value="2"
c:identifier="HINOKO_FW_SCODE_S400"
glib:nick="s400"
glib:name="HINOKO_FW_SCODE_S400">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="27">400 Mbps.</doc>
</member>
<member name="s800"
value="3"
c:identifier="HINOKO_FW_SCODE_S800"
glib:nick="s800"
glib:name="HINOKO_FW_SCODE_S800">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="28">800 Mbps.</doc>
</member>
<member name="s1600"
value="4"
c:identifier="HINOKO_FW_SCODE_S1600"
glib:nick="s1600"
glib:name="HINOKO_FW_SCODE_S1600">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="29">1600 Mbps.</doc>
</member>
<member name="s3200"
value="5"
c:identifier="HINOKO_FW_SCODE_S3200"
glib:nick="s3200"
glib:name="HINOKO_FW_SCODE_S3200">
<doc xml:space="preserve"
filename="src/hinoko_enum_types.h"
line="30">3200 Mbps.</doc>
</member>
</enumeration>
<function name="fw_iso_ctx_error_quark"
c:identifier="hinoko_fw_iso_ctx_error_quark"
moved-to="FwIsoCtxError.quark">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="16">Return the [alias@GLib.Quark] for [struct@GLib.Error] which has code in [error@FwIsoCtxError].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_ctx.c"
line="21">A [alias@GLib.Quark].</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
<function name="fw_iso_resource_auto_error_quark"
c:identifier="hinoko_fw_iso_resource_auto_error_quark"
moved-to="FwIsoResourceAutoError.quark">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="29">Return the [alias@GLib.Quark] for error domain of [struct@GLib.Error] which has code in
[error@FwIsoResourceAutoError].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource_auto.c"
line="35">A [alias@GLib.Quark].</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
<function name="fw_iso_resource_calculate_bandwidth"
c:identifier="hinoko_fw_iso_resource_calculate_bandwidth"
moved-to="FwIsoResource.calculate_bandwidth">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="243">Calculate the amount of bandwidth expected to be consumed in allocation unit
by given parameters.</doc>
<source-position filename="src/fw_iso_resource.h" line="119"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="251">The amount of bandwidth expected to be consumed.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="bytes_per_payload" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="245">The number of bytes in payload of isochronous packet.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="scode" transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="246">The speed of transmission.</doc>
<type name="FwScode" c:type="HinokoFwScode"/>
</parameter>
</parameters>
</function>
<function name="fw_iso_resource_error_quark"
c:identifier="hinoko_fw_iso_resource_error_quark"
moved-to="FwIsoResourceError.quark">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="16">Return the [alias@GLib.Quark] for [struct@GLib.Error] with which has code in
[error@FwIsoResourceError].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="src/fw_iso_resource.c"
line="22">A [alias@GLib.Quark].</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
</namespace>
</repository>