#ifndef IPSERVFE_H
#define IPSERVFE_H

#include <stdbool.h>
#include "server.h"

/* IP server 'frontend' that drives the main server update tick */

#define FOR_EACH_CLIENT(CLIENT) for(vnc_client_t **CLIENT##_iter=NULL,*CLIENT = ipservfe_clients(&CLIENT##_iter);CLIENT;CLIENT = ipservfe_clients(&CLIENT##_iter))

extern bool ipservfe_create();
extern void ipservfe_stop();
extern void ipservfe_reconfigure();
extern bool ipservfe_running();
extern bool ipservfe_haveclients();
extern vnc_client_t *ipservfe_clients(vnc_client_t ***iter);
extern void ipservfe_disconnect_all_but(vnc_client_t *client);
extern unsigned int ipservfe_last_callback_delta();
extern void ipservfe_status();

#endif
