---
title: IOATACommand
framework: kernel
role: symbol
role_heading: Class
path: kernel/ioatacommand
---

# IOATACommand

## Declaration

```occ
class IOATACommand : IOCommand
```

## Overview

Overview Command structure superclass, created and freed only by IOATADevice objects populated by disk device drivers with command parameters then submitted for operation to their IOATADevice provider for execution. IOATACommand is a virtual class, a concrete subclass contains the methods and fields needed by IOATAControllers. Subclasses may be specific to particular controller hardware. Disk device drivers will only have visibility to this interface and may not subclass this object. Disk device drivers should instead make use of the void* refcon field which the controllers will not touch

## Topics

### Miscellaneous

- [getActualTransfer](kernel/ioatacommand/1813827-getactualtransfer.md)
- [getBuffer](kernel/ioatacommand/1813832-getbuffer.md)
- [getCommandInUse](kernel/ioatacommand/1813837-getcommandinuse.md)
- [getCylHi](kernel/ioatacommand/1813841-getcylhi.md)
- [getCylLo](kernel/ioatacommand/1813846-getcyllo.md)
- [getDevice_Head](kernel/ioatacommand/1813849-getdevice_head.md)
- [getEndErrorReg](kernel/ioatacommand/1813854-getenderrorreg.md)
- [getEndStatusReg](kernel/ioatacommand/1813858-getendstatusreg.md)
- [getErrorReg](kernel/ioatacommand/1813861-geterrorreg.md)
- [getResult](kernel/ioatacommand/1813865-getresult.md)
- [getSectorCount](kernel/ioatacommand/1813869-getsectorcount.md)
- [getSectorNumber](kernel/ioatacommand/1813872-getsectornumber.md)
- [getStatus](kernel/ioatacommand/1813875-getstatus.md)
- [setBuffer](kernel/ioatacommand/1813877-setbuffer.md)
- [setByteCount](kernel/ioatacommand/1813880-setbytecount.md)
- [setCallbackPtr](kernel/ioatacommand/1813883-setcallbackptr.md)
- [setCommand](kernel/ioatacommand/1813885-setcommand.md)
- [setCylHi](kernel/ioatacommand/1813887-setcylhi.md)
- [setCylLo](kernel/ioatacommand/1813888-setcyllo.md)
- [setDevice_Head](kernel/ioatacommand/1813890-setdevice_head.md)
- [setFeatures](kernel/ioatacommand/1813892-setfeatures.md)
- [setFlags](kernel/ioatacommand/1813894-setflags.md)
- [setLBA28](kernel/ioatacommand/1813896-setlba28.md)
- [setOpcode](kernel/ioatacommand/1813898-setopcode.md)
- [setPacketCommand](kernel/ioatacommand/1813900-setpacketcommand.md)
- [setPosition](kernel/ioatacommand/1813902-setposition.md)
- [setRegMask](kernel/ioatacommand/1813904-setregmask.md)
- [setSectorCount](kernel/ioatacommand/1813906-setsectorcount.md)
- [setSectorNumber](kernel/ioatacommand/1813908-setsectornumber.md)
- [setTimeoutMS](kernel/ioatacommand/1813910-settimeoutms.md)
- [setTransferChunkSize](kernel/ioatacommand/1813912-settransferchunksize.md)
- [setUnit](kernel/ioatacommand/1813914-setunit.md)
- [zeroCommand](kernel/ioatacommand/1813915-zerocommand.md)

### DataTypes

- [ExpansionData](kernel/ioservice/expansiondata.md)

### Instance Variables

- [refCon2](kernel/ioatacommand/refcon2.md)
- [refCon](kernel/ioatacommand/refcon.md)
- [fExpansionData](kernel/ioatacommand/fexpansiondata.md)

### Instance Methods

- [free](kernel/ioatacommand/1392056-free.md)
- [getActualTransfer](kernel/ioatacommand/1392104-getactualtransfer.md)
- [getAltStatus](kernel/ioatacommand/1392045-getaltstatus.md)
- [getBuffer](kernel/ioatacommand/1392172-getbuffer.md)
- [getCommandInUse](kernel/ioatacommand/1392170-getcommandinuse.md)
- [getCylHi](kernel/ioatacommand/1392083-getcylhi.md)
- [getCylLo](kernel/ioatacommand/1392063-getcyllo.md)
- [getDataReg](kernel/ioatacommand/1392069-getdatareg.md)
- [getDevice_Head](kernel/ioatacommand/1392079-getdevice_head.md)
- [getEndErrorReg](kernel/ioatacommand/1392061-getenderrorreg.md)
- [getEndStatusReg](kernel/ioatacommand/1392054-getendstatusreg.md)
- [getErrorReg](kernel/ioatacommand/1392123-geterrorreg.md)
- [getExtendedLBA](kernel/ioatacommand/1392043-getextendedlba.md)
- [getMetaClass](kernel/ioatacommand/1392058-getmetaclass.md)
- [getResult](kernel/ioatacommand/1392142-getresult.md)
- [getSectorCount](kernel/ioatacommand/1392151-getsectorcount.md)
- [getSectorNumber](kernel/ioatacommand/1392091-getsectornumber.md)
- [getStatus](kernel/ioatacommand/1392158-getstatus.md)
- [init](kernel/ioatacommand/1392118-init.md)
- [setBuffer](kernel/ioatacommand/1392139-setbuffer.md)
- [setByteCount](kernel/ioatacommand/1392113-setbytecount.md)
- [setCallbackPtr](kernel/ioatacommand/1392047-setcallbackptr.md)
- [setCommand](kernel/ioatacommand/1392106-setcommand.md)
- [setControl](kernel/ioatacommand/1392134-setcontrol.md)
- [setCylHi](kernel/ioatacommand/1392065-setcylhi.md)
- [setCylLo](kernel/ioatacommand/1392087-setcyllo.md)
- [setDataReg](kernel/ioatacommand/1392111-setdatareg.md)
- [setDevice_Head](kernel/ioatacommand/1392126-setdevice_head.md)
- [setEndResult](kernel/ioatacommand/1392100-setendresult.md)
- [setFeatures](kernel/ioatacommand/1392154-setfeatures.md)
- [setFlags](kernel/ioatacommand/1392168-setflags.md)
- [setLBA28](kernel/ioatacommand/1392049-setlba28.md)
- [setOpcode](kernel/ioatacommand/1392166-setopcode.md)
- [setPacketCommand](kernel/ioatacommand/1392097-setpacketcommand.md)
- [setPosition](kernel/ioatacommand/1392077-setposition.md)
- [setRegMask](kernel/ioatacommand/1392075-setregmask.md)
- [setSectorCount](kernel/ioatacommand/1392144-setsectorcount.md)
- [setSectorNumber](kernel/ioatacommand/1392067-setsectornumber.md)
- [setTimeoutMS](kernel/ioatacommand/1392093-settimeoutms.md)
- [setTransferChunkSize](kernel/ioatacommand/1392109-settransferchunksize.md)
- [setUnit](kernel/ioatacommand/1392116-setunit.md)
- [zeroCommand](kernel/ioatacommand/1392132-zerocommand.md)

## Relationships

### Inherits From

- [IOCommand](kernel/iocommand.md)
