PCAP_SET_IMMEDIATE_MODE(3PCAP)

πŸ“¦
version 1.10.7 Β· 3 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, centos-stream 10, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

🌸 NAME 🌸

okay bestie, welcome to the PCAP_SET_IMMEDIATE_MODE(3PCAP) manual page ✨ β€” this is all about pcap_set_immediate_mode, and its whole thing is: set immediate mode for a not-yet-activated capture handle πŸ’…. Not activated yet, bestie. Not yet. 🫢

πŸŽ€ SYNOPSIS πŸŽ€

#include <pcap/pcap.h>

int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);

✨ DESCRIPTION ✨

Okay so 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 β€” no little packet queue having a sit-down, no waiting around πŸ’€.

If immediate_mode is non-zero, immediate mode will be set; otherwise it will not be set. That’s the whole switch. That’s the vibe check. πŸŽ€

πŸ’– RETURN VALUE πŸ’–

pcap_set_immediate_mode() returns 0 on success, or PCAP_ERROR_ACTIVATED if called on a capture handle that has been activated 😭. So yeah: set it up before activation, or the function will be like β€œnope, too late, bestie.” πŸ’…

πŸ¦‹ 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 🌈.

🌟 SEE ALSO 🌟

  • pcap(3PCAP)
  • pcap_create(3PCAP)
  • pcap_activate(3PCAP)

byeee bestie 🫢 β€” source/version: PCAP_SET_IMMEDIATE_MODE(3PCAP); date: 23 August 2018 πŸ’–

πŸ“¦ where this page comes from