add extern "C" wrapper