Project: WarpDriver
In OS/2, like all modern operating systems, there are certain tasks that only a device driver can perform. Most of these tasks involve communicating with hardware, but there also system-level tasks, such as allocating locked and physically-contiguous memory. If a programmer wants to write an OS/2 application that needs to perform any of these tasks, he typically must write an OS/2 device driver.For an experienced OS/2 driver programmer, writing OS/2 drivers is easy. But the learning curve is very high, and so for for everyone else, it can be too difficult. The alternative is to hire an OS/2 driver programmer, but they are usually hard to find and very expensive.
WarpDriver aims to solve this problem. WarpDriver is a "generic" driver that can perform many of these driver-specific tasks. It also "exports" the tasks to any application that needs them. For instance, WarpDriver can post a semaphore whenever a particular device generates an interrupt.
Some of the current and planned features of WarpDriver are:
- registering resources with Resource Manager
- device I/O
- notification of interrupts
- memory allocation
WarpDriver is very similar to Jungo's WinDriver product, which is also available for OS/2. However, WarpDriver is free, source code is available, and WarpDriver will eventually have more features than WinDriver. There are also plans for a WinDriver compatibility layer so that developers who use WinDriver on other platforms won't need to purchase the OS/2 version in order to support OS/2.
WarpDriver is developed under the BSD license, which is a very liberal license that allows both private and commercial use. If you need a different license, please contact the developers.