Looking at the kernel/user interface: wimax-tools-1.1/lib/op-open.c This API is repeating the mistake of the old Linux Wireless API. It is putting version checks between kernel and library and this is a maintenance nightmare. Linux API's are not COM. Versioning is a mistake. Use a TLA api like netlink so it can be extensible without version handshake.