Changeset View
Changeset View
Standalone View
Standalone View
sbin/ping/main.c
Show First 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | |||||
#ifdef INET | #ifdef INET | ||||
#include "ping.h" | #include "ping.h" | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
#include "ping6.h" | #include "ping6.h" | ||||
#endif | #endif | ||||
#if defined(INET) && defined(INET6) | #if defined(INET) && defined(INET6) | ||||
#define OPTSTR ":46" | #define OPTSTR PING6OPTS PING4OPTS | ||||
#elif defined(INET) | #elif defined(INET) | ||||
#define OPTSTR ":4" | #define OPTSTR PING4OPTS | ||||
#elif defined(INET6) | #elif defined(INET6) | ||||
#define OPTSTR ":6" | #define OPTSTR PING6OPTS | ||||
#else | |||||
#define OPTSTR "" | |||||
#endif | #endif | ||||
int | int | ||||
main(int argc, char *argv[]) | main(int argc, char *argv[]) | ||||
{ | { | ||||
#if defined(INET) && defined(INET6) | #if defined(INET) && defined(INET6) | ||||
struct in_addr a; | struct in_addr a; | ||||
struct in6_addr a6; | struct in6_addr a6; | ||||
#endif | #endif | ||||
#if defined(INET) || defined(INET6) | #if defined(INET) || defined(INET6) | ||||
struct addrinfo hints; | struct addrinfo hints; | ||||
#endif | #endif | ||||
int ch; | int ch; | ||||
#ifdef INET | #ifdef INET | ||||
bool ipv4 = false; | bool ipv4 = false; | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
bool ipv6 = false; | bool ipv6 = false; | ||||
if (strcmp(getprogname(), "ping6") == 0) | if (strcmp(getprogname(), "ping6") == 0) | ||||
ipv6 = true; | ipv6 = true; | ||||
#endif | #endif | ||||
while ((ch = getopt(argc, argv, OPTSTR)) != -1) { | while ((ch = getopt(argc, argv, ":" OPTSTR)) != -1) { | ||||
switch(ch) { | switch(ch) { | ||||
#ifdef INET | #ifdef INET | ||||
case '4': | case '4': | ||||
ipv4 = true; | ipv4 = true; | ||||
break; | break; | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
case '6': | case '6': | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
(void)fprintf(stderr, | (void)fprintf(stderr, | ||||
"usage:\n" | "usage:\n" | ||||
#ifdef INET | #ifdef INET | ||||
"\tping [-4AaDdfHnoQqRrv] [-C pcp] [-c count] " | "\tping [-4AaDdfHnoQqRrv] [-C pcp] [-c count] " | ||||
"[-G sweepmaxsize]\n" | "[-G sweepmaxsize]\n" | ||||
" [-g sweepminsize] [-h sweepincrsize] [-i wait] " | " [-g sweepminsize] [-h sweepincrsize] [-i wait] " | ||||
"[-l preload]\n" | "[-l preload]\n" | ||||
" [-M mask | time] [-m ttl]" | " [-M mask | time] [-m ttl] " | ||||
#ifdef IPSEC | #ifdef IPSEC | ||||
"[-P policy] " | "[-P policy] " | ||||
#endif | #endif | ||||
"[-p pattern] [-S src_addr] \n" | "[-p pattern] [-S src_addr] \n" | ||||
" [-s packetsize] [-t timeout] [-W waittime] [-z tos] " | " [-s packetsize] [-t timeout] [-W waittime] [-z tos] " | ||||
"IPv4-host\n" | "IPv4-host\n" | ||||
"\tping [-4AaDdfHLnoQqRrv] [-C pcp] [-c count] [-I iface] " | "\tping [-4AaDdfHLnoQqRrv] [-C pcp] [-c count] [-I iface] " | ||||
"[-i wait]\n" | "[-i wait]\n" | ||||
" [-l preload] [-M mask | time] [-m ttl] " | " [-l preload] [-M mask | time] [-m ttl] " | ||||
#ifdef IPSEC | #ifdef IPSEC | ||||
"[-P policy] " | "[-P policy] " | ||||
#endif | #endif | ||||
"[-p pattern]\n" | "[-p pattern]\n" | ||||
" [-S src_addr] [-s packetsize] [-T ttl] [-t timeout] [-W waittime]\n" | " [-S src_addr] [-s packetsize] [-T ttl] [-t timeout] [-W waittime]\n" | ||||
" [-z tos] IPv4-mcast-group\n" | " [-z tos] IPv4-mcast-group\n" | ||||
#endif /* INET */ | #endif /* INET */ | ||||
#ifdef INET6 | #ifdef INET6 | ||||
"\tping [-6aADd" | "\tping [-6AaDd" | ||||
#if defined(IPSEC) && !defined(IPSEC_POLICY_IPSEC) | #if defined(IPSEC) && !defined(IPSEC_POLICY_IPSEC) | ||||
"E" | "E" | ||||
#endif | #endif | ||||
"fHnNoOq" | "fHnNoOq" | ||||
#ifdef IPV6_USE_MIN_MTU | #ifdef IPV6_USE_MIN_MTU | ||||
"u" | "u" | ||||
#endif | #endif | ||||
"vyY" | "vyY" | ||||
Show All 18 Lines |