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

#ifndef PB_UTIL_UTIL_BETWEEN_PB_H_INCLUDED
#define PB_UTIL_UTIL_BETWEEN_PB_H_INCLUDED
#include <pb.h>
#include "buf/validate/validate.pb.h"
#include "google/protobuf/duration.pb.h"
#include "google/protobuf/timestamp.pb.h"

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

/* Struct definitions */
typedef struct _util_Int32Between {
    int32_t start;
    int32_t end;
} util_Int32Between;

typedef struct _util_UInt32Between {
    uint32_t start;
    uint32_t end;
} util_UInt32Between;

typedef struct _util_SInt32Between {
    int32_t start;
    int32_t end;
} util_SInt32Between;

typedef struct _util_Int64Between {
    int64_t start;
    int64_t end;
} util_Int64Between;

typedef struct _util_UInt64Between {
    uint64_t start;
    uint64_t end;
} util_UInt64Between;

typedef struct _util_SInt64Between {
    int64_t start;
    int64_t end;
} util_SInt64Between;

typedef struct _util_FloatBetween {
    float start;
    float end;
} util_FloatBetween;

typedef struct _util_DoubleBetween {
    double start;
    double end;
} util_DoubleBetween;

typedef struct _util_TimestampBetween {
    bool has_start;
    google_protobuf_Timestamp start;
    bool has_end;
    google_protobuf_Timestamp end;
} util_TimestampBetween;

typedef struct _util_DurationBetween {
    bool has_start;
    google_protobuf_Duration start;
    bool has_end;
    google_protobuf_Duration end;
} util_DurationBetween;


#ifdef __cplusplus
extern "C" {
#endif

/* Initializer values for message structs */
#define util_Int32Between_init_default           {0, 0}
#define util_UInt32Between_init_default          {0, 0}
#define util_SInt32Between_init_default          {0, 0}
#define util_Int64Between_init_default           {0, 0}
#define util_UInt64Between_init_default          {0, 0}
#define util_SInt64Between_init_default          {0, 0}
#define util_FloatBetween_init_default           {0, 0}
#define util_DoubleBetween_init_default          {0, 0}
#define util_TimestampBetween_init_default       {false, google_protobuf_Timestamp_init_default, false, google_protobuf_Timestamp_init_default}
#define util_DurationBetween_init_default        {false, google_protobuf_Duration_init_default, false, google_protobuf_Duration_init_default}
#define util_Int32Between_init_zero              {0, 0}
#define util_UInt32Between_init_zero             {0, 0}
#define util_SInt32Between_init_zero             {0, 0}
#define util_Int64Between_init_zero              {0, 0}
#define util_UInt64Between_init_zero             {0, 0}
#define util_SInt64Between_init_zero             {0, 0}
#define util_FloatBetween_init_zero              {0, 0}
#define util_DoubleBetween_init_zero             {0, 0}
#define util_TimestampBetween_init_zero          {false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Timestamp_init_zero}
#define util_DurationBetween_init_zero           {false, google_protobuf_Duration_init_zero, false, google_protobuf_Duration_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define util_Int32Between_start_tag              1
#define util_Int32Between_end_tag                2
#define util_UInt32Between_start_tag             1
#define util_UInt32Between_end_tag               2
#define util_SInt32Between_start_tag             1
#define util_SInt32Between_end_tag               2
#define util_Int64Between_start_tag              1
#define util_Int64Between_end_tag                2
#define util_UInt64Between_start_tag             1
#define util_UInt64Between_end_tag               2
#define util_SInt64Between_start_tag             1
#define util_SInt64Between_end_tag               2
#define util_FloatBetween_start_tag              1
#define util_FloatBetween_end_tag                2
#define util_DoubleBetween_start_tag             1
#define util_DoubleBetween_end_tag               2
#define util_TimestampBetween_start_tag          1
#define util_TimestampBetween_end_tag            2
#define util_DurationBetween_start_tag           1
#define util_DurationBetween_end_tag             2

/* Struct field encoding specification for nanopb */
#define util_Int32Between_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, INT32,    start,             1) \
X(a, STATIC,   SINGULAR, INT32,    end,               2)
#define util_Int32Between_CALLBACK NULL
#define util_Int32Between_DEFAULT NULL

#define util_UInt32Between_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   start,             1) \
X(a, STATIC,   SINGULAR, UINT32,   end,               2)
#define util_UInt32Between_CALLBACK NULL
#define util_UInt32Between_DEFAULT NULL

#define util_SInt32Between_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, SINT32,   start,             1) \
X(a, STATIC,   SINGULAR, SINT32,   end,               2)
#define util_SInt32Between_CALLBACK NULL
#define util_SInt32Between_DEFAULT NULL

#define util_Int64Between_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, INT64,    start,             1) \
X(a, STATIC,   SINGULAR, INT64,    end,               2)
#define util_Int64Between_CALLBACK NULL
#define util_Int64Between_DEFAULT NULL

#define util_UInt64Between_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT64,   start,             1) \
X(a, STATIC,   SINGULAR, UINT64,   end,               2)
#define util_UInt64Between_CALLBACK NULL
#define util_UInt64Between_DEFAULT NULL

#define util_SInt64Between_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, SINT64,   start,             1) \
X(a, STATIC,   SINGULAR, SINT64,   end,               2)
#define util_SInt64Between_CALLBACK NULL
#define util_SInt64Between_DEFAULT NULL

#define util_FloatBetween_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, FLOAT,    start,             1) \
X(a, STATIC,   SINGULAR, FLOAT,    end,               2)
#define util_FloatBetween_CALLBACK NULL
#define util_FloatBetween_DEFAULT NULL

#define util_DoubleBetween_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, DOUBLE,   start,             1) \
X(a, STATIC,   SINGULAR, DOUBLE,   end,               2)
#define util_DoubleBetween_CALLBACK NULL
#define util_DoubleBetween_DEFAULT NULL

#define util_TimestampBetween_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  start,             1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  end,               2)
#define util_TimestampBetween_CALLBACK NULL
#define util_TimestampBetween_DEFAULT NULL
#define util_TimestampBetween_start_MSGTYPE google_protobuf_Timestamp
#define util_TimestampBetween_end_MSGTYPE google_protobuf_Timestamp

#define util_DurationBetween_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  start,             1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  end,               2)
#define util_DurationBetween_CALLBACK NULL
#define util_DurationBetween_DEFAULT NULL
#define util_DurationBetween_start_MSGTYPE google_protobuf_Duration
#define util_DurationBetween_end_MSGTYPE google_protobuf_Duration

extern const pb_msgdesc_t util_Int32Between_msg;
extern const pb_msgdesc_t util_UInt32Between_msg;
extern const pb_msgdesc_t util_SInt32Between_msg;
extern const pb_msgdesc_t util_Int64Between_msg;
extern const pb_msgdesc_t util_UInt64Between_msg;
extern const pb_msgdesc_t util_SInt64Between_msg;
extern const pb_msgdesc_t util_FloatBetween_msg;
extern const pb_msgdesc_t util_DoubleBetween_msg;
extern const pb_msgdesc_t util_TimestampBetween_msg;
extern const pb_msgdesc_t util_DurationBetween_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define util_Int32Between_fields &util_Int32Between_msg
#define util_UInt32Between_fields &util_UInt32Between_msg
#define util_SInt32Between_fields &util_SInt32Between_msg
#define util_Int64Between_fields &util_Int64Between_msg
#define util_UInt64Between_fields &util_UInt64Between_msg
#define util_SInt64Between_fields &util_SInt64Between_msg
#define util_FloatBetween_fields &util_FloatBetween_msg
#define util_DoubleBetween_fields &util_DoubleBetween_msg
#define util_TimestampBetween_fields &util_TimestampBetween_msg
#define util_DurationBetween_fields &util_DurationBetween_msg

/* Maximum encoded size of messages (where known) */
#define UTIL_UTIL_BETWEEN_PB_H_MAX_SIZE          util_TimestampBetween_size
#define util_DoubleBetween_size                  18
#define util_DurationBetween_size                48
#define util_FloatBetween_size                   10
#define util_Int32Between_size                   22
#define util_Int64Between_size                   22
#define util_SInt32Between_size                  12
#define util_SInt64Between_size                  22
#define util_TimestampBetween_size               48
#define util_UInt32Between_size                  12
#define util_UInt64Between_size                  22

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

#endif
