Make it pure C compatible