1/* 2 * Copyright 2012, Adrien Destugues, pulkomandy@pulkomandy.tk. 3 * Copyright 2009, Michael Lotz, mmlr@mlotz.ch. 4 * Copyright 2002-2003, Thomas Kurschel. 5 * 6 * Distributed under the terms of the MIT License. 7 */ 8#ifndef ATA_COMMANDS_H 9#define ATA_COMMANDS_H 10 11#define ATA_COMMAND_WRITE_DMA 0xca 12#define ATA_COMMAND_WRITE_DMA_QUEUED 0xcc 13#define ATA_COMMAND_WRITE_MULTIPLE 0xc5 14#define ATA_COMMAND_WRITE_SECTORS 0x30 15 16#define ATA_COMMAND_READ_DMA 0xc8 17#define ATA_COMMAND_READ_DMA_QUEUED 0xc7 18#define ATA_COMMAND_READ_MULTIPLE 0xc4 19#define ATA_COMMAND_READ_SECTORS 0x20 20 21#define ATA_COMMAND_WRITE_DMA_EXT 0x35 22#define ATA_COMMAND_WRITE_DMA_QUEUED_EXT 0x36 23#define ATA_COMMAND_WRITE_MULTIPLE_EXT 0x39 24#define ATA_COMMAND_WRITE_SECTORS_EXT 0x34 25 26#define ATA_COMMAND_READ_DMA_EXT 0x25 27#define ATA_COMMAND_READ_DMA_QUEUED_EXT 0x26 28#define ATA_COMMAND_READ_MULTIPLE_EXT 0x29 29#define ATA_COMMAND_READ_SECTORS_EXT 0x24 30 31#define ATA_COMMAND_PACKET 0xa0 32#define ATA_COMMAND_DEVICE_RESET 0x08 33 34#define ATA_COMMAND_SERVICE 0xa2 35#define ATA_COMMAND_NOP 0 36 37#define ATA_COMMAND_NOP_NOP 0 38#define ATA_COMMAND_NOP_NOP_AUTOPOLL 1 39 40 41#define ATA_COMMAND_GET_MEDIA_STATUS 0xda 42 43#define ATA_COMMAND_FLUSH_CACHE 0xe7 44#define ATA_COMMAND_FLUSH_CACHE_EXT 0xea 45 46#define ATA_COMMAND_DATA_SET_MANAGEMENT 0x06 47 48#define ATA_COMMAND_MEDIA_EJECT 0xed 49 50#define ATA_COMMAND_IDENTIFY_PACKET_DEVICE 0xa1 51#define ATA_COMMAND_IDENTIFY_DEVICE 0xec 52 53#define ATA_COMMAND_SET_FEATURES 0xef 54#define ATA_COMMAND_SET_FEATURES_ENABLE_RELELEASE_INT 0x5d 55#define ATA_COMMAND_SET_FEATURES_ENABLE_SERVICE_INT 0x5e 56#define ATA_COMMAND_SET_FEATURES_DISABLE_RELEASE_INT 0xdd 57#define ATA_COMMAND_SET_FEATURES_DISABLE_SERVICE_INT 0xde 58 59#endif // ATA_COMMANDS_H 60