There are two fundamentally different time domains in a system, each having a different implication on the concept of timeout:
In WOSA/XFS systems, the service manages the latter, without needing any input from the application, since it “knows” the charactistics of the device, and can generate a timeout event if the device takes too long, even if the application timeout value (if any) has not been exceeded. Therefore, the timeout value provided in the API is treated by the service provider as user/real time. If the time is exceeded, the service provider cancels the request and returns a timeout event to the application. An application can also specify that a request should wait until completion, no matter how long the request takes, by specifying the special value WFS_INDEFINITE_WAIT.