/************************************************************************
* IRC - Internet Relay Chat, include/client.h
* Copyright (C) 2000
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
extern aClient *make_client(aClient *);
extern aClient *GlobalClientList, me;
extern aClient *find_chasing(aClient *, char *, int *);
extern aClient *find_chasing_user(char *);
extern aClient *find_person(char *name);
extern aClient *next_client(aClient *, char *);
extern aClient *next_client_double(aClient *, char *);
extern aClient *find_client(char *);
extern aClient *find_server(char *);
extern void add_history(aClient *, int);
extern void off_history(aClient *);
extern aClient *get_history(char *, time_t);
extern aServer *make_server(aClient *);
extern aService *firstservice;
extern aService *make_service(aClient *cptr);
extern anUser *make_user(aClient *);
extern aClass *make_class(void);
extern int check_client(aClient *, aClient *, char *);
extern int exit_client(aClient *, aClient *, char *);
extern int get_client_ping(aClient *);
extern int get_client_class(aClient *);
extern int add_to_client_hash_table(char *, aClient *);
extern int del_from_client_hash_table(char *, aClient *);
extern int add_to_watch_hash_table(char *, aClient *);
extern int del_from_watch_hash_table(char *, aClient *);
extern int hash_check_watch(aClient *, int);
extern int hash_del_watch_list(aClient *);
extern void add_client_to_list(aClient *);
extern void remove_client_from_list(aClient *);
extern void add_client_to_llist(struct Client **, struct Client *);
extern void del_client_from_llist(struct Client **, struct Client *);
extern int do_remote_user(char *, aClient *, aClient *, char *, char *,
char *, char *, unsigned long, char *);
extern int do_local_user(char *, aClient *, aClient *, char *, char *,
char *, char *, unsigned long, char *);
extern int register_remote_user(aClient *, aClient *, char *, char *);
extern int register_local_user(aClient *, aClient *, char *, char *);
extern int server_estab(struct Client *);
extern int continue_server_estab(struct Client *);
extern int check_server(char *, struct Client *);
extern void add_server_to_list(struct Client *);
extern void remove_server_from_list(struct Client *);
extern void free_user(anUser *);
extern aWatch *hash_get_watch(char *);
extern unsigned int hash_whowas_name(char *);
extern void free_client(aClient *);
extern void remove_exited_clients(void *);
extern int remove_dcc_references(aClient *);
extern int remove_accept_references(aClient *);
syntax highlighted by Code2HTML, v. 0.9.1