/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.9.1 */

#ifndef PB_BASIC_BASIC_PB_H_INCLUDED
#define PB_BASIC_BASIC_PB_H_INCLUDED
#include "nanopb/pb.h"

#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

/* Struct definitions */
typedef struct _basic_WhoamiCmd {
    char dummy_field;
} basic_WhoamiCmd;

typedef struct _basic_ResetCmd {
    char dummy_field;
} basic_ResetCmd;

typedef struct _basic_DfuStartCmd {
    char dummy_field;
} basic_DfuStartCmd;

typedef struct _basic_WhoamiRsp {
    uint64_t whoami;
} basic_WhoamiRsp;

typedef struct _basic_ResetRsp {
    char dummy_field;
} basic_ResetRsp;

typedef struct _basic_DfuStartRsp {
    char dummy_field;
} basic_DfuStartRsp;

typedef struct _basic_Command {
    pb_size_t which_cmd;
    union {
        basic_WhoamiCmd whoami;
        basic_ResetCmd reset;
        basic_DfuStartCmd dfu_start;
    } cmd;
} basic_Command;

typedef struct _basic_Response {
    pb_size_t which_rsp;
    union {
        basic_WhoamiRsp whoami;
        basic_ResetRsp reset;
        basic_DfuStartRsp dfu_start;
    } rsp;
} basic_Response;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define basic_WhoamiCmd_init_default             {0}
#define basic_ResetCmd_init_default              {0}
#define basic_DfuStartCmd_init_default           {0}
#define basic_WhoamiRsp_init_default             {0}
#define basic_ResetRsp_init_default              {0}
#define basic_DfuStartRsp_init_default           {0}
#define basic_Command_init_default               {0, {basic_WhoamiCmd_init_default}}
#define basic_Response_init_default              {0, {basic_WhoamiRsp_init_default}}
#define basic_WhoamiCmd_init_zero                {0}
#define basic_ResetCmd_init_zero                 {0}
#define basic_DfuStartCmd_init_zero              {0}
#define basic_WhoamiRsp_init_zero                {0}
#define basic_ResetRsp_init_zero                 {0}
#define basic_DfuStartRsp_init_zero              {0}
#define basic_Command_init_zero                  {0, {basic_WhoamiCmd_init_zero}}
#define basic_Response_init_zero                 {0, {basic_WhoamiRsp_init_zero}}

/* Field tags (for use in manual encoding/decoding) */
#define basic_WhoamiRsp_whoami_tag               1
#define basic_Command_whoami_tag                 1
#define basic_Command_reset_tag                  2
#define basic_Command_dfu_start_tag              3
#define basic_Response_whoami_tag                1
#define basic_Response_reset_tag                 2
#define basic_Response_dfu_start_tag             3

/* Struct field encoding specification for nanopb */
#define basic_WhoamiCmd_FIELDLIST(X, a) \

#define basic_WhoamiCmd_CALLBACK NULL
#define basic_WhoamiCmd_DEFAULT NULL

#define basic_ResetCmd_FIELDLIST(X, a) \

#define basic_ResetCmd_CALLBACK NULL
#define basic_ResetCmd_DEFAULT NULL

#define basic_DfuStartCmd_FIELDLIST(X, a) \

#define basic_DfuStartCmd_CALLBACK NULL
#define basic_DfuStartCmd_DEFAULT NULL

#define basic_WhoamiRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT64,   whoami,            1)
#define basic_WhoamiRsp_CALLBACK NULL
#define basic_WhoamiRsp_DEFAULT NULL

#define basic_ResetRsp_FIELDLIST(X, a) \

#define basic_ResetRsp_CALLBACK NULL
#define basic_ResetRsp_DEFAULT NULL

#define basic_DfuStartRsp_FIELDLIST(X, a) \

#define basic_DfuStartRsp_CALLBACK NULL
#define basic_DfuStartRsp_DEFAULT NULL

#define basic_Command_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,whoami,cmd.whoami),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,reset,cmd.reset),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,dfu_start,cmd.dfu_start),   3)
#define basic_Command_CALLBACK NULL
#define basic_Command_DEFAULT NULL
#define basic_Command_cmd_whoami_MSGTYPE basic_WhoamiCmd
#define basic_Command_cmd_reset_MSGTYPE basic_ResetCmd
#define basic_Command_cmd_dfu_start_MSGTYPE basic_DfuStartCmd

#define basic_Response_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,whoami,rsp.whoami),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,reset,rsp.reset),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,dfu_start,rsp.dfu_start),   3)
#define basic_Response_CALLBACK NULL
#define basic_Response_DEFAULT NULL
#define basic_Response_rsp_whoami_MSGTYPE basic_WhoamiRsp
#define basic_Response_rsp_reset_MSGTYPE basic_ResetRsp
#define basic_Response_rsp_dfu_start_MSGTYPE basic_DfuStartRsp

extern const pb_msgdesc_t basic_WhoamiCmd_msg;
extern const pb_msgdesc_t basic_ResetCmd_msg;
extern const pb_msgdesc_t basic_DfuStartCmd_msg;
extern const pb_msgdesc_t basic_WhoamiRsp_msg;
extern const pb_msgdesc_t basic_ResetRsp_msg;
extern const pb_msgdesc_t basic_DfuStartRsp_msg;
extern const pb_msgdesc_t basic_Command_msg;
extern const pb_msgdesc_t basic_Response_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define basic_WhoamiCmd_fields &basic_WhoamiCmd_msg
#define basic_ResetCmd_fields &basic_ResetCmd_msg
#define basic_DfuStartCmd_fields &basic_DfuStartCmd_msg
#define basic_WhoamiRsp_fields &basic_WhoamiRsp_msg
#define basic_ResetRsp_fields &basic_ResetRsp_msg
#define basic_DfuStartRsp_fields &basic_DfuStartRsp_msg
#define basic_Command_fields &basic_Command_msg
#define basic_Response_fields &basic_Response_msg

/* Maximum encoded size of messages (where known) */
#define BASIC_BASIC_PB_H_MAX_SIZE                basic_Response_size
#define basic_Command_size                       2
#define basic_DfuStartCmd_size                   0
#define basic_DfuStartRsp_size                   0
#define basic_ResetCmd_size                      0
#define basic_ResetRsp_size                      0
#define basic_Response_size                      13
#define basic_WhoamiCmd_size                     0
#define basic_WhoamiRsp_size                     11

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif
