For a specific device there exists a Linux kernel module. This module only initialized the device and provides control mechanisms to user land via ioctls and mmap. To use this the device properly one must use the proprietary library from the hardware vendor.
So the source code of the kernel module is available and licensed under the terms of GPL but with the copyright of the hardware vendor. With a quick reverse engineering via LD_PRELOAD I figured out that the communication between the kernel module and the proprietary library is not really complicated.
Now I would like to make a basic open source library to replace the proprietary one. The problem is that the ioctl definitions and structures are from the header file from the kernel module which is GPL licensed. I would like to release my library under LGPL or even BSD/MIT license.
As the needed header file only contains ioctl definitions and structure I'm unsure if I would violate the GPL if I would include it in a LGPLed library. Or is there another way to include the informations from the header and use it in an LGPLed library?