DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

sc_comp_code(D5sdi)


sc_comp_code -- sc_comp_codes for the scb(D4sdi) and sfb(D4sdi) structures

Description

The supported values for bits 0-27 of the sc_comp_code member of the scb(D4sdi) and sfb(D4sdi) structures are defined as follows:

SDI_ASW
All seems well. The job completed without an error.

SDI_CKSTAT
Check the status byte. This value is set when the target controller returns a status other than good.

SDI_HAERR
A problem occurred between SDI and the host adapter controller. Possible causes are I/O bus parity or a failed host adapter.

SDI_MEMERR
Memory fault.

SDI_NOALLOC
The requested block was not allocated to a target driver by SDI. If a target driver detects this value, something will panic the system (using the cmn_err(D3) function). sc_comp_code is set to this value when the command block is released from the target driver.

SDI_NOSELE
SDI timed out trying to select the controller.

SDI_ONEIC
More than one immediate request has been sent.

SDI_OOS
The firmware is not operational.

SDI_PROGRES
The job is not complete (set by SDI in the sdi_icmd(D3sdi) and sdi_send(D3sdi) functions).

SDI_QFLUSH
When the target driver requested a job queue flush for a device, all jobs in the queue are returned with this completion code set.

SDI_ABORT
Command was aborted.

SDI_RESET
SDI detected a reset on the HBA bus. All outstanding or jobs queued at the target controller are returned to the target drivers with this condition code set. If the job is being controlled by SDI, but has not been sent out on the bus, the job is not returned. This code is also returned if a target driver requests that a target controller be reset.

SDI_CRESET
SDI detected a reset on this unit.

SDI_V2PERR
Not able to convert a virtual address to a physical address.

SDI_SCBERR
The control block contains an error or an invalid type.

SDI_SFBERR
There is an error in one of the members in the sfb structure.

SDI_TIME
SDI timed out a job and the job was successfully aborted or completed.

SDI_NOTEQ
Addressed device not present.

SDI_TIME_NOABORT
SDI timed out a job but was unable to abort it.

SDI_UNUSED
The host adapter is not using the control structure. SDI sets the sc_comp_code member to this value when it allocates a block for a target driver.

The following values are listed in sdi.h, but are not supported at this time:


SDI_LINKF0
This linked command completed normally and the command value bit was zero.

SDI_LINKF1
This linked command completed normally and the command value bit was one.

SDI_MISMAT
A controller attempted to perform an operation that did not agree with the data supplied in the SCB. For example, this error can occur when the controller attempts to transfer data in and the SCB_READ value is not set in the sc_mode member.

SDI_SBRESC
The device being accessed was reserved by another HBA.

SDI_SBUSER
The host adapter encountered a problem on the SCSI bus and all recovery action failed. A controller with a faulty bus driver can cause such an error.

SDI_TCERR
The host adapter detected a protocol error while performing this request.

Values for bits 28-31 of the sc_comp_code member are:


SDI_ERROR
An error occurred.

SDI_RETRY
The error is unrelated to this job, and the job should be retried (device dependent).

SDI_MESS
A message describing this event has been printed on the console and logged.

SDI_SUSPEND
The host adapter has suspended sending normal commands to the logical unit and the target driver is responsible for resuming the queue. Immediate commands can still be sent with the sdi_icmd(D3sdi) function, but the SCSI device cannot be opened for pass-through.

Usage

The sc_comp_code member of the scb(D4sdi) and sfb(D4sdi) structures is tested in the HBA's intr(D2sdi) entry point routine after the job has completed. Test the sc_comp_code member as follows:

Version applicability

sdi: 1, 2, 3, 4

Differences between versions

References

scb(D4sdi), sfb(D4sdi)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005