/************************************************************************
* IRC - Internet Relay Chat, include/proxy.h
*
* Copyright (C) 2000-2003 TR-IRCD Development
*
* 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.
*
*
* $Id: proxy.h,v 1.3 2003/06/14 13:55:50 tr-ircd Exp $
*
*/
#ifndef PROXY_H
#define PROXY_H 1
#include "hook.h"
extern int pfd;
extern struct Client *qcptr;
extern int pm_shutdown, pm_exited, cmd_scanner_active;
extern int pm_sleep(unsigned long);
extern unsigned long pm_scan_counter;
extern int do_rehash_pm(struct hook_data *data);
extern char *protocol_types[8];
extern OPM_T *IproxyScan;
extern OPM_T *CproxyScan;
extern pthread_mutex_t pm_mutex, pm_exit_mutex;
extern pthread_mutexattr_t pm_mutex_attributes;
extern pthread_cond_t pm_cond, pm_exit_cond;
extern pthread_condattr_t pm_cond_attributes;
extern pthread_t pm_pthread;
extern pthread_attr_t pm_pthread_attributes;
extern void initialize_proxy_monitor(void);
extern void initialize_proxy_monitor_interface(void);
extern void deinitialize_proxy_monitor(void);
extern void deinitialize_proxy_monitor_interface(void);
extern void reconfigure_proxy_monitor(OPM_T *);
extern void read_proxy_configuration(void);
extern void display_proxy_scanner_statistics(aClient *);
extern void pm_action(char *, int, char *, int);
extern void *pm_main(void *);
extern void pm_addto_scanner(char *);
extern void cmd_addto_scanner(char *, char *, int);
extern int do_add_to_proxy(struct hook_data *thisdata);
/* Callback function prototypes */
void ircnotice_open_proxy(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_negfail(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_pm_timeout(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_pm_endscan(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_pm_error(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_open_proxy_oper(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_negfail_oper(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_pm_timeout_oper(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_pm_endscan_oper(OPM_T *, OPM_REMOTE_T *, int, void *);
void ircnotice_pm_error_oper(OPM_T *, OPM_REMOTE_T *, int, void *);
#endif
syntax highlighted by Code2HTML, v. 0.9.1