98 lines
3.2 KiB
C
98 lines
3.2 KiB
C
/*
|
|
* 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 */
|