Obter programaticamente servidores DNS do host

Usando C ++, gostaria de obter os servidores DNS sendo usados por um host para três sistemas operacionais: OS X, FreeBSD e Windows. Gostaria de confirmar que as abordagens abaixo são realmente as melhores práticas e, se não, uma alternativa superior.

OS X: já respondido; link atualizado emdeveloper.apple.comjanelas: GetNetworkParamsFreeBSD: /etc/resolv.conf

Agradeço antecipadamente por sua ajuda!