Class ATAPI
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Cosmos.HAL.BlockDevice
Assembly: Cosmos.HAL2.dll
Syntax
public class ATAPI : BlockDevice
Constructors
| Improve this Doc View SourceATAPI(ATA_PIO)
Constructor for ATAPI speclevel device.
Declaration
public ATAPI(ATA_PIO parentDevice)
Parameters
Type | Name | Description |
---|---|---|
ATA_PIO | parentDevice |
Fields
| Improve this Doc View Sourcedevice
Declaration
public ATA_PIO device
Field Value
Type | Description |
---|---|
ATA_PIO |
IO
CPU IOGroup for all ATA devices, ATAPI uses this group too
Declaration
protected static ATA IO
Field Value
Type | Description |
---|---|
ATA |
SectorSize
Default sector size of all ATAPI drives is 2048
Declaration
public const ushort SectorSize = 2048
Field Value
Type | Description |
---|---|
System.UInt16 |
Properties
| Improve this Doc View SourceMaxLBA
Get The max lba
Declaration
public ulong MaxLBA { get; }
Property Value
Type | Description |
---|---|
System.UInt64 |
Primary
Is the ATAPI drive on the Primary or Secondary channel of the IDE controller.
Declaration
public bool Primary { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Type
Declaration
public override BlockDeviceType Type { get; }
Property Value
Type | Description |
---|---|
BlockDeviceType |
Overrides
Methods
| Improve this Doc View SourceEject()
Ejects the ATAPI drive (optical media, iomega Zip etc.)
Declaration
public void Eject()
Init()
Check if ATAPI-speclevel device is on Primary or Secondary channel, and register the appropriate interrupt
Declaration
public void Init()
ReadBlock(UInt64, UInt64, ref Byte[])
Override method for BlockDevice.ReadBlock, returns the specified buffered sector of ATAPI drive
Declaration
public override void ReadBlock(ulong SectorNum, ulong SectorCount, ref byte[] aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt64 | SectorNum | |
System.UInt64 | SectorCount | |
System.Byte[] | aData |
Overrides
| Improve this Doc View SourceWriteBlock(UInt64, UInt64, ref Byte[])
ATAPI writing is not currently supported, that's a future milestone, probably very distant future as we do all development on an existing OS :)
Declaration
public override void WriteBlock(ulong aBlockNo, ulong aBlockCount, ref byte[] aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt64 | aBlockNo | |
System.UInt64 | aBlockCount | |
System.Byte[] | aData |