Windows doesn't support selectable pcap fds, so instead of fiddling with
adapter read timeouts via PacketSetReadTimeout, we get an event handle
with pcap_get_event and WaitForSIngleObject. This means we don't need to
extract the adapter from the pcap_t, which is not part of the libpcap
API and was causing crashes switching between the libpcap versions used
by WinPcap and Npcap.
We use this file to get at the LPADAPTER member of struct pcap on Windows,
which we need in order to pass to PacketSetReadTimeout in a few places.
(Normally pcap_t is an opaque type so we're not supposed to see inside it.) I
don't see an easy way to get rid of the calls to PacketSetReadTimeout right
now.