in reply to overloading functions and .XS

A little experimentation reveals "No." (Though, I would have hoped you had already done that.) However you can use (...), to specify your parameters to one xsub and have that xsub look at how many arguments it has, and maybe their types, and call what should be called. (Of course, see perlxs.) Alternately, of course, you could have multiple xsubs and have a perl function that would call the right one in the same way.

And, by the way, C does not support overloaded functions. C++ does, however.