📄 trace.h
字号:
/*#ifndef lintstatic char *sccsid = "@(#)trace.h 4.1 (ULTRIX) 7/2/90";#endif lint*//************************************************************************ * * * Copyright (c) 1984,1988 by * * Digital Equipment Corporation, Maynard, MA * * All rights reserved. * * * * This software is furnished under a license and may be used and * * copied only in accordance with the terms of such license and * * with the inclusion of the above copyright notice. This * * software or any other copies thereof may not be provided or * * otherwise made available to any other person. No title to and * * ownership of the software is hereby transferred. * * * * This software is derived from software received from the * * University of California, Berkeley, and from Bell * * Laboratories. Use, duplication, or disclosure is subject to * * restrictions under license agreements with University of * * California and with AT&T. * * * * The information in this software is subject to change without * * notice and should not be construed as a commitment by Digital * * Equipment Corporation. * * * * Digital assumes no responsibility for the use or reliability * * of its software on equipment which is not supplied by Digital. * * * ************************************************************************//* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * * trace.h 5.2 (Berkeley) 4/20/86 *//************************************************************************ * Modification History * * * 03/09/89 R. Bhanukitsiri * Add trace support for SNMP. * * ************************************************************************//* * Routing table management daemon. *//* * Trace record format. */struct iftrace { time_t ift_stamp; /* time stamp */ struct sockaddr ift_who; /* from/to */ char *ift_packet; /* pointer to packet */ short ift_size; /* size of packet */ short ift_metric; /* metric on associated metric */};/* * Per interface packet tracing buffers. An incoming and * outgoing circular buffer of packets is maintained, per * interface, for debugging. Buffers are dumped whenever * an interface is marked down. */struct ifdebug { struct iftrace *ifd_records; /* array of trace records */ struct iftrace *ifd_front; /* next empty trace record */ int ifd_count; /* number of unprinted records */ struct interface *ifd_if; /* for locating stuff */};/* * Packet tracing stuff. */int tracepackets; /* watch packets as they go by */int tracing; /* on/off */FILE *ftrace; /* output trace file */extern int snmpdebug; /* debug SNMP stuff */#define TRACE_ACTION(action, route) { \ if (tracing) \ traceaction(ftrace, "action", route); \ }#define TRACE_INPUT(ifp, src, size) { \ if (tracing) { \ ifp = if_iflookup(src); \ if (ifp) \ trace(&ifp->int_input, src, packet, size, \ ntohl(ifp->int_metric)); \ } \ if (tracepackets) \ dumppacket(stdout, "from", src, packet, size); \ }#define TRACE_OUTPUT(ifp, dst, size) { \ if (tracing && ifp) \ trace(&ifp->int_output, dst, packet, size, ifp->int_metric); \ if (tracepackets) \ dumppacket(stdout, "to", dst, packet, size); \ }#define TRACE_TRC if (snmpdebug) printf#define TRACE_EXT if (snmpdebug) printf#define TRACE_UPD if (snmpdebug) printf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -