/* * clients.h: * * Copyright (c) 2008 James McKenzie , * All rights reserved. * */ /* * $Id$ */ /* * $Log$ * Revision 1.4 2008/02/14 10:34:30 james * *** empty log message *** * * Revision 1.3 2008/02/14 02:46:44 james * *** empty log message *** * * Revision 1.2 2008/02/14 00:57:58 james * *** empty log message *** * * Revision 1.1 2008/02/13 18:05:06 james * *** empty log message *** * */ #ifndef __CLIENTS_H__ #define __CLIENTS_H__ typedef struct Client_struct { struct Client_struct *next; Socket *s; int dead; } Client; typedef struct { Client *head; int n; } Clients; /* clients.c */ extern void client_free(Client *c); extern Client *clients_new_client(Clients *cs, Socket *s, Context *ctx); extern void clients_reap(Clients *cs); extern Clients *clients_new(void); extern void clients_pre_select(Clients *cs, fd_set *rfds, fd_set *wfds); extern void clients_post_select(Clients *cs, Context *ctx, fd_set *rfds, fd_set *wfds); extern void clients_shutdown(Clients *cs); extern int send_output(Clients *cs, void *buf, int len); extern int send_status(Clients *cs, char *msg); extern void send_history(History *h, Client *c); extern void send_vt102(VT102 *v, Client *c); #endif