Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

pcap_get_required_select_timeout (3pcap)

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(3pcap)



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 time-
       out 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.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------------+
       |ATTRIBUTE TYPE |    ATTRIBUTE VALUE     |
       +---------------+------------------------+
       |Availability   | system/library/libpcap |
       +---------------+------------------------+
       |Stability      | Uncommitted            |
       +---------------+------------------------+

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



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source  was  downloaded   from    https://www.tcpdump.org/release/libp-
       cap-1.9.1.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcpdump.org/.



                                 25 July 2018
                                       PCAP_GET_REQUIRED_SELECT_TIMEOUT(3pcap)