123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- * SPDX-FileCopyrightText: 2019-2023 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #ifndef _OTA_H_
- #define _OTA_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct ota_ctrl_handlers {
- /**
- * Handler function called when ota sending file is requested. Status
- * is given the parameters :
- *
- * file (input) - file received through OTA
- *
- * length (input) - length of file received
- */
- esp_err_t (*ota_send_file)(uint8_t *file, size_t length);
- /**
- * Handler function called when ota start is requested. Status
- * is given the parameters :
- *
- * file_size (input) - total size of the file
- *
- * block_size (input) - size of one block
- *
- * partition_name (input) - custom partition where data is to be written
- */
- esp_err_t (*ota_start_cmd)(size_t file_size, size_t block_size, char *partition_name);
- /**
- * Handler function called when ota is completed.
- */
- esp_err_t (*ota_finish_cmd)();
- } ota_handlers_t;
- /**
- * @brief Handler for ota requests
- *
- * This is to be registered as the `recv-fw`, 'ota-bar', 'ota-command',
- * 'ota-customer' endpoint handler (protocomm `protocomm_req_handler_t`)
- * using `protocomm_add_endpoint()`
- */
- esp_err_t ota_handler(uint32_t session_id, const uint8_t *inbuf, ssize_t inlen,
- uint8_t **outbuf, ssize_t *outlen, void *priv_data);
- #ifdef __cplusplus
- }
- #endif
- #endif
|