$Id: TODO 10531 2007-04-07 08:33:02Z rsh $

Code tidy up: reduce the number of global variables.

Additional ARP fingerprinting options, e.g. arpsha != srcaddr.

Avoid double unmarshalling of packet data: once in callback, then again
in display_packet().

Support libpcap0.7, which is used by some older distributions.
The following functions were added in 0.8.  Those marked with "*" are used by
arp-scan:

* pcap_lookupnet()
pcap_next_ex()
pcap_breakloop()
pcap_dump_flush()
pcap_list_datalinks()
pcap_set_datalink()
pcap_lib_version()
* pcap_datalink_val_to_name()
pcap_datalink_name_to_val()

Some OSes, e.g. OpenBSD and NetBSD, don't run man pages through tbl.
There is disagreement about what the first line in the manpage should be.
Solaris 9 says in man(1):
'\" X
Linux sarge says in groff_man(7):
.\" word
In all cases, the letters in word are "e" for eqn, "r" for refer, "t" for tbl.

Why does darwin 7.9 not have prototypes for pcap_datalink_val_to_name(),
pcap_datalink_val_to_description() and pcap_setnonblock() even though the
pcap library contains these functions?  arp-scan compiles with warnings, but
runs OK.

Add support for win32 link-layer send and receive.

Alter the shebang line for the Perl scripts if /usr/bin/perl doesn't exist,
but there is a Perl in one of the other standard locations.  This is mainly
for NetBSD where pkg_add installs Perl as /usr/pkg/bin/perl and doesn't
make /usr/bin/perl a symlink to this.

Add support for Token Ring.

Support the libpcap sending function pcap_sendpacket() or pcap_inject() when
they are supported by the pcap library.

Use pcap_get_selectable_fd() to get the file descriptor for select().
