1// Copyright 2020 Google Inc. All Rights Reserved. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.9.1 19// source: sbox.proto 20 21package sbox_proto 22 23import ( 24 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 25 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 26 reflect "reflect" 27 sync "sync" 28) 29 30const ( 31 // Verify that this generated code is sufficiently up-to-date. 32 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 33 // Verify that runtime/protoimpl is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 35) 36 37// A set of commands to run in a sandbox. 38type Manifest struct { 39 state protoimpl.MessageState 40 sizeCache protoimpl.SizeCache 41 unknownFields protoimpl.UnknownFields 42 43 // A list of commands to run in the sandbox. 44 Commands []*Command `protobuf:"bytes,1,rep,name=commands" json:"commands,omitempty"` 45 // If set, GCC-style dependency files from any command that references __SBOX_DEPFILE__ will be 46 // merged into the given output file relative to the $PWD when sbox was started. 47 OutputDepfile *string `protobuf:"bytes,2,opt,name=output_depfile,json=outputDepfile" json:"output_depfile,omitempty"` 48} 49 50func (x *Manifest) Reset() { 51 *x = Manifest{} 52 if protoimpl.UnsafeEnabled { 53 mi := &file_sbox_proto_msgTypes[0] 54 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 55 ms.StoreMessageInfo(mi) 56 } 57} 58 59func (x *Manifest) String() string { 60 return protoimpl.X.MessageStringOf(x) 61} 62 63func (*Manifest) ProtoMessage() {} 64 65func (x *Manifest) ProtoReflect() protoreflect.Message { 66 mi := &file_sbox_proto_msgTypes[0] 67 if protoimpl.UnsafeEnabled && x != nil { 68 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 69 if ms.LoadMessageInfo() == nil { 70 ms.StoreMessageInfo(mi) 71 } 72 return ms 73 } 74 return mi.MessageOf(x) 75} 76 77// Deprecated: Use Manifest.ProtoReflect.Descriptor instead. 78func (*Manifest) Descriptor() ([]byte, []int) { 79 return file_sbox_proto_rawDescGZIP(), []int{0} 80} 81 82func (x *Manifest) GetCommands() []*Command { 83 if x != nil { 84 return x.Commands 85 } 86 return nil 87} 88 89func (x *Manifest) GetOutputDepfile() string { 90 if x != nil && x.OutputDepfile != nil { 91 return *x.OutputDepfile 92 } 93 return "" 94} 95 96// SandboxManifest describes a command to run in the sandbox. 97type Command struct { 98 state protoimpl.MessageState 99 sizeCache protoimpl.SizeCache 100 unknownFields protoimpl.UnknownFields 101 102 // A list of copy rules to run before the sandboxed command. The from field is relative to the 103 // $PWD when sbox was run, the to field is relative to the top of the temporary sandbox directory. 104 CopyBefore []*Copy `protobuf:"bytes,1,rep,name=copy_before,json=copyBefore" json:"copy_before,omitempty"` 105 // If true, change the working directory to the top of the temporary sandbox directory before 106 // running the command. If false, leave the working directory where it was when sbox was started. 107 Chdir *bool `protobuf:"varint,2,opt,name=chdir" json:"chdir,omitempty"` 108 // The command to run. 109 Command *string `protobuf:"bytes,3,req,name=command" json:"command,omitempty"` 110 // A list of copy rules to run after the sandboxed command. The from field is relative to the 111 // top of the temporary sandbox directory, the to field is relative to the $PWD when sbox was run. 112 CopyAfter []*Copy `protobuf:"bytes,4,rep,name=copy_after,json=copyAfter" json:"copy_after,omitempty"` 113 // An optional hash of the input files to ensure the textproto files and the sbox rule reruns 114 // when the lists of inputs changes, even if the inputs are not on the command line. 115 InputHash *string `protobuf:"bytes,5,opt,name=input_hash,json=inputHash" json:"input_hash,omitempty"` 116 // A list of files that will be copied before the sandboxed command, and whose contents should be 117 // copied as if they were listed in copy_before. 118 RspFiles []*RspFile `protobuf:"bytes,6,rep,name=rsp_files,json=rspFiles" json:"rsp_files,omitempty"` 119} 120 121func (x *Command) Reset() { 122 *x = Command{} 123 if protoimpl.UnsafeEnabled { 124 mi := &file_sbox_proto_msgTypes[1] 125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 126 ms.StoreMessageInfo(mi) 127 } 128} 129 130func (x *Command) String() string { 131 return protoimpl.X.MessageStringOf(x) 132} 133 134func (*Command) ProtoMessage() {} 135 136func (x *Command) ProtoReflect() protoreflect.Message { 137 mi := &file_sbox_proto_msgTypes[1] 138 if protoimpl.UnsafeEnabled && x != nil { 139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 140 if ms.LoadMessageInfo() == nil { 141 ms.StoreMessageInfo(mi) 142 } 143 return ms 144 } 145 return mi.MessageOf(x) 146} 147 148// Deprecated: Use Command.ProtoReflect.Descriptor instead. 149func (*Command) Descriptor() ([]byte, []int) { 150 return file_sbox_proto_rawDescGZIP(), []int{1} 151} 152 153func (x *Command) GetCopyBefore() []*Copy { 154 if x != nil { 155 return x.CopyBefore 156 } 157 return nil 158} 159 160func (x *Command) GetChdir() bool { 161 if x != nil && x.Chdir != nil { 162 return *x.Chdir 163 } 164 return false 165} 166 167func (x *Command) GetCommand() string { 168 if x != nil && x.Command != nil { 169 return *x.Command 170 } 171 return "" 172} 173 174func (x *Command) GetCopyAfter() []*Copy { 175 if x != nil { 176 return x.CopyAfter 177 } 178 return nil 179} 180 181func (x *Command) GetInputHash() string { 182 if x != nil && x.InputHash != nil { 183 return *x.InputHash 184 } 185 return "" 186} 187 188func (x *Command) GetRspFiles() []*RspFile { 189 if x != nil { 190 return x.RspFiles 191 } 192 return nil 193} 194 195// Copy describes a from-to pair of files to copy. The paths may be relative, the root that they 196// are relative to is specific to the context the Copy is used in and will be different for 197// from and to. 198type Copy struct { 199 state protoimpl.MessageState 200 sizeCache protoimpl.SizeCache 201 unknownFields protoimpl.UnknownFields 202 203 From *string `protobuf:"bytes,1,req,name=from" json:"from,omitempty"` 204 To *string `protobuf:"bytes,2,req,name=to" json:"to,omitempty"` 205 // If true, make the file executable after copying it. 206 Executable *bool `protobuf:"varint,3,opt,name=executable" json:"executable,omitempty"` 207} 208 209func (x *Copy) Reset() { 210 *x = Copy{} 211 if protoimpl.UnsafeEnabled { 212 mi := &file_sbox_proto_msgTypes[2] 213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 214 ms.StoreMessageInfo(mi) 215 } 216} 217 218func (x *Copy) String() string { 219 return protoimpl.X.MessageStringOf(x) 220} 221 222func (*Copy) ProtoMessage() {} 223 224func (x *Copy) ProtoReflect() protoreflect.Message { 225 mi := &file_sbox_proto_msgTypes[2] 226 if protoimpl.UnsafeEnabled && x != nil { 227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 228 if ms.LoadMessageInfo() == nil { 229 ms.StoreMessageInfo(mi) 230 } 231 return ms 232 } 233 return mi.MessageOf(x) 234} 235 236// Deprecated: Use Copy.ProtoReflect.Descriptor instead. 237func (*Copy) Descriptor() ([]byte, []int) { 238 return file_sbox_proto_rawDescGZIP(), []int{2} 239} 240 241func (x *Copy) GetFrom() string { 242 if x != nil && x.From != nil { 243 return *x.From 244 } 245 return "" 246} 247 248func (x *Copy) GetTo() string { 249 if x != nil && x.To != nil { 250 return *x.To 251 } 252 return "" 253} 254 255func (x *Copy) GetExecutable() bool { 256 if x != nil && x.Executable != nil { 257 return *x.Executable 258 } 259 return false 260} 261 262// RspFile describes an rspfile that should be copied into the sandbox directory. 263type RspFile struct { 264 state protoimpl.MessageState 265 sizeCache protoimpl.SizeCache 266 unknownFields protoimpl.UnknownFields 267 268 // The path to the rsp file. 269 File *string `protobuf:"bytes,1,req,name=file" json:"file,omitempty"` 270 // A list of path mappings that should be applied to each file listed in the rsp file. 271 PathMappings []*PathMapping `protobuf:"bytes,2,rep,name=path_mappings,json=pathMappings" json:"path_mappings,omitempty"` 272} 273 274func (x *RspFile) Reset() { 275 *x = RspFile{} 276 if protoimpl.UnsafeEnabled { 277 mi := &file_sbox_proto_msgTypes[3] 278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 279 ms.StoreMessageInfo(mi) 280 } 281} 282 283func (x *RspFile) String() string { 284 return protoimpl.X.MessageStringOf(x) 285} 286 287func (*RspFile) ProtoMessage() {} 288 289func (x *RspFile) ProtoReflect() protoreflect.Message { 290 mi := &file_sbox_proto_msgTypes[3] 291 if protoimpl.UnsafeEnabled && x != nil { 292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 293 if ms.LoadMessageInfo() == nil { 294 ms.StoreMessageInfo(mi) 295 } 296 return ms 297 } 298 return mi.MessageOf(x) 299} 300 301// Deprecated: Use RspFile.ProtoReflect.Descriptor instead. 302func (*RspFile) Descriptor() ([]byte, []int) { 303 return file_sbox_proto_rawDescGZIP(), []int{3} 304} 305 306func (x *RspFile) GetFile() string { 307 if x != nil && x.File != nil { 308 return *x.File 309 } 310 return "" 311} 312 313func (x *RspFile) GetPathMappings() []*PathMapping { 314 if x != nil { 315 return x.PathMappings 316 } 317 return nil 318} 319 320// PathMapping describes a mapping from a path outside the sandbox to the path inside the sandbox. 321type PathMapping struct { 322 state protoimpl.MessageState 323 sizeCache protoimpl.SizeCache 324 unknownFields protoimpl.UnknownFields 325 326 From *string `protobuf:"bytes,1,req,name=from" json:"from,omitempty"` 327 To *string `protobuf:"bytes,2,req,name=to" json:"to,omitempty"` 328} 329 330func (x *PathMapping) Reset() { 331 *x = PathMapping{} 332 if protoimpl.UnsafeEnabled { 333 mi := &file_sbox_proto_msgTypes[4] 334 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 335 ms.StoreMessageInfo(mi) 336 } 337} 338 339func (x *PathMapping) String() string { 340 return protoimpl.X.MessageStringOf(x) 341} 342 343func (*PathMapping) ProtoMessage() {} 344 345func (x *PathMapping) ProtoReflect() protoreflect.Message { 346 mi := &file_sbox_proto_msgTypes[4] 347 if protoimpl.UnsafeEnabled && x != nil { 348 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 349 if ms.LoadMessageInfo() == nil { 350 ms.StoreMessageInfo(mi) 351 } 352 return ms 353 } 354 return mi.MessageOf(x) 355} 356 357// Deprecated: Use PathMapping.ProtoReflect.Descriptor instead. 358func (*PathMapping) Descriptor() ([]byte, []int) { 359 return file_sbox_proto_rawDescGZIP(), []int{4} 360} 361 362func (x *PathMapping) GetFrom() string { 363 if x != nil && x.From != nil { 364 return *x.From 365 } 366 return "" 367} 368 369func (x *PathMapping) GetTo() string { 370 if x != nil && x.To != nil { 371 return *x.To 372 } 373 return "" 374} 375 376var File_sbox_proto protoreflect.FileDescriptor 377 378var file_sbox_proto_rawDesc = []byte{ 379 0x0a, 0x0a, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x73, 0x62, 380 0x6f, 0x78, 0x22, 0x5c, 0x0a, 0x08, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x29, 381 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 382 0x32, 0x0d, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 383 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 384 0x70, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 385 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x65, 0x70, 0x66, 0x69, 0x6c, 0x65, 386 0x22, 0xdc, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x0b, 387 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 388 0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x0a, 0x63, 389 0x6f, 0x70, 0x79, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x64, 390 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x64, 0x69, 0x72, 0x12, 391 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 392 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x0a, 0x63, 0x6f, 0x70, 393 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 394 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x41, 395 0x66, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x68, 0x61, 396 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x48, 397 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x09, 0x72, 0x73, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 398 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x52, 0x73, 399 0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x73, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 400 0x4a, 0x0a, 0x04, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 401 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 402 0x6f, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 403 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 404 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x07, 0x52, 405 0x73, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 406 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x0d, 0x70, 0x61, 407 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 408 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x70, 409 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 410 0x67, 0x73, 0x22, 0x31, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 411 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 412 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x02, 0x28, 413 0x09, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x23, 0x5a, 0x21, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 414 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x73, 0x62, 0x6f, 0x78, 0x2f, 415 0x73, 0x62, 0x6f, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 416} 417 418var ( 419 file_sbox_proto_rawDescOnce sync.Once 420 file_sbox_proto_rawDescData = file_sbox_proto_rawDesc 421) 422 423func file_sbox_proto_rawDescGZIP() []byte { 424 file_sbox_proto_rawDescOnce.Do(func() { 425 file_sbox_proto_rawDescData = protoimpl.X.CompressGZIP(file_sbox_proto_rawDescData) 426 }) 427 return file_sbox_proto_rawDescData 428} 429 430var file_sbox_proto_msgTypes = make([]protoimpl.MessageInfo, 5) 431var file_sbox_proto_goTypes = []interface{}{ 432 (*Manifest)(nil), // 0: sbox.Manifest 433 (*Command)(nil), // 1: sbox.Command 434 (*Copy)(nil), // 2: sbox.Copy 435 (*RspFile)(nil), // 3: sbox.RspFile 436 (*PathMapping)(nil), // 4: sbox.PathMapping 437} 438var file_sbox_proto_depIdxs = []int32{ 439 1, // 0: sbox.Manifest.commands:type_name -> sbox.Command 440 2, // 1: sbox.Command.copy_before:type_name -> sbox.Copy 441 2, // 2: sbox.Command.copy_after:type_name -> sbox.Copy 442 3, // 3: sbox.Command.rsp_files:type_name -> sbox.RspFile 443 4, // 4: sbox.RspFile.path_mappings:type_name -> sbox.PathMapping 444 5, // [5:5] is the sub-list for method output_type 445 5, // [5:5] is the sub-list for method input_type 446 5, // [5:5] is the sub-list for extension type_name 447 5, // [5:5] is the sub-list for extension extendee 448 0, // [0:5] is the sub-list for field type_name 449} 450 451func init() { file_sbox_proto_init() } 452func file_sbox_proto_init() { 453 if File_sbox_proto != nil { 454 return 455 } 456 if !protoimpl.UnsafeEnabled { 457 file_sbox_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 458 switch v := v.(*Manifest); i { 459 case 0: 460 return &v.state 461 case 1: 462 return &v.sizeCache 463 case 2: 464 return &v.unknownFields 465 default: 466 return nil 467 } 468 } 469 file_sbox_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 470 switch v := v.(*Command); i { 471 case 0: 472 return &v.state 473 case 1: 474 return &v.sizeCache 475 case 2: 476 return &v.unknownFields 477 default: 478 return nil 479 } 480 } 481 file_sbox_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 482 switch v := v.(*Copy); i { 483 case 0: 484 return &v.state 485 case 1: 486 return &v.sizeCache 487 case 2: 488 return &v.unknownFields 489 default: 490 return nil 491 } 492 } 493 file_sbox_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 494 switch v := v.(*RspFile); i { 495 case 0: 496 return &v.state 497 case 1: 498 return &v.sizeCache 499 case 2: 500 return &v.unknownFields 501 default: 502 return nil 503 } 504 } 505 file_sbox_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 506 switch v := v.(*PathMapping); i { 507 case 0: 508 return &v.state 509 case 1: 510 return &v.sizeCache 511 case 2: 512 return &v.unknownFields 513 default: 514 return nil 515 } 516 } 517 } 518 type x struct{} 519 out := protoimpl.TypeBuilder{ 520 File: protoimpl.DescBuilder{ 521 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 522 RawDescriptor: file_sbox_proto_rawDesc, 523 NumEnums: 0, 524 NumMessages: 5, 525 NumExtensions: 0, 526 NumServices: 0, 527 }, 528 GoTypes: file_sbox_proto_goTypes, 529 DependencyIndexes: file_sbox_proto_depIdxs, 530 MessageInfos: file_sbox_proto_msgTypes, 531 }.Build() 532 File_sbox_proto = out.File 533 file_sbox_proto_rawDesc = nil 534 file_sbox_proto_goTypes = nil 535 file_sbox_proto_depIdxs = nil 536} 537