added files
[bcm963xx.git] / userapps / opensource / net-snmp / agent / mibgroup / snmpv3 / usmUser.h
1 /*
2  * usmUser.h
3  *
4  */
5
6 #ifndef _MIBGROUP_USMUSER_H
7 #define _MIBGROUP_USMUSER_H
8
9 #include <net-snmp/library/snmpusm.h>
10
11 /*
12  * <...prefix>.<engineID_length>.<engineID>.<user_name_length>.<user_name>
13  * = 1 + 32 + 1 + 32 
14  */
15 #define USM_LENGTH_OID_MAX      66
16
17 /*
18  * we use header_generic and checkmib from the util_funcs module 
19  */
20
21 config_require(util_funcs)
22 config_add_mib(SNMP-USER-BASED-SM-MIB)
23
24     /*
25      * Magic number definitions: 
26      */
27 #define   USMUSERSPINLOCK       1
28 #define   USMUSERSECURITYNAME   2
29 #define   USMUSERCLONEFROM      3
30 #define   USMUSERAUTHPROTOCOL   4
31 #define   USMUSERAUTHKEYCHANGE  5
32 #define   USMUSEROWNAUTHKEYCHANGE  6
33 #define   USMUSERPRIVPROTOCOL   7
34 #define   USMUSERPRIVKEYCHANGE  8
35 #define   USMUSEROWNPRIVKEYCHANGE  9
36 #define   USMUSERPUBLIC         10
37 #define   USMUSERSTORAGETYPE    11
38 #define   USMUSERSTATUS         12
39     /*
40      * function definitions 
41      */
42      extern void     init_usmUser(void);
43      extern FindVarMethod var_usmUser;
44
45      void            shutdown_usmUser(void);
46      int             store_usmUser(int majorID, int minorID,
47                                    void *serverarg, void *clientarg);
48      oid            *usm_generate_OID(oid * prefix, size_t prefixLen,
49                                       struct usmUser *uptr,
50                                       size_t * length);
51      int             usm_parse_oid(oid * oidIndex, size_t oidLen,
52                                    unsigned char **engineID,
53                                    size_t * engineIDLen,
54                                    unsigned char **name, size_t * nameLen);
55
56      WriteMethod     write_usmUserSpinLock;
57      WriteMethod     write_usmUserCloneFrom;
58      WriteMethod     write_usmUserAuthProtocol;
59      WriteMethod     write_usmUserAuthKeyChange;
60      WriteMethod     write_usmUserPrivProtocol;
61      WriteMethod     write_usmUserPrivKeyChange;
62      WriteMethod     write_usmUserPublic;
63      WriteMethod     write_usmUserStorageType;
64      WriteMethod     write_usmUserStatus;
65
66 #endif                          /* _MIBGROUP_USMUSER_H */