Data Structures for Drivers usbcompletionreason(9S)
NAME
usbcompletionreason - USB completion reason definitions
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DI specific (Solaris DI)
DESCRIPTION
If an error occurs during execution of a USB request, the
USBA framework calls a client driver's exception callback
handler to relay what happened. The host controller reports
transport errors to the exception callback handler through
the handler's request argument's completion reason
(usbcrt) field. A completion reason of USBCROK means the
transfer completed with no errors detected.
The usbcrt enumerated type contains the following defini-
tions:
USBCROK The transfer completed without
any errors being detected.
USBCRCRC CRC error was detected.
USBCRBITSTUFING Bit stuffing violation was
detected.
USBCRDATATOGLEM Data toggle packet identifier did
not match expected value.
USBCRSTAL The device endpoint indicated
that it is stalled. If autoclear-
ing is enabled for the request
(request attributes has
USBATRSAUTOCLEARING set),
check the callback flags
(usbcbflagst) in the callback
handler to determine whether the
stall is a functional stall
(USBCBFUNCTIONALSTAL) or a
protocol stall
(USBCBPROTOCOLSTAL). Please
see usbrequestattributes(9S)
for more information on
SunOS 5.11 Last change: 5 Jan 2004 1
Data Structures for Drivers usbcompletionreason(9S)
autoclearing.
USBCRDEVNOTRESP Host controller timed out while
waiting for device to respond.
USBCRPIDCHECKFAILURE Check bits on the packet identif-
ier returned from the device
were not as expected.
USBCRUNEXPID Packet identifier received was
not valid.
USBCRDATAOVERUN Amount of data returned exceeded
either the maximum packet size of
the endpoint or the remaining
buffer size.
USBCRDATAUNDERUN Amount of data returned was not
sufficient to fill the specified
buffer and the
USBATRSHORTXFEROK attribute
was not set. Please see
usbrequestattributes(9S) for
more information on allowance of
short transfers.
USBCRBUFEROVERUN A device sent data faster than
the system could digest it.
USBCRBUFERUNDERUN The host controller could not get
data from the system fast enough
to keep up with the required USB
data rate.
USBCRTIMEOUT A timeout specified in a control,
bulk, or one-time interrupt
request has expired.
USBCRNOTACESED Request was not accessed nor pro-
cessed by the host controller.
SunOS 5.11 Last change: 5 Jan 2004 2
Data Structures for Drivers usbcompletionreason(9S)
USBCRNORESOURCES No resources were available to
continue servicing a periodic
interrupt or isochronous request.
USBCRSTOPEDPOLING Servicing of the current periodic
request cannot continue because
polling on an interrupt-IN or
isochronous-IN endpoint has
stopped.
USBCRPIPECLOSING Request was not started because
the pipe to which it was queued
was closing or closed.
USBCRPIPERESET Request was not started because
the pipe to which it was queued
was reset.
USBCRNOTSUPORTED Request or command is not sup-
ported.
USBCRFLUSHED Request was not completed because
the pipe to which it was queued
went to an error state, became
stalled, was reset or was closed.
USBCRHCHARDWARER Request could not be completed
due to a general host
controller hardware error.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 5 Jan 2004 3
Data Structures for Drivers usbcompletionreason(9S)
ATRIBUTE TYPE ATRIBUTE VALUE
Architecture PCI-based systems
Interface stability Committed
Availability SUNWusb, SUNWusbu
SEE ALSO
usballocrequest(9F), usbpipebulkxfer(9F),
usbpipectrlxfer(9F), usbpipeintrxfer(9F),
usbpipeisocxfer(9F), usbbulkrequest(9S),
usbctrlrequest(9S), usbintrrequest(9S),
usbisocrequest(9S).
SunOS 5.11 Last change: 5 Jan 2004 4
|