#ifndef SMTP_CLIENT_PRIVATE_H
#define SMTP_CLIENT_PRIVATE_H
#include "connection.h"
#include "smtp-common.h"
#include "smtp-params.h"
#include "smtp-client.h"
#include "smtp-client-command.h"
#include "smtp-client-transaction.h"
#include "smtp-client-connection.h"
struct smtp_client_command {
unsigned int refcount;
unsigned int send_pos;
const char *name;
unsigned int replies_expected;
unsigned int replies_seen;
void *context;
void *abort_context;
void *sent_context;
};
struct smtp_client_transaction_rcpt {
void *context;
};
struct smtp_client_transaction {
int refcount;
void *mail_from_context;
unsigned int rcpts_next_send_idx;
unsigned int rcpt_next_data_idx;
void *data_context;
void *context;
unsigned int finish_timeout_msecs;
};
struct smtp_client_connection {
int refcount;
unsigned int id;
char *label;
const char *host;
char *password;
const char **cap_auth_mechanisms;
const char **cap_xclient_args;
void *login_context;
/* commands pending in queue to be sent */
unsigned int cmd_send_queue_count;
/* commands that have been sent, waiting for response */
unsigned int cmd_wait_list_count;
/* active transactions */
};
struct smtp_client {
};
/*
* Command
*/
const struct smtp_reply *reply);
const struct smtp_reply *reply);
unsigned int cmds_list_count);
const struct smtp_reply *reply);
/*
* Transaction
*/
struct smtp_client_transaction *trans,
const struct smtp_reply *reply);
struct smtp_client_transaction *trans);
/*
* Connection
*/
struct connection_list *smtp_client_connection_list_init(void);
const char *
struct smtp_client_connection *conn);
struct smtp_client_connection *conn);
struct smtp_client_connection *conn);
struct smtp_client_connection *conn);
struct smtp_client_connection *conn,
struct smtp_client_transaction *trans);
struct smtp_client_connection *conn,
struct smtp_client_transaction *trans);
struct smtp_client_connection *conn,
struct smtp_client_transaction *trans);
/*
* Client
*/
#endif