blob: 2bc8ff45941e4aa5a906882b96a1fc25a739fd78 [file] [log] [blame]
b.liuced8dd02024-06-28 13:28:29 +08001#ifndef JACANA_PVT_H
2#define JACANA_PVT_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include "jacana_firmware.h"
9#include "sparse_file.h"
10
11/*---------------------------------------------------------------------------*/
12typedef struct {
13 sparse_file_t sparse_file;
14 size_t max_download_size;
15 size_t offset;
16 int state;
17} pvt_info_t;
18/*---------------------------------------------------------------------------*/
19/* portable layer api */
20void *jacana_pvt_raw_open(void);
21size_t jacana_pvt_raw_get_total_size(void *priv);
22int jacana_pvt_raw_read(void *priv, size_t start,
23 uint8_t *data, size_t size);
24void jacana_pvt_raw_close(void *priv);
25/*---------------------------------------------------------------------------*/
26int jacana_pvt_open(firmware_handle_t *firmware, void *priv);
27int jacana_pvt_read_line(firmware_handle_t *firmware, char *line);
28int jacana_pvt_read_data(firmware_handle_t *firmware,
29 uint8_t *data, size_t size);
30void jacana_pvt_close(firmware_handle_t *firmware);
31/*---------------------------------------------------------------------------*/
32
33#ifdef __cplusplus
34} /* extern "C" */
35#endif
36
37#endif /* JACANA_PVT_H */