/[inetutils]/inetutils/ping/ping_echo.c
ViewVC logotype

Diff of /inetutils/ping/ping_echo.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by gray, Mon Nov 10 12:24:12 2003 UTC revision 1.10 by gray, Mon Nov 10 14:29:40 2003 UTC
# Line 240  ipaddr2str (struct in_addr ina) Line 240  ipaddr2str (struct in_addr ina)
240  struct icmp_diag {  struct icmp_diag {
241    int type;    int type;
242    char *text;    char *text;
243    void (*fun) (struct ip *, icmphdr_t *, void *data);    void (*fun) (icmphdr_t *, void *data);
244    void *data;    void *data;
245  };  };
246    
# Line 317  print_ip_header (struct ip *ip) Line 317  print_ip_header (struct ip *ip)
317  }  }
318    
319  void  void
320  print_ip_data (struct ip *ip, icmphdr_t *icmp, void *data)  print_ip_data (icmphdr_t *icmp, void *data)
321  {  {
322    int hlen;    int hlen;
323    u_char *cp;    u_char *cp;
324      struct ip *ip = &icmp->icmp_ip;
325      
326    print_ip_header (ip);    print_ip_header (ip);
327    
328    hlen = ip->ip_hl << 2;    hlen = ip->ip_hl << 2;
# Line 337  print_ip_data (struct ip *ip, icmphdr_t Line 338  print_ip_data (struct ip *ip, icmphdr_t
338  }  }
339    
340  static void  static void
341  print_icmp (struct ip *ip, icmphdr_t *icmp, void *data)  print_icmp (icmphdr_t *icmp, void *data)
342  {  {
343    print_icmp_code (icmp->icmp_code, data);    print_icmp_code (icmp->icmp_code, data);
344    print_ip_data (ip, icmp, NULL);    print_ip_data (icmp, NULL);
345  }  }
346    
347  static void  static void
348  print_parameterprob (struct ip *ip, icmphdr_t *icmp, void *data)  print_parameterprob (icmphdr_t *icmp, void *data)
349  {  {
350    printf ("Parameter problem: IP address = %s\n",    printf ("Parameter problem: IP address = %s\n",
351            inet_ntoa (icmp->icmp_gwaddr));            inet_ntoa (icmp->icmp_gwaddr));
352    print_ip_data (ip, icmp, data);    print_ip_data (icmp, data);
353  }  }
354    
355  struct icmp_diag icmp_diag[] = {  struct icmp_diag icmp_diag[] = {
# Line 395  print_icmp_header (struct sockaddr_in *f Line 396  print_icmp_header (struct sockaddr_in *f
396            if (p->text)            if (p->text)
397              printf ("%s\n", p->text);              printf ("%s\n", p->text);
398            if (p->fun)            if (p->fun)
399              p->fun (ip, icmp, p->data);              p->fun (icmp, p->data);
400            return;            return;
401          }          }
402      }      }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26