Linux repositories inspector

pcap_get_required_select_timeout(3pcap)

25 July 2018

libpcap0.8-dev

development library and header files for libpcap0.8

libpcap

A system-independent interface for user-level packet capture

libpcap-devel

Libraries and header files for the libpcap library

NAME

pcap_get_required_select_timeout - get a file descriptor on which a select() can be done for a live capture

SYNOPSIS

#include <pcap/pcap.h>

struct timeval *pcap_get_required_select_timeout(pcap_t *p);

DESCRIPTION

pcap_get_required_select_timeout() returns, on UNIX, a pointer to a struct timeval containing a value that must be used as the minimum timeout in select(2) , poll(2) , epoll_wait(2) , and kevent() calls if pcap_get_selectable_fd(3PCAP) returns PCAP_ERROR.
The timeout that should be used in those calls must be no larger than the smallest of all timeouts returned by pcap_get_required_select_timeout() for devices from which packets will be captured.
The device for which pcap_get_selectable_fd() returned PCAP_ERROR must be put in non-blocking mode with pcap_setnonblock(3PCAP) , and an attempt must always be made to read packets from the device when the select(), poll(), epoll_wait(), or kevent() call returns.
Note that a device on which a read can be done without blocking may, on some platforms, not have any packets to read if the packet buffer timeout has expired. A call to pcap_dispatch(3PCAP) or pcap_next_ex(3PCAP) will return 0 in this case, but will not block.
pcap_get_required_select_timeout() is not available on Windows.

RETURN VALUE

A pointer to a struct timeval is returned if the timeout is required; otherwise NULL is returned.

BACKWARD COMPATIBILITY

This function became available in libpcap release 1.9.0. In previous releases, select(), poll(), epoll_wait(), and kevent() cannot be used on any capture source for which pcap_get_selectable_fd returns -1.

REFERENCED BY

⇧ Top