snmp_usm_mib_module.h
Go to the documentation of this file.
1 /**
2  * @file snmp_usm_mib_module.h
3  * @brief SNMP USM MIB module
4  *
5  * @section License
6  *
7  * Copyright (C) 2010-2018 Oryx Embedded SARL. All rights reserved.
8  *
9  * This file is part of CycloneTCP Open.
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software Foundation,
23  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24  *
25  * @author Oryx Embedded SARL (www.oryx-embedded.com)
26  * @version 1.9.0
27  **/
28 
29 #ifndef _SNMP_USM_MIB_MODULE_H
30 #define _SNMP_USM_MIB_MODULE_H
31 
32 //Dependencies
33 #include "mibs/mib_common.h"
34 #include "snmp/snmp_agent.h"
35 
36 //SNMP USM MIB module support
37 #ifndef SNMP_USM_MIB_SUPPORT
38  #define SNMP_USM_MIB_SUPPORT DISABLED
39 #elif (SNMP_USM_MIB_SUPPORT != ENABLED && SNMP_USM_MIB_SUPPORT != DISABLED)
40  #error SNMP_USM_MIB_SUPPORT parameter is not valid
41 #endif
42 
43 //Macro definitions
44 #if (SNMP_USM_MIB_SUPPORT == ENABLED)
45  #define SNMP_USM_MIB_INC_COUNTER32(name, value) snmpUsmMibBase.name += value
46  #define SNMP_USM_MIB_GET_COUNTER32(value, name) value = snmpUsmMibBase.name
47 #else
48  #define SNMP_USM_MIB_INC_COUNTER32(name, value)
49  #define SNMP_USM_MIB_GET_COUNTER32(value, name)
50 #endif
51 
52 //C++ guard
53 #ifdef __cplusplus
54  extern "C" {
55 #endif
56 
57 
58 /**
59  * @brief SNMP USM MIB base
60  **/
61 
62 typedef struct
63 {
71  int32_t usmUserSpinLock;
74 
75 
76 //SNMP USM MIB related constants
78 extern const MibObject snmpUsmMibObjects[];
79 extern const MibModule snmpUsmMibModule;
80 
81 //C++ guard
82 #ifdef __cplusplus
83  }
84 #endif
85 
86 #endif
SnmpAgentContext * context
uint32_t usmStatsNotInTimeWindows
SnmpUserEntry tempUser
#define MibObject
Definition: mib_common.h:44
const MibObject snmpUsmMibObjects[]
SNMP USM MIB objects.
const MibModule snmpUsmMibModule
SNMP USM MIB module.
uint32_t usmStatsUnsupportedSecLevels
User table entry.
uint32_t usmStatsUnknownUserNames
SNMP agent (Simple Network Management Protocol)
SnmpUsmMibBase snmpUsmMibBase
SNMP USM MIB base.
SNMP USM MIB base.
uint32_t usmStatsDecryptionErrors
uint32_t usmStatsWrongDigests
Common definitions for MIB modules.
#define SnmpAgentContext
Definition: snmp_agent.h:34
MIB module.
Definition: mib_common.h:285
uint32_t usmStatsUnknownEngineIDs