Mumble 1.2.x compatible server. Kind of working, at least in server loopback mode.
[umurmur.git] / src / Mumble.pb-c.c
diff --git a/src/Mumble.pb-c.c b/src/Mumble.pb-c.c
new file mode 100644 (file)
index 0000000..d0bbec9
--- /dev/null
@@ -0,0 +1,3175 @@
+/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
+
+#include "Mumble.pb-c.h"
+void   mumble_proto__version__init
+                     (MumbleProto__Version         *message)
+{
+  static MumbleProto__Version init_value = MUMBLE_PROTO__VERSION__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__version__get_packed_size
+                     (const MumbleProto__Version *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__version__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__version__pack
+                     (const MumbleProto__Version *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__version__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__version__pack_to_buffer
+                     (const MumbleProto__Version *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__version__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__Version *
+       mumble_proto__version__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__Version *)
+     protobuf_c_message_unpack (&mumble_proto__version__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__version__free_unpacked
+                     (MumbleProto__Version *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__version__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__udptunnel__init
+                     (MumbleProto__UDPTunnel         *message)
+{
+  static MumbleProto__UDPTunnel init_value = MUMBLE_PROTO__UDPTUNNEL__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__udptunnel__get_packed_size
+                     (const MumbleProto__UDPTunnel *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__udptunnel__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__udptunnel__pack
+                     (const MumbleProto__UDPTunnel *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__udptunnel__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__udptunnel__pack_to_buffer
+                     (const MumbleProto__UDPTunnel *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__udptunnel__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__UDPTunnel *
+       mumble_proto__udptunnel__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__UDPTunnel *)
+     protobuf_c_message_unpack (&mumble_proto__udptunnel__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__udptunnel__free_unpacked
+                     (MumbleProto__UDPTunnel *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__udptunnel__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__authenticate__init
+                     (MumbleProto__Authenticate         *message)
+{
+  static MumbleProto__Authenticate init_value = MUMBLE_PROTO__AUTHENTICATE__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__authenticate__get_packed_size
+                     (const MumbleProto__Authenticate *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__authenticate__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__authenticate__pack
+                     (const MumbleProto__Authenticate *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__authenticate__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__authenticate__pack_to_buffer
+                     (const MumbleProto__Authenticate *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__authenticate__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__Authenticate *
+       mumble_proto__authenticate__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__Authenticate *)
+     protobuf_c_message_unpack (&mumble_proto__authenticate__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__authenticate__free_unpacked
+                     (MumbleProto__Authenticate *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__authenticate__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__ping__init
+                     (MumbleProto__Ping         *message)
+{
+  static MumbleProto__Ping init_value = MUMBLE_PROTO__PING__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__ping__get_packed_size
+                     (const MumbleProto__Ping *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ping__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__ping__pack
+                     (const MumbleProto__Ping *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ping__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__ping__pack_to_buffer
+                     (const MumbleProto__Ping *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ping__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__Ping *
+       mumble_proto__ping__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__Ping *)
+     protobuf_c_message_unpack (&mumble_proto__ping__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__ping__free_unpacked
+                     (MumbleProto__Ping *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ping__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__reject__init
+                     (MumbleProto__Reject         *message)
+{
+  static MumbleProto__Reject init_value = MUMBLE_PROTO__REJECT__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__reject__get_packed_size
+                     (const MumbleProto__Reject *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__reject__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__reject__pack
+                     (const MumbleProto__Reject *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__reject__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__reject__pack_to_buffer
+                     (const MumbleProto__Reject *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__reject__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__Reject *
+       mumble_proto__reject__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__Reject *)
+     protobuf_c_message_unpack (&mumble_proto__reject__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__reject__free_unpacked
+                     (MumbleProto__Reject *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__reject__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__server_sync__init
+                     (MumbleProto__ServerSync         *message)
+{
+  static MumbleProto__ServerSync init_value = MUMBLE_PROTO__SERVER_SYNC__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__server_sync__get_packed_size
+                     (const MumbleProto__ServerSync *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__server_sync__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__server_sync__pack
+                     (const MumbleProto__ServerSync *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__server_sync__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__server_sync__pack_to_buffer
+                     (const MumbleProto__ServerSync *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__server_sync__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__ServerSync *
+       mumble_proto__server_sync__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__ServerSync *)
+     protobuf_c_message_unpack (&mumble_proto__server_sync__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__server_sync__free_unpacked
+                     (MumbleProto__ServerSync *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__server_sync__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__channel_remove__init
+                     (MumbleProto__ChannelRemove         *message)
+{
+  static MumbleProto__ChannelRemove init_value = MUMBLE_PROTO__CHANNEL_REMOVE__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__channel_remove__get_packed_size
+                     (const MumbleProto__ChannelRemove *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_remove__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__channel_remove__pack
+                     (const MumbleProto__ChannelRemove *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_remove__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__channel_remove__pack_to_buffer
+                     (const MumbleProto__ChannelRemove *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_remove__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__ChannelRemove *
+       mumble_proto__channel_remove__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__ChannelRemove *)
+     protobuf_c_message_unpack (&mumble_proto__channel_remove__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__channel_remove__free_unpacked
+                     (MumbleProto__ChannelRemove *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_remove__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__channel_state__init
+                     (MumbleProto__ChannelState         *message)
+{
+  static MumbleProto__ChannelState init_value = MUMBLE_PROTO__CHANNEL_STATE__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__channel_state__get_packed_size
+                     (const MumbleProto__ChannelState *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_state__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__channel_state__pack
+                     (const MumbleProto__ChannelState *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_state__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__channel_state__pack_to_buffer
+                     (const MumbleProto__ChannelState *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_state__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__ChannelState *
+       mumble_proto__channel_state__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__ChannelState *)
+     protobuf_c_message_unpack (&mumble_proto__channel_state__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__channel_state__free_unpacked
+                     (MumbleProto__ChannelState *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__channel_state__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__user_remove__init
+                     (MumbleProto__UserRemove         *message)
+{
+  static MumbleProto__UserRemove init_value = MUMBLE_PROTO__USER_REMOVE__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__user_remove__get_packed_size
+                     (const MumbleProto__UserRemove *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_remove__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__user_remove__pack
+                     (const MumbleProto__UserRemove *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_remove__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__user_remove__pack_to_buffer
+                     (const MumbleProto__UserRemove *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_remove__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__UserRemove *
+       mumble_proto__user_remove__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__UserRemove *)
+     protobuf_c_message_unpack (&mumble_proto__user_remove__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__user_remove__free_unpacked
+                     (MumbleProto__UserRemove *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_remove__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__user_state__init
+                     (MumbleProto__UserState         *message)
+{
+  static MumbleProto__UserState init_value = MUMBLE_PROTO__USER_STATE__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__user_state__get_packed_size
+                     (const MumbleProto__UserState *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_state__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__user_state__pack
+                     (const MumbleProto__UserState *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_state__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__user_state__pack_to_buffer
+                     (const MumbleProto__UserState *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_state__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__UserState *
+       mumble_proto__user_state__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__UserState *)
+     protobuf_c_message_unpack (&mumble_proto__user_state__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__user_state__free_unpacked
+                     (MumbleProto__UserState *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_state__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__ban_list__init
+                     (MumbleProto__BanList         *message)
+{
+  static MumbleProto__BanList init_value = MUMBLE_PROTO__BAN_LIST__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__ban_list__get_packed_size
+                     (const MumbleProto__BanList *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ban_list__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__ban_list__pack
+                     (const MumbleProto__BanList *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ban_list__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__ban_list__pack_to_buffer
+                     (const MumbleProto__BanList *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ban_list__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__BanList *
+       mumble_proto__ban_list__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__BanList *)
+     protobuf_c_message_unpack (&mumble_proto__ban_list__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__ban_list__free_unpacked
+                     (MumbleProto__BanList *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__ban_list__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__text_message__init
+                     (MumbleProto__TextMessage         *message)
+{
+  static MumbleProto__TextMessage init_value = MUMBLE_PROTO__TEXT_MESSAGE__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__text_message__get_packed_size
+                     (const MumbleProto__TextMessage *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__text_message__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__text_message__pack
+                     (const MumbleProto__TextMessage *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__text_message__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__text_message__pack_to_buffer
+                     (const MumbleProto__TextMessage *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__text_message__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__TextMessage *
+       mumble_proto__text_message__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__TextMessage *)
+     protobuf_c_message_unpack (&mumble_proto__text_message__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__text_message__free_unpacked
+                     (MumbleProto__TextMessage *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__text_message__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__permission_denied__init
+                     (MumbleProto__PermissionDenied         *message)
+{
+  static MumbleProto__PermissionDenied init_value = MUMBLE_PROTO__PERMISSION_DENIED__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__permission_denied__get_packed_size
+                     (const MumbleProto__PermissionDenied *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_denied__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__permission_denied__pack
+                     (const MumbleProto__PermissionDenied *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_denied__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__permission_denied__pack_to_buffer
+                     (const MumbleProto__PermissionDenied *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_denied__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__PermissionDenied *
+       mumble_proto__permission_denied__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__PermissionDenied *)
+     protobuf_c_message_unpack (&mumble_proto__permission_denied__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__permission_denied__free_unpacked
+                     (MumbleProto__PermissionDenied *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_denied__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__acl__init
+                     (MumbleProto__ACL         *message)
+{
+  static MumbleProto__ACL init_value = MUMBLE_PROTO__ACL__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__acl__get_packed_size
+                     (const MumbleProto__ACL *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__acl__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__acl__pack
+                     (const MumbleProto__ACL *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__acl__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__acl__pack_to_buffer
+                     (const MumbleProto__ACL *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__acl__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__ACL *
+       mumble_proto__acl__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__ACL *)
+     protobuf_c_message_unpack (&mumble_proto__acl__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__acl__free_unpacked
+                     (MumbleProto__ACL *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__acl__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__query_users__init
+                     (MumbleProto__QueryUsers         *message)
+{
+  static MumbleProto__QueryUsers init_value = MUMBLE_PROTO__QUERY_USERS__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__query_users__get_packed_size
+                     (const MumbleProto__QueryUsers *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__query_users__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__query_users__pack
+                     (const MumbleProto__QueryUsers *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__query_users__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__query_users__pack_to_buffer
+                     (const MumbleProto__QueryUsers *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__query_users__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__QueryUsers *
+       mumble_proto__query_users__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__QueryUsers *)
+     protobuf_c_message_unpack (&mumble_proto__query_users__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__query_users__free_unpacked
+                     (MumbleProto__QueryUsers *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__query_users__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__crypt_setup__init
+                     (MumbleProto__CryptSetup         *message)
+{
+  static MumbleProto__CryptSetup init_value = MUMBLE_PROTO__CRYPT_SETUP__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__crypt_setup__get_packed_size
+                     (const MumbleProto__CryptSetup *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__crypt_setup__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__crypt_setup__pack
+                     (const MumbleProto__CryptSetup *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__crypt_setup__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__crypt_setup__pack_to_buffer
+                     (const MumbleProto__CryptSetup *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__crypt_setup__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__CryptSetup *
+       mumble_proto__crypt_setup__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__CryptSetup *)
+     protobuf_c_message_unpack (&mumble_proto__crypt_setup__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__crypt_setup__free_unpacked
+                     (MumbleProto__CryptSetup *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__crypt_setup__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__context_action_add__init
+                     (MumbleProto__ContextActionAdd         *message)
+{
+  static MumbleProto__ContextActionAdd init_value = MUMBLE_PROTO__CONTEXT_ACTION_ADD__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__context_action_add__get_packed_size
+                     (const MumbleProto__ContextActionAdd *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action_add__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__context_action_add__pack
+                     (const MumbleProto__ContextActionAdd *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action_add__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__context_action_add__pack_to_buffer
+                     (const MumbleProto__ContextActionAdd *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action_add__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__ContextActionAdd *
+       mumble_proto__context_action_add__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__ContextActionAdd *)
+     protobuf_c_message_unpack (&mumble_proto__context_action_add__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__context_action_add__free_unpacked
+                     (MumbleProto__ContextActionAdd *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action_add__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__context_action__init
+                     (MumbleProto__ContextAction         *message)
+{
+  static MumbleProto__ContextAction init_value = MUMBLE_PROTO__CONTEXT_ACTION__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__context_action__get_packed_size
+                     (const MumbleProto__ContextAction *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__context_action__pack
+                     (const MumbleProto__ContextAction *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__context_action__pack_to_buffer
+                     (const MumbleProto__ContextAction *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__ContextAction *
+       mumble_proto__context_action__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__ContextAction *)
+     protobuf_c_message_unpack (&mumble_proto__context_action__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__context_action__free_unpacked
+                     (MumbleProto__ContextAction *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__context_action__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__user_list__init
+                     (MumbleProto__UserList         *message)
+{
+  static MumbleProto__UserList init_value = MUMBLE_PROTO__USER_LIST__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__user_list__get_packed_size
+                     (const MumbleProto__UserList *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_list__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__user_list__pack
+                     (const MumbleProto__UserList *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_list__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__user_list__pack_to_buffer
+                     (const MumbleProto__UserList *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_list__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__UserList *
+       mumble_proto__user_list__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__UserList *)
+     protobuf_c_message_unpack (&mumble_proto__user_list__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__user_list__free_unpacked
+                     (MumbleProto__UserList *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__user_list__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__voice_target__init
+                     (MumbleProto__VoiceTarget         *message)
+{
+  static MumbleProto__VoiceTarget init_value = MUMBLE_PROTO__VOICE_TARGET__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__voice_target__get_packed_size
+                     (const MumbleProto__VoiceTarget *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__voice_target__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__voice_target__pack
+                     (const MumbleProto__VoiceTarget *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__voice_target__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__voice_target__pack_to_buffer
+                     (const MumbleProto__VoiceTarget *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__voice_target__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__VoiceTarget *
+       mumble_proto__voice_target__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__VoiceTarget *)
+     protobuf_c_message_unpack (&mumble_proto__voice_target__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__voice_target__free_unpacked
+                     (MumbleProto__VoiceTarget *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__voice_target__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__permission_query__init
+                     (MumbleProto__PermissionQuery         *message)
+{
+  static MumbleProto__PermissionQuery init_value = MUMBLE_PROTO__PERMISSION_QUERY__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__permission_query__get_packed_size
+                     (const MumbleProto__PermissionQuery *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_query__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__permission_query__pack
+                     (const MumbleProto__PermissionQuery *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_query__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__permission_query__pack_to_buffer
+                     (const MumbleProto__PermissionQuery *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_query__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__PermissionQuery *
+       mumble_proto__permission_query__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__PermissionQuery *)
+     protobuf_c_message_unpack (&mumble_proto__permission_query__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__permission_query__free_unpacked
+                     (MumbleProto__PermissionQuery *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__permission_query__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+void   mumble_proto__codec_version__init
+                     (MumbleProto__CodecVersion         *message)
+{
+  static MumbleProto__CodecVersion init_value = MUMBLE_PROTO__CODEC_VERSION__INIT;
+  *message = init_value;
+}
+size_t mumble_proto__codec_version__get_packed_size
+                     (const MumbleProto__CodecVersion *message)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__codec_version__descriptor);
+  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t mumble_proto__codec_version__pack
+                     (const MumbleProto__CodecVersion *message,
+                      uint8_t       *out)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__codec_version__descriptor);
+  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t mumble_proto__codec_version__pack_to_buffer
+                     (const MumbleProto__CodecVersion *message,
+                      ProtobufCBuffer *buffer)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__codec_version__descriptor);
+  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MumbleProto__CodecVersion *
+       mumble_proto__codec_version__unpack
+                     (ProtobufCAllocator  *allocator,
+                      size_t               len,
+                      const uint8_t       *data)
+{
+  return (MumbleProto__CodecVersion *)
+     protobuf_c_message_unpack (&mumble_proto__codec_version__descriptor,
+                                allocator, len, data);
+}
+void   mumble_proto__codec_version__free_unpacked
+                     (MumbleProto__CodecVersion *message,
+                      ProtobufCAllocator *allocator)
+{
+  PROTOBUF_C_ASSERT (message->base.descriptor == &mumble_proto__codec_version__descriptor);
+  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor mumble_proto__version__field_descriptors[4] =
+{
+  {
+    "version",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Version, has_version),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Version, version),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "release",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__Version, release),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "os",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__Version, os),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "os_version",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__Version, os_version),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__version__field_indices_by_name[] = {
+  2,   /* field[2] = os */
+  3,   /* field[3] = os_version */
+  1,   /* field[1] = release */
+  0,   /* field[0] = version */
+};
+static const ProtobufCIntRange mumble_proto__version__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 4 }
+};
+const ProtobufCMessageDescriptor mumble_proto__version__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.Version",
+  "Version",
+  "MumbleProto__Version",
+  "MumbleProto",
+  sizeof(MumbleProto__Version),
+  4,
+  mumble_proto__version__field_descriptors,
+  mumble_proto__version__field_indices_by_name,
+  1,  mumble_proto__version__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__udptunnel__field_descriptors[1] =
+{
+  {
+    "packet",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UDPTunnel, packet),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__udptunnel__field_indices_by_name[] = {
+  0,   /* field[0] = packet */
+};
+static const ProtobufCIntRange mumble_proto__udptunnel__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 1 }
+};
+const ProtobufCMessageDescriptor mumble_proto__udptunnel__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.UDPTunnel",
+  "UDPTunnel",
+  "MumbleProto__UDPTunnel",
+  "MumbleProto",
+  sizeof(MumbleProto__UDPTunnel),
+  1,
+  mumble_proto__udptunnel__field_descriptors,
+  mumble_proto__udptunnel__field_indices_by_name,
+  1,  mumble_proto__udptunnel__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__authenticate__field_descriptors[4] =
+{
+  {
+    "username",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__Authenticate, username),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "password",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__Authenticate, password),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "tokens",
+    3,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_STRING,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Authenticate, n_tokens),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Authenticate, tokens),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "celt_versions",
+    4,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_INT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Authenticate, n_celt_versions),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Authenticate, celt_versions),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__authenticate__field_indices_by_name[] = {
+  3,   /* field[3] = celt_versions */
+  1,   /* field[1] = password */
+  2,   /* field[2] = tokens */
+  0,   /* field[0] = username */
+};
+static const ProtobufCIntRange mumble_proto__authenticate__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 4 }
+};
+const ProtobufCMessageDescriptor mumble_proto__authenticate__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.Authenticate",
+  "Authenticate",
+  "MumbleProto__Authenticate",
+  "MumbleProto",
+  sizeof(MumbleProto__Authenticate),
+  4,
+  mumble_proto__authenticate__field_descriptors,
+  mumble_proto__authenticate__field_indices_by_name,
+  1,  mumble_proto__authenticate__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__ping__field_descriptors[11] =
+{
+  {
+    "timestamp",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT64,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_timestamp),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, timestamp),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "good",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_good),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, good),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "late",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_late),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, late),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "lost",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_lost),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, lost),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "resync",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_resync),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, resync),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "udp_packets",
+    6,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_udp_packets),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, udp_packets),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "tcp_packets",
+    7,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_tcp_packets),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, tcp_packets),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "udp_ping_avg",
+    8,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FLOAT,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_udp_ping_avg),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, udp_ping_avg),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "udp_ping_var",
+    9,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FLOAT,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_udp_ping_var),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, udp_ping_var),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "tcp_ping_avg",
+    10,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FLOAT,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_tcp_ping_avg),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, tcp_ping_avg),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "tcp_ping_var",
+    11,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_FLOAT,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, has_tcp_ping_var),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Ping, tcp_ping_var),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__ping__field_indices_by_name[] = {
+  1,   /* field[1] = good */
+  2,   /* field[2] = late */
+  3,   /* field[3] = lost */
+  4,   /* field[4] = resync */
+  6,   /* field[6] = tcp_packets */
+  9,   /* field[9] = tcp_ping_avg */
+  10,   /* field[10] = tcp_ping_var */
+  0,   /* field[0] = timestamp */
+  5,   /* field[5] = udp_packets */
+  7,   /* field[7] = udp_ping_avg */
+  8,   /* field[8] = udp_ping_var */
+};
+static const ProtobufCIntRange mumble_proto__ping__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 11 }
+};
+const ProtobufCMessageDescriptor mumble_proto__ping__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.Ping",
+  "Ping",
+  "MumbleProto__Ping",
+  "MumbleProto",
+  sizeof(MumbleProto__Ping),
+  11,
+  mumble_proto__ping__field_descriptors,
+  mumble_proto__ping__field_indices_by_name,
+  1,  mumble_proto__ping__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+const ProtobufCEnumValue mumble_proto__reject__reject_type__enum_values_by_number[8] =
+{
+  { "None", "MUMBLE_PROTO__REJECT__REJECT_TYPE__NONE", 0 },
+  { "WrongVersion", "MUMBLE_PROTO__REJECT__REJECT_TYPE__WRONGVERSION", 1 },
+  { "InvalidUsername", "MUMBLE_PROTO__REJECT__REJECT_TYPE__INVALIDUSERNAME", 2 },
+  { "WrongUserPW", "MUMBLE_PROTO__REJECT__REJECT_TYPE__WRONGUSERPW", 3 },
+  { "WrongServerPW", "MUMBLE_PROTO__REJECT__REJECT_TYPE__WRONGSERVERPW", 4 },
+  { "UsernameInUse", "MUMBLE_PROTO__REJECT__REJECT_TYPE__USERNAMEINUSE", 5 },
+  { "ServerFull", "MUMBLE_PROTO__REJECT__REJECT_TYPE__SERVERFULL", 6 },
+  { "NoCertificate", "MUMBLE_PROTO__REJECT__REJECT_TYPE__NOCERTIFICATE", 7 },
+};
+static const ProtobufCIntRange mumble_proto__reject__reject_type__value_ranges[] = {
+{0, 0},{0, 8}
+};
+const ProtobufCEnumValueIndex mumble_proto__reject__reject_type__enum_values_by_name[8] =
+{
+  { "InvalidUsername", 2 },
+  { "NoCertificate", 7 },
+  { "None", 0 },
+  { "ServerFull", 6 },
+  { "UsernameInUse", 5 },
+  { "WrongServerPW", 4 },
+  { "WrongUserPW", 3 },
+  { "WrongVersion", 1 },
+};
+const ProtobufCEnumDescriptor mumble_proto__reject__reject_type__descriptor =
+{
+  PROTOBUF_C_ENUM_DESCRIPTOR_MAGIC,
+  "MumbleProto.Reject.RejectType",
+  "RejectType",
+  "MumbleProto__Reject__RejectType",
+  "MumbleProto",
+  8,
+  mumble_proto__reject__reject_type__enum_values_by_number,
+  8,
+  mumble_proto__reject__reject_type__enum_values_by_name,
+  1,
+  mumble_proto__reject__reject_type__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__reject__field_descriptors[2] =
+{
+  {
+    "type",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_ENUM,
+    PROTOBUF_C_OFFSETOF(MumbleProto__Reject, has_type),
+    PROTOBUF_C_OFFSETOF(MumbleProto__Reject, type),
+    &mumble_proto__reject__reject_type__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "reason",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__Reject, reason),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__reject__field_indices_by_name[] = {
+  1,   /* field[1] = reason */
+  0,   /* field[0] = type */
+};
+static const ProtobufCIntRange mumble_proto__reject__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor mumble_proto__reject__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.Reject",
+  "Reject",
+  "MumbleProto__Reject",
+  "MumbleProto",
+  sizeof(MumbleProto__Reject),
+  2,
+  mumble_proto__reject__field_descriptors,
+  mumble_proto__reject__field_indices_by_name,
+  1,  mumble_proto__reject__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__server_sync__allow_html__default_value = 1;
+static const ProtobufCFieldDescriptor mumble_proto__server_sync__field_descriptors[5] =
+{
+  {
+    "session",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, has_session),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "max_bandwidth",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, has_max_bandwidth),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, max_bandwidth),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "welcome_text",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, welcome_text),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "permissions",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT64,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, has_permissions),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, permissions),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "allow_html",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, has_allow_html),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ServerSync, allow_html),
+    NULL,
+    &mumble_proto__server_sync__allow_html__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__server_sync__field_indices_by_name[] = {
+  4,   /* field[4] = allow_html */
+  1,   /* field[1] = max_bandwidth */
+  3,   /* field[3] = permissions */
+  0,   /* field[0] = session */
+  2,   /* field[2] = welcome_text */
+};
+static const ProtobufCIntRange mumble_proto__server_sync__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor mumble_proto__server_sync__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ServerSync",
+  "ServerSync",
+  "MumbleProto__ServerSync",
+  "MumbleProto",
+  sizeof(MumbleProto__ServerSync),
+  5,
+  mumble_proto__server_sync__field_descriptors,
+  mumble_proto__server_sync__field_indices_by_name,
+  1,  mumble_proto__server_sync__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__channel_remove__field_descriptors[1] =
+{
+  {
+    "channel_id",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelRemove, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__channel_remove__field_indices_by_name[] = {
+  0,   /* field[0] = channel_id */
+};
+static const ProtobufCIntRange mumble_proto__channel_remove__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 1 }
+};
+const ProtobufCMessageDescriptor mumble_proto__channel_remove__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ChannelRemove",
+  "ChannelRemove",
+  "MumbleProto__ChannelRemove",
+  "MumbleProto",
+  sizeof(MumbleProto__ChannelRemove),
+  1,
+  mumble_proto__channel_remove__field_descriptors,
+  mumble_proto__channel_remove__field_indices_by_name,
+  1,  mumble_proto__channel_remove__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__channel_state__temporary__default_value = 0;
+static const int32_t mumble_proto__channel_state__position__default_value = 0;
+static const ProtobufCFieldDescriptor mumble_proto__channel_state__field_descriptors[9] =
+{
+  {
+    "channel_id",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, has_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "parent",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, has_parent),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, parent),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "name",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, name),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "links",
+    4,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, n_links),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, links),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "description",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, description),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "links_add",
+    6,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, n_links_add),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, links_add),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "links_remove",
+    7,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, n_links_remove),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, links_remove),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "temporary",
+    8,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, has_temporary),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, temporary),
+    NULL,
+    &mumble_proto__channel_state__temporary__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "position",
+    9,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_INT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, has_position),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ChannelState, position),
+    NULL,
+    &mumble_proto__channel_state__position__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__channel_state__field_indices_by_name[] = {
+  0,   /* field[0] = channel_id */
+  4,   /* field[4] = description */
+  3,   /* field[3] = links */
+  5,   /* field[5] = links_add */
+  6,   /* field[6] = links_remove */
+  2,   /* field[2] = name */
+  1,   /* field[1] = parent */
+  8,   /* field[8] = position */
+  7,   /* field[7] = temporary */
+};
+static const ProtobufCIntRange mumble_proto__channel_state__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 9 }
+};
+const ProtobufCMessageDescriptor mumble_proto__channel_state__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ChannelState",
+  "ChannelState",
+  "MumbleProto__ChannelState",
+  "MumbleProto",
+  sizeof(MumbleProto__ChannelState),
+  9,
+  mumble_proto__channel_state__field_descriptors,
+  mumble_proto__channel_state__field_indices_by_name,
+  1,  mumble_proto__channel_state__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__user_remove__field_descriptors[4] =
+{
+  {
+    "session",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserRemove, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "actor",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserRemove, has_actor),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserRemove, actor),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "reason",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserRemove, reason),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "ban",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserRemove, has_ban),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserRemove, ban),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__user_remove__field_indices_by_name[] = {
+  1,   /* field[1] = actor */
+  3,   /* field[3] = ban */
+  2,   /* field[2] = reason */
+  0,   /* field[0] = session */
+};
+static const ProtobufCIntRange mumble_proto__user_remove__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 4 }
+};
+const ProtobufCMessageDescriptor mumble_proto__user_remove__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.UserRemove",
+  "UserRemove",
+  "MumbleProto__UserRemove",
+  "MumbleProto",
+  sizeof(MumbleProto__UserRemove),
+  4,
+  mumble_proto__user_remove__field_descriptors,
+  mumble_proto__user_remove__field_indices_by_name,
+  1,  mumble_proto__user_remove__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__user_state__field_descriptors[15] =
+{
+  {
+    "session",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_session),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "actor",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_actor),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, actor),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "name",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, name),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "user_id",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_user_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, user_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "channel_id",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "mute",
+    6,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_mute),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, mute),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "deaf",
+    7,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_deaf),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, deaf),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "suppress",
+    8,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_suppress),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, suppress),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "self_mute",
+    9,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_self_mute),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, self_mute),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "self_deaf",
+    10,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_self_deaf),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, self_deaf),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "texture",
+    11,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, has_texture),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, texture),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "plugin_context",
+    12,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, plugin_context),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "plugin_identity",
+    13,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, plugin_identity),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "comment",
+    14,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, comment),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "hash",
+    15,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserState, hash),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__user_state__field_indices_by_name[] = {
+  1,   /* field[1] = actor */
+  4,   /* field[4] = channel_id */
+  13,   /* field[13] = comment */
+  6,   /* field[6] = deaf */
+  14,   /* field[14] = hash */
+  5,   /* field[5] = mute */
+  2,   /* field[2] = name */
+  11,   /* field[11] = plugin_context */
+  12,   /* field[12] = plugin_identity */
+  9,   /* field[9] = self_deaf */
+  8,   /* field[8] = self_mute */
+  0,   /* field[0] = session */
+  7,   /* field[7] = suppress */
+  10,   /* field[10] = texture */
+  3,   /* field[3] = user_id */
+};
+static const ProtobufCIntRange mumble_proto__user_state__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 15 }
+};
+const ProtobufCMessageDescriptor mumble_proto__user_state__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.UserState",
+  "UserState",
+  "MumbleProto__UserState",
+  "MumbleProto",
+  sizeof(MumbleProto__UserState),
+  15,
+  mumble_proto__user_state__field_descriptors,
+  mumble_proto__user_state__field_indices_by_name,
+  1,  mumble_proto__user_state__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__ban_list__ban_entry__field_descriptors[7] =
+{
+  {
+    "address",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BYTES,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, address),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "mask",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, mask),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "name",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, name),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "hash",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, hash),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "reason",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, reason),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "start",
+    6,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, start),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "duration",
+    7,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, has_duration),
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList__BanEntry, duration),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__ban_list__ban_entry__field_indices_by_name[] = {
+  0,   /* field[0] = address */
+  6,   /* field[6] = duration */
+  3,   /* field[3] = hash */
+  1,   /* field[1] = mask */
+  2,   /* field[2] = name */
+  4,   /* field[4] = reason */
+  5,   /* field[5] = start */
+};
+static const ProtobufCIntRange mumble_proto__ban_list__ban_entry__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 7 }
+};
+const ProtobufCMessageDescriptor mumble_proto__ban_list__ban_entry__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.BanList.BanEntry",
+  "BanEntry",
+  "MumbleProto__BanList__BanEntry",
+  "MumbleProto",
+  sizeof(MumbleProto__BanList__BanEntry),
+  7,
+  mumble_proto__ban_list__ban_entry__field_descriptors,
+  mumble_proto__ban_list__ban_entry__field_indices_by_name,
+  1,  mumble_proto__ban_list__ban_entry__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__ban_list__query__default_value = 0;
+static const ProtobufCFieldDescriptor mumble_proto__ban_list__field_descriptors[2] =
+{
+  {
+    "bans",
+    1,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList, n_bans),
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList, bans),
+    &mumble_proto__ban_list__ban_entry__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "query",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList, has_query),
+    PROTOBUF_C_OFFSETOF(MumbleProto__BanList, query),
+    NULL,
+    &mumble_proto__ban_list__query__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__ban_list__field_indices_by_name[] = {
+  0,   /* field[0] = bans */
+  1,   /* field[1] = query */
+};
+static const ProtobufCIntRange mumble_proto__ban_list__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor mumble_proto__ban_list__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.BanList",
+  "BanList",
+  "MumbleProto__BanList",
+  "MumbleProto",
+  sizeof(MumbleProto__BanList),
+  2,
+  mumble_proto__ban_list__field_descriptors,
+  mumble_proto__ban_list__field_indices_by_name,
+  1,  mumble_proto__ban_list__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__text_message__field_descriptors[5] =
+{
+  {
+    "actor",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, has_actor),
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, actor),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "session",
+    2,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, n_session),
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "channel_id",
+    3,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, n_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "tree_id",
+    4,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, n_tree_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, tree_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "message",
+    5,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__TextMessage, message),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__text_message__field_indices_by_name[] = {
+  0,   /* field[0] = actor */
+  2,   /* field[2] = channel_id */
+  4,   /* field[4] = message */
+  1,   /* field[1] = session */
+  3,   /* field[3] = tree_id */
+};
+static const ProtobufCIntRange mumble_proto__text_message__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor mumble_proto__text_message__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.TextMessage",
+  "TextMessage",
+  "MumbleProto__TextMessage",
+  "MumbleProto",
+  sizeof(MumbleProto__TextMessage),
+  5,
+  mumble_proto__text_message__field_descriptors,
+  mumble_proto__text_message__field_indices_by_name,
+  1,  mumble_proto__text_message__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+const ProtobufCEnumValue mumble_proto__permission_denied__deny_type__enum_values_by_number[8] =
+{
+  { "Text", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__TEXT", 0 },
+  { "Permission", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__PERMISSION", 1 },
+  { "SuperUser", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__SUPERUSER", 2 },
+  { "ChannelName", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__CHANNELNAME", 3 },
+  { "TextTooLong", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__TEXTTOOLONG", 4 },
+  { "H9K", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__H9K", 5 },
+  { "TemporaryChannel", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__TEMPORARYCHANNEL", 6 },
+  { "MissingCertificate", "MUMBLE_PROTO__PERMISSION_DENIED__DENY_TYPE__MISSINGCERTIFICATE", 7 },
+};
+static const ProtobufCIntRange mumble_proto__permission_denied__deny_type__value_ranges[] = {
+{0, 0},{0, 8}
+};
+const ProtobufCEnumValueIndex mumble_proto__permission_denied__deny_type__enum_values_by_name[8] =
+{
+  { "ChannelName", 3 },
+  { "H9K", 5 },
+  { "MissingCertificate", 7 },
+  { "Permission", 1 },
+  { "SuperUser", 2 },
+  { "TemporaryChannel", 6 },
+  { "Text", 0 },
+  { "TextTooLong", 4 },
+};
+const ProtobufCEnumDescriptor mumble_proto__permission_denied__deny_type__descriptor =
+{
+  PROTOBUF_C_ENUM_DESCRIPTOR_MAGIC,
+  "MumbleProto.PermissionDenied.DenyType",
+  "DenyType",
+  "MumbleProto__PermissionDenied__DenyType",
+  "MumbleProto",
+  8,
+  mumble_proto__permission_denied__deny_type__enum_values_by_number,
+  8,
+  mumble_proto__permission_denied__deny_type__enum_values_by_name,
+  1,
+  mumble_proto__permission_denied__deny_type__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__permission_denied__field_descriptors[5] =
+{
+  {
+    "permission",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, has_permission),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, permission),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "channel_id",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, has_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "session",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, has_session),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "reason",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, reason),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "type",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_ENUM,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, has_type),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionDenied, type),
+    &mumble_proto__permission_denied__deny_type__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__permission_denied__field_indices_by_name[] = {
+  1,   /* field[1] = channel_id */
+  0,   /* field[0] = permission */
+  3,   /* field[3] = reason */
+  2,   /* field[2] = session */
+  4,   /* field[4] = type */
+};
+static const ProtobufCIntRange mumble_proto__permission_denied__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor mumble_proto__permission_denied__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.PermissionDenied",
+  "PermissionDenied",
+  "MumbleProto__PermissionDenied",
+  "MumbleProto",
+  sizeof(MumbleProto__PermissionDenied),
+  5,
+  mumble_proto__permission_denied__field_descriptors,
+  mumble_proto__permission_denied__field_indices_by_name,
+  1,  mumble_proto__permission_denied__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__acl__chan_group__inherited__default_value = 1;
+static const protobuf_c_boolean mumble_proto__acl__chan_group__inherit__default_value = 1;
+static const protobuf_c_boolean mumble_proto__acl__chan_group__inheritable__default_value = 1;
+static const ProtobufCFieldDescriptor mumble_proto__acl__chan_group__field_descriptors[7] =
+{
+  {
+    "name",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, name),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "inherited",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, has_inherited),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, inherited),
+    NULL,
+    &mumble_proto__acl__chan_group__inherited__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "inherit",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, has_inherit),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, inherit),
+    NULL,
+    &mumble_proto__acl__chan_group__inherit__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "inheritable",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, has_inheritable),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, inheritable),
+    NULL,
+    &mumble_proto__acl__chan_group__inheritable__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "add",
+    5,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, n_add),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, add),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "remove",
+    6,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, n_remove),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, remove),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "inherited_members",
+    7,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, n_inherited_members),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanGroup, inherited_members),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__acl__chan_group__field_indices_by_name[] = {
+  4,   /* field[4] = add */
+  2,   /* field[2] = inherit */
+  3,   /* field[3] = inheritable */
+  1,   /* field[1] = inherited */
+  6,   /* field[6] = inherited_members */
+  0,   /* field[0] = name */
+  5,   /* field[5] = remove */
+};
+static const ProtobufCIntRange mumble_proto__acl__chan_group__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 7 }
+};
+const ProtobufCMessageDescriptor mumble_proto__acl__chan_group__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ACL.ChanGroup",
+  "ChanGroup",
+  "MumbleProto__ACL__ChanGroup",
+  "MumbleProto",
+  sizeof(MumbleProto__ACL__ChanGroup),
+  7,
+  mumble_proto__acl__chan_group__field_descriptors,
+  mumble_proto__acl__chan_group__field_indices_by_name,
+  1,  mumble_proto__acl__chan_group__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__acl__chan_acl__apply_here__default_value = 1;
+static const protobuf_c_boolean mumble_proto__acl__chan_acl__apply_subs__default_value = 1;
+static const protobuf_c_boolean mumble_proto__acl__chan_acl__inherited__default_value = 1;
+static const ProtobufCFieldDescriptor mumble_proto__acl__chan_acl__field_descriptors[7] =
+{
+  {
+    "apply_here",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, has_apply_here),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, apply_here),
+    NULL,
+    &mumble_proto__acl__chan_acl__apply_here__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "apply_subs",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, has_apply_subs),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, apply_subs),
+    NULL,
+    &mumble_proto__acl__chan_acl__apply_subs__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "inherited",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, has_inherited),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, inherited),
+    NULL,
+    &mumble_proto__acl__chan_acl__inherited__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "user_id",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, has_user_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, user_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "group",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, group),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "grant",
+    6,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, has_grant),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, grant),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "deny",
+    7,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, has_deny),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL__ChanACL, deny),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__acl__chan_acl__field_indices_by_name[] = {
+  0,   /* field[0] = apply_here */
+  1,   /* field[1] = apply_subs */
+  6,   /* field[6] = deny */
+  5,   /* field[5] = grant */
+  4,   /* field[4] = group */
+  2,   /* field[2] = inherited */
+  3,   /* field[3] = user_id */
+};
+static const ProtobufCIntRange mumble_proto__acl__chan_acl__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 7 }
+};
+const ProtobufCMessageDescriptor mumble_proto__acl__chan_acl__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ACL.ChanACL",
+  "ChanACL",
+  "MumbleProto__ACL__ChanACL",
+  "MumbleProto",
+  sizeof(MumbleProto__ACL__ChanACL),
+  7,
+  mumble_proto__acl__chan_acl__field_descriptors,
+  mumble_proto__acl__chan_acl__field_indices_by_name,
+  1,  mumble_proto__acl__chan_acl__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__acl__inherit_acls__default_value = 1;
+static const protobuf_c_boolean mumble_proto__acl__query__default_value = 0;
+static const ProtobufCFieldDescriptor mumble_proto__acl__field_descriptors[5] =
+{
+  {
+    "channel_id",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "inherit_acls",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, has_inherit_acls),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, inherit_acls),
+    NULL,
+    &mumble_proto__acl__inherit_acls__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "groups",
+    3,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, n_groups),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, groups),
+    &mumble_proto__acl__chan_group__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "acls",
+    4,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, n_acls),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, acls),
+    &mumble_proto__acl__chan_acl__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "query",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, has_query),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ACL, query),
+    NULL,
+    &mumble_proto__acl__query__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__acl__field_indices_by_name[] = {
+  3,   /* field[3] = acls */
+  0,   /* field[0] = channel_id */
+  2,   /* field[2] = groups */
+  1,   /* field[1] = inherit_acls */
+  4,   /* field[4] = query */
+};
+static const ProtobufCIntRange mumble_proto__acl__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor mumble_proto__acl__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ACL",
+  "ACL",
+  "MumbleProto__ACL",
+  "MumbleProto",
+  sizeof(MumbleProto__ACL),
+  5,
+  mumble_proto__acl__field_descriptors,
+  mumble_proto__acl__field_indices_by_name,
+  1,  mumble_proto__acl__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__query_users__field_descriptors[2] =
+{
+  {
+    "ids",
+    1,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__QueryUsers, n_ids),
+    PROTOBUF_C_OFFSETOF(MumbleProto__QueryUsers, ids),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "names",
+    2,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_STRING,
+    PROTOBUF_C_OFFSETOF(MumbleProto__QueryUsers, n_names),
+    PROTOBUF_C_OFFSETOF(MumbleProto__QueryUsers, names),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__query_users__field_indices_by_name[] = {
+  0,   /* field[0] = ids */
+  1,   /* field[1] = names */
+};
+static const ProtobufCIntRange mumble_proto__query_users__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor mumble_proto__query_users__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.QueryUsers",
+  "QueryUsers",
+  "MumbleProto__QueryUsers",
+  "MumbleProto",
+  sizeof(MumbleProto__QueryUsers),
+  2,
+  mumble_proto__query_users__field_descriptors,
+  mumble_proto__query_users__field_indices_by_name,
+  1,  mumble_proto__query_users__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__crypt_setup__field_descriptors[3] =
+{
+  {
+    "key",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(MumbleProto__CryptSetup, has_key),
+    PROTOBUF_C_OFFSETOF(MumbleProto__CryptSetup, key),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "client_nonce",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(MumbleProto__CryptSetup, has_client_nonce),
+    PROTOBUF_C_OFFSETOF(MumbleProto__CryptSetup, client_nonce),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "server_nonce",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BYTES,
+    PROTOBUF_C_OFFSETOF(MumbleProto__CryptSetup, has_server_nonce),
+    PROTOBUF_C_OFFSETOF(MumbleProto__CryptSetup, server_nonce),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__crypt_setup__field_indices_by_name[] = {
+  1,   /* field[1] = client_nonce */
+  0,   /* field[0] = key */
+  2,   /* field[2] = server_nonce */
+};
+static const ProtobufCIntRange mumble_proto__crypt_setup__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 3 }
+};
+const ProtobufCMessageDescriptor mumble_proto__crypt_setup__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.CryptSetup",
+  "CryptSetup",
+  "MumbleProto__CryptSetup",
+  "MumbleProto",
+  sizeof(MumbleProto__CryptSetup),
+  3,
+  mumble_proto__crypt_setup__field_descriptors,
+  mumble_proto__crypt_setup__field_indices_by_name,
+  1,  mumble_proto__crypt_setup__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+const ProtobufCEnumValue mumble_proto__context_action_add__context__enum_values_by_number[3] =
+{
+  { "Server", "MUMBLE_PROTO__CONTEXT_ACTION_ADD__CONTEXT__SERVER", 1 },
+  { "Channel", "MUMBLE_PROTO__CONTEXT_ACTION_ADD__CONTEXT__CHANNEL", 2 },
+  { "User", "MUMBLE_PROTO__CONTEXT_ACTION_ADD__CONTEXT__USER", 4 },
+};
+static const ProtobufCIntRange mumble_proto__context_action_add__context__value_ranges[] = {
+{1, 0},{4, 2},{0, 3}
+};
+const ProtobufCEnumValueIndex mumble_proto__context_action_add__context__enum_values_by_name[3] =
+{
+  { "Channel", 1 },
+  { "Server", 0 },
+  { "User", 2 },
+};
+const ProtobufCEnumDescriptor mumble_proto__context_action_add__context__descriptor =
+{
+  PROTOBUF_C_ENUM_DESCRIPTOR_MAGIC,
+  "MumbleProto.ContextActionAdd.Context",
+  "Context",
+  "MumbleProto__ContextActionAdd__Context",
+  "MumbleProto",
+  3,
+  mumble_proto__context_action_add__context__enum_values_by_number,
+  3,
+  mumble_proto__context_action_add__context__enum_values_by_name,
+  2,
+  mumble_proto__context_action_add__context__value_ranges,
+  NULL,NULL,NULL,NULL   /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__context_action_add__field_descriptors[3] =
+{
+  {
+    "action",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextActionAdd, action),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "text",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextActionAdd, text),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "context",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextActionAdd, has_context),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextActionAdd, context),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__context_action_add__field_indices_by_name[] = {
+  0,   /* field[0] = action */
+  2,   /* field[2] = context */
+  1,   /* field[1] = text */
+};
+static const ProtobufCIntRange mumble_proto__context_action_add__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 3 }
+};
+const ProtobufCMessageDescriptor mumble_proto__context_action_add__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ContextActionAdd",
+  "ContextActionAdd",
+  "MumbleProto__ContextActionAdd",
+  "MumbleProto",
+  sizeof(MumbleProto__ContextActionAdd),
+  3,
+  mumble_proto__context_action_add__field_descriptors,
+  mumble_proto__context_action_add__field_indices_by_name,
+  1,  mumble_proto__context_action_add__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__context_action__field_descriptors[3] =
+{
+  {
+    "session",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextAction, has_session),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextAction, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "channel_id",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextAction, has_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextAction, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "action",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__ContextAction, action),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__context_action__field_indices_by_name[] = {
+  2,   /* field[2] = action */
+  1,   /* field[1] = channel_id */
+  0,   /* field[0] = session */
+};
+static const ProtobufCIntRange mumble_proto__context_action__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 3 }
+};
+const ProtobufCMessageDescriptor mumble_proto__context_action__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.ContextAction",
+  "ContextAction",
+  "MumbleProto__ContextAction",
+  "MumbleProto",
+  sizeof(MumbleProto__ContextAction),
+  3,
+  mumble_proto__context_action__field_descriptors,
+  mumble_proto__context_action__field_indices_by_name,
+  1,  mumble_proto__context_action__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__user_list__user__field_descriptors[2] =
+{
+  {
+    "user_id",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_UINT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserList__User, user_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "name",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserList__User, name),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__user_list__user__field_indices_by_name[] = {
+  1,   /* field[1] = name */
+  0,   /* field[0] = user_id */
+};
+static const ProtobufCIntRange mumble_proto__user_list__user__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor mumble_proto__user_list__user__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.UserList.User",
+  "User",
+  "MumbleProto__UserList__User",
+  "MumbleProto",
+  sizeof(MumbleProto__UserList__User),
+  2,
+  mumble_proto__user_list__user__field_descriptors,
+  mumble_proto__user_list__user__field_indices_by_name,
+  1,  mumble_proto__user_list__user__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__user_list__field_descriptors[1] =
+{
+  {
+    "users",
+    1,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserList, n_users),
+    PROTOBUF_C_OFFSETOF(MumbleProto__UserList, users),
+    &mumble_proto__user_list__user__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__user_list__field_indices_by_name[] = {
+  0,   /* field[0] = users */
+};
+static const ProtobufCIntRange mumble_proto__user_list__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 1 }
+};
+const ProtobufCMessageDescriptor mumble_proto__user_list__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.UserList",
+  "UserList",
+  "MumbleProto__UserList",
+  "MumbleProto",
+  sizeof(MumbleProto__UserList),
+  1,
+  mumble_proto__user_list__field_descriptors,
+  mumble_proto__user_list__field_indices_by_name,
+  1,  mumble_proto__user_list__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__voice_target__target__links__default_value = 0;
+static const protobuf_c_boolean mumble_proto__voice_target__target__children__default_value = 0;
+static const ProtobufCFieldDescriptor mumble_proto__voice_target__target__field_descriptors[5] =
+{
+  {
+    "session",
+    1,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, n_session),
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, session),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "channel_id",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, has_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "group",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_STRING,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, group),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "links",
+    4,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, has_links),
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, links),
+    NULL,
+    &mumble_proto__voice_target__target__links__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "children",
+    5,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, has_children),
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget__Target, children),
+    NULL,
+    &mumble_proto__voice_target__target__children__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__voice_target__target__field_indices_by_name[] = {
+  1,   /* field[1] = channel_id */
+  4,   /* field[4] = children */
+  2,   /* field[2] = group */
+  3,   /* field[3] = links */
+  0,   /* field[0] = session */
+};
+static const ProtobufCIntRange mumble_proto__voice_target__target__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 5 }
+};
+const ProtobufCMessageDescriptor mumble_proto__voice_target__target__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.VoiceTarget.Target",
+  "Target",
+  "MumbleProto__VoiceTarget__Target",
+  "MumbleProto",
+  sizeof(MumbleProto__VoiceTarget__Target),
+  5,
+  mumble_proto__voice_target__target__field_descriptors,
+  mumble_proto__voice_target__target__field_indices_by_name,
+  1,  mumble_proto__voice_target__target__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const ProtobufCFieldDescriptor mumble_proto__voice_target__field_descriptors[2] =
+{
+  {
+    "id",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget, has_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget, id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "targets",
+    2,
+    PROTOBUF_C_LABEL_REPEATED,
+    PROTOBUF_C_TYPE_MESSAGE,
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget, n_targets),
+    PROTOBUF_C_OFFSETOF(MumbleProto__VoiceTarget, targets),
+    &mumble_proto__voice_target__target__descriptor,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__voice_target__field_indices_by_name[] = {
+  0,   /* field[0] = id */
+  1,   /* field[1] = targets */
+};
+static const ProtobufCIntRange mumble_proto__voice_target__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 2 }
+};
+const ProtobufCMessageDescriptor mumble_proto__voice_target__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.VoiceTarget",
+  "VoiceTarget",
+  "MumbleProto__VoiceTarget",
+  "MumbleProto",
+  sizeof(MumbleProto__VoiceTarget),
+  2,
+  mumble_proto__voice_target__field_descriptors,
+  mumble_proto__voice_target__field_indices_by_name,
+  1,  mumble_proto__voice_target__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__permission_query__flush__default_value = 0;
+static const ProtobufCFieldDescriptor mumble_proto__permission_query__field_descriptors[3] =
+{
+  {
+    "channel_id",
+    1,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionQuery, has_channel_id),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionQuery, channel_id),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "permissions",
+    2,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_UINT32,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionQuery, has_permissions),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionQuery, permissions),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "flush",
+    3,
+    PROTOBUF_C_LABEL_OPTIONAL,
+    PROTOBUF_C_TYPE_BOOL,
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionQuery, has_flush),
+    PROTOBUF_C_OFFSETOF(MumbleProto__PermissionQuery, flush),
+    NULL,
+    &mumble_proto__permission_query__flush__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__permission_query__field_indices_by_name[] = {
+  0,   /* field[0] = channel_id */
+  2,   /* field[2] = flush */
+  1,   /* field[1] = permissions */
+};
+static const ProtobufCIntRange mumble_proto__permission_query__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 3 }
+};
+const ProtobufCMessageDescriptor mumble_proto__permission_query__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.PermissionQuery",
+  "PermissionQuery",
+  "MumbleProto__PermissionQuery",
+  "MumbleProto",
+  sizeof(MumbleProto__PermissionQuery),
+  3,
+  mumble_proto__permission_query__field_descriptors,
+  mumble_proto__permission_query__field_indices_by_name,
+  1,  mumble_proto__permission_query__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};
+static const protobuf_c_boolean mumble_proto__codec_version__prefer_alpha__default_value = 1;
+static const ProtobufCFieldDescriptor mumble_proto__codec_version__field_descriptors[3] =
+{
+  {
+    "alpha",
+    1,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_INT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__CodecVersion, alpha),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "beta",
+    2,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_INT32,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__CodecVersion, beta),
+    NULL,
+    NULL,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+  {
+    "prefer_alpha",
+    3,
+    PROTOBUF_C_LABEL_REQUIRED,
+    PROTOBUF_C_TYPE_BOOL,
+    0,   /* quantifier_offset */
+    PROTOBUF_C_OFFSETOF(MumbleProto__CodecVersion, prefer_alpha),
+    NULL,
+    &mumble_proto__codec_version__prefer_alpha__default_value,
+    NULL,NULL    /* reserved1, reserved2 */
+  },
+};
+static const unsigned mumble_proto__codec_version__field_indices_by_name[] = {
+  0,   /* field[0] = alpha */
+  1,   /* field[1] = beta */
+  2,   /* field[2] = prefer_alpha */
+};
+static const ProtobufCIntRange mumble_proto__codec_version__number_ranges[1 + 1] =
+{
+  { 1, 0 },
+  { 0, 3 }
+};
+const ProtobufCMessageDescriptor mumble_proto__codec_version__descriptor =
+{
+  PROTOBUF_C_MESSAGE_DESCRIPTOR_MAGIC,
+  "MumbleProto.CodecVersion",
+  "CodecVersion",
+  "MumbleProto__CodecVersion",
+  "MumbleProto",
+  sizeof(MumbleProto__CodecVersion),
+  3,
+  mumble_proto__codec_version__field_descriptors,
+  mumble_proto__codec_version__field_indices_by_name,
+  1,  mumble_proto__codec_version__number_ranges,
+  NULL,NULL,NULL,NULL    /* reserved[1234] */
+};