add c interface adapter