3 package google.protobuf;
5 message FileDescriptorSet {
7 repeated FileDescriptorProto file = 1;
10 message FileDescriptorProto {
12 optional string name = 1;
13 optional string package = 2;
14 repeated string dependency = 3;
15 repeated int32 public_dependency = 10;
16 repeated int32 weak_dependency = 11;
17 repeated DescriptorProto message_type = 4;
18 repeated EnumDescriptorProto enum_type = 5;
19 repeated ServiceDescriptorProto service = 6;
20 repeated FieldDescriptorProto extension = 7;
21 optional FileOptions options = 8;
22 optional SourceCodeInfo source_code_info = 9;
23 optional string syntax = 12;
26 message DescriptorProto {
28 optional string name = 1;
29 repeated FieldDescriptorProto field = 2;
30 repeated FieldDescriptorProto extension = 6;
31 repeated DescriptorProto nested_type = 3;
32 repeated EnumDescriptorProto enum_type = 4;
33 repeated ExtensionRange extension_range = 5;
34 repeated OneofDescriptorProto oneof_decl = 8;
35 optional MessageOptions options = 7;
36 repeated ReservedRange reserved_range = 9;
37 repeated string reserved_name = 10;
39 message ExtensionRange {
41 optional int32 start = 1;
42 optional int32 end = 2;
45 message ReservedRange {
47 optional int32 start = 1;
48 optional int32 end = 2;
52 message FieldDescriptorProto {
54 optional string name = 1;
55 optional int32 number = 3;
56 optional Label label = 4;
57 optional Type type = 5;
58 optional string type_name = 6;
59 optional string extendee = 2;
60 optional string default_value = 7;
61 optional int32 oneof_index = 9;
62 optional string json_name = 10;
63 optional FieldOptions options = 8;
95 message OneofDescriptorProto {
97 optional string name = 1;
98 optional OneofOptions options = 2;
101 message EnumDescriptorProto {
103 optional string name = 1;
104 repeated EnumValueDescriptorProto value = 2;
105 optional EnumOptions options = 3;
108 message EnumValueDescriptorProto {
110 optional string name = 1;
111 optional int32 number = 2;
112 optional EnumValueOptions options = 3;
115 message ServiceDescriptorProto {
117 optional string name = 1;
118 repeated MethodDescriptorProto method = 2;
119 optional ServiceOptions options = 3;
122 message MethodDescriptorProto {
124 optional string name = 1;
125 optional string input_type = 2;
126 optional string output_type = 3;
127 optional MethodOptions options = 4;
128 optional bool client_streaming = 5;
129 optional bool server_streaming = 6;
132 message FileOptions {
134 optional string java_package = 1;
135 optional string java_outer_classname = 8;
136 optional bool java_multiple_files = 10;
137 optional bool java_generate_equals_and_hash = 20 [deprecated=true];
138 optional bool java_string_check_utf8 = 27;
139 optional OptimizeMode optimize_for = 9 [default=SPEED];
140 optional string go_package = 11;
141 optional bool cc_generic_services = 16;
142 optional bool java_generic_services = 17;
143 optional bool py_generic_services = 18;
144 optional bool deprecated = 23;
145 optional bool cc_enable_arenas = 31;
146 optional string objc_class_prefix = 36;
147 optional string csharp_namespace = 37;
148 repeated UninterpretedOption uninterpreted_option = 999;
157 extensions 1000 to max;
162 message MessageOptions {
164 optional bool message_set_wire_format = 1;
165 optional bool no_standard_descriptor_accessor = 2;
166 optional bool deprecated = 3;
167 optional bool map_entry = 7;
168 repeated UninterpretedOption uninterpreted_option = 999;
170 extensions 1000 to max;
175 message FieldOptions {
177 optional CType ctype = 1 [default=STRING];
178 optional bool packed = 2;
179 optional JSType jstype = 6 [default=JS_NORMAL];
180 optional bool lazy = 5;
181 optional bool deprecated = 3;
182 optional bool weak = 10;
183 repeated UninterpretedOption uninterpreted_option = 999;
199 extensions 1000 to max;
204 message OneofOptions {
206 repeated UninterpretedOption uninterpreted_option = 999;
208 extensions 1000 to max;
211 message EnumOptions {
213 optional bool allow_alias = 2;
214 optional bool deprecated = 3;
215 repeated UninterpretedOption uninterpreted_option = 999;
217 extensions 1000 to max;
220 message EnumValueOptions {
222 optional bool deprecated = 1;
223 repeated UninterpretedOption uninterpreted_option = 999;
225 extensions 1000 to max;
228 message ServiceOptions {
230 optional bool deprecated = 33;
231 repeated UninterpretedOption uninterpreted_option = 999;
233 extensions 1000 to max;
236 message MethodOptions {
238 optional bool deprecated = 33;
239 repeated UninterpretedOption uninterpreted_option = 999;
241 extensions 1000 to max;
244 message UninterpretedOption {
246 repeated NamePart name = 2;
247 optional string identifier_value = 3;
248 optional uint64 positive_int_value = 4;
249 optional int64 negative_int_value = 5;
250 optional double double_value = 6;
251 optional bytes string_value = 7;
252 optional string aggregate_value = 8;
256 required string name_part = 1;
257 required bool is_extension = 2;
261 message SourceCodeInfo {
263 repeated Location location = 1;
267 repeated int32 path = 1 [packed=true];
268 repeated int32 span = 2 [packed=true];
269 optional string leading_comments = 3;
270 optional string trailing_comments = 4;
271 repeated string leading_detached_comments = 6;
275 message GeneratedCodeInfo {
277 repeated Annotation annotation = 1;
281 repeated int32 path = 1 [packed=true];
282 optional string source_file = 2;
283 optional int32 begin = 3;
284 optional int32 end = 4;