* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#ifndef _NO_PROTO
-#if !__STDC__ && !defined( __cplusplus ) && !defined( FUNCPROTO ) \
- && !defined( _POSIX_SOURCE )
-#define _NO_PROTO
-#endif /* __STDC__ */
-#endif /* _NO_PROTO */
-
#ifdef __cplusplus
extern "C"
{
/*** forward declarations ***/
-#ifdef _NO_PROTO
-
-void add_name();
-void add_addr();
-char *na_cat();
-char *cpystr();
-void crash_and_burn();
-void errno_crash_and_burn();
-char *get_host_by_address();
-int in_cksum();
-void u_sleep();
-int recvfrom_wto ();
-void remove_job();
-int send_ping();
-void usage();
-int wait_for_reply();
-long timeval_diff();
-void print_per_system_stats();
-void print_per_system_splits();
-void print_global_stats();
-void main_loop();
-void finish();
-int handle_random_icmp();
-char *sprint_tm();
-
-#else
-
void add_name( char *name );
#ifndef IPV6
void add_addr( char *name, char *host, struct in_addr ipaddr );
void add_cidr(char *);
void add_range(char *, char *);
-#endif /* _NO_PROTO */
-
/*** function definitions ***/
/************************************************************
************************************************************/
-#ifdef _NO_PROTO
-int main( argc, argv )
-int argc; char **argv;
-#else
int main( int argc, char **argv )
-#endif /* _NO_PROTO */
{
int c, i, n;
#ifdef IPV6
************************************************************/
-#ifdef _NO_PROTO
void finish()
-#else
-void finish()
-#endif /* _NO_PROTO */
{
int i;
HOST_ENTRY *h;
************************************************************/
-#ifdef _NO_PROTO
-void print_per_system_stats()
-#else
void print_per_system_stats( void )
-#endif /* _NO_PROTO */
{
int i, j, avg;
HOST_ENTRY *h;
************************************************************/
-#ifdef _NO_PROTO
-void print_per_system_splits()
-#else
void print_per_system_splits( void )
-#endif /* _NO_PROTO */
{
int i, avg;
HOST_ENTRY *h;
************************************************************/
-#ifdef _NO_PROTO
-void print_global_stats()
-#else
void print_global_stats( void )
-#endif /* _NO_PROTO */
{
fflush( stdout );
fprintf( stderr, "\n" );
************************************************************/
-#ifdef _NO_PROTO
-int send_ping( s, h )
-int s; HOST_ENTRY *h;
-#else
int send_ping( int s, HOST_ENTRY *h )
-#endif /* _NO_PROTO */
{
char *buffer;
FPING_ICMPHDR *icp;
************************************************************/
-#ifdef _NO_PROTO
-int wait_for_reply()
-#else
int wait_for_reply(long wait_time)
-#endif
{
int result;
static char buffer[4096];
************************************************************/
-#ifdef _NO_PROTO
-int handle_random_icmp( p, psize, addr )
- FPING_ICMPHDR *p;
- int psize;
- FPING_SOCKADDR *addr;
-#else
int handle_random_icmp( FPING_ICMPHDR *p, int psize, FPING_SOCKADDR *addr )
-#endif /* _NO_PROTO */
{
FPING_ICMPHDR *sent_icmp;
unsigned char *c;
************************************************************/
-#ifdef _NO_PROTO
-int in_cksum( p, n )
-unsigned short *p; int n;
-#else
int in_cksum( unsigned short *p, int n )
-#endif /* _NO_PROTO */
{
register unsigned short answer;
register long sum = 0;
************************************************************/
-#ifdef _NO_PROTO
-void add_name( name )
-char *name;
-#else
void add_name( char *name )
-#endif /* _NO_PROTO */
{
#ifndef IPV6
struct hostent *host_ent;
************************************************************/
-#ifdef _NO_PROTO
-char *na_cat( name, ipaddr )
-char *name;
-struct in_addr ipaddr;
-#else
char *na_cat( char *name, struct in_addr ipaddr )
-#endif /* _NO_PROTO */
{
char *nm, *as;
************************************************************/
-#ifdef _NO_PROTO
-void add_addr( name, host, ipaddr )
-char *name;
-char *host;
-#ifndef IPV6
-struct in_addr ipaddr;
-#else
-FPING_SOCKADDR *ipaddr;
-#endif
-#else
#ifndef IPV6
void add_addr( char *name, char *host, struct in_addr ipaddr )
#else
void add_addr( char *name, char *host, FPING_SOCKADDR *ipaddr )
#endif
-#endif /* _NO_PROTO */
{
HOST_ENTRY *p;
int n, *i;
************************************************************/
-#ifdef _NO_PROTO
-void remove_job( h )
-HOST_ENTRY *h;
-#else
void remove_job( HOST_ENTRY *h )
-#endif /* _NO_PROTO */
{
#if defined( DEBUG ) || defined( _DEBUG )
if( trace_flag )
************************************************************/
-#ifdef _NO_PROTO
-char *get_host_by_address( in )
-struct in_addr in;
-#else
char *get_host_by_address( struct in_addr in )
-#endif /* _NO_PROTO */
{
struct hostent *h;
#ifndef IPV6
************************************************************/
-#ifdef _NO_PROTO
-char *cpystr( string )
-char *string;
-#else
char *cpystr( char *string )
-#endif /* _NO_PROTO */
{
char *dst;
************************************************************/
-#ifdef _NO_PROTO
-void crash_and_burn( message )
-char *message;
-#else
void crash_and_burn( char *message )
-#endif /* _NO_PROTO */
{
if( verbose_flag )
fprintf( stderr, "%s: %s\n", prog, message );
************************************************************/
-#ifdef _NO_PROTO
-void errno_crash_and_burn( message )
-char *message;
-#else
void errno_crash_and_burn( char *message )
-#endif /* _NO_PROTO */
{
fprintf( stderr, "%s: %s : %s\n", prog, message, strerror( errno ) );
exit( 4 );
************************************************************/
-#ifdef _NO_PROTO
-long timeval_diff( a, b )
-struct timeval *a, *b;
-#else
long timeval_diff( struct timeval *a, struct timeval *b )
-#endif /* _NO_PROTO */
{
long sec_diff = a->tv_sec - b->tv_sec;
if(sec_diff == 0) {
************************************************************/
-#ifdef _NO_PROTO
-char * sprint_tm( t )
-int t;
-#else
char * sprint_tm( int t )
-#endif /* _NO_PROTO */
{
static char buf[10];
************************************************************/
-#ifdef _NO_PROTO
-void u_sleep( u_sec )
-int u_sec;
-#else
void u_sleep( int u_sec )
-#endif /* _NO_PROTO */
{
int nfound;
struct timeval to;
************************************************************/
-#ifdef _NO_PROTO
-int recvfrom_wto( s, buf, len, saddr, timo )
-int s; char *buf; int len; FPING_SOCKADDR *saddr; long timo;
-#else
int recvfrom_wto( int s, char *buf, int len, FPING_SOCKADDR *saddr, long timo )
-#endif /* _NO_PROTO */
{
unsigned int slen;
int nfound, n;
************************************************************/
-#ifdef _NO_PROTO
-void usage()
-#else
void usage( void )
-#endif /* _NO_PROTO */
{
fprintf( stderr, "\n" );
fprintf( stderr, "Usage: %s [options] [targets...]\n", prog );