+
+int random()
+{
+ return rand();
+}
+
+void srandom(unsigned int seed)
+{
+ srand(seed);
+}
+
+int gettimeofday(timeval *tv, void *)
+{
+ SYSTEMTIME st;
+ GetSystemTime(&st);
+
+ tv->tv_sec = time(NULL);
+ tv->tv_usec = st.wMilliseconds;
+
+ return 0;
+}
+
+/* World's largest hack to make reference<> work */
+#include "../src/modules/m_spanningtree/link.h"
+#include "../src/modules/ssl.h"
+static void unused_function()
+{
+ reference<Link> unused_Link;
+ reference<Autoconnect> unused_Autoconnect;
+ reference<ssl_cert> unused_Cert;
+
+ if (unused_Link)
+ unused_Link->Port = -1;
+ if (unused_Autoconnect)
+ unused_Autoconnect->NextConnectTime = -1;
+ if (unused_Cert)
+ unused_Cert->dn = "";
+
+ Autoconnect *a = unused_Autoconnect;
+ Link *l = unused_Link;
+ ssl_cert *s = unused_Cert;
+
+ unused_Link = reference<Link>(unused_Link);
+ unused_Autoconnect = reference<Autoconnect>(unused_Autoconnect);
+ unused_Cert = reference<ssl_cert>(unused_Cert);
+
+ unused_Link = reference<Link>(l);
+ unused_Autoconnect = reference<Autoconnect>(a);
+ unused_Cert = reference<ssl_cert>(s);
+
+ delete unused_Link;
+ delete unused_Autoconnect;
+ delete unused_Cert;
+}