]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - include/snmp_vars.h
SourceFormat: enforcement
[thirdparty/squid.git] / include / snmp_vars.h
index fc2897e65631995dc22da884f76cb65661b36d06..020919f09bcc7f28665c5e836786a4aa0af7ffe6 100644 (file)
@@ -1,13 +1,12 @@
-/* -*- c++ -*- */
-#ifndef _SNMP_VARS_H_
-#define _SNMP_VARS_H_
+#ifndef SQUID_SNMP_VARS_H
+#define SQUID_SNMP_VARS_H
 
 /**********************************************************************
  *
  *           Copyright 1997 by Carnegie Mellon University
- * 
+ *
  *                       All Rights Reserved
- * 
+ *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation for any purpose and without fee is hereby granted,
  * provided that the above copyright notice appear in all copies and that
@@ -15,7 +14,7 @@
  * supporting documentation, and that the name of CMU not be
  * used in advertising or publicity pertaining to distribution of the
  * software without specific, written prior permission.
- * 
+ *
  * CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  * CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  * SOFTWARE.
- * 
+ *
  * Author: Ryan Troll <ryan+@andrew.cmu.edu>
- * 
- * $Id: snmp_vars.h,v 1.9 2001/01/07 09:55:22 hno Exp $
- * 
+ *
+ * $Id$
+ *
  **********************************************************************/
 
-struct variable_list {
-    struct variable_list *next_variable;       /* NULL for last variable */
-    oid *name;                 /* Object identifier of variable */
-    int name_length;           /* number of subid's in name */
-    u_char type;               /* ASN type of variable */
-    union {                    /* value of variable */
-       int *integer;
-       u_char *string;
-       oid *objid;
-    } val;
-    int val_len;
-};
+#include "asn1.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+    struct variable_list {
+        struct variable_list *next_variable;   /* NULL for last variable */
+        oid *name;                     /* Object identifier of variable */
+        int name_length;               /* number of subid's in name */
+        u_char type;           /* ASN type of variable */
+        union {                        /* value of variable */
+            int *integer;
+            u_char *string;
+            oid *objid;
+        } val;
+        int val_len;
+    };
+
     struct variable_list *snmp_var_new(oid *, int);
     struct variable_list *snmp_var_new_integer(oid *, int, int, unsigned char);
     struct variable_list *snmp_var_clone(struct variable_list *);
@@ -55,13 +56,12 @@ extern "C" {
     u_char *snmp_var_EncodeVarBind(u_char *, int *, struct variable_list *, int);
     u_char *snmp_var_DecodeVarBind(u_char *, int *, struct variable_list **, int);
 
-#ifdef __cplusplus
-}
+#define MAX_NAME_LEN   64      /* number of subid's in a objid */
 
-#endif
-#define MAX_NAME_LEN   64      /* number of subid's in a objid *//*      *RFC 1902:Structure of Management Information for SNMPv2      *      *Defined Types
-*
-      */
+    /* RFC 1902: Structure of Management Information for SNMPv2
+     *
+     * Defined Types
+     */
 #define SMI_INTEGER     ASN_INTEGER
 #define SMI_STRING      ASN_OCTET_STR
 #define SMI_OBJID       ASN_OBJECT_ID
@@ -73,10 +73,52 @@ extern "C" {
 #define SMI_TIMETICKS  (ASN_APPLICATION | 3)   /* INTEGER */
 #define SMI_OPAQUE     (ASN_APPLICATION | 4)   /* OCTET STRING */
 #define SMI_COUNTER64  (ASN_APPLICATION | 6)   /* INTEGER */
-#define SMI_NOSUCHOBJECT   (ASN_CONTEXT | ASN_PRIMITIVE | 0x0)
-#define SMI_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x1)
-#define SMI_ENDOFMIBVIEW   (ASN_CONTEXT | ASN_PRIMITIVE | 0x2)
-typedef struct variable variable;
-typedef struct variable_list variable_list;
 
-#endif /* _SNMP_VARS_H_ */
+
+    /* constants for enums for the MIB nodes
+     * cachePeerAddressType (InetAddressType / ASN_INTEGER)
+     * cacheClientAddressType (InetAddressType / ASN_INTEGER)
+     * Defined Types
+     */
+
+#ifndef INETADDRESSTYPE_ENUMS
+#define INETADDRESSTYPE_ENUMS
+
+#define INETADDRESSTYPE_UNKNOWN  0
+#define INETADDRESSTYPE_IPV4  1
+#define INETADDRESSTYPE_IPV6  2
+#define INETADDRESSTYPE_IPV4Z  3
+#define INETADDRESSTYPE_IPV6Z  4
+#define INETADDRESSTYPE_DNS  16
+
+#endif                          /* INETADDRESSTYPE_ENUMS */
+
+
+    /*
+     * RFC 1905: Protocol Operations for SNMPv2
+     *
+     * Variable binding.
+     *
+     * VarBind ::=
+     *   SEQUENCE {
+     *     name ObjectName
+     *     CHOICE {
+     *       value ObjectSyntax
+     *       unSpecified NULL
+     *       noSuchObject[0] NULL
+     *       noSuchInstance[1] NULL
+     *       endOfMibView[2] NULL
+     *     }
+     *   }
+     */
+#define SMI_NOSUCHOBJECT   (ASN_CONTEXT | ASN_PRIMITIVE | 0x0) /* noSuchObject[0] */
+#define SMI_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x1) /* noSuchInstance[1] */
+#define SMI_ENDOFMIBVIEW   (ASN_CONTEXT | ASN_PRIMITIVE | 0x2) /* endOfMibView[2] */
+    typedef struct variable variable;
+    typedef struct variable_list variable_list;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SQUID_SNMP_VARS_H */