This directory contains support files for running mDNS on Microsoft Windows and Windows CE/PocketPC. Building this code requires the Windows SDK 2003 or later. The CodeWarrior builds require CodeWarrior 8 or later and if using CodeWarrior 8, the newer Windows headers from the Mac CodeWarrior 9 need to be used. mDNSWin32.c/.h Platform Support files that go below mDNS Core. These work on both Windows and Windows CE/PocketPC. DNSSD.c/.h High-level implementation of the DNS-SD API. This supports both "direct" (compiled-in mDNSCore) and "client" (IPC to service) usage. Conditionals can exclude either "direct" or "client" to reduce code size. DNSSDDirect.c/.h Portable implementation of the DNS-SD API. This interacts with mDNSCore to perform all the real work of the DNS-SD API. This code does not rely on any platform-specifics so it should run on any platform with an mDNS platform plugin available. Software that cannot or does not want to use the IPC mechanism (e.g. Windows CE, VxWorks, etc.) can use this code directly without any of the IPC pieces. RMxClient.c/.h Client-side implementation of the DNS-SD IPC API. This handles sending and receiving messages from the service to perform DNS-SD operations and get DNS-SD responses. RMxCommon.c/.h Common code between the RMxClient and RMxServer. This handles establishing and accepting connections, the underying message sending and receiving, portable data packing and unpacking, and shared utility routines. RMxServer.c/.h Server-side implementation of the DNS-SD IPC API. This listens for and accepts connections from IPC clients, starts server sessions, and acts as a mediator between the "direct" (compiled-in mDNSCore) code and the IPC client. DNSServices is an obsolete higher-level API for using mDNS. New code should use the DNS-SD APIs. DNSServiceDiscovery is an obsolete emulation layer that sits on top of DNSServices and provides the Mac OS X DNS Service Discovery API's on any platform. New code should use the DNS-SD APIs. Tool.c is an example client that uses the services of mDNS Core. ToolWin32.mcp is a CodeWarrior project (CodeWarrior for Windows version 8). ToolWin32.vcproj is a Visual Studio .NET 7 project. These projects build Tool.c to make DNSServiceTest.exe, a small Windows command-line tool to do all the standard DNS-SD stuff on Windows. It has the following features: - Browse for browsing and/or registration domains. - Browse for services. - Lookup Service Instances. - Register domains for browsing and/or registration. - Register services. For example, if you have a Windows machine running a Web server, then you can make it advertise that it is offering HTTP on port 80 with the following command: DNSServiceTest -rs "Windows Web Server" "_http._tcp." "local." 80 "" To search for AFP servers, use this: DNSServiceTest -bs "_afpovertcp._tcp." "local." You can also do multiple things at once (e.g. register a service and browse for it so one instance of the app can be used for testing). Multiple instances can also be run on the same machine to discover each other. There is a -help command to show all the commands, their parameters, and some examples of using it. DNSServiceBrowser contains the source code for a graphical browser application for Windows CE/PocketPC. The Windows CE/PocketPC version requires Microsoft eMbedded C++ 4.0 with SP2 installed and the PocketPC 2003 SDK.