Blame agent/mibgroup/util_funcs.h

Packit fcad23
/*
Packit fcad23
 *  util_funcs.h:  utilitiy functions for extensible groups.
Packit fcad23
 */
Packit fcad23
#ifndef _MIBGROUP_UTIL_FUNCS_H
Packit fcad23
#define _MIBGROUP_UTIL_FUNCS_H
Packit fcad23
Packit fcad23
config_require(util_funcs/header_generic)
Packit fcad23
config_require(util_funcs/header_simple_table)
Packit fcad23
Packit fcad23
#ifdef HAVE_SYS_TYPES_H
Packit fcad23
#include <sys/types.h>
Packit fcad23
#endif
Packit fcad23
#include "util_funcs/header_generic.h"
Packit fcad23
#include "util_funcs/header_simple_table.h"
Packit fcad23
Packit fcad23
#ifdef __cplusplus
Packit fcad23
extern "C" {
Packit fcad23
#endif
Packit fcad23
Packit fcad23
#include "struct.h"
Packit fcad23
Packit fcad23
typedef struct prefix_info
Packit fcad23
{
Packit fcad23
   struct prefix_info *next_info;
Packit fcad23
   unsigned long ipAddressPrefixOnLinkFlag;
Packit fcad23
   unsigned long ipAddressPrefixAutonomousFlag;
Packit fcad23
   char in6p[40];
Packit fcad23
}prefix_cbx;
Packit fcad23
#ifndef WIN32
Packit fcad23
typedef struct 
Packit fcad23
{
Packit fcad23
 prefix_cbx **list_head;
Packit fcad23
}netsnmp_prefix_listen_info;
Packit fcad23
#endif
Packit fcad23
int             shell_command(struct extensible *);
Packit fcad23
int             exec_command(struct extensible *);
Packit fcad23
struct extensible *get_exten_instance(struct extensible *, size_t);
Packit fcad23
int             get_exec_output(struct extensible *);
Packit fcad23
#if defined(WIN32) && !defined(cygwin)
Packit fcad23
int             get_exec_pipes(char *cmd, int *fdIn, int *fdOut, HANDLE *pid);
Packit fcad23
#else
Packit fcad23
int             get_exec_pipes(char *cmd, int *fdIn, int *fdOut, pid_t *pid);
Packit fcad23
#endif
Packit fcad23
WriteMethod     clear_cache;
Packit fcad23
void            print_mib_oid(oid *, size_t);
Packit fcad23
void            sprint_mib_oid(char *, const oid *, size_t);
Packit fcad23
int             checkmib(struct variable *, oid *, size_t *, int, size_t *,
Packit fcad23
                         WriteMethod ** write_method, int);
Packit fcad23
char           *find_field(char *, int);
Packit fcad23
int             parse_miboid(const char *, oid *);
Packit fcad23
void            string_append_int(char *, int);
Packit fcad23
void            wait_on_exec(struct extensible *);
Packit fcad23
const char     *make_tempfile(void);
Packit fcad23
Packit fcad23
prefix_cbx *net_snmp_create_prefix_info(unsigned long OnLinkFlag,
Packit fcad23
                                        unsigned long AutonomousFlag,
Packit fcad23
                                        char *in6ptr);
Packit fcad23
#ifndef WIN32
Packit fcad23
int net_snmp_find_prefix_info(prefix_cbx **head,
Packit fcad23
                              char *address,
Packit fcad23
                              prefix_cbx *node_to_find);
Packit fcad23
int net_snmp_update_prefix_info(prefix_cbx **head,
Packit fcad23
                                prefix_cbx *node_to_update);
Packit fcad23
int net_snmp_search_update_prefix_info(prefix_cbx **head,
Packit fcad23
                                       prefix_cbx *node_to_use,
Packit fcad23
                                       int functionality);
Packit fcad23
int net_snmp_delete_prefix_info(prefix_cbx **head,
Packit fcad23
                                char *address);
Packit fcad23
#endif
Packit fcad23
#define NIP6(addr) \
Packit fcad23
        ntohs((addr).s6_addr16[0]), \
Packit fcad23
        ntohs((addr).s6_addr16[1]), \
Packit fcad23
        ntohs((addr).s6_addr16[2]), \
Packit fcad23
        ntohs((addr).s6_addr16[3]), \
Packit fcad23
        ntohs((addr).s6_addr16[4]), \
Packit fcad23
        ntohs((addr).s6_addr16[5]), \
Packit fcad23
        ntohs((addr).s6_addr16[6]), \
Packit fcad23
        ntohs((addr).s6_addr16[7])
Packit fcad23
Packit fcad23
#define     satosin(x)      ((struct sockaddr_in *) &(x))
Packit fcad23
#define     SOCKADDR(x)     (satosin(x)->sin_addr.s_addr)
Packit fcad23
Packit fcad23
#include "util_funcs/MIB_STATS_CACHE_TIMEOUT.h"
Packit fcad23
Packit fcad23
typedef void   *mib_table_t;
Packit fcad23
typedef int     (RELOAD) (mib_table_t);
Packit fcad23
typedef int     (COMPARE) (const void *, const void *);
Packit fcad23
mib_table_t     Initialise_Table(int, int, RELOAD*, COMPARE*);
Packit fcad23
int             Search_Table(mib_table_t, void *, int);
Packit fcad23
int             Add_Entry(mib_table_t, void *);
Packit fcad23
void           *Retrieve_Table_Data(mib_table_t, int *);
Packit fcad23
Packit fcad23
#ifdef __cplusplus
Packit fcad23
}
Packit fcad23
#endif
Packit fcad23
Packit fcad23
#endif                          /* _MIBGROUP_UTIL_FUNCS_H */