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 128
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_NETSNMP_RND 128
00019
00020 #define DEFAULT_NIC "eth0"
00021
00022 int setup_engineID(u_char ** eidp, const char *text);
00023 void engineID_conf(const char *word, char *cptr);
00024 void engineBoots_conf(const char *, char *);
00025 void engineIDType_conf(const char *, char *);
00026 void engineIDNic_conf(const char *, char *);
00027 void snmpv3_authtype_conf(const char *word, char *cptr);
00028 void snmpv3_privtype_conf(const char *word, char *cptr);
00029 void usm_parse_create_usmUser(const char *token,
00030 char *line);
00031 void init_snmpv3(const char *);
00032 int init_snmpv3_post_config(int majorid, int minorid,
00033 void *serverarg,
00034 void *clientarg);
00035 int init_snmpv3_post_premib_config(int majorid,
00036 int minorid,
00037 void *serverarg,
00038 void *clientarg);
00039 void shutdown_snmpv3(const char *type);
00040 int snmpv3_store(int majorID, int minorID, void *serverarg,
00041 void *clientarg);
00042 u_long snmpv3_local_snmpEngineBoots(void);
00043 int snmpv3_clone_engineID(u_char **, size_t *, u_char *,
00044 size_t);
00045 size_t snmpv3_get_engineID(u_char * buf, size_t buflen);
00046 u_char *snmpv3_generate_engineID(size_t *);
00047 u_long snmpv3_local_snmpEngineTime(void);
00048 int get_default_secLevel(void);
00049 const oid *get_default_authtype(size_t *);
00050 const oid *get_default_privtype(size_t *);
00051 void snmpv3_set_engineBootsAndTime(int boots, int ttime);
00052 int free_engineID(int majorid, int minorid, void *serverarg,
00053 void *clientarg);
00054 int parse_secLevel_conf(const char* word, char *cptr);
00055
00056 #ifdef __cplusplus
00057 }
00058 #endif
00059 #endif