### Class

# Hinawa FwFcp

#### Description [src]

    class Hinawa.FwFcp : Hinawa.FwResp
    {
      /* No available fields */
    }

A FCP transaction executor to node in IEEE 1394 bus. `HinawaFwFcp` supports Function Control Protocol (FCP) in IEC 61883-1. FCP transaction consists of a pair of asynchronous transactions for command and response, while the protocol has no mechanism to match them. In AV/C Digital Interface Command Set General Specification Version 4.2 (Sep 1 2004, 1394TA), they are loosely matched by the content of their frames, and this class employs the way.

Any of transaction frames should be aligned to 8 bit (1 byte). This class is an application of `HinawaFwReq` / `HinawaFwResp`.

#### Ancestors

- HinawaFwResp
- GObject

#### Constructors

###### hinawa_fw_fcp_new

Instantiate `HinawaFwFcp` object and return the instance.

since: 1.3

#### Instance methods

###### hinawa_fw_fcp_avc_transaction

Finish the pair of asynchronous transaction for AV/C command and response. The `timeout_ms` parameter is used to wait for response transaction since the command transaction is initiated. The timeout is not expanded in the case that AV/C INTERIM status arrived, thus the caller should expand the timeout in advance for the case.

since: 4.0

###### hinawa_fw_fcp_avc_transaction_with_tstamp

Finish the pair of asynchronous transaction for AV/C command and response. The `timeout_ms` parameter is used to wait for response transaction since the command transaction is initiated. The timeout is not expanded in the case that AV/C INTERIM status arrived, thus the caller should expand the timeout in advance for the case.

since: 2.6

###### hinawa_fw_fcp_bind

Start to listen to FCP responses.

since: 4.0

###### hinawa_fw_fcp_command

Transfer command frame for FCP. When receiving response frame for FCP, `HinawaFwFcp::responded` signal is emitted.

since: 4.0

###### hinawa_fw_fcp_command_with_tstamp

Transfer command frame for FCP. When receiving response frame for FCP, `HinawaFwFcp::responded` signal is emitted.

since: 2.6

###### hinawa_fw_fcp_unbind

Stop to listen to FCP responses. Any pending transactions are forced to be aborted.

since: 1.4

##### Methods inherited from HinawaFwResp (4)

###### hinawa_fw_resp_release

Stop listening to the address range in Linux system for local nodes.

since: 1.4

###### hinawa_fw_resp_reserve

Allocate an address range within Linux system for local nodes, each of which expresses 1394 OHCI hardware. Once successful, `HinawaFwResp::requested` signal will be emitted whenever any request subactions arrive at the 1394 OHCI hardware within the dedicated range.

since: 4.0

###### hinawa_fw_resp_reserve_within_region

Allocate an address range within Linux system for local nodes, each of which expresses 1394 OHCI hardware. Once successful, `HinawaFwResp::requested` signal will be emitted whenever any request subactions arrive at the 1394 OHCI hardware within the dedicated range.

since: 4.0

###### hinawa_fw_resp_set_resp_frame

Register byte frame for the response subaction of transaction.

since: 2.0

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Hinawa.FwFcp:is-bound

Whether this protocol is bound to any instance of HinawaFwNode.

since: 2.0

##### Properties inherited from HinawaFwResp (3)

###### Hinawa.FwResp:is-reserved

Whether a range of address is reserved or not.

since: 2.0

###### Hinawa.FwResp:offset

The start offset of reserved address range.

since: 2.3

###### Hinawa.FwResp:width

The width of reserved address range.

since: 2.3

#### Signals

###### Hinawa.FwFcp::responded

Emitted when the node transfers asynchronous packet as response for FCP and the process successfully read the content of packet.

since: 4.0

##### Signals inherited from HinawaFwResp (1)

###### HinawaFwResp::requested

Emitted when any node transfers request subaction to local nodes within the address range reserved in Linux system.

since: 4.0

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct HinawaFwFcpClass {
      HinawaFwRespClass parent_class;
      void (* responded) (
        HinawaFwFcp* self,
        guint generation,
        guint tstamp,
        const guint8* frame,
        guint frame_size
      );

    }

No description available.

###### Class members

`parent_class: HinawaFwRespClass`

  No description available.

`responded: void (* responded) ( HinawaFwFcp* self, guint generation, guint tstamp, const guint8* frame, guint frame_size )`

  No description available.

#### Virtual methods

###### Hinawa.FwFcpClass.responded

Class closure for the `HinawaFwFcp::responded` signal.

since: 4.0