00001
00002
00003
00004
00005 #ifndef SNMPV3_H
00006 #define SNMPV3_H
00007
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011
00012 #define MAX_ENGINEID_LENGTH 32
00013
00014 #define ENGINEID_TYPE_IPV4 1
00015 #define ENGINEID_TYPE_IPV6 2
00016 #define ENGINEID_TYPE_MACADDR 3
00017 #define ENGINEID_TYPE_TEXT 4
00018 #define ENGINEID_TYPE_EXACT 5
00019 #define ENGINEID_TYPE_NETSNMP_RND 128
00020
00021 #define DEFAULT_NIC "eth0"
00022
00023 int setup_engineID(u_char ** eidp, const char *text);
00024 void engineID_conf(const char *word, char *cptr);
00025 void engineBoots_conf(const char *, char *);
00026 void engineIDType_conf(const char *, char *);
00027 void engineIDNic_conf(const char *, char *);
00028 void snmpv3_authtype_conf(const char *word, char *cptr);
00029 void snmpv3_privtype_conf(const char *word, char *cptr);
00030 void usm_parse_create_usmUser(const char *token,
00031 char *line);
00032 void init_snmpv3(const char *);
00033 int init_snmpv3_post_config(int majorid, int minorid,
00034 void *serverarg,
00035 void *clientarg);
00036 int init_snmpv3_post_premib_config(int majorid,
00037 int minorid,
00038 void *serverarg,
00039 void *clientarg);
00040 void shutdown_snmpv3(const char *type);
00041 int snmpv3_store(int majorID, int minorID, void *serverarg,
00042 void *clientarg);
00043 u_long snmpv3_local_snmpEngineBoots(void);
00044 int snmpv3_clone_engineID(u_char **, size_t *, u_char *,
00045 size_t);
00046 size_t snmpv3_get_engineID(u_char * buf, size_t buflen);
00047 u_char *snmpv3_generate_engineID(size_t *);
00048 u_long snmpv3_local_snmpEngineTime(void);
00049 int get_default_secLevel(void);
00050 const oid *get_default_authtype(size_t *);
00051 const oid *get_default_privtype(size_t *);
00052 void snmpv3_set_engineBootsAndTime(int boots, int ttime);
00053 int free_engineID(int majorid, int minorid, void *serverarg,
00054 void *clientarg);
00055 int parse_secLevel_conf(const char* word, char *cptr);
00056
00057 #ifdef __cplusplus
00058 }
00059 #endif
00060 #endif