The traditional way of doing this in C is simply static functions. Every .c file has exactly one non-static function and all the other helper functions are static.