> 3. My initial thought was to do the same things in my daemon that are > going on in the source of ifconfig.c - specifically the setifnwid(), > setifwpakey() and setifflags() functions (as opposed to shell exec'ing > the commands themselves). I'd prefer not to be someone who does "editor > reuse" and cut & paste those functions into my code, but I'm not sure > how you would approach that from a "how we do it in OpenBSD" > perspective. Would I refactor that tool to put those methods I use in a > library and then modify it to call them out of the library so we can > both share it?
There has been a lot of discussion about this. The model is not right. Modern wireless chips/drivers can keep track of stations as they come and go, but they have no way to expose this information. The old "scan" command is an atrocity, and a daemon should not be built on top of it. The kernel should have a better way of exporting stations it knows about live, rather than userland forcing channel hops and station changes out of sync with the kernel.

