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

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "peer/proposal.pb-c.h"
void   protos__signed_proposal__init
                     (Protos__SignedProposal         *message)
{
  static Protos__SignedProposal init_value = PROTOS__SIGNED_PROPOSAL__INIT;
  *message = init_value;
}
size_t protos__signed_proposal__get_packed_size
                     (const Protos__SignedProposal *message)
{
  assert(message->base.descriptor == &protos__signed_proposal__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t protos__signed_proposal__pack
                     (const Protos__SignedProposal *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &protos__signed_proposal__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t protos__signed_proposal__pack_to_buffer
                     (const Protos__SignedProposal *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &protos__signed_proposal__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Protos__SignedProposal *
       protos__signed_proposal__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Protos__SignedProposal *)
     protobuf_c_message_unpack (&protos__signed_proposal__descriptor,
                                allocator, len, data);
}
void   protos__signed_proposal__free_unpacked
                     (Protos__SignedProposal *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &protos__signed_proposal__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   protos__proposal__init
                     (Protos__Proposal         *message)
{
  static Protos__Proposal init_value = PROTOS__PROPOSAL__INIT;
  *message = init_value;
}
size_t protos__proposal__get_packed_size
                     (const Protos__Proposal *message)
{
  assert(message->base.descriptor == &protos__proposal__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t protos__proposal__pack
                     (const Protos__Proposal *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &protos__proposal__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t protos__proposal__pack_to_buffer
                     (const Protos__Proposal *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &protos__proposal__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Protos__Proposal *
       protos__proposal__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Protos__Proposal *)
     protobuf_c_message_unpack (&protos__proposal__descriptor,
                                allocator, len, data);
}
void   protos__proposal__free_unpacked
                     (Protos__Proposal *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &protos__proposal__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   protos__chaincode_header_extension__init
                     (Protos__ChaincodeHeaderExtension         *message)
{
  static Protos__ChaincodeHeaderExtension init_value = PROTOS__CHAINCODE_HEADER_EXTENSION__INIT;
  *message = init_value;
}
size_t protos__chaincode_header_extension__get_packed_size
                     (const Protos__ChaincodeHeaderExtension *message)
{
  assert(message->base.descriptor == &protos__chaincode_header_extension__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t protos__chaincode_header_extension__pack
                     (const Protos__ChaincodeHeaderExtension *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &protos__chaincode_header_extension__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t protos__chaincode_header_extension__pack_to_buffer
                     (const Protos__ChaincodeHeaderExtension *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &protos__chaincode_header_extension__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Protos__ChaincodeHeaderExtension *
       protos__chaincode_header_extension__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Protos__ChaincodeHeaderExtension *)
     protobuf_c_message_unpack (&protos__chaincode_header_extension__descriptor,
                                allocator, len, data);
}
void   protos__chaincode_header_extension__free_unpacked
                     (Protos__ChaincodeHeaderExtension *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &protos__chaincode_header_extension__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   protos__chaincode_proposal_payload__transient_map_entry__init
                     (Protos__ChaincodeProposalPayload__TransientMapEntry         *message)
{
  static Protos__ChaincodeProposalPayload__TransientMapEntry init_value = PROTOS__CHAINCODE_PROPOSAL_PAYLOAD__TRANSIENT_MAP_ENTRY__INIT;
  *message = init_value;
}
void   protos__chaincode_proposal_payload__init
                     (Protos__ChaincodeProposalPayload         *message)
{
  static Protos__ChaincodeProposalPayload init_value = PROTOS__CHAINCODE_PROPOSAL_PAYLOAD__INIT;
  *message = init_value;
}
size_t protos__chaincode_proposal_payload__get_packed_size
                     (const Protos__ChaincodeProposalPayload *message)
{
  assert(message->base.descriptor == &protos__chaincode_proposal_payload__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t protos__chaincode_proposal_payload__pack
                     (const Protos__ChaincodeProposalPayload *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &protos__chaincode_proposal_payload__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t protos__chaincode_proposal_payload__pack_to_buffer
                     (const Protos__ChaincodeProposalPayload *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &protos__chaincode_proposal_payload__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Protos__ChaincodeProposalPayload *
       protos__chaincode_proposal_payload__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Protos__ChaincodeProposalPayload *)
     protobuf_c_message_unpack (&protos__chaincode_proposal_payload__descriptor,
                                allocator, len, data);
}
void   protos__chaincode_proposal_payload__free_unpacked
                     (Protos__ChaincodeProposalPayload *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &protos__chaincode_proposal_payload__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   protos__chaincode_action__init
                     (Protos__ChaincodeAction         *message)
{
  static Protos__ChaincodeAction init_value = PROTOS__CHAINCODE_ACTION__INIT;
  *message = init_value;
}
size_t protos__chaincode_action__get_packed_size
                     (const Protos__ChaincodeAction *message)
{
  assert(message->base.descriptor == &protos__chaincode_action__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t protos__chaincode_action__pack
                     (const Protos__ChaincodeAction *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &protos__chaincode_action__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t protos__chaincode_action__pack_to_buffer
                     (const Protos__ChaincodeAction *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &protos__chaincode_action__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Protos__ChaincodeAction *
       protos__chaincode_action__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Protos__ChaincodeAction *)
     protobuf_c_message_unpack (&protos__chaincode_action__descriptor,
                                allocator, len, data);
}
void   protos__chaincode_action__free_unpacked
                     (Protos__ChaincodeAction *message,
                      ProtobufCAllocator *allocator)
{
  assert(message->base.descriptor == &protos__chaincode_action__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor protos__signed_proposal__field_descriptors[2] =
{
  {
    "proposal_bytes",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__SignedProposal, has_proposal_bytes),
    offsetof(Protos__SignedProposal, proposal_bytes),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "signature",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__SignedProposal, has_signature),
    offsetof(Protos__SignedProposal, signature),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned protos__signed_proposal__field_indices_by_name[] = {
  0,   /* field[0] = proposal_bytes */
  1,   /* field[1] = signature */
};
static const ProtobufCIntRange protos__signed_proposal__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor protos__signed_proposal__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "protos.SignedProposal",
  "SignedProposal",
  "Protos__SignedProposal",
  "protos",
  sizeof(Protos__SignedProposal),
  2,
  protos__signed_proposal__field_descriptors,
  protos__signed_proposal__field_indices_by_name,
  1,  protos__signed_proposal__number_ranges,
  (ProtobufCMessageInit) protos__signed_proposal__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor protos__proposal__field_descriptors[3] =
{
  {
    "header",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__Proposal, has_header),
    offsetof(Protos__Proposal, header),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "payload",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__Proposal, has_payload),
    offsetof(Protos__Proposal, payload),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "extension",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__Proposal, has_extension),
    offsetof(Protos__Proposal, extension),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned protos__proposal__field_indices_by_name[] = {
  2,   /* field[2] = extension */
  0,   /* field[0] = header */
  1,   /* field[1] = payload */
};
static const ProtobufCIntRange protos__proposal__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor protos__proposal__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "protos.Proposal",
  "Proposal",
  "Protos__Proposal",
  "protos",
  sizeof(Protos__Proposal),
  3,
  protos__proposal__field_descriptors,
  protos__proposal__field_indices_by_name,
  1,  protos__proposal__number_ranges,
  (ProtobufCMessageInit) protos__proposal__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor protos__chaincode_header_extension__field_descriptors[2] =
{
  {
    "payload_visibility",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__ChaincodeHeaderExtension, has_payload_visibility),
    offsetof(Protos__ChaincodeHeaderExtension, payload_visibility),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "chaincode_id",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Protos__ChaincodeHeaderExtension, chaincode_id),
    &protos__chaincode_id__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned protos__chaincode_header_extension__field_indices_by_name[] = {
  1,   /* field[1] = chaincode_id */
  0,   /* field[0] = payload_visibility */
};
static const ProtobufCIntRange protos__chaincode_header_extension__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor protos__chaincode_header_extension__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "protos.ChaincodeHeaderExtension",
  "ChaincodeHeaderExtension",
  "Protos__ChaincodeHeaderExtension",
  "protos",
  sizeof(Protos__ChaincodeHeaderExtension),
  2,
  protos__chaincode_header_extension__field_descriptors,
  protos__chaincode_header_extension__field_indices_by_name,
  1,  protos__chaincode_header_extension__number_ranges,
  (ProtobufCMessageInit) protos__chaincode_header_extension__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor protos__chaincode_proposal_payload__transient_map_entry__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Protos__ChaincodeProposalPayload__TransientMapEntry, key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__ChaincodeProposalPayload__TransientMapEntry, has_value),
    offsetof(Protos__ChaincodeProposalPayload__TransientMapEntry, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned protos__chaincode_proposal_payload__transient_map_entry__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = value */
};
static const ProtobufCIntRange protos__chaincode_proposal_payload__transient_map_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor protos__chaincode_proposal_payload__transient_map_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "protos.ChaincodeProposalPayload.TransientMapEntry",
  "TransientMapEntry",
  "Protos__ChaincodeProposalPayload__TransientMapEntry",
  "protos",
  sizeof(Protos__ChaincodeProposalPayload__TransientMapEntry),
  2,
  protos__chaincode_proposal_payload__transient_map_entry__field_descriptors,
  protos__chaincode_proposal_payload__transient_map_entry__field_indices_by_name,
  1,  protos__chaincode_proposal_payload__transient_map_entry__number_ranges,
  (ProtobufCMessageInit) protos__chaincode_proposal_payload__transient_map_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor protos__chaincode_proposal_payload__field_descriptors[2] =
{
  {
    "input",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__ChaincodeProposalPayload, has_input),
    offsetof(Protos__ChaincodeProposalPayload, input),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "TransientMap",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Protos__ChaincodeProposalPayload, n_transientmap),
    offsetof(Protos__ChaincodeProposalPayload, transientmap),
    &protos__chaincode_proposal_payload__transient_map_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned protos__chaincode_proposal_payload__field_indices_by_name[] = {
  1,   /* field[1] = TransientMap */
  0,   /* field[0] = input */
};
static const ProtobufCIntRange protos__chaincode_proposal_payload__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor protos__chaincode_proposal_payload__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "protos.ChaincodeProposalPayload",
  "ChaincodeProposalPayload",
  "Protos__ChaincodeProposalPayload",
  "protos",
  sizeof(Protos__ChaincodeProposalPayload),
  2,
  protos__chaincode_proposal_payload__field_descriptors,
  protos__chaincode_proposal_payload__field_indices_by_name,
  1,  protos__chaincode_proposal_payload__number_ranges,
  (ProtobufCMessageInit) protos__chaincode_proposal_payload__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor protos__chaincode_action__field_descriptors[5] =
{
  {
    "results",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__ChaincodeAction, has_results),
    offsetof(Protos__ChaincodeAction, results),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "events",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Protos__ChaincodeAction, has_events),
    offsetof(Protos__ChaincodeAction, events),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "response",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Protos__ChaincodeAction, response),
    &protos__response__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "chaincode_id",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Protos__ChaincodeAction, chaincode_id),
    &protos__chaincode_id__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "token_expectation",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Protos__ChaincodeAction, token_expectation),
    &protos__token_expectation__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned protos__chaincode_action__field_indices_by_name[] = {
  3,   /* field[3] = chaincode_id */
  1,   /* field[1] = events */
  2,   /* field[2] = response */
  0,   /* field[0] = results */
  4,   /* field[4] = token_expectation */
};
static const ProtobufCIntRange protos__chaincode_action__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 5 }
};
const ProtobufCMessageDescriptor protos__chaincode_action__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "protos.ChaincodeAction",
  "ChaincodeAction",
  "Protos__ChaincodeAction",
  "protos",
  sizeof(Protos__ChaincodeAction),
  5,
  protos__chaincode_action__field_descriptors,
  protos__chaincode_action__field_indices_by_name,
  1,  protos__chaincode_action__number_ranges,
  (ProtobufCMessageInit) protos__chaincode_action__init,
  NULL,NULL,NULL    /* reserved[123] */
};
