Command Operation ------- --------- cmd_flush purge all active and queued requests for the narrator device. cmd_read read mouth shapes associated with an active write from the narrator device. cmd_reset reset the narrator port to its initialized state. all active and queued I/O requests will be aborted. Restarts the device if it has been stopped. cmd_start restart the currently active speech (if any) and resume queued I/O requests. cmd_stop stop any currently active speech and prevent queued i/o requests from starting. cmd_write write a stream of characters to the narrator device and generate mouth movement data for reads. Exec Functions as Used in This Chapter -------------------------------------- abortio() abort a command to the narrator device. if the command is in progress, it is stopped immediately. If it is queued, it is removed from the queue. beginio() initiate a command and return immediately (asynchronous request). This is used to minimize the amount of system overhead. closedevice() relinquish use of the narrator device. all requests must be complete. checkio() return the status of an i/o request. closelibrary() relinquish use of a previously opened library. doio() initiate a command and wait for completion (synchronous request). Should be used with care because it will not return control if the request does not complete. opendevice() obtain use of the narrator device. openlibrary() obtain use of a library. sendio() initiate a command and return immediately (asynchronous request). waitio() wait for the completion of an asynchronous request. when the request is complete the message will be removed from reply port. Exec Support Functions as Used in This Chapter ---------------------------------------------- createextio() create an extended i/o request structure of type narrator_rb. This structure will be used to communicate commands to the narrator device. createport() create a signal message port for reply messages from the narrator device. Exec will signal a task when a message arrives at the port. deleteextio() delete an extended i/o request structure created by createextio(). deleteport() delete the message port created by createport().