These interfaces influence the flow of program control in a driver. These are mostly callback mechanisms, functions that schedule another function to run at a later time. Many drivers schedule a function to run intermittently to check on the status of the device, and possibly issue an error message if a strange condition is detected.
The detach(9E) entry point must ensure that no callback functions are pending in the driver before returning successfully. See Chapter 5, Autoconfiguration.
timeout_id_t timeout(void (*ftn)(caddr_t), caddr_t arg, clock_t ticks);timeout(9F) schedules the function pointed to by ftn to be run after ticks clock ticks have elapsed. arg is passed to the function when it is run. timeout(9F) returns a "timeout ID" that can be used to cancel the timeout later.
int untimeout(timeout_id_t id);untimeout(9F) cancels the timeout indicated by the timeout ID id. If the number of clock ticks orignially specified to timeout(9F) have not elapsed, the callback function will not be called.