OS/2 system dependencies

The main OSDI code starts two threads; one of these calls inp_task() and the other calls all the other inp_xxx() and prn_xxx() functions.

A common way of getting input from various devices under OS/2 is for the OSDI to start a thread for each input device, and for each of these threads to wait for input and then call inp_avail(). The threads would be started by inp_start() when the input device is first selected, and subsequently calls to DosSuspendThread() and DosResumeThread() should be made to stop and start selecting input from the device. If this approach is adopted, the main input thread running inp_task() is not required for input. It is suggested that this thread be used for waiting on asynchronous printing; if this is not implemented, inp_task() can simply call DosExit() as in the example program.

If only keyboard input is implemented then the above does not apply; inp_task() should consist of a loop which reads the keyboard and calls inp_avail().

The inp_idle() function is not required; for compatibility with the other operating systems a dummy function which does nothing is supplied.