oracular (3) pcap_set_protocol_linux.3pcap.gz

Provided by: libpcap0.8-dev_1.10.5-1ubuntu1_amd64 bug

NAME

       pcap_set_protocol_linux - set capture protocol for a not-yet-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  link-layer
       protocol  value,  such as the values in the <linux/if_ether.h> header file, specified in host byte order.
       If protocol is non-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 link-layer header, with  a  standard  packet  type,  but
       provides  some  packet  types  with a different socket-layer protocol type from the one in the link-layer
       header, that packet type cannot be filtered with a filter specified  with  pcap_setfilter()  but  can  be
       filtered by specifying the socket-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)

                                                 22 August 2018                   PCAP_SET_PROTOCOL_LINUX(3PCAP)