HinawaFwReq

HinawaFwReq — A transaction executor to a FireWire unit

Functions

Object Hierarchy

    GObject
    ╰── HinawaFwReq

Description

A HinawaFwReq supports three types of transactions in IEEE 1212:

  • read

  • write

  • lock

Any of transaction frames should be aligned to 32bit (quadlet). This class is an application of Linux FireWire subsystem. All of operations utilize ioctl(2) with subsystem specific request commands.

Functions

hinawa_fw_req_write ()

void
hinawa_fw_req_write (HinawaFwReq *self,
                     HinawaFwUnit *unit,
                     guint64 addr,
                     GArray *frame,
                     GError **exception);

Execute write transactions to the given unit.

Parameters

self

A HinawaFwReq

 

unit

A HinawaFwUnit

 

addr

A destination address of target device

 

frame

a 32bit array.

[element-type guint32][array][in]

exception

A GError

 

hinawa_fw_req_read ()

void
hinawa_fw_req_read (HinawaFwReq *self,
                    HinawaFwUnit *unit,
                    guint64 addr,
                    GArray *frame,
                    guint quads,
                    GError **exception);

Execute read transaction to the given unit.

Parameters

self

A HinawaFwReq

 

unit

A HinawaFwUnit

 

addr

A destination address of target device

 

frame

a 32bit array.

[element-type guint32][array][out caller-allocates]

quads

the number of quadlets to read

 

exception

A GError

 

hinawa_fw_req_lock ()

void
hinawa_fw_req_lock (HinawaFwReq *self,
                    HinawaFwUnit *unit,
                    guint64 addr,
                    GArray **frame,
                    GError **exception);

Execute lock transaction to the given unit.

Parameters

self

A HinawaFwReq

 

unit

A HinawaFwUnit

 

addr

A destination address of target device

 

frame

a 32bit array.

[element-type guint32][array][inout]

exception

A GError

 

Types and Values