client.h revision 2fb9ae42f9e36388ec6db24188b9108434043fd0
#ifndef CLIENT_H
#define CLIENT_H
#include "network.h"
struct mail_recipient {
const char *name;
struct mail_storage_service_user *service_user;
};
struct client_state {
const char *mail_from;
unsigned int rcpt_idx;
unsigned int data_end_idx;
/* Initially we start writing to mail_data. If it grows too large,
start using mail_data_fd. */
int mail_data_fd;
struct ostream *mail_data_output;
struct mailbox_transaction_context *raw_trans;
struct mail *first_saved_mail;
};
struct client {
const struct setting_parser_info *user_set_info;
const struct lda_settings *set;
const struct lmtp_settings *lmtp_set;
unsigned int remote_port, local_port;
struct mail_user *raw_mail_user;
const char *my_domain;
struct client_state state;
struct lmtp_proxy *proxy;
unsigned int disconnected:1;
unsigned int mail_body_7bit:1;
unsigned int mail_body_8bitmime:1;
};
extern unsigned int clients_count;
const struct master_service_connection *conn);
const char *reason);
const char *reason);
void clients_destroy(void);
#endif