You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.8 KiB
81 lines
2.8 KiB
.\" Copyright (c) 1994, 1996, 1997 |
|
.\" The Regents of the University of California. All rights reserved. |
|
.\" |
|
.\" Redistribution and use in source and binary forms, with or without |
|
.\" modification, are permitted provided that: (1) source code distributions |
|
.\" retain the above copyright notice and this paragraph in its entirety, (2) |
|
.\" distributions including binary code include the above copyright notice and |
|
.\" this paragraph in its entirety in the documentation or other materials |
|
.\" provided with the distribution, and (3) all advertising materials mentioning |
|
.\" features or use of this software display the following acknowledgement: |
|
.\" ``This product includes software developed by the University of California, |
|
.\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of |
|
.\" the University nor the names of its contributors may be used to endorse |
|
.\" or promote products derived from this software without specific prior |
|
.\" written permission. |
|
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED |
|
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF |
|
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
|
.\" |
|
.TH PCAP_SETNONBLOCK 3PCAP "18 October 2014" |
|
.SH NAME |
|
pcap_setnonblock, pcap_getnonblock \- set or get the state of |
|
non-blocking mode on a capture device |
|
.SH SYNOPSIS |
|
.nf |
|
.ft B |
|
#include <pcap/pcap.h> |
|
.ft |
|
.LP |
|
.nf |
|
.ft B |
|
char errbuf[PCAP_ERRBUF_SIZE]; |
|
.ft |
|
.LP |
|
.ft B |
|
int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf); |
|
int pcap_getnonblock(pcap_t *p, char *errbuf); |
|
.ft |
|
.fi |
|
.SH DESCRIPTION |
|
.B pcap_setnonblock() |
|
puts a capture handle into ``non-blocking'' mode, or takes it out |
|
of ``non-blocking'' mode, depending on whether the |
|
.I nonblock |
|
argument is non-zero or zero. It has no effect on ``savefiles''. |
|
If there is an error, \-1 is returned and |
|
.I errbuf |
|
is filled in with an appropriate error message; otherwise, 0 is |
|
returned. |
|
In |
|
``non-blocking'' mode, an attempt to read from the capture descriptor |
|
with |
|
.B pcap_dispatch() |
|
will, if no packets are currently available to be read, return 0 |
|
immediately rather than blocking waiting for packets to arrive. |
|
.B pcap_loop() |
|
and |
|
.B pcap_next() |
|
will not work in ``non-blocking'' mode. |
|
.PP |
|
When first activated with |
|
.B pcap_activate() |
|
or opened with |
|
.B pcap_open_live() , |
|
a capture handle is not in ``non-blocking mode''; a call to |
|
.B pcap_setnonblock() |
|
is required in order to put it into ``non-blocking'' mode. |
|
.SH RETURN VALUE |
|
.B pcap_getnonblock() |
|
returns the current ``non-blocking'' state of the capture descriptor; it |
|
always returns 0 on ``savefiles''. |
|
If there is an error, \-1 is returned and |
|
.I errbuf |
|
is filled in with an appropriate error message. |
|
.PP |
|
.I errbuf |
|
is assumed to be able to hold at least |
|
.B PCAP_ERRBUF_SIZE |
|
chars. |
|
.SH SEE ALSO |
|
pcap(3PCAP), pcap_loop(3PCAP), pcap_next_ex(3PCAP), pcap_geterr(3PCAP)
|
|
|