focal (3) pcap_get_required_select_timeout.3pcap.gz

Provided by: libpcap0.8-dev_1.9.1-3ubuntu1.20.04.1_amd64 bug

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.

SEE ALSO

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

                                                  25 July 2018           PCAP_GET_REQUIRED_SELECT_TIMEOUT(3PCAP)