pcap_setnonblock() puts a capture handle into ``non-blocking''
mode, or takes it out of ``non-blocking'' mode, depending on
whether the nonblock argument is non-zero or zero. It has no
effect on ``savefiles''. errbuf is a buffer large enough to hold
at least PCAP_ERRBUF_SIZE chars.
In ``non-blocking'' mode, an attempt to read from the capture
descriptor with pcap_dispatch(3PCAP) and pcap_next_ex(3PCAP)
will, if no packets are currently available to be read, return 0
immediately rather than blocking waiting for packets to arrive.
pcap_loop(3PCAP) will loop forever, consuming CPU time when no
packets are currently available; pcap_dispatch() should be used
instead. pcap_next(3PCAP) will return NULL if there are no
packets currently available to read; this is indistinguishable
from an error, so pcap_next_ex() should be used instead.
When first activated with pcap_activate(3PCAP) or opened with
pcap_open_live(3PCAP), a capture handle is not in ``non-blocking
mode''; a call to pcap_setnonblock() is required in order to put
it into ``non-blocking'' mode.
ЗНАЧЕНИЕ ВОЗВРАТА
pcap_setnonblock() return 0 on success, PCAP_ERROR_NOT_ACTIVATED
if called on a capture handle that has been created but not
activated, and PCAP_ERROR for other errors. pcap_getnonblock()
returns the current ``non-blocking'' state of the capture
descriptor on success; it always returns 0 on ``savefiles''. It
returns PCAP_ERROR_NOT_ACTIVATED if called on a capture handle
that has been created but not activated, and PCAP_ERROR for other
errors. If PCAP_ERROR is returned, errbuf is filled in with an
appropriate error message.
This page is part of the libpcap (packet capture library)
project. Information about the project can be found at
⟨http://www.tcpdump.org/⟩. If you have a bug report for this
manual page, see ⟨http://www.tcpdump.org/#patches⟩. This page
was obtained from the project's upstream Git repository
⟨https://github.com/the-tcpdump-group/libpcap.git⟩ on 2024-06-14.
(At that time, the date of the most recent commit that was found
in the repository was 2024-06-04.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
5 March 2022 PCAP_SETNONBLOCK(3PCAP)