/* hd/ide ctl's that pass (arg) ptrs to user space are numbered 0x030n/0x031n */ #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
/* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */ #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 */ #ifndef __KERNEL__ #define HDIO_SCAN_HWIF 0x0328 /* register and (re)scan interface */ #define HDIO_UNREGISTER_HWIF 0x032a /* unregister interface */ #endif #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 */
/* bus states */ enum {
BUSSTATE_OFF = 0,
BUSSTATE_ON,
BUSSTATE_TRISTATE
};
/* hd/ide ctl's that pass (arg) ptrs to user space are numbered 0x033n/0x033n */ /* 0x330 is reserved - used to be HDIO_GETGEO_BIG */ /* 0x331 is reserved - used to be HDIO_GETGEO_BIG_RAW */ /* 0x338 is reserved - used to be HDIO_SET_IDE_SCSI */ /* 0x339 is reserved - used to be HDIO_SET_SCSI_IDE */
#define __NEW_HD_DRIVE_ID
#ifndef __KERNEL__ /* * Structure returned by HDIO_GET_IDENTITY, as per ANSI NCITS ATA6 rev.1b spec. * * If you change something here, please remember to update fix_driveid() in * ide/probe.c.
*/ struct hd_driveid { unsignedshort config; /* lots of obsolete bit flags */ unsignedshort cyls; /* Obsolete, "physical" cyls */ unsignedshort reserved2; /* reserved (word 2) */ unsignedshort heads; /* Obsolete, "physical" heads */ unsignedshort track_bytes; /* unformatted bytes per track */ unsignedshort sector_bytes; /* unformatted bytes per sector */ unsignedshort sectors; /* Obsolete, "physical" sectors per track */ unsignedshort vendor0; /* vendor unique */ unsignedshort vendor1; /* vendor unique */ unsignedshort vendor2; /* Retired vendor unique */ unsignedchar serial_no[20]; /* 0 = not_specified */ unsignedshort buf_type; /* Retired */ unsignedshort buf_size; /* Retired, 512 byte increments * 0 = not_specified
*/ unsignedshort ecc_bytes; /* for r/w long cmds; 0 = not_specified */ unsignedchar fw_rev[8]; /* 0 = not_specified */ unsignedchar model[40]; /* 0 = not_specified */ unsignedchar max_multsect; /* 0=not_implemented */ unsignedchar vendor3; /* vendor unique */ unsignedshort dword_io; /* 0=not_implemented; 1=implemented */ unsignedchar vendor4; /* vendor unique */ unsignedchar capability; /* (upper byte of word 49) * 3: IORDYsup * 2: IORDYsw * 1: LBA * 0: DMA
*/ unsignedshort reserved50; /* reserved (word 50) */ unsignedchar vendor5; /* Obsolete, vendor unique */ unsignedchar tPIO; /* Obsolete, 0=slow, 1=medium, 2=fast */ unsignedchar vendor6; /* Obsolete, vendor unique */ unsignedchar tDMA; /* Obsolete, 0=slow, 1=medium, 2=fast */ unsignedshort field_valid; /* (word 53) * 2: ultra_ok word 88 * 1: eide_ok words 64-70 * 0: cur_ok words 54-58
*/ unsignedshort cur_cyls; /* Obsolete, logical cylinders */ unsignedshort cur_heads; /* Obsolete, l heads */ unsignedshort cur_sectors; /* Obsolete, l sectors per track */ unsignedshort cur_capacity0; /* Obsolete, l total sectors on drive */ unsignedshort cur_capacity1; /* Obsolete, (2 words, misaligned int) */ unsignedchar multsect; /* current multiple sector count */ unsignedchar multsect_valid; /* when (bit0==1) multsect is ok */ unsignedint lba_capacity; /* Obsolete, total number of sectors */ unsignedshort dma_1word; /* Obsolete, single-word dma info */ unsignedshort dma_mword; /* multiple-word dma info */ unsignedshort eide_pio_modes; /* bits 0:mode3 1:mode4 */ unsignedshort eide_dma_min; /* min mword dma cycle time (ns) */ unsignedshort eide_dma_time; /* recommended mword dma cycle time (ns) */ unsignedshort eide_pio; /* min cycle time (ns), no IORDY */ unsignedshort eide_pio_iordy; /* min cycle time (ns), with IORDY */ unsignedshort words69_70[2]; /* reserved words 69-70 * future command overlap and queuing
*/ unsignedshort words71_74[4]; /* reserved words 71-74 * for IDENTIFY PACKET DEVICE command
*/ unsignedshort queue_depth; /* (word 75) * 15:5 reserved * 4:0 Maximum queue depth -1
*/ unsignedshort words76_79[4]; /* reserved words 76-79 */ unsignedshort major_rev_num; /* (word 80) */ unsignedshort minor_rev_num; /* (word 81) */ unsignedshort command_set_1; /* (word 82) supported * 15: Obsolete * 14: NOP command * 13: READ_BUFFER * 12: WRITE_BUFFER * 11: Obsolete * 10: Host Protected Area * 9: DEVICE Reset * 8: SERVICE Interrupt * 7: Release Interrupt * 6: look-ahead * 5: write cache * 4: PACKET Command * 3: Power Management Feature Set * 2: Removable Feature Set * 1: Security Feature Set * 0: SMART Feature Set
*/ unsignedshort command_set_2; /* (word 83) * 15: Shall be ZERO * 14: Shall be ONE * 13: FLUSH CACHE EXT * 12: FLUSH CACHE * 11: Device Configuration Overlay * 10: 48-bit Address Feature Set * 9: Automatic Acoustic Management * 8: SET MAX security * 7: reserved 1407DT PARTIES * 6: SetF sub-command Power-Up * 5: Power-Up in Standby Feature Set * 4: Removable Media Notification * 3: APM Feature Set * 2: CFA Feature Set * 1: READ/WRITE DMA QUEUED * 0: Download MicroCode
*/ unsignedshort cfsse; /* (word 84) * cmd set-feature supported extensions * 15: Shall be ZERO * 14: Shall be ONE * 13:6 reserved * 5: General Purpose Logging * 4: Streaming Feature Set * 3: Media Card Pass Through * 2: Media Serial Number Valid * 1: SMART selt-test supported * 0: SMART error logging
*/ unsignedshort cfs_enable_1; /* (word 85) * command set-feature enabled * 15: Obsolete * 14: NOP command * 13: READ_BUFFER * 12: WRITE_BUFFER * 11: Obsolete * 10: Host Protected Area * 9: DEVICE Reset * 8: SERVICE Interrupt * 7: Release Interrupt * 6: look-ahead * 5: write cache * 4: PACKET Command * 3: Power Management Feature Set * 2: Removable Feature Set * 1: Security Feature Set * 0: SMART Feature Set
*/ unsignedshort cfs_enable_2; /* (word 86) * command set-feature enabled * 15: Shall be ZERO * 14: Shall be ONE * 13: FLUSH CACHE EXT * 12: FLUSH CACHE * 11: Device Configuration Overlay * 10: 48-bit Address Feature Set * 9: Automatic Acoustic Management * 8: SET MAX security * 7: reserved 1407DT PARTIES * 6: SetF sub-command Power-Up * 5: Power-Up in Standby Feature Set * 4: Removable Media Notification * 3: APM Feature Set * 2: CFA Feature Set * 1: READ/WRITE DMA QUEUED * 0: Download MicroCode
*/ unsignedshort csf_default; /* (word 87) * command set-feature default * 15: Shall be ZERO * 14: Shall be ONE * 13:6 reserved * 5: General Purpose Logging enabled * 4: Valid CONFIGURE STREAM executed * 3: Media Card Pass Through enabled * 2: Media Serial Number Valid * 1: SMART selt-test supported * 0: SMART error logging
*/ unsignedshort dma_ultra; /* (word 88) */ unsignedshort trseuc; /* time required for security erase */ unsignedshort trsEuc; /* time required for enhanced erase */ unsignedshort CurAPMvalues; /* current APM values */ unsignedshort mprc; /* master password revision code */ unsignedshort hw_config; /* hardware config (word 93) * 15: Shall be ZERO * 14: Shall be ONE * 13: * 12: * 11: * 10: * 9: * 8: * 7: * 6: * 5: * 4: * 3: * 2: * 1: * 0: Shall be ONE
*/ unsignedshort acoustic; /* (word 94) * 15:8 Vendor's recommended value * 7:0 current value
*/ unsignedshort msrqs; /* min stream request size */ unsignedshort sxfert; /* stream transfer time */ unsignedshort sal; /* stream access latency */ unsignedint spg; /* stream performance granularity */ unsignedlonglong lba_capacity_2;/* 48-bit total number of sectors */ unsignedshort words104_125[22];/* reserved words 104-125 */ unsignedshort last_lun; /* (word 126) */ unsignedshort word127; /* (word 127) Feature Set * Removable Media Notification * 15:2 reserved * 1:0 00 = not supported * 01 = supported * 10 = reserved * 11 = reserved
*/ unsignedshort dlf; /* (word 128) * device lock function * 15:9 reserved * 8 security level 1:max 0:high * 7:6 reserved * 5 enhanced erase * 4 expire * 3 frozen * 2 locked * 1 en/disabled * 0 capability
*/ unsignedshort csfo; /* (word 129) * current set features options * 15:4 reserved * 3: auto reassign * 2: reverting * 1: read-look-ahead * 0: write cache
*/ unsignedshort words130_155[26];/* reserved vendor words 130-155 */ unsignedshort word156; /* reserved vendor word 156 */ unsignedshort words157_159[3];/* reserved vendor words 157-159 */ unsignedshort cfa_power; /* (word 160) CFA Power Mode * 15 word 160 supported * 14 reserved * 13 * 12 * 11:0
*/ unsignedshort words161_175[15];/* Reserved for CFA */ unsignedshort words176_205[30];/* Current Media Serial Number */ unsignedshort words206_254[49];/* reserved words 206-254 */ unsignedshort integrity_word; /* (word 255) * 15:8 Checksum * 7:0 Signature
*/
}; #endif/* __KERNEL__ */
/* * IDE "nice" flags. These are used on a per drive basis to determine * when to be nice and give more bandwidth to the other devices which * share the same IDE bus.
*/ #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 */ #ifndef __KERNEL__ #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 */ #endif
#endif/* _LINUX_HDREG_H */
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.2Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.