From 826afbac0cd2fa54f21fd7d2e2e883d0155b68b3 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 21 Jul 2016 17:16:08 +0100 Subject: [PATCH] Added preliminar early-API for filesystem read-only access. --- DiscImageChef.Filesystems/APFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/Acorn.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/AmigaDOS.cs | 55 ++++++++++++++++ DiscImageChef.Filesystems/AppleHFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/AppleHFSPlus.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/AppleMFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/BFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/BTRFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/FAT.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/FFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/Filesystem.cs | 80 +++++++++++++++++++++++ DiscImageChef.Filesystems/HPFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/ISO9660.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/LisaFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/MinixFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/NTFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/Nintendo.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/ODS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/Opera.cs | 57 +++++++++++++++- DiscImageChef.Filesystems/PCEngine.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/ProDOS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/SolarFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/Structs.cs | 65 +++++++++++++++++- DiscImageChef.Filesystems/SysV.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/UNIXBFS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/ext2FS.cs | 56 ++++++++++++++++ DiscImageChef.Filesystems/extFS.cs | 56 ++++++++++++++++ 27 files changed, 1542 insertions(+), 3 deletions(-) diff --git a/DiscImageChef.Filesystems/APFS.cs b/DiscImageChef.Filesystems/APFS.cs index 859a416e..17070d1d 100644 --- a/DiscImageChef.Filesystems/APFS.cs +++ b/DiscImageChef.Filesystems/APFS.cs @@ -39,6 +39,7 @@ using System; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.Console; +using System.Collections.Generic; namespace DiscImageChef.Filesystems { @@ -129,6 +130,61 @@ namespace DiscImageChef.Filesystems xmlFSType.ClusterSize = (int)nxSb.blockSize; xmlFSType.Type = "Apple File System"; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/Acorn.cs b/DiscImageChef.Filesystems/Acorn.cs index 02406cc3..ce9306ca 100644 --- a/DiscImageChef.Filesystems/Acorn.cs +++ b/DiscImageChef.Filesystems/Acorn.cs @@ -36,6 +36,7 @@ // ****************************************************************************/ // //$Id$ using System; +using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.Console; @@ -222,6 +223,61 @@ namespace DiscImageChef.Filesystems xmlFSType.VolumeName = discname; xmlFSType.VolumeSerial = string.Format("{0}", drSb.disc_id); } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/AmigaDOS.cs b/DiscImageChef.Filesystems/AmigaDOS.cs index ca6a229f..b451ba20 100644 --- a/DiscImageChef.Filesystems/AmigaDOS.cs +++ b/DiscImageChef.Filesystems/AmigaDOS.cs @@ -373,5 +373,60 @@ namespace DiscImageChef.Filesystems return sum; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/AppleHFS.cs b/DiscImageChef.Filesystems/AppleHFS.cs index 65bb90bd..7838de95 100644 --- a/DiscImageChef.Filesystems/AppleHFS.cs +++ b/DiscImageChef.Filesystems/AppleHFS.cs @@ -37,6 +37,7 @@ Copyright (C) 2011-2014 Claunia.com //$Id$ using System; +using System.Collections.Generic; using System.Text; using DiscImageChef; @@ -540,5 +541,60 @@ namespace DiscImageChef.Filesystems /// 0x086, Heap size on a Mac with 512KiB of RAM or more public UInt32 heap_512k; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/AppleHFSPlus.cs b/DiscImageChef.Filesystems/AppleHFSPlus.cs index be69df69..ce7cf7bc 100644 --- a/DiscImageChef.Filesystems/AppleHFSPlus.cs +++ b/DiscImageChef.Filesystems/AppleHFSPlus.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from Apple TechNote 1150: https://developer.apple.com/legacy/library/technotes/tn/tn1150.html namespace DiscImageChef.Filesystems @@ -570,5 +571,60 @@ namespace DiscImageChef.Filesystems /// 0x210 public UInt32 startupFile_extents_blockCount7; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/AppleMFS.cs b/DiscImageChef.Filesystems/AppleMFS.cs index cb6ff38c..86d1a830 100644 --- a/DiscImageChef.Filesystems/AppleMFS.cs +++ b/DiscImageChef.Filesystems/AppleMFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from Inside Macintosh namespace DiscImageChef.Filesystems @@ -297,5 +298,60 @@ namespace DiscImageChef.Filesystems /// 0x086, Heap size on a Mac with 512KiB of RAM or more public UInt32 heap_512k; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/BFS.cs b/DiscImageChef.Filesystems/BFS.cs index 77f4ac37..39627fc8 100644 --- a/DiscImageChef.Filesystems/BFS.cs +++ b/DiscImageChef.Filesystems/BFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from Practical Filesystem Design, ISBN 1-55860-497-9 namespace DiscImageChef.Filesystems @@ -286,5 +287,60 @@ namespace DiscImageChef.Filesystems /// 0x082, As this is part of inode_addr, this is 1 public UInt16 indices_len; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/BTRFS.cs b/DiscImageChef.Filesystems/BTRFS.cs index de764df3..ab5b760a 100644 --- a/DiscImageChef.Filesystems/BTRFS.cs +++ b/DiscImageChef.Filesystems/BTRFS.cs @@ -39,6 +39,7 @@ using System; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.Console; +using System.Collections.Generic; namespace DiscImageChef.Filesystems { @@ -240,6 +241,61 @@ namespace DiscImageChef.Filesystems xmlFSType.VolumeSetIdentifier = string.Format("{0}", btrfsSb.dev_item.device_uuid); xmlFSType.Type = Name; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/FAT.cs b/DiscImageChef.Filesystems/FAT.cs index ee955328..24394c39 100644 --- a/DiscImageChef.Filesystems/FAT.cs +++ b/DiscImageChef.Filesystems/FAT.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // TODO: Implement detecting DOS bootable disks // TODO: Implement detecting Atari TOS bootable disks and printing corresponding fields @@ -483,5 +484,60 @@ namespace DiscImageChef.Filesystems /// 0x52, Filesystem type, 8 bytes, space-padded, must be "FAT32 " public string fs_type; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/FFS.cs b/DiscImageChef.Filesystems/FFS.cs index 418a9568..d97f7957 100644 --- a/DiscImageChef.Filesystems/FFS.cs +++ b/DiscImageChef.Filesystems/FFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Using information from Linux kernel headers using DiscImageChef.Console; @@ -1139,5 +1140,60 @@ namespace DiscImageChef.Filesystems public byte fs_space; // 0x0561 } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/Filesystem.cs b/DiscImageChef.Filesystems/Filesystem.cs index 9f8ca514..e26a8176 100644 --- a/DiscImageChef.Filesystems/Filesystem.cs +++ b/DiscImageChef.Filesystems/Filesystem.cs @@ -95,6 +95,86 @@ namespace DiscImageChef.Filesystems /// Partition end sector (LBA). /// Filesystem information. public abstract void GetInformation(ImagePlugins.ImagePlugin imagePlugin, ulong partitionStart, ulong partitionEnd, out string information); + + /// + /// Initializates whatever internal structures the filesystem plugin needs to be able to read files and directories from the filesystem. + /// + public abstract Errno Mount(); + + /// + /// Frees all internal structures created by + /// + public abstract Errno Unmount(); + + /// + /// Maps a filesystem block from a file to a block from the underlying device. + /// + /// Error number. + /// File path. + /// File block. + /// Device block. + public abstract Errno MapBlock(string path, long fileBlock, ref long deviceBlock); + + /// + /// Gets the attributes of a file or directory + /// + /// Error number. + /// File path. + /// File attributes. + public abstract Errno GetAttributes(string path, ref FileAttributes attributes); + + /// + /// Lists all extended attributes, alternate data streams and forks of the given file. + /// + /// Error number. + /// Path. + /// List of extended attributes, alternate data streams and forks. + public abstract Errno ListXAttr(string path, ref List xattrs); + + /// + /// Reads an extended attribute, alternate data stream or fork from the given file. + /// + /// The extended attribute, alternate data stream or fork name. + /// File path. + /// Extendad attribute, alternate data stream or fork name. + /// Buffer. + public abstract Errno GetXattr(string path, string xattr, ref byte[] buf); + + /// + /// Reads data from a file (main/only data stream or data fork). + /// + /// File path. + /// Offset. + /// Bytes to read. + /// Buffer. + public abstract Errno Read(string path, long offset, long size, ref byte[] buf); + + /// + /// Lists contents from a directory. + /// + /// Directory path. + /// Directory contents. + public abstract Errno ReadDir(string path, ref List contents); + + /// + /// Gets information about the mounted volume. + /// + /// Information about the mounted volume. + public abstract Errno StatFs(ref FileSystemInfo stat); + + /// + /// Gets information about a file or directory. + /// + /// File path. + /// File information. + public abstract Errno Stat(string path, ref FileEntryInfo stat); + + /// + /// Solves a symbolic link. + /// + /// Link path. + /// Link destination. + public abstract Errno ReadLink(string path, ref string dest); } } diff --git a/DiscImageChef.Filesystems/HPFS.cs b/DiscImageChef.Filesystems/HPFS.cs index 3650c15c..fd9fa3da 100644 --- a/DiscImageChef.Filesystems/HPFS.cs +++ b/DiscImageChef.Filesystems/HPFS.cs @@ -40,6 +40,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from an old unnamed document namespace DiscImageChef.Filesystems @@ -395,5 +396,60 @@ namespace DiscImageChef.Filesystems /// 0x02C, SpareBlock CRC32 (only HPFS386) public UInt32 sp_crc32; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/ISO9660.cs b/DiscImageChef.Filesystems/ISO9660.cs index 2920a988..2c1408ca 100644 --- a/DiscImageChef.Filesystems/ISO9660.cs +++ b/DiscImageChef.Filesystems/ISO9660.cs @@ -40,6 +40,7 @@ using System; using System.Globalization; using System.Text; using DiscImageChef; +using System.Collections.Generic; // This is coded following ECMA-119. // TODO: Differentiate ISO Level 1, 2, 3 and ISO 9660:1999 @@ -1082,5 +1083,60 @@ namespace DiscImageChef.Filesystems return decodedVD; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/LisaFS.cs b/DiscImageChef.Filesystems/LisaFS.cs index 6772cf2f..b8b6e1ed 100644 --- a/DiscImageChef.Filesystems/LisaFS.cs +++ b/DiscImageChef.Filesystems/LisaFS.cs @@ -40,6 +40,7 @@ using System; using System.Text; using DiscImageChef; using DiscImageChef.ImagePlugins; +using System.Collections.Generic; // All information by Natalia Portillo // Variable names from Lisa API @@ -421,6 +422,61 @@ namespace DiscImageChef.Filesystems } } + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } + struct Lisa_MDDF { /// 0x00, Filesystem version diff --git a/DiscImageChef.Filesystems/MinixFS.cs b/DiscImageChef.Filesystems/MinixFS.cs index de9bcc1a..1be616d9 100644 --- a/DiscImageChef.Filesystems/MinixFS.cs +++ b/DiscImageChef.Filesystems/MinixFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from the Linux kernel namespace DiscImageChef.Filesystems @@ -304,6 +305,61 @@ namespace DiscImageChef.Filesystems /// 0x1E, on-disk structures version public byte s_disk_version; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/NTFS.cs b/DiscImageChef.Filesystems/NTFS.cs index 43bb66e2..6c39adb9 100644 --- a/DiscImageChef.Filesystems/NTFS.cs +++ b/DiscImageChef.Filesystems/NTFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from Inside Windows NT namespace DiscImageChef.Filesystems @@ -242,5 +243,60 @@ namespace DiscImageChef.Filesystems /// 0x1FE, 0xAA55 public UInt16 signature2; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/Nintendo.cs b/DiscImageChef.Filesystems/Nintendo.cs index 222a8298..f3307003 100644 --- a/DiscImageChef.Filesystems/Nintendo.cs +++ b/DiscImageChef.Filesystems/Nintendo.cs @@ -43,6 +43,7 @@ using DiscImageChef.PartPlugins; using System.Collections.Generic; using DiscImageChef.Console; using System.Runtime.Remoting.Messaging; +using System.Collections.Generic; namespace DiscImageChef.Filesystems { @@ -490,6 +491,61 @@ namespace DiscImageChef.Filesystems return string.Format("unknown type {0}", type); } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } diff --git a/DiscImageChef.Filesystems/ODS.cs b/DiscImageChef.Filesystems/ODS.cs index f2715a12..80e07392 100644 --- a/DiscImageChef.Filesystems/ODS.cs +++ b/DiscImageChef.Filesystems/ODS.cs @@ -38,6 +38,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from VMS File System Internals by Kirby McCoy // ISBN: 1-55558-056-4 @@ -372,5 +373,60 @@ namespace DiscImageChef.Filesystems /// 0x1FE, Checksum of preceding 255 words (16 bit units) public UInt16 checksum2; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/Opera.cs b/DiscImageChef.Filesystems/Opera.cs index 4c114550..6a3f7064 100644 --- a/DiscImageChef.Filesystems/Opera.cs +++ b/DiscImageChef.Filesystems/Opera.cs @@ -39,7 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; - +using System.Collections.Generic; namespace DiscImageChef.Filesystems { @@ -168,5 +168,60 @@ namespace DiscImageChef.Filesystems /// 0x060, Last root directory copy public Int32 last_root_copy; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/PCEngine.cs b/DiscImageChef.Filesystems/PCEngine.cs index c02104c3..3cf5fe3e 100644 --- a/DiscImageChef.Filesystems/PCEngine.cs +++ b/DiscImageChef.Filesystems/PCEngine.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; namespace DiscImageChef.Filesystems { @@ -71,5 +72,60 @@ namespace DiscImageChef.Filesystems xmlFSType.Clusters = (long)((partitionEnd - partitionStart + 1) / imagePlugin.GetSectorSize() * 2048); xmlFSType.ClusterSize = 2048; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ProDOS.cs b/DiscImageChef.Filesystems/ProDOS.cs index 35c9f518..a57a4d05 100644 --- a/DiscImageChef.Filesystems/ProDOS.cs +++ b/DiscImageChef.Filesystems/ProDOS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2015 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from Apple ProDOS 8 Technical Reference using DiscImageChef.Console; @@ -233,6 +234,61 @@ namespace DiscImageChef.Filesystems return; } + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } + /// /// ProDOS directory entry, decoded structure /// diff --git a/DiscImageChef.Filesystems/SolarFS.cs b/DiscImageChef.Filesystems/SolarFS.cs index 4bd44ceb..0e62f8e7 100644 --- a/DiscImageChef.Filesystems/SolarFS.cs +++ b/DiscImageChef.Filesystems/SolarFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Based on FAT's BPB, cannot find a FAT or directory using DiscImageChef.Console; @@ -193,5 +194,60 @@ namespace DiscImageChef.Filesystems /// 0x35, 8 bytes, "SOL_FS " public string fs_type; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/Structs.cs b/DiscImageChef.Filesystems/Structs.cs index 5baa12b1..ca895a5a 100644 --- a/DiscImageChef.Filesystems/Structs.cs +++ b/DiscImageChef.Filesystems/Structs.cs @@ -145,7 +145,7 @@ namespace DiscImageChef.Filesystems /// /// Information about a file entry /// - public struct FileEntryInfo + public class FileEntryInfo { DateTime crtimeUtc; DateTime atimeUtc; @@ -200,7 +200,7 @@ namespace DiscImageChef.Filesystems public long Blocks; } - public struct FileSystemInfo + public class FileSystemInfo { /// Filesystem type public string Type; @@ -219,4 +219,65 @@ namespace DiscImageChef.Filesystems /// Filesystem ID public Guid Id; } + + /// + /// Errors + /// + public enum Errno + { + /// No error happened + NoError = 0, + /// Access denied + AccessDenied = -13, + /// Busy, cannot complete + Busy = -16, + /// File is too large + FileTooLarge = -27, + /// Invalid argument + InvalidArgument = -22, + /// I/O error + InOutError = -5, + /// Is a directory (e.g.: trying to Read() a dir) + IsDirectory = -21, + /// Name is too long + NameTooLong = -36, + /// No such device + NoSuchDevice = -19, + /// No such file or directory + NoSuchFile = -2, + /// Is not a directory (e.g.: trying to ReadDir() a file) + NotDirectory = -20, + /// Not implemented + NotImplemented = -38, + /// Not supported + NotSupported = -252, + /// Link is severed + SeveredLink = -67, + /// Access denied + EACCES = AccessDenied, + /// Busy, cannot complete + EBUSY = Busy, + /// File is too large + EFBIG = FileTooLarge, + /// Invalid argument + EINVAL = InvalidArgument, + /// I/O error + EIO = InOutError, + /// Is a directory (e.g.: trying to Read() a dir) + EISDIR = IsDirectory, + /// Name is too long + ENAMETOOLONG = NameTooLong, + /// No such device + ENODEV = NoSuchDevice, + /// No such file or directory + ENOENT = NoSuchFile, + /// Link is severed + ENOLINK = SeveredLink, + /// Not implemented + ENOSYS = NotImplemented, + /// Is not a directory (e.g.: trying to ReadDir() a file) + ENOTDIR = NotDirectory, + /// Not supported + ENOTSUP = NotSupported + } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/SysV.cs b/DiscImageChef.Filesystems/SysV.cs index 62f7a4ac..1bcb4f66 100644 --- a/DiscImageChef.Filesystems/SysV.cs +++ b/DiscImageChef.Filesystems/SysV.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from the Linux kernel namespace DiscImageChef.Filesystems @@ -858,5 +859,60 @@ namespace DiscImageChef.Filesystems /// 0x1F4, zero-filled public UInt32 s_unique; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/UNIXBFS.cs b/DiscImageChef.Filesystems/UNIXBFS.cs index 98063992..be2daa93 100644 --- a/DiscImageChef.Filesystems/UNIXBFS.cs +++ b/DiscImageChef.Filesystems/UNIXBFS.cs @@ -37,6 +37,7 @@ Copyright (C) 2011-2014 Claunia.com //$Id$ using System; +using System.Collections.Generic; using System.Text; using DiscImageChef; @@ -135,5 +136,60 @@ namespace DiscImageChef.Filesystems /// 0x22, 6 bytes, volume name public string s_volume; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/ext2FS.cs b/DiscImageChef.Filesystems/ext2FS.cs index 7cb66e42..177e993d 100644 --- a/DiscImageChef.Filesystems/ext2FS.cs +++ b/DiscImageChef.Filesystems/ext2FS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from the Linux kernel namespace DiscImageChef.Filesystems @@ -927,5 +928,60 @@ namespace DiscImageChef.Filesystems public const UInt32 EXT2_FLAGS_UNSIGNED_HASH = 0x00000002; /// Testing development code public const UInt32 EXT2_FLAGS_TEST_FILESYS = 0x00000004; + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file diff --git a/DiscImageChef.Filesystems/extFS.cs b/DiscImageChef.Filesystems/extFS.cs index e426d9a7..123f6a55 100644 --- a/DiscImageChef.Filesystems/extFS.cs +++ b/DiscImageChef.Filesystems/extFS.cs @@ -39,6 +39,7 @@ Copyright (C) 2011-2014 Claunia.com using System; using System.Text; using DiscImageChef; +using System.Collections.Generic; // Information from the Linux kernel namespace DiscImageChef.Filesystems @@ -143,5 +144,60 @@ namespace DiscImageChef.Filesystems /// 0x038, 0x137D (little endian) public UInt16 magic; } + + public override Errno Mount() + { + return Errno.NotImplemented; + } + + public override Errno Unmount() + { + return Errno.NotImplemented; + } + + public override Errno MapBlock(string path, long fileBlock, ref long deviceBlock) + { + return Errno.NotImplemented; + } + + public override Errno GetAttributes(string path, ref FileAttributes attributes) + { + return Errno.NotImplemented; + } + + public override Errno ListXAttr(string path, ref List xattrs) + { + return Errno.NotImplemented; + } + + public override Errno GetXattr(string path, string xattr, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno Read(string path, long offset, long size, ref byte[] buf) + { + return Errno.NotImplemented; + } + + public override Errno ReadDir(string path, ref List contents) + { + return Errno.NotImplemented; + } + + public override Errno StatFs(ref FileSystemInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno Stat(string path, ref FileEntryInfo stat) + { + return Errno.NotImplemented; + } + + public override Errno ReadLink(string path, ref string dest) + { + return Errno.NotImplemented; + } } } \ No newline at end of file