protect C header files using ifndef class-specific macro
remove warnings about unsafeForeignPtrToPtr by importing Foreign.ForeignPtr.Unsafe correctly