+\f/*
+** PRINTENVFLAGS -- print envelope flags for debugging
+**
+** Parameters:
+** e -- the envelope with the flags to be printed.
+**
+** Returns:
+** none.
+*/
+
+struct eflags
+{
+ char *ef_name;
+ u_long ef_bit;
+};
+
+struct eflags EnvelopeFlags[] =
+{
+ "OLDSTYLE", EF_OLDSTYLE,
+ "INQUEUE", EF_INQUEUE,
+ "NO_BODY_RETN", EF_NO_BODY_RETN,
+ "CLRQUEUE", EF_CLRQUEUE,
+ "SENDRECEIPT", EF_SENDRECEIPT,
+ "FATALERRS", EF_FATALERRS,
+ "KEEPQUEUE", EF_KEEPQUEUE,
+ "RESPONSE", EF_RESPONSE,
+ "RESENT", EF_RESENT,
+ "VRFYONLY", EF_VRFYONLY,
+ "WARNING", EF_WARNING,
+ "QUEUERUN", EF_QUEUERUN,
+ "GLOBALERRS", EF_GLOBALERRS,
+ "PM_NOTIFY", EF_PM_NOTIFY,
+ "METOO", EF_METOO,
+ "LOGSENDER", EF_LOGSENDER,
+ "NORECEIPT", EF_NORECEIPT,
+ "HAS8BIT", EF_HAS8BIT,
+ "NL_NOT_EOL", EF_NL_NOT_EOL,
+ "CRLF_NOT_EOL", EF_CRLF_NOT_EOL,
+ "RET_PARAM", EF_RET_PARAM,
+ "HAS_DF", EF_HAS_DF,
+ NULL
+};
+
+void
+printenvflags(e)
+ register ENVELOPE *e;
+{
+ register struct eflags *ef;
+ bool first = TRUE;
+
+ printf("%lx", e->e_flags);
+ for (ef = EnvelopeFlags; ef->ef_name != NULL; ef++)
+ {
+ if (!bitset(ef->ef_bit, e->e_flags))
+ continue;
+ if (first)
+ printf("<%s", ef->ef_name);
+ else
+ printf(",%s", ef->ef_name);
+ first = FALSE;
+ }
+ if (!first)
+ printf(">\n");
+}