Something to also consider...
If you are using the functions in files other than user_common.c, you will probably have to use prepend the prototype with extern and include user_common.h in those files
This tells the compiler that the file will be using a function that is defined externally to the file being compiled.