1 #ifndef _DSN_BUF_H_INCLUDED_
2 #define _DSN_BUF_H_INCLUDED_
40 #define DSB_DEF_ACTION ((char *) 0)
42 #define DSB_SKIP_RMTA ((char *) 0), ((char *) 0)
43 #define DSB_MTYPE_NONE ((char *) 0)
44 #define DSB_MTYPE_DNS "dns"
46 #define DSB_SKIP_REPLY (char *) 0, " "
47 #define DSB_DTYPE_NONE ((char *) 0)
48 #define DSB_DTYPE_SMTP "smtp"
49 #define DSB_DTYPE_UNIX "x-unix"
50 #define DSB_DTYPE_SASL "x-sasl"
54 extern DSN_BUF *
vdsb_simple(DSN_BUF *, const
char *, const
char *, va_list);
56 extern DSN_BUF *PRINTFLIKE(4, 5)
dsb_unix(DSN_BUF *, const
char *, const
char *, const
char *,...);
57 extern DSN_BUF *
dsb_formal(DSN_BUF *, const
char *, const
char *, const
char *, const
char *, const
char *, const
char *);
58 extern DSN_BUF *
dsb_status(DSN_BUF *, const
char *);
68 #define DSN_FROM_DSN_BUF(dsb) \
69 DSN_ASSIGN(&(dsb)->dsn, \
70 vstring_str((dsb)->status), \
71 vstring_str((dsb)->action), \
72 vstring_str((dsb)->reason), \
73 vstring_str((dsb)->dtype), \
74 vstring_str((dsb)->dtext), \
75 vstring_str((dsb)->mtype), \
76 vstring_str((dsb)->mname))
void dsb_reset(DSN_BUF *)
DSN_BUF * dsb_update(DSN_BUF *dsb, const char *status, const char *action, const char *mtype, const char *mname, const char *dtype, const char *dtext, const char *format,...)
DSN_BUF * dsb_status(DSN_BUF *, const char *)
DSN_BUF const char const char const char const char const char const char const char DSN_BUF * vdsb_simple(DSN_BUF *, const char *, const char *, va_list)
DSN_BUF * PRINTFLIKE(8, 9) dsb_update(DSN_BUF *
DSN_BUF const char const char DSN_BUF const char const char const char DSN_BUF * dsb_formal(DSN_BUF *, const char *, const char *, const char *, const char *, const char *, const char *)
DSN_BUF * dsb_simple(DSN_BUF *dsb, const char *status, const char *format,...)
DSN_BUF * dsb_unix(DSN_BUF *dsb, const char *status, const char *dtext, const char *format,...)
DSN_BUF * dsb_create(void)