diff --git a/Enums/Images.cs b/Enums/Images.cs
index 8625cdb..f6cabb6 100644
--- a/Enums/Images.cs
+++ b/Enums/Images.cs
@@ -329,4 +329,19 @@ namespace Aaru.CommonTypes.Enums
/// Extended density coercitivity (about 750Oe as found in 3.5" ED disks).
Extended
}
+
+ [Flags]
+ public enum OpticalImageCapabilities : ulong
+ {
+ CanStoreAudioTracks = 0x01, CanStoreVideoTracks = 0x02, CanStoreDataTracks = 0x03,
+ CanStorePregaps = 0x04,
+
+ // TODO: Implement
+ CanStoreIndexes = 0x08, CanStoreSubchannelPq = 0x10, CanStoreSubchannelRw = 0x20,
+ CanStoreSessions = 0x40, CanStoreIsrc = 0x80, CanStoreCdText = 0x100,
+ CanStoreMcn = 0x200, CanStoreRawData = 0x400,
+
+ // TODO: Implement
+ CanStoreScrambledData = 0x800, CanStoreCookedData = 0x1000, CanStoreMultipleTracks = 0x2000
+ }
}
\ No newline at end of file
diff --git a/Interfaces/IWritableOpticalImage.cs b/Interfaces/IWritableOpticalImage.cs
index fbf7d6b..a847625 100644
--- a/Interfaces/IWritableOpticalImage.cs
+++ b/Interfaces/IWritableOpticalImage.cs
@@ -37,12 +37,15 @@
// ****************************************************************************/
using System.Collections.Generic;
+using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Structs;
namespace Aaru.CommonTypes.Interfaces
{
public interface IWritableOpticalImage : IWritableImage, IOpticalMediaImage
{
+ OpticalImageCapabilities OpticalCapabilities { get; }
+
/// Sets tracks for optical media
/// List of tracks
/// true if operating completed successfully, false otherwise