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

#ifndef PROTOBUF_C_common_2fconfigtx_2eproto__INCLUDED
#define PROTOBUF_C_common_2fconfigtx_2eproto__INCLUDED

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

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1000000
# 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 1002001 < 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

#include "common/common.pb-c.h"
#include "common/policies.pb-c.h"

typedef struct _Common__ConfigEnvelope Common__ConfigEnvelope;
typedef struct _Common__ConfigGroupSchema Common__ConfigGroupSchema;
typedef struct _Common__ConfigGroupSchema__GroupsEntry Common__ConfigGroupSchema__GroupsEntry;
typedef struct _Common__ConfigGroupSchema__ValuesEntry Common__ConfigGroupSchema__ValuesEntry;
typedef struct _Common__ConfigGroupSchema__PoliciesEntry Common__ConfigGroupSchema__PoliciesEntry;
typedef struct _Common__ConfigValueSchema Common__ConfigValueSchema;
typedef struct _Common__ConfigPolicySchema Common__ConfigPolicySchema;
typedef struct _Common__Config Common__Config;
typedef struct _Common__ConfigUpdateEnvelope Common__ConfigUpdateEnvelope;
typedef struct _Common__ConfigUpdate Common__ConfigUpdate;
typedef struct _Common__ConfigUpdate__IsolatedDataEntry Common__ConfigUpdate__IsolatedDataEntry;
typedef struct _Common__ConfigGroup Common__ConfigGroup;
typedef struct _Common__ConfigGroup__GroupsEntry Common__ConfigGroup__GroupsEntry;
typedef struct _Common__ConfigGroup__ValuesEntry Common__ConfigGroup__ValuesEntry;
typedef struct _Common__ConfigGroup__PoliciesEntry Common__ConfigGroup__PoliciesEntry;
typedef struct _Common__ConfigValue Common__ConfigValue;
typedef struct _Common__ConfigPolicy Common__ConfigPolicy;
typedef struct _Common__ConfigSignature Common__ConfigSignature;


/* --- enums --- */


/* --- messages --- */

/*
 * ConfigEnvelope is designed to contain _all_ configuration for a chain with no dependency
 * on previous configuration transactions.
 * It is generated with the following scheme:
 *   1. Retrieve the existing configuration
 *   2. Note the config properties (ConfigValue, ConfigPolicy, ConfigGroup) to be modified
 *   3. Add any intermediate ConfigGroups to the ConfigUpdate.read_set (sparsely)
 *   4. Add any additional desired dependencies to ConfigUpdate.read_set (sparsely)
 *   5. Modify the config properties, incrementing each version by 1, set them in the ConfigUpdate.write_set
 *      Note: any element not modified but specified should already be in the read_set, so may be specified sparsely
 *   6. Create ConfigUpdate message and marshal it into ConfigUpdateEnvelope.update and encode the required signatures
 *     a) Each signature is of type ConfigSignature
 *     b) The ConfigSignature signature is over the concatenation of signature_header and the ConfigUpdate bytes (which includes a ChainHeader)
 *   5. Submit new Config for ordering in Envelope signed by submitter
 *     a) The Envelope Payload has data set to the marshaled ConfigEnvelope
 *     b) The Envelope Payload has a header of type Header.Type.CONFIG_UPDATE
 * The configuration manager will verify:
 *   1. All items in the read_set exist at the read versions
 *   2. All items in the write_set at a different version than, or not in, the read_set have been appropriately signed according to their mod_policy
 *   3. The new configuration satisfies the ConfigSchema
 */
struct  _Common__ConfigEnvelope
{
  ProtobufCMessage base;
  /*
   * A marshaled Config structure
   */
  Common__Config *config;
  /*
   * The last CONFIG_UPDATE message which generated this current configuration
   */
  Common__Envelope *last_update;
};
#define COMMON__CONFIG_ENVELOPE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_envelope__descriptor) \
    , NULL, NULL }


struct  _Common__ConfigGroupSchema__GroupsEntry
{
  ProtobufCMessage base;
  char *key;
  Common__ConfigGroupSchema *value;
};
#define COMMON__CONFIG_GROUP_SCHEMA__GROUPS_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group_schema__groups_entry__descriptor) \
    , NULL, NULL }


struct  _Common__ConfigGroupSchema__ValuesEntry
{
  ProtobufCMessage base;
  char *key;
  Common__ConfigValueSchema *value;
};
#define COMMON__CONFIG_GROUP_SCHEMA__VALUES_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group_schema__values_entry__descriptor) \
    , NULL, NULL }


struct  _Common__ConfigGroupSchema__PoliciesEntry
{
  ProtobufCMessage base;
  char *key;
  Common__ConfigPolicySchema *value;
};
#define COMMON__CONFIG_GROUP_SCHEMA__POLICIES_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group_schema__policies_entry__descriptor) \
    , NULL, NULL }


struct  _Common__ConfigGroupSchema
{
  ProtobufCMessage base;
  size_t n_groups;
  Common__ConfigGroupSchema__GroupsEntry **groups;
  size_t n_values;
  Common__ConfigGroupSchema__ValuesEntry **values;
  size_t n_policies;
  Common__ConfigGroupSchema__PoliciesEntry **policies;
};
#define COMMON__CONFIG_GROUP_SCHEMA__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group_schema__descriptor) \
    , 0,NULL, 0,NULL, 0,NULL }


struct  _Common__ConfigValueSchema
{
  ProtobufCMessage base;
};
#define COMMON__CONFIG_VALUE_SCHEMA__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_value_schema__descriptor) \
     }


struct  _Common__ConfigPolicySchema
{
  ProtobufCMessage base;
};
#define COMMON__CONFIG_POLICY_SCHEMA__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_policy_schema__descriptor) \
     }


/*
 * Config represents the config for a particular channel
 */
struct  _Common__Config
{
  ProtobufCMessage base;
  protobuf_c_boolean has_sequence;
  uint64_t sequence;
  /*
   * channel_group is a bad name for this, it should be changed to root when API breakage is allowed
   */
  Common__ConfigGroup *channel_group;
};
#define COMMON__CONFIG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config__descriptor) \
    , 0,0, NULL }


struct  _Common__ConfigUpdateEnvelope
{
  ProtobufCMessage base;
  /*
   * A marshaled ConfigUpdate structure
   */
  protobuf_c_boolean has_config_update;
  ProtobufCBinaryData config_update;
  /*
   * Signatures over the config_update
   */
  size_t n_signatures;
  Common__ConfigSignature **signatures;
};
#define COMMON__CONFIG_UPDATE_ENVELOPE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_update_envelope__descriptor) \
    , 0,{0,NULL}, 0,NULL }


struct  _Common__ConfigUpdate__IsolatedDataEntry
{
  ProtobufCMessage base;
  char *key;
  protobuf_c_boolean has_value;
  ProtobufCBinaryData value;
};
#define COMMON__CONFIG_UPDATE__ISOLATED_DATA_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_update__isolated_data_entry__descriptor) \
    , NULL, 0,{0,NULL} }


/*
 * ConfigUpdate is used to submit a subset of config and to have the orderer apply to Config
 * it is always submitted inside a ConfigUpdateEnvelope which allows the addition of signatures
 * resulting in a new total configuration.  The update is applied as follows:
 * 1. The versions from all of the elements in the read_set is verified against the versions in the existing config.
 *    If there is a mismatch in the read versions, then the config update fails and is rejected.
 * 2. Any elements in the write_set with the same version as the read_set are ignored.
 * 3. The corresponding mod_policy for every remaining element in the write_set is collected.
 * 4. Each policy is checked against the signatures from the ConfigUpdateEnvelope, any failing to verify are rejected
 * 5. The write_set is applied to the Config and the ConfigGroupSchema verifies that the updates were legal
 */
struct  _Common__ConfigUpdate
{
  ProtobufCMessage base;
  /*
   * Which channel this config update is for
   */
  char *channel_id;
  /*
   * ReadSet explicitly lists the portion of the config which was read, this should be sparse with only Version set
   */
  Common__ConfigGroup *read_set;
  /*
   * WriteSet lists the portion of the config which was written, this should included updated Versions
   */
  Common__ConfigGroup *write_set;
  /*
   * Data which is not to be reflected in the resulting Config, but is still needed for some other purpose.  For instance, rscc_seed_data
   */
  size_t n_isolated_data;
  Common__ConfigUpdate__IsolatedDataEntry **isolated_data;
};
#define COMMON__CONFIG_UPDATE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_update__descriptor) \
    , NULL, NULL, NULL, 0,NULL }


struct  _Common__ConfigGroup__GroupsEntry
{
  ProtobufCMessage base;
  char *key;
  Common__ConfigGroup *value;
};
#define COMMON__CONFIG_GROUP__GROUPS_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group__groups_entry__descriptor) \
    , NULL, NULL }


struct  _Common__ConfigGroup__ValuesEntry
{
  ProtobufCMessage base;
  char *key;
  Common__ConfigValue *value;
};
#define COMMON__CONFIG_GROUP__VALUES_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group__values_entry__descriptor) \
    , NULL, NULL }


struct  _Common__ConfigGroup__PoliciesEntry
{
  ProtobufCMessage base;
  char *key;
  Common__ConfigPolicy *value;
};
#define COMMON__CONFIG_GROUP__POLICIES_ENTRY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group__policies_entry__descriptor) \
    , NULL, NULL }


/*
 * ConfigGroup is the hierarchical data structure for holding config
 */
struct  _Common__ConfigGroup
{
  ProtobufCMessage base;
  protobuf_c_boolean has_version;
  uint64_t version;
  size_t n_groups;
  Common__ConfigGroup__GroupsEntry **groups;
  size_t n_values;
  Common__ConfigGroup__ValuesEntry **values;
  size_t n_policies;
  Common__ConfigGroup__PoliciesEntry **policies;
  char *mod_policy;
};
#define COMMON__CONFIG_GROUP__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_group__descriptor) \
    , 0,0, 0,NULL, 0,NULL, 0,NULL, NULL }


/*
 * ConfigValue represents an individual piece of config data
 */
struct  _Common__ConfigValue
{
  ProtobufCMessage base;
  protobuf_c_boolean has_version;
  uint64_t version;
  protobuf_c_boolean has_value;
  ProtobufCBinaryData value;
  char *mod_policy;
};
#define COMMON__CONFIG_VALUE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_value__descriptor) \
    , 0,0, 0,{0,NULL}, NULL }


struct  _Common__ConfigPolicy
{
  ProtobufCMessage base;
  protobuf_c_boolean has_version;
  uint64_t version;
  Common__Policy *policy;
  char *mod_policy;
};
#define COMMON__CONFIG_POLICY__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_policy__descriptor) \
    , 0,0, NULL, NULL }


struct  _Common__ConfigSignature
{
  ProtobufCMessage base;
  /*
   * A marshaled SignatureHeader
   */
  protobuf_c_boolean has_signature_header;
  ProtobufCBinaryData signature_header;
  /*
   * Signature over the concatenation signatureHeader bytes and config bytes
   */
  protobuf_c_boolean has_signature;
  ProtobufCBinaryData signature;
};
#define COMMON__CONFIG_SIGNATURE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&common__config_signature__descriptor) \
    , 0,{0,NULL}, 0,{0,NULL} }


/* Common__ConfigEnvelope methods */
void   common__config_envelope__init
                     (Common__ConfigEnvelope         *message);
size_t common__config_envelope__get_packed_size
                     (const Common__ConfigEnvelope   *message);
size_t common__config_envelope__pack
                     (const Common__ConfigEnvelope   *message,
                      uint8_t             *out);
size_t common__config_envelope__pack_to_buffer
                     (const Common__ConfigEnvelope   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigEnvelope *
       common__config_envelope__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_envelope__free_unpacked
                     (Common__ConfigEnvelope *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigGroupSchema__GroupsEntry methods */
void   common__config_group_schema__groups_entry__init
                     (Common__ConfigGroupSchema__GroupsEntry         *message);
/* Common__ConfigGroupSchema__ValuesEntry methods */
void   common__config_group_schema__values_entry__init
                     (Common__ConfigGroupSchema__ValuesEntry         *message);
/* Common__ConfigGroupSchema__PoliciesEntry methods */
void   common__config_group_schema__policies_entry__init
                     (Common__ConfigGroupSchema__PoliciesEntry         *message);
/* Common__ConfigGroupSchema methods */
void   common__config_group_schema__init
                     (Common__ConfigGroupSchema         *message);
size_t common__config_group_schema__get_packed_size
                     (const Common__ConfigGroupSchema   *message);
size_t common__config_group_schema__pack
                     (const Common__ConfigGroupSchema   *message,
                      uint8_t             *out);
size_t common__config_group_schema__pack_to_buffer
                     (const Common__ConfigGroupSchema   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigGroupSchema *
       common__config_group_schema__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_group_schema__free_unpacked
                     (Common__ConfigGroupSchema *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigValueSchema methods */
void   common__config_value_schema__init
                     (Common__ConfigValueSchema         *message);
size_t common__config_value_schema__get_packed_size
                     (const Common__ConfigValueSchema   *message);
size_t common__config_value_schema__pack
                     (const Common__ConfigValueSchema   *message,
                      uint8_t             *out);
size_t common__config_value_schema__pack_to_buffer
                     (const Common__ConfigValueSchema   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigValueSchema *
       common__config_value_schema__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_value_schema__free_unpacked
                     (Common__ConfigValueSchema *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigPolicySchema methods */
void   common__config_policy_schema__init
                     (Common__ConfigPolicySchema         *message);
size_t common__config_policy_schema__get_packed_size
                     (const Common__ConfigPolicySchema   *message);
size_t common__config_policy_schema__pack
                     (const Common__ConfigPolicySchema   *message,
                      uint8_t             *out);
size_t common__config_policy_schema__pack_to_buffer
                     (const Common__ConfigPolicySchema   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigPolicySchema *
       common__config_policy_schema__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_policy_schema__free_unpacked
                     (Common__ConfigPolicySchema *message,
                      ProtobufCAllocator *allocator);
/* Common__Config methods */
void   common__config__init
                     (Common__Config         *message);
size_t common__config__get_packed_size
                     (const Common__Config   *message);
size_t common__config__pack
                     (const Common__Config   *message,
                      uint8_t             *out);
size_t common__config__pack_to_buffer
                     (const Common__Config   *message,
                      ProtobufCBuffer     *buffer);
Common__Config *
       common__config__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config__free_unpacked
                     (Common__Config *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigUpdateEnvelope methods */
void   common__config_update_envelope__init
                     (Common__ConfigUpdateEnvelope         *message);
size_t common__config_update_envelope__get_packed_size
                     (const Common__ConfigUpdateEnvelope   *message);
size_t common__config_update_envelope__pack
                     (const Common__ConfigUpdateEnvelope   *message,
                      uint8_t             *out);
size_t common__config_update_envelope__pack_to_buffer
                     (const Common__ConfigUpdateEnvelope   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigUpdateEnvelope *
       common__config_update_envelope__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_update_envelope__free_unpacked
                     (Common__ConfigUpdateEnvelope *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigUpdate__IsolatedDataEntry methods */
void   common__config_update__isolated_data_entry__init
                     (Common__ConfigUpdate__IsolatedDataEntry         *message);
/* Common__ConfigUpdate methods */
void   common__config_update__init
                     (Common__ConfigUpdate         *message);
size_t common__config_update__get_packed_size
                     (const Common__ConfigUpdate   *message);
size_t common__config_update__pack
                     (const Common__ConfigUpdate   *message,
                      uint8_t             *out);
size_t common__config_update__pack_to_buffer
                     (const Common__ConfigUpdate   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigUpdate *
       common__config_update__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_update__free_unpacked
                     (Common__ConfigUpdate *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigGroup__GroupsEntry methods */
void   common__config_group__groups_entry__init
                     (Common__ConfigGroup__GroupsEntry         *message);
/* Common__ConfigGroup__ValuesEntry methods */
void   common__config_group__values_entry__init
                     (Common__ConfigGroup__ValuesEntry         *message);
/* Common__ConfigGroup__PoliciesEntry methods */
void   common__config_group__policies_entry__init
                     (Common__ConfigGroup__PoliciesEntry         *message);
/* Common__ConfigGroup methods */
void   common__config_group__init
                     (Common__ConfigGroup         *message);
size_t common__config_group__get_packed_size
                     (const Common__ConfigGroup   *message);
size_t common__config_group__pack
                     (const Common__ConfigGroup   *message,
                      uint8_t             *out);
size_t common__config_group__pack_to_buffer
                     (const Common__ConfigGroup   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigGroup *
       common__config_group__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_group__free_unpacked
                     (Common__ConfigGroup *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigValue methods */
void   common__config_value__init
                     (Common__ConfigValue         *message);
size_t common__config_value__get_packed_size
                     (const Common__ConfigValue   *message);
size_t common__config_value__pack
                     (const Common__ConfigValue   *message,
                      uint8_t             *out);
size_t common__config_value__pack_to_buffer
                     (const Common__ConfigValue   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigValue *
       common__config_value__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_value__free_unpacked
                     (Common__ConfigValue *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigPolicy methods */
void   common__config_policy__init
                     (Common__ConfigPolicy         *message);
size_t common__config_policy__get_packed_size
                     (const Common__ConfigPolicy   *message);
size_t common__config_policy__pack
                     (const Common__ConfigPolicy   *message,
                      uint8_t             *out);
size_t common__config_policy__pack_to_buffer
                     (const Common__ConfigPolicy   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigPolicy *
       common__config_policy__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_policy__free_unpacked
                     (Common__ConfigPolicy *message,
                      ProtobufCAllocator *allocator);
/* Common__ConfigSignature methods */
void   common__config_signature__init
                     (Common__ConfigSignature         *message);
size_t common__config_signature__get_packed_size
                     (const Common__ConfigSignature   *message);
size_t common__config_signature__pack
                     (const Common__ConfigSignature   *message,
                      uint8_t             *out);
size_t common__config_signature__pack_to_buffer
                     (const Common__ConfigSignature   *message,
                      ProtobufCBuffer     *buffer);
Common__ConfigSignature *
       common__config_signature__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   common__config_signature__free_unpacked
                     (Common__ConfigSignature *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*Common__ConfigEnvelope_Closure)
                 (const Common__ConfigEnvelope *message,
                  void *closure_data);
typedef void (*Common__ConfigGroupSchema__GroupsEntry_Closure)
                 (const Common__ConfigGroupSchema__GroupsEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigGroupSchema__ValuesEntry_Closure)
                 (const Common__ConfigGroupSchema__ValuesEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigGroupSchema__PoliciesEntry_Closure)
                 (const Common__ConfigGroupSchema__PoliciesEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigGroupSchema_Closure)
                 (const Common__ConfigGroupSchema *message,
                  void *closure_data);
typedef void (*Common__ConfigValueSchema_Closure)
                 (const Common__ConfigValueSchema *message,
                  void *closure_data);
typedef void (*Common__ConfigPolicySchema_Closure)
                 (const Common__ConfigPolicySchema *message,
                  void *closure_data);
typedef void (*Common__Config_Closure)
                 (const Common__Config *message,
                  void *closure_data);
typedef void (*Common__ConfigUpdateEnvelope_Closure)
                 (const Common__ConfigUpdateEnvelope *message,
                  void *closure_data);
typedef void (*Common__ConfigUpdate__IsolatedDataEntry_Closure)
                 (const Common__ConfigUpdate__IsolatedDataEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigUpdate_Closure)
                 (const Common__ConfigUpdate *message,
                  void *closure_data);
typedef void (*Common__ConfigGroup__GroupsEntry_Closure)
                 (const Common__ConfigGroup__GroupsEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigGroup__ValuesEntry_Closure)
                 (const Common__ConfigGroup__ValuesEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigGroup__PoliciesEntry_Closure)
                 (const Common__ConfigGroup__PoliciesEntry *message,
                  void *closure_data);
typedef void (*Common__ConfigGroup_Closure)
                 (const Common__ConfigGroup *message,
                  void *closure_data);
typedef void (*Common__ConfigValue_Closure)
                 (const Common__ConfigValue *message,
                  void *closure_data);
typedef void (*Common__ConfigPolicy_Closure)
                 (const Common__ConfigPolicy *message,
                  void *closure_data);
typedef void (*Common__ConfigSignature_Closure)
                 (const Common__ConfigSignature *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCMessageDescriptor common__config_envelope__descriptor;
extern const ProtobufCMessageDescriptor common__config_group_schema__descriptor;
extern const ProtobufCMessageDescriptor common__config_group_schema__groups_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_group_schema__values_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_group_schema__policies_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_value_schema__descriptor;
extern const ProtobufCMessageDescriptor common__config_policy_schema__descriptor;
extern const ProtobufCMessageDescriptor common__config__descriptor;
extern const ProtobufCMessageDescriptor common__config_update_envelope__descriptor;
extern const ProtobufCMessageDescriptor common__config_update__descriptor;
extern const ProtobufCMessageDescriptor common__config_update__isolated_data_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_group__descriptor;
extern const ProtobufCMessageDescriptor common__config_group__groups_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_group__values_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_group__policies_entry__descriptor;
extern const ProtobufCMessageDescriptor common__config_value__descriptor;
extern const ProtobufCMessageDescriptor common__config_policy__descriptor;
extern const ProtobufCMessageDescriptor common__config_signature__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_common_2fconfigtx_2eproto__INCLUDED */
