Protobuf definitions file from Mumble sources.
authorfatbob313 <martin@fatbob.nu>
Wed, 6 Jan 2010 16:59:31 +0000 (16:59 +0000)
committerfatbob313 <martin@fatbob.nu>
Wed, 6 Jan 2010 16:59:31 +0000 (16:59 +0000)
src/Mumble.proto [new file with mode: 0644]

diff --git a/src/Mumble.proto b/src/Mumble.proto
new file mode 100644 (file)
index 0000000..3084892
--- /dev/null
@@ -0,0 +1,225 @@
+package MumbleProto;
+
+option optimize_for = SPEED;
+
+message        Version {
+       optional uint32 version = 1;
+       optional string release = 2;
+       optional string os = 3;
+       optional string os_version = 4;
+}
+
+message UDPTunnel {
+       required bytes packet = 1;
+}
+
+message Authenticate {
+       optional string username = 1;
+       optional string password = 2;
+       repeated string tokens = 3;
+       repeated int32 celt_versions = 4;
+}
+
+message Ping {
+       optional uint64 timestamp = 1;
+       optional uint32 good = 2;
+       optional uint32 late = 3;
+       optional uint32 lost = 4;
+       optional uint32 resync = 5;
+       optional uint32 udp_packets = 6;
+       optional uint32 tcp_packets = 7;
+       optional float udp_ping_avg = 8;
+       optional float udp_ping_var = 9;
+       optional float tcp_ping_avg = 10;
+       optional float tcp_ping_var = 11;
+}
+
+message Reject {
+       enum RejectType {
+               None = 0;
+               WrongVersion = 1;
+               InvalidUsername = 2;
+               WrongUserPW = 3;
+               WrongServerPW = 4;
+               UsernameInUse = 5;
+               ServerFull = 6;
+               NoCertificate = 7;
+       }
+       optional RejectType type = 1;
+       optional string reason = 2;
+}
+
+message ServerSync {
+       optional uint32 session = 1;
+       optional uint32 max_bandwidth = 2;
+       optional string welcome_text = 3;
+       optional uint64 permissions = 4;
+       optional bool allow_html = 5 [default = true];
+}
+
+message ChannelRemove {
+       required uint32 channel_id = 1;
+}
+
+message ChannelState {
+       optional uint32 channel_id = 1;
+       optional uint32 parent = 2;
+       optional string name = 3;
+       repeated uint32 links = 4;
+       optional string description = 5;
+       repeated uint32 links_add = 6;
+       repeated uint32 links_remove = 7;
+       optional bool temporary = 8 [default = false];
+       optional int32 position = 9 [default = 0];
+}
+
+message UserRemove {
+       required uint32 session = 1;
+       optional uint32 actor = 2;
+       optional string reason = 3;
+       optional bool ban = 4;
+}
+
+message UserState {
+       optional uint32 session = 1;
+       optional uint32 actor = 2;
+       optional string name = 3;
+       optional uint32 user_id = 4;
+       optional uint32 channel_id = 5;
+       optional bool mute = 6;
+       optional bool deaf = 7;
+       optional bool suppress = 8;
+       optional bool self_mute = 9;
+       optional bool self_deaf = 10;
+       optional bytes texture = 11;
+       optional string plugin_context = 12;
+       optional string plugin_identity = 13;
+       optional string comment = 14;
+       optional string hash = 15;
+}
+
+message BanList {
+       message BanEntry {
+               required bytes address = 1;
+               required uint32 mask = 2;
+               optional string name = 3;
+               optional string hash = 4;
+               optional string reason = 5;
+               optional string start = 6;
+               optional uint32 duration = 7;
+       }
+       repeated BanEntry bans = 1;
+       optional bool query = 2 [default = false];
+}
+
+message TextMessage {
+       optional uint32 actor = 1;
+       repeated uint32 session = 2;
+       repeated uint32 channel_id = 3;
+       repeated uint32 tree_id = 4;
+       required string message = 5;
+}
+
+message PermissionDenied {
+       enum DenyType {
+               Text = 0;
+               Permission = 1;
+               SuperUser = 2;
+               ChannelName = 3;
+               TextTooLong = 4;
+               H9K = 5;
+               TemporaryChannel = 6;
+               MissingCertificate = 7;
+       }
+       optional uint32 permission = 1;
+       optional uint32 channel_id = 2;
+       optional uint32 session = 3;
+       optional string reason = 4;
+       optional DenyType type = 5;
+}
+
+message ACL {
+       message ChanGroup {
+               required string name = 1;
+               optional bool inherited = 2 [default = true];
+               optional bool inherit = 3 [default = true];
+               optional bool inheritable = 4 [default = true];
+               repeated uint32 add = 5;
+               repeated uint32 remove = 6;
+               repeated uint32 inherited_members = 7;
+       }
+       message ChanACL {
+               optional bool apply_here = 1 [default = true];
+               optional bool apply_subs = 2 [default = true];
+               optional bool inherited = 3 [default = true];
+               optional uint32 user_id = 4;
+               optional string group = 5;
+               optional uint32 grant = 6;
+               optional uint32 deny = 7;
+       }
+       required uint32 channel_id = 1;
+       optional bool inherit_acls = 2 [default = true];
+       repeated ChanGroup groups = 3;
+       repeated ChanACL acls = 4;
+       optional bool query = 5 [default = false];
+}
+
+message QueryUsers {
+       repeated uint32 ids = 1;
+       repeated string names = 2;
+}
+
+message CryptSetup {
+       optional bytes key = 1;
+       optional bytes client_nonce = 2;
+       optional bytes server_nonce = 3;
+}
+
+message ContextActionAdd {
+       enum Context {
+               Server = 0x01;
+               Channel = 0x02;
+               User = 0x04;
+       }
+       required string action = 1;
+       required string text = 2;
+       optional uint32 context = 3;
+}
+
+message ContextAction {
+       optional uint32 session = 1;
+       optional uint32 channel_id = 2;
+       required string action = 3;
+}
+
+message UserList {
+       message User {
+               required uint32 user_id = 1;
+               optional string name = 2;
+       }
+       repeated User users = 1;
+}
+
+message VoiceTarget {
+       message Target {
+               repeated uint32 session = 1;
+               optional uint32 channel_id = 2;
+               optional string group = 3;
+               optional bool links = 4 [default = false];
+               optional bool children = 5 [default = false];
+       }
+       optional uint32 id = 1;
+       repeated Target targets = 2;
+}
+
+message PermissionQuery {
+       optional uint32 channel_id = 1;
+       optional uint32 permissions = 2;
+       optional bool flush = 3 [default = false];
+}
+
+message CodecVersion {
+       required int32 alpha = 1;
+       required int32 beta = 2;
+       required bool prefer_alpha = 3 [default = true];
+}