libpurple/protocols/gg/lib/packets.pb-c.c

branch
release-2.x.y
changeset 35617
c9069e0e3c36
child 37180
cf498d4b54bb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libpurple/protocols/gg/lib/packets.pb-c.c	Fri Feb 28 17:29:00 2014 +0100
@@ -0,0 +1,2370 @@
+/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C_NO_DEPRECATED
+#define PROTOBUF_C_NO_DEPRECATED
+#endif
+
+#include "packets.pb-c.h"
+void   gg110_login_ok__init
+                     (GG110LoginOK         *message)
+{
+  static GG110LoginOK init_value = GG110_LOGIN_OK__INIT;
+  *message = init_value;
+}
+size_t gg110_login_ok__get_packed_size
+                     (const GG110LoginOK *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_login_ok__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_login_ok__pack
+                     (const GG110LoginOK *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_login_ok__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_login_ok__pack_to_buffer
+                     (const GG110LoginOK *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_login_ok__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110LoginOK *
+       gg110_login_ok__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110LoginOK *)
+     protobuf_c_message_unpack (&gg110_login_ok__descriptor,
+                                allocator, len, data);
+}
+void   gg110_login_ok__free_unpacked
+                     (GG110LoginOK *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_login_ok__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_ack__init
+                     (GG110Ack         *message)
+{
+  static GG110Ack init_value = GG110_ACK__INIT;
+  *message = init_value;
+}
+size_t gg110_ack__get_packed_size
+                     (const GG110Ack *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_ack__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_ack__pack
+                     (const GG110Ack *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_ack__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_ack__pack_to_buffer
+                     (const GG110Ack *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_ack__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110Ack *
+       gg110_ack__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110Ack *)
+     protobuf_c_message_unpack (&gg110_ack__descriptor,
+                                allocator, len, data);
+}
+void   gg110_ack__free_unpacked
+                     (GG110Ack *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_ack__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg105_login__init
+                     (GG105Login         *message)
+{
+  static GG105Login init_value = GG105_LOGIN__INIT;
+  *message = init_value;
+}
+size_t gg105_login__get_packed_size
+                     (const GG105Login *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg105_login__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg105_login__pack
+                     (const GG105Login *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg105_login__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg105_login__pack_to_buffer
+                     (const GG105Login *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg105_login__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG105Login *
+       gg105_login__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG105Login *)
+     protobuf_c_message_unpack (&gg105_login__descriptor,
+                                allocator, len, data);
+}
+void   gg105_login__free_unpacked
+                     (GG105Login *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg105_login__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_message_ack_link__init
+                     (GG110MessageAckLink         *message)
+{
+  static GG110MessageAckLink init_value = GG110_MESSAGE_ACK_LINK__INIT;
+  *message = init_value;
+}
+size_t gg110_message_ack_link__get_packed_size
+                     (const GG110MessageAckLink *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack_link__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_message_ack_link__pack
+                     (const GG110MessageAckLink *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack_link__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_message_ack_link__pack_to_buffer
+                     (const GG110MessageAckLink *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack_link__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110MessageAckLink *
+       gg110_message_ack_link__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110MessageAckLink *)
+     protobuf_c_message_unpack (&gg110_message_ack_link__descriptor,
+                                allocator, len, data);
+}
+void   gg110_message_ack_link__free_unpacked
+                     (GG110MessageAckLink *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack_link__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_message_ack__init
+                     (GG110MessageAck         *message)
+{
+  static GG110MessageAck init_value = GG110_MESSAGE_ACK__INIT;
+  *message = init_value;
+}
+size_t gg110_message_ack__get_packed_size
+                     (const GG110MessageAck *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_message_ack__pack
+                     (const GG110MessageAck *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_message_ack__pack_to_buffer
+                     (const GG110MessageAck *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110MessageAck *
+       gg110_message_ack__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110MessageAck *)
+     protobuf_c_message_unpack (&gg110_message_ack__descriptor,
+                                allocator, len, data);
+}
+void   gg110_message_ack__free_unpacked
+                     (GG110MessageAck *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_message_ack__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_event__init
+                     (GG110Event         *message)
+{
+  static GG110Event init_value = GG110_EVENT__INIT;
+  *message = init_value;
+}
+size_t gg110_event__get_packed_size
+                     (const GG110Event *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_event__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_event__pack
+                     (const GG110Event *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_event__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_event__pack_to_buffer
+                     (const GG110Event *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_event__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110Event *
+       gg110_event__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110Event *)
+     protobuf_c_message_unpack (&gg110_event__descriptor,
+                                allocator, len, data);
+}
+void   gg110_event__free_unpacked
+                     (GG110Event *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_event__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_recv_message__init
+                     (GG110RecvMessage         *message)
+{
+  static GG110RecvMessage init_value = GG110_RECV_MESSAGE__INIT;
+  *message = init_value;
+}
+size_t gg110_recv_message__get_packed_size
+                     (const GG110RecvMessage *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_recv_message__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_recv_message__pack
+                     (const GG110RecvMessage *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_recv_message__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_recv_message__pack_to_buffer
+                     (const GG110RecvMessage *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_recv_message__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110RecvMessage *
+       gg110_recv_message__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110RecvMessage *)
+     protobuf_c_message_unpack (&gg110_recv_message__descriptor,
+                                allocator, len, data);
+}
+void   gg110_recv_message__free_unpacked
+                     (GG110RecvMessage *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_recv_message__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_send_message__init
+                     (GG110SendMessage         *message)
+{
+  static GG110SendMessage init_value = GG110_SEND_MESSAGE__INIT;
+  *message = init_value;
+}
+size_t gg110_send_message__get_packed_size
+                     (const GG110SendMessage *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_send_message__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_send_message__pack
+                     (const GG110SendMessage *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_send_message__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_send_message__pack_to_buffer
+                     (const GG110SendMessage *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_send_message__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110SendMessage *
+       gg110_send_message__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110SendMessage *)
+     protobuf_c_message_unpack (&gg110_send_message__descriptor,
+                                allocator, len, data);
+}
+void   gg110_send_message__free_unpacked
+                     (GG110SendMessage *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_send_message__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_imtoken__init
+                     (GG110Imtoken         *message)
+{
+  static GG110Imtoken init_value = GG110_IMTOKEN__INIT;
+  *message = init_value;
+}
+size_t gg110_imtoken__get_packed_size
+                     (const GG110Imtoken *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_imtoken__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_imtoken__pack
+                     (const GG110Imtoken *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_imtoken__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_imtoken__pack_to_buffer
+                     (const GG110Imtoken *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_imtoken__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110Imtoken *
+       gg110_imtoken__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110Imtoken *)
+     protobuf_c_message_unpack (&gg110_imtoken__descriptor,
+                                allocator, len, data);
+}
+void   gg110_imtoken__free_unpacked
+                     (GG110Imtoken *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_imtoken__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_chat_info_update__init
+                     (GG110ChatInfoUpdate         *message)
+{
+  static GG110ChatInfoUpdate init_value = GG110_CHAT_INFO_UPDATE__INIT;
+  *message = init_value;
+}
+size_t gg110_chat_info_update__get_packed_size
+                     (const GG110ChatInfoUpdate *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_chat_info_update__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_chat_info_update__pack
+                     (const GG110ChatInfoUpdate *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_chat_info_update__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_chat_info_update__pack_to_buffer
+                     (const GG110ChatInfoUpdate *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_chat_info_update__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110ChatInfoUpdate *
+       gg110_chat_info_update__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110ChatInfoUpdate *)
+     protobuf_c_message_unpack (&gg110_chat_info_update__descriptor,
+                                allocator, len, data);
+}
+void   gg110_chat_info_update__free_unpacked
+                     (GG110ChatInfoUpdate *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_chat_info_update__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   protobuf_kvp__init
+                     (ProtobufKVP         *message)
+{
+  static ProtobufKVP init_value = PROTOBUF_KVP__INIT;
+  *message = init_value;
+}
+size_t protobuf_kvp__get_packed_size
+                     (const ProtobufKVP *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &protobuf_kvp__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t protobuf_kvp__pack
+                     (const ProtobufKVP *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &protobuf_kvp__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t protobuf_kvp__pack_to_buffer
+                     (const ProtobufKVP *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &protobuf_kvp__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ProtobufKVP *
+       protobuf_kvp__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (ProtobufKVP *)
+     protobuf_c_message_unpack (&protobuf_kvp__descriptor,
+                                allocator, len, data);
+}
+void   protobuf_kvp__free_unpacked
+                     (ProtobufKVP *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &protobuf_kvp__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_options__init
+                     (GG110Options         *message)
+{
+  static GG110Options init_value = GG110_OPTIONS__INIT;
+  *message = init_value;
+}
+size_t gg110_options__get_packed_size
+                     (const GG110Options *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_options__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_options__pack
+                     (const GG110Options *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_options__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_options__pack_to_buffer
+                     (const GG110Options *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_options__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110Options *
+       gg110_options__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110Options *)
+     protobuf_c_message_unpack (&gg110_options__descriptor,
+                                allocator, len, data);
+}
+void   gg110_options__free_unpacked
+                     (GG110Options *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_options__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg110_access_info__init
+                     (GG110AccessInfo         *message)
+{
+  static GG110AccessInfo init_value = GG110_ACCESS_INFO__INIT;
+  *message = init_value;
+}
+size_t gg110_access_info__get_packed_size
+                     (const GG110AccessInfo *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_access_info__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg110_access_info__pack
+                     (const GG110AccessInfo *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_access_info__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg110_access_info__pack_to_buffer
+                     (const GG110AccessInfo *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_access_info__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG110AccessInfo *
+       gg110_access_info__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG110AccessInfo *)
+     protobuf_c_message_unpack (&gg110_access_info__descriptor,
+                                allocator, len, data);
+}
+void   gg110_access_info__free_unpacked
+                     (GG110AccessInfo *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg110_access_info__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg112_transfer_info_uin__init
+                     (GG112TransferInfoUin         *message)
+{
+  static GG112TransferInfoUin init_value = GG112_TRANSFER_INFO_UIN__INIT;
+  *message = init_value;
+}
+size_t gg112_transfer_info_uin__get_packed_size
+                     (const GG112TransferInfoUin *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_uin__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg112_transfer_info_uin__pack
+                     (const GG112TransferInfoUin *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_uin__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg112_transfer_info_uin__pack_to_buffer
+                     (const GG112TransferInfoUin *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_uin__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG112TransferInfoUin *
+       gg112_transfer_info_uin__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG112TransferInfoUin *)
+     protobuf_c_message_unpack (&gg112_transfer_info_uin__descriptor,
+                                allocator, len, data);
+}
+void   gg112_transfer_info_uin__free_unpacked
+                     (GG112TransferInfoUin *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_uin__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg112_transfer_info_file__init
+                     (GG112TransferInfoFile         *message)
+{
+  static GG112TransferInfoFile init_value = GG112_TRANSFER_INFO_FILE__INIT;
+  *message = init_value;
+}
+size_t gg112_transfer_info_file__get_packed_size
+                     (const GG112TransferInfoFile *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_file__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg112_transfer_info_file__pack
+                     (const GG112TransferInfoFile *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_file__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg112_transfer_info_file__pack_to_buffer
+                     (const GG112TransferInfoFile *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_file__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG112TransferInfoFile *
+       gg112_transfer_info_file__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG112TransferInfoFile *)
+     protobuf_c_message_unpack (&gg112_transfer_info_file__descriptor,
+                                allocator, len, data);
+}
+void   gg112_transfer_info_file__free_unpacked
+                     (GG112TransferInfoFile *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info_file__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   gg112_transfer_info__init
+                     (GG112TransferInfo         *message)
+{
+  static GG112TransferInfo init_value = GG112_TRANSFER_INFO__INIT;
+  *message = init_value;
+}
+size_t gg112_transfer_info__get_packed_size
+                     (const GG112TransferInfo *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t gg112_transfer_info__pack
+                     (const GG112TransferInfo *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t gg112_transfer_info__pack_to_buffer
+                     (const GG112TransferInfo *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+GG112TransferInfo *
+       gg112_transfer_info__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (GG112TransferInfo *)
+     protobuf_c_message_unpack (&gg112_transfer_info__descriptor,
+                                allocator, len, data);
+}
+void   gg112_transfer_info__free_unpacked
+                     (GG112TransferInfo *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &gg112_transfer_info__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const int32_t gg110_login_ok__dummy1__default_value = 1;
+static const ProtobufCFieldDescriptor gg110_login_ok__field_descriptors[4] =
+{
+  {
+    "dummy1",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_INT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110LoginOK, dummy1),
+    NULL,
+    &gg110_login_ok__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummyhash",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110LoginOK, dummyhash),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "uin",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110LoginOK, uin),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "server_time",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110LoginOK, server_time),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_login_ok__field_indices_by_name[] = {
+  0,   /* field[0] = dummy1 */
+  1,   /* field[1] = dummyhash */
+  3,   /* field[3] = server_time */
+  2,   /* field[2] = uin */
+};
+static const ProtobufCIntRange gg110_login_ok__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 4 }
+};
+const ProtobufCMessageDescriptor gg110_login_ok__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110LoginOK",
+  "GG110LoginOK",
+  "GG110LoginOK",
+  "",
+  sizeof(GG110LoginOK),
+  4,
+  gg110_login_ok__field_descriptors,
+  gg110_login_ok__field_indices_by_name,
+  1,  gg110_login_ok__number_ranges,
+  (ProtobufCMessageInit) gg110_login_ok__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+const ProtobufCEnumValue gg110_ack__type__enum_values_by_number[5] =
+{
+  { "MSG", "GG110_ACK__TYPE__MSG", 1 },
+  { "CHAT", "GG110_ACK__TYPE__CHAT", 2 },
+  { "CHAT_INFO", "GG110_ACK__TYPE__CHAT_INFO", 3 },
+  { "MPA", "GG110_ACK__TYPE__MPA", 6 },
+  { "TRANSFER_INFO", "GG110_ACK__TYPE__TRANSFER_INFO", 7 },
+};
+static const ProtobufCIntRange gg110_ack__type__value_ranges[] = {
+{1, 0},{6, 3},{0, 5}
+};
+const ProtobufCEnumValueIndex gg110_ack__type__enum_values_by_name[5] =
+{
+  { "CHAT", 1 },
+  { "CHAT_INFO", 2 },
+  { "MPA", 3 },
+  { "MSG", 0 },
+  { "TRANSFER_INFO", 4 },
+};
+const ProtobufCEnumDescriptor gg110_ack__type__descriptor =
+{
+  PROTOBUF_C_ENUM_DESCRIPTOR_MAGIC,
+  "GG110Ack.Type",
+  "Type",
+  "GG110Ack__Type",
+  "",
+  5,
+  gg110_ack__type__enum_values_by_number,
+  5,
+  gg110_ack__type__enum_values_by_name,
+  2,
+  gg110_ack__type__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
+};
+static const uint32_t gg110_ack__dummy1__default_value = 1;
+static const ProtobufCFieldDescriptor gg110_ack__field_descriptors[3] =
+{
+  {
+    "type",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_ENUM,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Ack, type),
+    &gg110_ack__type__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seq",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Ack, seq),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy1",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Ack, dummy1),
+    NULL,
+    &gg110_ack__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_ack__field_indices_by_name[] = {
+  2,   /* field[2] = dummy1 */
+  1,   /* field[1] = seq */
+  0,   /* field[0] = type */
+};
+static const ProtobufCIntRange gg110_ack__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 3 }
+};
+const ProtobufCMessageDescriptor gg110_ack__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110Ack",
+  "GG110Ack",
+  "GG110Ack",
+  "",
+  sizeof(GG110Ack),
+  3,
+  gg110_ack__field_descriptors,
+  gg110_ack__field_indices_by_name,
+  1,  gg110_ack__number_ranges,
+  (ProtobufCMessageInit) gg110_ack__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+char gg105_login__initial_descr__default_value[] = "";
+static const uint32_t gg105_login__initial_status__default_value = 8227;
+static const int32_t gg105_login__dummy1__default_value = 4;
+static const uint32_t gg105_login__dummy2__default_value = 65994615;
+static const uint32_t gg105_login__dummy3__default_value = 198164;
+static const int32_t gg105_login__dummy5__default_value = 255;
+static const int32_t gg105_login__dummy6__default_value = 100;
+static const uint32_t gg105_login__dummy7__default_value = 127;
+static const int32_t gg105_login__dummy8__default_value = 0;
+static const uint32_t gg105_login__dummy10__default_value = 0;
+static const ProtobufCFieldDescriptor gg105_login__field_descriptors[16] =
+{
+  {
+    "lang",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, lang),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "uin",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, uin),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "hash",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, hash),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy1",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_INT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy1),
+    NULL,
+    &gg105_login__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy2",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy2),
+    NULL,
+    &gg105_login__dummy2__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy3",
+    6,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy3),
+    NULL,
+    &gg105_login__dummy3__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "client",
+    7,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, client),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "initial_status",
+    8,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, initial_status),
+    NULL,
+    &gg105_login__initial_status__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "initial_descr",
+    9,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, initial_descr),
+    NULL,
+    &gg105_login__initial_descr__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy4",
+    10,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy4),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "supported_features",
+    11,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, supported_features),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy5",
+    12,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_INT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy5),
+    NULL,
+    &gg105_login__dummy5__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy6",
+    13,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_INT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy6),
+    NULL,
+    &gg105_login__dummy6__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy7",
+    14,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED32,
+    PROTOBUF_C_OFFSETOF(GG105Login, has_dummy7),
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy7),
+    NULL,
+    &gg105_login__dummy7__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy8",
+    15,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_INT32,
+    PROTOBUF_C_OFFSETOF(GG105Login, has_dummy8),
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy8),
+    NULL,
+    &gg105_login__dummy8__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy10",
+    17,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(GG105Login, has_dummy10),
+    PROTOBUF_C_OFFSETOF(GG105Login, dummy10),
+    NULL,
+    &gg105_login__dummy10__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg105_login__field_indices_by_name[] = {
+  6,   /* field[6] = client */
+  3,   /* field[3] = dummy1 */
+  15,   /* field[15] = dummy10 */
+  4,   /* field[4] = dummy2 */
+  5,   /* field[5] = dummy3 */
+  9,   /* field[9] = dummy4 */
+  11,   /* field[11] = dummy5 */
+  12,   /* field[12] = dummy6 */
+  13,   /* field[13] = dummy7 */
+  14,   /* field[14] = dummy8 */
+  2,   /* field[2] = hash */
+  8,   /* field[8] = initial_descr */
+  7,   /* field[7] = initial_status */
+  0,   /* field[0] = lang */
+  10,   /* field[10] = supported_features */
+  1,   /* field[1] = uin */
+};
+static const ProtobufCIntRange gg105_login__number_ranges[2 + 1] =
+{
+  { 1, 0 },
+  { 17, 15 },
+  { 0, 16 }
+};
+const ProtobufCMessageDescriptor gg105_login__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG105Login",
+  "GG105Login",
+  "GG105Login",
+  "",
+  sizeof(GG105Login),
+  16,
+  gg105_login__field_descriptors,
+  gg105_login__field_indices_by_name,
+  2,  gg105_login__number_ranges,
+  (ProtobufCMessageInit) gg105_login__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const ProtobufCFieldDescriptor gg110_message_ack_link__field_descriptors[2] =
+{
+  {
+    "id",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110MessageAckLink, id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "url",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110MessageAckLink, url),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_message_ack_link__field_indices_by_name[] = {
+  0,   /* field[0] = id */
+  1,   /* field[1] = url */
+};
+static const ProtobufCIntRange gg110_message_ack_link__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor gg110_message_ack_link__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110MessageAckLink",
+  "GG110MessageAckLink",
+  "GG110MessageAckLink",
+  "",
+  sizeof(GG110MessageAckLink),
+  2,
+  gg110_message_ack_link__field_descriptors,
+  gg110_message_ack_link__field_indices_by_name,
+  1,  gg110_message_ack_link__number_ranges,
+  (ProtobufCMessageInit) gg110_message_ack_link__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const uint32_t gg110_message_ack__dummy1__default_value = 0;
+static const ProtobufCFieldDescriptor gg110_message_ack__field_descriptors[7] =
+{
+  {
+    "msg_type",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, msg_type),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seq",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, seq),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "time",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, time),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_id",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED64,
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, has_msg_id),
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, msg_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "conv_id",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED64,
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, has_conv_id),
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, conv_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "links",
+    6,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, n_links),
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, links),
+    &gg110_message_ack_link__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy1",
+    7,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110MessageAck, dummy1),
+    NULL,
+    &gg110_message_ack__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_message_ack__field_indices_by_name[] = {
+  4,   /* field[4] = conv_id */
+  6,   /* field[6] = dummy1 */
+  5,   /* field[5] = links */
+  3,   /* field[3] = msg_id */
+  0,   /* field[0] = msg_type */
+  1,   /* field[1] = seq */
+  2,   /* field[2] = time */
+};
+static const ProtobufCIntRange gg110_message_ack__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 7 }
+};
+const ProtobufCMessageDescriptor gg110_message_ack__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110MessageAck",
+  "GG110MessageAck",
+  "GG110MessageAck",
+  "",
+  sizeof(GG110MessageAck),
+  7,
+  gg110_message_ack__field_descriptors,
+  gg110_message_ack__field_indices_by_name,
+  1,  gg110_message_ack__number_ranges,
+  (ProtobufCMessageInit) gg110_message_ack__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+const ProtobufCEnumValue gg110_event__type__enum_values_by_number[2] =
+{
+  { "XML", "GG110_EVENT__TYPE__XML", 0 },
+  { "JSON", "GG110_EVENT__TYPE__JSON", 2 },
+};
+static const ProtobufCIntRange gg110_event__type__value_ranges[] = {
+{0, 0},{2, 1},{0, 2}
+};
+const ProtobufCEnumValueIndex gg110_event__type__enum_values_by_name[2] =
+{
+  { "JSON", 1 },
+  { "XML", 0 },
+};
+const ProtobufCEnumDescriptor gg110_event__type__descriptor =
+{
+  PROTOBUF_C_ENUM_DESCRIPTOR_MAGIC,
+  "GG110Event.Type",
+  "Type",
+  "GG110Event__Type",
+  "",
+  2,
+  gg110_event__type__enum_values_by_number,
+  2,
+  gg110_event__type__enum_values_by_name,
+  2,
+  gg110_event__type__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor gg110_event__field_descriptors[5] =
+{
+  {
+    "type",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_ENUM,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Event, type),
+    &gg110_event__type__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seq",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Event, seq),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "data",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Event, data),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "subtype",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Event, subtype),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "id",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT64,
+    PROTOBUF_C_OFFSETOF(GG110Event, has_id),
+    PROTOBUF_C_OFFSETOF(GG110Event, id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_event__field_indices_by_name[] = {
+  2,   /* field[2] = data */
+  4,   /* field[4] = id */
+  1,   /* field[1] = seq */
+  3,   /* field[3] = subtype */
+  0,   /* field[0] = type */
+};
+static const ProtobufCIntRange gg110_event__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor gg110_event__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110Event",
+  "GG110Event",
+  "GG110Event",
+  "",
+  sizeof(GG110Event),
+  5,
+  gg110_event__field_descriptors,
+  gg110_event__field_indices_by_name,
+  1,  gg110_event__number_ranges,
+  (ProtobufCMessageInit) gg110_event__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+char gg110_recv_message__msg_plain__default_value[] = "";
+static const ProtobufCFieldDescriptor gg110_recv_message__field_descriptors[10] =
+{
+  {
+    "sender",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, has_sender),
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, sender),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "flags",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, flags),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seq",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, seq),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "time",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, time),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_plain",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, msg_plain),
+    NULL,
+    &gg110_recv_message__msg_plain__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_xhtml",
+    6,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, msg_xhtml),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "data",
+    7,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, has_data),
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, data),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_id",
+    9,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED64,
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, has_msg_id),
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, msg_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "chat_id",
+    10,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED64,
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, has_chat_id),
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, chat_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "conv_id",
+    11,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED64,
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, has_conv_id),
+    PROTOBUF_C_OFFSETOF(GG110RecvMessage, conv_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_recv_message__field_indices_by_name[] = {
+  8,   /* field[8] = chat_id */
+  9,   /* field[9] = conv_id */
+  6,   /* field[6] = data */
+  1,   /* field[1] = flags */
+  7,   /* field[7] = msg_id */
+  4,   /* field[4] = msg_plain */
+  5,   /* field[5] = msg_xhtml */
+  0,   /* field[0] = sender */
+  2,   /* field[2] = seq */
+  3,   /* field[3] = time */
+};
+static const ProtobufCIntRange gg110_recv_message__number_ranges[2 + 1] =
+{
+  { 1, 0 },
+  { 9, 7 },
+  { 0, 10 }
+};
+const ProtobufCMessageDescriptor gg110_recv_message__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110RecvMessage",
+  "GG110RecvMessage",
+  "GG110RecvMessage",
+  "",
+  sizeof(GG110RecvMessage),
+  10,
+  gg110_recv_message__field_descriptors,
+  gg110_recv_message__field_indices_by_name,
+  2,  gg110_recv_message__number_ranges,
+  (ProtobufCMessageInit) gg110_recv_message__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+char gg110_send_message__dummy3__default_value[] = "";
+static const uint32_t gg110_send_message__dummy1__default_value = 8;
+static const ProtobufCFieldDescriptor gg110_send_message__field_descriptors[7] =
+{
+  {
+    "recipient",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, has_recipient),
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, recipient),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy1",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, dummy1),
+    NULL,
+    &gg110_send_message__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seq",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, seq),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_plain",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, msg_plain),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_xhtml",
+    6,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, msg_xhtml),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy3",
+    7,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, dummy3),
+    NULL,
+    &gg110_send_message__dummy3__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "chat_id",
+    10,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FIXED64,
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, has_chat_id),
+    PROTOBUF_C_OFFSETOF(GG110SendMessage, chat_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_send_message__field_indices_by_name[] = {
+  6,   /* field[6] = chat_id */
+  1,   /* field[1] = dummy1 */
+  5,   /* field[5] = dummy3 */
+  3,   /* field[3] = msg_plain */
+  4,   /* field[4] = msg_xhtml */
+  0,   /* field[0] = recipient */
+  2,   /* field[2] = seq */
+};
+static const ProtobufCIntRange gg110_send_message__number_ranges[3 + 1] =
+{
+  { 1, 0 },
+  { 5, 3 },
+  { 10, 6 },
+  { 0, 7 }
+};
+const ProtobufCMessageDescriptor gg110_send_message__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110SendMessage",
+  "GG110SendMessage",
+  "GG110SendMessage",
+  "",
+  sizeof(GG110SendMessage),
+  7,
+  gg110_send_message__field_descriptors,
+  gg110_send_message__field_indices_by_name,
+  3,  gg110_send_message__number_ranges,
+  (ProtobufCMessageInit) gg110_send_message__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const ProtobufCFieldDescriptor gg110_imtoken__field_descriptors[1] =
+{
+  {
+    "imtoken",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Imtoken, imtoken),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_imtoken__field_indices_by_name[] = {
+  0,   /* field[0] = imtoken */
+};
+static const ProtobufCIntRange gg110_imtoken__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 1 }
+};
+const ProtobufCMessageDescriptor gg110_imtoken__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110Imtoken",
+  "GG110Imtoken",
+  "GG110Imtoken",
+  "",
+  sizeof(GG110Imtoken),
+  1,
+  gg110_imtoken__field_descriptors,
+  gg110_imtoken__field_indices_by_name,
+  1,  gg110_imtoken__number_ranges,
+  (ProtobufCMessageInit) gg110_imtoken__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const ProtobufCFieldDescriptor gg110_chat_info_update__field_descriptors[10] =
+{
+  {
+    "participant",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, participant),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "inviter",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, inviter),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "update_type",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, update_type),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "time",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, time),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy1",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, dummy1),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "version",
+    6,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, version),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy2",
+    7,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, dummy2),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_id",
+    9,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, msg_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "chat_id",
+    10,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, chat_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "conv_id",
+    11,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110ChatInfoUpdate, conv_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_chat_info_update__field_indices_by_name[] = {
+  8,   /* field[8] = chat_id */
+  9,   /* field[9] = conv_id */
+  4,   /* field[4] = dummy1 */
+  6,   /* field[6] = dummy2 */
+  1,   /* field[1] = inviter */
+  7,   /* field[7] = msg_id */
+  0,   /* field[0] = participant */
+  3,   /* field[3] = time */
+  2,   /* field[2] = update_type */
+  5,   /* field[5] = version */
+};
+static const ProtobufCIntRange gg110_chat_info_update__number_ranges[2 + 1] =
+{
+  { 1, 0 },
+  { 9, 7 },
+  { 0, 10 }
+};
+const ProtobufCMessageDescriptor gg110_chat_info_update__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110ChatInfoUpdate",
+  "GG110ChatInfoUpdate",
+  "GG110ChatInfoUpdate",
+  "",
+  sizeof(GG110ChatInfoUpdate),
+  10,
+  gg110_chat_info_update__field_descriptors,
+  gg110_chat_info_update__field_indices_by_name,
+  2,  gg110_chat_info_update__number_ranges,
+  (ProtobufCMessageInit) gg110_chat_info_update__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const ProtobufCFieldDescriptor protobuf_kvp__field_descriptors[2] =
+{
+  {
+    "key",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(ProtobufKVP, key),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "value",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(ProtobufKVP, value),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned protobuf_kvp__field_indices_by_name[] = {
+  0,   /* field[0] = key */
+  1,   /* field[1] = value */
+};
+static const ProtobufCIntRange protobuf_kvp__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor protobuf_kvp__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "ProtobufKVP",
+  "ProtobufKVP",
+  "ProtobufKVP",
+  "",
+  sizeof(ProtobufKVP),
+  2,
+  protobuf_kvp__field_descriptors,
+  protobuf_kvp__field_indices_by_name,
+  1,  protobuf_kvp__number_ranges,
+  (ProtobufCMessageInit) protobuf_kvp__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const uint32_t gg110_options__dummy1__default_value = 0;
+static const ProtobufCFieldDescriptor gg110_options__field_descriptors[2] =
+{
+  {
+    "options",
+    1,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(GG110Options, n_options),
+    PROTOBUF_C_OFFSETOF(GG110Options, options),
+    &protobuf_kvp__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy1",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110Options, dummy1),
+    NULL,
+    &gg110_options__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_options__field_indices_by_name[] = {
+  1,   /* field[1] = dummy1 */
+  0,   /* field[0] = options */
+};
+static const ProtobufCIntRange gg110_options__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor gg110_options__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110Options",
+  "GG110Options",
+  "GG110Options",
+  "",
+  sizeof(GG110Options),
+  2,
+  gg110_options__field_descriptors,
+  gg110_options__field_indices_by_name,
+  1,  gg110_options__number_ranges,
+  (ProtobufCMessageInit) gg110_options__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const uint32_t gg110_access_info__dummy1__default_value = 1;
+static const ProtobufCFieldDescriptor gg110_access_info__field_descriptors[5] =
+{
+  {
+    "dummy1",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110AccessInfo, dummy1),
+    NULL,
+    &gg110_access_info__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "dummy2",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110AccessInfo, dummy2),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "last_message",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110AccessInfo, last_message),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "last_file_transfer",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110AccessInfo, last_file_transfer),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "last_conference_ch",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG110AccessInfo, last_conference_ch),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg110_access_info__field_indices_by_name[] = {
+  0,   /* field[0] = dummy1 */
+  1,   /* field[1] = dummy2 */
+  4,   /* field[4] = last_conference_ch */
+  3,   /* field[3] = last_file_transfer */
+  2,   /* field[2] = last_message */
+};
+static const ProtobufCIntRange gg110_access_info__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor gg110_access_info__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG110AccessInfo",
+  "GG110AccessInfo",
+  "GG110AccessInfo",
+  "",
+  sizeof(GG110AccessInfo),
+  5,
+  gg110_access_info__field_descriptors,
+  gg110_access_info__field_indices_by_name,
+  1,  gg110_access_info__number_ranges,
+  (ProtobufCMessageInit) gg110_access_info__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const uint32_t gg112_transfer_info_uin__dummy1__default_value = 1;
+static const ProtobufCFieldDescriptor gg112_transfer_info_uin__field_descriptors[2] =
+{
+  {
+    "dummy1",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoUin, dummy1),
+    NULL,
+    &gg112_transfer_info_uin__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "uin",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoUin, uin),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg112_transfer_info_uin__field_indices_by_name[] = {
+  0,   /* field[0] = dummy1 */
+  1,   /* field[1] = uin */
+};
+static const ProtobufCIntRange gg112_transfer_info_uin__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor gg112_transfer_info_uin__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG112TransferInfoUin",
+  "GG112TransferInfoUin",
+  "GG112TransferInfoUin",
+  "",
+  sizeof(GG112TransferInfoUin),
+  2,
+  gg112_transfer_info_uin__field_descriptors,
+  gg112_transfer_info_uin__field_indices_by_name,
+  1,  gg112_transfer_info_uin__number_ranges,
+  (ProtobufCMessageInit) gg112_transfer_info_uin__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+char gg112_transfer_info_file__type__default_value[] = "other";
+static const ProtobufCFieldDescriptor gg112_transfer_info_file__field_descriptors[6] =
+{
+  {
+    "type",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoFile, type),
+    NULL,
+    &gg112_transfer_info_file__type__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "url",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoFile, url),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "content_type",
+    6,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoFile, content_type),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "filename",
+    7,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoFile, filename),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "filesize",
+    8,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoFile, filesize),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_id",
+    1001,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfoFile, msg_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg112_transfer_info_file__field_indices_by_name[] = {
+  2,   /* field[2] = content_type */
+  3,   /* field[3] = filename */
+  4,   /* field[4] = filesize */
+  5,   /* field[5] = msg_id */
+  0,   /* field[0] = type */
+  1,   /* field[1] = url */
+};
+static const ProtobufCIntRange gg112_transfer_info_file__number_ranges[3 + 1] =
+{
+  { 1, 0 },
+  { 6, 2 },
+  { 1001, 5 },
+  { 0, 6 }
+};
+const ProtobufCMessageDescriptor gg112_transfer_info_file__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG112TransferInfoFile",
+  "GG112TransferInfoFile",
+  "GG112TransferInfoFile",
+  "",
+  sizeof(GG112TransferInfoFile),
+  6,
+  gg112_transfer_info_file__field_descriptors,
+  gg112_transfer_info_file__field_indices_by_name,
+  3,  gg112_transfer_info_file__number_ranges,
+  (ProtobufCMessageInit) gg112_transfer_info_file__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};
+static const uint32_t gg112_transfer_info__dummy1__default_value = 6;
+static const ProtobufCFieldDescriptor gg112_transfer_info__field_descriptors[9] =
+{
+  {
+    "dummy1",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, dummy1),
+    NULL,
+    &gg112_transfer_info__dummy1__default_value,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "peer",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, peer),
+    &gg112_transfer_info_uin__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "time",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, time),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "sender",
+    4,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, sender),
+    &gg112_transfer_info_uin__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "data",
+    5,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, n_data),
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, data),
+    &protobuf_kvp__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "file",
+    6,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, file),
+    &gg112_transfer_info_file__descriptor,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "seq",
+    7,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, seq),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "msg_id",
+    1001,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, msg_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+  {
+    "conv_id",
+    1002,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(GG112TransferInfo, conv_id),
+    NULL,
+    NULL,
+    0,            /* packed */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
+};
+static const unsigned gg112_transfer_info__field_indices_by_name[] = {
+  8,   /* field[8] = conv_id */
+  4,   /* field[4] = data */
+  0,   /* field[0] = dummy1 */
+  5,   /* field[5] = file */
+  7,   /* field[7] = msg_id */
+  1,   /* field[1] = peer */
+  3,   /* field[3] = sender */
+  6,   /* field[6] = seq */
+  2,   /* field[2] = time */
+};
+static const ProtobufCIntRange gg112_transfer_info__number_ranges[2 + 1] =
+{
+  { 1, 0 },
+  { 1001, 7 },
+  { 0, 9 }
+};
+const ProtobufCMessageDescriptor gg112_transfer_info__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "GG112TransferInfo",
+  "GG112TransferInfo",
+  "GG112TransferInfo",
+  "",
+  sizeof(GG112TransferInfo),
+  9,
+  gg112_transfer_info__field_descriptors,
+  gg112_transfer_info__field_indices_by_name,
+  2,  gg112_transfer_info__number_ranges,
+  (ProtobufCMessageInit) gg112_transfer_info__init,
+  NULL,NULL,NULL    /* reserved[123] */
+};

mercurial