+#define EV_DNS_LOGT_START(a) \
+ CDBGLOG () { syslog(LOG_DEBUG, "%s[%ld]CC[%d] + Starting " #a " %s %p", IOSTR, IO->ID, CCID, __FUNCTION__, &IO->a); \
+ EV_backtrace(IO);}
+
+#define EV_DNS_LOGT_STOP(a) \
+ CDBGLOG () { syslog(LOG_DEBUG, "%s[%ld]CC[%d] - Stopping " #a " %s %p", IOSTR, IO->ID, CCID, __FUNCTION__, &IO->a); \
+ EV_backtrace(IO); }
+
+#define EV_DNS_LOGT_INIT(a) \
+ CDBGLOG () { syslog(LOG_DEBUG, "%s[%ld]CC[%d] * Init " #a " %p", IOSTR, IO->ID, CCID, &IO->a); \
+ EV_backtrace(IO);}
+
+void FreeAsyncIOContents(AsyncIO *IO);
+
+eNextState NextDBOperation(AsyncIO *IO, IO_CallBack CB);
+eNextState EventQueueDBOperation(AsyncIO *IO, IO_CallBack CB, int CloseFDs);
+void StopDBWatchers(AsyncIO *IO);
+eNextState QueueEventContext(AsyncIO *IO, IO_CallBack CB);
+eNextState QueueCurlContext(AsyncIO *IO);
+eNextState DBQueueEventContext(AsyncIO *IO, IO_CallBack CB);
+
+eNextState EvConnectSock(AsyncIO *IO,
+ double conn_timeout,
+ double first_rw_timeout,
+ int ReadFirst);