Yes, it looks fairly ridiculous. And again, underscore prefixes are reserved for the compiler: http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier

If you have to mark things as "ultra-internal", you're doing something wrong anyway. What's the point? If you want to prevent usage outside of the current file, make the function `static`. Otherwise it's just a ridiculous way to make clear which functions are exported and which ones aren't.