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.

132 lines
3.9 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_ACTIVATE 3PCAP "24 November 2019"
.SH NAME
pcap_activate \- activate a capture handle
.SH SYNOPSIS
.nf
.ft B
#include <pcap/pcap.h>
.ft
.LP
.ft B
int pcap_activate(pcap_t *p);
.ft
.fi
.SH DESCRIPTION
.BR pcap_activate ()
is used to activate a packet capture handle to look
at packets on the network, with the options that were set on the handle
being in effect.
.SH RETURN VALUE
.BR pcap_activate ()
returns
.B 0
on success without warnings, a non-zero positive value on
success with warnings, and a negative value on error.
A non-zero return value indicates what warning or error condition
occurred.
.LP
The possible warning values are:
.TP
.B PCAP_WARNING_PROMISC_NOTSUP
Promiscuous mode was requested, but the capture source doesn't support
promiscuous mode.
.TP
.B PCAP_WARNING_TSTAMP_TYPE_NOTSUP
The time stamp type specified in a previous
.BR pcap_set_tstamp_type (3PCAP)
call isn't supported by the capture source (the time stamp type is
left as the default),
.TP
.B PCAP_WARNING
Another warning condition occurred;
.BR pcap_geterr (3PCAP)
or
.BR pcap_perror (3PCAP)
may be called with
.I p
as an argument to fetch or display a message describing the warning
condition.
.LP
The possible error values are:
.TP
.B PCAP_ERROR_ACTIVATED
The handle has already been activated.
.TP
.B PCAP_ERROR_NO_SUCH_DEVICE
The capture source specified when the handle was created doesn't
exist.
.TP
.B PCAP_ERROR_PERM_DENIED
The process doesn't have permission to open the capture source.
.TP
.B PCAP_ERROR_PROMISC_PERM_DENIED
The process has permission to open the capture source but doesn't
have permission to put it into promiscuous mode.
.TP
.B PCAP_ERROR_RFMON_NOTSUP
Monitor mode was specified but the capture source doesn't support
monitor mode.
.TP
.B PCAP_ERROR_IFACE_NOT_UP
The capture source device is not up.
.TP
.B PCAP_ERROR
Another error occurred.
.BR pcap_geterr ()
or
.BR pcap_perror ()
may be called with
.I p
as an argument to fetch or display a message describing the error.
.LP
If
.BR PCAP_WARNING_PROMISC_NOTSUP ,
.BR PCAP_ERROR_NO_SUCH_DEVICE ,
or
.B PCAP_ERROR_PERM_DENIED
is returned,
.BR pcap_geterr ()
or
.BR pcap_perror ()
may be called with
.I p
as an argument to fetch or display an message giving additional details
about the problem that might be useful for debugging the problem if it's
unexpected.
.LP
Additional warning and error codes may be added in the future; a program
should check for positive, negative, and zero return codes, and treat
all positive return codes as warnings and all negative return
codes as errors.
.BR pcap_statustostr (3PCAP)
can be called, with a warning or error code as an argument, to fetch a
message describing the warning or error code.
.LP
If
.BR pcap_activate ()
fails, the
.I pcap_t *
is not closed and freed; it should be closed using
.BR pcap_close ().
.SH SEE ALSO
.BR pcap (3PCAP)