tcpdump mailing list archives
Re: supporting extend 'open live capture' parametes
From: Michael Richardson <mcr () sandelman ottawa on ca>
Date: Sun, 13 Jan 2008 18:33:55 -0500
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
"Guy" == Guy Harris <guy () alum mit edu> writes:
>> What problem is the ultra-open parameter list supposed to solve? Guy> 1) allow open options to be added without having to change the Guy> signature of the open-live routine, so that we don't have to Guy> anticipate all the options that might ever want to be added. It seems to me that the problem isn't that we need to add new options to the open-live call, but that we have the problem that the open-live call is a one-shot. I.e. we should instead have a new pcap_open() call, and then we should have a serious of calls that set various options or ask for various things based upon that handle. Thus: pcap_t pcap_open_live(char *device, int snaplen, int promisc, int to_me, char *ebuf) { pcap_t pt = pcap_create(); pcap_set_mechanism(pt, PCAP_BPF); pcap_set_device(pt, device); pcap_set_snaplen(pt, snaplen); pcap_set_promisc(pt, promisc) pcap_set_tome(pt, to_me); pcap_set_errbuf(pt, ebuf); if(pcap_activate(pt)) { return pt; } else { return NULL; } } or, you can make pcap_set_int() call with an enum type that can be extended for new parameters. That would also remove the pcap_open_live() call from all the pcap-*.c and make the interface to a lower-level kernel driver more hidden than it is now. Guy> 2) allow a application to inquire which particular options are Guy> available for a particular device, so it could, for example, Guy> not present UI for turning on 802.11 monitor mode if it's not Right, so maybe you have to have pcap_get_prop() on the pt too. Adding functions that act on a handle is a very nice way to extend an interface. - -- ] Bear: "Me, I'm just the shape of a bear." | firewalls [ ] Michael Richardson, Xelerance Corporation, Ottawa, ON |net architect[ ]mcr () xelerance com http://www.sandelman.ottawa.on.ca/mcr/ |device driver[ ]panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Finger me for keys iQEVAwUBR4qf4oCLcPvd0N1lAQJrewf/eGpAFdWxScyVG1XO7rIo+PQaKsRyR+QC 8vDdLltxjqJqE4HZXMlckad4UuNMAFxH67ZEG6ff6yrbKPnsqkzNgwfAq/pV1FYC hjQ0y7nRXleuft0aJO5Bs4/88GQvbUdBO76kMccNE8VnNrcLOawvsJQ10mD4PctO LXWlMIz/AJ1YigcrxOHqpjh3/YCR+ctnzq4bS7ASXZ+8ZLhNdPzig6/YeKNFY6UQ vwptqoNG5S5AhU9FOwKaKvSJHrq1dk0App4jAEnaRubWWKmhPjDTA8rNradBxJZr rsjofRhLHTTfhGn/PkdE4GG5230FTpNWiNF+hsC8Y9/uhkmzzrX6Hw== =PHIe -----END PGP SIGNATURE----- - This is the tcpdump-workers list. Visit https://cod.sandelman.ca/ to unsubscribe.
Current thread:
- Re: setting the initial ring size, (continued)
- Re: setting the initial ring size Guy Harris (Jan 09)
- Re: setting the initial ring size Abeni Paolo (Jan 10)
- Re: setting the initial ring size Guy Harris (Jan 10)
- Re: supporting extend 'open live capture' parametes [was: setting the initial ring size] Abeni Paolo (Jan 10)
- Re: supporting extend 'open live capture' parametes Guy Harris (Jan 10)
- Re: supporting extend 'open live capture' parametes Andy Howell (Jan 10)
- Re: supporting extend 'open live capture' parametes Guy Harris (Jan 10)
- Re: supporting extend 'open live capture' parametes Andy Howell (Jan 11)
- Re: supporting extend 'open live capture' parametes Michael Richardson (Jan 13)
- Re: supporting extend 'open live capture' parametes Guy Harris (Jan 13)
- Re: supporting extend 'open live capture' parametes Michael Richardson (Jan 13)
- Re: supporting extend 'open live capture' parametes Guy Harris (Jan 15)
- Re: setting the initial ring size Guy Harris (Jan 09)