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

#ifndef PB_SACD_RIPPER_PB_H_INCLUDED
#define PB_SACD_RIPPER_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 _ServerRequest_Type {
    ServerRequest_Type_DISC_OPEN = 1,
    ServerRequest_Type_DISC_CLOSE = 2,
    ServerRequest_Type_DISC_READ = 3,
    ServerRequest_Type_DISC_SIZE = 4
} ServerRequest_Type;

typedef enum _ServerResponse_Type {
    ServerResponse_Type_DISC_OPENED = 1,
    ServerResponse_Type_DISC_CLOSED = 2,
    ServerResponse_Type_DISC_READ = 3,
    ServerResponse_Type_DISC_SIZE = 4
} ServerResponse_Type;

/* Struct definitions */
typedef struct _ServerRequest {
    ServerRequest_Type type;
    uint32_t sector_offset;
    uint32_t sector_count;
} ServerRequest;

typedef PB_BYTES_ARRAY_T(1024000) ServerResponse_data_t;
typedef struct _ServerResponse {
    ServerResponse_Type type;
    int64_t result;
    bool has_data;
    ServerResponse_data_t data;
} ServerResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Helper constants for enums */
#define _ServerRequest_Type_MIN ServerRequest_Type_DISC_OPEN
#define _ServerRequest_Type_MAX ServerRequest_Type_DISC_SIZE
#define _ServerRequest_Type_ARRAYSIZE ((ServerRequest_Type)(ServerRequest_Type_DISC_SIZE+1))

#define _ServerResponse_Type_MIN ServerResponse_Type_DISC_OPENED
#define _ServerResponse_Type_MAX ServerResponse_Type_DISC_SIZE
#define _ServerResponse_Type_ARRAYSIZE ((ServerResponse_Type)(ServerResponse_Type_DISC_SIZE+1))

#define ServerRequest_type_ENUMTYPE ServerRequest_Type

#define ServerResponse_type_ENUMTYPE ServerResponse_Type


/* Initializer values for message structs */
#define ServerRequest_init_default               {_ServerRequest_Type_MIN, 0u, 0u}
#define ServerResponse_init_default              {_ServerResponse_Type_MIN, 0, false, {0, {0}}}
#define ServerRequest_init_zero                  {_ServerRequest_Type_MIN, 0, 0}
#define ServerResponse_init_zero                 {_ServerResponse_Type_MIN, 0, false, {0, {0}}}

/* Field tags (for use in manual encoding/decoding) */
#define ServerRequest_type_tag                   1
#define ServerRequest_sector_offset_tag          2
#define ServerRequest_sector_count_tag           3
#define ServerResponse_type_tag                  1
#define ServerResponse_result_tag                2
#define ServerResponse_data_tag                  3

/* Struct field encoding specification for nanopb */
#define ServerRequest_FIELDLIST(X, a) \
X(a, STATIC,   REQUIRED, UENUM,    type,              1) \
X(a, STATIC,   REQUIRED, UINT32,   sector_offset,     2) \
X(a, STATIC,   REQUIRED, UINT32,   sector_count,      3)
#define ServerRequest_CALLBACK NULL
#define ServerRequest_DEFAULT (const pb_byte_t*)"\x08\x01\x10\x00\x18\x00\x00"

#define ServerResponse_FIELDLIST(X, a) \
X(a, STATIC,   REQUIRED, UENUM,    type,              1) \
X(a, STATIC,   REQUIRED, INT64,    result,            2) \
X(a, STATIC,   OPTIONAL, BYTES,    data,              3)
#define ServerResponse_CALLBACK NULL
#define ServerResponse_DEFAULT (const pb_byte_t*)"\x08\x01\x00"

extern const pb_msgdesc_t ServerRequest_msg;
extern const pb_msgdesc_t ServerResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define ServerRequest_fields &ServerRequest_msg
#define ServerResponse_fields &ServerResponse_msg

/* Maximum encoded size of messages (where known) */
#define SACD_RIPPER_PB_H_MAX_SIZE                ServerResponse_size
#define ServerRequest_size                       14
#define ServerResponse_size                      1024017

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

#endif
