- Fixed resetting of timeout
Dan Ellis authored
  - Fixed sleep and timeout ioctls
  - Fixed initialisation from special field

Detail:
  OS_RemoveTicker was being called with the wrong handle so not being
removed.  This was causing timeout behaviour to work incorrectly.

  Sleep and Timeout ioctls weren't reading their reason fields from the ioctl
block.  They now do, and work!

  Defaults weren't being set correctly from the special field.

Admin:
  Tested on a RiscPC, and STB.

  Timeouts cause an error and so because of the fileswitch interface will not
actually return bytes read during that request.  To perform a managed timeout
in which bytes can be counted during timeout, non-blocking calls must be
made.  However, bytes have still been copied to the destination buffer
(although the caller won't know how many).

  There are still 'issues' with special fields.  However, they appear to work
correctly on the Dual Serial interface.



Version 0.59. Tagged as 'DeviceFS-0_59'
2e9ed6c0