I can certainly understand your reluctance to go down the audio(4) path, although it seems to me that some API unifying the current audio drivers and what you need may be the right answer. I don't understand why you think it's reasonable to use sysctl. To me, sysctl is about managing the kernel and the hardware in use by the OS, but isn't a proper way to do general-purpose IO. Perhaps I'm confused on this point. Another difference with audio is that it should be easy for a program to say "grab a sample now and tell me what it is", or "sample at precisely this time". audio is more periodic and not so well connected to real time.
Attachment:
pgpjPfyPxcPEK.pgp
Description: PGP signature