#ifndef SMTP_COMMON_H
#define SMTP_COMMON_H
#include "net.h"
/*
* SMTP protocols
*/
enum smtp_protocol {
SMTP_PROTOCOL_SMTP = 0,
};
static inline const char *
{
switch (proto) {
case SMTP_PROTOCOL_SMTP:
return "smtp";
case SMTP_PROTOCOL_LMTP:
return "lmtp";
default:
break;
}
i_unreached();
}
/* SMTP capabilities */
enum smtp_capability {
};
struct smtp_capability_name {
const char *name;
};
extern const struct smtp_capability_name smtp_capability_names[];
/*
* SMTP proxy data
*/
enum smtp_proxy_protocol {
};
struct smtp_proxy_data_field {
const char *name;
const char *value;
};
struct smtp_proxy_data {
/* PROTO */
/* ADDR */
/* PORT */
/* HELO, LOGIN */
/* TTL: send as this -1, so the default 0 means "don't send it" */
unsigned int ttl_plus_1;
/* TIMEOUT: remote is notified that the connection is going to be closed
after this many seconds, so it should try to keep lock waits and such
lower than this. */
unsigned int timeout_secs;
/* additional fields */
unsigned int extra_fields_count;
};
#endif