### Method

# Hinoko FwIsoIt register_packet

since: 0.7

#### Declaration [src]

    gboolean
    hinoko_fw_iso_it_register_packet (
      HinokoFwIsoIt* self,
      HinokoFwIsoCtxMatchFlag tags,
      guint sync_code,
      const guint8* header,
      guint header_length,
      const guint8* payload,
      guint payload_length,
      gboolean schedule_interrupt,
      GError** error
    )

#### Description [src]

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 `HinokoFwIsoIt::interrupted`.

Available since: 0.7

#### Parameters

`tags`

  Type: `HinokoFwIsoCtxMatchFlag`

  The value of tag field for isochronous packet to register.

`sync_code`

  Type: `guint`

  The value of sync field in isochronous packet header for packet processing, up to 15.

`header`

  Type: An array of `guint8`

  The header of IT context for isochronous packet. The length of header should be the same as the size of header indicated in allocation if it’s not null.

  The argument can be `NULL`.
  The length of the array is specified in the `header_length` argument.
  The data is owned by the caller of the method.

`header_length`

  Type: `guint`

  The number of bytes for the `header`.

`payload`

  Type: An array of `guint8`

  The payload of IT context for isochronous packet.

  The argument can be `NULL`.
  The length of the array is specified in the `payload_length` argument.
  The data is owned by the caller of the method.

`payload_length`

  Type: `guint`

  The number of bytes for the `payload`.

`schedule_interrupt`

  Type: `gboolean`

  Whether to schedule hardware interrupt at isochronous cycle for the packet.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gboolean`

TRUE if the overall operation finishes successful, otherwise FALSE.