/* $NetBSD: bounce.h,v 1.2 2017/02/14 01:16:45 christos Exp $ */ #ifndef _BOUNCE_H_INCLUDED_ #define _BOUNCE_H_INCLUDED_ /*++ /* NAME /* bounce 3h /* SUMMARY /* bounce service client /* SYNOPSIS /* #include <bounce.h> /* DESCRIPTION /* .nf /* * System library. */ #include <time.h> /* * Global library. */ #include <deliver_request.h> #include <dsn_buf.h> /* * Client interface. */ extern int bounce_append(int, const char *, MSG_STATS *, RECIPIENT *, const char *, DSN *); extern int bounce_flush(int, const char *, const char *, const char *, int, const char *, const char *, int); extern int bounce_flush_verp(int, const char *, const char *, const char *, int, const char *, const char *, int, const char *); extern int bounce_one(int, const char *, const char *, const char *, int, const char *, const char *, int, MSG_STATS *, RECIPIENT *, const char *, DSN *); extern void bounce_client_init(const char *, const char *); /* * Bounce/defer protocol commands. */ #define BOUNCE_CMD_APPEND 0 /* append log */ #define BOUNCE_CMD_FLUSH 1 /* send log */ #define BOUNCE_CMD_WARN 2 /* send warning, don't delete log */ #define BOUNCE_CMD_VERP 3 /* send log, verp style */ #define BOUNCE_CMD_ONE 4 /* send one recipient notice */ #define BOUNCE_CMD_TRACE 5 /* send delivery record */ /* * Macros to make obscure code more readable. */ #define NO_DSN_DCODE ((char *) 0) #define NO_RELAY_AGENT "none" #define NO_DSN_RMTA ((char *) 0) /* * Flags. */ #define BOUNCE_FLAG_NONE 0 /* no flags up */ #define BOUNCE_FLAG_CLEAN (1<<0) /* remove log on error */ #define BOUNCE_FLAG_DELRCPT (1<<1) /* delete recipient from queue file */ /* * Backwards compatibility. */ #define BOUNCE_FLAG_KEEP BOUNCE_FLAG_NONE /* * Start of private API. */ #ifdef DSN_INTERN #include <dsn_filter.h> extern DSN_FILTER *delivery_status_filter; extern int bounce_append_intern(int, const char *, MSG_STATS *, RECIPIENT *, const char *, DSN *); extern int bounce_one_intern(int, const char *, const char *, const char *, int, const char *, const char *, int, MSG_STATS *, RECIPIENT *, const char *, DSN *); #endif /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /*--*/ #endif |