I am compiling some C Code to an object module that I wish to distribute to third parties. I have noticed that gcc includes all of my functions in the symbol table so that a user could call any of my functions. However, I only want the user to call a few of my functions. Is there any way to label some functions as "private" and some as "public"? (I am not using C++ but just C). I would prefer for the internal functions not too appear in the symbol table as I do not want the user to fish around and try to call functions that I do not want them to call. Is there any way to do this?