Dials driver for Win32 and Linux

I am planning to write some GLUT drivers for SGI-dials boxes (and will eventually write one for the old dials+buttons boxes aswell) as AFAIK there are none for Win32 or Linux.

The main problem is that I have no idea where to start this endeavour (well, I do have a few dials boxes) as although I have ~5 year C/C++ experience I have never written GLUT code nor a device driver (Win32 or otherwise). Where would I start searching for docs on this kind of thing? Can anyone recommend any good books that contain stuff on writing Win32 serial port devices? Would I have to write a driver for *nix systems, or could I just write and X extension?