File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / dhcp / includes / ctrace.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Oct 9 09:06:54 2012 UTC (12 years ago) by misho
Branches: dhcp, MAIN
CVS tags: v4_1_R7p0, v4_1_R7, v4_1_R4, HEAD
dhcp 4.1 r7

    1: /* trace.h
    2: 
    3:    Definitions for dhcp tracing facility... */
    4: 
    5: /*
    6:  * Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
    7:  * Copyright (c) 2001-2003 by Internet Software Consortium
    8:  *
    9:  * Permission to use, copy, modify, and distribute this software for any
   10:  * purpose with or without fee is hereby granted, provided that the above
   11:  * copyright notice and this permission notice appear in all copies.
   12:  *
   13:  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
   14:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   15:  * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
   16:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   17:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   18:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
   19:  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   20:  *
   21:  *   Internet Systems Consortium, Inc.
   22:  *   950 Charter Street
   23:  *   Redwood City, CA 94063
   24:  *   <info@isc.org>
   25:  *   https://www.isc.org/
   26:  *
   27:  * This software has been written for Internet Systems Consortium
   28:  * by Ted Lemon, as part of a project for Nominum, Inc.   To learn more
   29:  * about Internet Systems Consortium, see https://www.isc.org/.  To
   30:  * learn more about Nominum, Inc., see ``http://www.nominum.com''.
   31:  */
   32: 
   33: typedef struct {
   34: 	struct in_addr primary_address;
   35: 	u_int32_t index;
   36: 	struct hardware hw_address;
   37: 	char name [IFNAMSIZ];
   38: } trace_interface_packet_t;
   39: 
   40: typedef struct {
   41: 	u_int32_t index;
   42: 	struct iaddr from;
   43: 	u_int16_t from_port;
   44: 	struct hardware hfrom;
   45: 	u_int8_t havehfrom;
   46: } trace_inpacket_t;
   47: 
   48: typedef struct {
   49: 	u_int32_t index;
   50: 	struct iaddr from;
   51: 	struct iaddr to;
   52: 	u_int16_t to_port;
   53: 	struct hardware hto;
   54: 	u_int8_t havehto;
   55: } trace_outpacket_t;
   56: 
   57: void trace_interface_register (trace_type_t *, struct interface_info *);
   58: void trace_interface_input (trace_type_t *, unsigned, char *);
   59: void trace_interface_stop (trace_type_t *);
   60: void trace_inpacket_stash (struct interface_info *,
   61: 			   struct dhcp_packet *, unsigned, unsigned int,
   62: 			   struct iaddr, struct hardware *);
   63: void trace_inpacket_input (trace_type_t *, unsigned, char *);
   64: void trace_inpacket_stop (trace_type_t *);
   65: void trace_outpacket_input (trace_type_t *, unsigned, char *);
   66: void trace_outpacket_stop (trace_type_t *);
   67: ssize_t trace_packet_send (struct interface_info *,
   68: 			   struct packet *, struct dhcp_packet *, size_t, 
   69: 			   struct in_addr,
   70: 			   struct sockaddr_in *, struct hardware *);
   71: void trace_icmp_input_input (trace_type_t *, unsigned, char *);
   72: void trace_icmp_input_stop (trace_type_t *);
   73: void trace_icmp_output_input (trace_type_t *, unsigned, char *);
   74: void trace_icmp_output_stop (trace_type_t *);
   75: void trace_seed_stash (trace_type_t *, unsigned);
   76: void trace_seed_input (trace_type_t *, unsigned, char *);
   77: void trace_seed_stop (trace_type_t *);

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>