dmake: do not set MAKEFLAGS=k
[unleashed/tickless.git] / usr / src / cmd / cmd-inet / usr.sbin / traceroute / traceroute.h
blob63ec0d8797150cde6df3429745f9c60e9d12d3fe
1 /*
2 * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
6 /*
7 * Copyright (c) 1988, 1989, 1991, 1994, 1995, 1996, 1997
8 * The Regents of the University of California. All rights reserved.
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that: (1) source code distributions
12 * retain the above copyright notice and this paragraph in its entirety, (2)
13 * distributions including binary code include the above copyright notice and
14 * this paragraph in its entirety in the documentation or other materials
15 * provided with the distribution, and (3) all advertising materials mentioning
16 * features or use of this software display the following acknowledgement:
17 * ``This product includes software developed by the University of California,
18 * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
19 * the University nor the names of its contributors may be used to endorse
20 * or promote products derived from this software without specific prior
21 * written permission.
22 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27 * @(#)$Header: traceroute.c,v 1.49 97/06/13 02:30:23 leres Exp $ (LBL)
30 #ifndef _TRACEROUTE_H
31 #define _TRACEROUTE_H
33 #pragma ident "%Z%%M% %I% %E% SMI"
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
39 #define MAX_PORT 65535 /* max port value for UDP */
41 #define REPLY_SHORT_PKT 0 /* check_reply() has a short packet */
42 #define REPLY_GOT_GATEWAY 1 /* ... rcvd a reply from an inter. gw */
43 #define REPLY_GOT_TARGET 2 /* ... rcvd the reply from the target */
44 #define REPLY_GOT_OTHER 3 /* ... received other */
47 * this is the max it can be, yet another factor is PMTU, which is ignored
48 * here
50 #define MAX_GWS6 127
53 * Maximum number of gateways (include room for one noop).
54 * 'in_addr_t' is 32 bits, size of IPv4 address.
55 * Note that the actual number of gateways that can be used for source
56 * routing is one less than the value below. This is because the API requires
57 * the last gateway to be the target address.
59 #define MAX_GWS 9
61 /* maximum of max_gws */
62 #define MAXMAX_GWS MAX(MAX_GWS, MAX_GWS6)
64 #define A_CNT(ARRAY) (sizeof (ARRAY) / sizeof ((ARRAY)[0]))
66 #define Fprintf (void)fprintf
67 #define Printf (void)printf
69 struct icmptype_table {
70 int type; /* ICMP type */
71 char *message; /* corresponding string message */
74 /* Data section of the probe packet */
75 struct outdata {
76 uchar_t seq; /* sequence number of this packet */
77 uchar_t ttl; /* ttl packet left with */
78 struct timeval tv; /* time packet left */
81 extern boolean_t docksum; /* do checksum (IPv4 only) */
82 extern int gw_count; /* number of LSRR gateways */
83 extern char *hostname;
84 extern ushort_t ident; /* identity of this traceroute run */
85 extern boolean_t nflag; /* numeric flag */
86 extern ushort_t off; /* set DF bit (IPv4 only) */
87 extern int packlen; /* packet length */
88 extern ushort_t port; /* seed of destination port */
89 extern char *prog; /* program name */
90 extern boolean_t raw_req; /* if sndsock for IPv4 must be raw */
91 extern boolean_t settos; /* set type-of-service (IPv4 only) */
92 extern unsigned char tos; /* value of tos to set */
93 extern boolean_t useicmp; /* use ICMP or UDP */
94 extern boolean_t verbose;
96 #ifdef __cplusplus
98 #endif
100 #endif /* _TRACEROUTE_H */