| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | package smbfsimport (	"io"	"io/fs"	"os"	"github.com/hirochachacha/go-smb2"	"imuslab.com/arozos/mod/filesystem/arozfs")type smbfsFile struct {	file *smb2.File}func NewSmbFsFile(wrappingFile *smb2.File) *smbfsFile {	return &smbfsFile{		file: wrappingFile,	}}func (f *smbfsFile) Chdir() error {	return arozfs.ErrOperationNotSupported}func (f *smbfsFile) Chmod(mode os.FileMode) error {	return arozfs.ErrOperationNotSupported}func (f *smbfsFile) Chown(uid, gid int) error {	return arozfs.ErrOperationNotSupported}func (f *smbfsFile) Close() error {	return f.file.Close()}func (f *smbfsFile) Name() string {	return f.file.Name()}func (f *smbfsFile) Read(b []byte) (n int, err error) {	return f.file.Read(b)}func (f *smbfsFile) ReadAt(b []byte, off int64) (n int, err error) {	return f.file.ReadAt(b, off)}func (f *smbfsFile) ReadDir(n int) ([]fs.DirEntry, error) {	return []fs.DirEntry{}, arozfs.ErrOperationNotSupported}func (f *smbfsFile) Readdirnames(n int) (names []string, err error) {	fi, err := f.file.Readdir(n)	if err != nil {		return []string{}, err	}	names = []string{}	for _, i := range fi {		names = append(names, i.Name())	}	return names, nil}func (f *smbfsFile) ReadFrom(r io.Reader) (n int64, err error) {	return f.file.ReadFrom(r)}func (f *smbfsFile) Readdir(n int) ([]fs.FileInfo, error) {	return f.file.Readdir(n)}func (f *smbfsFile) Seek(offset int64, whence int) (ret int64, err error) {	return f.file.Seek(offset, whence)}func (f *smbfsFile) Stat() (fs.FileInfo, error) {	return f.file.Stat()}func (f *smbfsFile) Sync() error {	return f.file.Sync()}func (f *smbfsFile) Truncate(size int64) error {	return f.file.Truncate(size)}func (f *smbfsFile) Write(b []byte) (n int, err error) {	return f.file.Write(b)}func (f *smbfsFile) WriteAt(b []byte, off int64) (n int, err error) {	return f.file.WriteAt(b, off)}func (f *smbfsFile) WriteString(s string) (n int, err error) {	return f.file.WriteString(s)}type smbDirEntry struct {	finfo fs.FileInfo}func newDirEntryFromFileInfo(targetFileInfo fs.FileInfo) *smbDirEntry {	return &smbDirEntry{		finfo: targetFileInfo,	}}func (de smbDirEntry) Name() string {	return de.finfo.Name()}func (de smbDirEntry) IsDir() bool {	return de.finfo.IsDir()}func (de smbDirEntry) Type() fs.FileMode {	return de.finfo.Mode()}func (de smbDirEntry) Info() (fs.FileInfo, error) {	return de.finfo, nil}
 |