Add a header inclusion guard
Make C files depend on header file

Mkae C files depend on header file so make works correctly if the header
file is changed.
Use a fixed size structure for interoperability
Merge pull request #1 from rosslagerwall/misc-fixes

Misc fixes