+# TESTED
+#
+# The reference parameters, `cp' and `addinfo', need to already have
+# values when this function is called, otherwise an "uninitialised
+# value" warning is generated. As far as I can see, there is no way
+# around this: no way to specify in a prototype that an argument is
+# allowed to be undefined, for example. Since these function will
+# never be called directly by well-behaved client code, but only by
+# our own wrapper classes, I think we can live with that.
+#
+# The poxing about with cpp and caddinfo is due to Perl XS's lack of
+# support for const char**, but who can blame it? If you ask me, the
+# whole "const" thing was well-intentioned by ghastly mistake.
+#
+int
+ZOOM_connection_error(c, cp, addinfo)