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