summaryrefslogtreecommitdiff
path: root/include/net-snmp/data_access/swinst.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net-snmp/data_access/swinst.h')
-rw-r--r--include/net-snmp/data_access/swinst.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/include/net-snmp/data_access/swinst.h b/include/net-snmp/data_access/swinst.h
new file mode 100644
index 0000000..0e28df1
--- /dev/null
+++ b/include/net-snmp/data_access/swinst.h
@@ -0,0 +1,77 @@
+/* Portions of this file are subject to the following copyright(s). See
+ * the Net-SNMP's COPYING file for more details and other copyrights
+ * that may apply:
+ */
+/*
+ * Portions of this file are copyrighted by:
+ * Copyright (C) 2007 Apple, Inc. All rights reserved.
+ * Use is subject to license terms specified in the COPYING file
+ * distributed with the Net-SNMP package.
+ */
+#ifndef NETSNMP_SWINST_H
+#define NETSNMP_SWINST_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ * Data structure for a swinst entry
+ */
+ typedef struct hrSWInstalledTable_entry {
+ netsnmp_index oid_index;
+
+ /*
+ * Index values; MIB type is int32, but we use oid so this
+ * structure can be used directly with a table_container.
+ */
+ oid swIndex;
+
+ /*
+ * Column values
+ */
+ char swName[64];
+ char swDate[11];
+#ifdef NETSNMP_HAVE_SWID
+ oid *swID;
+ u_char swID_len;
+#endif
+ u_char swType;
+ u_char swName_len;
+ u_char swDate_len;
+ } netsnmp_swinst_entry;
+
+#define HRSWINSTALLEDTYPE_UNKNOWN 1
+#define HRSWINSTALLEDTYPE_OPERATINGSYSTEM 2
+#define HRSWINSTALLEDTYPE_DEVICEDRIVER 3
+#define HRSWINSTALLEDTYPE_APPLICATION 4
+
+
+#define NETSNMP_SWINST_NOFLAGS 0x00000000
+
+#define NETSNMP_SWINST_ALL_OR_NONE 0x00000001
+#define NETSNMP_SWINST_DONT_FREE_ITEMS 0x00000002
+
+ netsnmp_container *
+ netsnmp_swinst_container_load(netsnmp_container *container, int flags );
+
+ void netsnmp_swinst_container_free(netsnmp_container *container,
+ u_int flags);
+ void netsnmp_swinst_container_free_items(netsnmp_container *container);
+
+ void netsnmp_swinst_entry_remove(netsnmp_container * container,
+ netsnmp_swinst_entry *entry);
+
+ netsnmp_swinst_entry * netsnmp_swinst_entry_create(int32_t index);
+ void netsnmp_swinst_entry_free(netsnmp_swinst_entry *entry);
+
+ int32_t netsnmp_swinst_add_name(const char *name);
+ int32_t netsnmp_swinst_get_id(const char *name);
+ const char * netsnmp_swinst_get_name(int32_t id);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* NETSNMP_SWINST_H */