diff --git a/Interfaces/IFloppyImage.cs b/Interfaces/IFloppyImage.cs index 9f2f91d..fa7a781 100644 --- a/Interfaces/IFloppyImage.cs +++ b/Interfaces/IFloppyImage.cs @@ -68,7 +68,8 @@ namespace Aaru.CommonTypes.Interfaces /// Physical head (0-based). /// Logical sector ID. /// Status of request. - byte[] ReadSector(ushort track, byte head, ushort sector, out FloppySectorStatus status); + ErrorNumber ReadSector(ushort track, byte head, ushort sector, out FloppySectorStatus status, + out byte[] buffer); /// Reads a sector's tag. /// @@ -83,13 +84,14 @@ namespace Aaru.CommonTypes.Interfaces /// Logical sector ID. /// Status of request. /// Sector tag - byte[] ReadSectorTag(ushort track, byte head, ushort sector, out FloppySectorStatus status, SectorTagType tag); + ErrorNumber ReadSectorTag(ushort track, byte head, ushort sector, out FloppySectorStatus status, + SectorTagType tag, out byte[] buffer); /// Reads a whole track. It includes all gaps, address marks, sectors data, etc. /// The track data. /// Physical track (position of the heads over the floppy media, 0-based). /// Physical head (0-based). - byte[] ReadTrack(ushort track, byte head); + ErrorNumber ReadTrack(ushort track, byte head, out byte[] buffer); /// Reads a sector's data including all tags, address mark, and so, in a format dependent of represented media. /// @@ -103,7 +105,8 @@ namespace Aaru.CommonTypes.Interfaces /// Physical head (0-based). /// Logical sector ID. /// Status of request. - byte[] ReadSectorLong(ushort track, byte head, ushort sector, out FloppySectorStatus status); + ErrorNumber ReadSectorLong(ushort track, byte head, ushort sector, out FloppySectorStatus status, + out byte[] buffer); /// Verifies a track. /// True if correct, false if incorrect, null if uncheckable.