unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (NetBSD-6.1.5)
Page:
Section:
Apropos / Subsearch:
optional field

PCAP_FINDALLDEVS(3)        Library Functions Manual        PCAP_FINDALLDEVS(3)



NAME
       pcap_findalldevs - get a list of capture devices

SYNOPSIS
       #include <&lt;pcap/pcap.h>&gt;

       char errbuf[PCAP_ERRBUF_SIZE];

       int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf);

DESCRIPTION
       pcap_findalldevs() constructs a list of network devices that can be
       opened with pcap_create() and pcap_activate() or with pcap_open_live().
       (Note that there may be network devices that cannot be opened by the
       process calling pcap_findalldevs(), because, for example, that process
       might not have sufficient privileges to open them for capturing; if so,
       those devices will not appear on the list.)  alldevsp is set to point
       to the first element of the list; each element of the list is of type
       pcap_if_t, and has the following members:

              next   if not NULL, a pointer to the next element in the list;
                     NULL for the last element of the list

              name   a pointer to a string giving a name for the device to
                     pass to pcap_open_live()

              description
                     if not NULL, a pointer to a string giving a human-
                     readable description of the device

              addresses
                     a pointer to the first element of a list of addresses for
                     the interface

              flags  interface flags:

                     PCAP_IF_LOOPBACK
                            set if the interface is a loopback interface

       Each element of the list of addresses is of type pcap_addr_t, and has
       the following members:

              next   if not NULL, a pointer to the next element in the list;
                     NULL for the last element of the list

              addr   a pointer to a struct sockaddr containing an address

              netmask
                     if not NULL, a pointer to a struct sockaddr that contains
                     the netmask corresponding to the address pointed to by
                     addr

              broadaddr
                     if not NULL, a pointer to a struct sockaddr that contains
                     the broadcast address corresponding to the address
                     pointed to by addr; may be null if the interface doesn't
                     support broadcasts

              dstaddr
                     if not NULL, a pointer to a struct sockaddr that contains
                     the destination address corresponding to the address
                     pointed to by addr; may be null if the interface isn't a
                     point-to-point interface

       Note that not all the addresses in the list of addresses are
       necessarily IPv4 or IPv6 addresses - you must check the sa_family
       member of the struct sockaddr before interpreting the contents of the
       address.

       The list of devices must be freed with pcap_freealldevs().

RETURN VALUE
       pcap_findalldevs() returns 0 on success and -1 on failure.  If -1 is
       returned, errbuf is filled in with an appropriate error message.
       errbuf is assumed to be able to hold at least PCAP_ERRBUF_SIZE chars.

SEE ALSO
       pcap(3), pcap_create(3), pcap_activate(3), pcap_open_live(3),
       pcap_freealldevs(3)



                                 5 April 2008              PCAP_FINDALLDEVS(3)