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

#ifndef PB_REMOTE_HARDWARE_PB_H_INCLUDED
#define PB_REMOTE_HARDWARE_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 _HardwareMessage_Type {
    HardwareMessage_Type_UNSET = 0,
    HardwareMessage_Type_WRITE_GPIOS = 1,
    HardwareMessage_Type_WATCH_GPIOS = 2,
    HardwareMessage_Type_GPIOS_CHANGED = 3,
    HardwareMessage_Type_READ_GPIOS = 4,
    HardwareMessage_Type_READ_GPIOS_REPLY = 5
} HardwareMessage_Type;

/* Struct definitions */
typedef struct _HardwareMessage {
    HardwareMessage_Type typ;
    uint64_t gpio_mask;
    uint64_t gpio_value;
} HardwareMessage;


/* Helper constants for enums */
#define _HardwareMessage_Type_MIN HardwareMessage_Type_UNSET
#define _HardwareMessage_Type_MAX HardwareMessage_Type_READ_GPIOS_REPLY
#define _HardwareMessage_Type_ARRAYSIZE ((HardwareMessage_Type)(HardwareMessage_Type_READ_GPIOS_REPLY+1))


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define HardwareMessage_init_default             {_HardwareMessage_Type_MIN, 0, 0}
#define HardwareMessage_init_zero                {_HardwareMessage_Type_MIN, 0, 0}

/* Field tags (for use in manual encoding/decoding) */
#define HardwareMessage_typ_tag                  1
#define HardwareMessage_gpio_mask_tag            2
#define HardwareMessage_gpio_value_tag           3

/* Struct field encoding specification for nanopb */
#define HardwareMessage_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UENUM,    typ,               1) \
X(a, STATIC,   SINGULAR, UINT64,   gpio_mask,         2) \
X(a, STATIC,   SINGULAR, UINT64,   gpio_value,        3)
#define HardwareMessage_CALLBACK NULL
#define HardwareMessage_DEFAULT NULL

extern const pb_msgdesc_t HardwareMessage_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define HardwareMessage_fields &HardwareMessage_msg

/* Maximum encoded size of messages (where known) */
#define HardwareMessage_size                     24

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

#endif
