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:
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:
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |