envelope
chan->volume.envelope.current_state = 0x8000; /* 0 msec delay */
chan->volume.envelope.hold_time = 0x7f; /* 0 msec */
chan->volume.envelope.attack_time = 0x7F; /* 5.5msec */
chan->volume.envelope.sustain_level = 0x7F; /* full */
chan->volume.envelope.decay_time = 0x7F; /* 22msec */
chan->modulation.envelope.current_state = 0x8000;
chan->modulation.envelope.hold_time = 0x00; /* 127 better ? */
chan->modulation.envelope.attack_time = 0x00; /* infinite */
chan->modulation.envelope.sustain_level = 0x00; /* off */
chan->modulation.envelope.decay_time = 0x7f; /* 22 msec */
(chan->modulation.envelope.hold_time << 8) |
chan->modulation.envelope.attack_time);
(chan->modulation.envelope.sustain_level << 8) |
chan->modulation.envelope.decay_time);
chan->modulation.envelope.current_state);
(chan->volume.envelope.hold_time << 8) |
chan->volume.envelope.attack_time);
chan->volume.envelope.current_state);
(chan->volume.envelope.sustain_level << 8) |
chan->volume.envelope.decay_time);
struct emuxki_chanparms_envelope envelope;
struct emuxki_chanparms_envelope envelope;
struct envelope evp;
struct envelope evp;
envelope_load_buffer(struct envelope *ep, const char *ibuf, size_t buflen)
envelope_dump_buffer(const struct envelope *ep, char *dest, size_t len)
static int envelope_ascii_load(struct envelope *, struct dict *);
static void envelope_ascii_dump(const struct envelope *, char **, size_t *,
envelope_set_errormsg(struct envelope *e, char *fmt, ...)
ascii_load_field(const char *field, struct envelope *ep, char *buf)
envelope_ascii_load(struct envelope *ep, struct dict *d)
envelope_set_esc_class(struct envelope *e, enum enhanced_status_class class)
envelope_set_esc_code(struct envelope *e, enum enhanced_status_code code)
ascii_dump_field(const char *field, const struct envelope *ep,
static char lbuf[sizeof(struct envelope)];
envelope_ascii_dump(const struct envelope *ep, char **dest, size_t *len,
struct envelope evp;
struct envelope *ep;
struct envelope ep;
ep = lks->envelope;
lks->envelope = ep;
TAILQ_HEAD(, envelope) deliverylist;
struct envelope envelope;
struct envelope *ep;
ep = xmemdup(&lks->envelope, sizeof *ep);
lka_session(uint64_t id, struct envelope *envelope)
lks->envelope = *envelope;
xn.u.mailaddr = lks->envelope.rcpt;
struct envelope evp;
mda_user(const struct envelope *evp)
mda_envelope(uint64_t session_id, const struct envelope *evp)
static struct mda_user *mda_user(const struct envelope *);
static struct mda_envelope *mda_envelope(uint64_t, const struct envelope *);
m_add_envelope(struct mproc *m, const struct envelope *evp)
m_get_envelope(struct msg *m, struct envelope *evp)
mta_on_smarthost(struct envelope *evp, const char *smarthost)
mta_relay(struct envelope *e, struct relayhost *relayh)
struct envelope evp, *e;
static void mta_handle_envelope(struct envelope *, const char *);
static void mta_query_smarthost(struct envelope *);
static void mta_on_smarthost(struct envelope *, const char *);
mta_handle_envelope(struct envelope *evp, const char *smarthost)
static struct mta_relay *mta_relay(struct envelope *, struct relayhost *);
mta_query_smarthost(struct envelope *evp0)
struct envelope *evp;
static void queue_bounce(struct envelope *, struct delivery_bounce *);
static void queue_log(const struct envelope *, const char *, const char *);
struct envelope evp;
struct envelope evp;
queue_bounce(struct envelope *e, struct delivery_bounce *d)
struct envelope b;
struct envelope evp;
queue_log(const struct envelope *e, const char *prefix, const char *status)
static const char* envelope_validate(struct envelope *);
queue_envelope_dump_buffer(struct envelope *ep, char *evpbuf, size_t evpbufsize)
char compbuf[sizeof(struct envelope)];
char encbuf[sizeof(struct envelope)];
static void queue_envelope_cache_add(struct envelope *);
static void queue_envelope_cache_update(struct envelope *);
queue_envelope_load_buffer(struct envelope *ep, char *evpbuf, size_t evpbufsize)
char compbuf[sizeof(struct envelope)];
char encbuf[sizeof(struct envelope)];
TAILQ_HEAD(evplst, envelope);
queue_envelope_cache_add(struct envelope *e)
struct envelope *cached;
queue_envelope_cache_update(struct envelope *e)
struct envelope *cached;
struct envelope *cached;
queue_envelope_create(struct envelope *ep)
char evpbuf[sizeof(struct envelope)];
queue_envelope_load(uint64_t evpid, struct envelope *ep)
char evpbuf[sizeof(struct envelope)];
struct envelope *cached;
queue_envelope_update(struct envelope *ep)
char evpbuf[sizeof(struct envelope)];
queue_message_walk(struct envelope *ep, uint32_t msgid, int *done, void **data)
char evpbuf[sizeof(struct envelope)];
queue_envelope_walk(struct envelope *ep)
char evpbuf[sizeof(struct envelope)];
envelope_validate(struct envelope *ep)
ruleset_match_smtp_helo(struct rule *r, const struct envelope *evp)
ruleset_match_smtp_starttls(struct rule *r, const struct envelope *evp)
ruleset_match_smtp_auth(struct rule *r, const struct envelope *evp)
ruleset_match_smtp_mail_from(struct rule *r, const struct envelope *evp)
ruleset_match_smtp_rcpt_to(struct rule *r, const struct envelope *evp)
ruleset_match(const struct envelope *evp)
ruleset_match_tag(struct rule *r, const struct envelope *evp)
ruleset_match_from(struct rule *r, const struct envelope *evp)
ruleset_match_to(struct rule *r, const struct envelope *evp)
struct envelope evp;
scheduler_info(struct scheduler_info *sched, struct envelope *evp)
struct rq_envelope *envelope;
(void*)&envelope)))
rq_envelope_to_text(envelope));
struct rq_envelope *envelope;
envelope = xcalloc(1, sizeof *envelope);
envelope->evpid = si->evpid;
envelope->type = si->type;
envelope->message = message;
envelope->ctime = si->creation;
envelope->expire = si->creation + si->ttl;
envelope->sched = scheduler_backoff(si->creation,
tree_xset(&message->envelopes, envelope->evpid, envelope);
envelope->state = RQ_EVPSTATE_PENDING;
TAILQ_INSERT_TAIL(&update->q_pending, envelope, entry);
si->nexttry = envelope->sched;
struct rq_envelope *envelope;
(void*)&envelope)))
envelope->message = tomessage;
while ((envelope = TAILQ_FIRST(&update->q_pending))) {
TAILQ_REMOVE(&update->q_pending, envelope, entry);
sorted_insert(rq, envelope);
struct envelope evp;
show_queue_envelope(struct envelope *e, int online)
char buffer[sizeof(struct envelope)];
struct envelope evp;
srv_get_envelope(struct envelope *evp)
srv_iter_envelopes(uint32_t msgid, struct envelope *evp)
struct envelope evp;
static void show_queue_envelope(struct envelope *, int);
struct envelope evp;
void envelope_set_errormsg(struct envelope *, char *, ...)
void envelope_set_esc_class(struct envelope *, enum enhanced_status_class);
void envelope_set_esc_code(struct envelope *, enum enhanced_status_code);
int envelope_load_buffer(struct envelope *, const char *, size_t);
int envelope_dump_buffer(const struct envelope *, char *, size_t);
void lka_session(uint64_t, struct envelope *);
void m_add_envelope(struct mproc *, const struct envelope *);
void m_get_envelope(struct msg *, struct envelope *);
int queue_envelope_create(struct envelope *);
int queue_envelope_load(uint64_t, struct envelope *);
int queue_envelope_update(struct envelope *);
int queue_envelope_walk(struct envelope *);
int queue_message_walk(struct envelope *, uint32_t, int *, void **);
struct rule *ruleset_match(const struct envelope *);
void scheduler_info(struct scheduler_info *, struct envelope *);
TAILQ_ENTRY(envelope) entry;