2001-02-19 21:15:25 +00:00
|
|
|
/*
|
2005-06-09 03:07:13 +00:00
|
|
|
qtv.h
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2005-06-09 03:07:13 +00:00
|
|
|
qtv main file
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2005-06-09 03:07:13 +00:00
|
|
|
Copyright (C) 2004 Bill Currie <bill@taniwha.org>
|
2004-02-21 05:09:02 +00:00
|
|
|
|
2005-06-09 03:07:13 +00:00
|
|
|
Author: Bill Currie
|
|
|
|
Date: 2004/02/21
|
2001-02-19 21:15:25 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
of the License, 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:
|
|
|
|
|
|
|
|
Free Software Foundation, Inc.
|
|
|
|
59 Temple Place - Suite 330
|
|
|
|
Boston, MA 02111-1307, USA
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2004-02-21 05:09:02 +00:00
|
|
|
#ifndef __qtv_h
|
|
|
|
#define __qtv_h
|
|
|
|
|
2010-12-21 00:25:17 +00:00
|
|
|
/** \defgroup qtv QuakeForge QTV Proxy
|
2011-08-23 05:31:03 +00:00
|
|
|
\image html qwtv.svg
|
2010-12-21 07:44:05 +00:00
|
|
|
\image latex qwtv.eps ""
|
|
|
|
\ref qtv_overview
|
2010-12-21 00:25:17 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/** \defgroup qtv_general General Functions
|
|
|
|
\ingroup qtv
|
|
|
|
*/
|
2020-02-11 06:20:49 +00:00
|
|
|
///@{
|
2010-12-21 00:25:17 +00:00
|
|
|
|
|
|
|
#define PORT_QTV 27501 ///< Default port to listen for connecting clients.
|
2004-02-21 05:09:02 +00:00
|
|
|
|
|
|
|
typedef enum {
|
2010-12-21 00:25:17 +00:00
|
|
|
RD_NONE, ///< No redirection. Default state.
|
|
|
|
RD_CLIENT, ///< Output is sent to a specific client connection.
|
|
|
|
RD_PACKET, ///< Output is sent as a connectionless packet.
|
2004-02-21 05:09:02 +00:00
|
|
|
} redirect_t;
|
|
|
|
|
|
|
|
extern double realtime;
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2004-02-26 23:24:44 +00:00
|
|
|
extern struct cbuf_s *qtv_cbuf;
|
|
|
|
extern struct cbuf_args_s *qtv_args;
|
2010-01-13 06:46:26 +00:00
|
|
|
extern struct cvar_s *sv_timeout;
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2004-02-22 06:19:38 +00:00
|
|
|
struct client_s;
|
|
|
|
|
2010-12-21 00:25:17 +00:00
|
|
|
/** Formatted console printing with possible redirection.
|
|
|
|
|
|
|
|
Parameters are as per printf.
|
|
|
|
|
|
|
|
Calling qtv_begin_redirect() before, and qtv_end_redirect() after a series
|
|
|
|
of calls will redirect output.
|
|
|
|
*/
|
2021-03-27 10:52:59 +00:00
|
|
|
void qtv_printf (const char *fmt, ...) __attribute__((format(PRINTF,1,2)));
|
2010-12-21 00:25:17 +00:00
|
|
|
|
|
|
|
/** Begin redirection of console printing.
|
|
|
|
|
|
|
|
All calls to qtv_printf() between a call to this and qtv_end_redirect()
|
|
|
|
will be redirected.
|
|
|
|
|
|
|
|
\param rd Redirection type.
|
|
|
|
\param cl Destination client of redirected output. Ignored for
|
|
|
|
RD_PACKET redirection, required for RD_CLIENT.
|
|
|
|
*/
|
2004-02-22 06:19:38 +00:00
|
|
|
void qtv_begin_redirect (redirect_t rd, struct client_s *cl);
|
2010-12-21 00:25:17 +00:00
|
|
|
|
|
|
|
/** End redirection of console printing.
|
|
|
|
|
|
|
|
All calls to qtv_printf() between a call to qtv_begin_redirect() and this
|
|
|
|
will be redirected.
|
|
|
|
|
|
|
|
Causes the redirected output to be flushed to the destination set by
|
|
|
|
qtv_begin_redirect ();
|
|
|
|
*/
|
2004-02-21 05:09:02 +00:00
|
|
|
void qtv_end_redirect (void);
|
2001-02-19 21:15:25 +00:00
|
|
|
|
2010-12-21 09:15:31 +00:00
|
|
|
|
|
|
|
void qtv_sbar_init (void);
|
|
|
|
|
2020-02-11 06:20:49 +00:00
|
|
|
///@}
|
2010-12-21 00:25:17 +00:00
|
|
|
|
2004-02-21 05:09:02 +00:00
|
|
|
#endif//__qtv_h
|