LwIP with PPP & Ethernet integration

Dependents:   NetworkingCoreLib

This is the mbed port of the LwIP stack: http://savannah.nongnu.org/projects/lwip/

It includes contributed content from NXP's port for LPCxxxx devices: http://www.lpcware.com/content/project/lightweight-ip-lwip-networking-stack

Licence

LwIP is licenced under the BSD licence:

Copyright (c) 2001-2004 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:
donatien
Date:
Fri May 25 08:56:35 2012 +0000
Revision:
2:1a87f74b8e3b
Parent:
0:8e01dca41002
Removed compilation of EMAC driver when using PPP

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:8e01dca41002 1 /**
donatien 0:8e01dca41002 2 * @file
donatien 0:8e01dca41002 3 * SNMP Agent message handling structures.
donatien 0:8e01dca41002 4 */
donatien 0:8e01dca41002 5
donatien 0:8e01dca41002 6 /*
donatien 0:8e01dca41002 7 * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.
donatien 0:8e01dca41002 8 * All rights reserved.
donatien 0:8e01dca41002 9 *
donatien 0:8e01dca41002 10 * Redistribution and use in source and binary forms, with or without modification,
donatien 0:8e01dca41002 11 * are permitted provided that the following conditions are met:
donatien 0:8e01dca41002 12 *
donatien 0:8e01dca41002 13 * 1. Redistributions of source code must retain the above copyright notice,
donatien 0:8e01dca41002 14 * this list of conditions and the following disclaimer.
donatien 0:8e01dca41002 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
donatien 0:8e01dca41002 16 * this list of conditions and the following disclaimer in the documentation
donatien 0:8e01dca41002 17 * and/or other materials provided with the distribution.
donatien 0:8e01dca41002 18 * 3. The name of the author may not be used to endorse or promote products
donatien 0:8e01dca41002 19 * derived from this software without specific prior written permission.
donatien 0:8e01dca41002 20 *
donatien 0:8e01dca41002 21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
donatien 0:8e01dca41002 22 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
donatien 0:8e01dca41002 23 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
donatien 0:8e01dca41002 24 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
donatien 0:8e01dca41002 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
donatien 0:8e01dca41002 26 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
donatien 0:8e01dca41002 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
donatien 0:8e01dca41002 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
donatien 0:8e01dca41002 29 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
donatien 0:8e01dca41002 30 * OF SUCH DAMAGE.
donatien 0:8e01dca41002 31 *
donatien 0:8e01dca41002 32 * Author: Christiaan Simons <christiaan.simons@axon.tv>
donatien 0:8e01dca41002 33 */
donatien 0:8e01dca41002 34
donatien 0:8e01dca41002 35 #ifndef __LWIP_SNMP_MSG_H__
donatien 0:8e01dca41002 36 #define __LWIP_SNMP_MSG_H__
donatien 0:8e01dca41002 37
donatien 0:8e01dca41002 38 #include "lwip/opt.h"
donatien 0:8e01dca41002 39 #include "lwip/snmp.h"
donatien 0:8e01dca41002 40 #include "lwip/snmp_structs.h"
donatien 0:8e01dca41002 41 #include "lwip/ip_addr.h"
donatien 0:8e01dca41002 42 #include "lwip/err.h"
donatien 0:8e01dca41002 43
donatien 0:8e01dca41002 44 #if LWIP_SNMP
donatien 0:8e01dca41002 45
donatien 0:8e01dca41002 46 #if SNMP_PRIVATE_MIB
donatien 0:8e01dca41002 47 /* When using a private MIB, you have to create a file 'private_mib.h' that contains
donatien 0:8e01dca41002 48 * a 'struct mib_array_node mib_private' which contains your MIB. */
donatien 0:8e01dca41002 49 #include "private_mib.h"
donatien 0:8e01dca41002 50 #endif
donatien 0:8e01dca41002 51
donatien 0:8e01dca41002 52 #ifdef __cplusplus
donatien 0:8e01dca41002 53 extern "C" {
donatien 0:8e01dca41002 54 #endif
donatien 0:8e01dca41002 55
donatien 0:8e01dca41002 56 /* The listen port of the SNMP agent. Clients have to make their requests to
donatien 0:8e01dca41002 57 this port. Most standard clients won't work if you change this! */
donatien 0:8e01dca41002 58 #ifndef SNMP_IN_PORT
donatien 0:8e01dca41002 59 #define SNMP_IN_PORT 161
donatien 0:8e01dca41002 60 #endif
donatien 0:8e01dca41002 61 /* The remote port the SNMP agent sends traps to. Most standard trap sinks won't
donatien 0:8e01dca41002 62 work if you change this! */
donatien 0:8e01dca41002 63 #ifndef SNMP_TRAP_PORT
donatien 0:8e01dca41002 64 #define SNMP_TRAP_PORT 162
donatien 0:8e01dca41002 65 #endif
donatien 0:8e01dca41002 66
donatien 0:8e01dca41002 67 #define SNMP_ES_NOERROR 0
donatien 0:8e01dca41002 68 #define SNMP_ES_TOOBIG 1
donatien 0:8e01dca41002 69 #define SNMP_ES_NOSUCHNAME 2
donatien 0:8e01dca41002 70 #define SNMP_ES_BADVALUE 3
donatien 0:8e01dca41002 71 #define SNMP_ES_READONLY 4
donatien 0:8e01dca41002 72 #define SNMP_ES_GENERROR 5
donatien 0:8e01dca41002 73
donatien 0:8e01dca41002 74 #define SNMP_GENTRAP_COLDSTART 0
donatien 0:8e01dca41002 75 #define SNMP_GENTRAP_WARMSTART 1
donatien 0:8e01dca41002 76 #define SNMP_GENTRAP_AUTHFAIL 4
donatien 0:8e01dca41002 77 #define SNMP_GENTRAP_ENTERPRISESPC 6
donatien 0:8e01dca41002 78
donatien 0:8e01dca41002 79 struct snmp_varbind
donatien 0:8e01dca41002 80 {
donatien 0:8e01dca41002 81 /* next pointer, NULL for last in list */
donatien 0:8e01dca41002 82 struct snmp_varbind *next;
donatien 0:8e01dca41002 83 /* previous pointer, NULL for first in list */
donatien 0:8e01dca41002 84 struct snmp_varbind *prev;
donatien 0:8e01dca41002 85
donatien 0:8e01dca41002 86 /* object identifier length (in s32_t) */
donatien 0:8e01dca41002 87 u8_t ident_len;
donatien 0:8e01dca41002 88 /* object identifier array */
donatien 0:8e01dca41002 89 s32_t *ident;
donatien 0:8e01dca41002 90
donatien 0:8e01dca41002 91 /* object value ASN1 type */
donatien 0:8e01dca41002 92 u8_t value_type;
donatien 0:8e01dca41002 93 /* object value length (in u8_t) */
donatien 0:8e01dca41002 94 u8_t value_len;
donatien 0:8e01dca41002 95 /* object value */
donatien 0:8e01dca41002 96 void *value;
donatien 0:8e01dca41002 97
donatien 0:8e01dca41002 98 /* encoding varbind seq length length */
donatien 0:8e01dca41002 99 u8_t seqlenlen;
donatien 0:8e01dca41002 100 /* encoding object identifier length length */
donatien 0:8e01dca41002 101 u8_t olenlen;
donatien 0:8e01dca41002 102 /* encoding object value length length */
donatien 0:8e01dca41002 103 u8_t vlenlen;
donatien 0:8e01dca41002 104 /* encoding varbind seq length */
donatien 0:8e01dca41002 105 u16_t seqlen;
donatien 0:8e01dca41002 106 /* encoding object identifier length */
donatien 0:8e01dca41002 107 u16_t olen;
donatien 0:8e01dca41002 108 /* encoding object value length */
donatien 0:8e01dca41002 109 u16_t vlen;
donatien 0:8e01dca41002 110 };
donatien 0:8e01dca41002 111
donatien 0:8e01dca41002 112 struct snmp_varbind_root
donatien 0:8e01dca41002 113 {
donatien 0:8e01dca41002 114 struct snmp_varbind *head;
donatien 0:8e01dca41002 115 struct snmp_varbind *tail;
donatien 0:8e01dca41002 116 /* number of variable bindings in list */
donatien 0:8e01dca41002 117 u8_t count;
donatien 0:8e01dca41002 118 /* encoding varbind-list seq length length */
donatien 0:8e01dca41002 119 u8_t seqlenlen;
donatien 0:8e01dca41002 120 /* encoding varbind-list seq length */
donatien 0:8e01dca41002 121 u16_t seqlen;
donatien 0:8e01dca41002 122 };
donatien 0:8e01dca41002 123
donatien 0:8e01dca41002 124 /** output response message header length fields */
donatien 0:8e01dca41002 125 struct snmp_resp_header_lengths
donatien 0:8e01dca41002 126 {
donatien 0:8e01dca41002 127 /* encoding error-index length length */
donatien 0:8e01dca41002 128 u8_t erridxlenlen;
donatien 0:8e01dca41002 129 /* encoding error-status length length */
donatien 0:8e01dca41002 130 u8_t errstatlenlen;
donatien 0:8e01dca41002 131 /* encoding request id length length */
donatien 0:8e01dca41002 132 u8_t ridlenlen;
donatien 0:8e01dca41002 133 /* encoding pdu length length */
donatien 0:8e01dca41002 134 u8_t pdulenlen;
donatien 0:8e01dca41002 135 /* encoding community length length */
donatien 0:8e01dca41002 136 u8_t comlenlen;
donatien 0:8e01dca41002 137 /* encoding version length length */
donatien 0:8e01dca41002 138 u8_t verlenlen;
donatien 0:8e01dca41002 139 /* encoding sequence length length */
donatien 0:8e01dca41002 140 u8_t seqlenlen;
donatien 0:8e01dca41002 141
donatien 0:8e01dca41002 142 /* encoding error-index length */
donatien 0:8e01dca41002 143 u16_t erridxlen;
donatien 0:8e01dca41002 144 /* encoding error-status length */
donatien 0:8e01dca41002 145 u16_t errstatlen;
donatien 0:8e01dca41002 146 /* encoding request id length */
donatien 0:8e01dca41002 147 u16_t ridlen;
donatien 0:8e01dca41002 148 /* encoding pdu length */
donatien 0:8e01dca41002 149 u16_t pdulen;
donatien 0:8e01dca41002 150 /* encoding community length */
donatien 0:8e01dca41002 151 u16_t comlen;
donatien 0:8e01dca41002 152 /* encoding version length */
donatien 0:8e01dca41002 153 u16_t verlen;
donatien 0:8e01dca41002 154 /* encoding sequence length */
donatien 0:8e01dca41002 155 u16_t seqlen;
donatien 0:8e01dca41002 156 };
donatien 0:8e01dca41002 157
donatien 0:8e01dca41002 158 /** output response message header length fields */
donatien 0:8e01dca41002 159 struct snmp_trap_header_lengths
donatien 0:8e01dca41002 160 {
donatien 0:8e01dca41002 161 /* encoding timestamp length length */
donatien 0:8e01dca41002 162 u8_t tslenlen;
donatien 0:8e01dca41002 163 /* encoding specific-trap length length */
donatien 0:8e01dca41002 164 u8_t strplenlen;
donatien 0:8e01dca41002 165 /* encoding generic-trap length length */
donatien 0:8e01dca41002 166 u8_t gtrplenlen;
donatien 0:8e01dca41002 167 /* encoding agent-addr length length */
donatien 0:8e01dca41002 168 u8_t aaddrlenlen;
donatien 0:8e01dca41002 169 /* encoding enterprise-id length length */
donatien 0:8e01dca41002 170 u8_t eidlenlen;
donatien 0:8e01dca41002 171 /* encoding pdu length length */
donatien 0:8e01dca41002 172 u8_t pdulenlen;
donatien 0:8e01dca41002 173 /* encoding community length length */
donatien 0:8e01dca41002 174 u8_t comlenlen;
donatien 0:8e01dca41002 175 /* encoding version length length */
donatien 0:8e01dca41002 176 u8_t verlenlen;
donatien 0:8e01dca41002 177 /* encoding sequence length length */
donatien 0:8e01dca41002 178 u8_t seqlenlen;
donatien 0:8e01dca41002 179
donatien 0:8e01dca41002 180 /* encoding timestamp length */
donatien 0:8e01dca41002 181 u16_t tslen;
donatien 0:8e01dca41002 182 /* encoding specific-trap length */
donatien 0:8e01dca41002 183 u16_t strplen;
donatien 0:8e01dca41002 184 /* encoding generic-trap length */
donatien 0:8e01dca41002 185 u16_t gtrplen;
donatien 0:8e01dca41002 186 /* encoding agent-addr length */
donatien 0:8e01dca41002 187 u16_t aaddrlen;
donatien 0:8e01dca41002 188 /* encoding enterprise-id length */
donatien 0:8e01dca41002 189 u16_t eidlen;
donatien 0:8e01dca41002 190 /* encoding pdu length */
donatien 0:8e01dca41002 191 u16_t pdulen;
donatien 0:8e01dca41002 192 /* encoding community length */
donatien 0:8e01dca41002 193 u16_t comlen;
donatien 0:8e01dca41002 194 /* encoding version length */
donatien 0:8e01dca41002 195 u16_t verlen;
donatien 0:8e01dca41002 196 /* encoding sequence length */
donatien 0:8e01dca41002 197 u16_t seqlen;
donatien 0:8e01dca41002 198 };
donatien 0:8e01dca41002 199
donatien 0:8e01dca41002 200 /* Accepting new SNMP messages. */
donatien 0:8e01dca41002 201 #define SNMP_MSG_EMPTY 0
donatien 0:8e01dca41002 202 /* Search for matching object for variable binding. */
donatien 0:8e01dca41002 203 #define SNMP_MSG_SEARCH_OBJ 1
donatien 0:8e01dca41002 204 /* Perform SNMP operation on in-memory object.
donatien 0:8e01dca41002 205 Pass-through states, for symmetry only. */
donatien 0:8e01dca41002 206 #define SNMP_MSG_INTERNAL_GET_OBJDEF 2
donatien 0:8e01dca41002 207 #define SNMP_MSG_INTERNAL_GET_VALUE 3
donatien 0:8e01dca41002 208 #define SNMP_MSG_INTERNAL_SET_TEST 4
donatien 0:8e01dca41002 209 #define SNMP_MSG_INTERNAL_GET_OBJDEF_S 5
donatien 0:8e01dca41002 210 #define SNMP_MSG_INTERNAL_SET_VALUE 6
donatien 0:8e01dca41002 211 /* Perform SNMP operation on object located externally.
donatien 0:8e01dca41002 212 In theory this could be used for building a proxy agent.
donatien 0:8e01dca41002 213 Practical use is for an enterprise spc. app. gateway. */
donatien 0:8e01dca41002 214 #define SNMP_MSG_EXTERNAL_GET_OBJDEF 7
donatien 0:8e01dca41002 215 #define SNMP_MSG_EXTERNAL_GET_VALUE 8
donatien 0:8e01dca41002 216 #define SNMP_MSG_EXTERNAL_SET_TEST 9
donatien 0:8e01dca41002 217 #define SNMP_MSG_EXTERNAL_GET_OBJDEF_S 10
donatien 0:8e01dca41002 218 #define SNMP_MSG_EXTERNAL_SET_VALUE 11
donatien 0:8e01dca41002 219
donatien 0:8e01dca41002 220 #define SNMP_COMMUNITY_STR_LEN 64
donatien 0:8e01dca41002 221 struct snmp_msg_pstat
donatien 0:8e01dca41002 222 {
donatien 0:8e01dca41002 223 /* lwIP local port (161) binding */
donatien 0:8e01dca41002 224 struct udp_pcb *pcb;
donatien 0:8e01dca41002 225 /* source IP address */
donatien 0:8e01dca41002 226 ip_addr_t sip;
donatien 0:8e01dca41002 227 /* source UDP port */
donatien 0:8e01dca41002 228 u16_t sp;
donatien 0:8e01dca41002 229 /* request type */
donatien 0:8e01dca41002 230 u8_t rt;
donatien 0:8e01dca41002 231 /* request ID */
donatien 0:8e01dca41002 232 s32_t rid;
donatien 0:8e01dca41002 233 /* error status */
donatien 0:8e01dca41002 234 s32_t error_status;
donatien 0:8e01dca41002 235 /* error index */
donatien 0:8e01dca41002 236 s32_t error_index;
donatien 0:8e01dca41002 237 /* community name (zero terminated) */
donatien 0:8e01dca41002 238 u8_t community[SNMP_COMMUNITY_STR_LEN + 1];
donatien 0:8e01dca41002 239 /* community string length (exclusive zero term) */
donatien 0:8e01dca41002 240 u8_t com_strlen;
donatien 0:8e01dca41002 241 /* one out of MSG_EMPTY, MSG_DEMUX, MSG_INTERNAL, MSG_EXTERNAL_x */
donatien 0:8e01dca41002 242 u8_t state;
donatien 0:8e01dca41002 243 /* saved arguments for MSG_EXTERNAL_x */
donatien 0:8e01dca41002 244 struct mib_external_node *ext_mib_node;
donatien 0:8e01dca41002 245 struct snmp_name_ptr ext_name_ptr;
donatien 0:8e01dca41002 246 struct obj_def ext_object_def;
donatien 0:8e01dca41002 247 struct snmp_obj_id ext_oid;
donatien 0:8e01dca41002 248 /* index into input variable binding list */
donatien 0:8e01dca41002 249 u8_t vb_idx;
donatien 0:8e01dca41002 250 /* ptr into input variable binding list */
donatien 0:8e01dca41002 251 struct snmp_varbind *vb_ptr;
donatien 0:8e01dca41002 252 /* list of variable bindings from input */
donatien 0:8e01dca41002 253 struct snmp_varbind_root invb;
donatien 0:8e01dca41002 254 /* list of variable bindings to output */
donatien 0:8e01dca41002 255 struct snmp_varbind_root outvb;
donatien 0:8e01dca41002 256 /* output response lengths used in ASN encoding */
donatien 0:8e01dca41002 257 struct snmp_resp_header_lengths rhl;
donatien 0:8e01dca41002 258 };
donatien 0:8e01dca41002 259
donatien 0:8e01dca41002 260 struct snmp_msg_trap
donatien 0:8e01dca41002 261 {
donatien 0:8e01dca41002 262 /* lwIP local port (161) binding */
donatien 0:8e01dca41002 263 struct udp_pcb *pcb;
donatien 0:8e01dca41002 264 /* destination IP address in network order */
donatien 0:8e01dca41002 265 ip_addr_t dip;
donatien 0:8e01dca41002 266
donatien 0:8e01dca41002 267 /* source enterprise ID (sysObjectID) */
donatien 0:8e01dca41002 268 struct snmp_obj_id *enterprise;
donatien 0:8e01dca41002 269 /* source IP address, raw network order format */
donatien 0:8e01dca41002 270 u8_t sip_raw[4];
donatien 0:8e01dca41002 271 /* generic trap code */
donatien 0:8e01dca41002 272 u32_t gen_trap;
donatien 0:8e01dca41002 273 /* specific trap code */
donatien 0:8e01dca41002 274 u32_t spc_trap;
donatien 0:8e01dca41002 275 /* timestamp */
donatien 0:8e01dca41002 276 u32_t ts;
donatien 0:8e01dca41002 277 /* list of variable bindings to output */
donatien 0:8e01dca41002 278 struct snmp_varbind_root outvb;
donatien 0:8e01dca41002 279 /* output trap lengths used in ASN encoding */
donatien 0:8e01dca41002 280 struct snmp_trap_header_lengths thl;
donatien 0:8e01dca41002 281 };
donatien 0:8e01dca41002 282
donatien 0:8e01dca41002 283 /** Agent Version constant, 0 = v1 oddity */
donatien 0:8e01dca41002 284 extern const s32_t snmp_version;
donatien 0:8e01dca41002 285 /** Agent default "public" community string */
donatien 0:8e01dca41002 286 extern const char snmp_publiccommunity[7];
donatien 0:8e01dca41002 287
donatien 0:8e01dca41002 288 extern struct snmp_msg_trap trap_msg;
donatien 0:8e01dca41002 289
donatien 0:8e01dca41002 290 /** Agent setup, start listening to port 161. */
donatien 0:8e01dca41002 291 void snmp_init(void);
donatien 0:8e01dca41002 292 void snmp_trap_dst_enable(u8_t dst_idx, u8_t enable);
donatien 0:8e01dca41002 293 void snmp_trap_dst_ip_set(u8_t dst_idx, ip_addr_t *dst);
donatien 0:8e01dca41002 294
donatien 0:8e01dca41002 295 /** Varbind-list functions. */
donatien 0:8e01dca41002 296 struct snmp_varbind* snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len);
donatien 0:8e01dca41002 297 void snmp_varbind_free(struct snmp_varbind *vb);
donatien 0:8e01dca41002 298 void snmp_varbind_list_free(struct snmp_varbind_root *root);
donatien 0:8e01dca41002 299 void snmp_varbind_tail_add(struct snmp_varbind_root *root, struct snmp_varbind *vb);
donatien 0:8e01dca41002 300 struct snmp_varbind* snmp_varbind_tail_remove(struct snmp_varbind_root *root);
donatien 0:8e01dca41002 301
donatien 0:8e01dca41002 302 /** Handle an internal (recv) or external (private response) event. */
donatien 0:8e01dca41002 303 void snmp_msg_event(u8_t request_id);
donatien 0:8e01dca41002 304 err_t snmp_send_response(struct snmp_msg_pstat *m_stat);
donatien 0:8e01dca41002 305 err_t snmp_send_trap(s8_t generic_trap, struct snmp_obj_id *eoid, s32_t specific_trap);
donatien 0:8e01dca41002 306 void snmp_coldstart_trap(void);
donatien 0:8e01dca41002 307 void snmp_authfail_trap(void);
donatien 0:8e01dca41002 308
donatien 0:8e01dca41002 309 #ifdef __cplusplus
donatien 0:8e01dca41002 310 }
donatien 0:8e01dca41002 311 #endif
donatien 0:8e01dca41002 312
donatien 0:8e01dca41002 313 #endif /* LWIP_SNMP */
donatien 0:8e01dca41002 314
donatien 0:8e01dca41002 315 #endif /* __LWIP_SNMP_MSG_H__ */