+/*
+=========
+VM_M_gethostcachecount
+
+float gethostcachevalue(float type)
+=========
+*/
+/*
+ type:
+0 hostcachecount
+1 masterquerycount
+2 masterreplycount
+3 serverquerycount
+4 serverreplycount
+*/
+void VM_M_gethostcachevalue( void )
+{
+ int type;
+ VM_SAFEPARMCOUNT ( 1, VM_M_gethostcachevalue );
+
+ PRVM_G_FLOAT( OFS_RETURN ) = 0;
+
+ type = PRVM_G_FLOAT( OFS_PARM0 );
+ if( type < 0 || type > 4 )
+ Con_Printf ( "VM_M_gethostcachevalue: bad type %i!\n", type );
+ else switch(type)
+ {
+ case 0:
+ PRVM_G_FLOAT ( OFS_RETURN ) = hostCacheCount;
+ return;
+ case 1:
+ PRVM_G_FLOAT ( OFS_RETURN ) = masterquerycount;
+ return;
+ case 2:
+ PRVM_G_FLOAT ( OFS_RETURN ) = masterreplycount;
+ case 3:
+ PRVM_G_FLOAT ( OFS_RETURN ) = serverquerycount;
+ case 4:
+ PRVM_G_FLOAT ( OFS_RETURN ) = serverreplycount;
+ }
+}
+
+/*
+=========
+VM_M_gethostcachestring
+
+string gethostcachestring(float type, float hostnr)
+=========
+*/
+/*
+0 Get CName
+1 Get line1
+2 Get line2
+*/
+void VM_M_gethostcachestring(void)
+{
+ int type;
+ int hostnr;
+
+ VM_SAFEPARMCOUNT(2, VM_M_gethostcachestring);
+
+ PRVM_G_INT(OFS_RETURN) = 0;
+
+ type = PRVM_G_FLOAT(OFS_PARM0);
+
+ if(type < 0 || type > 2)
+ {
+ Con_Printf("VM_M_gethostcachestring: bad string type requested!\n");
+ return;
+ }
+
+ hostnr = PRVM_G_FLOAT(OFS_PARM1);
+
+ if(hostnr < 0 || hostnr >= hostCacheCount)
+ {
+ Con_Printf("VM_M_gethostcachestring: bad hostnr passed!\n");
+ return;
+ }
+
+ if( type == 0 )
+ PRVM_G_INT( OFS_RETURN ) = PRVM_SetString( hostcache[hostnr].cname );
+ else if( type == 1 )
+ PRVM_G_INT( OFS_RETURN ) = PRVM_SetString( hostcache[hostnr].line1 );
+ else
+ PRVM_G_INT( OFS_RETURN ) = PRVM_SetString( hostcache[hostnr].line2 );
+}
+