summaryrefslogtreecommitdiff
path: root/agent/mibgroup/util_funcs.h
diff options
context:
space:
mode:
Diffstat (limited to 'agent/mibgroup/util_funcs.h')
-rw-r--r--agent/mibgroup/util_funcs.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/agent/mibgroup/util_funcs.h b/agent/mibgroup/util_funcs.h
new file mode 100644
index 0000000..7f59780
--- /dev/null
+++ b/agent/mibgroup/util_funcs.h
@@ -0,0 +1,97 @@
+/*
+ * util_funcs.h: utilitiy functions for extensible groups.
+ */
+#ifndef _MIBGROUP_UTIL_FUNCS_H
+#define _MIBGROUP_UTIL_FUNCS_H
+
+config_require(util_funcs/header_generic)
+config_require(util_funcs/header_simple_table)
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include "util_funcs/header_generic.h"
+#include "util_funcs/header_simple_table.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "struct.h"
+
+typedef struct prefix_info
+{
+ struct prefix_info *next_info;
+ unsigned long ipAddressPrefixOnLinkFlag;
+ unsigned long ipAddressPrefixAutonomousFlag;
+ char in6p[40];
+}prefix_cbx;
+#ifndef WIN32
+typedef struct
+{
+ prefix_cbx **list_head;
+}netsnmp_prefix_listen_info;
+#endif
+int shell_command(struct extensible *);
+int exec_command(struct extensible *);
+struct extensible *get_exten_instance(struct extensible *, size_t);
+int get_exec_output(struct extensible *);
+#if defined(WIN32) && !defined(cygwin)
+int get_exec_pipes(char *cmd, int *fdIn, int *fdOut, HANDLE *pid);
+#else
+int get_exec_pipes(char *cmd, int *fdIn, int *fdOut, pid_t *pid);
+#endif
+WriteMethod clear_cache;
+void print_mib_oid(oid *, size_t);
+void sprint_mib_oid(char *, const oid *, size_t);
+int checkmib(struct variable *, oid *, size_t *, int, size_t *,
+ WriteMethod ** write_method, int);
+char *find_field(char *, int);
+int parse_miboid(const char *, oid *);
+void string_append_int(char *, int);
+void wait_on_exec(struct extensible *);
+const char *make_tempfile(void);
+
+prefix_cbx *net_snmp_create_prefix_info(unsigned long OnLinkFlag,
+ unsigned long AutonomousFlag,
+ char *in6ptr);
+#ifndef WIN32
+int net_snmp_find_prefix_info(prefix_cbx **head,
+ char *address,
+ prefix_cbx *node_to_find);
+int net_snmp_update_prefix_info(prefix_cbx **head,
+ prefix_cbx *node_to_update);
+int net_snmp_search_update_prefix_info(prefix_cbx **head,
+ prefix_cbx *node_to_use,
+ int functionality);
+int net_snmp_delete_prefix_info(prefix_cbx **head,
+ char *address);
+#endif
+#define NIP6(addr) \
+ ntohs((addr).s6_addr16[0]), \
+ ntohs((addr).s6_addr16[1]), \
+ ntohs((addr).s6_addr16[2]), \
+ ntohs((addr).s6_addr16[3]), \
+ ntohs((addr).s6_addr16[4]), \
+ ntohs((addr).s6_addr16[5]), \
+ ntohs((addr).s6_addr16[6]), \
+ ntohs((addr).s6_addr16[7])
+
+#define satosin(x) ((struct sockaddr_in *) &(x))
+#define SOCKADDR(x) (satosin(x)->sin_addr.s_addr)
+
+#include "util_funcs/MIB_STATS_CACHE_TIMEOUT.h"
+
+typedef void *mib_table_t;
+typedef int (RELOAD) (mib_table_t);
+typedef int (COMPARE) (const void *, const void *);
+mib_table_t Initialise_Table(int, int, RELOAD*, COMPARE*);
+int Search_Table(mib_table_t, void *, int);
+int Add_Entry(mib_table_t, void *);
+void *Retrieve_Table_Data(mib_table_t, int *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MIBGROUP_UTIL_FUNCS_H */