/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.9.1 */

#ifndef PB_PROTO_REGISTERS_PB_H_INCLUDED
#define PB_PROTO_REGISTERS_PB_H_INCLUDED
#ifdef ENABLE_WEBSOCKET_PB
#include <pb.h>

#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

/* Struct definitions */
typedef struct _Register {
    uint32_t address;
    bool has_error;
    int32_t error;
    bool has_value;
    uint32_t value;
    bool has_name;
    char name[40];
    bool has_component;
    char component[40];
    bool has_id;
    uint32_t id;
    bool has_type;
    uint32_t type;
    bool has_slaveId;
    uint32_t slaveId;
    bool has_flags;
    uint32_t flags;
    bool has_group;
    char group[40];
} Register;

typedef struct _RegistersResponseMetadata {
    uint32_t page;
    uint32_t pageSize;
    uint32_t totalRegisters;
    uint32_t totalPages;
} RegistersResponseMetadata;

typedef struct _RegistersResponse {
    RegistersResponseMetadata meta;
    pb_callback_t data;
} RegistersResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define Register_init_default                    {0, false, 0, false, 0, false, "", false, "", false, 0, false, 0, false, 0, false, 0, false, ""}
#define RegistersResponseMetadata_init_default   {0, 0, 0, 0}
#define RegistersResponse_init_default           {RegistersResponseMetadata_init_default, {{NULL}, NULL}}
#define Register_init_zero                       {0, false, 0, false, 0, false, "", false, "", false, 0, false, 0, false, 0, false, 0, false, ""}
#define RegistersResponseMetadata_init_zero      {0, 0, 0, 0}
#define RegistersResponse_init_zero              {RegistersResponseMetadata_init_zero, {{NULL}, NULL}}

/* Field tags (for use in manual encoding/decoding) */
#define Register_address_tag                     1
#define Register_error_tag                       2
#define Register_value_tag                       3
#define Register_name_tag                        4
#define Register_component_tag                   5
#define Register_id_tag                          6
#define Register_type_tag                        7
#define Register_slaveId_tag                     8
#define Register_flags_tag                       9
#define Register_group_tag                       10
#define RegistersResponseMetadata_page_tag       1
#define RegistersResponseMetadata_pageSize_tag   2
#define RegistersResponseMetadata_totalRegisters_tag 3
#define RegistersResponseMetadata_totalPages_tag 4
#define RegistersResponse_meta_tag               1
#define RegistersResponse_data_tag               2

/* Struct field encoding specification for nanopb */
#define Register_FIELDLIST(X, a) \
X(a, STATIC,   REQUIRED, UINT32,   address,           1) \
X(a, STATIC,   OPTIONAL, SINT32,   error,             2) \
X(a, STATIC,   OPTIONAL, UINT32,   value,             3) \
X(a, STATIC,   OPTIONAL, STRING,   name,              4) \
X(a, STATIC,   OPTIONAL, STRING,   component,         5) \
X(a, STATIC,   OPTIONAL, UINT32,   id,                6) \
X(a, STATIC,   OPTIONAL, UINT32,   type,              7) \
X(a, STATIC,   OPTIONAL, UINT32,   slaveId,           8) \
X(a, STATIC,   OPTIONAL, UINT32,   flags,             9) \
X(a, STATIC,   OPTIONAL, STRING,   group,            10)
#define Register_CALLBACK NULL
#define Register_DEFAULT NULL

#define RegistersResponseMetadata_FIELDLIST(X, a) \
X(a, STATIC,   REQUIRED, UINT32,   page,              1) \
X(a, STATIC,   REQUIRED, UINT32,   pageSize,          2) \
X(a, STATIC,   REQUIRED, UINT32,   totalRegisters,    3) \
X(a, STATIC,   REQUIRED, UINT32,   totalPages,        4)
#define RegistersResponseMetadata_CALLBACK NULL
#define RegistersResponseMetadata_DEFAULT NULL

#define RegistersResponse_FIELDLIST(X, a) \
X(a, STATIC,   REQUIRED, MESSAGE,  meta,              1) \
X(a, CALLBACK, REPEATED, MESSAGE,  data,              2)
#define RegistersResponse_CALLBACK pb_default_field_callback
#define RegistersResponse_DEFAULT NULL
#define RegistersResponse_meta_MSGTYPE RegistersResponseMetadata
#define RegistersResponse_data_MSGTYPE Register

extern const pb_msgdesc_t Register_msg;
extern const pb_msgdesc_t RegistersResponseMetadata_msg;
extern const pb_msgdesc_t RegistersResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define Register_fields &Register_msg
#define RegistersResponseMetadata_fields &RegistersResponseMetadata_msg
#define RegistersResponse_fields &RegistersResponse_msg

/* Maximum encoded size of messages (where known) */
/* RegistersResponse_size depends on runtime parameters */
#define PROTO_REGISTERS_PB_H_MAX_SIZE            Register_size
#define Register_size                            165
#define RegistersResponseMetadata_size           24

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif
#endif