xref: /freebsd/contrib/libpcap/pcap_activate.3pcap (revision a64729f5077d77e13b9497cb33ecb3c82e606ee8)
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.

PCAP_ACTIVATE 3PCAP "3 June 2024"
NAME
pcap_activate - activate a capture handle
SYNOPSIS
#include <pcap/pcap.h>

int pcap_activate(pcap_t *p);

DESCRIPTION
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.
RETURN VALUE
pcap_activate () returns 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.

The possible warning values are:

PCAP_WARNING_PROMISC_NOTSUP Promiscuous mode was requested, but the capture source doesn't support promiscuous mode.

PCAP_WARNING_TSTAMP_TYPE_NOTSUP The time stamp type specified in a previous pcap_set_tstamp_type (3PCAP) call isn't supported by the capture source (the time stamp type is left as the default),

PCAP_WARNING Another warning condition occurred; pcap_geterr (3PCAP) or pcap_perror (3PCAP) may be called with p as an argument to fetch or display a message describing the warning condition.

The possible error values are:

PCAP_ERROR_ACTIVATED The handle has already been activated.

PCAP_ERROR_NO_SUCH_DEVICE The capture source specified when the handle was created doesn't exist.

PCAP_ERROR_PERM_DENIED The process doesn't have permission to open the capture source.

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.

PCAP_ERROR_RFMON_NOTSUP Monitor mode was specified but the capture source doesn't support monitor mode.

PCAP_ERROR_IFACE_NOT_UP The capture source device is not up.

PCAP_ERROR_CAPTURE_NOTSUP Packet capture is not supported on the capture source.

PCAP_ERROR Another error occurred. pcap_geterr () or pcap_perror () may be called with p as an argument to fetch or display a message describing the error.

If PCAP_WARNING_PROMISC_NOTSUP , PCAP_ERROR_NO_SUCH_DEVICE , PCAP_ERROR_PERM_DENIED , or PCAP_ERROR_CAPTURE_NOTSUP is returned, pcap_geterr () or pcap_perror () may be called with 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.

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. 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.

If pcap_activate () fails, the pcap_t * is not closed and freed; it should be closed using pcap_close (3PCAP).

SEE ALSO
pcap (3PCAP)