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 |