diff options
Diffstat (limited to 'agent/mibgroup/util_funcs.h')
-rw-r--r-- | agent/mibgroup/util_funcs.h | 97 |
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 */ |