pcap_set_immediate_mode - set immediate mode for a not-yet-activated capture
  handle
#include <pcap/pcap.h>
int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);
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.
pcap_set_immediate_mode() returns 0 on success or
  PCAP_ERROR_ACTIVATED if called on a capture handle that has been
  activated.
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(@MAN_DEVICES@), on the
      descriptor returned by pcap_fileno(3), after
      pcap_activate(3) 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(3), after pcap_activate(3) 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.
pcap(3), pcap_create(3), pcap_activate(3)