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

#ifndef PB_SIMPLEBLE_SIMPLEBLE_PB_H_INCLUDED
#define PB_SIMPLEBLE_SIMPLEBLE_PB_H_INCLUDED
#include "nanopb/pb.h"

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

/* Enum definitions */
typedef enum _simpleble_BluetoothAddressType {
    simpleble_BluetoothAddressType_PUBLIC = 0,
    simpleble_BluetoothAddressType_RANDOM = 1,
    simpleble_BluetoothAddressType_UNSPECIFIED = 2
} simpleble_BluetoothAddressType;

typedef enum _simpleble_WriteOperation {
    simpleble_WriteOperation_WRITE_INVALID = 0,
    simpleble_WriteOperation_WRITE_REQ = 1,
    simpleble_WriteOperation_WRITE_CMD = 2
} simpleble_WriteOperation;

typedef enum _simpleble_ValueChangedType {
    simpleble_ValueChangedType_VALUE_CHANGED_INVALID = 0,
    simpleble_ValueChangedType_NOTIFICATION = 1,
    simpleble_ValueChangedType_INDICATION = 2
} simpleble_ValueChangedType;

/* Struct definitions */
typedef struct _simpleble_UUID16Bit {
    uint16_t uuid;
} simpleble_UUID16Bit;

typedef struct _simpleble_UUID32Bit {
    uint32_t uuid;
} simpleble_UUID32Bit;

typedef struct _simpleble_UUID128Bit {
    pb_byte_t uuid[16]; /* BluetoothUUID, 16 bytes */
} simpleble_UUID128Bit;

typedef struct _simpleble_UUID {
    pb_size_t which_uuid;
    union {
        simpleble_UUID16Bit uuid16;
        simpleble_UUID32Bit uuid32;
        simpleble_UUID128Bit uuid128;
    } uuid;
} simpleble_UUID;

typedef PB_BYTES_ARRAY_T(27) simpleble_ManufacturerDataEntry_data_t;
typedef struct _simpleble_ManufacturerDataEntry {
    uint16_t company_id;
    simpleble_ManufacturerDataEntry_data_t data; /* Max manufacturer data size */
} simpleble_ManufacturerDataEntry;

typedef PB_BYTES_ARRAY_T(27) simpleble_ServiceDataEntry_data_t;
typedef struct _simpleble_ServiceDataEntry {
    bool has_uuid;
    simpleble_UUID uuid;
    simpleble_ServiceDataEntry_data_t data; /* Max service data size */
} simpleble_ServiceDataEntry;

typedef struct _simpleble_CharacteristicProperties {
    bool broadcast;
    bool read;
    bool write_wo_resp;
    bool write;
    bool notify;
    bool indicate;
    bool auth_signed_wr;
} simpleble_CharacteristicProperties;

typedef struct _simpleble_Service {
    bool has_uuid;
    simpleble_UUID uuid;
    uint16_t start_handle;
    uint16_t end_handle;
} simpleble_Service;

typedef struct _simpleble_Characteristic {
    bool has_uuid;
    simpleble_UUID uuid;
    bool has_props;
    simpleble_CharacteristicProperties props;
    uint16_t handle_decl;
    uint16_t handle_value;
} simpleble_Characteristic;

typedef struct _simpleble_Descriptor {
    bool has_uuid;
    simpleble_UUID uuid;
    uint16_t handle;
} simpleble_Descriptor;

typedef struct _simpleble_Attribute {
    pb_size_t which_attribute;
    union {
        simpleble_Service service;
        simpleble_Characteristic characteristic;
        simpleble_Descriptor descriptor;
    } attribute;
} simpleble_Attribute;

typedef struct _simpleble_InitCmd {
    char dummy_field;
} simpleble_InitCmd;

typedef struct _simpleble_ScanStartCmd {
    char dummy_field;
} simpleble_ScanStartCmd;

typedef struct _simpleble_ScanStopCmd {
    char dummy_field;
} simpleble_ScanStopCmd;

typedef struct _simpleble_ConnectCmd {
    simpleble_BluetoothAddressType address_type;
    char address[18]; /* 17 characters + null terminator */
} simpleble_ConnectCmd;

typedef struct _simpleble_DisconnectCmd {
    uint16_t conn_handle;
} simpleble_DisconnectCmd;

typedef struct _simpleble_ReadCmd {
    uint16_t conn_handle;
    uint16_t handle;
} simpleble_ReadCmd;

typedef PB_BYTES_ARRAY_T(512) simpleble_WriteCmd_data_t;
typedef struct _simpleble_WriteCmd {
    uint16_t conn_handle;
    uint16_t handle;
    simpleble_WriteOperation op;
    simpleble_WriteCmd_data_t data; /* Variable length */
} simpleble_WriteCmd;

typedef struct _simpleble_InitRsp {
    uint32_t ret_code;
} simpleble_InitRsp;

typedef struct _simpleble_ScanStartRsp {
    uint32_t ret_code;
} simpleble_ScanStartRsp;

typedef struct _simpleble_ScanStopRsp {
    uint32_t ret_code;
} simpleble_ScanStopRsp;

typedef struct _simpleble_ConnectRsp {
    uint32_t ret_code;
} simpleble_ConnectRsp;

typedef struct _simpleble_DisconnectRsp {
    uint32_t ret_code;
} simpleble_DisconnectRsp;

typedef PB_BYTES_ARRAY_T(512) simpleble_ReadRsp_data_t;
typedef struct _simpleble_ReadRsp {
    uint32_t ret_code;
    uint16_t conn_handle;
    simpleble_ReadRsp_data_t data; /* Variable length */
} simpleble_ReadRsp;

typedef struct _simpleble_WriteRsp {
    uint32_t ret_code;
    uint16_t conn_handle;
} simpleble_WriteRsp;

typedef struct _simpleble_AdvEvt {
    char identifier[32];
    simpleble_BluetoothAddressType address_type;
    char address[18]; /* 17 characters + null terminator */
    bool connectable;
    int16_t rssi;
    int16_t tx_power;
    pb_size_t manufacturer_data_count;
    simpleble_ManufacturerDataEntry manufacturer_data[4];
    pb_size_t service_data_count;
    simpleble_ServiceDataEntry service_data[4];
} simpleble_AdvEvt;

typedef struct _simpleble_ConnectionEvt {
    char address[18]; /* 17 characters + null terminator */
    uint16_t conn_handle;
} simpleble_ConnectionEvt;

typedef struct _simpleble_DisconnectionEvt {
    uint16_t conn_handle;
} simpleble_DisconnectionEvt;

typedef struct _simpleble_ServiceDiscoveredEvt {
    uint16_t conn_handle;
    uint16_t start_handle;
    uint16_t end_handle;
    bool has_uuid16;
    simpleble_UUID16Bit uuid16;
} simpleble_ServiceDiscoveredEvt;

typedef struct _simpleble_CharacteristicDiscoveredEvt {
    uint16_t conn_handle;
    uint16_t handle_decl;
    uint16_t handle_value;
    bool has_uuid16;
    simpleble_UUID16Bit uuid16;
    bool has_props;
    simpleble_CharacteristicProperties props;
} simpleble_CharacteristicDiscoveredEvt;

typedef struct _simpleble_DescriptorDiscoveredEvt {
    uint16_t conn_handle;
    uint16_t handle;
    bool has_uuid16;
    simpleble_UUID16Bit uuid16;
} simpleble_DescriptorDiscoveredEvt;

typedef struct _simpleble_AttributeDiscoveryCompleteEvt {
    uint16_t conn_handle;
} simpleble_AttributeDiscoveryCompleteEvt;

typedef PB_BYTES_ARRAY_T(512) simpleble_ValueChangedEvt_data_t;
typedef struct _simpleble_ValueChangedEvt {
    uint16_t conn_handle;
    uint16_t handle;
    simpleble_ValueChangedType type;
    simpleble_ValueChangedEvt_data_t data; /* Variable length */
} simpleble_ValueChangedEvt;

typedef struct _simpleble_Command {
    pb_size_t which_cmd;
    union {
        simpleble_InitCmd init;
        simpleble_ScanStartCmd scan_start;
        simpleble_ScanStopCmd scan_stop;
        simpleble_ConnectCmd connect;
        simpleble_DisconnectCmd disconnect;
        simpleble_ReadCmd read;
        simpleble_WriteCmd write;
    } cmd;
} simpleble_Command;

typedef struct _simpleble_Response {
    pb_size_t which_rsp;
    union {
        simpleble_InitRsp init;
        simpleble_ScanStartRsp scan_start;
        simpleble_ScanStopRsp scan_stop;
        simpleble_ConnectRsp connect;
        simpleble_DisconnectRsp disconnect;
        simpleble_ReadRsp read;
        simpleble_WriteRsp write;
    } rsp;
} simpleble_Response;

typedef struct _simpleble_Event {
    pb_size_t which_evt;
    union {
        simpleble_AdvEvt adv_evt;
        simpleble_ConnectionEvt connection_evt;
        simpleble_DisconnectionEvt disconnection_evt;
        simpleble_ServiceDiscoveredEvt service_discovered_evt;
        simpleble_CharacteristicDiscoveredEvt characteristic_discovered_evt;
        simpleble_DescriptorDiscoveredEvt descriptor_discovered_evt;
        simpleble_AttributeDiscoveryCompleteEvt attribute_discovery_complete_evt;
        simpleble_ValueChangedEvt value_changed_evt;
    } evt;
} simpleble_Event;


#ifdef __cplusplus
extern "C" {
#endif

/* Helper constants for enums */
#define _simpleble_BluetoothAddressType_MIN simpleble_BluetoothAddressType_PUBLIC
#define _simpleble_BluetoothAddressType_MAX simpleble_BluetoothAddressType_UNSPECIFIED
#define _simpleble_BluetoothAddressType_ARRAYSIZE ((simpleble_BluetoothAddressType)(simpleble_BluetoothAddressType_UNSPECIFIED+1))

#define _simpleble_WriteOperation_MIN simpleble_WriteOperation_WRITE_INVALID
#define _simpleble_WriteOperation_MAX simpleble_WriteOperation_WRITE_CMD
#define _simpleble_WriteOperation_ARRAYSIZE ((simpleble_WriteOperation)(simpleble_WriteOperation_WRITE_CMD+1))

#define _simpleble_ValueChangedType_MIN simpleble_ValueChangedType_VALUE_CHANGED_INVALID
#define _simpleble_ValueChangedType_MAX simpleble_ValueChangedType_INDICATION
#define _simpleble_ValueChangedType_ARRAYSIZE ((simpleble_ValueChangedType)(simpleble_ValueChangedType_INDICATION+1))















#define simpleble_ConnectCmd_address_type_ENUMTYPE simpleble_BluetoothAddressType



#define simpleble_WriteCmd_op_ENUMTYPE simpleble_WriteOperation








#define simpleble_AdvEvt_address_type_ENUMTYPE simpleble_BluetoothAddressType







#define simpleble_ValueChangedEvt_type_ENUMTYPE simpleble_ValueChangedType





/* Initializer values for message structs */
#define simpleble_UUID16Bit_init_default         {0}
#define simpleble_UUID32Bit_init_default         {0}
#define simpleble_UUID128Bit_init_default        {{0}}
#define simpleble_UUID_init_default              {0, {simpleble_UUID16Bit_init_default}}
#define simpleble_ManufacturerDataEntry_init_default {0, {0, {0}}}
#define simpleble_ServiceDataEntry_init_default  {false, simpleble_UUID_init_default, {0, {0}}}
#define simpleble_CharacteristicProperties_init_default {0, 0, 0, 0, 0, 0, 0}
#define simpleble_Service_init_default           {false, simpleble_UUID_init_default, 0, 0}
#define simpleble_Characteristic_init_default    {false, simpleble_UUID_init_default, false, simpleble_CharacteristicProperties_init_default, 0, 0}
#define simpleble_Descriptor_init_default        {false, simpleble_UUID_init_default, 0}
#define simpleble_Attribute_init_default         {0, {simpleble_Service_init_default}}
#define simpleble_InitCmd_init_default           {0}
#define simpleble_ScanStartCmd_init_default      {0}
#define simpleble_ScanStopCmd_init_default       {0}
#define simpleble_ConnectCmd_init_default        {_simpleble_BluetoothAddressType_MIN, ""}
#define simpleble_DisconnectCmd_init_default     {0}
#define simpleble_ReadCmd_init_default           {0, 0}
#define simpleble_WriteCmd_init_default          {0, 0, _simpleble_WriteOperation_MIN, {0, {0}}}
#define simpleble_InitRsp_init_default           {0}
#define simpleble_ScanStartRsp_init_default      {0}
#define simpleble_ScanStopRsp_init_default       {0}
#define simpleble_ConnectRsp_init_default        {0}
#define simpleble_DisconnectRsp_init_default     {0}
#define simpleble_ReadRsp_init_default           {0, 0, {0, {0}}}
#define simpleble_WriteRsp_init_default          {0, 0}
#define simpleble_AdvEvt_init_default            {"", _simpleble_BluetoothAddressType_MIN, "", 0, 0, 0, 0, {simpleble_ManufacturerDataEntry_init_default, simpleble_ManufacturerDataEntry_init_default, simpleble_ManufacturerDataEntry_init_default, simpleble_ManufacturerDataEntry_init_default}, 0, {simpleble_ServiceDataEntry_init_default, simpleble_ServiceDataEntry_init_default, simpleble_ServiceDataEntry_init_default, simpleble_ServiceDataEntry_init_default}}
#define simpleble_ConnectionEvt_init_default     {"", 0}
#define simpleble_DisconnectionEvt_init_default  {0}
#define simpleble_ServiceDiscoveredEvt_init_default {0, 0, 0, false, simpleble_UUID16Bit_init_default}
#define simpleble_CharacteristicDiscoveredEvt_init_default {0, 0, 0, false, simpleble_UUID16Bit_init_default, false, simpleble_CharacteristicProperties_init_default}
#define simpleble_DescriptorDiscoveredEvt_init_default {0, 0, false, simpleble_UUID16Bit_init_default}
#define simpleble_AttributeDiscoveryCompleteEvt_init_default {0}
#define simpleble_ValueChangedEvt_init_default   {0, 0, _simpleble_ValueChangedType_MIN, {0, {0}}}
#define simpleble_Command_init_default           {0, {simpleble_InitCmd_init_default}}
#define simpleble_Response_init_default          {0, {simpleble_InitRsp_init_default}}
#define simpleble_Event_init_default             {0, {simpleble_AdvEvt_init_default}}
#define simpleble_UUID16Bit_init_zero            {0}
#define simpleble_UUID32Bit_init_zero            {0}
#define simpleble_UUID128Bit_init_zero           {{0}}
#define simpleble_UUID_init_zero                 {0, {simpleble_UUID16Bit_init_zero}}
#define simpleble_ManufacturerDataEntry_init_zero {0, {0, {0}}}
#define simpleble_ServiceDataEntry_init_zero     {false, simpleble_UUID_init_zero, {0, {0}}}
#define simpleble_CharacteristicProperties_init_zero {0, 0, 0, 0, 0, 0, 0}
#define simpleble_Service_init_zero              {false, simpleble_UUID_init_zero, 0, 0}
#define simpleble_Characteristic_init_zero       {false, simpleble_UUID_init_zero, false, simpleble_CharacteristicProperties_init_zero, 0, 0}
#define simpleble_Descriptor_init_zero           {false, simpleble_UUID_init_zero, 0}
#define simpleble_Attribute_init_zero            {0, {simpleble_Service_init_zero}}
#define simpleble_InitCmd_init_zero              {0}
#define simpleble_ScanStartCmd_init_zero         {0}
#define simpleble_ScanStopCmd_init_zero          {0}
#define simpleble_ConnectCmd_init_zero           {_simpleble_BluetoothAddressType_MIN, ""}
#define simpleble_DisconnectCmd_init_zero        {0}
#define simpleble_ReadCmd_init_zero              {0, 0}
#define simpleble_WriteCmd_init_zero             {0, 0, _simpleble_WriteOperation_MIN, {0, {0}}}
#define simpleble_InitRsp_init_zero              {0}
#define simpleble_ScanStartRsp_init_zero         {0}
#define simpleble_ScanStopRsp_init_zero          {0}
#define simpleble_ConnectRsp_init_zero           {0}
#define simpleble_DisconnectRsp_init_zero        {0}
#define simpleble_ReadRsp_init_zero              {0, 0, {0, {0}}}
#define simpleble_WriteRsp_init_zero             {0, 0}
#define simpleble_AdvEvt_init_zero               {"", _simpleble_BluetoothAddressType_MIN, "", 0, 0, 0, 0, {simpleble_ManufacturerDataEntry_init_zero, simpleble_ManufacturerDataEntry_init_zero, simpleble_ManufacturerDataEntry_init_zero, simpleble_ManufacturerDataEntry_init_zero}, 0, {simpleble_ServiceDataEntry_init_zero, simpleble_ServiceDataEntry_init_zero, simpleble_ServiceDataEntry_init_zero, simpleble_ServiceDataEntry_init_zero}}
#define simpleble_ConnectionEvt_init_zero        {"", 0}
#define simpleble_DisconnectionEvt_init_zero     {0}
#define simpleble_ServiceDiscoveredEvt_init_zero {0, 0, 0, false, simpleble_UUID16Bit_init_zero}
#define simpleble_CharacteristicDiscoveredEvt_init_zero {0, 0, 0, false, simpleble_UUID16Bit_init_zero, false, simpleble_CharacteristicProperties_init_zero}
#define simpleble_DescriptorDiscoveredEvt_init_zero {0, 0, false, simpleble_UUID16Bit_init_zero}
#define simpleble_AttributeDiscoveryCompleteEvt_init_zero {0}
#define simpleble_ValueChangedEvt_init_zero      {0, 0, _simpleble_ValueChangedType_MIN, {0, {0}}}
#define simpleble_Command_init_zero              {0, {simpleble_InitCmd_init_zero}}
#define simpleble_Response_init_zero             {0, {simpleble_InitRsp_init_zero}}
#define simpleble_Event_init_zero                {0, {simpleble_AdvEvt_init_zero}}

/* Field tags (for use in manual encoding/decoding) */
#define simpleble_UUID16Bit_uuid_tag             1
#define simpleble_UUID32Bit_uuid_tag             1
#define simpleble_UUID128Bit_uuid_tag            1
#define simpleble_UUID_uuid16_tag                1
#define simpleble_UUID_uuid32_tag                2
#define simpleble_UUID_uuid128_tag               3
#define simpleble_ManufacturerDataEntry_company_id_tag 1
#define simpleble_ManufacturerDataEntry_data_tag 2
#define simpleble_ServiceDataEntry_uuid_tag      1
#define simpleble_ServiceDataEntry_data_tag      2
#define simpleble_CharacteristicProperties_broadcast_tag 1
#define simpleble_CharacteristicProperties_read_tag 2
#define simpleble_CharacteristicProperties_write_wo_resp_tag 3
#define simpleble_CharacteristicProperties_write_tag 4
#define simpleble_CharacteristicProperties_notify_tag 5
#define simpleble_CharacteristicProperties_indicate_tag 6
#define simpleble_CharacteristicProperties_auth_signed_wr_tag 7
#define simpleble_Service_uuid_tag               1
#define simpleble_Service_start_handle_tag       2
#define simpleble_Service_end_handle_tag         3
#define simpleble_Characteristic_uuid_tag        1
#define simpleble_Characteristic_props_tag       2
#define simpleble_Characteristic_handle_decl_tag 3
#define simpleble_Characteristic_handle_value_tag 4
#define simpleble_Descriptor_uuid_tag            1
#define simpleble_Descriptor_handle_tag          2
#define simpleble_Attribute_service_tag          1
#define simpleble_Attribute_characteristic_tag   2
#define simpleble_Attribute_descriptor_tag       3
#define simpleble_ConnectCmd_address_type_tag    1
#define simpleble_ConnectCmd_address_tag         2
#define simpleble_DisconnectCmd_conn_handle_tag  1
#define simpleble_ReadCmd_conn_handle_tag        1
#define simpleble_ReadCmd_handle_tag             2
#define simpleble_WriteCmd_conn_handle_tag       1
#define simpleble_WriteCmd_handle_tag            2
#define simpleble_WriteCmd_op_tag                3
#define simpleble_WriteCmd_data_tag              4
#define simpleble_InitRsp_ret_code_tag           1
#define simpleble_ScanStartRsp_ret_code_tag      1
#define simpleble_ScanStopRsp_ret_code_tag       1
#define simpleble_ConnectRsp_ret_code_tag        1
#define simpleble_DisconnectRsp_ret_code_tag     1
#define simpleble_ReadRsp_ret_code_tag           1
#define simpleble_ReadRsp_conn_handle_tag        2
#define simpleble_ReadRsp_data_tag               3
#define simpleble_WriteRsp_ret_code_tag          1
#define simpleble_WriteRsp_conn_handle_tag       2
#define simpleble_AdvEvt_identifier_tag          1
#define simpleble_AdvEvt_address_type_tag        2
#define simpleble_AdvEvt_address_tag             3
#define simpleble_AdvEvt_connectable_tag         4
#define simpleble_AdvEvt_rssi_tag                5
#define simpleble_AdvEvt_tx_power_tag            6
#define simpleble_AdvEvt_manufacturer_data_tag   7
#define simpleble_AdvEvt_service_data_tag        8
#define simpleble_ConnectionEvt_address_tag      1
#define simpleble_ConnectionEvt_conn_handle_tag  2
#define simpleble_DisconnectionEvt_conn_handle_tag 1
#define simpleble_ServiceDiscoveredEvt_conn_handle_tag 1
#define simpleble_ServiceDiscoveredEvt_start_handle_tag 2
#define simpleble_ServiceDiscoveredEvt_end_handle_tag 3
#define simpleble_ServiceDiscoveredEvt_uuid16_tag 4
#define simpleble_CharacteristicDiscoveredEvt_conn_handle_tag 1
#define simpleble_CharacteristicDiscoveredEvt_handle_decl_tag 2
#define simpleble_CharacteristicDiscoveredEvt_handle_value_tag 3
#define simpleble_CharacteristicDiscoveredEvt_uuid16_tag 4
#define simpleble_CharacteristicDiscoveredEvt_props_tag 5
#define simpleble_DescriptorDiscoveredEvt_conn_handle_tag 1
#define simpleble_DescriptorDiscoveredEvt_handle_tag 2
#define simpleble_DescriptorDiscoveredEvt_uuid16_tag 3
#define simpleble_AttributeDiscoveryCompleteEvt_conn_handle_tag 1
#define simpleble_ValueChangedEvt_conn_handle_tag 1
#define simpleble_ValueChangedEvt_handle_tag     2
#define simpleble_ValueChangedEvt_type_tag       3
#define simpleble_ValueChangedEvt_data_tag       4
#define simpleble_Command_init_tag               1
#define simpleble_Command_scan_start_tag         2
#define simpleble_Command_scan_stop_tag          3
#define simpleble_Command_connect_tag            4
#define simpleble_Command_disconnect_tag         5
#define simpleble_Command_read_tag               6
#define simpleble_Command_write_tag              7
#define simpleble_Response_init_tag              1
#define simpleble_Response_scan_start_tag        2
#define simpleble_Response_scan_stop_tag         3
#define simpleble_Response_connect_tag           4
#define simpleble_Response_disconnect_tag        5
#define simpleble_Response_read_tag              6
#define simpleble_Response_write_tag             7
#define simpleble_Event_adv_evt_tag              1
#define simpleble_Event_connection_evt_tag       2
#define simpleble_Event_disconnection_evt_tag    3
#define simpleble_Event_service_discovered_evt_tag 4
#define simpleble_Event_characteristic_discovered_evt_tag 5
#define simpleble_Event_descriptor_discovered_evt_tag 6
#define simpleble_Event_attribute_discovery_complete_evt_tag 7
#define simpleble_Event_value_changed_evt_tag    8

/* Struct field encoding specification for nanopb */
#define simpleble_UUID16Bit_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   uuid,              1)
#define simpleble_UUID16Bit_CALLBACK NULL
#define simpleble_UUID16Bit_DEFAULT NULL

#define simpleble_UUID32Bit_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   uuid,              1)
#define simpleble_UUID32Bit_CALLBACK NULL
#define simpleble_UUID32Bit_DEFAULT NULL

#define simpleble_UUID128Bit_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, FIXED_LENGTH_BYTES, uuid,              1)
#define simpleble_UUID128Bit_CALLBACK NULL
#define simpleble_UUID128Bit_DEFAULT NULL

#define simpleble_UUID_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (uuid,uuid16,uuid.uuid16),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (uuid,uuid32,uuid.uuid32),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (uuid,uuid128,uuid.uuid128),   3)
#define simpleble_UUID_CALLBACK NULL
#define simpleble_UUID_DEFAULT NULL
#define simpleble_UUID_uuid_uuid16_MSGTYPE simpleble_UUID16Bit
#define simpleble_UUID_uuid_uuid32_MSGTYPE simpleble_UUID32Bit
#define simpleble_UUID_uuid_uuid128_MSGTYPE simpleble_UUID128Bit

#define simpleble_ManufacturerDataEntry_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   company_id,        1) \
X(a, STATIC,   SINGULAR, BYTES,    data,              2)
#define simpleble_ManufacturerDataEntry_CALLBACK NULL
#define simpleble_ManufacturerDataEntry_DEFAULT NULL

#define simpleble_ServiceDataEntry_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   SINGULAR, BYTES,    data,              2)
#define simpleble_ServiceDataEntry_CALLBACK NULL
#define simpleble_ServiceDataEntry_DEFAULT NULL
#define simpleble_ServiceDataEntry_uuid_MSGTYPE simpleble_UUID

#define simpleble_CharacteristicProperties_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, BOOL,     broadcast,         1) \
X(a, STATIC,   SINGULAR, BOOL,     read,              2) \
X(a, STATIC,   SINGULAR, BOOL,     write_wo_resp,     3) \
X(a, STATIC,   SINGULAR, BOOL,     write,             4) \
X(a, STATIC,   SINGULAR, BOOL,     notify,            5) \
X(a, STATIC,   SINGULAR, BOOL,     indicate,          6) \
X(a, STATIC,   SINGULAR, BOOL,     auth_signed_wr,    7)
#define simpleble_CharacteristicProperties_CALLBACK NULL
#define simpleble_CharacteristicProperties_DEFAULT NULL

#define simpleble_Service_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   SINGULAR, UINT32,   start_handle,      2) \
X(a, STATIC,   SINGULAR, UINT32,   end_handle,        3)
#define simpleble_Service_CALLBACK NULL
#define simpleble_Service_DEFAULT NULL
#define simpleble_Service_uuid_MSGTYPE simpleble_UUID

#define simpleble_Characteristic_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  props,             2) \
X(a, STATIC,   SINGULAR, UINT32,   handle_decl,       3) \
X(a, STATIC,   SINGULAR, UINT32,   handle_value,      4)
#define simpleble_Characteristic_CALLBACK NULL
#define simpleble_Characteristic_DEFAULT NULL
#define simpleble_Characteristic_uuid_MSGTYPE simpleble_UUID
#define simpleble_Characteristic_props_MSGTYPE simpleble_CharacteristicProperties

#define simpleble_Descriptor_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2)
#define simpleble_Descriptor_CALLBACK NULL
#define simpleble_Descriptor_DEFAULT NULL
#define simpleble_Descriptor_uuid_MSGTYPE simpleble_UUID

#define simpleble_Attribute_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (attribute,service,attribute.service),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (attribute,characteristic,attribute.characteristic),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (attribute,descriptor,attribute.descriptor),   3)
#define simpleble_Attribute_CALLBACK NULL
#define simpleble_Attribute_DEFAULT NULL
#define simpleble_Attribute_attribute_service_MSGTYPE simpleble_Service
#define simpleble_Attribute_attribute_characteristic_MSGTYPE simpleble_Characteristic
#define simpleble_Attribute_attribute_descriptor_MSGTYPE simpleble_Descriptor

#define simpleble_InitCmd_FIELDLIST(X, a) \

#define simpleble_InitCmd_CALLBACK NULL
#define simpleble_InitCmd_DEFAULT NULL

#define simpleble_ScanStartCmd_FIELDLIST(X, a) \

#define simpleble_ScanStartCmd_CALLBACK NULL
#define simpleble_ScanStartCmd_DEFAULT NULL

#define simpleble_ScanStopCmd_FIELDLIST(X, a) \

#define simpleble_ScanStopCmd_CALLBACK NULL
#define simpleble_ScanStopCmd_DEFAULT NULL

#define simpleble_ConnectCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UENUM,    address_type,      1) \
X(a, STATIC,   SINGULAR, STRING,   address,           2)
#define simpleble_ConnectCmd_CALLBACK NULL
#define simpleble_ConnectCmd_DEFAULT NULL

#define simpleble_DisconnectCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1)
#define simpleble_DisconnectCmd_CALLBACK NULL
#define simpleble_DisconnectCmd_DEFAULT NULL

#define simpleble_ReadCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2)
#define simpleble_ReadCmd_CALLBACK NULL
#define simpleble_ReadCmd_DEFAULT NULL

#define simpleble_WriteCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2) \
X(a, STATIC,   SINGULAR, UENUM,    op,                3) \
X(a, STATIC,   SINGULAR, BYTES,    data,              4)
#define simpleble_WriteCmd_CALLBACK NULL
#define simpleble_WriteCmd_DEFAULT NULL

#define simpleble_InitRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_InitRsp_CALLBACK NULL
#define simpleble_InitRsp_DEFAULT NULL

#define simpleble_ScanStartRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_ScanStartRsp_CALLBACK NULL
#define simpleble_ScanStartRsp_DEFAULT NULL

#define simpleble_ScanStopRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_ScanStopRsp_CALLBACK NULL
#define simpleble_ScanStopRsp_DEFAULT NULL

#define simpleble_ConnectRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_ConnectRsp_CALLBACK NULL
#define simpleble_ConnectRsp_DEFAULT NULL

#define simpleble_DisconnectRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_DisconnectRsp_CALLBACK NULL
#define simpleble_DisconnectRsp_DEFAULT NULL

#define simpleble_ReadRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       2) \
X(a, STATIC,   SINGULAR, BYTES,    data,              3)
#define simpleble_ReadRsp_CALLBACK NULL
#define simpleble_ReadRsp_DEFAULT NULL

#define simpleble_WriteRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       2)
#define simpleble_WriteRsp_CALLBACK NULL
#define simpleble_WriteRsp_DEFAULT NULL

#define simpleble_AdvEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, STRING,   identifier,        1) \
X(a, STATIC,   SINGULAR, UENUM,    address_type,      2) \
X(a, STATIC,   SINGULAR, STRING,   address,           3) \
X(a, STATIC,   SINGULAR, BOOL,     connectable,       4) \
X(a, STATIC,   SINGULAR, SINT32,   rssi,              5) \
X(a, STATIC,   SINGULAR, SINT32,   tx_power,          6) \
X(a, STATIC,   REPEATED, MESSAGE,  manufacturer_data,   7) \
X(a, STATIC,   REPEATED, MESSAGE,  service_data,      8)
#define simpleble_AdvEvt_CALLBACK NULL
#define simpleble_AdvEvt_DEFAULT NULL
#define simpleble_AdvEvt_manufacturer_data_MSGTYPE simpleble_ManufacturerDataEntry
#define simpleble_AdvEvt_service_data_MSGTYPE simpleble_ServiceDataEntry

#define simpleble_ConnectionEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, STRING,   address,           1) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       2)
#define simpleble_ConnectionEvt_CALLBACK NULL
#define simpleble_ConnectionEvt_DEFAULT NULL

#define simpleble_DisconnectionEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1)
#define simpleble_DisconnectionEvt_CALLBACK NULL
#define simpleble_DisconnectionEvt_DEFAULT NULL

#define simpleble_ServiceDiscoveredEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   start_handle,      2) \
X(a, STATIC,   SINGULAR, UINT32,   end_handle,        3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid16,            4)
#define simpleble_ServiceDiscoveredEvt_CALLBACK NULL
#define simpleble_ServiceDiscoveredEvt_DEFAULT NULL
#define simpleble_ServiceDiscoveredEvt_uuid16_MSGTYPE simpleble_UUID16Bit

#define simpleble_CharacteristicDiscoveredEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle_decl,       2) \
X(a, STATIC,   SINGULAR, UINT32,   handle_value,      3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid16,            4) \
X(a, STATIC,   OPTIONAL, MESSAGE,  props,             5)
#define simpleble_CharacteristicDiscoveredEvt_CALLBACK NULL
#define simpleble_CharacteristicDiscoveredEvt_DEFAULT NULL
#define simpleble_CharacteristicDiscoveredEvt_uuid16_MSGTYPE simpleble_UUID16Bit
#define simpleble_CharacteristicDiscoveredEvt_props_MSGTYPE simpleble_CharacteristicProperties

#define simpleble_DescriptorDiscoveredEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid16,            3)
#define simpleble_DescriptorDiscoveredEvt_CALLBACK NULL
#define simpleble_DescriptorDiscoveredEvt_DEFAULT NULL
#define simpleble_DescriptorDiscoveredEvt_uuid16_MSGTYPE simpleble_UUID16Bit

#define simpleble_AttributeDiscoveryCompleteEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1)
#define simpleble_AttributeDiscoveryCompleteEvt_CALLBACK NULL
#define simpleble_AttributeDiscoveryCompleteEvt_DEFAULT NULL

#define simpleble_ValueChangedEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2) \
X(a, STATIC,   SINGULAR, UENUM,    type,              3) \
X(a, STATIC,   SINGULAR, BYTES,    data,              4)
#define simpleble_ValueChangedEvt_CALLBACK NULL
#define simpleble_ValueChangedEvt_DEFAULT NULL

#define simpleble_Command_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,init,cmd.init),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,scan_start,cmd.scan_start),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,scan_stop,cmd.scan_stop),   3) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,connect,cmd.connect),   4) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,disconnect,cmd.disconnect),   5) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,read,cmd.read),   6) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,write,cmd.write),   7)
#define simpleble_Command_CALLBACK NULL
#define simpleble_Command_DEFAULT NULL
#define simpleble_Command_cmd_init_MSGTYPE simpleble_InitCmd
#define simpleble_Command_cmd_scan_start_MSGTYPE simpleble_ScanStartCmd
#define simpleble_Command_cmd_scan_stop_MSGTYPE simpleble_ScanStopCmd
#define simpleble_Command_cmd_connect_MSGTYPE simpleble_ConnectCmd
#define simpleble_Command_cmd_disconnect_MSGTYPE simpleble_DisconnectCmd
#define simpleble_Command_cmd_read_MSGTYPE simpleble_ReadCmd
#define simpleble_Command_cmd_write_MSGTYPE simpleble_WriteCmd

#define simpleble_Response_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,init,rsp.init),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,scan_start,rsp.scan_start),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,scan_stop,rsp.scan_stop),   3) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,connect,rsp.connect),   4) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,disconnect,rsp.disconnect),   5) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,read,rsp.read),   6) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,write,rsp.write),   7)
#define simpleble_Response_CALLBACK NULL
#define simpleble_Response_DEFAULT NULL
#define simpleble_Response_rsp_init_MSGTYPE simpleble_InitRsp
#define simpleble_Response_rsp_scan_start_MSGTYPE simpleble_ScanStartRsp
#define simpleble_Response_rsp_scan_stop_MSGTYPE simpleble_ScanStopRsp
#define simpleble_Response_rsp_connect_MSGTYPE simpleble_ConnectRsp
#define simpleble_Response_rsp_disconnect_MSGTYPE simpleble_DisconnectRsp
#define simpleble_Response_rsp_read_MSGTYPE simpleble_ReadRsp
#define simpleble_Response_rsp_write_MSGTYPE simpleble_WriteRsp

#define simpleble_Event_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,adv_evt,evt.adv_evt),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,connection_evt,evt.connection_evt),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,disconnection_evt,evt.disconnection_evt),   3) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,service_discovered_evt,evt.service_discovered_evt),   4) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,characteristic_discovered_evt,evt.characteristic_discovered_evt),   5) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,descriptor_discovered_evt,evt.descriptor_discovered_evt),   6) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,attribute_discovery_complete_evt,evt.attribute_discovery_complete_evt),   7) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,value_changed_evt,evt.value_changed_evt),   8)
#define simpleble_Event_CALLBACK NULL
#define simpleble_Event_DEFAULT NULL
#define simpleble_Event_evt_adv_evt_MSGTYPE simpleble_AdvEvt
#define simpleble_Event_evt_connection_evt_MSGTYPE simpleble_ConnectionEvt
#define simpleble_Event_evt_disconnection_evt_MSGTYPE simpleble_DisconnectionEvt
#define simpleble_Event_evt_service_discovered_evt_MSGTYPE simpleble_ServiceDiscoveredEvt
#define simpleble_Event_evt_characteristic_discovered_evt_MSGTYPE simpleble_CharacteristicDiscoveredEvt
#define simpleble_Event_evt_descriptor_discovered_evt_MSGTYPE simpleble_DescriptorDiscoveredEvt
#define simpleble_Event_evt_attribute_discovery_complete_evt_MSGTYPE simpleble_AttributeDiscoveryCompleteEvt
#define simpleble_Event_evt_value_changed_evt_MSGTYPE simpleble_ValueChangedEvt

extern const pb_msgdesc_t simpleble_UUID16Bit_msg;
extern const pb_msgdesc_t simpleble_UUID32Bit_msg;
extern const pb_msgdesc_t simpleble_UUID128Bit_msg;
extern const pb_msgdesc_t simpleble_UUID_msg;
extern const pb_msgdesc_t simpleble_ManufacturerDataEntry_msg;
extern const pb_msgdesc_t simpleble_ServiceDataEntry_msg;
extern const pb_msgdesc_t simpleble_CharacteristicProperties_msg;
extern const pb_msgdesc_t simpleble_Service_msg;
extern const pb_msgdesc_t simpleble_Characteristic_msg;
extern const pb_msgdesc_t simpleble_Descriptor_msg;
extern const pb_msgdesc_t simpleble_Attribute_msg;
extern const pb_msgdesc_t simpleble_InitCmd_msg;
extern const pb_msgdesc_t simpleble_ScanStartCmd_msg;
extern const pb_msgdesc_t simpleble_ScanStopCmd_msg;
extern const pb_msgdesc_t simpleble_ConnectCmd_msg;
extern const pb_msgdesc_t simpleble_DisconnectCmd_msg;
extern const pb_msgdesc_t simpleble_ReadCmd_msg;
extern const pb_msgdesc_t simpleble_WriteCmd_msg;
extern const pb_msgdesc_t simpleble_InitRsp_msg;
extern const pb_msgdesc_t simpleble_ScanStartRsp_msg;
extern const pb_msgdesc_t simpleble_ScanStopRsp_msg;
extern const pb_msgdesc_t simpleble_ConnectRsp_msg;
extern const pb_msgdesc_t simpleble_DisconnectRsp_msg;
extern const pb_msgdesc_t simpleble_ReadRsp_msg;
extern const pb_msgdesc_t simpleble_WriteRsp_msg;
extern const pb_msgdesc_t simpleble_AdvEvt_msg;
extern const pb_msgdesc_t simpleble_ConnectionEvt_msg;
extern const pb_msgdesc_t simpleble_DisconnectionEvt_msg;
extern const pb_msgdesc_t simpleble_ServiceDiscoveredEvt_msg;
extern const pb_msgdesc_t simpleble_CharacteristicDiscoveredEvt_msg;
extern const pb_msgdesc_t simpleble_DescriptorDiscoveredEvt_msg;
extern const pb_msgdesc_t simpleble_AttributeDiscoveryCompleteEvt_msg;
extern const pb_msgdesc_t simpleble_ValueChangedEvt_msg;
extern const pb_msgdesc_t simpleble_Command_msg;
extern const pb_msgdesc_t simpleble_Response_msg;
extern const pb_msgdesc_t simpleble_Event_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define simpleble_UUID16Bit_fields &simpleble_UUID16Bit_msg
#define simpleble_UUID32Bit_fields &simpleble_UUID32Bit_msg
#define simpleble_UUID128Bit_fields &simpleble_UUID128Bit_msg
#define simpleble_UUID_fields &simpleble_UUID_msg
#define simpleble_ManufacturerDataEntry_fields &simpleble_ManufacturerDataEntry_msg
#define simpleble_ServiceDataEntry_fields &simpleble_ServiceDataEntry_msg
#define simpleble_CharacteristicProperties_fields &simpleble_CharacteristicProperties_msg
#define simpleble_Service_fields &simpleble_Service_msg
#define simpleble_Characteristic_fields &simpleble_Characteristic_msg
#define simpleble_Descriptor_fields &simpleble_Descriptor_msg
#define simpleble_Attribute_fields &simpleble_Attribute_msg
#define simpleble_InitCmd_fields &simpleble_InitCmd_msg
#define simpleble_ScanStartCmd_fields &simpleble_ScanStartCmd_msg
#define simpleble_ScanStopCmd_fields &simpleble_ScanStopCmd_msg
#define simpleble_ConnectCmd_fields &simpleble_ConnectCmd_msg
#define simpleble_DisconnectCmd_fields &simpleble_DisconnectCmd_msg
#define simpleble_ReadCmd_fields &simpleble_ReadCmd_msg
#define simpleble_WriteCmd_fields &simpleble_WriteCmd_msg
#define simpleble_InitRsp_fields &simpleble_InitRsp_msg
#define simpleble_ScanStartRsp_fields &simpleble_ScanStartRsp_msg
#define simpleble_ScanStopRsp_fields &simpleble_ScanStopRsp_msg
#define simpleble_ConnectRsp_fields &simpleble_ConnectRsp_msg
#define simpleble_DisconnectRsp_fields &simpleble_DisconnectRsp_msg
#define simpleble_ReadRsp_fields &simpleble_ReadRsp_msg
#define simpleble_WriteRsp_fields &simpleble_WriteRsp_msg
#define simpleble_AdvEvt_fields &simpleble_AdvEvt_msg
#define simpleble_ConnectionEvt_fields &simpleble_ConnectionEvt_msg
#define simpleble_DisconnectionEvt_fields &simpleble_DisconnectionEvt_msg
#define simpleble_ServiceDiscoveredEvt_fields &simpleble_ServiceDiscoveredEvt_msg
#define simpleble_CharacteristicDiscoveredEvt_fields &simpleble_CharacteristicDiscoveredEvt_msg
#define simpleble_DescriptorDiscoveredEvt_fields &simpleble_DescriptorDiscoveredEvt_msg
#define simpleble_AttributeDiscoveryCompleteEvt_fields &simpleble_AttributeDiscoveryCompleteEvt_msg
#define simpleble_ValueChangedEvt_fields &simpleble_ValueChangedEvt_msg
#define simpleble_Command_fields &simpleble_Command_msg
#define simpleble_Response_fields &simpleble_Response_msg
#define simpleble_Event_fields &simpleble_Event_msg

/* Maximum encoded size of messages (where known) */
#define SIMPLEBLE_SIMPLEBLE_PB_H_MAX_SIZE        simpleble_Command_size
#define simpleble_AdvEvt_size                    416
#define simpleble_AttributeDiscoveryCompleteEvt_size 4
#define simpleble_Attribute_size                 48
#define simpleble_CharacteristicDiscoveredEvt_size 34
#define simpleble_CharacteristicProperties_size  14
#define simpleble_Characteristic_size            46
#define simpleble_Command_size                   528
#define simpleble_ConnectCmd_size                21
#define simpleble_ConnectRsp_size                6
#define simpleble_ConnectionEvt_size             23
#define simpleble_DescriptorDiscoveredEvt_size   14
#define simpleble_Descriptor_size                26
#define simpleble_DisconnectCmd_size             4
#define simpleble_DisconnectRsp_size             6
#define simpleble_DisconnectionEvt_size          4
#define simpleble_Event_size                     528
#define simpleble_InitCmd_size                   0
#define simpleble_InitRsp_size                   6
#define simpleble_ManufacturerDataEntry_size     33
#define simpleble_ReadCmd_size                   8
#define simpleble_ReadRsp_size                   525
#define simpleble_Response_size                  528
#define simpleble_ScanStartCmd_size              0
#define simpleble_ScanStartRsp_size              6
#define simpleble_ScanStopCmd_size               0
#define simpleble_ScanStopRsp_size               6
#define simpleble_ServiceDataEntry_size          51
#define simpleble_ServiceDiscoveredEvt_size      18
#define simpleble_Service_size                   30
#define simpleble_UUID128Bit_size                18
#define simpleble_UUID16Bit_size                 4
#define simpleble_UUID32Bit_size                 6
#define simpleble_UUID_size                      20
#define simpleble_ValueChangedEvt_size           525
#define simpleble_WriteCmd_size                  525
#define simpleble_WriteRsp_size                  10

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

#endif
