mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-27 15:00:46 +00:00
400d672e81
- RPC: added CLI command to start session - all input bytes goes into RPC, all RPC output goes into VCP - RPC: added command to close session (actually it only notifies transport layer) - RPC: added recursive rmdir - RPC: hard-coded listing for root directory (any, ext, int) - Fixed CLI leak - Fixed furi_record_delete leak - Unit tests: repaired - Unit tests: corrected output - remove excess, change dots with progress spinner - Unit tests: added leak check - Unit tests: SD mount check before start Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
187 lines
9.9 KiB
C
187 lines
9.9 KiB
C
/* Automatically generated nanopb header */
|
|
/* Generated by nanopb-0.4.5 */
|
|
|
|
#ifndef PB_PB_FLIPPER_PB_H_INCLUDED
|
|
#define PB_PB_FLIPPER_PB_H_INCLUDED
|
|
#include <pb.h>
|
|
#include "storage.pb.h"
|
|
#include "status.pb.h"
|
|
#include "application.pb.h"
|
|
|
|
#if PB_PROTO_HEADER_VERSION != 40
|
|
#error Regenerate this file with the current version of nanopb generator.
|
|
#endif
|
|
|
|
/* Enum definitions */
|
|
typedef enum _PB_CommandStatus {
|
|
PB_CommandStatus_OK = 0,
|
|
PB_CommandStatus_ERROR = 1, /* *< Unknown error */
|
|
PB_CommandStatus_ERROR_DECODE = 2, /* *< Command can't be decoded successfully - command_id in response may be wrong! */
|
|
PB_CommandStatus_ERROR_NOT_IMPLEMENTED = 3, /* *< Command succesfully decoded, but not implemented (deprecated or not yet implemented) */
|
|
PB_CommandStatus_ERROR_BUSY = 4, /* *< Somebody took global lock, so not all commands are available */
|
|
PB_CommandStatus_ERROR_CONTINUOUS_COMMAND_INTERRUPTED = 14, /* *< Not received has_next == 0 */
|
|
PB_CommandStatus_ERROR_INVALID_PARAMETERS = 15, /* *< not provided (or provided invalid) crucial parameters to perform rpc */
|
|
PB_CommandStatus_ERROR_STORAGE_NOT_READY = 5, /* *< FS not ready */
|
|
PB_CommandStatus_ERROR_STORAGE_EXIST = 6, /* *< File/Dir alrady exist */
|
|
PB_CommandStatus_ERROR_STORAGE_NOT_EXIST = 7, /* *< File/Dir does not exist */
|
|
PB_CommandStatus_ERROR_STORAGE_INVALID_PARAMETER = 8, /* *< Invalid API parameter */
|
|
PB_CommandStatus_ERROR_STORAGE_DENIED = 9, /* *< Access denied */
|
|
PB_CommandStatus_ERROR_STORAGE_INVALID_NAME = 10, /* *< Invalid name/path */
|
|
PB_CommandStatus_ERROR_STORAGE_INTERNAL = 11, /* *< Internal error */
|
|
PB_CommandStatus_ERROR_STORAGE_NOT_IMPLEMENTED = 12, /* *< Functon not implemented */
|
|
PB_CommandStatus_ERROR_STORAGE_ALREADY_OPEN = 13, /* *< File/Dir already opened */
|
|
PB_CommandStatus_ERROR_STORAGE_DIR_NOT_EMPTY = 18, /* *< Directory, you're going to remove is not empty */
|
|
PB_CommandStatus_ERROR_APP_CANT_START = 16, /* *< Can't start app - internal error */
|
|
PB_CommandStatus_ERROR_APP_SYSTEM_LOCKED = 17 /* *< Another app is running */
|
|
} PB_CommandStatus;
|
|
|
|
/* Struct definitions */
|
|
/* There are Server commands (e.g. Storage_write), which have no body message
|
|
in response. But 'oneof' obligate to have at least 1 encoded message
|
|
in scope. For this needs Empty message is implemented. */
|
|
typedef struct _PB_Empty {
|
|
char dummy_field;
|
|
} PB_Empty;
|
|
|
|
typedef struct _PB_StopSession {
|
|
char dummy_field;
|
|
} PB_StopSession;
|
|
|
|
typedef struct _PB_Main {
|
|
uint32_t command_id;
|
|
PB_CommandStatus command_status;
|
|
bool has_next;
|
|
pb_callback_t cb_content;
|
|
pb_size_t which_content;
|
|
union {
|
|
PB_Empty empty;
|
|
PB_Status_PingRequest ping_request;
|
|
PB_Status_PingResponse ping_response;
|
|
PB_Storage_ListRequest storage_list_request;
|
|
PB_Storage_ListResponse storage_list_response;
|
|
PB_Storage_ReadRequest storage_read_request;
|
|
PB_Storage_ReadResponse storage_read_response;
|
|
PB_Storage_WriteRequest storage_write_request;
|
|
PB_Storage_DeleteRequest storage_delete_request;
|
|
PB_Storage_MkdirRequest storage_mkdir_request;
|
|
PB_Storage_Md5sumRequest storage_md5sum_request;
|
|
PB_Storage_Md5sumResponse storage_md5sum_response;
|
|
PB_App_Start app_start;
|
|
PB_App_LockStatusRequest app_lock_status_request;
|
|
PB_App_LockStatusResponse app_lock_status_response;
|
|
PB_StopSession stop_session;
|
|
} content;
|
|
} PB_Main;
|
|
|
|
|
|
/* Helper constants for enums */
|
|
#define _PB_CommandStatus_MIN PB_CommandStatus_OK
|
|
#define _PB_CommandStatus_MAX PB_CommandStatus_ERROR_STORAGE_DIR_NOT_EMPTY
|
|
#define _PB_CommandStatus_ARRAYSIZE ((PB_CommandStatus)(PB_CommandStatus_ERROR_STORAGE_DIR_NOT_EMPTY+1))
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Initializer values for message structs */
|
|
#define PB_Empty_init_default {0}
|
|
#define PB_StopSession_init_default {0}
|
|
#define PB_Main_init_default {0, _PB_CommandStatus_MIN, 0, {{NULL}, NULL}, 0, {PB_Empty_init_default}}
|
|
#define PB_Empty_init_zero {0}
|
|
#define PB_StopSession_init_zero {0}
|
|
#define PB_Main_init_zero {0, _PB_CommandStatus_MIN, 0, {{NULL}, NULL}, 0, {PB_Empty_init_zero}}
|
|
|
|
/* Field tags (for use in manual encoding/decoding) */
|
|
#define PB_Main_command_id_tag 1
|
|
#define PB_Main_command_status_tag 2
|
|
#define PB_Main_has_next_tag 3
|
|
#define PB_Main_empty_tag 4
|
|
#define PB_Main_ping_request_tag 5
|
|
#define PB_Main_ping_response_tag 6
|
|
#define PB_Main_storage_list_request_tag 7
|
|
#define PB_Main_storage_list_response_tag 8
|
|
#define PB_Main_storage_read_request_tag 9
|
|
#define PB_Main_storage_read_response_tag 10
|
|
#define PB_Main_storage_write_request_tag 11
|
|
#define PB_Main_storage_delete_request_tag 12
|
|
#define PB_Main_storage_mkdir_request_tag 13
|
|
#define PB_Main_storage_md5sum_request_tag 14
|
|
#define PB_Main_storage_md5sum_response_tag 15
|
|
#define PB_Main_app_start_tag 16
|
|
#define PB_Main_app_lock_status_request_tag 17
|
|
#define PB_Main_app_lock_status_response_tag 18
|
|
#define PB_Main_stop_session_tag 19
|
|
|
|
/* Struct field encoding specification for nanopb */
|
|
#define PB_Empty_FIELDLIST(X, a) \
|
|
|
|
#define PB_Empty_CALLBACK NULL
|
|
#define PB_Empty_DEFAULT NULL
|
|
|
|
#define PB_StopSession_FIELDLIST(X, a) \
|
|
|
|
#define PB_StopSession_CALLBACK NULL
|
|
#define PB_StopSession_DEFAULT NULL
|
|
|
|
#define PB_Main_FIELDLIST(X, a) \
|
|
X(a, STATIC, SINGULAR, UINT32, command_id, 1) \
|
|
X(a, STATIC, SINGULAR, UENUM, command_status, 2) \
|
|
X(a, STATIC, SINGULAR, BOOL, has_next, 3) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,empty,content.empty), 4) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,ping_request,content.ping_request), 5) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,ping_response,content.ping_response), 6) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_list_request,content.storage_list_request), 7) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_list_response,content.storage_list_response), 8) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_read_request,content.storage_read_request), 9) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_read_response,content.storage_read_response), 10) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_write_request,content.storage_write_request), 11) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_delete_request,content.storage_delete_request), 12) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_mkdir_request,content.storage_mkdir_request), 13) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_md5sum_request,content.storage_md5sum_request), 14) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_md5sum_response,content.storage_md5sum_response), 15) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,app_start,content.app_start), 16) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,app_lock_status_request,content.app_lock_status_request), 17) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,app_lock_status_response,content.app_lock_status_response), 18) \
|
|
X(a, STATIC, ONEOF, MSG_W_CB, (content,stop_session,content.stop_session), 19)
|
|
#define PB_Main_CALLBACK NULL
|
|
#define PB_Main_DEFAULT NULL
|
|
#define PB_Main_content_empty_MSGTYPE PB_Empty
|
|
#define PB_Main_content_ping_request_MSGTYPE PB_Status_PingRequest
|
|
#define PB_Main_content_ping_response_MSGTYPE PB_Status_PingResponse
|
|
#define PB_Main_content_storage_list_request_MSGTYPE PB_Storage_ListRequest
|
|
#define PB_Main_content_storage_list_response_MSGTYPE PB_Storage_ListResponse
|
|
#define PB_Main_content_storage_read_request_MSGTYPE PB_Storage_ReadRequest
|
|
#define PB_Main_content_storage_read_response_MSGTYPE PB_Storage_ReadResponse
|
|
#define PB_Main_content_storage_write_request_MSGTYPE PB_Storage_WriteRequest
|
|
#define PB_Main_content_storage_delete_request_MSGTYPE PB_Storage_DeleteRequest
|
|
#define PB_Main_content_storage_mkdir_request_MSGTYPE PB_Storage_MkdirRequest
|
|
#define PB_Main_content_storage_md5sum_request_MSGTYPE PB_Storage_Md5sumRequest
|
|
#define PB_Main_content_storage_md5sum_response_MSGTYPE PB_Storage_Md5sumResponse
|
|
#define PB_Main_content_app_start_MSGTYPE PB_App_Start
|
|
#define PB_Main_content_app_lock_status_request_MSGTYPE PB_App_LockStatusRequest
|
|
#define PB_Main_content_app_lock_status_response_MSGTYPE PB_App_LockStatusResponse
|
|
#define PB_Main_content_stop_session_MSGTYPE PB_StopSession
|
|
|
|
extern const pb_msgdesc_t PB_Empty_msg;
|
|
extern const pb_msgdesc_t PB_StopSession_msg;
|
|
extern const pb_msgdesc_t PB_Main_msg;
|
|
|
|
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
|
#define PB_Empty_fields &PB_Empty_msg
|
|
#define PB_StopSession_fields &PB_StopSession_msg
|
|
#define PB_Main_fields &PB_Main_msg
|
|
|
|
/* Maximum encoded size of messages (where known) */
|
|
#define PB_Empty_size 0
|
|
#define PB_StopSession_size 0
|
|
#if defined(PB_Storage_ListRequest_size) && defined(PB_Storage_ListResponse_size) && defined(PB_Storage_ReadRequest_size) && defined(PB_Storage_ReadResponse_size) && defined(PB_Storage_WriteRequest_size) && defined(PB_Storage_DeleteRequest_size) && defined(PB_Storage_MkdirRequest_size) && defined(PB_Storage_Md5sumRequest_size) && defined(PB_App_Start_size)
|
|
#define PB_Main_size (10 + sizeof(union PB_Main_content_size_union))
|
|
union PB_Main_content_size_union {char f7[(6 + PB_Storage_ListRequest_size)]; char f8[(6 + PB_Storage_ListResponse_size)]; char f9[(6 + PB_Storage_ReadRequest_size)]; char f10[(6 + PB_Storage_ReadResponse_size)]; char f11[(6 + PB_Storage_WriteRequest_size)]; char f12[(6 + PB_Storage_DeleteRequest_size)]; char f13[(6 + PB_Storage_MkdirRequest_size)]; char f14[(6 + PB_Storage_Md5sumRequest_size)]; char f16[(7 + PB_App_Start_size)]; char f0[36];};
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif
|