### Constructor

# FwupdPlugin Firmware new_from_gtypes

since: 1.5.6

#### Declaration [src]

    FuFirmware*
    fu_firmware_new_from_gtypes (
      GInputStream* stream,
      gsize offset,
      guint64 flags,
      GError** error,
      ...
    )

#### Description [src]

Tries to parse the firmware with each `GType` in order.

Available since: 1.5.6

This method is not directly available to language bindings.

#### Parameters

`stream`

  Type: `GInputStream`

  A `GInputStream`.

  The data is owned by the caller of the function.

`offset`

  Type: `gsize`

  Start offset, useful for ignoring a bootloader.

`flags`

  Type: `guint64`

  Install flags, e.g. `FU_FIRMWARE_PARSE_FLAG_IGNORE_CHECKSUM`.

`error`

  Type: `GError`

  Optional return location for an error.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`...`

  Type: ``

  An array of `GTypes`, ending with `G_TYPE_INVALID`.

#### Return value

Type: `FuFirmware`

A `FuFirmware`, or `NULL`.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.