| 1234567891011121314151617181920212223242526272829303132333435 | #pragma once#include "common.h"#include "fw.h"#include <zlib.h>struct spz_stream;typedef struct spz_stream spz_stream;#define SPZ_NBUF 4struct spz_stream {    z_stream zs;    read_func_t read_data;	    /* Read input data */    token_t token;		    /* Read input token */    uint8_t *optr;		    /* Output data pointer into obuf */    /* Note: available output data ends at zs->next_out */    union {	uint8_t *bufs[SPZ_NBUF];	struct {	    uint8_t *ibuf;	    /* Input buffer if compressed */	    uint8_t *obuf;	    /* Output buffer */	    uint8_t *dbuf;	    /* Block data buffer */	    uint8_t *vbuf;	    /* Readback/verify buffer */	};    };    struct fw_header header;	    /* Header of currently processed chunk */    int err;			    /* Error code to return */    bool eoi;			    /* Reached end of input */    bool cleanup;		    /* Call inflateEnd() */    bool esp_updated;		    /* ESP OTA update performed */    bool fpga_updated;		    /* FPGA initialization performed */};int spz_read_data(spz_stream *spz, void *buf, size_t len);
 |