GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: usr.sbin/tcpdump/print-pim.c Lines: 0 25 0.0 %
Date: 2017-11-07 Branches: 0 12 0.0 %

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