### Constructor

# FwupdPlugin ChunkArray new_from_stream

since: 2.0.2

#### Declaration [src]

    FuChunkArray*
    fu_chunk_array_new_from_stream (
      GInputStream* stream,
      gsize addr_offset,
      gsize page_sz,
      gsize packet_sz,
      GError** error
    )

#### Description [src]

Chunks a linear stream into packets, ensuring each packet is less that a specific transfer size.

Available since: 2.0.2

#### Parameters

`stream`

  Type: `GInputStream`

  A `GInputStream`.

  The data is owned by the caller of the function.

`addr_offset`

  Type: `gsize`

  The hardware address offset, or `FU_CHUNK_ADDR_OFFSET_NONE`.

`page_sz`

  Type: `gsize`

  The hardware page size, typically `FU_CHUNK_PAGESZ_NONE`.

`packet_sz`

  Type: `gsize`

  The packet size, or 0x0.

`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 constructor 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: `FuChunkArray`

A `FuChunkArray`, or `NULL` on error.

The caller of the function takes ownership of the data, and is responsible for freeing it.