There's one iBus implementation per OS. You would write the
acquireBoard()/releaseBoard() functions to create/destroy the iBus for
the OS you are working with. The examples then use the interface
defined by iBus to comunicate with the hardware.
The examples show how to program a device family: eseries, mseries,
aowaveform, etc. An example should work with most models in that
family. I say
should since there are difference
between models that might require minor changes in the examples (max
sample rate, number of channels, support ranges, ...)
I'm attaching an implementation of acquireBoard()/releaseBoard() based
on the QNX article. It still needs some work (error handling),
but it should provide a good starting point.
Hope this helps. Let me know if you need more information.
Diego