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