fd.c fd.h