github.com/hanwen/go-fuse@v1.0.0/fuse/nodefs/defaultfile.go (about)

     1  // Copyright 2016 the Go-FUSE Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package nodefs
     6  
     7  import (
     8  	"time"
     9  
    10  	"github.com/hanwen/go-fuse/fuse"
    11  )
    12  
    13  type defaultFile struct{}
    14  
    15  // NewDefaultFile returns a File instance that returns ENOSYS for
    16  // every operation.
    17  func NewDefaultFile() File {
    18  	return (*defaultFile)(nil)
    19  }
    20  
    21  func (f *defaultFile) SetInode(*Inode) {
    22  }
    23  
    24  func (f *defaultFile) InnerFile() File {
    25  	return nil
    26  }
    27  
    28  func (f *defaultFile) String() string {
    29  	return "defaultFile"
    30  }
    31  
    32  func (f *defaultFile) Read(buf []byte, off int64) (fuse.ReadResult, fuse.Status) {
    33  	return nil, fuse.ENOSYS
    34  }
    35  
    36  func (f *defaultFile) Write(data []byte, off int64) (uint32, fuse.Status) {
    37  	return 0, fuse.ENOSYS
    38  }
    39  
    40  func (f *defaultFile) GetLk(owner uint64, lk *fuse.FileLock, flags uint32, out *fuse.FileLock) (code fuse.Status) {
    41  	return fuse.ENOSYS
    42  }
    43  
    44  func (f *defaultFile) SetLk(owner uint64, lk *fuse.FileLock, flags uint32) (code fuse.Status) {
    45  	return fuse.ENOSYS
    46  }
    47  
    48  func (f *defaultFile) SetLkw(owner uint64, lk *fuse.FileLock, flags uint32) (code fuse.Status) {
    49  	return fuse.ENOSYS
    50  }
    51  
    52  func (f *defaultFile) Flush() fuse.Status {
    53  	return fuse.OK
    54  }
    55  
    56  func (f *defaultFile) Release() {
    57  
    58  }
    59  
    60  func (f *defaultFile) GetAttr(*fuse.Attr) fuse.Status {
    61  	return fuse.ENOSYS
    62  }
    63  
    64  func (f *defaultFile) Fsync(flags int) (code fuse.Status) {
    65  	return fuse.ENOSYS
    66  }
    67  
    68  func (f *defaultFile) Utimens(atime *time.Time, mtime *time.Time) fuse.Status {
    69  	return fuse.ENOSYS
    70  }
    71  
    72  func (f *defaultFile) Truncate(size uint64) fuse.Status {
    73  	return fuse.ENOSYS
    74  }
    75  
    76  func (f *defaultFile) Chown(uid uint32, gid uint32) fuse.Status {
    77  	return fuse.ENOSYS
    78  }
    79  
    80  func (f *defaultFile) Chmod(perms uint32) fuse.Status {
    81  	return fuse.ENOSYS
    82  }
    83  
    84  func (f *defaultFile) Allocate(off uint64, size uint64, mode uint32) (code fuse.Status) {
    85  	return fuse.ENOSYS
    86  }