view src/imap-login/client.h @ 1049:c41787e8c3f4 HEAD

Moved common login process code to login-common, created pop3-login.
author Timo Sirainen <tss@iki.fi>
date Tue, 28 Jan 2003 23:35:25 +0200
parents
children 86b8c9cb7ac0
line wrap: on
line source

#ifndef __CLIENT_H
#define __CLIENT_H

#include "network.h"
#include "master.h"
#include "client-common.h"

struct imap_client {
	struct client common;

	time_t created;
	int refcount;

	struct io *io;
	struct istream *input;
	struct ostream *output;
	struct imap_parser *parser;

	time_t last_input;
	unsigned int bad_counter;

	const char *cmd_tag, *cmd_name;

	buffer_t *plain_login;
	struct auth_request *auth_request;
	char *virtual_user;

	unsigned int tls:1;
	unsigned int cmd_finished:1;
	unsigned int skip_line:1;
};

struct client *client_create(int fd, struct ip_addr *ip, int ssl);
void client_destroy(struct imap_client *client, const char *reason);

void client_ref(struct imap_client *client);
int client_unref(struct imap_client *client);

void client_send_line(struct imap_client *client, const char *line);
void client_send_tagline(struct imap_client *client, const char *line);
void client_syslog(struct imap_client *client, const char *text);

int client_read(struct imap_client *client);
void client_input(void *context);

unsigned int clients_get_count(void);
void clients_destroy_all(void);

void clients_init(void);
void clients_deinit(void);

#endif