add extern c