mta_relay
mta_query_preference(struct mta_relay *relay)
static struct mta_connector *mta_connector(struct mta_relay *,
mta_query_source(struct mta_relay *relay)
struct mta_relay *relay = arg;
mta_on_secret(struct mta_relay *relay, const char *secret)
mta_on_preference(struct mta_relay *relay, int preference)
mta_on_source(struct mta_relay *relay, struct mta_source *source)
struct mta_relay *relay = arg;
mta_drain(struct mta_relay *r)
mta_flush(struct mta_relay *relay, int fail, const char *error)
struct mta_relay *relay;
static struct mta_relay *
struct mta_relay key, *r;
mta_relay_ref(struct mta_relay *r)
mta_relay_unref(struct mta_relay *relay)
mta_relay_to_text(struct mta_relay *relay)
mta_relay_show(struct mta_relay *r, struct mproc *p, uint32_t id, time_t t)
mta_relay_cmp(const struct mta_relay *a, const struct mta_relay *b)
SPLAY_GENERATE(mta_relay_tree, mta_relay, entry, mta_relay_cmp);
mta_connector(struct mta_relay *relay, struct mta_source *source)
static void mta_query_mx(struct mta_relay *);
static void mta_query_secret(struct mta_relay *);
static void mta_query_preference(struct mta_relay *);
static void mta_query_source(struct mta_relay *);
static void mta_on_secret(struct mta_relay *, const char *);
static void mta_on_preference(struct mta_relay *, int);
static void mta_on_source(struct mta_relay *, struct mta_source *);
mta_source_error(struct mta_relay *relay, struct mta_route *route, const char *e)
mta_route_error(struct mta_relay *relay, struct mta_route *route)
mta_route_ok(struct mta_relay *relay, struct mta_route *route)
mta_route_down(struct mta_relay *relay, struct mta_route *route)
static void mta_drain(struct mta_relay *);
mta_route_collect(struct mta_relay *relay, struct mta_route *route)
static void mta_flush(struct mta_relay *, int, const char *);
mta_route_next_task(struct mta_relay *relay, struct mta_route *route)
struct mta_relay *relay;
SPLAY_HEAD(mta_relay_tree, mta_relay);
static struct mta_relay *mta_relay(struct envelope *, struct relayhost *);
static void mta_relay_ref(struct mta_relay *);
static void mta_relay_unref(struct mta_relay *);
static void mta_relay_show(struct mta_relay *, struct mproc *, uint32_t, time_t);
relay = mta_relay(evp, &relayh);
static int mta_relay_cmp(const struct mta_relay *, const struct mta_relay *);
SPLAY_PROTOTYPE(mta_relay_tree, mta_relay, entry, mta_relay_cmp);
mta_query_mx(struct mta_relay *relay)
mta_query_limits(struct mta_relay *relay)
mta_query_secret(struct mta_relay *relay)
mta_session(struct mta_relay *relay, struct mta_route *route, const char *mxname)
struct mta_relay *relay;
struct mta_relay *relay;
void mta_route_ok(struct mta_relay *, struct mta_route *);
void mta_route_error(struct mta_relay *, struct mta_route *);
void mta_route_down(struct mta_relay *, struct mta_route *);
void mta_route_collect(struct mta_relay *, struct mta_route *);
void mta_source_error(struct mta_relay *, struct mta_route *, const char *);
struct mta_task *mta_route_next_task(struct mta_relay *, struct mta_route *);
const char *mta_relay_to_text(struct mta_relay *);
void mta_session(struct mta_relay *, struct mta_route *, const char *);
struct mta_relay *relay;
SPLAY_ENTRY(mta_relay) entry;
struct mta_relay *relay;