client.h revision 9c47edf0d1aa8afa6d05dde93e7aa5169059c94a
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen#ifndef CLIENT_H
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen#define CLIENT_H
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen#include "network.h"
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen#include "client-common.h"
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainenstruct imap_client {
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen struct client common;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen struct imap_parser *parser;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen char *proxy_backend_capability;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen const char *cmd_tag, *cmd_name;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int cmd_finished:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int proxy_sasl_ir:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int proxy_seen_banner:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int proxy_wait_auth_continue:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int skip_line:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int id_logged:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen unsigned int client_ignores_capability_resp_code:1;
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen};
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainenbool client_skip_line(struct imap_client *client);
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen#endif
1537d20b852cbbf0d6971790b84e0cce5ca61307Timo Sirainen