Open error codes

The following codes and their descriptions apply to open operations.
[EAGAIN]
The device was opened before the open operation.
[EBADF]
A write operation was attempted on a device that was opened with the O_RDONLY flag.
[EBUSY]
The device was reserved by another initiator, or an excessive busy state was encountered.
[EINVAL]
The operation that is requested has invalid parameters or an invalid combination of parameters, or the device is rejecting open commands.
[ENOTREADY]
If the device was not opened with the O_NONBLOCK or O_NDELAY flag, then the drive is not ready for operation, or a tape is not in the drive. If a nonblocking flag was used, then the drive is not ready for operation.
[EWRPROTECT]
An open operation with the O_RDWR or O_WRONLY flag was attempted on a write-protected tape.
[EIO]
An I/O error occurred that indicates a failure to operate the device. Perform the failure analysis.
[EINPROGRESS]
This errno is returned when the extended open flag SC_KILL_OPEN is used to kill all processes that currently have the device opened.