snmp_mib_impl.c File Reference

SNMP MIB module implementation. More...

#include "core/net.h"
#include "mibs/mib_common.h"
#include "mibs/snmp_mib_module.h"
#include "mibs/snmp_mib_impl.h"
#include "snmp/snmp_agent.h"
#include "core/crypto.h"
#include "encoding/asn1.h"
#include "encoding/oid.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   SNMP_TRACE_LEVEL
 

Functions

error_t snmpMibInit (void)
 SNMP MIB module initialization. More...
 
error_t snmpMibLoad (void *context)
 Load SNMP MIB module. More...
 
void snmpMibUnload (void *context)
 Unload SNMP MIB module. More...
 
void snmpMibLock (void)
 Lock SNMP MIB base. More...
 
void snmpMibUnlock (void)
 Unlock SNMP MIB base. More...
 
error_t snmpMibGetSysUpTime (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get sysUpTime object value. More...
 
error_t snmpMibGetSysOREntry (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get sysOREntry object value. More...
 
error_t snmpMibGetNextSysOREntry (const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
 Get next sysOREntry object. More...
 
error_t snmpv2MibGetSnmpTrapOID (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get snmpTrapOID object value. More...
 
error_t snmpv2MibGetSnmpTrapEnterprise (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get snmpTrapEnterprise object value. More...
 
error_t snmpMibSetSnmpSetSerialNo (const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
 Set snmpSetSerialNo object value. More...
 
error_t snmpMibGetSnmpSetSerialNo (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get snmpSetSerialNo object value. More...
 

Detailed Description

SNMP MIB module implementation.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file snmp_mib_impl.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   SNMP_TRACE_LEVEL

Definition at line 32 of file snmp_mib_impl.c.

Function Documentation

◆ snmpMibGetNextSysOREntry()

error_t snmpMibGetNextSysOREntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
uint8_t *  nextOid,
size_t *  nextOidLen 
)

Get next sysOREntry object.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier
[in]oidLenLength of the OID, in bytes
[out]nextOidOID of the next object in the MIB
[out]nextOidLenLength of the next object identifier, in bytes
Returns
Error code

Definition at line 297 of file snmp_mib_impl.c.

◆ snmpMibGetSnmpSetSerialNo()

error_t snmpMibGetSnmpSetSerialNo ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get snmpSetSerialNo object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 440 of file snmp_mib_impl.c.

◆ snmpMibGetSysOREntry()

error_t snmpMibGetSysOREntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get sysOREntry object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 194 of file snmp_mib_impl.c.

◆ snmpMibGetSysUpTime()

error_t snmpMibGetSysUpTime ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get sysUpTime object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 173 of file snmp_mib_impl.c.

◆ snmpMibInit()

error_t snmpMibInit ( void  )

SNMP MIB module initialization.

Returns
Error code

Definition at line 54 of file snmp_mib_impl.c.

◆ snmpMibLoad()

error_t snmpMibLoad ( void *  context)

Load SNMP MIB module.

Parameters
[in]contextPointer to the SNMP agent context
Returns
Error code

Definition at line 123 of file snmp_mib_impl.c.

◆ snmpMibLock()

void snmpMibLock ( void  )

Lock SNMP MIB base.

Definition at line 149 of file snmp_mib_impl.c.

◆ snmpMibSetSnmpSetSerialNo()

error_t snmpMibSetSnmpSetSerialNo ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
const MibVariant value,
size_t  valueLen,
bool_t  commit 
)

Set snmpSetSerialNo object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[in]valueObject value
[in]valueLenLength of the object value, in bytes
[in]commitThis flag tells whether the changes shall be committed to the MIB base
Returns
Error code

Definition at line 421 of file snmp_mib_impl.c.

◆ snmpMibUnload()

void snmpMibUnload ( void *  context)

Unload SNMP MIB module.

Parameters
[in]contextPointer to the SNMP agent context

Definition at line 138 of file snmp_mib_impl.c.

◆ snmpMibUnlock()

void snmpMibUnlock ( void  )

Unlock SNMP MIB base.

Definition at line 158 of file snmp_mib_impl.c.

◆ snmpv2MibGetSnmpTrapEnterprise()

error_t snmpv2MibGetSnmpTrapEnterprise ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get snmpTrapEnterprise object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 382 of file snmp_mib_impl.c.

◆ snmpv2MibGetSnmpTrapOID()

error_t snmpv2MibGetSnmpTrapOID ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get snmpTrapOID object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 361 of file snmp_mib_impl.c.