/* Automatically generated nanopb header */
/* Generated by nanopb-0.2.8-dev at Wed Apr 30 08:19:49 2014. */

#ifndef _PB_SIMPLE_PB_H_
#define _PB_SIMPLE_PB_H_
#include <pb.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Enum definitions */
typedef enum _CommandType {
    CommandType_ECHO = 2,
    CommandType_RAM_SIZE = 3,
    CommandType_RAM_DATA_SIZE = 4,
    CommandType_RAM_BSS_SIZE = 5,
    CommandType_RAM_HEAP_SIZE = 6,
    CommandType_RAM_STACK_SIZE = 7,
    CommandType_RAM_FREE = 8
} CommandType;

/* Struct definitions */
typedef struct _EchoRequest {
    uint8_t dummy_field;
} EchoRequest;

typedef struct _EchoResponse {
    uint8_t dummy_field;
} EchoResponse;

typedef struct _RAMBSSSizeRequest {
    uint8_t dummy_field;
} RAMBSSSizeRequest;

typedef struct _RAMDataSizeRequest {
    uint8_t dummy_field;
} RAMDataSizeRequest;

typedef struct _RAMFreeRequest {
    uint8_t dummy_field;
} RAMFreeRequest;

typedef struct _RAMHeapSizeRequest {
    uint8_t dummy_field;
} RAMHeapSizeRequest;

typedef struct _RAMSizeRequest {
    uint8_t dummy_field;
} RAMSizeRequest;

typedef struct _RAMStackSizeRequest {
    uint8_t dummy_field;
} RAMStackSizeRequest;

typedef struct _CommandRequest {
    CommandType type;
    bool has_echo;
    EchoRequest echo;
    bool has_ram_size;
    RAMSizeRequest ram_size;
    bool has_ram_data_size;
    RAMDataSizeRequest ram_data_size;
    bool has_ram_bss_size;
    RAMBSSSizeRequest ram_bss_size;
    bool has_ram_heap_size;
    RAMHeapSizeRequest ram_heap_size;
    bool has_ram_stack_size;
    RAMStackSizeRequest ram_stack_size;
    bool has_ram_free;
    RAMFreeRequest ram_free;
} CommandRequest;

typedef struct _RAMBSSSizeResponse {
    uint32_t result;
} RAMBSSSizeResponse;

typedef struct _RAMDataSizeResponse {
    uint32_t result;
} RAMDataSizeResponse;

typedef struct _RAMFreeResponse {
    uint32_t result;
} RAMFreeResponse;

typedef struct _RAMHeapSizeResponse {
    uint32_t result;
} RAMHeapSizeResponse;

typedef struct _RAMSizeResponse {
    uint32_t result;
} RAMSizeResponse;

typedef struct _RAMStackSizeResponse {
    uint32_t result;
} RAMStackSizeResponse;

typedef struct _CommandResponse {
    CommandType type;
    bool has_echo;
    EchoResponse echo;
    bool has_ram_size;
    RAMSizeResponse ram_size;
    bool has_ram_data_size;
    RAMDataSizeResponse ram_data_size;
    bool has_ram_bss_size;
    RAMBSSSizeResponse ram_bss_size;
    bool has_ram_heap_size;
    RAMHeapSizeResponse ram_heap_size;
    bool has_ram_stack_size;
    RAMStackSizeResponse ram_stack_size;
    bool has_ram_free;
    RAMFreeResponse ram_free;
} CommandResponse;

/* Default values for struct fields */

/* Field tags (for use in manual encoding/decoding) */
#define CommandRequest_type_tag                  1
#define CommandRequest_echo_tag                  2
#define CommandRequest_ram_size_tag              3
#define CommandRequest_ram_data_size_tag         4
#define CommandRequest_ram_bss_size_tag          5
#define CommandRequest_ram_heap_size_tag         6
#define CommandRequest_ram_stack_size_tag        7
#define CommandRequest_ram_free_tag              8
#define RAMBSSSizeResponse_result_tag            1
#define RAMDataSizeResponse_result_tag           1
#define RAMFreeResponse_result_tag               1
#define RAMHeapSizeResponse_result_tag           1
#define RAMSizeResponse_result_tag               1
#define RAMStackSizeResponse_result_tag          1
#define CommandResponse_type_tag                 1
#define CommandResponse_echo_tag                 2
#define CommandResponse_ram_size_tag             3
#define CommandResponse_ram_data_size_tag        4
#define CommandResponse_ram_bss_size_tag         5
#define CommandResponse_ram_heap_size_tag        6
#define CommandResponse_ram_stack_size_tag       7
#define CommandResponse_ram_free_tag             8

/* Struct field encoding specification for nanopb */
extern const pb_field_t EchoRequest_fields[1];
extern const pb_field_t RAMSizeRequest_fields[1];
extern const pb_field_t RAMDataSizeRequest_fields[1];
extern const pb_field_t RAMBSSSizeRequest_fields[1];
extern const pb_field_t RAMHeapSizeRequest_fields[1];
extern const pb_field_t RAMStackSizeRequest_fields[1];
extern const pb_field_t RAMFreeRequest_fields[1];
extern const pb_field_t CommandRequest_fields[9];
extern const pb_field_t EchoResponse_fields[1];
extern const pb_field_t RAMSizeResponse_fields[2];
extern const pb_field_t RAMDataSizeResponse_fields[2];
extern const pb_field_t RAMBSSSizeResponse_fields[2];
extern const pb_field_t RAMHeapSizeResponse_fields[2];
extern const pb_field_t RAMStackSizeResponse_fields[2];
extern const pb_field_t RAMFreeResponse_fields[2];
extern const pb_field_t CommandResponse_fields[9];

/* Maximum encoded size of messages (where known) */
#define EchoRequest_size                         0
#define RAMSizeRequest_size                      0
#define RAMDataSizeRequest_size                  0
#define RAMBSSSizeRequest_size                   0
#define RAMHeapSizeRequest_size                  0
#define RAMStackSizeRequest_size                 0
#define RAMFreeRequest_size                      0
#define CommandRequest_size                      20
#define EchoResponse_size                        0
#define RAMSizeResponse_size                     6
#define RAMDataSizeResponse_size                 6
#define RAMBSSSizeResponse_size                  6
#define RAMHeapSizeResponse_size                 6
#define RAMStackSizeResponse_size                6
#define RAMFreeResponse_size                     6
#define CommandResponse_size                     56

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

#endif
