permit --disable-usb to turn off support for sniffing USB interfaces
Added parsing of SNF_FLAGS, packet injection, snf_findalldevs for SNF API

Bug Fixes so --with-pcap=snf builds properly
Added back in EBUSY as it can be returned in SNFv3 by snf_ring_recv().
using the PACKET_COUNT_IS_UNLIMITED() macro
using the PACKET_COUNT_IS_UNLIMITED() macro
Be more emphatic that a read timeout may cause no packets to be read.

Note, in more places, that if you call pcap_dispatch() on a pcap_t for
which there's a read timeout, it might return 0 if the read timeout
expires and there are no packets to be read - but that this behavior is
not guaranteed (so write your code to be able to handle it if it does
happen but not to depend on it happening).

Note also that a select()/poll()/etc. on the selectable descriptor for
the pcap_t might report the descriptor as readable if the read timeout
expires, even if there are no packets available to read - but that it
might not (so write your code to be able to handle it if it does happen
but not to depend on it happening).

Also, note that pcap_t's start out blocking, so they don't think that a
0 return from pcap_dispatch() means it's non-blocking and that they need
to call pcap_setnonblock() to put it in blocking mode.
If possible, check what time stamp types we support.
Use a bit less generic name than "map".
Fix compile errors/warnings.
Introduce bpf_filter1 function

Function takes additional argument which is a pointer to bpf_aux_data
structure. This newly introduced struct holds auxiliary data provided by caller
to specify additional data needed to implement some BPF extensions while
executing filter in userspace.

bpf_filter1 currently implements support for two BPF extesions, namely
vlan_tci and vlan_pr.
Use BPF extensions in compiled filters

libpcap will generate BPF filter code which uses BPF extensions if target
platform supports them. Currently supported BPF extensions are vlan_tci and
vlan_pr.

Also to properly handle such filters when filtering in userspace libpcap now
employs bpf_filter1.
Merge pull request #391 from msekletar/vlan-bpf

[RFC] Fix vlan filtering on Linux
More descriptive name for bpf_filter1().

Call it bpf_filter_with_aux_data(), to better indicate what it does.

Also expand some comments and clean up white space a bit.
Get rid of unused variable.

Also clean up white space a bit.
Move the socket ops out of gencode.c.

Instead, do it in pcap-linux.c, and have it set a flag in the pcap_t
structure to indicate to the code in gencode.c that it needs to generate
special VLAN-handling code.
<linux/filter.h> needs <linux/types.h>, and it's not automatically included.

This fixes build errors on, for example, a Red Hat system with a 2.6.9
kernel.
Not all systems have <stdint.h>

Don't include it, and use u_intXX_t, which we arrange to be defined,
rather than uintXX_t.
There's no pcap_t argument to code generator routines.

Use the global bpf_pcap instead.
Use u_short rather than u_int16_t; that's what we do elsewhere.

u_int16_t is not guaranteed to be defined when this is included by
applications (for example, tcpdump).
fix compiling with SO_BPF_EXTENSIONS

Add a missing parenthesis and use socklen_t for the getsockopt()
argument to address a pointer type warning.