1 /** 2 * @file 3 * SNMP MIB2 API 4 */ 5 6 /* 7 * Copyright (c) 2001-2004 Swedish Institute of Computer Science. 8 * All rights reserved. 9 * 10 * Redistribution and use in source and binary forms, with or without modification, 11 * are permitted provided that the following conditions are met: 12 * 13 * 1. Redistributions of source code must retain the above copyright notice, 14 * this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright notice, 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 3. The name of the author may not be used to endorse or promote products 19 * derived from this software without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 22 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 23 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 24 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 26 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 29 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 30 * OF SUCH DAMAGE. 31 * 32 * This file is part of the lwIP TCP/IP stack. 33 * 34 * Author: Dirk Ziegelmeier <dziegel@gmx.de> 35 * 36 */ 37 #ifndef LWIP_HDR_APPS_SNMP_MIB2_H 38 #define LWIP_HDR_APPS_SNMP_MIB2_H 39 40 #include "lwip/apps/snmp_opts.h" 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 #if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */ 47 #if SNMP_LWIP_MIB2 48 49 #include "lwip/apps/snmp_core.h" 50 51 extern const struct snmp_mib mib2; 52 53 #if SNMP_USE_NETCONN 54 #include "lwip/apps/snmp_threadsync.h" 55 void snmp_mib2_lwip_synchronizer(snmp_threadsync_called_fn fn, void* arg); 56 extern struct snmp_threadsync_instance snmp_mib2_lwip_locks; 57 #endif 58 59 #ifndef SNMP_SYSSERVICES 60 #define SNMP_SYSSERVICES ((1 << 6) | (1 << 3) | ((IP_FORWARD) << 2)) 61 #endif 62 63 void snmp_mib2_set_sysdescr(const u8_t* str, const u16_t* len); /* read-only be defintion */ 64 void snmp_mib2_set_syscontact(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize); 65 void snmp_mib2_set_syscontact_readonly(const u8_t *ocstr, const u16_t *ocstrlen); 66 void snmp_mib2_set_sysname(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize); 67 void snmp_mib2_set_sysname_readonly(const u8_t *ocstr, const u16_t *ocstrlen); 68 void snmp_mib2_set_syslocation(u8_t *ocstr, u16_t *ocstrlen, u16_t bufsize); 69 void snmp_mib2_set_syslocation_readonly(const u8_t *ocstr, const u16_t *ocstrlen); 70 71 #endif /* SNMP_LWIP_MIB2 */ 72 #endif /* LWIP_SNMP */ 73 74 #ifdef __cplusplus 75 } 76 #endif 77 78 #endif /* LWIP_HDR_APPS_SNMP_MIB2_H */ 79