All communication between the user space applications and the kernel module
is done with ioctl's. Since ioctl's are quite unportable and hardly provide
any type-safety, there are a number of wrapper-functions along with a couple
of convenience functions implemented in libopencbm.a (Linux) or
opencbm.dll (Windows). The prototypes can be found in the header file
opencbm.h.