Section: Misc. Reference Manual Pages (3PCAP)
Updated: 25 July 2018
Return to Main Contents

This man page documents libpcap version 1.9.1 (see also: git master branch, 1.10.1, 1.10.0, 1.9.0).

Your system may have a different version installed, possibly with some local modifications. To achieve the best results, please make sure this version of this man page suits your needs. If necessary, try to look for a different version on this web site or in the man pages available in your installation.


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


#include <pcap/pcap.h>

struct timeval *pcap_get_required_select_timeout(pcap_t *p);


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.


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


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.


pcap(3PCAP), pcap_get_selectable_fd(3PCAP), select(2), poll(2), epoll_wait(2), kqueue(2)


This HTML man page was generated at 10:40:20 GMT, October 05, 2021 from a source man page in "The Tcpdump Group" git repositories using man2html and other tools.