summaryrefslogtreecommitdiff
path: root/agent/mibgroup/snmpv3/usmUser.h
blob: 53d1412c74fc59e3bb1d2e679c0a17b5aa9858d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
 * usmUser.h
 *
 */

#ifndef _MIBGROUP_USMUSER_H
#define _MIBGROUP_USMUSER_H

#include <net-snmp/library/snmpusm.h>

/*
 * <...prefix>.<engineID_length>.<engineID>.<user_name_length>.<user_name>
 * = 1 + 32 + 1 + 32 
 */
#define USM_LENGTH_OID_MAX	66

/*
 * we use header_generic from the util_funcs module
 */

config_require(util_funcs/header_generic)
config_add_mib(SNMP-USER-BASED-SM-MIB)

    /*
     * Magic number definitions: 
     */
#define   USMUSERSPINLOCK       1
#define   USMUSERSECURITYNAME   2
#define   USMUSERCLONEFROM      3
#define   USMUSERAUTHPROTOCOL   4
#define   USMUSERAUTHKEYCHANGE  5
#define   USMUSEROWNAUTHKEYCHANGE  6
#define   USMUSERPRIVPROTOCOL   7
#define   USMUSERPRIVKEYCHANGE  8
#define   USMUSEROWNPRIVKEYCHANGE  9
#define   USMUSERPUBLIC         10
#define   USMUSERSTORAGETYPE    11
#define   USMUSERSTATUS         12
    /*
     * function definitions 
     */
     extern void     init_usmUser(void);
     extern FindVarMethod var_usmUser;
     void init_register_usmUser_context(const char *contextName);

     void            shutdown_usmUser(void);
     int             store_usmUser(int majorID, int minorID,
                                   void *serverarg, void *clientarg);
     oid            *usm_generate_OID(oid * prefix, size_t prefixLen,
                                      struct usmUser *uptr,
                                      size_t * length);
     int             usm_parse_oid(oid * oidIndex, size_t oidLen,
                                   unsigned char **engineID,
                                   size_t * engineIDLen,
                                   unsigned char **name, size_t * nameLen);

#ifndef NETSNMP_NO_WRITE_SUPPORT 
     WriteMethod     write_usmUserSpinLock;
     WriteMethod     write_usmUserCloneFrom;
     WriteMethod     write_usmUserAuthProtocol;
     WriteMethod     write_usmUserAuthKeyChange;
     WriteMethod     write_usmUserPrivProtocol;
     WriteMethod     write_usmUserPrivKeyChange;
     WriteMethod     write_usmUserPublic;
     WriteMethod     write_usmUserStorageType;
     WriteMethod     write_usmUserStatus;
#endif /* !NETSNMP_NO_WRITE_SUPPORT */ 

#endif                          /* _MIBGROUP_USMUSER_H */