view src/auth/auth-master-listener.h @ 4451:1a35d53c18fc HEAD

Array API redesigned to work using unions. It now provides type safety without having to enable DEBUG, as long as the compiler supports typeof(). Its API changed a bit. It now allows directly accessing the array contents, although that's not necessarily recommended. Changed existing array usage to be type safe in a bit more places. Removed array_t completely. Also did s/modifyable/modifiable/.
author Timo Sirainen <tss@iki.fi>
date Wed, 28 Jun 2006 16:10:25 +0300
parents f97b4052dd81
children e4eb71ae8e96
line wrap: on
line source

#ifndef __AUTH_MASTER_LISTENER_H
#define __AUTH_MASTER_LISTENER_H

enum listener_type {
	LISTENER_MASTER,
	LISTENER_CLIENT
};

struct auth_master_listener {
	struct auth *auth;
	unsigned int pid;

	ARRAY_DEFINE(sockets, struct auth_master_listener_socket *);
	ARRAY_DEFINE(masters, struct auth_master_connection *);
	ARRAY_DEFINE(clients, struct auth_client_connection *);

	struct timeout *to_clients;
};

struct auth_master_listener *auth_master_listener_create(struct auth *auth);
void auth_master_listener_destroy(struct auth_master_listener *listener);

void auth_master_listener_add(struct auth_master_listener *listener,
			      int fd, const char *path,
			      enum listener_type type);

void auth_master_listeners_send_handshake(void);
bool auth_master_listeners_masters_left(void);

void auth_master_listeners_init(void);
void auth_master_listeners_deinit(void);

#endif