Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

pcap_set_immediate_mode (3pcap)

Name

pcap_set_immediate_mode - activated capture handle

Synopsis

#include <pcap/pcap.h>

int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);

Description

                                                PCAP_SET_IMMEDIATE_MODE(3pcap)



NAME
       pcap_set_immediate_mode  -  set  immediate mode for a not-yet-activated
       capture handle

SYNOPSIS
       #include <pcap/pcap.h>

       int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);

DESCRIPTION
       pcap_set_immediate_mode() sets whether immediate mode should be set  on
       a  capture  handle  when  the  handle is activated.  In immediate mode,
       packets are always delivered as soon as they arrive, with no buffering.
       If immediate_mode is non-zero, immediate mode will be set, otherwise it
       will not be set.

RETURN VALUE
       pcap_set_immediate_mode() 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.5.0.  In previous
       releases, if immediate delivery of packets is required:

              on FreeBSD, NetBSD, OpenBSD, DragonFly BSD, macOS,  and  Solaris
              11,  immediate  mode  must  be  turned  on  with a BIOCIMMEDIATE
              ioctl(2), as documented in bpf(4), on the descriptor returned by
              pcap_fileno(3PCAP), after pcap_activate(3PCAP) is called;

              on  Solaris  10  and earlier versions of Solaris, immediate mode
              must be turned on by using a read timeout of 0 when opening  the
              device  (this  will not provide immediate delivery of packets on
              other platforms, so don't assume it's sufficient);

              on Digital UNIX/Tru64 UNIX, immediate mode must be turned on  by
              doing  a  BIOCMBIC  ioctl,  as documented in packetfilter(7), to
              clear  the  ENBATCH  flag  on   the   descriptor   returned   by
              pcap_fileno(3PCAP), after pcap_activate(3PCAP) is called;

              on  Windows,  immediate  mode  must  be  turned  on  by  calling
              pcap_setmintocopy() with a size of 0.

       On Linux, with previous releases of libpcap, capture devices are always
       in  immediate  mode; however, in 1.5.0 and later, they are, by default,
       not in immediate mode, so if pcap_set_immediate_mode() is available, it
       should be used.

       On other platforms, capture devices are always in immediate mode.


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_create(3PCAP), pcap_activate(3PCAP)



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/.



                                22 August 2018
                                                PCAP_SET_IMMEDIATE_MODE(3pcap)