extern c in gf.c