rename to hpp
use c++ linkage
minor parameter change for clarity