Rpc: StorageInfo, StorageRename, SystemReboot, SystemDeviceInfo (bonus: +FuriHalInfo) (#862)

* Rpc: update protobuf sources
* Rpc: rename Status to System
* Rpc: implement StorageInfoRequest
* Rpc: implement StorageRenameRequest
* Rpc: implement SystemRebootRequest
* FuriHal: introduce FuriHalInfo, refactor device_info
* Rpc: implement DeviceInfoRequest
* Rpc: use strdup where it suites the best.
* Make: add do not page align data to linker flag.

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Anna Prosvetova
2021-12-07 16:47:20 +03:00
committed by GitHub
parent 604d80aed4
commit 03d7476e4f
19 changed files with 1005 additions and 224 deletions

View File

@@ -5,7 +5,7 @@
#define PB_PB_FLIPPER_PB_H_INCLUDED
#include <pb.h>
#include "storage.pb.h"
#include "status.pb.h"
#include "system.pb.h"
#include "application.pb.h"
#include "gui.pb.h"
@@ -62,8 +62,8 @@ typedef struct _PB_Main {
pb_size_t which_content;
union {
PB_Empty empty;
PB_Status_PingRequest ping_request;
PB_Status_PingResponse ping_response;
PB_System_PingRequest system_ping_request;
PB_System_PingResponse system_ping_response;
PB_Storage_ListRequest storage_list_request;
PB_Storage_ListResponse storage_list_response;
PB_Storage_ReadRequest storage_read_request;
@@ -85,6 +85,12 @@ typedef struct _PB_Main {
PB_Storage_StatResponse storage_stat_response;
PB_Gui_StartVirtualDisplayRequest gui_start_virtual_display_request;
PB_Gui_StopVirtualDisplayRequest gui_stop_virtual_display_request;
PB_Storage_InfoRequest storage_info_request;
PB_Storage_InfoResponse storage_info_response;
PB_Storage_RenameRequest storage_rename_request;
PB_System_RebootRequest system_reboot_request;
PB_System_DeviceInfoRequest system_device_info_request;
PB_System_DeviceInfoResponse system_device_info_response;
} content;
} PB_Main;
@@ -112,8 +118,8 @@ extern "C" {
#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_system_ping_request_tag 5
#define PB_Main_system_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
@@ -135,6 +141,12 @@ extern "C" {
#define PB_Main_storage_stat_response_tag 25
#define PB_Main_gui_start_virtual_display_request_tag 26
#define PB_Main_gui_stop_virtual_display_request_tag 27
#define PB_Main_storage_info_request_tag 28
#define PB_Main_storage_info_response_tag 29
#define PB_Main_storage_rename_request_tag 30
#define PB_Main_system_reboot_request_tag 31
#define PB_Main_system_device_info_request_tag 32
#define PB_Main_system_device_info_response_tag 33
/* Struct field encoding specification for nanopb */
#define PB_Empty_FIELDLIST(X, a) \
@@ -152,8 +164,8 @@ 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,system_ping_request,content.system_ping_request), 5) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,system_ping_response,content.system_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) \
@@ -174,12 +186,18 @@ X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_send_input_event_request,content
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_stat_request,content.storage_stat_request), 24) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_stat_response,content.storage_stat_response), 25) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_start_virtual_display_request,content.gui_start_virtual_display_request), 26) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_stop_virtual_display_request,content.gui_stop_virtual_display_request), 27)
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_stop_virtual_display_request,content.gui_stop_virtual_display_request), 27) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_info_request,content.storage_info_request), 28) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_info_response,content.storage_info_response), 29) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_rename_request,content.storage_rename_request), 30) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,system_reboot_request,content.system_reboot_request), 31) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,system_device_info_request,content.system_device_info_request), 32) \
X(a, STATIC, ONEOF, MSG_W_CB, (content,system_device_info_response,content.system_device_info_response), 33)
#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_system_ping_request_MSGTYPE PB_System_PingRequest
#define PB_Main_content_system_ping_response_MSGTYPE PB_System_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
@@ -201,6 +219,12 @@ X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_stop_virtual_display_request,con
#define PB_Main_content_storage_stat_response_MSGTYPE PB_Storage_StatResponse
#define PB_Main_content_gui_start_virtual_display_request_MSGTYPE PB_Gui_StartVirtualDisplayRequest
#define PB_Main_content_gui_stop_virtual_display_request_MSGTYPE PB_Gui_StopVirtualDisplayRequest
#define PB_Main_content_storage_info_request_MSGTYPE PB_Storage_InfoRequest
#define PB_Main_content_storage_info_response_MSGTYPE PB_Storage_InfoResponse
#define PB_Main_content_storage_rename_request_MSGTYPE PB_Storage_RenameRequest
#define PB_Main_content_system_reboot_request_MSGTYPE PB_System_RebootRequest
#define PB_Main_content_system_device_info_request_MSGTYPE PB_System_DeviceInfoRequest
#define PB_Main_content_system_device_info_response_MSGTYPE PB_System_DeviceInfoResponse
extern const pb_msgdesc_t PB_Empty_msg;
extern const pb_msgdesc_t PB_StopSession_msg;
@@ -214,9 +238,9 @@ extern const pb_msgdesc_t PB_Main_msg;
/* Maximum encoded size of messages (where known) */
#define PB_Empty_size 0
#define PB_StopSession_size 0
#if defined(PB_Status_PingRequest_size) && defined(PB_Status_PingResponse_size) && 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_StartRequest_size) && defined(PB_Gui_ScreenFrame_size) && defined(PB_Storage_StatRequest_size) && defined(PB_Storage_StatResponse_size)
#if defined(PB_System_PingRequest_size) && defined(PB_System_PingResponse_size) && 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_StartRequest_size) && defined(PB_Gui_ScreenFrame_size) && defined(PB_Storage_StatRequest_size) && defined(PB_Storage_StatResponse_size) && defined(PB_Storage_InfoRequest_size) && defined(PB_Storage_RenameRequest_size) && defined(PB_System_DeviceInfoResponse_size)
#define PB_Main_size (10 + sizeof(union PB_Main_content_size_union))
union PB_Main_content_size_union {char f5[(6 + PB_Status_PingRequest_size)]; char f6[(6 + PB_Status_PingResponse_size)]; 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_StartRequest_size)]; char f22[(7 + PB_Gui_ScreenFrame_size)]; char f24[(7 + PB_Storage_StatRequest_size)]; char f25[(7 + PB_Storage_StatResponse_size)]; char f0[36];};
union PB_Main_content_size_union {char f5[(6 + PB_System_PingRequest_size)]; char f6[(6 + PB_System_PingResponse_size)]; 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_StartRequest_size)]; char f22[(7 + PB_Gui_ScreenFrame_size)]; char f24[(7 + PB_Storage_StatRequest_size)]; char f25[(7 + PB_Storage_StatResponse_size)]; char f28[(7 + PB_Storage_InfoRequest_size)]; char f30[(7 + PB_Storage_RenameRequest_size)]; char f33[(7 + PB_System_DeviceInfoResponse_size)]; char f0[36];};
#endif
#ifdef __cplusplus

View File

@@ -9,6 +9,12 @@
PB_BIND(PB_Storage_File, PB_Storage_File, AUTO)
PB_BIND(PB_Storage_InfoRequest, PB_Storage_InfoRequest, AUTO)
PB_BIND(PB_Storage_InfoResponse, PB_Storage_InfoResponse, AUTO)
PB_BIND(PB_Storage_StatRequest, PB_Storage_StatRequest, AUTO)
@@ -42,5 +48,8 @@ PB_BIND(PB_Storage_Md5sumRequest, PB_Storage_Md5sumRequest, AUTO)
PB_BIND(PB_Storage_Md5sumResponse, PB_Storage_Md5sumResponse, AUTO)
PB_BIND(PB_Storage_RenameRequest, PB_Storage_RenameRequest, AUTO)

View File

@@ -16,6 +16,10 @@ typedef enum _PB_Storage_File_FileType {
} PB_Storage_File_FileType;
/* Struct definitions */
typedef struct _PB_Storage_InfoRequest {
char *path;
} PB_Storage_InfoRequest;
typedef struct _PB_Storage_ListRequest {
char *path;
} PB_Storage_ListRequest;
@@ -32,6 +36,11 @@ typedef struct _PB_Storage_ReadRequest {
char *path;
} PB_Storage_ReadRequest;
typedef struct _PB_Storage_RenameRequest {
char *old_path;
char *new_path;
} PB_Storage_RenameRequest;
typedef struct _PB_Storage_StatRequest {
char *path;
} PB_Storage_StatRequest;
@@ -48,6 +57,11 @@ typedef struct _PB_Storage_File {
pb_bytes_array_t *data;
} PB_Storage_File;
typedef struct _PB_Storage_InfoResponse {
uint64_t total_space;
uint64_t free_space;
} PB_Storage_InfoResponse;
typedef struct _PB_Storage_Md5sumResponse {
char md5sum[33];
} PB_Storage_Md5sumResponse;
@@ -86,6 +100,8 @@ extern "C" {
/* Initializer values for message structs */
#define PB_Storage_File_init_default {_PB_Storage_File_FileType_MIN, NULL, 0, NULL}
#define PB_Storage_InfoRequest_init_default {NULL}
#define PB_Storage_InfoResponse_init_default {0, 0}
#define PB_Storage_StatRequest_init_default {NULL}
#define PB_Storage_StatResponse_init_default {false, PB_Storage_File_init_default}
#define PB_Storage_ListRequest_init_default {NULL}
@@ -97,7 +113,10 @@ extern "C" {
#define PB_Storage_MkdirRequest_init_default {NULL}
#define PB_Storage_Md5sumRequest_init_default {NULL}
#define PB_Storage_Md5sumResponse_init_default {""}
#define PB_Storage_RenameRequest_init_default {NULL, NULL}
#define PB_Storage_File_init_zero {_PB_Storage_File_FileType_MIN, NULL, 0, NULL}
#define PB_Storage_InfoRequest_init_zero {NULL}
#define PB_Storage_InfoResponse_init_zero {0, 0}
#define PB_Storage_StatRequest_init_zero {NULL}
#define PB_Storage_StatResponse_init_zero {false, PB_Storage_File_init_zero}
#define PB_Storage_ListRequest_init_zero {NULL}
@@ -109,12 +128,16 @@ extern "C" {
#define PB_Storage_MkdirRequest_init_zero {NULL}
#define PB_Storage_Md5sumRequest_init_zero {NULL}
#define PB_Storage_Md5sumResponse_init_zero {""}
#define PB_Storage_RenameRequest_init_zero {NULL, NULL}
/* Field tags (for use in manual encoding/decoding) */
#define PB_Storage_InfoRequest_path_tag 1
#define PB_Storage_ListRequest_path_tag 1
#define PB_Storage_Md5sumRequest_path_tag 1
#define PB_Storage_MkdirRequest_path_tag 1
#define PB_Storage_ReadRequest_path_tag 1
#define PB_Storage_RenameRequest_old_path_tag 1
#define PB_Storage_RenameRequest_new_path_tag 2
#define PB_Storage_StatRequest_path_tag 1
#define PB_Storage_DeleteRequest_path_tag 1
#define PB_Storage_DeleteRequest_recursive_tag 2
@@ -122,6 +145,8 @@ extern "C" {
#define PB_Storage_File_name_tag 2
#define PB_Storage_File_size_tag 3
#define PB_Storage_File_data_tag 4
#define PB_Storage_InfoResponse_total_space_tag 1
#define PB_Storage_InfoResponse_free_space_tag 2
#define PB_Storage_Md5sumResponse_md5sum_tag 1
#define PB_Storage_ListResponse_file_tag 1
#define PB_Storage_ReadResponse_file_tag 1
@@ -138,6 +163,17 @@ X(a, POINTER, SINGULAR, BYTES, data, 4)
#define PB_Storage_File_CALLBACK NULL
#define PB_Storage_File_DEFAULT NULL
#define PB_Storage_InfoRequest_FIELDLIST(X, a) \
X(a, POINTER, SINGULAR, STRING, path, 1)
#define PB_Storage_InfoRequest_CALLBACK NULL
#define PB_Storage_InfoRequest_DEFAULT NULL
#define PB_Storage_InfoResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT64, total_space, 1) \
X(a, STATIC, SINGULAR, UINT64, free_space, 2)
#define PB_Storage_InfoResponse_CALLBACK NULL
#define PB_Storage_InfoResponse_DEFAULT NULL
#define PB_Storage_StatRequest_FIELDLIST(X, a) \
X(a, POINTER, SINGULAR, STRING, path, 1)
#define PB_Storage_StatRequest_CALLBACK NULL
@@ -199,7 +235,15 @@ X(a, STATIC, SINGULAR, STRING, md5sum, 1)
#define PB_Storage_Md5sumResponse_CALLBACK NULL
#define PB_Storage_Md5sumResponse_DEFAULT NULL
#define PB_Storage_RenameRequest_FIELDLIST(X, a) \
X(a, POINTER, SINGULAR, STRING, old_path, 1) \
X(a, POINTER, SINGULAR, STRING, new_path, 2)
#define PB_Storage_RenameRequest_CALLBACK NULL
#define PB_Storage_RenameRequest_DEFAULT NULL
extern const pb_msgdesc_t PB_Storage_File_msg;
extern const pb_msgdesc_t PB_Storage_InfoRequest_msg;
extern const pb_msgdesc_t PB_Storage_InfoResponse_msg;
extern const pb_msgdesc_t PB_Storage_StatRequest_msg;
extern const pb_msgdesc_t PB_Storage_StatResponse_msg;
extern const pb_msgdesc_t PB_Storage_ListRequest_msg;
@@ -211,9 +255,12 @@ extern const pb_msgdesc_t PB_Storage_DeleteRequest_msg;
extern const pb_msgdesc_t PB_Storage_MkdirRequest_msg;
extern const pb_msgdesc_t PB_Storage_Md5sumRequest_msg;
extern const pb_msgdesc_t PB_Storage_Md5sumResponse_msg;
extern const pb_msgdesc_t PB_Storage_RenameRequest_msg;
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define PB_Storage_File_fields &PB_Storage_File_msg
#define PB_Storage_InfoRequest_fields &PB_Storage_InfoRequest_msg
#define PB_Storage_InfoResponse_fields &PB_Storage_InfoResponse_msg
#define PB_Storage_StatRequest_fields &PB_Storage_StatRequest_msg
#define PB_Storage_StatResponse_fields &PB_Storage_StatResponse_msg
#define PB_Storage_ListRequest_fields &PB_Storage_ListRequest_msg
@@ -225,9 +272,11 @@ extern const pb_msgdesc_t PB_Storage_Md5sumResponse_msg;
#define PB_Storage_MkdirRequest_fields &PB_Storage_MkdirRequest_msg
#define PB_Storage_Md5sumRequest_fields &PB_Storage_Md5sumRequest_msg
#define PB_Storage_Md5sumResponse_fields &PB_Storage_Md5sumResponse_msg
#define PB_Storage_RenameRequest_fields &PB_Storage_RenameRequest_msg
/* Maximum encoded size of messages (where known) */
/* PB_Storage_File_size depends on runtime parameters */
/* PB_Storage_InfoRequest_size depends on runtime parameters */
/* PB_Storage_StatRequest_size depends on runtime parameters */
/* PB_Storage_StatResponse_size depends on runtime parameters */
/* PB_Storage_ListRequest_size depends on runtime parameters */
@@ -238,6 +287,8 @@ extern const pb_msgdesc_t PB_Storage_Md5sumResponse_msg;
/* PB_Storage_DeleteRequest_size depends on runtime parameters */
/* PB_Storage_MkdirRequest_size depends on runtime parameters */
/* PB_Storage_Md5sumRequest_size depends on runtime parameters */
/* PB_Storage_RenameRequest_size depends on runtime parameters */
#define PB_Storage_InfoResponse_size 22
#define PB_Storage_Md5sumResponse_size 34
#ifdef __cplusplus

View File

@@ -0,0 +1,25 @@
/* Automatically generated nanopb constant definitions */
/* Generated by nanopb-0.4.5 */
#include "system.pb.h"
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif
PB_BIND(PB_System_PingRequest, PB_System_PingRequest, AUTO)
PB_BIND(PB_System_PingResponse, PB_System_PingResponse, AUTO)
PB_BIND(PB_System_RebootRequest, PB_System_RebootRequest, AUTO)
PB_BIND(PB_System_DeviceInfoRequest, PB_System_DeviceInfoRequest, AUTO)
PB_BIND(PB_System_DeviceInfoResponse, PB_System_DeviceInfoResponse, AUTO)

121
assets/compiled/system.pb.h Normal file
View File

@@ -0,0 +1,121 @@
/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.5 */
#ifndef PB_PB_SYSTEM_SYSTEM_PB_H_INCLUDED
#define PB_PB_SYSTEM_SYSTEM_PB_H_INCLUDED
#include <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_System_RebootRequest_RebootMode {
PB_System_RebootRequest_RebootMode_OS = 0,
PB_System_RebootRequest_RebootMode_DFU = 1
} PB_System_RebootRequest_RebootMode;
/* Struct definitions */
typedef struct _PB_System_DeviceInfoRequest {
char dummy_field;
} PB_System_DeviceInfoRequest;
typedef struct _PB_System_DeviceInfoResponse {
char *key;
char *value;
} PB_System_DeviceInfoResponse;
typedef struct _PB_System_PingRequest {
pb_bytes_array_t *data;
} PB_System_PingRequest;
typedef struct _PB_System_PingResponse {
pb_bytes_array_t *data;
} PB_System_PingResponse;
typedef struct _PB_System_RebootRequest {
PB_System_RebootRequest_RebootMode mode;
} PB_System_RebootRequest;
/* Helper constants for enums */
#define _PB_System_RebootRequest_RebootMode_MIN PB_System_RebootRequest_RebootMode_OS
#define _PB_System_RebootRequest_RebootMode_MAX PB_System_RebootRequest_RebootMode_DFU
#define _PB_System_RebootRequest_RebootMode_ARRAYSIZE ((PB_System_RebootRequest_RebootMode)(PB_System_RebootRequest_RebootMode_DFU+1))
#ifdef __cplusplus
extern "C" {
#endif
/* Initializer values for message structs */
#define PB_System_PingRequest_init_default {NULL}
#define PB_System_PingResponse_init_default {NULL}
#define PB_System_RebootRequest_init_default {_PB_System_RebootRequest_RebootMode_MIN}
#define PB_System_DeviceInfoRequest_init_default {0}
#define PB_System_DeviceInfoResponse_init_default {NULL, NULL}
#define PB_System_PingRequest_init_zero {NULL}
#define PB_System_PingResponse_init_zero {NULL}
#define PB_System_RebootRequest_init_zero {_PB_System_RebootRequest_RebootMode_MIN}
#define PB_System_DeviceInfoRequest_init_zero {0}
#define PB_System_DeviceInfoResponse_init_zero {NULL, NULL}
/* Field tags (for use in manual encoding/decoding) */
#define PB_System_DeviceInfoResponse_key_tag 1
#define PB_System_DeviceInfoResponse_value_tag 2
#define PB_System_PingRequest_data_tag 1
#define PB_System_PingResponse_data_tag 1
#define PB_System_RebootRequest_mode_tag 1
/* Struct field encoding specification for nanopb */
#define PB_System_PingRequest_FIELDLIST(X, a) \
X(a, POINTER, SINGULAR, BYTES, data, 1)
#define PB_System_PingRequest_CALLBACK NULL
#define PB_System_PingRequest_DEFAULT NULL
#define PB_System_PingResponse_FIELDLIST(X, a) \
X(a, POINTER, SINGULAR, BYTES, data, 1)
#define PB_System_PingResponse_CALLBACK NULL
#define PB_System_PingResponse_DEFAULT NULL
#define PB_System_RebootRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UENUM, mode, 1)
#define PB_System_RebootRequest_CALLBACK NULL
#define PB_System_RebootRequest_DEFAULT NULL
#define PB_System_DeviceInfoRequest_FIELDLIST(X, a) \
#define PB_System_DeviceInfoRequest_CALLBACK NULL
#define PB_System_DeviceInfoRequest_DEFAULT NULL
#define PB_System_DeviceInfoResponse_FIELDLIST(X, a) \
X(a, POINTER, SINGULAR, STRING, key, 1) \
X(a, POINTER, SINGULAR, STRING, value, 2)
#define PB_System_DeviceInfoResponse_CALLBACK NULL
#define PB_System_DeviceInfoResponse_DEFAULT NULL
extern const pb_msgdesc_t PB_System_PingRequest_msg;
extern const pb_msgdesc_t PB_System_PingResponse_msg;
extern const pb_msgdesc_t PB_System_RebootRequest_msg;
extern const pb_msgdesc_t PB_System_DeviceInfoRequest_msg;
extern const pb_msgdesc_t PB_System_DeviceInfoResponse_msg;
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define PB_System_PingRequest_fields &PB_System_PingRequest_msg
#define PB_System_PingResponse_fields &PB_System_PingResponse_msg
#define PB_System_RebootRequest_fields &PB_System_RebootRequest_msg
#define PB_System_DeviceInfoRequest_fields &PB_System_DeviceInfoRequest_msg
#define PB_System_DeviceInfoResponse_fields &PB_System_DeviceInfoResponse_msg
/* Maximum encoded size of messages (where known) */
/* PB_System_PingRequest_size depends on runtime parameters */
/* PB_System_PingResponse_size depends on runtime parameters */
/* PB_System_DeviceInfoResponse_size depends on runtime parameters */
#define PB_System_DeviceInfoRequest_size 0
#define PB_System_RebootRequest_size 2
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif