+ DBGLOG(LEVEL) syslog(LEVEL, "SMTPC:%s[%ld]S[%ld][%ld] " FORMAT, \
+ IOSTR, IO->ID, QID, N)
+
+#define SMTPC_syslog(LEVEL, FORMAT, ...) \
+ DBGLOG(LEVEL) syslog(LEVEL, \
+ "SMTPCQ: " FORMAT, \
+ __VA_ARGS__)
+
+#define SMTPCM_syslog(LEVEL, FORMAT) \
+ DBGLOG(LEVEL) syslog(LEVEL, \
+ "SMTPCQ: " FORMAT)
+
+
+
+typedef enum __smtpstate {
+ eSTMPmxlookup,
+ eSTMPevaluatenext,
+ eSTMPalookup,
+ eSTMPaaaalookup,
+ eSTMPconnecting,
+ eSTMPsmtp,
+ eSTMPsmtpdata,
+ eSTMPsmtpdone,
+ eSTMPfinished,
+ eSTMPfailOne,
+ eSMTPFailTemporary,
+ eSMTPFailTotal
+} smtpstate;
+
+void SetSMTPState(AsyncIO *IO, smtpstate State);