extern(C++) interfaces