00001 /* 00002 * Copyright (c) 2001, 2002 Leon Woestenberg <leon.woestenberg@axon.tv> 00003 * Copyright (c) 2001, 2002 Axon Digital Design B.V., The Netherlands. 00004 * All rights reserved. 00005 * 00006 * Redistribution and use in source and binary forms, with or without modification, 00007 * are permitted provided that the following conditions are met: 00008 * 00009 * 1. Redistributions of source code must retain the above copyright notice, 00010 * this list of conditions and the following disclaimer. 00011 * 2. Redistributions in binary form must reproduce the above copyright notice, 00012 * this list of conditions and the following disclaimer in the documentation 00013 * and/or other materials provided with the distribution. 00014 * 3. The name of the author may not be used to endorse or promote products 00015 * derived from this software without specific prior written permission. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 00018 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00019 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 00020 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00021 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 00022 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00023 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00024 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 00025 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 00026 * OF SUCH DAMAGE. 00027 * 00028 * This file is part of the lwIP TCP/IP stack. 00029 * 00030 * Author: Leon Woestenberg <leon.woestenberg@axon.tv> 00031 * 00032 */ 00033 #ifndef __LWIP_SNMP_H__ 00034 #define __LWIP_SNMP_H__ 00035 00036 #include "lwip/opt.h" 00037 00038 /* SNMP support available? */ 00039 #if defined(LWIP_SNMP) && (LWIP_SNMP > 0) 00040 00041 /* network interface */ 00042 void snmp_add_ifinoctets(unsigned long value); 00043 void snmp_inc_ifinucastpkts(void); 00044 void snmp_inc_ifinnucastpkts(void); 00045 void snmp_inc_ifindiscards(void); 00046 void snmp_add_ifoutoctets(unsigned long value); 00047 void snmp_inc_ifoutucastpkts(void); 00048 void snmp_inc_ifoutnucastpkts(void); 00049 void snmp_inc_ifoutdiscards(void); 00050 00051 /* IP */ 00052 void snmp_inc_ipinreceives(void); 00053 void snmp_inc_ipindelivers(void); 00054 void snmp_inc_ipindiscards(void); 00055 void snmp_inc_ipoutdiscards(void); 00056 void snmp_inc_ipoutrequests(void); 00057 void snmp_inc_ipunknownprotos(void); 00058 void snmp_inc_ipnoroutes(void); 00059 void snmp_inc_ipforwdatagrams(void); 00060 00061 /* ICMP */ 00062 void snmp_inc_icmpinmsgs(void); 00063 void snmp_inc_icmpinerrors(void); 00064 void snmp_inc_icmpindestunreachs(void); 00065 void snmp_inc_icmpintimeexcds(void); 00066 void snmp_inc_icmpinparmprobs(void); 00067 void snmp_inc_icmpinsrcquenchs(void); 00068 void snmp_inc_icmpinredirects(void); 00069 void snmp_inc_icmpinechos(void); 00070 void snmp_inc_icmpinechoreps(void); 00071 void snmp_inc_icmpintimestamps(void); 00072 void snmp_inc_icmpintimestampreps(void); 00073 void snmp_inc_icmpinaddrmasks(void); 00074 void snmp_inc_icmpinaddrmaskreps(void); 00075 void snmp_inc_icmpoutmsgs(void); 00076 void snmp_inc_icmpouterrors(void); 00077 void snmp_inc_icmpoutdestunreachs(void); 00078 void snmp_inc_icmpouttimeexcds(void); 00079 void snmp_inc_icmpoutparmprobs(void); 00080 void snmp_inc_icmpoutsrcquenchs(void); 00081 void snmp_inc_icmpoutredirects(void); 00082 void snmp_inc_icmpoutechos(void); 00083 void snmp_inc_icmpoutechoreps(void); 00084 void snmp_inc_icmpouttimestamps(void); 00085 void snmp_inc_icmpouttimestampreps(void); 00086 void snmp_inc_icmpoutaddrmasks(void); 00087 void snmp_inc_icmpoutaddrmaskreps(void); 00088 00089 /* TCP */ 00090 void snmp_inc_tcpactiveopens(void); 00091 void snmp_inc_tcppassiveopens(void); 00092 void snmp_inc_tcpattemptfails(void); 00093 void snmp_inc_tcpestabresets(void); 00094 void snmp_inc_tcpcurrestab(void); 00095 void snmp_inc_tcpinsegs(void); 00096 void snmp_inc_tcpoutsegs(void); 00097 void snmp_inc_tcpretranssegs(void); 00098 void snmp_inc_tcpinerrs(void); 00099 void snmp_inc_tcpoutrsts(void); 00100 00101 /* UDP */ 00102 void snmp_inc_udpindatagrams(void); 00103 void snmp_inc_udpnoports(void); 00104 void snmp_inc_udpinerrors(void); 00105 void snmp_inc_udpoutdatagrams(void); 00106 00107 /* LWIP_SNMP support not available */ 00108 /* define everything to be empty */ 00109 #else 00110 00111 /* network interface */ 00112 #define snmp_add_ifinoctets() 00113 #define snmp_inc_ifinucastpkts() 00114 #define snmp_inc_ifinnucastpkts() 00115 #define snmp_inc_ifindiscards() 00116 #define snmp_add_ifoutoctets() 00117 #define snmp_inc_ifoutucastpkts() 00118 #define snmp_inc_ifoutnucastpkts() 00119 #define snmp_inc_ifoutdiscards() 00120 00121 /* IP */ 00122 #define snmp_inc_ipinreceives() 00123 #define snmp_inc_ipindelivers() 00124 #define snmp_inc_ipindiscards() 00125 #define snmp_inc_ipoutdiscards() 00126 #define snmp_inc_ipoutrequests() 00127 #define snmp_inc_ipunknownprotos() 00128 #define snmp_inc_ipnoroutes() 00129 #define snmp_inc_ipforwdatagrams() 00130 00131 /* ICMP */ 00132 #define snmp_inc_icmpinmsgs() 00133 #define snmp_inc_icmpinerrors() 00134 #define snmp_inc_icmpindestunreachs() 00135 #define snmp_inc_icmpintimeexcds() 00136 #define snmp_inc_icmpinparmprobs() 00137 #define snmp_inc_icmpinsrcquenchs() 00138 #define snmp_inc_icmpinredirects() 00139 #define snmp_inc_icmpinechos() 00140 #define snmp_inc_icmpinechoreps() 00141 #define snmp_inc_icmpintimestamps() 00142 #define snmp_inc_icmpintimestampreps() 00143 #define snmp_inc_icmpinaddrmasks() 00144 #define snmp_inc_icmpinaddrmaskreps() 00145 #define snmp_inc_icmpoutmsgs() 00146 #define snmp_inc_icmpouterrors() 00147 #define snmp_inc_icmpoutdestunreachs() 00148 #define snmp_inc_icmpouttimeexcds() 00149 #define snmp_inc_icmpoutparmprobs() 00150 #define snmp_inc_icmpoutsrcquenchs() 00151 #define snmp_inc_icmpoutredirects() 00152 #define snmp_inc_icmpoutechos() 00153 #define snmp_inc_icmpoutechoreps() 00154 #define snmp_inc_icmpouttimestamps() 00155 #define snmp_inc_icmpouttimestampreps() 00156 #define snmp_inc_icmpoutaddrmasks() 00157 #define snmp_inc_icmpoutaddrmaskreps() 00158 /* TCP */ 00159 #define snmp_inc_tcpactiveopens() 00160 #define snmp_inc_tcppassiveopens() 00161 #define snmp_inc_tcpattemptfails() 00162 #define snmp_inc_tcpestabresets() 00163 #define snmp_inc_tcpcurrestab() 00164 #define snmp_inc_tcpinsegs() 00165 #define snmp_inc_tcpoutsegs() 00166 #define snmp_inc_tcpretranssegs() 00167 #define snmp_inc_tcpinerrs() 00168 #define snmp_inc_tcpoutrsts() 00169 00170 /* UDP */ 00171 #define snmp_inc_udpindatagrams() 00172 #define snmp_inc_udpnoports() 00173 #define snmp_inc_udpinerrors() 00174 #define snmp_inc_udpoutdatagrams() 00175 00176 #endif 00177 00178 #endif /* __LWIP_SNMP_H__ */