Lines Matching +full:all +full:- +full:inputs +full:- +full:2
5 - Edward A. Falk <efalk@google.com>
9 This document attempts to describe the ioctl(2) calls supported by
10 the HD/IDE layer. These are by-and-large implemented (as of Linux 5.11)
11 drivers/ata/libata-scsi.c.
27 ioctls that pass non-pointer values:
37 ------------------------------------------------------------------------------
41 Unless otherwise specified, all ioctl calls return 0 on success
42 and -1 with errno set to an appropriate value on error.
44 Unless otherwise specified, all ioctl calls return -1 and set
48 Unless otherwise specified, all data structures and constants
51 ------------------------------------------------------------------------------
64 inputs:
82 - EINVAL
94 are the "bios" values -- presumably the values the drive had
117 inputs:
128 - EINVAL Called on a partition instead of the whole disk device
129 - ENOMSG IDENTIFY DEVICE information not available
134 this ioctl does not re-probe the drive to update the
151 inputs:
162 0=16-bit, 1=32-bit, 2,3 = 32bit+sync
174 - Execute an ATA disk command directly by writing the "taskfile"
193 inputs:
199 hob_ports[8] high-order bytes, for extended commands.
213 hob_ports[] high-order bytes, for extended commands.
214 out_flags flags indicating which registers are valid (see [2])
221 - EACCES CAP_SYS_ADMIN or CAP_SYS_RAWIO privilege not set.
222 - ENOMSG Device is not a disk drive.
223 - ENOMEM Unable to allocate memory for task
224 - EFAULT req_cmd == TASKFILE_IN_OUT (not implemented as of 2.6.8)
225 - EPERM
228 multi-count not yet set.
229 - EIO Drive failed the command.
238 [2] Both the input and output buffers are copied from the
242 zero, the following values are used for in_flags.all and
250 The association between in_flags.all and each enable
252 only uses inflags.b.data bit and ignores all other bits.
272 hob_ports[8] high-order bytes, for extended commands
282 out_size output (user->drive) buffer size, bytes
283 in_size input (drive->user) buffer size, bytes
308 travel on DD8-DD15 on little endian machines
309 and on DD0-DD7 on big endian machines.
311 travel on DD0-DD7 on little endian machines
312 and on DD8-DD15 on big endian machines.
332 2. One or more than one bits are set in out_flags.
337 DD8-DD15 on little endian machines and
338 DD0-DD7 on big endian machines.
340 DD0-DD7 on little endian machines and
341 DD8-DD15 on big endian machines.
385 [6] Do not access {in|out}_flags->all except for resetting
386 all the bits. Always access individual bit fields. ->all
407 inputs:
413 args[2] FEATURE
422 args[2] FEATURE
435 args[2] NSECTOR
441 - EACCES Access denied: requires CAP_SYS_RAWIO
442 - ENOMEM Unable to allocate memory for task
443 - EIO Drive reports error
454 [2] If NSECTOR value is greater than zero and the drive sets
482 inputs:
488 args[2] NSECTOR
502 args[2] NSECTOR
510 - EACCES Access denied: requires CAP_SYS_RAWIO
511 - ENOMEM Unable to allocate memory for task
512 - ENOMSG Device is not a disk drive.
513 - EIO Drive failed the command.
518 appropriate value for the drive is used. All other bits
533 inputs:
544 - EINVAL Called on a partition instead of the whole disk device
545 - EACCES Access denied: requires CAP_SYS_ADMIN
546 - EINVAL value out of range [0 3]
547 - EBUSY Controller busy