blob: 4fbfb9ed96dbce61fd788b00181e8c66a3546803 [file] [log] [blame]
/*
* Dynamic Loadable Agent Modules MIB (UCD-DLMOD-MIB) - dlmod.h
*
*/
#ifndef _MIBGROUP_DLMOD_H
#define _MIBGROUP_DLMOD_H
/*
* TODO #include "mibdefs.h"
*/
#if (!defined(HAVE_DLFCN_H) || !defined(HAVE_DLOPEN)) && !defined(WIN32)
config_error(Dynamic modules not supported on this platform)
#endif
config_add_mib(UCD-DLMOD-MIB)
#ifndef SNMPDLMODPATH
#define SNMPDLMODPATH "/usr/local/lib/snmp/dlmod"
#endif
struct dlmod {
struct dlmod *next;
int index;
char name[64 + 1];
char path[255 + 1];
char error[255 + 1];
void *handle;
int status;
};
void dlmod_load_module(struct dlmod *);
void dlmod_unload_module(struct dlmod *);
struct dlmod *dlmod_create_module(void);
void dlmod_delete_module(struct dlmod *);
struct dlmod *dlmod_get_by_index(int);
void dlmod_init(void);
void dlmod_deinit(void);
extern void init_dlmod(void);
extern void deinit_dlmod(void);
extern FindVarMethod var_dlmod;
extern FindVarMethod var_dlmodEntry;
extern WriteMethod write_dlmodName;
extern WriteMethod write_dlmodPath;
extern WriteMethod write_dlmodStatus;
#define DLMODNEXTINDEX 1
#define DLMODINDEX 2
#define DLMODNAME 3
#define DLMODPATH 4
#define DLMODERROR 5
#define DLMODSTATUS 6
#define DLMOD_LOADED 1
#define DLMOD_UNLOADED 2
#define DLMOD_ERROR 3
#define DLMOD_LOAD 4
#define DLMOD_UNLOAD 5
#define DLMOD_CREATE 6
#define DLMOD_DELETE 7
#endif /* _MIBGROUP_DLMOD_H */