/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: hwbcs_network.proto */

#ifndef PROTOBUF_C_hwbcs_5fnetwork_2eproto__INCLUDED
#define PROTOBUF_C_hwbcs_5fnetwork_2eproto__INCLUDED

#include <protobuf-c/protobuf-c.h>

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1003000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1003003 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif


typedef struct _Common__HwbcsNetworks Common__HwbcsNetworks;
typedef struct _Common__HwbcsNetworkData Common__HwbcsNetworkData;
typedef struct _Common__HwbcsNodesCfg Common__HwbcsNodesCfg;
typedef struct _Common__HwbcsNodeLayoutCfg Common__HwbcsNodeLayoutCfg;
typedef struct _Common__HwbcsNodeGroupCfg Common__HwbcsNodeGroupCfg;
typedef struct _Common__HwbcsNodeInfo Common__HwbcsNodeInfo;


/* --- enums --- */


/* --- messages --- */

struct  _Common__HwbcsNetworks
{
  ProtobufCMessage base;
  uint32_t networknum;
  Common__HwbcsNetworkData *networks;
};
#define COMMON__HWBCS_NETWORKS__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__hwbcs_networks__descriptor) \
    , 0, NULL }


struct  _Common__HwbcsNetworkData
{
  ProtobufCMessage base;
  uint32_t index;
  char *accountcertcontent;
  char *accountclienttlsprikey;
  char *accountclienttlscert;
  /*
   * string tlsClientCertContent = 5 ;
   * hwbcsNodesCfg nodes = 4;
   * uint32 layoutNum = 4;
   */
  size_t n_layoutcfg;
  Common__HwbcsNodeLayoutCfg **layoutcfg;
  Common__HwbcsNodeGroupCfg *ordercfg;
};
#define COMMON__HWBCS_NETWORK_DATA__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__hwbcs_network_data__descriptor) \
    , 0, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, NULL }


struct  _Common__HwbcsNodesCfg
{
  ProtobufCMessage base;
  /*
   * uint32 layoutNum = 1;
   */
  size_t n_layoutcfg;
  Common__HwbcsNodeLayoutCfg **layoutcfg;
  Common__HwbcsNodeGroupCfg *ordercfg;
};
#define COMMON__HWBCS_NODES_CFG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__hwbcs_nodes_cfg__descriptor) \
    , 0,NULL, NULL }


struct  _Common__HwbcsNodeLayoutCfg
{
  ProtobufCMessage base;
  /*
   * uint32 groupNum = 1;
   */
  size_t n_groupcfg;
  Common__HwbcsNodeGroupCfg **groupcfg;
};
#define COMMON__HWBCS_NODE_LAYOUT_CFG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__hwbcs_node_layout_cfg__descriptor) \
    , 0,NULL }


struct  _Common__HwbcsNodeGroupCfg
{
  ProtobufCMessage base;
  uint32_t quantities;
  /*
   *  uint32 nodeNum = 2;
   */
  size_t n_endorser;
  Common__HwbcsNodeInfo **endorser;
  char *tlsorgcertcontent;
};
#define COMMON__HWBCS_NODE_GROUP_CFG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__hwbcs_node_group_cfg__descriptor) \
    , 0, 0,NULL, (char *)protobuf_c_empty_string }


struct  _Common__HwbcsNodeInfo
{
  ProtobufCMessage base;
  char *nodeurl;
  char *hostname;
};
#define COMMON__HWBCS_NODE_INFO__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__hwbcs_node_info__descriptor) \
    , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string }


/* Common__HwbcsNetworks methods */
void   common__hwbcs_networks__init
                     (Common__HwbcsNetworks         *message);
size_t common__hwbcs_networks__get_packed_size
                     (const Common__HwbcsNetworks   *message);
size_t common__hwbcs_networks__pack
                     (const Common__HwbcsNetworks   *message,
                      uint8_t             *out);
size_t common__hwbcs_networks__pack_to_buffer
                     (const Common__HwbcsNetworks   *message,
                      ProtobufCBuffer     *buffer);
Common__HwbcsNetworks *
       common__hwbcs_networks__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__hwbcs_networks__free_unpacked
                     (Common__HwbcsNetworks *message,
                      ProtobufCAllocator *allocator);
/* Common__HwbcsNetworkData methods */
void   common__hwbcs_network_data__init
                     (Common__HwbcsNetworkData         *message);
size_t common__hwbcs_network_data__get_packed_size
                     (const Common__HwbcsNetworkData   *message);
size_t common__hwbcs_network_data__pack
                     (const Common__HwbcsNetworkData   *message,
                      uint8_t             *out);
size_t common__hwbcs_network_data__pack_to_buffer
                     (const Common__HwbcsNetworkData   *message,
                      ProtobufCBuffer     *buffer);
Common__HwbcsNetworkData *
       common__hwbcs_network_data__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__hwbcs_network_data__free_unpacked
                     (Common__HwbcsNetworkData *message,
                      ProtobufCAllocator *allocator);
/* Common__HwbcsNodesCfg methods */
void   common__hwbcs_nodes_cfg__init
                     (Common__HwbcsNodesCfg         *message);
size_t common__hwbcs_nodes_cfg__get_packed_size
                     (const Common__HwbcsNodesCfg   *message);
size_t common__hwbcs_nodes_cfg__pack
                     (const Common__HwbcsNodesCfg   *message,
                      uint8_t             *out);
size_t common__hwbcs_nodes_cfg__pack_to_buffer
                     (const Common__HwbcsNodesCfg   *message,
                      ProtobufCBuffer     *buffer);
Common__HwbcsNodesCfg *
       common__hwbcs_nodes_cfg__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__hwbcs_nodes_cfg__free_unpacked
                     (Common__HwbcsNodesCfg *message,
                      ProtobufCAllocator *allocator);
/* Common__HwbcsNodeLayoutCfg methods */
void   common__hwbcs_node_layout_cfg__init
                     (Common__HwbcsNodeLayoutCfg         *message);
size_t common__hwbcs_node_layout_cfg__get_packed_size
                     (const Common__HwbcsNodeLayoutCfg   *message);
size_t common__hwbcs_node_layout_cfg__pack
                     (const Common__HwbcsNodeLayoutCfg   *message,
                      uint8_t             *out);
size_t common__hwbcs_node_layout_cfg__pack_to_buffer
                     (const Common__HwbcsNodeLayoutCfg   *message,
                      ProtobufCBuffer     *buffer);
Common__HwbcsNodeLayoutCfg *
       common__hwbcs_node_layout_cfg__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__hwbcs_node_layout_cfg__free_unpacked
                     (Common__HwbcsNodeLayoutCfg *message,
                      ProtobufCAllocator *allocator);
/* Common__HwbcsNodeGroupCfg methods */
void   common__hwbcs_node_group_cfg__init
                     (Common__HwbcsNodeGroupCfg         *message);
size_t common__hwbcs_node_group_cfg__get_packed_size
                     (const Common__HwbcsNodeGroupCfg   *message);
size_t common__hwbcs_node_group_cfg__pack
                     (const Common__HwbcsNodeGroupCfg   *message,
                      uint8_t             *out);
size_t common__hwbcs_node_group_cfg__pack_to_buffer
                     (const Common__HwbcsNodeGroupCfg   *message,
                      ProtobufCBuffer     *buffer);
Common__HwbcsNodeGroupCfg *
       common__hwbcs_node_group_cfg__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__hwbcs_node_group_cfg__free_unpacked
                     (Common__HwbcsNodeGroupCfg *message,
                      ProtobufCAllocator *allocator);
/* Common__HwbcsNodeInfo methods */
void   common__hwbcs_node_info__init
                     (Common__HwbcsNodeInfo         *message);
size_t common__hwbcs_node_info__get_packed_size
                     (const Common__HwbcsNodeInfo   *message);
size_t common__hwbcs_node_info__pack
                     (const Common__HwbcsNodeInfo   *message,
                      uint8_t             *out);
size_t common__hwbcs_node_info__pack_to_buffer
                     (const Common__HwbcsNodeInfo   *message,
                      ProtobufCBuffer     *buffer);
Common__HwbcsNodeInfo *
       common__hwbcs_node_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__hwbcs_node_info__free_unpacked
                     (Common__HwbcsNodeInfo *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*Common__HwbcsNetworks_Closure)
                 (const Common__HwbcsNetworks *message,
                  void *closure_data);
typedef void (*Common__HwbcsNetworkData_Closure)
                 (const Common__HwbcsNetworkData *message,
                  void *closure_data);
typedef void (*Common__HwbcsNodesCfg_Closure)
                 (const Common__HwbcsNodesCfg *message,
                  void *closure_data);
typedef void (*Common__HwbcsNodeLayoutCfg_Closure)
                 (const Common__HwbcsNodeLayoutCfg *message,
                  void *closure_data);
typedef void (*Common__HwbcsNodeGroupCfg_Closure)
                 (const Common__HwbcsNodeGroupCfg *message,
                  void *closure_data);
typedef void (*Common__HwbcsNodeInfo_Closure)
                 (const Common__HwbcsNodeInfo *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCMessageDescriptor common__hwbcs_networks__descriptor;
extern const ProtobufCMessageDescriptor common__hwbcs_network_data__descriptor;
extern const ProtobufCMessageDescriptor common__hwbcs_nodes_cfg__descriptor;
extern const ProtobufCMessageDescriptor common__hwbcs_node_layout_cfg__descriptor;
extern const ProtobufCMessageDescriptor common__hwbcs_node_group_cfg__descriptor;
extern const ProtobufCMessageDescriptor common__hwbcs_node_info__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_hwbcs_5fnetwork_2eproto__INCLUDED */
