### Constructor

# FwupdPlugin Firmware new_from_gtypes

#### 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 constructor is not directly available to language bindings

#### Parameters

`stream` | `GInputStream`
| A `GInputStream`.
| The data is owned by the caller of the function.
`offset` | `gsize`
| Start offset, useful for ignoring a bootloader.
`flags` | `guint64`
| Install flags, e.g. `FU_FIRMWARE_PARSE_FLAG_IGNORE_CHECKSUM`.
`error` | `GError`
| Optional return location for an error.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`...` | ``
| An array of `GTypes`, ending with `G_TYPE_INVALID`.

#### Return value

Returns: | `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`.