For a proof-of-concept project, we need to use Avahi to both browse for DNS-SD services and publish (register) services with the Avahi daemon process. See [login to view URL] for the API and demo applications. It is perfectly acceptable to simply get the example applications at the above web site running to complete this assignment. If you want to write your own applications, they need to have the same functionality as the example applications (client_browse_services.c and client_publish_service.c) as published at the above web site.
The code MUST work under linux and it would be nice if it worked on MAC OS X, but that isn't required.
The code should work under ipv4 and ipv6.
No GUI is required.