]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Added code to return basic statistics
authorglenn <>
Thu, 24 Sep 1998 03:23:33 +0000 (03:23 +0000)
committerglenn <>
Thu, 24 Sep 1998 03:23:33 +0000 (03:23 +0000)
src/dns.cc

index b9eac8429c2ad4f9fcc2af65e916e2e612d2490b..9cb6a2730f9948d262839505ed0c0f4bd0d6dfa4 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dns.cc,v 1.64 1998/09/14 21:58:47 wessels Exp $
+ * $Id: dns.cc,v 1.65 1998/09/23 21:23:33 glenn Exp $
  *
  * DEBUG: section 34    Dnsserver interface
  * AUTHOR: Harvest Derived
@@ -285,3 +285,43 @@ dnsShutdownRead(int fd, void *data)
     cbdataUnlock(dns);
     comm_close(fd);
 }
+
+#ifdef SQUID_SNMP
+/*
+        The function to return the DNS via SNMP
+*/
+
+variable_list *
+snmp_netDnsFn(variable_list * Var, snint * ErrP)
+{
+    variable_list *Answer;
+
+    debug(49, 5) ("snmp_netDnsFn: Processing request:\n", Var->name[LEN_SQ_NET +
+ 1]);
+    snmpDebugOid(5, Var->name, Var->name_length);
+
+    Answer = snmp_var_new(Var->name, Var->name_length);
+    *ErrP = SNMP_ERR_NOERROR;
+    Answer->val_len = sizeof(snint);
+    Answer->val.integer = xmalloc(Answer->val_len);
+    Answer->type = SMI_COUNTER32;
+
+    switch (Var->name[LEN_SQ_NET+1]) {
+    case DNS_REQ:
+        *(Answer->val.integer) = DnsStats.requests;
+        break;
+    case DNS_REP:
+        *(Answer->val.integer) = DnsStats.replies;
+        break;
+    case DNS_SERVERS:
+        *(Answer->val.integer) = NDnsServersAlloc;
+        break;
+    default:
+        *ErrP = SNMP_ERR_NOSUCHNAME;
+        snmp_var_free(Answer);
+        return (NULL);
+    }
+    return Answer;
+}
+
+#endif /*SQUID_SNMP*/