It is trivial to avoid using their values, so do that. The compare functions and strlen work fine without a declaration on most systems, possibly all the ones that GNU software runs on. You may find it necessary to declare them conditionally on a few systems. Luckily, there is no variation in the data type they return. But there is variation in their names.
Some systems support both pairs of names, but neither pair works on all systems.
You should pick a single pair of names and use it throughout your program. On systems which don't support those names, define them as macros in terms of the other pair. One way to get them properly defined is to use Autoconf. Go to the previous , next section.