[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The SANA-II extended IORequest structure (struct IOSana2Req) includes both
the ios2_Error and ios2_WireError fields. Driver users must always check
IOSana2Reqs on return for an error in ios2_Error. ios2_Error will be zero
if no error occurred, otherwise it will contain a value from
<exec/errors.h> or <devices/sana2.h>. If there was an error, there may be
more specific information in ios2_WireError. Drivers are required to fill
in the WireError if there is an applicable error code.

Error codes are #defined in the "defined errors" sections of the file
<devices/sana2.h>:


   IOSana2Req S2io_Error field (S2ERR_xxx):

   S2ERR_NO_RESOURCES     - Insufficient resources available.
   S2ERR_BAD_ARGUMENT     - Noticeably bad argument.
   S2ERR_BAD_STATE        - Command inappropriate for current state.
   S2ERR_BAD_ADDRESS      - Noticeably bad address.
   S2ERR_MTU_EXCEEDED     - Write data too large.
   S2ERR_NOT_SUPPORTED    - Command is not supported by this driver. This
                            is similar to IOERR_NOCMD as defined in
                            <exec/errors.h> but S2ERR_NOT_SUPPORTED
                            indicates that the requested command is a
                            valid SANA-II command and that the driver
                            does not support it because the hardware is
                            incapable of supporting it (e.g.,
                            S2_MULTICAST). Note that IOERR_NOCMD is still
                            valid for reasons other than a lack of
                            hardware support (i.e., commands which are
                            no-ops in a SANA-II driver).
   S2ERR_SOFTWARE         - Software error of some kind.
   S2ERR_OUTOFSERVICE     - When a hardware device is taken off-line, any
                            pending requests are returned with this error.


See also the standard errors in <exec/errors.h>.


   IOSana2Req S2io_WireError field (S2WERR_xxx):

   S2WERR_NOT_CONFIGURED  - Command requires unit to be configured.
   S2WERR_UNIT_ONLINE     - Command requires that the unit be off-line.
   S2WERR_UNIT_OFFLINE    - Command requires that the unit be on-line.
   S2WERR_ALREADY_TRACKED - Protocol is already being tracked.
   S2WERR_NOT_TRACKED     - Protocol is not being tracked.
   S2WERR_BUFF_ERROR      - Buffer management function returned an error.
   S2WERR_SRC_ADDRESS     - Problem with the source address field.
   S2WERR_DST_ADDRESS     - Problem with destination address field.
   S2WERR_BAD_BROADCAST   - Problem with an attempt to broadcast.
   S2WERR_BAD_MULTICAST   - Problem with an attempt to multicast.
   S2WERR_MULTICAST_FULL  - Multicast address list full.
   S2WERR_BAD_EVENT       - Event specified is unknown.
   S2WERR_BAD_STATDATA    - The S2IO_StatData pointer or the data it
                            points to failed a sanity check.
   S2WERR_IS_CONFIGURED   - Attempt to reconfigure the unit.
   S2WERR_NULL_POINTER    - A NULL pointer was detected in one of the
                            arguments. S2ERR_BAD_ARGUMENT should always
                            be the S2ERR.