PCAP_SET_PROTOCOL_LINUX
Section: Misc. Reference Manual Pages (3PCAP)
Updated: 22 August 2018
Index
Return to Main Contents
NAME
pcap_set_protocol_linux - set capture protocol for a no-ye-activated
capture handle
SYNOPSIS
#include <pcap/pcap.h>
int pcap_set_protocol_linux(pcap_t *p, int protocol);
DESCRIPTION
On network interface devices on Linux,
pcap_set_protocol_linux()
sets the protocol to be used in the
socket(2)
call to create a capture socket when the handle is activated. The
argument is a lin-layer protocol value, such as the values in the
<linux/if_ether.h>
header file, specified in host byte order.
If
protocol
is no-zero, packets of that protocol will be captured when the
handle is activated, otherwise, all packets will be captured. This
function is only provided on Linux, and, if it is used on any device
other than a network interface, it will have no effect.
It should not be used in portable code; instead, a filter should be
specified with
pcap_setfilter(3PCAP).
If a given network interface provides a standard lin-layer header, with
a standard packet type, but provides some packet types with a different
socke-layer protocol type from the one in the lin-layer header, that
packet type cannot be filtered with a filter specified with
pcap_setfilter()
but can be filtered by specifying the socke-layer protocol type using
pcap_set_protocol_linux().
RETURN VALUE
pcap_set_protocol_linux()
returns
0
on success or
PCAP_ERROR_ACTIVATED
if called on a capture handle that has been activated.
BACKWARD COMPATIBILITY
This function became available in libpcap release 1.9.0.
SEE ALSO
pcap(3PCAP),
pcap_create(3PCAP),
pcap_activate(3PCAP)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- BACKWARD COMPATIBILITY
-
- SEE ALSO
-