#ifndef NET_SNMP_MIB_API_H #define NET_SNMP_MIB_API_H /** * Library API routines concerned with MIB files and objects, and OIDs */ #include #ifdef __cplusplus extern "C" { #endif /* Initialisation and Shutdown */ NETSNMP_IMPORT int add_mibdir(const char *); NETSNMP_IMPORT void netsnmp_init_mib(void); #ifndef NETSNMP_NO_LEGACY_DEFINITIONS NETSNMP_IMPORT void init_mib(void); NETSNMP_IMPORT void init_mib_internals(void); #endif NETSNMP_IMPORT void shutdown_mib(void); /* Reading and Parsing MIBs */ NETSNMP_IMPORT struct tree *netsnmp_read_module(const char *); #ifndef NETSNMP_NO_LEGACY_DEFINITIONS NETSNMP_IMPORT struct tree *read_module(const char *); #endif NETSNMP_IMPORT struct tree *read_mib(const char *); NETSNMP_IMPORT struct tree *read_all_mibs(void); NETSNMP_IMPORT void add_module_replacement(const char *, const char *, const char *, int); /* from ucd-compat.h */ NETSNMP_IMPORT void snmp_set_mib_warnings(int); NETSNMP_IMPORT void snmp_set_mib_errors(int); NETSNMP_IMPORT void snmp_set_save_descriptions(int); /* Searching the MIB Tree */ NETSNMP_IMPORT int read_objid(const char *, oid *, size_t *); NETSNMP_IMPORT oid *snmp_parse_oid(const char *, oid *, size_t *); NETSNMP_IMPORT int get_module_node(const char *, const char *, oid *, size_t *); /* Output */ NETSNMP_IMPORT void print_mib(FILE * fp); NETSNMP_IMPORT void print_objid(const oid * objid, size_t objidlen); NETSNMP_IMPORT void fprint_objid(FILE * fp, const oid * objid, size_t objidlen); NETSNMP_IMPORT int snprint_objid(char *buf, size_t buf_len, const oid * objid, size_t objidlen); NETSNMP_IMPORT void print_description(oid * objid, size_t objidlen, int width); NETSNMP_IMPORT void fprint_description(FILE * fp, oid * objid, size_t objidlen, int width); NETSNMP_IMPORT int snprint_description(char *buf, size_t buf_len, oid * objid, size_t objidlen, int width); #ifdef __cplusplus } #endif /* * Having extracted the main ("public API") calls relevant * to this area of the Net-SNMP project, the next step is to * identify the related "public internal API" routines. * * In due course, these should probably be gathered * together into a companion 'library/mib_api.h' header file. * [Or some suitable name] * * But for the time being, the expectation is that the * traditional headers that provided the above definitions * will probably also cover the relevant internal API calls. * Hence they are listed here: */ #include #include #ifndef NETSNMP_DISABLE_MIB_LOADING #include #endif #include #include #include #endif /* NET_SNMP_MIB_API_H */