//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License.  You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v4.24.4
// source: proto/grpcfs.proto

package pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// RPC Helper Context - Define as needed
type RPCContext struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GatewayId   string `protobuf:"bytes,1,opt,name=GatewayId,proto3" json:"GatewayId,omitempty"`
	AccessToken string `protobuf:"bytes,2,opt,name=AccessToken,proto3" json:"AccessToken,omitempty"`
	AgentId     string `protobuf:"bytes,3,opt,name=AgentId,proto3" json:"AgentId,omitempty"`
}

func (x *RPCContext) Reset() {
	*x = RPCContext{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RPCContext) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RPCContext) ProtoMessage() {}

func (x *RPCContext) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RPCContext.ProtoReflect.Descriptor instead.
func (*RPCContext) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{0}
}

func (x *RPCContext) GetGatewayId() string {
	if x != nil {
		return x.GatewayId
	}
	return ""
}

func (x *RPCContext) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *RPCContext) GetAgentId() string {
	if x != nil {
		return x.AgentId
	}
	return ""
}

// Primitive
type OpContext struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FuseId uint64 `protobuf:"varint,1,opt,name=FuseId,proto3" json:"FuseId,omitempty"`
	Pid    uint64 `protobuf:"varint,2,opt,name=Pid,proto3" json:"Pid,omitempty"`
	Uid    uint64 `protobuf:"varint,3,opt,name=Uid,proto3" json:"Uid,omitempty"`
}

func (x *OpContext) Reset() {
	*x = OpContext{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpContext) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpContext) ProtoMessage() {}

func (x *OpContext) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpContext.ProtoReflect.Descriptor instead.
func (*OpContext) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{1}
}

func (x *OpContext) GetFuseId() uint64 {
	if x != nil {
		return x.FuseId
	}
	return 0
}

func (x *OpContext) GetPid() uint64 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *OpContext) GetUid() uint64 {
	if x != nil {
		return x.Uid
	}
	return 0
}

// Toplevel
type StatFs struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BlockSize       uint32 `protobuf:"varint,1,opt,name=BlockSize,proto3" json:"BlockSize,omitempty"`
	Blocks          uint64 `protobuf:"varint,2,opt,name=Blocks,proto3" json:"Blocks,omitempty"`
	BlocksFree      uint64 `protobuf:"varint,3,opt,name=BlocksFree,proto3" json:"BlocksFree,omitempty"`
	BlocksAvailable uint64 `protobuf:"varint,4,opt,name=BlocksAvailable,proto3" json:"BlocksAvailable,omitempty"`
	IoSize          uint32 `protobuf:"varint,5,opt,name=IoSize,proto3" json:"IoSize,omitempty"`
	Inodes          uint64 `protobuf:"varint,6,opt,name=Inodes,proto3" json:"Inodes,omitempty"`
	InodesFree      uint64 `protobuf:"varint,7,opt,name=InodesFree,proto3" json:"InodesFree,omitempty"`
}

func (x *StatFs) Reset() {
	*x = StatFs{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StatFs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StatFs) ProtoMessage() {}

func (x *StatFs) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StatFs.ProtoReflect.Descriptor instead.
func (*StatFs) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{2}
}

func (x *StatFs) GetBlockSize() uint32 {
	if x != nil {
		return x.BlockSize
	}
	return 0
}

func (x *StatFs) GetBlocks() uint64 {
	if x != nil {
		return x.Blocks
	}
	return 0
}

func (x *StatFs) GetBlocksFree() uint64 {
	if x != nil {
		return x.BlocksFree
	}
	return 0
}

func (x *StatFs) GetBlocksAvailable() uint64 {
	if x != nil {
		return x.BlocksAvailable
	}
	return 0
}

func (x *StatFs) GetIoSize() uint32 {
	if x != nil {
		return x.IoSize
	}
	return 0
}

func (x *StatFs) GetInodes() uint64 {
	if x != nil {
		return x.Inodes
	}
	return 0
}

func (x *StatFs) GetInodesFree() uint64 {
	if x != nil {
		return x.InodesFree
	}
	return 0
}

type FileInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string                 `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Size    int64                  `protobuf:"varint,2,opt,name=Size,proto3" json:"Size,omitempty"`
	Mode    uint32                 `protobuf:"varint,3,opt,name=Mode,proto3" json:"Mode,omitempty"`
	ModTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=ModTime,proto3" json:"ModTime,omitempty"`
	IsDir   bool                   `protobuf:"varint,5,opt,name=IsDir,proto3" json:"IsDir,omitempty"`
	Ino     uint64                 `protobuf:"varint,6,opt,name=Ino,proto3" json:"Ino,omitempty"`
}

func (x *FileInfo) Reset() {
	*x = FileInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileInfo) ProtoMessage() {}

func (x *FileInfo) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileInfo.ProtoReflect.Descriptor instead.
func (*FileInfo) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{3}
}

func (x *FileInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FileInfo) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *FileInfo) GetMode() uint32 {
	if x != nil {
		return x.Mode
	}
	return 0
}

func (x *FileInfo) GetModTime() *timestamppb.Timestamp {
	if x != nil {
		return x.ModTime
	}
	return nil
}

func (x *FileInfo) GetIsDir() bool {
	if x != nil {
		return x.IsDir
	}
	return false
}

func (x *FileInfo) GetIno() uint64 {
	if x != nil {
		return x.Ino
	}
	return 0
}

type OpenedDir struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Inode     uint64     `protobuf:"varint,1,opt,name=Inode,proto3" json:"Inode,omitempty"`
	Handle    uint64     `protobuf:"varint,2,opt,name=Handle,proto3" json:"Handle,omitempty"`
	OpContext *OpContext `protobuf:"bytes,3,opt,name=OpContext,proto3" json:"OpContext,omitempty"`
	CacheDir  bool       `protobuf:"varint,4,opt,name=CacheDir,proto3" json:"CacheDir,omitempty"`
	KeepCache bool       `protobuf:"varint,5,opt,name=KeepCache,proto3" json:"KeepCache,omitempty"`
}

func (x *OpenedDir) Reset() {
	*x = OpenedDir{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpenedDir) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenedDir) ProtoMessage() {}

func (x *OpenedDir) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenedDir.ProtoReflect.Descriptor instead.
func (*OpenedDir) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{4}
}

func (x *OpenedDir) GetInode() uint64 {
	if x != nil {
		return x.Inode
	}
	return 0
}

func (x *OpenedDir) GetHandle() uint64 {
	if x != nil {
		return x.Handle
	}
	return 0
}

func (x *OpenedDir) GetOpContext() *OpContext {
	if x != nil {
		return x.OpContext
	}
	return nil
}

func (x *OpenedDir) GetCacheDir() bool {
	if x != nil {
		return x.CacheDir
	}
	return false
}

func (x *OpenedDir) GetKeepCache() bool {
	if x != nil {
		return x.KeepCache
	}
	return false
}

type OpenedFile struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Inode         uint64     `protobuf:"varint,1,opt,name=Inode,proto3" json:"Inode,omitempty"`
	Handle        uint64     `protobuf:"varint,2,opt,name=Handle,proto3" json:"Handle,omitempty"`
	KeepPageCache bool       `protobuf:"varint,3,opt,name=KeepPageCache,proto3" json:"KeepPageCache,omitempty"`
	UseDirectIO   bool       `protobuf:"varint,4,opt,name=UseDirectIO,proto3" json:"UseDirectIO,omitempty"`
	OpenFlags     uint32     `protobuf:"varint,5,opt,name=OpenFlags,proto3" json:"OpenFlags,omitempty"`
	OpContext     *OpContext `protobuf:"bytes,6,opt,name=OpContext,proto3" json:"OpContext,omitempty"`
}

func (x *OpenedFile) Reset() {
	*x = OpenedFile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpenedFile) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenedFile) ProtoMessage() {}

func (x *OpenedFile) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenedFile.ProtoReflect.Descriptor instead.
func (*OpenedFile) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{5}
}

func (x *OpenedFile) GetInode() uint64 {
	if x != nil {
		return x.Inode
	}
	return 0
}

func (x *OpenedFile) GetHandle() uint64 {
	if x != nil {
		return x.Handle
	}
	return 0
}

func (x *OpenedFile) GetKeepPageCache() bool {
	if x != nil {
		return x.KeepPageCache
	}
	return false
}

func (x *OpenedFile) GetUseDirectIO() bool {
	if x != nil {
		return x.UseDirectIO
	}
	return false
}

func (x *OpenedFile) GetOpenFlags() uint32 {
	if x != nil {
		return x.OpenFlags
	}
	return 0
}

func (x *OpenedFile) GetOpContext() *OpContext {
	if x != nil {
		return x.OpContext
	}
	return nil
}

type DirEntry struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name     string    `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	IsDir    bool      `protobuf:"varint,2,opt,name=IsDir,proto3" json:"IsDir,omitempty"`
	FileMode uint32    `protobuf:"varint,3,opt,name=FileMode,proto3" json:"FileMode,omitempty"`
	Info     *FileInfo `protobuf:"bytes,4,opt,name=Info,proto3" json:"Info,omitempty"`
}

func (x *DirEntry) Reset() {
	*x = DirEntry{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DirEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DirEntry) ProtoMessage() {}

func (x *DirEntry) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DirEntry.ProtoReflect.Descriptor instead.
func (*DirEntry) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{6}
}

func (x *DirEntry) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DirEntry) GetIsDir() bool {
	if x != nil {
		return x.IsDir
	}
	return false
}

func (x *DirEntry) GetFileMode() uint32 {
	if x != nil {
		return x.FileMode
	}
	return 0
}

func (x *DirEntry) GetInfo() *FileInfo {
	if x != nil {
		return x.Info
	}
	return nil
}

type FileEntry struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Inode     uint64     `protobuf:"varint,1,opt,name=Inode,proto3" json:"Inode,omitempty"`
	Handle    uint64     `protobuf:"varint,2,opt,name=Handle,proto3" json:"Handle,omitempty"`
	Offset    int64      `protobuf:"varint,3,opt,name=Offset,proto3" json:"Offset,omitempty"`
	Size      int64      `protobuf:"varint,4,opt,name=Size,proto3" json:"Size,omitempty"`
	Dst       []byte     `protobuf:"bytes,5,opt,name=Dst,proto3" json:"Dst,omitempty"`
	Data      [][]byte   `protobuf:"bytes,6,rep,name=Data,proto3" json:"Data,omitempty"`
	BytesRead int32      `protobuf:"varint,7,opt,name=BytesRead,proto3" json:"BytesRead,omitempty"`
	OpContext *OpContext `protobuf:"bytes,8,opt,name=OpContext,proto3" json:"OpContext,omitempty"`
}

func (x *FileEntry) Reset() {
	*x = FileEntry{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileEntry) ProtoMessage() {}

func (x *FileEntry) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileEntry.ProtoReflect.Descriptor instead.
func (*FileEntry) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{7}
}

func (x *FileEntry) GetInode() uint64 {
	if x != nil {
		return x.Inode
	}
	return 0
}

func (x *FileEntry) GetHandle() uint64 {
	if x != nil {
		return x.Handle
	}
	return 0
}

func (x *FileEntry) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *FileEntry) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *FileEntry) GetDst() []byte {
	if x != nil {
		return x.Dst
	}
	return nil
}

func (x *FileEntry) GetData() [][]byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *FileEntry) GetBytesRead() int32 {
	if x != nil {
		return x.BytesRead
	}
	return 0
}

func (x *FileEntry) GetOpContext() *OpContext {
	if x != nil {
		return x.OpContext
	}
	return nil
}

type InodeAtt struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Size     uint64                 `protobuf:"varint,1,opt,name=Size,proto3" json:"Size,omitempty"`
	Nlink    uint32                 `protobuf:"varint,2,opt,name=Nlink,proto3" json:"Nlink,omitempty"`
	FileMode uint32                 `protobuf:"varint,3,opt,name=FileMode,proto3" json:"FileMode,omitempty"`
	Atime    *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=Atime,proto3" json:"Atime,omitempty"`
	Mtime    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=Mtime,proto3" json:"Mtime,omitempty"`
	Ctime    *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=Ctime,proto3" json:"Ctime,omitempty"`
}

func (x *InodeAtt) Reset() {
	*x = InodeAtt{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InodeAtt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InodeAtt) ProtoMessage() {}

func (x *InodeAtt) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InodeAtt.ProtoReflect.Descriptor instead.
func (*InodeAtt) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{8}
}

func (x *InodeAtt) GetSize() uint64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *InodeAtt) GetNlink() uint32 {
	if x != nil {
		return x.Nlink
	}
	return 0
}

func (x *InodeAtt) GetFileMode() uint32 {
	if x != nil {
		return x.FileMode
	}
	return 0
}

func (x *InodeAtt) GetAtime() *timestamppb.Timestamp {
	if x != nil {
		return x.Atime
	}
	return nil
}

func (x *InodeAtt) GetMtime() *timestamppb.Timestamp {
	if x != nil {
		return x.Mtime
	}
	return nil
}

func (x *InodeAtt) GetCtime() *timestamppb.Timestamp {
	if x != nil {
		return x.Ctime
	}
	return nil
}

// Request Bodies
type StatFsReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
}

func (x *StatFsReq) Reset() {
	*x = StatFsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StatFsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StatFsReq) ProtoMessage() {}

func (x *StatFsReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StatFsReq.ProtoReflect.Descriptor instead.
func (*StatFsReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{9}
}

func (x *StatFsReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *StatFsReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

type FileInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
}

func (x *FileInfoReq) Reset() {
	*x = FileInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileInfoReq) ProtoMessage() {}

func (x *FileInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileInfoReq.ProtoReflect.Descriptor instead.
func (*FileInfoReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{10}
}

func (x *FileInfoReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FileInfoReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

type OpenDirReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
}

func (x *OpenDirReq) Reset() {
	*x = OpenDirReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpenDirReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenDirReq) ProtoMessage() {}

func (x *OpenDirReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenDirReq.ProtoReflect.Descriptor instead.
func (*OpenDirReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{11}
}

func (x *OpenDirReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *OpenDirReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

type OpenFileReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
}

func (x *OpenFileReq) Reset() {
	*x = OpenFileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpenFileReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenFileReq) ProtoMessage() {}

func (x *OpenFileReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenFileReq.ProtoReflect.Descriptor instead.
func (*OpenFileReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{12}
}

func (x *OpenFileReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *OpenFileReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

type ReadDirReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
}

func (x *ReadDirReq) Reset() {
	*x = ReadDirReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadDirReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadDirReq) ProtoMessage() {}

func (x *ReadDirReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadDirReq.ProtoReflect.Descriptor instead.
func (*ReadDirReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{13}
}

func (x *ReadDirReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ReadDirReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

type ReadFileReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
}

func (x *ReadFileReq) Reset() {
	*x = ReadFileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadFileReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadFileReq) ProtoMessage() {}

func (x *ReadFileReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadFileReq.ProtoReflect.Descriptor instead.
func (*ReadFileReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{14}
}

func (x *ReadFileReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ReadFileReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

type WriteFileReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name    string      `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context *RPCContext `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
	Data    []byte      `protobuf:"bytes,3,opt,name=Data,proto3" json:"Data,omitempty"`
	Offset  int64       `protobuf:"varint,4,opt,name=Offset,proto3" json:"Offset,omitempty"`
}

func (x *WriteFileReq) Reset() {
	*x = WriteFileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WriteFileReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteFileReq) ProtoMessage() {}

func (x *WriteFileReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteFileReq.ProtoReflect.Descriptor instead.
func (*WriteFileReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{15}
}

func (x *WriteFileReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *WriteFileReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

func (x *WriteFileReq) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *WriteFileReq) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

type SetInodeAttReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name     string                 `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Context  *RPCContext            `protobuf:"bytes,2,opt,name=Context,proto3" json:"Context,omitempty"`
	Size     *uint64                `protobuf:"varint,3,opt,name=Size,proto3,oneof" json:"Size,omitempty"`
	FileMode *uint32                `protobuf:"varint,4,opt,name=FileMode,proto3,oneof" json:"FileMode,omitempty"`
	ATime    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=ATime,proto3,oneof" json:"ATime,omitempty"`
	MTime    *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=MTime,proto3,oneof" json:"MTime,omitempty"`
}

func (x *SetInodeAttReq) Reset() {
	*x = SetInodeAttReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetInodeAttReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetInodeAttReq) ProtoMessage() {}

func (x *SetInodeAttReq) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetInodeAttReq.ProtoReflect.Descriptor instead.
func (*SetInodeAttReq) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{16}
}

func (x *SetInodeAttReq) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SetInodeAttReq) GetContext() *RPCContext {
	if x != nil {
		return x.Context
	}
	return nil
}

func (x *SetInodeAttReq) GetSize() uint64 {
	if x != nil && x.Size != nil {
		return *x.Size
	}
	return 0
}

func (x *SetInodeAttReq) GetFileMode() uint32 {
	if x != nil && x.FileMode != nil {
		return *x.FileMode
	}
	return 0
}

func (x *SetInodeAttReq) GetATime() *timestamppb.Timestamp {
	if x != nil {
		return x.ATime
	}
	return nil
}

func (x *SetInodeAttReq) GetMTime() *timestamppb.Timestamp {
	if x != nil {
		return x.MTime
	}
	return nil
}

// Response Bodies
type StatFsRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *StatFs `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *StatFsRes) Reset() {
	*x = StatFsRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StatFsRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StatFsRes) ProtoMessage() {}

func (x *StatFsRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StatFsRes.ProtoReflect.Descriptor instead.
func (*StatFsRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{17}
}

func (x *StatFsRes) GetResult() *StatFs {
	if x != nil {
		return x.Result
	}
	return nil
}

type FileInfoRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *FileInfo `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *FileInfoRes) Reset() {
	*x = FileInfoRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileInfoRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileInfoRes) ProtoMessage() {}

func (x *FileInfoRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileInfoRes.ProtoReflect.Descriptor instead.
func (*FileInfoRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{18}
}

func (x *FileInfoRes) GetResult() *FileInfo {
	if x != nil {
		return x.Result
	}
	return nil
}

type OpenDirRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *OpenedDir `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *OpenDirRes) Reset() {
	*x = OpenDirRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpenDirRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenDirRes) ProtoMessage() {}

func (x *OpenDirRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenDirRes.ProtoReflect.Descriptor instead.
func (*OpenDirRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{19}
}

func (x *OpenDirRes) GetResult() *OpenedDir {
	if x != nil {
		return x.Result
	}
	return nil
}

type OpenFileRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *OpenedFile `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *OpenFileRes) Reset() {
	*x = OpenFileRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OpenFileRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenFileRes) ProtoMessage() {}

func (x *OpenFileRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenFileRes.ProtoReflect.Descriptor instead.
func (*OpenFileRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{20}
}

func (x *OpenFileRes) GetResult() *OpenedFile {
	if x != nil {
		return x.Result
	}
	return nil
}

type ReadDirRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result []*DirEntry `protobuf:"bytes,1,rep,name=Result,proto3" json:"Result,omitempty"`
}

func (x *ReadDirRes) Reset() {
	*x = ReadDirRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadDirRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadDirRes) ProtoMessage() {}

func (x *ReadDirRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadDirRes.ProtoReflect.Descriptor instead.
func (*ReadDirRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{21}
}

func (x *ReadDirRes) GetResult() []*DirEntry {
	if x != nil {
		return x.Result
	}
	return nil
}

type ReadFileRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *FileEntry `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *ReadFileRes) Reset() {
	*x = ReadFileRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadFileRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadFileRes) ProtoMessage() {}

func (x *ReadFileRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadFileRes.ProtoReflect.Descriptor instead.
func (*ReadFileRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{22}
}

func (x *ReadFileRes) GetResult() *FileEntry {
	if x != nil {
		return x.Result
	}
	return nil
}

type WriteFileRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result bool `protobuf:"varint,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *WriteFileRes) Reset() {
	*x = WriteFileRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WriteFileRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteFileRes) ProtoMessage() {}

func (x *WriteFileRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteFileRes.ProtoReflect.Descriptor instead.
func (*WriteFileRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{23}
}

func (x *WriteFileRes) GetResult() bool {
	if x != nil {
		return x.Result
	}
	return false
}

type SetInodeAttRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *InodeAtt `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
}

func (x *SetInodeAttRes) Reset() {
	*x = SetInodeAttRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_proto_grpcfs_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetInodeAttRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetInodeAttRes) ProtoMessage() {}

func (x *SetInodeAttRes) ProtoReflect() protoreflect.Message {
	mi := &file_proto_grpcfs_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetInodeAttRes.ProtoReflect.Descriptor instead.
func (*SetInodeAttRes) Descriptor() ([]byte, []int) {
	return file_proto_grpcfs_proto_rawDescGZIP(), []int{24}
}

func (x *SetInodeAttRes) GetResult() *InodeAtt {
	if x != nil {
		return x.Result
	}
	return nil
}

var File_proto_grpcfs_proto protoreflect.FileDescriptor

var file_proto_grpcfs_proto_rawDesc = []byte{
	0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x66, 0x73, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
	0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x1a, 0x1f,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
	0x66, 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1c, 0x0a,
	0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x41,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a,
	0x07, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x09, 0x4f, 0x70, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x75, 0x73, 0x65, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x46, 0x75, 0x73, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03,
	0x50, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x50, 0x69, 0x64, 0x12, 0x10,
	0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x55, 0x69, 0x64,
	0x22, 0xd8, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x46, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x42,
	0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
	0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x6c, 0x6f,
	0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
	0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x46, 0x72, 0x65, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x46, 0x72, 0x65,
	0x65, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c,
	0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x42, 0x6c, 0x6f, 0x63,
	0x6b, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49,
	0x6f, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x49, 0x6f, 0x53,
	0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x06, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x49,
	0x6e, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0a, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x65, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x08,
	0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x4d, 0x6f, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x07, 0x4d, 0x6f, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73,
	0x44, 0x69, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x44, 0x69, 0x72,
	0x12, 0x10, 0x0a, 0x03, 0x49, 0x6e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x49,
	0x6e, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x44, 0x69, 0x72,
	0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x05, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x41,
	0x0a, 0x09, 0x4f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61,
	0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x09, 0x4f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x08, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a,
	0x09, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x0a,
	0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e,
	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x49, 0x6e, 0x6f, 0x64, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4b, 0x65, 0x65, 0x70,
	0x50, 0x61, 0x67, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0d, 0x4b, 0x65, 0x65, 0x70, 0x50, 0x61, 0x67, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x20,
	0x0a, 0x0b, 0x55, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x4f, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0b, 0x55, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x4f,
	0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x41,
	0x0a, 0x09, 0x4f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61,
	0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x09, 0x4f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x22, 0x88, 0x01, 0x0a, 0x08, 0x44, 0x69, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12,
	0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x44, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x05, 0x49, 0x73, 0x44, 0x69, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65,
	0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e,
	0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x46, 0x69,
	0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xec, 0x01, 0x0a,
	0x09, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e,
	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x49, 0x6e, 0x6f, 0x64, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
	0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x03, 0x44, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x79,
	0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42,
	0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x41, 0x0a, 0x09, 0x4f, 0x70, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74,
	0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x52, 0x09, 0x4f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x08,
	0x49, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x7a, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05,
	0x4e, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4e, 0x6c, 0x69,
	0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30,
	0x0a, 0x05, 0x41, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x41, 0x74, 0x69, 0x6d, 0x65,
	0x12, 0x30, 0x0a, 0x05, 0x4d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x4d, 0x74, 0x69,
	0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x43,
	0x74, 0x69, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x46, 0x73, 0x52, 0x65,
	0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61,
	0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73,
	0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x61, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e,
	0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52,
	0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x60, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x6e,
	0x44, 0x69, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74,
	0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x61, 0x0a, 0x0b, 0x4f, 0x70,
	0x65, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a,
	0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61,
	0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x60, 0x0a,
	0x0a, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x3e, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69,
	0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22,
	0x61, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12,
	0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
	0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52,
	0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
	0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61,
	0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66,
	0x75, 0x73, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x4f,
	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x4f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x22, 0xb6, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65,
	0x41, 0x74, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74,
	0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x53, 0x69,
	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x04, 0x53, 0x69, 0x7a, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64,
	0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x05, 0x41, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48,
	0x02, 0x52, 0x05, 0x41, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x05, 0x4d,
	0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x03, 0x52, 0x05, 0x4d, 0x54, 0x69, 0x6d, 0x65, 0x88,
	0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
	0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x41, 0x54, 0x69,
	0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x4d, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x09,
	0x53, 0x74, 0x61, 0x74, 0x46, 0x73, 0x52, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e,
	0x66, 0x75, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x46, 0x73, 0x52, 0x06, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x22, 0x49, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x65, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e,
	0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x46, 0x69,
	0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x49,
	0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x69, 0x72, 0x52, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61,
	0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x44, 0x69,
	0x72, 0x52, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4b, 0x0a, 0x0b, 0x4f, 0x70, 0x65,
	0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61,
	0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66,
	0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x06,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x48, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69,
	0x72, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68,
	0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e,
	0x44, 0x69, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x22, 0x4a, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x12,
	0x3b, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72,
	0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x26, 0x0a, 0x0c,
	0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x22, 0x4c, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65,
	0x41, 0x74, 0x74, 0x52, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61,
	0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73,
	0x65, 0x2e, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x52, 0x06, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x32, 0xed, 0x05, 0x0a, 0x0b, 0x46, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x46, 0x73, 0x12, 0x23, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61,
	0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x46, 0x73, 0x52, 0x65,
	0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61,
	0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x46, 0x73, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68,
	0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e,
	0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74,
	0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x65, 0x73, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x07, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x69, 0x72, 0x12,
	0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72,
	0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44,
	0x69, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63,
	0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65,
	0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x69, 0x72, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x5a, 0x0a,
	0x08, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e,
	0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x1a, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69,
	0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
	0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x07, 0x52, 0x65, 0x61,
	0x64, 0x44, 0x69, 0x72, 0x12, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68,
	0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e,
	0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61,
	0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x52, 0x65, 0x73,
	0x22, 0x00, 0x12, 0x5a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x25,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61,
	0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69,
	0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63,
	0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65,
	0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x5d,
	0x0a, 0x09, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74,
	0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
	0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
	0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x57,
	0x72, 0x69, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x63, 0x0a,
	0x0b, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x12, 0x28, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61,
	0x74, 0x61, 0x2e, 0x66, 0x75, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65,
	0x41, 0x74, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61,
	0x63, 0x68, 0x65, 0x2e, 0x61, 0x69, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x2e, 0x66, 0x75, 0x73,
	0x65, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x52, 0x65, 0x73,
	0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x67, 0x72, 0x70, 0x63, 0x66, 0x73, 0x2f, 0x70, 0x62, 0x62,
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_proto_grpcfs_proto_rawDescOnce sync.Once
	file_proto_grpcfs_proto_rawDescData = file_proto_grpcfs_proto_rawDesc
)

func file_proto_grpcfs_proto_rawDescGZIP() []byte {
	file_proto_grpcfs_proto_rawDescOnce.Do(func() {
		file_proto_grpcfs_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_grpcfs_proto_rawDescData)
	})
	return file_proto_grpcfs_proto_rawDescData
}

var file_proto_grpcfs_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_proto_grpcfs_proto_goTypes = []any{
	(*RPCContext)(nil),            // 0: org.apache.airavata.fuse.RPCContext
	(*OpContext)(nil),             // 1: org.apache.airavata.fuse.OpContext
	(*StatFs)(nil),                // 2: org.apache.airavata.fuse.StatFs
	(*FileInfo)(nil),              // 3: org.apache.airavata.fuse.FileInfo
	(*OpenedDir)(nil),             // 4: org.apache.airavata.fuse.OpenedDir
	(*OpenedFile)(nil),            // 5: org.apache.airavata.fuse.OpenedFile
	(*DirEntry)(nil),              // 6: org.apache.airavata.fuse.DirEntry
	(*FileEntry)(nil),             // 7: org.apache.airavata.fuse.FileEntry
	(*InodeAtt)(nil),              // 8: org.apache.airavata.fuse.InodeAtt
	(*StatFsReq)(nil),             // 9: org.apache.airavata.fuse.StatFsReq
	(*FileInfoReq)(nil),           // 10: org.apache.airavata.fuse.FileInfoReq
	(*OpenDirReq)(nil),            // 11: org.apache.airavata.fuse.OpenDirReq
	(*OpenFileReq)(nil),           // 12: org.apache.airavata.fuse.OpenFileReq
	(*ReadDirReq)(nil),            // 13: org.apache.airavata.fuse.ReadDirReq
	(*ReadFileReq)(nil),           // 14: org.apache.airavata.fuse.ReadFileReq
	(*WriteFileReq)(nil),          // 15: org.apache.airavata.fuse.WriteFileReq
	(*SetInodeAttReq)(nil),        // 16: org.apache.airavata.fuse.SetInodeAttReq
	(*StatFsRes)(nil),             // 17: org.apache.airavata.fuse.StatFsRes
	(*FileInfoRes)(nil),           // 18: org.apache.airavata.fuse.FileInfoRes
	(*OpenDirRes)(nil),            // 19: org.apache.airavata.fuse.OpenDirRes
	(*OpenFileRes)(nil),           // 20: org.apache.airavata.fuse.OpenFileRes
	(*ReadDirRes)(nil),            // 21: org.apache.airavata.fuse.ReadDirRes
	(*ReadFileRes)(nil),           // 22: org.apache.airavata.fuse.ReadFileRes
	(*WriteFileRes)(nil),          // 23: org.apache.airavata.fuse.WriteFileRes
	(*SetInodeAttRes)(nil),        // 24: org.apache.airavata.fuse.SetInodeAttRes
	(*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp
}
var file_proto_grpcfs_proto_depIdxs = []int32{
	25, // 0: org.apache.airavata.fuse.FileInfo.ModTime:type_name -> google.protobuf.Timestamp
	1,  // 1: org.apache.airavata.fuse.OpenedDir.OpContext:type_name -> org.apache.airavata.fuse.OpContext
	1,  // 2: org.apache.airavata.fuse.OpenedFile.OpContext:type_name -> org.apache.airavata.fuse.OpContext
	3,  // 3: org.apache.airavata.fuse.DirEntry.Info:type_name -> org.apache.airavata.fuse.FileInfo
	1,  // 4: org.apache.airavata.fuse.FileEntry.OpContext:type_name -> org.apache.airavata.fuse.OpContext
	25, // 5: org.apache.airavata.fuse.InodeAtt.Atime:type_name -> google.protobuf.Timestamp
	25, // 6: org.apache.airavata.fuse.InodeAtt.Mtime:type_name -> google.protobuf.Timestamp
	25, // 7: org.apache.airavata.fuse.InodeAtt.Ctime:type_name -> google.protobuf.Timestamp
	0,  // 8: org.apache.airavata.fuse.StatFsReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 9: org.apache.airavata.fuse.FileInfoReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 10: org.apache.airavata.fuse.OpenDirReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 11: org.apache.airavata.fuse.OpenFileReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 12: org.apache.airavata.fuse.ReadDirReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 13: org.apache.airavata.fuse.ReadFileReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 14: org.apache.airavata.fuse.WriteFileReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	0,  // 15: org.apache.airavata.fuse.SetInodeAttReq.Context:type_name -> org.apache.airavata.fuse.RPCContext
	25, // 16: org.apache.airavata.fuse.SetInodeAttReq.ATime:type_name -> google.protobuf.Timestamp
	25, // 17: org.apache.airavata.fuse.SetInodeAttReq.MTime:type_name -> google.protobuf.Timestamp
	2,  // 18: org.apache.airavata.fuse.StatFsRes.Result:type_name -> org.apache.airavata.fuse.StatFs
	3,  // 19: org.apache.airavata.fuse.FileInfoRes.Result:type_name -> org.apache.airavata.fuse.FileInfo
	4,  // 20: org.apache.airavata.fuse.OpenDirRes.Result:type_name -> org.apache.airavata.fuse.OpenedDir
	5,  // 21: org.apache.airavata.fuse.OpenFileRes.Result:type_name -> org.apache.airavata.fuse.OpenedFile
	6,  // 22: org.apache.airavata.fuse.ReadDirRes.Result:type_name -> org.apache.airavata.fuse.DirEntry
	7,  // 23: org.apache.airavata.fuse.ReadFileRes.Result:type_name -> org.apache.airavata.fuse.FileEntry
	8,  // 24: org.apache.airavata.fuse.SetInodeAttRes.Result:type_name -> org.apache.airavata.fuse.InodeAtt
	9,  // 25: org.apache.airavata.fuse.FuseService.StatFs:input_type -> org.apache.airavata.fuse.StatFsReq
	10, // 26: org.apache.airavata.fuse.FuseService.FileInfo:input_type -> org.apache.airavata.fuse.FileInfoReq
	11, // 27: org.apache.airavata.fuse.FuseService.OpenDir:input_type -> org.apache.airavata.fuse.OpenDirReq
	12, // 28: org.apache.airavata.fuse.FuseService.OpenFile:input_type -> org.apache.airavata.fuse.OpenFileReq
	13, // 29: org.apache.airavata.fuse.FuseService.ReadDir:input_type -> org.apache.airavata.fuse.ReadDirReq
	14, // 30: org.apache.airavata.fuse.FuseService.ReadFile:input_type -> org.apache.airavata.fuse.ReadFileReq
	15, // 31: org.apache.airavata.fuse.FuseService.WriteFile:input_type -> org.apache.airavata.fuse.WriteFileReq
	16, // 32: org.apache.airavata.fuse.FuseService.SetInodeAtt:input_type -> org.apache.airavata.fuse.SetInodeAttReq
	17, // 33: org.apache.airavata.fuse.FuseService.StatFs:output_type -> org.apache.airavata.fuse.StatFsRes
	18, // 34: org.apache.airavata.fuse.FuseService.FileInfo:output_type -> org.apache.airavata.fuse.FileInfoRes
	19, // 35: org.apache.airavata.fuse.FuseService.OpenDir:output_type -> org.apache.airavata.fuse.OpenDirRes
	20, // 36: org.apache.airavata.fuse.FuseService.OpenFile:output_type -> org.apache.airavata.fuse.OpenFileRes
	21, // 37: org.apache.airavata.fuse.FuseService.ReadDir:output_type -> org.apache.airavata.fuse.ReadDirRes
	22, // 38: org.apache.airavata.fuse.FuseService.ReadFile:output_type -> org.apache.airavata.fuse.ReadFileRes
	23, // 39: org.apache.airavata.fuse.FuseService.WriteFile:output_type -> org.apache.airavata.fuse.WriteFileRes
	24, // 40: org.apache.airavata.fuse.FuseService.SetInodeAtt:output_type -> org.apache.airavata.fuse.SetInodeAttRes
	33, // [33:41] is the sub-list for method output_type
	25, // [25:33] is the sub-list for method input_type
	25, // [25:25] is the sub-list for extension type_name
	25, // [25:25] is the sub-list for extension extendee
	0,  // [0:25] is the sub-list for field type_name
}

func init() { file_proto_grpcfs_proto_init() }
func file_proto_grpcfs_proto_init() {
	if File_proto_grpcfs_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_proto_grpcfs_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*RPCContext); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*OpContext); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*StatFs); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*FileInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*OpenedDir); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*OpenedFile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*DirEntry); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*FileEntry); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*InodeAtt); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*StatFsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*FileInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*OpenDirReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*OpenFileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*ReadDirReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*ReadFileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[15].Exporter = func(v any, i int) any {
			switch v := v.(*WriteFileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[16].Exporter = func(v any, i int) any {
			switch v := v.(*SetInodeAttReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[17].Exporter = func(v any, i int) any {
			switch v := v.(*StatFsRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[18].Exporter = func(v any, i int) any {
			switch v := v.(*FileInfoRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[19].Exporter = func(v any, i int) any {
			switch v := v.(*OpenDirRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[20].Exporter = func(v any, i int) any {
			switch v := v.(*OpenFileRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[21].Exporter = func(v any, i int) any {
			switch v := v.(*ReadDirRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[22].Exporter = func(v any, i int) any {
			switch v := v.(*ReadFileRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[23].Exporter = func(v any, i int) any {
			switch v := v.(*WriteFileRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_grpcfs_proto_msgTypes[24].Exporter = func(v any, i int) any {
			switch v := v.(*SetInodeAttRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_proto_grpcfs_proto_msgTypes[16].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_proto_grpcfs_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   25,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_proto_grpcfs_proto_goTypes,
		DependencyIndexes: file_proto_grpcfs_proto_depIdxs,
		MessageInfos:      file_proto_grpcfs_proto_msgTypes,
	}.Build()
	File_proto_grpcfs_proto = out.File
	file_proto_grpcfs_proto_rawDesc = nil
	file_proto_grpcfs_proto_goTypes = nil
	file_proto_grpcfs_proto_depIdxs = nil
}
