|
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_SETNONBLOCK 3PCAP "25 July 2018"
|
|
Packit |
209cc3 |
.SH NAME
|
|
Packit |
209cc3 |
pcap_setnonblock, pcap_getnonblock \- set or get the state of
|
|
Packit |
209cc3 |
non-blocking mode on a capture device
|
|
Packit |
209cc3 |
.SH SYNOPSIS
|
|
Packit |
209cc3 |
.nf
|
|
Packit |
209cc3 |
.ft B
|
|
Packit |
209cc3 |
#include <pcap/pcap.h>
|
|
Packit |
209cc3 |
.ft
|
|
Packit |
209cc3 |
.LP
|
|
Packit |
209cc3 |
.nf
|
|
Packit |
209cc3 |
.ft B
|
|
Packit |
209cc3 |
char errbuf[PCAP_ERRBUF_SIZE];
|
|
Packit |
209cc3 |
.ft
|
|
Packit |
209cc3 |
.LP
|
|
Packit |
209cc3 |
.ft B
|
|
Packit |
209cc3 |
int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf);
|
|
Packit |
209cc3 |
int pcap_getnonblock(pcap_t *p, char *errbuf);
|
|
Packit |
209cc3 |
.ft
|
|
Packit |
209cc3 |
.fi
|
|
Packit |
209cc3 |
.SH DESCRIPTION
|
|
Packit |
209cc3 |
.B pcap_setnonblock()
|
|
Packit |
209cc3 |
puts a capture handle into ``non-blocking'' mode, or takes it out
|
|
Packit |
209cc3 |
of ``non-blocking'' mode, depending on whether the
|
|
Packit |
209cc3 |
.I nonblock
|
|
Packit |
209cc3 |
argument is non-zero or zero. It has no effect on ``savefiles''.
|
|
Packit |
209cc3 |
If there is an error,
|
|
Packit |
209cc3 |
.B PCAP_ERROR
|
|
Packit |
209cc3 |
is returned and
|
|
Packit |
209cc3 |
.I errbuf
|
|
Packit |
209cc3 |
is filled in with an appropriate error message; otherwise, 0 is
|
|
Packit |
209cc3 |
returned.
|
|
Packit |
209cc3 |
In
|
|
Packit |
209cc3 |
``non-blocking'' mode, an attempt to read from the capture descriptor
|
|
Packit |
209cc3 |
with
|
|
Packit |
209cc3 |
.B pcap_dispatch(3PCAP)
|
|
Packit |
209cc3 |
will, if no packets are currently available to be read, return 0
|
|
Packit |
209cc3 |
immediately rather than blocking waiting for packets to arrive.
|
|
Packit |
209cc3 |
.B pcap_loop(3PCAP)
|
|
Packit |
209cc3 |
and
|
|
Packit |
209cc3 |
.B pcap_next(3PCAP)
|
|
Packit |
209cc3 |
will not work in ``non-blocking'' mode.
|
|
Packit |
209cc3 |
.PP
|
|
Packit |
209cc3 |
When first activated with
|
|
Packit |
209cc3 |
.B pcap_activate(3PCAP)
|
|
Packit |
209cc3 |
or opened with
|
|
Packit |
209cc3 |
.B pcap_open_live(3PCAP) ,
|
|
Packit |
209cc3 |
a capture handle is not in ``non-blocking mode''; a call to
|
|
Packit |
209cc3 |
.B pcap_setnonblock()
|
|
Packit |
209cc3 |
is required in order to put it into ``non-blocking'' mode.
|
|
Packit |
209cc3 |
.SH RETURN VALUE
|
|
Packit |
209cc3 |
.B pcap_getnonblock()
|
|
Packit |
209cc3 |
returns the current ``non-blocking'' state of the capture descriptor; it
|
|
Packit |
209cc3 |
always returns 0 on ``savefiles''.
|
|
Packit |
209cc3 |
If there is an error,
|
|
Packit |
209cc3 |
.B PCAP_ERROR
|
|
Packit |
209cc3 |
is returned and
|
|
Packit |
209cc3 |
.I errbuf
|
|
Packit |
209cc3 |
is filled in with an appropriate error message.
|
|
Packit |
209cc3 |
.PP
|
|
Packit |
209cc3 |
.I errbuf
|
|
Packit |
209cc3 |
is assumed to be able to hold at least
|
|
Packit |
209cc3 |
.B PCAP_ERRBUF_SIZE
|
|
Packit |
209cc3 |
chars.
|
|
Packit |
209cc3 |
.SH SEE ALSO
|
|
Packit |
209cc3 |
pcap(3PCAP), pcap_next_ex(3PCAP), pcap_geterr(3PCAP)
|