This check if the function exists and the prototype we want to use is correct. There are still functions which have different prototypes on different UNIX systems.