Blame pcap_set_immediate_mode.3pcap.in

Packit 209cc3
.\"
Packit 209cc3
.\" Copyright (c) 1994, 1996, 1997
Packit 209cc3
.\"	The Regents of the University of California.  All rights reserved.
Packit 209cc3
.\"
Packit 209cc3
.\" Redistribution and use in source and binary forms, with or without
Packit 209cc3
.\" modification, are permitted provided that: (1) source code distributions
Packit 209cc3
.\" retain the above copyright notice and this paragraph in its entirety, (2)
Packit 209cc3
.\" distributions including binary code include the above copyright notice and
Packit 209cc3
.\" this paragraph in its entirety in the documentation or other materials
Packit 209cc3
.\" provided with the distribution, and (3) all advertising materials mentioning
Packit 209cc3
.\" features or use of this software display the following acknowledgement:
Packit 209cc3
.\" ``This product includes software developed by the University of California,
Packit 209cc3
.\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
Packit 209cc3
.\" the University nor the names of its contributors may be used to endorse
Packit 209cc3
.\" or promote products derived from this software without specific prior
Packit 209cc3
.\" written permission.
Packit 209cc3
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
Packit 209cc3
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
Packit 209cc3
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Packit 209cc3
.\"
Packit 209cc3
.TH PCAP_SET_IMMEDIATE_MODE 3PCAP "22 August 2018"
Packit 209cc3
.SH NAME
Packit 209cc3
pcap_set_immediate_mode \- set immediate mode for a not-yet-activated capture
Packit 209cc3
handle
Packit 209cc3
.SH SYNOPSIS
Packit 209cc3
.nf
Packit 209cc3
.ft B
Packit 209cc3
#include <pcap/pcap.h>
Packit 209cc3
.LP
Packit 209cc3
.ft B
Packit 209cc3
int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);
Packit 209cc3
.ft
Packit 209cc3
.fi
Packit 209cc3
.SH DESCRIPTION
Packit 209cc3
.B pcap_set_immediate_mode()
Packit 209cc3
sets whether immediate mode should be set on a capture handle when
Packit 209cc3
the handle is activated.  In immediate mode, packets are always
Packit 209cc3
delivered as soon as they arrive, with no buffering.
Packit 209cc3
If
Packit 209cc3
.I immediate_mode
Packit 209cc3
is non-zero, immediate mode will be set, otherwise it will not be set.
Packit 209cc3
.SH RETURN VALUE
Packit 209cc3
.B pcap_set_immediate_mode()
Packit 209cc3
returns 0 on success or
Packit 209cc3
.B PCAP_ERROR_ACTIVATED
Packit 209cc3
if called on a capture handle that has been activated.
Packit 209cc3
.SH BACKWARD COMPATIBILITY
Packit 209cc3
.PP
Packit 209cc3
This function became available in libpcap release 1.5.0.  In previous
Packit 209cc3
releases, if immediate delivery of packets is required:
Packit 209cc3
.IP
Packit 209cc3
on FreeBSD, NetBSD, OpenBSD, DragonFly BSD, macOS, and Solaris 11,
Packit 209cc3
immediate mode must be turned on with a
Packit 209cc3
.B BIOCIMMEDIATE
Packit 209cc3
.BR ioctl (2),
Packit 209cc3
as documented in
Packit 209cc3
.BR bpf(@MAN_DEVICES@) ,
Packit 209cc3
on the descriptor returned by
Packit 209cc3
.B pcap_fileno(3PCAP),
Packit 209cc3
after
Packit 209cc3
.BR pcap_activate(3PCAP)
Packit 209cc3
is called;
Packit 209cc3
.IP
Packit 209cc3
on Solaris 10 and earlier versions of Solaris, immediate mode must be
Packit 209cc3
turned on by using a read timeout of 0 when opening the device (this
Packit 209cc3
will not provide immediate delivery of packets on other platforms, so
Packit 209cc3
don't assume it's sufficient);
Packit 209cc3
.IP
Packit 209cc3
on Digital UNIX/Tru64 UNIX, immediate mode must be turned on by doing a
Packit 209cc3
.B BIOCMBIC
Packit 209cc3
.BR ioctl ,
Packit 209cc3
as documented in
Packit 209cc3
.BR packetfilter(7) ,
Packit 209cc3
to clear the
Packit 209cc3
.B ENBATCH
Packit 209cc3
flag on the descriptor returned by
Packit 209cc3
.B pcap_fileno(3PCAP),
Packit 209cc3
after
Packit 209cc3
.BR pcap_activate(3PCAP)
Packit 209cc3
is called;
Packit 209cc3
.IP
Packit 209cc3
on Windows, immediate mode must be turned on by calling
Packit 209cc3
.B pcap_setmintocopy()
Packit 209cc3
with a size of 0.
Packit 209cc3
.PP
Packit 209cc3
On Linux, with previous releases of libpcap, capture devices are always
Packit 209cc3
in immediate mode; however, in 1.5.0 and later, they are, by default,
Packit 209cc3
.B not
Packit 209cc3
in immediate mode, so if
Packit 209cc3
.B pcap_set_immediate_mode()
Packit 209cc3
is available, it should be used.
Packit 209cc3
.PP
Packit 209cc3
On other platforms, capture devices are always in immediate mode.
Packit 209cc3
.SH SEE ALSO
Packit 209cc3
pcap(3PCAP), pcap_create(3PCAP), pcap_activate(3PCAP)