TOC PREV NEXT INDEX

Put your logo here!


5 ERROR MESSAGES AND RECOVERY

All driver functions make use of the errors defined in the common driver library lcudrv as described in [7]. Driver-specific errors have been added.

The driver performs a number of checks that the correct conditions are fulfilled and reports an error if this is not the case.

Checks for installation functions include the points already mentioned in section 3.2, and tests for insufficient memory or other system resources.

No checks are done for tool functions of section 3.3, except those that are already included in other driver calls.

Checks for the open and close calls use the common driver library lcudrv as defined in [7]. This results in the following behavior:

· An open request in exclusive read/write mode is rejected if the device is open to any other process in exclusive or shared read/write mode.
· An open request in shared read/write mode is rejected if the device is open to any other process in exclusive read/write mode.
· An open request in test read/write mode is rejected if the device is open to any other process in test read/write mode.

Checks for the ioctl call also make use of the common driver library lcudrv as defined in [7] for validation of the channel-number and access-rights. Errors which are specific to each ioctl-command are described in the respective sections of chapter 4.

Access-rights for the respective ioctl-commands are assigned as follows:

· Read commands are permitted in all open-modes.
· Write commands are inhibited in READONLY open-mode, but permitted in all others.

Semaphore protection of the device is performed for all ioctl-commands. An ioctl call exits with an lcudrvERROR_TIMEOUT error when the executing task is blocked for longer than the current driver-timeout-value for semaphore-waits, as defined with the driver installation or with the rmnCMD_SET_TIMEOUT command.

The summary of all driver error codes in alphabetical order follows below:
rmnERROR_
Description
NOT_EXCLUSIVE
There is no channel opened in exclusive mode. The rmnCMD_FREE_DEVICE command has no effect.
INVALID_BOARD_ID
No rmn board was found at the specified VME address.
INVALID_VME_ADDR
No VME board was found at the specified VME address.
LINK_BROKEN
The reflective memory network is not working, some links are open.
BAD_DATA
The test of the board's user memory failed.
NO_INT_HANDLER
The rmn interrupt handler cannot be connected to VxWorks.
INTERRUPT_CONFIGURED
The interrupt source was already configured. The rmnCMD_CONFIG_INTERRUPT cannot be executed. The command rmnCMD_RESET_INTERRUPT must be used before reconfiguring the interrupt.



Quadralay Corporation
http://www.webworks.com
Voice: (512) 719-3399
Fax: (512) 719-3606
sales@webworks.com
TOC PREV NEXT INDEX