SG_GET_REQUEST_TABLE 0x2286. This ioctl outputs an array of information about the status of
requests associated with the current file descriptor. Its 3rd
argument should point to memory large enough to receive SG_MAX_QUEUE
objects of the sg_req_info_t structure. This structure has the
following members:
req_state
0 -> request not in use
1 -> request has been sent, but is not finished (i.e. it is
between stages 1 and 2 in the "theory of operation")
2 -> request is ready to be read() (i.e. it is between stages
2 and 3 in the "theory of operation")
orphan
0 -> normal request
1 -> request sent by SG_IO ioctl() which has been interrupted
by a signal
sg_io_owned
0 -> request sent by a write()
1 -> request sent by a SG_IO ioctl()
problem
0 -> no problem (or 1 == req_state)
1 -> req_state is 2 and either masked_status, host_status or
driver_status is non-zero
duration
[if 1 == req_state] time since request was sent (in millisecs)
[if 2 == req_state] duration of request (in millisecs). Clock
is stopped when stage 2 in "theory of operation" is
reached
pack_id
usr_ptr
these are user provided values in the sg_io_hdr_t (or
struct sg_header) that sent the request