master.c revision 25757faf029c369a8318349dafe952e2358df1d8
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbeloro/* Copyright (C) 2002 Timo Sirainen */
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbelorostatic unsigned int master_pos;
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbelorostatic char master_buf[sizeof(struct master_login_reply)];
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbelorostatic void request_handle(struct master_login_reply *reply)
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbeloro client = hash_lookup(master_requests, POINTER_CAST(reply->tag));
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbeloro i_fatal("Master sent reply with unknown tag %u", reply->tag);
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbeloro hash_remove(master_requests, POINTER_CAST(reply->tag));
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbelorovoid master_request_imap(struct client *client, master_callback_t *callback,
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbeloro hash_insert(master_requests, POINTER_CAST(req.tag), client);
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbeloro /* sending -1 as fd does the notification */
d58fda4376e4bf67072ce2e69f6f47036f9dbb68jbelorostatic void master_input(void *context __attr_unused__, int fd,
if (ret < 0) {
master_close();
master_pos = 0;
void master_init(void)
main_ref();
master_pos = 0;
void master_deinit(void)