OpenMDNS is a multicast DNS implementation which is split into a daemon handling mDNS packets and a library to let third party applications register or browse services. It is written in C and aims to run on Linux, Mac OS X, Windows, and Unix in general.