github.com/creachadair/ffs@v0.17.3/file/wiretype/wiretype.pb.go (about) 1 // Copyright 2021 Michael J. Fromberger. 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 // This schema defines the encoding types for the ffs package. 16 17 // Code generated by protoc-gen-go. DO NOT EDIT. 18 // versions: 19 // protoc-gen-go v1.36.10 20 // protoc v6.33.0 21 // source: wiretype.proto 22 23 package wiretype 24 25 import ( 26 indexpb "github.com/creachadair/ffs/index/indexpb" 27 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 28 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 29 reflect "reflect" 30 sync "sync" 31 unsafe "unsafe" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 // A FileType abstracts the type of a file. 42 type Stat_FileType int32 43 44 const ( 45 Stat_REGULAR Stat_FileType = 0 // a regular file 46 Stat_DIRECTORY Stat_FileType = 1 // a directory 47 Stat_SYMLINK Stat_FileType = 2 // a symbolic link 48 Stat_SOCKET Stat_FileType = 3 // a Unix-domain socket 49 Stat_NAMED_PIPE Stat_FileType = 4 // a named pipe 50 Stat_DEVICE Stat_FileType = 5 // a (block) device file 51 Stat_CHAR_DEVICE Stat_FileType = 6 // a (character) device file 52 Stat_UNKNOWN Stat_FileType = 404 // nothing is known about the type of this file 53 ) 54 55 // Enum value maps for Stat_FileType. 56 var ( 57 Stat_FileType_name = map[int32]string{ 58 0: "REGULAR", 59 1: "DIRECTORY", 60 2: "SYMLINK", 61 3: "SOCKET", 62 4: "NAMED_PIPE", 63 5: "DEVICE", 64 6: "CHAR_DEVICE", 65 404: "UNKNOWN", 66 } 67 Stat_FileType_value = map[string]int32{ 68 "REGULAR": 0, 69 "DIRECTORY": 1, 70 "SYMLINK": 2, 71 "SOCKET": 3, 72 "NAMED_PIPE": 4, 73 "DEVICE": 5, 74 "CHAR_DEVICE": 6, 75 "UNKNOWN": 404, 76 } 77 ) 78 79 func (x Stat_FileType) Enum() *Stat_FileType { 80 p := new(Stat_FileType) 81 *p = x 82 return p 83 } 84 85 func (x Stat_FileType) String() string { 86 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 87 } 88 89 func (Stat_FileType) Descriptor() protoreflect.EnumDescriptor { 90 return file_wiretype_proto_enumTypes[0].Descriptor() 91 } 92 93 func (Stat_FileType) Type() protoreflect.EnumType { 94 return &file_wiretype_proto_enumTypes[0] 95 } 96 97 func (x Stat_FileType) Number() protoreflect.EnumNumber { 98 return protoreflect.EnumNumber(x) 99 } 100 101 // Deprecated: Use Stat_FileType.Descriptor instead. 102 func (Stat_FileType) EnumDescriptor() ([]byte, []int) { 103 return file_wiretype_proto_rawDescGZIP(), []int{3, 0} 104 } 105 106 // An Object is the top-level wrapper for encoded objects. 107 type Object struct { 108 state protoimpl.MessageState `protogen:"open.v1"` 109 // Types that are valid to be assigned to Value: 110 // 111 // *Object_Node 112 // *Object_Root 113 // *Object_Index 114 Value isObject_Value `protobuf_oneof:"value"` 115 // A version marker for the stored object. 116 // Currently 0 is the only known value. 117 Version uint64 `protobuf:"varint,15,opt,name=version,proto3" json:"version,omitempty"` 118 unknownFields protoimpl.UnknownFields 119 sizeCache protoimpl.SizeCache 120 } 121 122 func (x *Object) Reset() { 123 *x = Object{} 124 mi := &file_wiretype_proto_msgTypes[0] 125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 126 ms.StoreMessageInfo(mi) 127 } 128 129 func (x *Object) String() string { 130 return protoimpl.X.MessageStringOf(x) 131 } 132 133 func (*Object) ProtoMessage() {} 134 135 func (x *Object) ProtoReflect() protoreflect.Message { 136 mi := &file_wiretype_proto_msgTypes[0] 137 if x != nil { 138 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 139 if ms.LoadMessageInfo() == nil { 140 ms.StoreMessageInfo(mi) 141 } 142 return ms 143 } 144 return mi.MessageOf(x) 145 } 146 147 // Deprecated: Use Object.ProtoReflect.Descriptor instead. 148 func (*Object) Descriptor() ([]byte, []int) { 149 return file_wiretype_proto_rawDescGZIP(), []int{0} 150 } 151 152 func (x *Object) GetValue() isObject_Value { 153 if x != nil { 154 return x.Value 155 } 156 return nil 157 } 158 159 func (x *Object) GetNode() *Node { 160 if x != nil { 161 if x, ok := x.Value.(*Object_Node); ok { 162 return x.Node 163 } 164 } 165 return nil 166 } 167 168 func (x *Object) GetRoot() *Root { 169 if x != nil { 170 if x, ok := x.Value.(*Object_Root); ok { 171 return x.Root 172 } 173 } 174 return nil 175 } 176 177 func (x *Object) GetIndex() *indexpb.Index { 178 if x != nil { 179 if x, ok := x.Value.(*Object_Index); ok { 180 return x.Index 181 } 182 } 183 return nil 184 } 185 186 func (x *Object) GetVersion() uint64 { 187 if x != nil { 188 return x.Version 189 } 190 return 0 191 } 192 193 type isObject_Value interface { 194 isObject_Value() 195 } 196 197 type Object_Node struct { 198 Node *Node `protobuf:"bytes,1,opt,name=node,proto3,oneof"` // a structured file object 199 } 200 201 type Object_Root struct { 202 Root *Root `protobuf:"bytes,2,opt,name=root,proto3,oneof"` // a root pointer 203 } 204 205 type Object_Index struct { 206 Index *indexpb.Index `protobuf:"bytes,3,opt,name=index,proto3,oneof"` // a blob index 207 } 208 209 func (*Object_Node) isObject_Value() {} 210 211 func (*Object_Root) isObject_Value() {} 212 213 func (*Object_Index) isObject_Value() {} 214 215 // A Root records the location of a root node of a file tree. 216 type Root struct { 217 state protoimpl.MessageState `protogen:"open.v1"` 218 // The storage key of the root of the tree. 219 // The blob contains an Object holding a Node message. 220 // This field must be non-empty for a root to be valid. 221 FileKey []byte `protobuf:"bytes,1,opt,name=file_key,json=fileKey,proto3" json:"file_key,omitempty"` 222 // A human-readable descriptive label for the root. 223 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 224 // The storage key of a blob index for the root. 225 // The blob contains a Object holding an ffs.index.Index message. 226 IndexKey []byte `protobuf:"bytes,4,opt,name=index_key,json=indexKey,proto3" json:"index_key,omitempty"` 227 // The storage key of a previous version of this root. The file_key and 228 // index_key of the chained root, if any, are considered reachable from this 229 // root. 230 ChainKey []byte `protobuf:"bytes,6,opt,name=chain_key,json=chainKey,proto3" json:"chain_key,omitempty"` 231 unknownFields protoimpl.UnknownFields 232 sizeCache protoimpl.SizeCache 233 } 234 235 func (x *Root) Reset() { 236 *x = Root{} 237 mi := &file_wiretype_proto_msgTypes[1] 238 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 239 ms.StoreMessageInfo(mi) 240 } 241 242 func (x *Root) String() string { 243 return protoimpl.X.MessageStringOf(x) 244 } 245 246 func (*Root) ProtoMessage() {} 247 248 func (x *Root) ProtoReflect() protoreflect.Message { 249 mi := &file_wiretype_proto_msgTypes[1] 250 if x != nil { 251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 252 if ms.LoadMessageInfo() == nil { 253 ms.StoreMessageInfo(mi) 254 } 255 return ms 256 } 257 return mi.MessageOf(x) 258 } 259 260 // Deprecated: Use Root.ProtoReflect.Descriptor instead. 261 func (*Root) Descriptor() ([]byte, []int) { 262 return file_wiretype_proto_rawDescGZIP(), []int{1} 263 } 264 265 func (x *Root) GetFileKey() []byte { 266 if x != nil { 267 return x.FileKey 268 } 269 return nil 270 } 271 272 func (x *Root) GetDescription() string { 273 if x != nil { 274 return x.Description 275 } 276 return "" 277 } 278 279 func (x *Root) GetIndexKey() []byte { 280 if x != nil { 281 return x.IndexKey 282 } 283 return nil 284 } 285 286 func (x *Root) GetChainKey() []byte { 287 if x != nil { 288 return x.ChainKey 289 } 290 return nil 291 } 292 293 // A Node is the top-level encoding of a file. 294 type Node struct { 295 state protoimpl.MessageState `protogen:"open.v1"` 296 Index *Index `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` // file contents 297 Stat *Stat `protobuf:"bytes,2,opt,name=stat,proto3" json:"stat,omitempty"` // stat metadata (optional) 298 XAttrs []*XAttr `protobuf:"bytes,3,rep,name=x_attrs,json=xAttrs,proto3" json:"x_attrs,omitempty"` // extended attributes 299 Children []*Child `protobuf:"bytes,4,rep,name=children,proto3" json:"children,omitempty"` // child file pointers 300 unknownFields protoimpl.UnknownFields 301 sizeCache protoimpl.SizeCache 302 } 303 304 func (x *Node) Reset() { 305 *x = Node{} 306 mi := &file_wiretype_proto_msgTypes[2] 307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 308 ms.StoreMessageInfo(mi) 309 } 310 311 func (x *Node) String() string { 312 return protoimpl.X.MessageStringOf(x) 313 } 314 315 func (*Node) ProtoMessage() {} 316 317 func (x *Node) ProtoReflect() protoreflect.Message { 318 mi := &file_wiretype_proto_msgTypes[2] 319 if x != nil { 320 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 321 if ms.LoadMessageInfo() == nil { 322 ms.StoreMessageInfo(mi) 323 } 324 return ms 325 } 326 return mi.MessageOf(x) 327 } 328 329 // Deprecated: Use Node.ProtoReflect.Descriptor instead. 330 func (*Node) Descriptor() ([]byte, []int) { 331 return file_wiretype_proto_rawDescGZIP(), []int{2} 332 } 333 334 func (x *Node) GetIndex() *Index { 335 if x != nil { 336 return x.Index 337 } 338 return nil 339 } 340 341 func (x *Node) GetStat() *Stat { 342 if x != nil { 343 return x.Stat 344 } 345 return nil 346 } 347 348 func (x *Node) GetXAttrs() []*XAttr { 349 if x != nil { 350 return x.XAttrs 351 } 352 return nil 353 } 354 355 func (x *Node) GetChildren() []*Child { 356 if x != nil { 357 return x.Children 358 } 359 return nil 360 } 361 362 // Stat records POSIX style file metadata. Other than the modification time, 363 // these metadata are not interpreted by the file plumbing, but are preserved 364 // for the benefit of external tools. 365 type Stat struct { 366 state protoimpl.MessageState `protogen:"open.v1"` 367 // The low-order 12 bits of this field hold the standard Unix permissions, 368 // along with the sticky, setuid, and setgid bits. The rest are reserved and 369 // must be set to zero. In binary: 370 // 371 // owner group other 372 // ... +-+-+-+-----+-----+-----+ S: setuid 373 // |S|G|T|r w x|r w x|r w x| G: setgid 374 // ... +-+-+-+-----+-----+-----+ T: sticky 375 // B A 9 6 3 0 « bit 376 Permissions uint32 `protobuf:"varint,1,opt,name=permissions,proto3" json:"permissions,omitempty"` 377 FileType Stat_FileType `protobuf:"varint,2,opt,name=file_type,json=fileType,proto3,enum=ffs.file.Stat_FileType" json:"file_type,omitempty"` 378 ModTime *Timestamp `protobuf:"bytes,3,opt,name=mod_time,json=modTime,proto3" json:"mod_time,omitempty"` 379 Owner *Stat_Ident `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` 380 Group *Stat_Ident `protobuf:"bytes,5,opt,name=group,proto3" json:"group,omitempty"` 381 unknownFields protoimpl.UnknownFields 382 sizeCache protoimpl.SizeCache 383 } 384 385 func (x *Stat) Reset() { 386 *x = Stat{} 387 mi := &file_wiretype_proto_msgTypes[3] 388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 389 ms.StoreMessageInfo(mi) 390 } 391 392 func (x *Stat) String() string { 393 return protoimpl.X.MessageStringOf(x) 394 } 395 396 func (*Stat) ProtoMessage() {} 397 398 func (x *Stat) ProtoReflect() protoreflect.Message { 399 mi := &file_wiretype_proto_msgTypes[3] 400 if x != nil { 401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 402 if ms.LoadMessageInfo() == nil { 403 ms.StoreMessageInfo(mi) 404 } 405 return ms 406 } 407 return mi.MessageOf(x) 408 } 409 410 // Deprecated: Use Stat.ProtoReflect.Descriptor instead. 411 func (*Stat) Descriptor() ([]byte, []int) { 412 return file_wiretype_proto_rawDescGZIP(), []int{3} 413 } 414 415 func (x *Stat) GetPermissions() uint32 { 416 if x != nil { 417 return x.Permissions 418 } 419 return 0 420 } 421 422 func (x *Stat) GetFileType() Stat_FileType { 423 if x != nil { 424 return x.FileType 425 } 426 return Stat_REGULAR 427 } 428 429 func (x *Stat) GetModTime() *Timestamp { 430 if x != nil { 431 return x.ModTime 432 } 433 return nil 434 } 435 436 func (x *Stat) GetOwner() *Stat_Ident { 437 if x != nil { 438 return x.Owner 439 } 440 return nil 441 } 442 443 func (x *Stat) GetGroup() *Stat_Ident { 444 if x != nil { 445 return x.Group 446 } 447 return nil 448 } 449 450 // Time is the encoding of a timestamp, in seconds and nanoseconds elapsed 451 // since the Unix epoch in UTC. 452 type Timestamp struct { 453 state protoimpl.MessageState `protogen:"open.v1"` 454 Seconds uint64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` 455 Nanos uint32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` 456 unknownFields protoimpl.UnknownFields 457 sizeCache protoimpl.SizeCache 458 } 459 460 func (x *Timestamp) Reset() { 461 *x = Timestamp{} 462 mi := &file_wiretype_proto_msgTypes[4] 463 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 464 ms.StoreMessageInfo(mi) 465 } 466 467 func (x *Timestamp) String() string { 468 return protoimpl.X.MessageStringOf(x) 469 } 470 471 func (*Timestamp) ProtoMessage() {} 472 473 func (x *Timestamp) ProtoReflect() protoreflect.Message { 474 mi := &file_wiretype_proto_msgTypes[4] 475 if x != nil { 476 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 477 if ms.LoadMessageInfo() == nil { 478 ms.StoreMessageInfo(mi) 479 } 480 return ms 481 } 482 return mi.MessageOf(x) 483 } 484 485 // Deprecated: Use Timestamp.ProtoReflect.Descriptor instead. 486 func (*Timestamp) Descriptor() ([]byte, []int) { 487 return file_wiretype_proto_rawDescGZIP(), []int{4} 488 } 489 490 func (x *Timestamp) GetSeconds() uint64 { 491 if x != nil { 492 return x.Seconds 493 } 494 return 0 495 } 496 497 func (x *Timestamp) GetNanos() uint32 { 498 if x != nil { 499 return x.Nanos 500 } 501 return 0 502 } 503 504 // An Index records the size and storage locations of file data. 505 type Index struct { 506 state protoimpl.MessageState `protogen:"open.v1"` 507 TotalBytes uint64 `protobuf:"varint,1,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` 508 Extents []*Extent `protobuf:"bytes,2,rep,name=extents,proto3" json:"extents,omitempty"` // multiple blocks 509 Single []byte `protobuf:"bytes,3,opt,name=single,proto3" json:"single,omitempty"` // a single block 510 unknownFields protoimpl.UnknownFields 511 sizeCache protoimpl.SizeCache 512 } 513 514 func (x *Index) Reset() { 515 *x = Index{} 516 mi := &file_wiretype_proto_msgTypes[5] 517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 518 ms.StoreMessageInfo(mi) 519 } 520 521 func (x *Index) String() string { 522 return protoimpl.X.MessageStringOf(x) 523 } 524 525 func (*Index) ProtoMessage() {} 526 527 func (x *Index) ProtoReflect() protoreflect.Message { 528 mi := &file_wiretype_proto_msgTypes[5] 529 if x != nil { 530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 531 if ms.LoadMessageInfo() == nil { 532 ms.StoreMessageInfo(mi) 533 } 534 return ms 535 } 536 return mi.MessageOf(x) 537 } 538 539 // Deprecated: Use Index.ProtoReflect.Descriptor instead. 540 func (*Index) Descriptor() ([]byte, []int) { 541 return file_wiretype_proto_rawDescGZIP(), []int{5} 542 } 543 544 func (x *Index) GetTotalBytes() uint64 { 545 if x != nil { 546 return x.TotalBytes 547 } 548 return 0 549 } 550 551 func (x *Index) GetExtents() []*Extent { 552 if x != nil { 553 return x.Extents 554 } 555 return nil 556 } 557 558 func (x *Index) GetSingle() []byte { 559 if x != nil { 560 return x.Single 561 } 562 return nil 563 } 564 565 // An Extent describes a single contiguous span of stored data. 566 type Extent struct { 567 state protoimpl.MessageState `protogen:"open.v1"` 568 Base uint64 `protobuf:"varint,1,opt,name=base,proto3" json:"base,omitempty"` // the starting offset 569 Bytes uint64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"` // the number of bytes in this extent 570 Blocks []*Block `protobuf:"bytes,3,rep,name=blocks,proto3" json:"blocks,omitempty"` 571 unknownFields protoimpl.UnknownFields 572 sizeCache protoimpl.SizeCache 573 } 574 575 func (x *Extent) Reset() { 576 *x = Extent{} 577 mi := &file_wiretype_proto_msgTypes[6] 578 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 579 ms.StoreMessageInfo(mi) 580 } 581 582 func (x *Extent) String() string { 583 return protoimpl.X.MessageStringOf(x) 584 } 585 586 func (*Extent) ProtoMessage() {} 587 588 func (x *Extent) ProtoReflect() protoreflect.Message { 589 mi := &file_wiretype_proto_msgTypes[6] 590 if x != nil { 591 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 592 if ms.LoadMessageInfo() == nil { 593 ms.StoreMessageInfo(mi) 594 } 595 return ms 596 } 597 return mi.MessageOf(x) 598 } 599 600 // Deprecated: Use Extent.ProtoReflect.Descriptor instead. 601 func (*Extent) Descriptor() ([]byte, []int) { 602 return file_wiretype_proto_rawDescGZIP(), []int{6} 603 } 604 605 func (x *Extent) GetBase() uint64 { 606 if x != nil { 607 return x.Base 608 } 609 return 0 610 } 611 612 func (x *Extent) GetBytes() uint64 { 613 if x != nil { 614 return x.Bytes 615 } 616 return 0 617 } 618 619 func (x *Extent) GetBlocks() []*Block { 620 if x != nil { 621 return x.Blocks 622 } 623 return nil 624 } 625 626 // A Block describes the size and storage key of a data blob. 627 type Block struct { 628 state protoimpl.MessageState `protogen:"open.v1"` 629 Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // the number of bytes in this block 630 Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // the storage key of the block data 631 unknownFields protoimpl.UnknownFields 632 sizeCache protoimpl.SizeCache 633 } 634 635 func (x *Block) Reset() { 636 *x = Block{} 637 mi := &file_wiretype_proto_msgTypes[7] 638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 639 ms.StoreMessageInfo(mi) 640 } 641 642 func (x *Block) String() string { 643 return protoimpl.X.MessageStringOf(x) 644 } 645 646 func (*Block) ProtoMessage() {} 647 648 func (x *Block) ProtoReflect() protoreflect.Message { 649 mi := &file_wiretype_proto_msgTypes[7] 650 if x != nil { 651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 652 if ms.LoadMessageInfo() == nil { 653 ms.StoreMessageInfo(mi) 654 } 655 return ms 656 } 657 return mi.MessageOf(x) 658 } 659 660 // Deprecated: Use Block.ProtoReflect.Descriptor instead. 661 func (*Block) Descriptor() ([]byte, []int) { 662 return file_wiretype_proto_rawDescGZIP(), []int{7} 663 } 664 665 func (x *Block) GetBytes() uint64 { 666 if x != nil { 667 return x.Bytes 668 } 669 return 0 670 } 671 672 func (x *Block) GetKey() []byte { 673 if x != nil { 674 return x.Key 675 } 676 return nil 677 } 678 679 // An XAttr records the name and value of an extended attribute. 680 // The contents of the value are not interpreted. 681 type XAttr struct { 682 state protoimpl.MessageState `protogen:"open.v1"` 683 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 684 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 685 unknownFields protoimpl.UnknownFields 686 sizeCache protoimpl.SizeCache 687 } 688 689 func (x *XAttr) Reset() { 690 *x = XAttr{} 691 mi := &file_wiretype_proto_msgTypes[8] 692 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 693 ms.StoreMessageInfo(mi) 694 } 695 696 func (x *XAttr) String() string { 697 return protoimpl.X.MessageStringOf(x) 698 } 699 700 func (*XAttr) ProtoMessage() {} 701 702 func (x *XAttr) ProtoReflect() protoreflect.Message { 703 mi := &file_wiretype_proto_msgTypes[8] 704 if x != nil { 705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 706 if ms.LoadMessageInfo() == nil { 707 ms.StoreMessageInfo(mi) 708 } 709 return ms 710 } 711 return mi.MessageOf(x) 712 } 713 714 // Deprecated: Use XAttr.ProtoReflect.Descriptor instead. 715 func (*XAttr) Descriptor() ([]byte, []int) { 716 return file_wiretype_proto_rawDescGZIP(), []int{8} 717 } 718 719 func (x *XAttr) GetName() string { 720 if x != nil { 721 return x.Name 722 } 723 return "" 724 } 725 726 func (x *XAttr) GetValue() []byte { 727 if x != nil { 728 return x.Value 729 } 730 return nil 731 } 732 733 // A Child records the name and storage key of a child Node. 734 type Child struct { 735 state protoimpl.MessageState `protogen:"open.v1"` 736 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 737 Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` 738 unknownFields protoimpl.UnknownFields 739 sizeCache protoimpl.SizeCache 740 } 741 742 func (x *Child) Reset() { 743 *x = Child{} 744 mi := &file_wiretype_proto_msgTypes[9] 745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 746 ms.StoreMessageInfo(mi) 747 } 748 749 func (x *Child) String() string { 750 return protoimpl.X.MessageStringOf(x) 751 } 752 753 func (*Child) ProtoMessage() {} 754 755 func (x *Child) ProtoReflect() protoreflect.Message { 756 mi := &file_wiretype_proto_msgTypes[9] 757 if x != nil { 758 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 759 if ms.LoadMessageInfo() == nil { 760 ms.StoreMessageInfo(mi) 761 } 762 return ms 763 } 764 return mi.MessageOf(x) 765 } 766 767 // Deprecated: Use Child.ProtoReflect.Descriptor instead. 768 func (*Child) Descriptor() ([]byte, []int) { 769 return file_wiretype_proto_rawDescGZIP(), []int{9} 770 } 771 772 func (x *Child) GetName() string { 773 if x != nil { 774 return x.Name 775 } 776 return "" 777 } 778 779 func (x *Child) GetKey() []byte { 780 if x != nil { 781 return x.Key 782 } 783 return nil 784 } 785 786 // An Ident represents the identity of a user or group. 787 type Stat_Ident struct { 788 state protoimpl.MessageState `protogen:"open.v1"` 789 Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // numeric ID 790 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // human-readable name 791 unknownFields protoimpl.UnknownFields 792 sizeCache protoimpl.SizeCache 793 } 794 795 func (x *Stat_Ident) Reset() { 796 *x = Stat_Ident{} 797 mi := &file_wiretype_proto_msgTypes[10] 798 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 799 ms.StoreMessageInfo(mi) 800 } 801 802 func (x *Stat_Ident) String() string { 803 return protoimpl.X.MessageStringOf(x) 804 } 805 806 func (*Stat_Ident) ProtoMessage() {} 807 808 func (x *Stat_Ident) ProtoReflect() protoreflect.Message { 809 mi := &file_wiretype_proto_msgTypes[10] 810 if x != nil { 811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 812 if ms.LoadMessageInfo() == nil { 813 ms.StoreMessageInfo(mi) 814 } 815 return ms 816 } 817 return mi.MessageOf(x) 818 } 819 820 // Deprecated: Use Stat_Ident.ProtoReflect.Descriptor instead. 821 func (*Stat_Ident) Descriptor() ([]byte, []int) { 822 return file_wiretype_proto_rawDescGZIP(), []int{3, 0} 823 } 824 825 func (x *Stat_Ident) GetId() uint64 { 826 if x != nil { 827 return x.Id 828 } 829 return 0 830 } 831 832 func (x *Stat_Ident) GetName() string { 833 if x != nil { 834 return x.Name 835 } 836 return "" 837 } 838 839 var File_wiretype_proto protoreflect.FileDescriptor 840 841 const file_wiretype_proto_rawDesc = "" + 842 "\n" + 843 "\x0ewiretype.proto\x12\bffs.file\x1a\x19index/indexpb/index.proto\"\xa1\x01\n" + 844 "\x06Object\x12$\n" + 845 "\x04node\x18\x01 \x01(\v2\x0e.ffs.file.NodeH\x00R\x04node\x12$\n" + 846 "\x04root\x18\x02 \x01(\v2\x0e.ffs.file.RootH\x00R\x04root\x12(\n" + 847 "\x05index\x18\x03 \x01(\v2\x10.ffs.index.IndexH\x00R\x05index\x12\x18\n" + 848 "\aversion\x18\x0f \x01(\x04R\aversionB\a\n" + 849 "\x05value\"\x89\x01\n" + 850 "\x04Root\x12\x19\n" + 851 "\bfile_key\x18\x01 \x01(\fR\afileKey\x12 \n" + 852 "\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1b\n" + 853 "\tindex_key\x18\x04 \x01(\fR\bindexKey\x12\x1b\n" + 854 "\tchain_key\x18\x06 \x01(\fR\bchainKeyJ\x04\b\x03\x10\x04J\x04\b\x05\x10\x06\"\xa8\x01\n" + 855 "\x04Node\x12%\n" + 856 "\x05index\x18\x01 \x01(\v2\x0f.ffs.file.IndexR\x05index\x12\"\n" + 857 "\x04stat\x18\x02 \x01(\v2\x0e.ffs.file.StatR\x04stat\x12(\n" + 858 "\ax_attrs\x18\x03 \x03(\v2\x0f.ffs.file.XAttrR\x06xAttrs\x12+\n" + 859 "\bchildren\x18\x04 \x03(\v2\x0f.ffs.file.ChildR\bchildren\"\x8f\x03\n" + 860 "\x04Stat\x12 \n" + 861 "\vpermissions\x18\x01 \x01(\rR\vpermissions\x124\n" + 862 "\tfile_type\x18\x02 \x01(\x0e2\x17.ffs.file.Stat.FileTypeR\bfileType\x12.\n" + 863 "\bmod_time\x18\x03 \x01(\v2\x13.ffs.file.TimestampR\amodTime\x12*\n" + 864 "\x05owner\x18\x04 \x01(\v2\x14.ffs.file.Stat.IdentR\x05owner\x12*\n" + 865 "\x05group\x18\x05 \x01(\v2\x14.ffs.file.Stat.IdentR\x05group\x1a+\n" + 866 "\x05Ident\x12\x0e\n" + 867 "\x02id\x18\x01 \x01(\x04R\x02id\x12\x12\n" + 868 "\x04name\x18\x02 \x01(\tR\x04name\"z\n" + 869 "\bFileType\x12\v\n" + 870 "\aREGULAR\x10\x00\x12\r\n" + 871 "\tDIRECTORY\x10\x01\x12\v\n" + 872 "\aSYMLINK\x10\x02\x12\n" + 873 "\n" + 874 "\x06SOCKET\x10\x03\x12\x0e\n" + 875 "\n" + 876 "NAMED_PIPE\x10\x04\x12\n" + 877 "\n" + 878 "\x06DEVICE\x10\x05\x12\x0f\n" + 879 "\vCHAR_DEVICE\x10\x06\x12\f\n" + 880 "\aUNKNOWN\x10\x94\x03\";\n" + 881 "\tTimestamp\x12\x18\n" + 882 "\aseconds\x18\x01 \x01(\x04R\aseconds\x12\x14\n" + 883 "\x05nanos\x18\x02 \x01(\rR\x05nanos\"l\n" + 884 "\x05Index\x12\x1f\n" + 885 "\vtotal_bytes\x18\x01 \x01(\x04R\n" + 886 "totalBytes\x12*\n" + 887 "\aextents\x18\x02 \x03(\v2\x10.ffs.file.ExtentR\aextents\x12\x16\n" + 888 "\x06single\x18\x03 \x01(\fR\x06single\"[\n" + 889 "\x06Extent\x12\x12\n" + 890 "\x04base\x18\x01 \x01(\x04R\x04base\x12\x14\n" + 891 "\x05bytes\x18\x02 \x01(\x04R\x05bytes\x12'\n" + 892 "\x06blocks\x18\x03 \x03(\v2\x0f.ffs.file.BlockR\x06blocks\"/\n" + 893 "\x05Block\x12\x14\n" + 894 "\x05bytes\x18\x01 \x01(\x04R\x05bytes\x12\x10\n" + 895 "\x03key\x18\x02 \x01(\fR\x03key\"1\n" + 896 "\x05XAttr\x12\x12\n" + 897 "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + 898 "\x05value\x18\x02 \x01(\fR\x05value\"-\n" + 899 "\x05Child\x12\x12\n" + 900 "\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n" + 901 "\x03key\x18\x02 \x01(\fR\x03keyB*Z(github.com/creachadair/ffs/file/wiretypeb\x06proto3" 902 903 var ( 904 file_wiretype_proto_rawDescOnce sync.Once 905 file_wiretype_proto_rawDescData []byte 906 ) 907 908 func file_wiretype_proto_rawDescGZIP() []byte { 909 file_wiretype_proto_rawDescOnce.Do(func() { 910 file_wiretype_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_wiretype_proto_rawDesc), len(file_wiretype_proto_rawDesc))) 911 }) 912 return file_wiretype_proto_rawDescData 913 } 914 915 var file_wiretype_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 916 var file_wiretype_proto_msgTypes = make([]protoimpl.MessageInfo, 11) 917 var file_wiretype_proto_goTypes = []any{ 918 (Stat_FileType)(0), // 0: ffs.file.Stat.FileType 919 (*Object)(nil), // 1: ffs.file.Object 920 (*Root)(nil), // 2: ffs.file.Root 921 (*Node)(nil), // 3: ffs.file.Node 922 (*Stat)(nil), // 4: ffs.file.Stat 923 (*Timestamp)(nil), // 5: ffs.file.Timestamp 924 (*Index)(nil), // 6: ffs.file.Index 925 (*Extent)(nil), // 7: ffs.file.Extent 926 (*Block)(nil), // 8: ffs.file.Block 927 (*XAttr)(nil), // 9: ffs.file.XAttr 928 (*Child)(nil), // 10: ffs.file.Child 929 (*Stat_Ident)(nil), // 11: ffs.file.Stat.Ident 930 (*indexpb.Index)(nil), // 12: ffs.index.Index 931 } 932 var file_wiretype_proto_depIdxs = []int32{ 933 3, // 0: ffs.file.Object.node:type_name -> ffs.file.Node 934 2, // 1: ffs.file.Object.root:type_name -> ffs.file.Root 935 12, // 2: ffs.file.Object.index:type_name -> ffs.index.Index 936 6, // 3: ffs.file.Node.index:type_name -> ffs.file.Index 937 4, // 4: ffs.file.Node.stat:type_name -> ffs.file.Stat 938 9, // 5: ffs.file.Node.x_attrs:type_name -> ffs.file.XAttr 939 10, // 6: ffs.file.Node.children:type_name -> ffs.file.Child 940 0, // 7: ffs.file.Stat.file_type:type_name -> ffs.file.Stat.FileType 941 5, // 8: ffs.file.Stat.mod_time:type_name -> ffs.file.Timestamp 942 11, // 9: ffs.file.Stat.owner:type_name -> ffs.file.Stat.Ident 943 11, // 10: ffs.file.Stat.group:type_name -> ffs.file.Stat.Ident 944 7, // 11: ffs.file.Index.extents:type_name -> ffs.file.Extent 945 8, // 12: ffs.file.Extent.blocks:type_name -> ffs.file.Block 946 13, // [13:13] is the sub-list for method output_type 947 13, // [13:13] is the sub-list for method input_type 948 13, // [13:13] is the sub-list for extension type_name 949 13, // [13:13] is the sub-list for extension extendee 950 0, // [0:13] is the sub-list for field type_name 951 } 952 953 func init() { file_wiretype_proto_init() } 954 func file_wiretype_proto_init() { 955 if File_wiretype_proto != nil { 956 return 957 } 958 file_wiretype_proto_msgTypes[0].OneofWrappers = []any{ 959 (*Object_Node)(nil), 960 (*Object_Root)(nil), 961 (*Object_Index)(nil), 962 } 963 type x struct{} 964 out := protoimpl.TypeBuilder{ 965 File: protoimpl.DescBuilder{ 966 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 967 RawDescriptor: unsafe.Slice(unsafe.StringData(file_wiretype_proto_rawDesc), len(file_wiretype_proto_rawDesc)), 968 NumEnums: 1, 969 NumMessages: 11, 970 NumExtensions: 0, 971 NumServices: 0, 972 }, 973 GoTypes: file_wiretype_proto_goTypes, 974 DependencyIndexes: file_wiretype_proto_depIdxs, 975 EnumInfos: file_wiretype_proto_enumTypes, 976 MessageInfos: file_wiretype_proto_msgTypes, 977 }.Build() 978 File_wiretype_proto = out.File 979 file_wiretype_proto_goTypes = nil 980 file_wiretype_proto_depIdxs = nil 981 }