2007-07-23 11:42:23 +00:00
# define MAX_ARGS 8
# define ARG_LEN 512
typedef struct cmdctxt_s cmdctxt_t ;
struct cmdctxt_s {
cluster_t * cluster ;
2009-07-07 23:40:06 +00:00
sv_t * qtv ;
int streamid ; //streamid, which is valid even if qtv is not, for specifying the streamid to use on connects
2007-07-23 11:42:23 +00:00
char * arg [ MAX_ARGS ] ;
int argc ;
void ( * printfunc ) ( cmdctxt_t * ctx , char * str ) ;
void * printcookie ;
int printcookiesize ; //tis easier
qboolean localcommand ;
} ;
typedef void ( * consolecommand_t ) ( cmdctxt_t * ctx ) ;
void Cmd_Printf ( cmdctxt_t * ctx , char * fmt , . . . ) ;
# define Cmd_Argc(ctx) ctx->argc
# define Cmd_Argv(ctx, num) (((unsigned int)ctx->argc <= (unsigned int)(num))?"": ctx->arg[num])
# define Cmd_IsLocal(ctx) ctx->localcommand
void Cmd_ExecuteNow ( cmdctxt_t * ctx , char * command ) ;
char * Rcon_Command ( cluster_t * cluster , sv_t * source , char * command , char * resultbuffer , int resultbuffersize , int islocalcommand ) ; //prints the command prints to an internal buffer