libpcap
1.10.1
About: libpcap is a packet filter library used by tools like tcpdump.
![]() ![]() |
#include <sys/types.h>
#include <sys/time.h>
#include <sys/bufmod.h>
#include <sys/stream.h>
#include <libdlpi.h>
#include <errno.h>
#include <memory.h>
#include <stropts.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pcap-int.h"
#include "dlpisubs.h"
Go to the source code of this file.
Data Structures | |
struct | linknamelist |
struct | linkwalk |
Macros | |
#define | STRINGIFY(n) #n |
Typedefs | |
typedef struct linknamelist | linknamelist_t |
typedef struct linkwalk | linkwalk_t |
Functions | |
static int | dlpromiscon (pcap_t *, bpf_u_int32) |
static int | pcap_read_libdlpi (pcap_t *, int, pcap_handler, u_char *) |
static int | pcap_inject_libdlpi (pcap_t *, const void *, int) |
static void | pcap_libdlpi_err (const char *, const char *, int, char *) |
static void | pcap_cleanup_libdlpi (pcap_t *) |
static boolean_t | list_interfaces (const char *, void *) |
static int | pcap_activate_libdlpi (pcap_t *p) |
static int | is_dlpi_interface (const char *name) |
static int | get_if_flags (const char *name, bpf_u_int32 *flags, char *errbuf) |
int | pcap_platform_finddevs (pcap_if_list_t *devlistp, char *errbuf) |
pcap_t * | pcap_create_interface (const char *device, char *ebuf) |
const char * | pcap_lib_version (void) |
#define STRINGIFY | ( | n | ) | #n |
Definition at line 256 of file pcap-libdlpi.c.
typedef struct linknamelist linknamelist_t |
typedef struct linkwalk linkwalk_t |
|
static |
Definition at line 259 of file pcap-libdlpi.c.
References pcap_opt::device, pcap::errbuf, errno, pcap::opt, PCAP_ERROR, PCAP_ERROR_PERM_DENIED, pcap_libdlpi_err(), pd, pcap::priv, and STRINGIFY.
Referenced by pcap_activate_libdlpi().
|
static |
Definition at line 291 of file pcap-libdlpi.c.
References PCAP_IF_CONNECTION_STATUS_NOT_APPLICABLE, and PCAP_IF_LOOPBACK.
Referenced by pcap_platform_finddevs().
|
static |
Definition at line 285 of file pcap-libdlpi.c.
Referenced by pcap_platform_finddevs().
|
static |
Definition at line 74 of file pcap-libdlpi.c.
References linknamelist::linkname, linknamelist::lnl_next, linkwalk::lw_err, linkwalk::lw_list, and pcap_strlcpy().
Referenced by pcap_platform_finddevs().
|
static |
Definition at line 96 of file pcap-libdlpi.c.
References pcap::cleanup_op, pcap_opt::device, dlpromiscon(), pcap::errbuf, errno, pcap::fd, pcap::getnonblock_op, pcap::inject_op, install_bpf_program(), ioctl(), MAXIMUM_SNAPLEN, pcap::opt, pcap_alloc_databuf(), pcap_cleanup_libdlpi(), PCAP_ERRBUF_SIZE, PCAP_ERROR, PCAP_ERROR_NO_SUCH_DEVICE, PCAP_ERROR_PERM_DENIED, PCAP_ERROR_PROMISC_PERM_DENIED, PCAP_ERROR_RFMON_NOTSUP, pcap_fmt_errmsg_for_errno(), pcap_getnonblock_fd(), pcap_inject_libdlpi(), pcap_libdlpi_err(), pcap_process_mactype(), pcap_read_libdlpi(), pcap_setnonblock_fd(), pcap_stats_dlpi(), PCAP_WARNING, pd, pcap::priv, pcap_opt::promisc, pcap::read_op, pcap_opt::rfmon, pcap::selectable_fd, pcap::set_datalink_op, pcap::setdirection_op, pcap::setfilter_op, pcap::setnonblock_op, pcap::snapshot, and pcap::stats_op.
Referenced by pcap_create_interface().
|
static |
Definition at line 453 of file pcap-libdlpi.c.
References pcap::fd, pcap_cleanup_live_common(), pd, and pcap::priv.
Referenced by pcap_activate_libdlpi().
pcap_t* pcap_create_interface | ( | const char * | device, |
char * | ebuf | ||
) |
Definition at line 476 of file pcap-libdlpi.c.
References pcap::activate_op, pcap_activate_libdlpi(), and PCAP_CREATE_COMMON.
|
static |
Definition at line 430 of file pcap-libdlpi.c.
References pcap::errbuf, pcap_libdlpi_err(), pd, and pcap::priv.
Referenced by pcap_activate_libdlpi().
const char* pcap_lib_version | ( | void | ) |
Definition at line 492 of file pcap-libdlpi.c.
References PCAP_VERSION_STRING.
|
static |
Definition at line 469 of file pcap-libdlpi.c.
References PCAP_ERRBUF_SIZE, and snprintf().
Referenced by dlpromiscon(), pcap_activate_libdlpi(), pcap_inject_libdlpi(), and pcap_read_libdlpi().
int pcap_platform_finddevs | ( | pcap_if_list_t * | devlistp, |
char * | errbuf | ||
) |
Definition at line 319 of file pcap-libdlpi.c.
References errno, find_or_add_dev(), get_if_flags(), is_dlpi_interface(), linknamelist::linkname, list_interfaces(), linknamelist::lnl_next, linkwalk::lw_err, linkwalk::lw_list, PCAP_ERRBUF_SIZE, pcap_findalldevs_interfaces(), and pcap_fmt_errmsg_for_errno().
|
static |
Definition at line 378 of file pcap-libdlpi.c.
References pcap::bp, pcap::break_loop, pcap::buffer, pcap::bufsize, pcap::cc, pcap::errbuf, errno, pcap::offset, pcap_libdlpi_err(), pcap_process_pkts(), pd, and pcap::priv.
Referenced by pcap_activate_libdlpi().