Official mbed lwIP library (version 1.4.0)

Dependents:   LwIPNetworking NetServicesMin EthernetInterface EthernetInterface_RSF ... more

Legacy Networking Libraries

This is an mbed 2 networking library. For mbed OS 5, lwip has been integrated with built-in networking interfaces. The networking libraries have been revised to better support additional network stacks and thread safety here.

This library is based on the code of lwIP v1.4.0

Copyright (c) 2001, 2002 Swedish Institute of Computer Science.
All rights reserved. 

Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
   derived from this software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
OF SUCH DAMAGE.
Committer:
mbed_official
Date:
Mon Mar 14 16:15:36 2016 +0000
Revision:
20:08f08bfc3f3d
Parent:
0:51ac1d130fd4
Synchronized with git revision fec574a5ed6db26aca1b13992ff271bf527d4a0d

Full URL: https://github.com/mbedmicro/mbed/commit/fec574a5ed6db26aca1b13992ff271bf527d4a0d/

Increased allocated netbufs to handle DTLS handshakes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:51ac1d130fd4 1 /**
mbed_official 0:51ac1d130fd4 2 * @file
mbed_official 0:51ac1d130fd4 3 * Generic MIB tree structures.
mbed_official 0:51ac1d130fd4 4 *
mbed_official 0:51ac1d130fd4 5 * @todo namespace prefixes
mbed_official 0:51ac1d130fd4 6 */
mbed_official 0:51ac1d130fd4 7
mbed_official 0:51ac1d130fd4 8 /*
mbed_official 0:51ac1d130fd4 9 * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.
mbed_official 0:51ac1d130fd4 10 * All rights reserved.
mbed_official 0:51ac1d130fd4 11 *
mbed_official 0:51ac1d130fd4 12 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 0:51ac1d130fd4 13 * are permitted provided that the following conditions are met:
mbed_official 0:51ac1d130fd4 14 *
mbed_official 0:51ac1d130fd4 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 0:51ac1d130fd4 16 * this list of conditions and the following disclaimer.
mbed_official 0:51ac1d130fd4 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 0:51ac1d130fd4 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 0:51ac1d130fd4 19 * and/or other materials provided with the distribution.
mbed_official 0:51ac1d130fd4 20 * 3. The name of the author may not be used to endorse or promote products
mbed_official 0:51ac1d130fd4 21 * derived from this software without specific prior written permission.
mbed_official 0:51ac1d130fd4 22 *
mbed_official 0:51ac1d130fd4 23 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
mbed_official 0:51ac1d130fd4 24 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
mbed_official 0:51ac1d130fd4 25 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
mbed_official 0:51ac1d130fd4 26 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mbed_official 0:51ac1d130fd4 27 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
mbed_official 0:51ac1d130fd4 28 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
mbed_official 0:51ac1d130fd4 29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
mbed_official 0:51ac1d130fd4 30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
mbed_official 0:51ac1d130fd4 31 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
mbed_official 0:51ac1d130fd4 32 * OF SUCH DAMAGE.
mbed_official 0:51ac1d130fd4 33 *
mbed_official 0:51ac1d130fd4 34 * Author: Christiaan Simons <christiaan.simons@axon.tv>
mbed_official 0:51ac1d130fd4 35 */
mbed_official 0:51ac1d130fd4 36
mbed_official 0:51ac1d130fd4 37 #ifndef __LWIP_SNMP_STRUCTS_H__
mbed_official 0:51ac1d130fd4 38 #define __LWIP_SNMP_STRUCTS_H__
mbed_official 0:51ac1d130fd4 39
mbed_official 0:51ac1d130fd4 40 #include "lwip/opt.h"
mbed_official 0:51ac1d130fd4 41
mbed_official 0:51ac1d130fd4 42 #if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */
mbed_official 0:51ac1d130fd4 43
mbed_official 0:51ac1d130fd4 44 #include "lwip/snmp.h"
mbed_official 0:51ac1d130fd4 45
mbed_official 0:51ac1d130fd4 46 #if SNMP_PRIVATE_MIB
mbed_official 0:51ac1d130fd4 47 /* When using a private MIB, you have to create a file 'private_mib.h' that contains
mbed_official 0:51ac1d130fd4 48 * a 'struct mib_array_node mib_private' which contains your MIB. */
mbed_official 0:51ac1d130fd4 49 #include "private_mib.h"
mbed_official 0:51ac1d130fd4 50 #endif
mbed_official 0:51ac1d130fd4 51
mbed_official 0:51ac1d130fd4 52 #ifdef __cplusplus
mbed_official 0:51ac1d130fd4 53 extern "C" {
mbed_official 0:51ac1d130fd4 54 #endif
mbed_official 0:51ac1d130fd4 55
mbed_official 0:51ac1d130fd4 56 /* MIB object instance */
mbed_official 0:51ac1d130fd4 57 #define MIB_OBJECT_NONE 0
mbed_official 0:51ac1d130fd4 58 #define MIB_OBJECT_SCALAR 1
mbed_official 0:51ac1d130fd4 59 #define MIB_OBJECT_TAB 2
mbed_official 0:51ac1d130fd4 60
mbed_official 0:51ac1d130fd4 61 /* MIB access types */
mbed_official 0:51ac1d130fd4 62 #define MIB_ACCESS_READ 1
mbed_official 0:51ac1d130fd4 63 #define MIB_ACCESS_WRITE 2
mbed_official 0:51ac1d130fd4 64
mbed_official 0:51ac1d130fd4 65 /* MIB object access */
mbed_official 0:51ac1d130fd4 66 #define MIB_OBJECT_READ_ONLY MIB_ACCESS_READ
mbed_official 0:51ac1d130fd4 67 #define MIB_OBJECT_READ_WRITE (MIB_ACCESS_READ | MIB_ACCESS_WRITE)
mbed_official 0:51ac1d130fd4 68 #define MIB_OBJECT_WRITE_ONLY MIB_ACCESS_WRITE
mbed_official 0:51ac1d130fd4 69 #define MIB_OBJECT_NOT_ACCESSIBLE 0
mbed_official 0:51ac1d130fd4 70
mbed_official 0:51ac1d130fd4 71 /** object definition returned by (get_object_def)() */
mbed_official 0:51ac1d130fd4 72 struct obj_def
mbed_official 0:51ac1d130fd4 73 {
mbed_official 0:51ac1d130fd4 74 /* MIB_OBJECT_NONE (0), MIB_OBJECT_SCALAR (1), MIB_OBJECT_TAB (2) */
mbed_official 0:51ac1d130fd4 75 u8_t instance;
mbed_official 0:51ac1d130fd4 76 /* 0 read-only, 1 read-write, 2 write-only, 3 not-accessible */
mbed_official 0:51ac1d130fd4 77 u8_t access;
mbed_official 0:51ac1d130fd4 78 /* ASN type for this object */
mbed_official 0:51ac1d130fd4 79 u8_t asn_type;
mbed_official 0:51ac1d130fd4 80 /* value length (host length) */
mbed_official 0:51ac1d130fd4 81 u16_t v_len;
mbed_official 0:51ac1d130fd4 82 /* length of instance part of supplied object identifier */
mbed_official 0:51ac1d130fd4 83 u8_t id_inst_len;
mbed_official 0:51ac1d130fd4 84 /* instance part of supplied object identifier */
mbed_official 0:51ac1d130fd4 85 s32_t *id_inst_ptr;
mbed_official 0:51ac1d130fd4 86 };
mbed_official 0:51ac1d130fd4 87
mbed_official 0:51ac1d130fd4 88 struct snmp_name_ptr
mbed_official 0:51ac1d130fd4 89 {
mbed_official 0:51ac1d130fd4 90 u8_t ident_len;
mbed_official 0:51ac1d130fd4 91 s32_t *ident;
mbed_official 0:51ac1d130fd4 92 };
mbed_official 0:51ac1d130fd4 93
mbed_official 0:51ac1d130fd4 94 /** MIB const scalar (.0) node */
mbed_official 0:51ac1d130fd4 95 #define MIB_NODE_SC 0x01
mbed_official 0:51ac1d130fd4 96 /** MIB const array node */
mbed_official 0:51ac1d130fd4 97 #define MIB_NODE_AR 0x02
mbed_official 0:51ac1d130fd4 98 /** MIB array node (mem_malloced from RAM) */
mbed_official 0:51ac1d130fd4 99 #define MIB_NODE_RA 0x03
mbed_official 0:51ac1d130fd4 100 /** MIB list root node (mem_malloced from RAM) */
mbed_official 0:51ac1d130fd4 101 #define MIB_NODE_LR 0x04
mbed_official 0:51ac1d130fd4 102 /** MIB node for external objects */
mbed_official 0:51ac1d130fd4 103 #define MIB_NODE_EX 0x05
mbed_official 0:51ac1d130fd4 104
mbed_official 0:51ac1d130fd4 105 /** node "base class" layout, the mandatory fields for a node */
mbed_official 0:51ac1d130fd4 106 struct mib_node
mbed_official 0:51ac1d130fd4 107 {
mbed_official 0:51ac1d130fd4 108 /** returns struct obj_def for the given object identifier */
mbed_official 0:51ac1d130fd4 109 void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 110 /** returns object value for the given object identifier,
mbed_official 0:51ac1d130fd4 111 @note the caller must allocate at least len bytes for the value */
mbed_official 0:51ac1d130fd4 112 void (*get_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 113 /** tests length and/or range BEFORE setting */
mbed_official 0:51ac1d130fd4 114 u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 115 /** sets object value, only to be called when set_test() */
mbed_official 0:51ac1d130fd4 116 void (*set_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 117 /** One out of MIB_NODE_AR, MIB_NODE_LR or MIB_NODE_EX */
mbed_official 0:51ac1d130fd4 118 u8_t node_type;
mbed_official 0:51ac1d130fd4 119 /* array or max list length */
mbed_official 0:51ac1d130fd4 120 u16_t maxlength;
mbed_official 0:51ac1d130fd4 121 };
mbed_official 0:51ac1d130fd4 122
mbed_official 0:51ac1d130fd4 123 /** derived node for scalars .0 index */
mbed_official 0:51ac1d130fd4 124 typedef struct mib_node mib_scalar_node;
mbed_official 0:51ac1d130fd4 125
mbed_official 0:51ac1d130fd4 126 /** derived node, points to a fixed size const array
mbed_official 0:51ac1d130fd4 127 of sub-identifiers plus a 'child' pointer */
mbed_official 0:51ac1d130fd4 128 struct mib_array_node
mbed_official 0:51ac1d130fd4 129 {
mbed_official 0:51ac1d130fd4 130 /* inherited "base class" members */
mbed_official 0:51ac1d130fd4 131 void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 132 void (*get_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 133 u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 134 void (*set_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 135
mbed_official 0:51ac1d130fd4 136 u8_t node_type;
mbed_official 0:51ac1d130fd4 137 u16_t maxlength;
mbed_official 0:51ac1d130fd4 138
mbed_official 0:51ac1d130fd4 139 /* additional struct members */
mbed_official 0:51ac1d130fd4 140 const s32_t *objid;
mbed_official 0:51ac1d130fd4 141 struct mib_node* const *nptr;
mbed_official 0:51ac1d130fd4 142 };
mbed_official 0:51ac1d130fd4 143
mbed_official 0:51ac1d130fd4 144 /** derived node, points to a fixed size mem_malloced array
mbed_official 0:51ac1d130fd4 145 of sub-identifiers plus a 'child' pointer */
mbed_official 0:51ac1d130fd4 146 struct mib_ram_array_node
mbed_official 0:51ac1d130fd4 147 {
mbed_official 0:51ac1d130fd4 148 /* inherited "base class" members */
mbed_official 0:51ac1d130fd4 149 void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 150 void (*get_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 151 u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 152 void (*set_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 153
mbed_official 0:51ac1d130fd4 154 u8_t node_type;
mbed_official 0:51ac1d130fd4 155 u16_t maxlength;
mbed_official 0:51ac1d130fd4 156
mbed_official 0:51ac1d130fd4 157 /* aditional struct members */
mbed_official 0:51ac1d130fd4 158 s32_t *objid;
mbed_official 0:51ac1d130fd4 159 struct mib_node **nptr;
mbed_official 0:51ac1d130fd4 160 };
mbed_official 0:51ac1d130fd4 161
mbed_official 0:51ac1d130fd4 162 struct mib_list_node
mbed_official 0:51ac1d130fd4 163 {
mbed_official 0:51ac1d130fd4 164 struct mib_list_node *prev;
mbed_official 0:51ac1d130fd4 165 struct mib_list_node *next;
mbed_official 0:51ac1d130fd4 166 s32_t objid;
mbed_official 0:51ac1d130fd4 167 struct mib_node *nptr;
mbed_official 0:51ac1d130fd4 168 };
mbed_official 0:51ac1d130fd4 169
mbed_official 0:51ac1d130fd4 170 /** derived node, points to a doubly linked list
mbed_official 0:51ac1d130fd4 171 of sub-identifiers plus a 'child' pointer */
mbed_official 0:51ac1d130fd4 172 struct mib_list_rootnode
mbed_official 0:51ac1d130fd4 173 {
mbed_official 0:51ac1d130fd4 174 /* inherited "base class" members */
mbed_official 0:51ac1d130fd4 175 void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 176 void (*get_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 177 u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 178 void (*set_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 179
mbed_official 0:51ac1d130fd4 180 u8_t node_type;
mbed_official 0:51ac1d130fd4 181 u16_t maxlength;
mbed_official 0:51ac1d130fd4 182
mbed_official 0:51ac1d130fd4 183 /* additional struct members */
mbed_official 0:51ac1d130fd4 184 struct mib_list_node *head;
mbed_official 0:51ac1d130fd4 185 struct mib_list_node *tail;
mbed_official 0:51ac1d130fd4 186 /* counts list nodes in list */
mbed_official 0:51ac1d130fd4 187 u16_t count;
mbed_official 0:51ac1d130fd4 188 };
mbed_official 0:51ac1d130fd4 189
mbed_official 0:51ac1d130fd4 190 /** derived node, has access functions for mib object in external memory or device
mbed_official 0:51ac1d130fd4 191 using 'tree_level' and 'idx', with a range 0 .. (level_length() - 1) */
mbed_official 0:51ac1d130fd4 192 struct mib_external_node
mbed_official 0:51ac1d130fd4 193 {
mbed_official 0:51ac1d130fd4 194 /* inherited "base class" members */
mbed_official 0:51ac1d130fd4 195 void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 196 void (*get_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 197 u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 198 void (*set_value)(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 199
mbed_official 0:51ac1d130fd4 200 u8_t node_type;
mbed_official 0:51ac1d130fd4 201 u16_t maxlength;
mbed_official 0:51ac1d130fd4 202
mbed_official 0:51ac1d130fd4 203 /* additional struct members */
mbed_official 0:51ac1d130fd4 204 /** points to an external (in memory) record of some sort of addressing
mbed_official 0:51ac1d130fd4 205 information, passed to and interpreted by the funtions below */
mbed_official 0:51ac1d130fd4 206 void* addr_inf;
mbed_official 0:51ac1d130fd4 207 /** tree levels under this node */
mbed_official 0:51ac1d130fd4 208 u8_t tree_levels;
mbed_official 0:51ac1d130fd4 209 /** number of objects at this level */
mbed_official 0:51ac1d130fd4 210 u16_t (*level_length)(void* addr_inf, u8_t level);
mbed_official 0:51ac1d130fd4 211 /** compares object sub identifier with external id
mbed_official 0:51ac1d130fd4 212 return zero when equal, nonzero when unequal */
mbed_official 0:51ac1d130fd4 213 s32_t (*ident_cmp)(void* addr_inf, u8_t level, u16_t idx, s32_t sub_id);
mbed_official 0:51ac1d130fd4 214 void (*get_objid)(void* addr_inf, u8_t level, u16_t idx, s32_t *sub_id);
mbed_official 0:51ac1d130fd4 215
mbed_official 0:51ac1d130fd4 216 /** async Questions */
mbed_official 0:51ac1d130fd4 217 void (*get_object_def_q)(void* addr_inf, u8_t rid, u8_t ident_len, s32_t *ident);
mbed_official 0:51ac1d130fd4 218 void (*get_value_q)(u8_t rid, struct obj_def *od);
mbed_official 0:51ac1d130fd4 219 void (*set_test_q)(u8_t rid, struct obj_def *od);
mbed_official 0:51ac1d130fd4 220 void (*set_value_q)(u8_t rid, struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 221 /** async Answers */
mbed_official 0:51ac1d130fd4 222 void (*get_object_def_a)(u8_t rid, u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 223 void (*get_value_a)(u8_t rid, struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 224 u8_t (*set_test_a)(u8_t rid, struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 225 void (*set_value_a)(u8_t rid, struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 226 /** async Panic Close (agent returns error reply,
mbed_official 0:51ac1d130fd4 227 e.g. used for external transaction cleanup) */
mbed_official 0:51ac1d130fd4 228 void (*get_object_def_pc)(u8_t rid, u8_t ident_len, s32_t *ident);
mbed_official 0:51ac1d130fd4 229 void (*get_value_pc)(u8_t rid, struct obj_def *od);
mbed_official 0:51ac1d130fd4 230 void (*set_test_pc)(u8_t rid, struct obj_def *od);
mbed_official 0:51ac1d130fd4 231 void (*set_value_pc)(u8_t rid, struct obj_def *od);
mbed_official 0:51ac1d130fd4 232 };
mbed_official 0:51ac1d130fd4 233
mbed_official 0:51ac1d130fd4 234 /** export MIB tree from mib2.c */
mbed_official 0:51ac1d130fd4 235 extern const struct mib_array_node internet;
mbed_official 0:51ac1d130fd4 236
mbed_official 0:51ac1d130fd4 237 /** dummy function pointers for non-leaf MIB nodes from mib2.c */
mbed_official 0:51ac1d130fd4 238 void noleafs_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);
mbed_official 0:51ac1d130fd4 239 void noleafs_get_value(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 240 u8_t noleafs_set_test(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 241 void noleafs_set_value(struct obj_def *od, u16_t len, void *value);
mbed_official 0:51ac1d130fd4 242
mbed_official 0:51ac1d130fd4 243 void snmp_oidtoip(s32_t *ident, ip_addr_t *ip);
mbed_official 0:51ac1d130fd4 244 void snmp_iptooid(ip_addr_t *ip, s32_t *ident);
mbed_official 0:51ac1d130fd4 245 void snmp_ifindextonetif(s32_t ifindex, struct netif **netif);
mbed_official 0:51ac1d130fd4 246 void snmp_netiftoifindex(struct netif *netif, s32_t *ifidx);
mbed_official 0:51ac1d130fd4 247
mbed_official 0:51ac1d130fd4 248 struct mib_list_node* snmp_mib_ln_alloc(s32_t id);
mbed_official 0:51ac1d130fd4 249 void snmp_mib_ln_free(struct mib_list_node *ln);
mbed_official 0:51ac1d130fd4 250 struct mib_list_rootnode* snmp_mib_lrn_alloc(void);
mbed_official 0:51ac1d130fd4 251 void snmp_mib_lrn_free(struct mib_list_rootnode *lrn);
mbed_official 0:51ac1d130fd4 252
mbed_official 0:51ac1d130fd4 253 s8_t snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **insn);
mbed_official 0:51ac1d130fd4 254 s8_t snmp_mib_node_find(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **fn);
mbed_official 0:51ac1d130fd4 255 struct mib_list_rootnode *snmp_mib_node_delete(struct mib_list_rootnode *rn, struct mib_list_node *n);
mbed_official 0:51ac1d130fd4 256
mbed_official 0:51ac1d130fd4 257 struct mib_node* snmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_name_ptr *np);
mbed_official 0:51ac1d130fd4 258 struct mib_node* snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret);
mbed_official 0:51ac1d130fd4 259 u8_t snmp_iso_prefix_tst(u8_t ident_len, s32_t *ident);
mbed_official 0:51ac1d130fd4 260 u8_t snmp_iso_prefix_expand(u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret);
mbed_official 0:51ac1d130fd4 261
mbed_official 0:51ac1d130fd4 262 #ifdef __cplusplus
mbed_official 0:51ac1d130fd4 263 }
mbed_official 0:51ac1d130fd4 264 #endif
mbed_official 0:51ac1d130fd4 265
mbed_official 0:51ac1d130fd4 266 #endif /* LWIP_SNMP */
mbed_official 0:51ac1d130fd4 267
mbed_official 0:51ac1d130fd4 268 #endif /* __LWIP_SNMP_STRUCTS_H__ */