Thanks for all your help,
So others can benefit, the magic incantation I was looking for (refering to
the original question about how to get an ethernet MAC address)
is
unsigned char buf[IEEE802II_NWID_LEN];
ifr.ifr_data=buf;
ioctl(s,SIOCG802IINWID,&ifr);
which is defined in net/if_ieee80211.h
Thanks,
Roger