Mistake on this page?
Report an issue in GitHub or email us
lwip_snmp_core_priv.h
1 /*
2  * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without modification,
6  * are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * 3. The name of the author may not be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25  * OF SUCH DAMAGE.
26  *
27  * This file is part of the lwIP TCP/IP stack.
28  *
29  * Author: Martin Hentschel <info@cl-soft.de>
30  *
31  */
32 
33 #ifndef LWIP_HDR_APPS_SNMP_CORE_PRIV_H
34 #define LWIP_HDR_APPS_SNMP_CORE_PRIV_H
35 
36 #include "lwip/apps/snmp_opts.h"
37 
38 #if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */
39 
40 #include "lwip/apps/snmp_core.h"
41 #include "snmp_asn1.h"
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 /* (outdated) SNMPv1 error codes
48  * shall not be used by MIBS anymore, nevertheless required from core for properly answering a v1 request
49  */
50 #define SNMP_ERR_NOSUCHNAME 2
51 #define SNMP_ERR_BADVALUE 3
52 #define SNMP_ERR_READONLY 4
53 /* error codes which are internal and shall not be used by MIBS
54  * shall not be used by MIBS anymore, nevertheless required from core for properly answering a v1 request
55  */
56 #define SNMP_ERR_TOOBIG 1
57 #define SNMP_ERR_AUTHORIZATIONERROR 16
58 
59 #define SNMP_ERR_UNKNOWN_ENGINEID 30
60 #define SNMP_ERR_UNKNOWN_SECURITYNAME 31
61 #define SNMP_ERR_UNSUPPORTED_SECLEVEL 32
62 #define SNMP_ERR_NOTINTIMEWINDOW 33
63 #define SNMP_ERR_DECRYIPTION_ERROR 34
64 
65 #define SNMP_ERR_NOSUCHOBJECT SNMP_VARBIND_EXCEPTION_OFFSET + SNMP_ASN1_CONTEXT_VARBIND_NO_SUCH_OBJECT
66 #define SNMP_ERR_ENDOFMIBVIEW SNMP_VARBIND_EXCEPTION_OFFSET + SNMP_ASN1_CONTEXT_VARBIND_END_OF_MIB_VIEW
67 
68 
69 const struct snmp_node *snmp_mib_tree_resolve_exact(const struct snmp_mib *mib, const u32_t *oid, u8_t oid_len, u8_t *oid_instance_len);
70 const struct snmp_node *snmp_mib_tree_resolve_next(const struct snmp_mib *mib, const u32_t *oid, u8_t oid_len, struct snmp_obj_id *oidret);
71 
72 typedef u8_t (*snmp_validate_node_instance_method)(struct snmp_node_instance *, void *);
73 
74 u8_t snmp_get_node_instance_from_oid(const u32_t *oid, u8_t oid_len, struct snmp_node_instance *node_instance);
75 u8_t snmp_get_next_node_instance_from_oid(const u32_t *oid, u8_t oid_len, snmp_validate_node_instance_method validate_node_instance_method, void *validate_node_instance_arg, struct snmp_obj_id *node_oid, struct snmp_node_instance *node_instance);
76 
77 #ifdef __cplusplus
78 }
79 #endif
80 
81 #endif /* LWIP_SNMP */
82 
83 #endif /* LWIP_HDR_APPS_SNMP_CORE_PRIV_H */
SNMP core API for implementing MIBs.
SNMP server options list.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.