home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / tcpdumpb.zip / print-pim.c < prev    next >
C/C++ Source or Header  |  1997-02-14  |  3KB  |  105 lines

  1. /*
  2.  * Copyright (c) 1995, 1996
  3.  *      The Regents of the University of California.  All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that: (1) source code distributions
  7.  * retain the above copyright notice and this paragraph in its entirety, (2)
  8.  * distributions including binary code include the above copyright notice and
  9.  * this paragraph in its entirety in the documentation or other materials
  10.  * provided with the distribution, and (3) all advertising materials mentioning
  11.  * features or use of this software display the following acknowledgement:
  12.  * ``This product includes software developed by the University of California,
  13.  * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
  14.  * the University nor the names of its contributors may be used to endorse
  15.  * or promote products derived from this software without specific prior
  16.  * written permission.
  17.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
  18.  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  19.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  20.  */
  21.  
  22. #ifndef lint
  23. static char rcsid[] =
  24.     "@(#) $Header: print-pim.c,v 1.6 96/07/23 14:17:26 leres Exp $ (LBL)";
  25. #endif
  26.  
  27. #include <sys/param.h>
  28. #include <sys/time.h>
  29. #include <sys/socket.h>
  30.  
  31. #include <netinet/in.h>
  32. #include <netinet/in_systm.h>
  33. #include <netinet/ip.h>
  34. #ifndef __EMX__
  35. #include <netinet/ip_var.h>
  36. #endif
  37. #include <netinet/udp.h>
  38. #include <netinet/udp_var.h>
  39. #include <netinet/tcp.h>
  40. #ifndef __EMX__
  41. #include <netinet/tcpip.h>
  42. #endif
  43.  
  44. #include <stdio.h>
  45. #include <stdlib.h>
  46. #include <unistd.h>
  47.  
  48. #include "interface.h"
  49. #include "addrtoname.h"
  50.  
  51. void
  52. pim_print(register const u_char *bp, register u_int len)
  53. {
  54.     register const u_char *ep;
  55.     register u_char type;
  56.  
  57.     ep = (const u_char *)snapend;
  58.     if (bp >= ep)
  59.         return;
  60.  
  61.     type = bp[1];
  62.  
  63.     switch (type) {
  64.     case 0:
  65.         (void)printf(" Query");
  66.         break;
  67.  
  68.     case 1:
  69.         (void)printf(" Register");
  70.         break;
  71.  
  72.     case 2:
  73.         (void)printf(" Register-Stop");
  74.         break;
  75.  
  76.     case 3:
  77.         (void)printf(" Join/Prune");
  78.         break;
  79.  
  80.     case 4:
  81.         (void)printf(" RP-reachable");
  82.         break;
  83.  
  84.     case 5:
  85.         (void)printf(" Assert");
  86.         break;
  87.  
  88.     case 6:
  89.         (void)printf(" Graft");
  90.         break;
  91.  
  92.     case 7:
  93.         (void)printf(" Graft-ACK");
  94.         break;
  95.  
  96.     case 8:
  97.         (void)printf(" Mode");
  98.         break;
  99.  
  100.     default:
  101.         (void)printf(" [type %d]", type);
  102.         break;
  103.     }
  104. }
  105.