diff --git a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj
index 6aeb9d3fd..b7b9fc676 100644
--- a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj
+++ b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj
@@ -71,6 +71,10 @@
+
+
+
+
diff --git a/DiscImageChef.Filesystems/ISO9660/Dir.cs b/DiscImageChef.Filesystems/ISO9660/Dir.cs
new file mode 100644
index 000000000..cfcf074be
--- /dev/null
+++ b/DiscImageChef.Filesystems/ISO9660/Dir.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using DiscImageChef.CommonTypes.Structs;
+
+namespace DiscImageChef.Filesystems.ISO9660
+{
+ public partial class ISO9660
+ {
+ public Errno ReadDir(string path, out List contents) => throw new NotImplementedException();
+ }
+}
\ No newline at end of file
diff --git a/DiscImageChef.Filesystems/ISO9660/File.cs b/DiscImageChef.Filesystems/ISO9660/File.cs
new file mode 100644
index 000000000..ce79d9156
--- /dev/null
+++ b/DiscImageChef.Filesystems/ISO9660/File.cs
@@ -0,0 +1,16 @@
+using System;
+using DiscImageChef.CommonTypes.Structs;
+
+namespace DiscImageChef.Filesystems.ISO9660
+{
+ public partial class ISO9660
+ {
+ public Errno MapBlock(string path, long fileBlock, out long deviceBlock) => throw new NotImplementedException();
+
+ public Errno GetAttributes(string path, out FileAttributes attributes) => throw new NotImplementedException();
+
+ public Errno Read(string path, long offset, long size, ref byte[] buf) => throw new NotImplementedException();
+
+ public Errno Stat(string path, out FileEntryInfo stat) => throw new NotImplementedException();
+ }
+}
\ No newline at end of file
diff --git a/DiscImageChef.Filesystems/ISO9660/ISO9660.cs b/DiscImageChef.Filesystems/ISO9660/ISO9660.cs
index 75836d5d5..860b23dc8 100644
--- a/DiscImageChef.Filesystems/ISO9660/ISO9660.cs
+++ b/DiscImageChef.Filesystems/ISO9660/ISO9660.cs
@@ -31,19 +31,43 @@
// ****************************************************************************/
using System;
+using System.Collections.Generic;
using System.Text;
using DiscImageChef.CommonTypes.Interfaces;
+using DiscImageChef.CommonTypes.Structs;
using Schemas;
namespace DiscImageChef.Filesystems.ISO9660
{
// This is coded following ECMA-119.
- public partial class ISO9660 : IFilesystem
+ public partial class ISO9660 : IReadOnlyFilesystem
{
public FileSystemType XmlFsType { get; private set; }
public Encoding Encoding { get; private set; }
public string Name => "ISO9660 Filesystem";
public Guid Id => new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8");
public string Author => "Natalia Portillo";
+
+ public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
+ new (string name, Type type, string description)[] { };
+
+ public Dictionary Namespaces =>
+ new Dictionary
+ {
+ {"normal", "Primary Volume Descriptor, ignoring ;1 suffixes"},
+ {"vms", "Primary Volume Descriptor, showing version suffixes"},
+ {"joliet", "Joliet Volume Descriptor"},
+ {"joliet+normal", "Joliet with fallback to normal"}
+ };
+
+ public Errno ReadLink(string path, out string dest)
+ {
+ dest = null;
+
+ return Errno.NotSupported;
+ }
+
+ static Dictionary GetDefaultOptions() =>
+ new Dictionary {{"debug", false.ToString()}};
}
}
\ No newline at end of file
diff --git a/DiscImageChef.Filesystems/ISO9660/Super.cs b/DiscImageChef.Filesystems/ISO9660/Super.cs
new file mode 100644
index 000000000..5adf9c052
--- /dev/null
+++ b/DiscImageChef.Filesystems/ISO9660/Super.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using DiscImageChef.CommonTypes;
+using DiscImageChef.CommonTypes.Interfaces;
+using DiscImageChef.CommonTypes.Structs;
+
+namespace DiscImageChef.Filesystems.ISO9660
+{
+ public partial class ISO9660
+ {
+ public Errno Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding,
+ Dictionary options, string @namespace) =>
+ throw new NotImplementedException();
+
+ public Errno Unmount() => throw new NotImplementedException();
+
+ public Errno StatFs(out FileSystemInfo stat) => throw new NotImplementedException();
+ }
+}
\ No newline at end of file
diff --git a/DiscImageChef.Filesystems/ISO9660/Xattr.cs b/DiscImageChef.Filesystems/ISO9660/Xattr.cs
new file mode 100644
index 000000000..b0bffaece
--- /dev/null
+++ b/DiscImageChef.Filesystems/ISO9660/Xattr.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using DiscImageChef.CommonTypes.Structs;
+
+namespace DiscImageChef.Filesystems.ISO9660
+{
+ public partial class ISO9660
+ {
+ public Errno ListXAttr(string path, out List xattrs) => throw new NotImplementedException();
+
+ public Errno GetXattr(string path, string xattr, ref byte[] buf) => throw new NotImplementedException();
+ }
+}
\ No newline at end of file