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.
84 lines
2.8 KiB
84 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_GET_REQUIRED_SELECT_TIMEOUT 3PCAP "20 January 2018" |
|
.SH NAME |
|
pcap_get_required_select_timeout \- get a file descriptor on which a |
|
select() can be done for a live capture |
|
.SH SYNOPSIS |
|
.nf |
|
.ft B |
|
#include <pcap/pcap.h> |
|
.ft |
|
.LP |
|
.ft B |
|
struct timeval *pcap_get_required_select_timeout(pcap_t *p); |
|
.ft |
|
.fi |
|
.SH DESCRIPTION |
|
.B pcap_get_required_select_timeout() |
|
returns, on UNIX, a pointer to a |
|
.B struct timeval |
|
containing a value that must be used as the minimum timeout in |
|
.BR select() , |
|
.BR poll() , |
|
.BR epoll_wait() , |
|
and |
|
.B kevent() |
|
calls if |
|
.B pcap_get_selectable_fd() |
|
returns \-1. |
|
.PP |
|
The timeout that should be used in those calls must be no larger than |
|
the smallest of all timeouts returned by |
|
.B pcap_get_required_select_timeout() |
|
for devices from which packets will be captured. |
|
.PP |
|
The device for which |
|
.B pcap_get_selectable_fd() |
|
returned \-1 must be put in non-blocking mode with |
|
.BR pcap_setnonblock() , |
|
and an attempt must always be made to read packets from the device |
|
when the |
|
.BR select() , |
|
.BR poll() , |
|
.BR epoll_wait() , |
|
or |
|
.B kevent() |
|
call returns. |
|
.PP |
|
Note that a device on which a read can be done without blocking may, |
|
on some platforms, not have any packets to read if the packet buffer |
|
timeout has expired. A call to |
|
.B pcap_dispatch() |
|
or |
|
.B pcap_next_ex() |
|
will return 0 in this case, but will not block. |
|
.PP |
|
.B pcap_get_required_select_timeout() |
|
is not available on Windows. |
|
.SH RETURN VALUE |
|
A pointer to a |
|
.B struct timeval |
|
is returned if the timeout is required; otherwise |
|
.B NULL |
|
is returned. |
|
.SH SEE ALSO |
|
pcap(3PCAP), pcap_get_selectable_fd(3PCAP), select(2), poll(2), |
|
epoll_wait(2), kqueue(2)
|
|
|