func_base.c + .h