Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations
hdreg.h File Reference
#include <linux/types.h>

Go to the source code of this file.

Data Structures

union  ide_reg_valid_s
 
struct  ide_task_request_s
 
struct  ide_ioctl_request_s
 
struct  hd_drive_cmd_hdr
 
struct  hd_drive_task_hdr
 
struct  hd_drive_hob_hdr
 
struct  hd_geometry
 
struct  hd_driveid
 

Macros

#define HDIO_DRIVE_CMD_HDR_SIZE   (4 * sizeof(__u8))
 
#define HDIO_DRIVE_HOB_HDR_SIZE   (8 * sizeof(__u8))
 
#define HDIO_DRIVE_TASK_HDR_SIZE   (8 * sizeof(__u8))
 
#define IDE_DRIVE_TASK_NO_DATA   0
 
#define IDE_DRIVE_TASK_INVALID   -1
 
#define IDE_DRIVE_TASK_SET_XFER   1
 
#define IDE_DRIVE_TASK_IN   2
 
#define IDE_DRIVE_TASK_OUT   3
 
#define IDE_DRIVE_TASK_RAW_WRITE   4
 
#define IDE_TASKFILE_STD_IN_FLAGS   0xFE
 
#define IDE_HOB_STD_IN_FLAGS   0x3C
 
#define IDE_TASKFILE_STD_OUT_FLAGS   0xFE
 
#define IDE_HOB_STD_OUT_FLAGS   0x3C
 
#define TASKFILE_NO_DATA   0x0000
 
#define TASKFILE_IN   0x0001
 
#define TASKFILE_MULTI_IN   0x0002
 
#define TASKFILE_OUT   0x0004
 
#define TASKFILE_MULTI_OUT   0x0008
 
#define TASKFILE_IN_OUT   0x0010
 
#define TASKFILE_IN_DMA   0x0020
 
#define TASKFILE_OUT_DMA   0x0040
 
#define TASKFILE_IN_DMAQ   0x0080
 
#define TASKFILE_OUT_DMAQ   0x0100
 
#define TASKFILE_P_IN   0x0200
 
#define TASKFILE_P_OUT   0x0400
 
#define TASKFILE_P_IN_DMA   0x0800
 
#define TASKFILE_P_OUT_DMA   0x1000
 
#define TASKFILE_P_IN_DMAQ   0x2000
 
#define TASKFILE_P_OUT_DMAQ   0x4000
 
#define TASKFILE_48   0x8000
 
#define TASKFILE_INVALID   0x7fff
 
#define WIN_NOP   0x00
 
#define CFA_REQ_EXT_ERROR_CODE   0x03 /* CFA Request Extended Error Code */
 
#define WIN_SRST   0x08 /* ATAPI soft reset command */
 
#define WIN_DEVICE_RESET   0x08
 
#define WIN_RECAL   0x10
 
#define WIN_RESTORE   WIN_RECAL
 
#define WIN_READ   0x20 /* 28-Bit */
 
#define WIN_READ_ONCE   0x21 /* 28-Bit without retries */
 
#define WIN_READ_LONG   0x22 /* 28-Bit */
 
#define WIN_READ_LONG_ONCE   0x23 /* 28-Bit without retries */
 
#define WIN_READ_EXT   0x24 /* 48-Bit */
 
#define WIN_READDMA_EXT   0x25 /* 48-Bit */
 
#define WIN_READDMA_QUEUED_EXT   0x26 /* 48-Bit */
 
#define WIN_READ_NATIVE_MAX_EXT   0x27 /* 48-Bit */
 
#define WIN_MULTREAD_EXT   0x29 /* 48-Bit */
 
#define WIN_WRITE   0x30 /* 28-Bit */
 
#define WIN_WRITE_ONCE   0x31 /* 28-Bit without retries */
 
#define WIN_WRITE_LONG   0x32 /* 28-Bit */
 
#define WIN_WRITE_LONG_ONCE   0x33 /* 28-Bit without retries */
 
#define WIN_WRITE_EXT   0x34 /* 48-Bit */
 
#define WIN_WRITEDMA_EXT   0x35 /* 48-Bit */
 
#define WIN_WRITEDMA_QUEUED_EXT   0x36 /* 48-Bit */
 
#define WIN_SET_MAX_EXT   0x37 /* 48-Bit */
 
#define CFA_WRITE_SECT_WO_ERASE   0x38 /* CFA Write Sectors without erase */
 
#define WIN_MULTWRITE_EXT   0x39 /* 48-Bit */
 
#define WIN_WRITE_VERIFY   0x3C /* 28-Bit */
 
#define WIN_VERIFY   0x40 /* 28-Bit - Read Verify Sectors */
 
#define WIN_VERIFY_ONCE   0x41 /* 28-Bit - without retries */
 
#define WIN_VERIFY_EXT   0x42 /* 48-Bit */
 
#define WIN_FORMAT   0x50
 
#define WIN_INIT   0x60
 
#define WIN_SEEK   0x70 /* 0x70-0x7F Reserved */
 
#define CFA_TRANSLATE_SECTOR   0x87 /* CFA Translate Sector */
 
#define WIN_DIAGNOSE   0x90
 
#define WIN_SPECIFY   0x91 /* set drive geometry translation */
 
#define WIN_DOWNLOAD_MICROCODE   0x92
 
#define WIN_STANDBYNOW2   0x94
 
#define WIN_STANDBY2   0x96
 
#define WIN_SETIDLE2   0x97
 
#define WIN_CHECKPOWERMODE2   0x98
 
#define WIN_SLEEPNOW2   0x99
 
#define WIN_PACKETCMD   0xA0 /* Send a packet command. */
 
#define WIN_PIDENTIFY   0xA1 /* identify ATAPI device */
 
#define WIN_QUEUED_SERVICE   0xA2
 
#define WIN_SMART   0xB0 /* self-monitoring and reporting */
 
#define CFA_ERASE_SECTORS   0xC0
 
#define WIN_MULTREAD   0xC4 /* read sectors using multiple mode*/
 
#define WIN_MULTWRITE   0xC5 /* write sectors using multiple mode */
 
#define WIN_SETMULT   0xC6 /* enable/disable multiple mode */
 
#define WIN_READDMA_QUEUED   0xC7 /* read sectors using Queued DMA transfers */
 
#define WIN_READDMA   0xC8 /* read sectors using DMA transfers */
 
#define WIN_READDMA_ONCE   0xC9 /* 28-Bit - without retries */
 
#define WIN_WRITEDMA   0xCA /* write sectors using DMA transfers */
 
#define WIN_WRITEDMA_ONCE   0xCB /* 28-Bit - without retries */
 
#define WIN_WRITEDMA_QUEUED   0xCC /* write sectors using Queued DMA transfers */
 
#define CFA_WRITE_MULTI_WO_ERASE   0xCD /* CFA Write multiple without erase */
 
#define WIN_GETMEDIASTATUS   0xDA
 
#define WIN_ACKMEDIACHANGE   0xDB /* ATA-1, ATA-2 vendor */
 
#define WIN_POSTBOOT   0xDC
 
#define WIN_PREBOOT   0xDD
 
#define WIN_DOORLOCK   0xDE /* lock door on removable drives */
 
#define WIN_DOORUNLOCK   0xDF /* unlock door on removable drives */
 
#define WIN_STANDBYNOW1   0xE0
 
#define WIN_IDLEIMMEDIATE   0xE1 /* force drive to become "ready" */
 
#define WIN_STANDBY   0xE2 /* Set device in Standby Mode */
 
#define WIN_SETIDLE1   0xE3
 
#define WIN_READ_BUFFER   0xE4 /* force read only 1 sector */
 
#define WIN_CHECKPOWERMODE1   0xE5
 
#define WIN_SLEEPNOW1   0xE6
 
#define WIN_FLUSH_CACHE   0xE7
 
#define WIN_WRITE_BUFFER   0xE8 /* force write only 1 sector */
 
#define WIN_WRITE_SAME   0xE9 /* read ata-2 to use */
 
#define WIN_FLUSH_CACHE_EXT   0xEA /* 48-Bit */
 
#define WIN_IDENTIFY   0xEC /* ask drive to identify itself */
 
#define WIN_MEDIAEJECT   0xED
 
#define WIN_IDENTIFY_DMA   0xEE /* same as WIN_IDENTIFY, but DMA */
 
#define WIN_SETFEATURES   0xEF /* set special drive features */
 
#define EXABYTE_ENABLE_NEST   0xF0
 
#define WIN_SECURITY_SET_PASS   0xF1
 
#define WIN_SECURITY_UNLOCK   0xF2
 
#define WIN_SECURITY_ERASE_PREPARE   0xF3
 
#define WIN_SECURITY_ERASE_UNIT   0xF4
 
#define WIN_SECURITY_FREEZE_LOCK   0xF5
 
#define WIN_SECURITY_DISABLE   0xF6
 
#define WIN_READ_NATIVE_MAX   0xF8 /* return the native maximum address */
 
#define WIN_SET_MAX   0xF9
 
#define DISABLE_SEAGATE   0xFB
 
#define SMART_READ_VALUES   0xD0
 
#define SMART_READ_THRESHOLDS   0xD1
 
#define SMART_AUTOSAVE   0xD2
 
#define SMART_SAVE   0xD3
 
#define SMART_IMMEDIATE_OFFLINE   0xD4
 
#define SMART_READ_LOG_SECTOR   0xD5
 
#define SMART_WRITE_LOG_SECTOR   0xD6
 
#define SMART_WRITE_THRESHOLDS   0xD7
 
#define SMART_ENABLE   0xD8
 
#define SMART_DISABLE   0xD9
 
#define SMART_STATUS   0xDA
 
#define SMART_AUTO_OFFLINE   0xDB
 
#define SMART_LCYL_PASS   0x4F
 
#define SMART_HCYL_PASS   0xC2
 
#define SETFEATURES_EN_8BIT   0x01 /* Enable 8-Bit Transfers */
 
#define SETFEATURES_EN_WCACHE   0x02 /* Enable write cache */
 
#define SETFEATURES_DIS_DEFECT   0x04 /* Disable Defect Management */
 
#define SETFEATURES_EN_APM   0x05 /* Enable advanced power management */
 
#define SETFEATURES_EN_SAME_R   0x22 /* for a region ATA-1 */
 
#define SETFEATURES_DIS_MSN   0x31 /* Disable Media Status Notification */
 
#define SETFEATURES_DIS_RETRY   0x33 /* Disable Retry */
 
#define SETFEATURES_EN_AAM   0x42 /* Enable Automatic Acoustic Management */
 
#define SETFEATURES_RW_LONG   0x44 /* Set Length of VS bytes */
 
#define SETFEATURES_SET_CACHE   0x54 /* Set Cache segments to SC Reg. Val */
 
#define SETFEATURES_DIS_RLA   0x55 /* Disable read look-ahead feature */
 
#define SETFEATURES_EN_RI   0x5D /* Enable release interrupt */
 
#define SETFEATURES_EN_SI   0x5E /* Enable SERVICE interrupt */
 
#define SETFEATURES_DIS_RPOD   0x66 /* Disable reverting to power on defaults */
 
#define SETFEATURES_DIS_ECC   0x77 /* Disable ECC byte count */
 
#define SETFEATURES_DIS_8BIT   0x81 /* Disable 8-Bit Transfers */
 
#define SETFEATURES_DIS_WCACHE   0x82 /* Disable write cache */
 
#define SETFEATURES_EN_DEFECT   0x84 /* Enable Defect Management */
 
#define SETFEATURES_DIS_APM   0x85 /* Disable advanced power management */
 
#define SETFEATURES_EN_ECC   0x88 /* Enable ECC byte count */
 
#define SETFEATURES_EN_MSN   0x95 /* Enable Media Status Notification */
 
#define SETFEATURES_EN_RETRY   0x99 /* Enable Retry */
 
#define SETFEATURES_EN_RLA   0xAA /* Enable read look-ahead feature */
 
#define SETFEATURES_PREFETCH   0xAB /* Sets drive prefetch value */
 
#define SETFEATURES_EN_REST   0xAC /* ATA-1 */
 
#define SETFEATURES_4B_RW_LONG   0xBB /* Set Length of 4 bytes */
 
#define SETFEATURES_DIS_AAM   0xC2 /* Disable Automatic Acoustic Management */
 
#define SETFEATURES_EN_RPOD   0xCC /* Enable reverting to power on defaults */
 
#define SETFEATURES_DIS_RI   0xDD /* Disable release interrupt ATAPI */
 
#define SETFEATURES_EN_SAME_M   0xDD /* for a entire device ATA-1 */
 
#define SETFEATURES_DIS_SI   0xDE /* Disable SERVICE interrupt ATAPI */
 
#define SECURITY_SET_PASSWORD   0xBA
 
#define SECURITY_UNLOCK   0xBB
 
#define SECURITY_ERASE_PREPARE   0xBC
 
#define SECURITY_ERASE_UNIT   0xBD
 
#define SECURITY_FREEZE_LOCK   0xBE
 
#define SECURITY_DISABLE_PASSWORD   0xBF
 
#define HDIO_GETGEO   0x0301 /* get device geometry */
 
#define HDIO_GET_UNMASKINTR   0x0302 /* get current unmask setting */
 
#define HDIO_GET_MULTCOUNT   0x0304 /* get current IDE blockmode setting */
 
#define HDIO_GET_QDMA   0x0305 /* get use-qdma flag */
 
#define HDIO_SET_XFER   0x0306 /* set transfer rate via proc */
 
#define HDIO_OBSOLETE_IDENTITY   0x0307 /* OBSOLETE, DO NOT USE: returns 142 bytes */
 
#define HDIO_GET_KEEPSETTINGS   0x0308 /* get keep-settings-on-reset flag */
 
#define HDIO_GET_32BIT   0x0309 /* get current io_32bit setting */
 
#define HDIO_GET_NOWERR   0x030a /* get ignore-write-error flag */
 
#define HDIO_GET_DMA   0x030b /* get use-dma flag */
 
#define HDIO_GET_NICE   0x030c /* get nice flags */
 
#define HDIO_GET_IDENTITY   0x030d /* get IDE identification info */
 
#define HDIO_GET_WCACHE   0x030e /* get write cache mode on|off */
 
#define HDIO_GET_ACOUSTIC   0x030f /* get acoustic value */
 
#define HDIO_GET_ADDRESS   0x0310 /* */
 
#define HDIO_GET_BUSSTATE   0x031a /* get the bus state of the hwif */
 
#define HDIO_TRISTATE_HWIF   0x031b /* execute a channel tristate */
 
#define HDIO_DRIVE_RESET   0x031c /* execute a device reset */
 
#define HDIO_DRIVE_TASKFILE   0x031d /* execute raw taskfile */
 
#define HDIO_DRIVE_TASK   0x031e /* execute task and special drive command */
 
#define HDIO_DRIVE_CMD   0x031f /* execute a special drive command */
 
#define HDIO_DRIVE_CMD_AEB   HDIO_DRIVE_TASK
 
#define HDIO_SET_MULTCOUNT   0x0321 /* change IDE blockmode */
 
#define HDIO_SET_UNMASKINTR   0x0322 /* permit other irqs during I/O */
 
#define HDIO_SET_KEEPSETTINGS   0x0323 /* keep ioctl settings on reset */
 
#define HDIO_SET_32BIT   0x0324 /* change io_32bit flags */
 
#define HDIO_SET_NOWERR   0x0325 /* change ignore-write-error flag */
 
#define HDIO_SET_DMA   0x0326 /* change use-dma flag */
 
#define HDIO_SET_PIO_MODE   0x0327 /* reconfig interface to new speed */
 
#define HDIO_SCAN_HWIF   0x0328 /* register and (re)scan interface */
 
#define HDIO_UNREGISTER_HWIF   0x032a /* unregister interface */
 
#define HDIO_SET_NICE   0x0329 /* set nice flags */
 
#define HDIO_SET_WCACHE   0x032b /* change write cache enable-disable */
 
#define HDIO_SET_ACOUSTIC   0x032c /* change acoustic behavior */
 
#define HDIO_SET_BUSSTATE   0x032d /* set the bus state of the hwif */
 
#define HDIO_SET_QDMA   0x032e /* change use-qdma flag */
 
#define HDIO_SET_ADDRESS   0x032f /* change lba addressing modes */
 
#define __NEW_HD_DRIVE_ID
 
#define IDE_NICE_DSC_OVERLAP   (0) /* per the DSC overlap protocol */
 
#define IDE_NICE_ATAPI_OVERLAP   (1) /* not supported yet */
 
#define IDE_NICE_1   (3) /* when probably won't affect us much */
 
#define IDE_NICE_0   (2) /* when sure that it won't affect us */
 
#define IDE_NICE_2   (4) /* when we know it's on our expense */
 

Typedefs

typedef unsigned char task_ioreg_t
 
typedef unsigned long sata_ioreg_t
 
typedef union ide_reg_valid_s ide_reg_valid_t
 
typedef struct ide_task_request_s ide_task_request_t
 
typedef struct ide_ioctl_request_s ide_ioctl_request_t
 
typedef struct hd_drive_task_hdr task_struct_t
 
typedef struct hd_drive_hob_hdr hob_struct_t
 

Enumerations

enum  { BUSSTATE_OFF = 0, BUSSTATE_ON, BUSSTATE_TRISTATE }
 

Macro Definition Documentation

#define __NEW_HD_DRIVE_ID

Definition at line 389 of file hdreg.h.

#define CFA_ERASE_SECTORS   0xC0

Definition at line 216 of file hdreg.h.

#define CFA_REQ_EXT_ERROR_CODE   0x03 /* CFA Request Extended Error Code */

Definition at line 138 of file hdreg.h.

#define CFA_TRANSLATE_SECTOR   0x87 /* CFA Translate Sector */

Definition at line 200 of file hdreg.h.

#define CFA_WRITE_MULTI_WO_ERASE   0xCD /* CFA Write multiple without erase */

Definition at line 226 of file hdreg.h.

#define CFA_WRITE_SECT_WO_ERASE   0x38 /* CFA Write Sectors without erase */

Definition at line 175 of file hdreg.h.

#define DISABLE_SEAGATE   0xFB

Definition at line 258 of file hdreg.h.

#define EXABYTE_ENABLE_NEST   0xF0

Definition at line 249 of file hdreg.h.

#define HDIO_DRIVE_CMD   0x031f /* execute a special drive command */

Definition at line 354 of file hdreg.h.

#define HDIO_DRIVE_CMD_AEB   HDIO_DRIVE_TASK

Definition at line 355 of file hdreg.h.

#define HDIO_DRIVE_CMD_HDR_SIZE   (4 * sizeof(__u8))

Definition at line 10 of file hdreg.h.

#define HDIO_DRIVE_HOB_HDR_SIZE   (8 * sizeof(__u8))

Definition at line 11 of file hdreg.h.

#define HDIO_DRIVE_RESET   0x031c /* execute a device reset */

Definition at line 351 of file hdreg.h.

#define HDIO_DRIVE_TASK   0x031e /* execute task and special drive command */

Definition at line 353 of file hdreg.h.

#define HDIO_DRIVE_TASK_HDR_SIZE   (8 * sizeof(__u8))

Definition at line 12 of file hdreg.h.

#define HDIO_DRIVE_TASKFILE   0x031d /* execute raw taskfile */

Definition at line 352 of file hdreg.h.

#define HDIO_GET_32BIT   0x0309 /* get current io_32bit setting */

Definition at line 340 of file hdreg.h.

#define HDIO_GET_ACOUSTIC   0x030f /* get acoustic value */

Definition at line 346 of file hdreg.h.

#define HDIO_GET_ADDRESS   0x0310 /* */

Definition at line 347 of file hdreg.h.

#define HDIO_GET_BUSSTATE   0x031a /* get the bus state of the hwif */

Definition at line 349 of file hdreg.h.

#define HDIO_GET_DMA   0x030b /* get use-dma flag */

Definition at line 342 of file hdreg.h.

#define HDIO_GET_IDENTITY   0x030d /* get IDE identification info */

Definition at line 344 of file hdreg.h.

#define HDIO_GET_KEEPSETTINGS   0x0308 /* get keep-settings-on-reset flag */

Definition at line 339 of file hdreg.h.

#define HDIO_GET_MULTCOUNT   0x0304 /* get current IDE blockmode setting */

Definition at line 333 of file hdreg.h.

#define HDIO_GET_NICE   0x030c /* get nice flags */

Definition at line 343 of file hdreg.h.

#define HDIO_GET_NOWERR   0x030a /* get ignore-write-error flag */

Definition at line 341 of file hdreg.h.

#define HDIO_GET_QDMA   0x0305 /* get use-qdma flag */

Definition at line 334 of file hdreg.h.

#define HDIO_GET_UNMASKINTR   0x0302 /* get current unmask setting */

Definition at line 332 of file hdreg.h.

#define HDIO_GET_WCACHE   0x030e /* get write cache mode on|off */

Definition at line 345 of file hdreg.h.

#define HDIO_GETGEO   0x0301 /* get device geometry */

Definition at line 331 of file hdreg.h.

#define HDIO_OBSOLETE_IDENTITY   0x0307 /* OBSOLETE, DO NOT USE: returns 142 bytes */

Definition at line 338 of file hdreg.h.

#define HDIO_SCAN_HWIF   0x0328 /* register and (re)scan interface */

Definition at line 366 of file hdreg.h.

#define HDIO_SET_32BIT   0x0324 /* change io_32bit flags */

Definition at line 361 of file hdreg.h.

#define HDIO_SET_ACOUSTIC   0x032c /* change acoustic behavior */

Definition at line 371 of file hdreg.h.

#define HDIO_SET_ADDRESS   0x032f /* change lba addressing modes */

Definition at line 374 of file hdreg.h.

#define HDIO_SET_BUSSTATE   0x032d /* set the bus state of the hwif */

Definition at line 372 of file hdreg.h.

#define HDIO_SET_DMA   0x0326 /* change use-dma flag */

Definition at line 363 of file hdreg.h.

#define HDIO_SET_KEEPSETTINGS   0x0323 /* keep ioctl settings on reset */

Definition at line 360 of file hdreg.h.

#define HDIO_SET_MULTCOUNT   0x0321 /* change IDE blockmode */

Definition at line 358 of file hdreg.h.

#define HDIO_SET_NICE   0x0329 /* set nice flags */

Definition at line 369 of file hdreg.h.

#define HDIO_SET_NOWERR   0x0325 /* change ignore-write-error flag */

Definition at line 362 of file hdreg.h.

#define HDIO_SET_PIO_MODE   0x0327 /* reconfig interface to new speed */

Definition at line 364 of file hdreg.h.

#define HDIO_SET_QDMA   0x032e /* change use-qdma flag */

Definition at line 373 of file hdreg.h.

#define HDIO_SET_UNMASKINTR   0x0322 /* permit other irqs during I/O */

Definition at line 359 of file hdreg.h.

#define HDIO_SET_WCACHE   0x032b /* change write cache enable-disable */

Definition at line 370 of file hdreg.h.

#define HDIO_SET_XFER   0x0306 /* set transfer rate via proc */

Definition at line 336 of file hdreg.h.

#define HDIO_TRISTATE_HWIF   0x031b /* execute a channel tristate */

Definition at line 350 of file hdreg.h.

#define HDIO_UNREGISTER_HWIF   0x032a /* unregister interface */

Definition at line 367 of file hdreg.h.

#define IDE_DRIVE_TASK_IN   2

Definition at line 18 of file hdreg.h.

#define IDE_DRIVE_TASK_INVALID   -1

Definition at line 16 of file hdreg.h.

#define IDE_DRIVE_TASK_NO_DATA   0

Definition at line 14 of file hdreg.h.

#define IDE_DRIVE_TASK_OUT   3

Definition at line 19 of file hdreg.h.

#define IDE_DRIVE_TASK_RAW_WRITE   4

Definition at line 21 of file hdreg.h.

#define IDE_DRIVE_TASK_SET_XFER   1

Definition at line 17 of file hdreg.h.

#define IDE_HOB_STD_IN_FLAGS   0x3C

Definition at line 27 of file hdreg.h.

#define IDE_HOB_STD_OUT_FLAGS   0x3C

Definition at line 30 of file hdreg.h.

#define IDE_NICE_0   (2) /* when sure that it won't affect us */

Definition at line 654 of file hdreg.h.

#define IDE_NICE_1   (3) /* when probably won't affect us much */

Definition at line 652 of file hdreg.h.

#define IDE_NICE_2   (4) /* when we know it's on our expense */

Definition at line 655 of file hdreg.h.

#define IDE_NICE_ATAPI_OVERLAP   (1) /* not supported yet */

Definition at line 651 of file hdreg.h.

#define IDE_NICE_DSC_OVERLAP   (0) /* per the DSC overlap protocol */

Definition at line 650 of file hdreg.h.

#define IDE_TASKFILE_STD_IN_FLAGS   0xFE

Definition at line 26 of file hdreg.h.

#define IDE_TASKFILE_STD_OUT_FLAGS   0xFE

Definition at line 29 of file hdreg.h.

#define SECURITY_DISABLE_PASSWORD   0xBF

Definition at line 320 of file hdreg.h.

#define SECURITY_ERASE_PREPARE   0xBC

Definition at line 317 of file hdreg.h.

#define SECURITY_ERASE_UNIT   0xBD

Definition at line 318 of file hdreg.h.

#define SECURITY_FREEZE_LOCK   0xBE

Definition at line 319 of file hdreg.h.

#define SECURITY_SET_PASSWORD   0xBA

Definition at line 315 of file hdreg.h.

#define SECURITY_UNLOCK   0xBB

Definition at line 316 of file hdreg.h.

#define SETFEATURES_4B_RW_LONG   0xBB /* Set Length of 4 bytes */

Definition at line 306 of file hdreg.h.

#define SETFEATURES_DIS_8BIT   0x81 /* Disable 8-Bit Transfers */

Definition at line 296 of file hdreg.h.

#define SETFEATURES_DIS_AAM   0xC2 /* Disable Automatic Acoustic Management */

Definition at line 307 of file hdreg.h.

#define SETFEATURES_DIS_APM   0x85 /* Disable advanced power management */

Definition at line 299 of file hdreg.h.

#define SETFEATURES_DIS_DEFECT   0x04 /* Disable Defect Management */

Definition at line 283 of file hdreg.h.

#define SETFEATURES_DIS_ECC   0x77 /* Disable ECC byte count */

Definition at line 295 of file hdreg.h.

#define SETFEATURES_DIS_MSN   0x31 /* Disable Media Status Notification */

Definition at line 286 of file hdreg.h.

#define SETFEATURES_DIS_RETRY   0x33 /* Disable Retry */

Definition at line 287 of file hdreg.h.

#define SETFEATURES_DIS_RI   0xDD /* Disable release interrupt ATAPI */

Definition at line 309 of file hdreg.h.

#define SETFEATURES_DIS_RLA   0x55 /* Disable read look-ahead feature */

Definition at line 291 of file hdreg.h.

#define SETFEATURES_DIS_RPOD   0x66 /* Disable reverting to power on defaults */

Definition at line 294 of file hdreg.h.

#define SETFEATURES_DIS_SI   0xDE /* Disable SERVICE interrupt ATAPI */

Definition at line 311 of file hdreg.h.

#define SETFEATURES_DIS_WCACHE   0x82 /* Disable write cache */

Definition at line 297 of file hdreg.h.

#define SETFEATURES_EN_8BIT   0x01 /* Enable 8-Bit Transfers */

Definition at line 281 of file hdreg.h.

#define SETFEATURES_EN_AAM   0x42 /* Enable Automatic Acoustic Management */

Definition at line 288 of file hdreg.h.

#define SETFEATURES_EN_APM   0x05 /* Enable advanced power management */

Definition at line 284 of file hdreg.h.

#define SETFEATURES_EN_DEFECT   0x84 /* Enable Defect Management */

Definition at line 298 of file hdreg.h.

#define SETFEATURES_EN_ECC   0x88 /* Enable ECC byte count */

Definition at line 300 of file hdreg.h.

#define SETFEATURES_EN_MSN   0x95 /* Enable Media Status Notification */

Definition at line 301 of file hdreg.h.

#define SETFEATURES_EN_REST   0xAC /* ATA-1 */

Definition at line 305 of file hdreg.h.

#define SETFEATURES_EN_RETRY   0x99 /* Enable Retry */

Definition at line 302 of file hdreg.h.

#define SETFEATURES_EN_RI   0x5D /* Enable release interrupt */

Definition at line 292 of file hdreg.h.

#define SETFEATURES_EN_RLA   0xAA /* Enable read look-ahead feature */

Definition at line 303 of file hdreg.h.

#define SETFEATURES_EN_RPOD   0xCC /* Enable reverting to power on defaults */

Definition at line 308 of file hdreg.h.

#define SETFEATURES_EN_SAME_M   0xDD /* for a entire device ATA-1 */

Definition at line 310 of file hdreg.h.

#define SETFEATURES_EN_SAME_R   0x22 /* for a region ATA-1 */

Definition at line 285 of file hdreg.h.

#define SETFEATURES_EN_SI   0x5E /* Enable SERVICE interrupt */

Definition at line 293 of file hdreg.h.

#define SETFEATURES_EN_WCACHE   0x02 /* Enable write cache */

Definition at line 282 of file hdreg.h.

#define SETFEATURES_PREFETCH   0xAB /* Sets drive prefetch value */

Definition at line 304 of file hdreg.h.

#define SETFEATURES_RW_LONG   0x44 /* Set Length of VS bytes */

Definition at line 289 of file hdreg.h.

#define SETFEATURES_SET_CACHE   0x54 /* Set Cache segments to SC Reg. Val */

Definition at line 290 of file hdreg.h.

#define SMART_AUTO_OFFLINE   0xDB

Definition at line 273 of file hdreg.h.

#define SMART_AUTOSAVE   0xD2

Definition at line 264 of file hdreg.h.

#define SMART_DISABLE   0xD9

Definition at line 271 of file hdreg.h.

#define SMART_ENABLE   0xD8

Definition at line 270 of file hdreg.h.

#define SMART_HCYL_PASS   0xC2

Definition at line 278 of file hdreg.h.

#define SMART_IMMEDIATE_OFFLINE   0xD4

Definition at line 266 of file hdreg.h.

#define SMART_LCYL_PASS   0x4F

Definition at line 277 of file hdreg.h.

#define SMART_READ_LOG_SECTOR   0xD5

Definition at line 267 of file hdreg.h.

#define SMART_READ_THRESHOLDS   0xD1

Definition at line 263 of file hdreg.h.

#define SMART_READ_VALUES   0xD0

Definition at line 262 of file hdreg.h.

#define SMART_SAVE   0xD3

Definition at line 265 of file hdreg.h.

#define SMART_STATUS   0xDA

Definition at line 272 of file hdreg.h.

#define SMART_WRITE_LOG_SECTOR   0xD6

Definition at line 268 of file hdreg.h.

#define SMART_WRITE_THRESHOLDS   0xD7

Definition at line 269 of file hdreg.h.

#define TASKFILE_48   0x8000

Definition at line 128 of file hdreg.h.

#define TASKFILE_IN   0x0001

Definition at line 109 of file hdreg.h.

#define TASKFILE_IN_DMA   0x0020

Definition at line 116 of file hdreg.h.

#define TASKFILE_IN_DMAQ   0x0080

Definition at line 118 of file hdreg.h.

#define TASKFILE_IN_OUT   0x0010

Definition at line 114 of file hdreg.h.

#define TASKFILE_INVALID   0x7fff

Definition at line 129 of file hdreg.h.

#define TASKFILE_MULTI_IN   0x0002

Definition at line 110 of file hdreg.h.

#define TASKFILE_MULTI_OUT   0x0008

Definition at line 113 of file hdreg.h.

#define TASKFILE_NO_DATA   0x0000

Definition at line 107 of file hdreg.h.

#define TASKFILE_OUT   0x0004

Definition at line 112 of file hdreg.h.

#define TASKFILE_OUT_DMA   0x0040

Definition at line 117 of file hdreg.h.

#define TASKFILE_OUT_DMAQ   0x0100

Definition at line 119 of file hdreg.h.

#define TASKFILE_P_IN   0x0200

Definition at line 122 of file hdreg.h.

#define TASKFILE_P_IN_DMA   0x0800

Definition at line 124 of file hdreg.h.

#define TASKFILE_P_IN_DMAQ   0x2000

Definition at line 126 of file hdreg.h.

#define TASKFILE_P_OUT   0x0400

Definition at line 123 of file hdreg.h.

#define TASKFILE_P_OUT_DMA   0x1000

Definition at line 125 of file hdreg.h.

#define TASKFILE_P_OUT_DMAQ   0x4000

Definition at line 127 of file hdreg.h.

#define WIN_ACKMEDIACHANGE   0xDB /* ATA-1, ATA-2 vendor */

Definition at line 228 of file hdreg.h.

#define WIN_CHECKPOWERMODE1   0xE5

Definition at line 238 of file hdreg.h.

#define WIN_CHECKPOWERMODE2   0x98

Definition at line 207 of file hdreg.h.

#define WIN_DEVICE_RESET   0x08

Definition at line 143 of file hdreg.h.

#define WIN_DIAGNOSE   0x90

Definition at line 201 of file hdreg.h.

#define WIN_DOORLOCK   0xDE /* lock door on removable drives */

Definition at line 231 of file hdreg.h.

#define WIN_DOORUNLOCK   0xDF /* unlock door on removable drives */

Definition at line 232 of file hdreg.h.

#define WIN_DOWNLOAD_MICROCODE   0x92

Definition at line 203 of file hdreg.h.

#define WIN_FLUSH_CACHE   0xE7

Definition at line 240 of file hdreg.h.

#define WIN_FLUSH_CACHE_EXT   0xEA /* 48-Bit */

Definition at line 244 of file hdreg.h.

#define WIN_FORMAT   0x50

Definition at line 190 of file hdreg.h.

#define WIN_GETMEDIASTATUS   0xDA

Definition at line 227 of file hdreg.h.

#define WIN_IDENTIFY   0xEC /* ask drive to identify itself */

Definition at line 245 of file hdreg.h.

#define WIN_IDENTIFY_DMA   0xEE /* same as WIN_IDENTIFY, but DMA */

Definition at line 247 of file hdreg.h.

#define WIN_IDLEIMMEDIATE   0xE1 /* force drive to become "ready" */

Definition at line 234 of file hdreg.h.

#define WIN_INIT   0x60

Definition at line 194 of file hdreg.h.

#define WIN_MEDIAEJECT   0xED

Definition at line 246 of file hdreg.h.

#define WIN_MULTREAD   0xC4 /* read sectors using multiple mode*/

Definition at line 217 of file hdreg.h.

#define WIN_MULTREAD_EXT   0x29 /* 48-Bit */

Definition at line 163 of file hdreg.h.

#define WIN_MULTWRITE   0xC5 /* write sectors using multiple mode */

Definition at line 218 of file hdreg.h.

#define WIN_MULTWRITE_EXT   0x39 /* 48-Bit */

Definition at line 176 of file hdreg.h.

#define WIN_NOP   0x00

Definition at line 134 of file hdreg.h.

#define WIN_PACKETCMD   0xA0 /* Send a packet command. */

Definition at line 212 of file hdreg.h.

#define WIN_PIDENTIFY   0xA1 /* identify ATAPI device */

Definition at line 213 of file hdreg.h.

#define WIN_POSTBOOT   0xDC

Definition at line 229 of file hdreg.h.

#define WIN_PREBOOT   0xDD

Definition at line 230 of file hdreg.h.

#define WIN_QUEUED_SERVICE   0xA2

Definition at line 214 of file hdreg.h.

#define WIN_READ   0x20 /* 28-Bit */

Definition at line 152 of file hdreg.h.

#define WIN_READ_BUFFER   0xE4 /* force read only 1 sector */

Definition at line 237 of file hdreg.h.

#define WIN_READ_EXT   0x24 /* 48-Bit */

Definition at line 156 of file hdreg.h.

#define WIN_READ_LONG   0x22 /* 28-Bit */

Definition at line 154 of file hdreg.h.

#define WIN_READ_LONG_ONCE   0x23 /* 28-Bit without retries */

Definition at line 155 of file hdreg.h.

#define WIN_READ_NATIVE_MAX   0xF8 /* return the native maximum address */

Definition at line 256 of file hdreg.h.

#define WIN_READ_NATIVE_MAX_EXT   0x27 /* 48-Bit */

Definition at line 159 of file hdreg.h.

#define WIN_READ_ONCE   0x21 /* 28-Bit without retries */

Definition at line 153 of file hdreg.h.

#define WIN_READDMA   0xC8 /* read sectors using DMA transfers */

Definition at line 221 of file hdreg.h.

#define WIN_READDMA_EXT   0x25 /* 48-Bit */

Definition at line 157 of file hdreg.h.

#define WIN_READDMA_ONCE   0xC9 /* 28-Bit - without retries */

Definition at line 222 of file hdreg.h.

#define WIN_READDMA_QUEUED   0xC7 /* read sectors using Queued DMA transfers */

Definition at line 220 of file hdreg.h.

#define WIN_READDMA_QUEUED_EXT   0x26 /* 48-Bit */

Definition at line 158 of file hdreg.h.

#define WIN_RECAL   0x10

Definition at line 147 of file hdreg.h.

#define WIN_RESTORE   WIN_RECAL

Definition at line 148 of file hdreg.h.

#define WIN_SECURITY_DISABLE   0xF6

Definition at line 255 of file hdreg.h.

#define WIN_SECURITY_ERASE_PREPARE   0xF3

Definition at line 252 of file hdreg.h.

#define WIN_SECURITY_ERASE_UNIT   0xF4

Definition at line 253 of file hdreg.h.

#define WIN_SECURITY_FREEZE_LOCK   0xF5

Definition at line 254 of file hdreg.h.

#define WIN_SECURITY_SET_PASS   0xF1

Definition at line 250 of file hdreg.h.

#define WIN_SECURITY_UNLOCK   0xF2

Definition at line 251 of file hdreg.h.

#define WIN_SEEK   0x70 /* 0x70-0x7F Reserved */

Definition at line 198 of file hdreg.h.

#define WIN_SET_MAX   0xF9

Definition at line 257 of file hdreg.h.

#define WIN_SET_MAX_EXT   0x37 /* 48-Bit */

Definition at line 174 of file hdreg.h.

#define WIN_SETFEATURES   0xEF /* set special drive features */

Definition at line 248 of file hdreg.h.

#define WIN_SETIDLE1   0xE3

Definition at line 236 of file hdreg.h.

#define WIN_SETIDLE2   0x97

Definition at line 206 of file hdreg.h.

#define WIN_SETMULT   0xC6 /* enable/disable multiple mode */

Definition at line 219 of file hdreg.h.

#define WIN_SLEEPNOW1   0xE6

Definition at line 239 of file hdreg.h.

#define WIN_SLEEPNOW2   0x99

Definition at line 208 of file hdreg.h.

#define WIN_SMART   0xB0 /* self-monitoring and reporting */

Definition at line 215 of file hdreg.h.

#define WIN_SPECIFY   0x91 /* set drive geometry translation */

Definition at line 202 of file hdreg.h.

#define WIN_SRST   0x08 /* ATAPI soft reset command */

Definition at line 142 of file hdreg.h.

#define WIN_STANDBY   0xE2 /* Set device in Standby Mode */

Definition at line 235 of file hdreg.h.

#define WIN_STANDBY2   0x96

Definition at line 205 of file hdreg.h.

#define WIN_STANDBYNOW1   0xE0

Definition at line 233 of file hdreg.h.

#define WIN_STANDBYNOW2   0x94

Definition at line 204 of file hdreg.h.

#define WIN_VERIFY   0x40 /* 28-Bit - Read Verify Sectors */

Definition at line 184 of file hdreg.h.

#define WIN_VERIFY_EXT   0x42 /* 48-Bit */

Definition at line 186 of file hdreg.h.

#define WIN_VERIFY_ONCE   0x41 /* 28-Bit - without retries */

Definition at line 185 of file hdreg.h.

#define WIN_WRITE   0x30 /* 28-Bit */

Definition at line 167 of file hdreg.h.

#define WIN_WRITE_BUFFER   0xE8 /* force write only 1 sector */

Definition at line 241 of file hdreg.h.

#define WIN_WRITE_EXT   0x34 /* 48-Bit */

Definition at line 171 of file hdreg.h.

#define WIN_WRITE_LONG   0x32 /* 28-Bit */

Definition at line 169 of file hdreg.h.

#define WIN_WRITE_LONG_ONCE   0x33 /* 28-Bit without retries */

Definition at line 170 of file hdreg.h.

#define WIN_WRITE_ONCE   0x31 /* 28-Bit without retries */

Definition at line 168 of file hdreg.h.

#define WIN_WRITE_SAME   0xE9 /* read ata-2 to use */

Definition at line 242 of file hdreg.h.

#define WIN_WRITE_VERIFY   0x3C /* 28-Bit */

Definition at line 180 of file hdreg.h.

#define WIN_WRITEDMA   0xCA /* write sectors using DMA transfers */

Definition at line 223 of file hdreg.h.

#define WIN_WRITEDMA_EXT   0x35 /* 48-Bit */

Definition at line 172 of file hdreg.h.

#define WIN_WRITEDMA_ONCE   0xCB /* 28-Bit - without retries */

Definition at line 224 of file hdreg.h.

#define WIN_WRITEDMA_QUEUED   0xCC /* write sectors using Queued DMA transfers */

Definition at line 225 of file hdreg.h.

#define WIN_WRITEDMA_QUEUED_EXT   0x36 /* 48-Bit */

Definition at line 173 of file hdreg.h.

Typedef Documentation

typedef unsigned long sata_ioreg_t

Definition at line 33 of file hdreg.h.

typedef unsigned char task_ioreg_t

Definition at line 32 of file hdreg.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
BUSSTATE_OFF 
BUSSTATE_ON 
BUSSTATE_TRISTATE 

Definition at line 377 of file hdreg.h.