Added extern 'C' { } around header files to allow for C++ programs to include