1This directory contains support files for running mDNS on Microsoft Windows 2and Windows CE/PocketPC. Building this code requires the Windows SDK 2003 3or later. The CodeWarrior builds require CodeWarrior 8 or later and if using 4CodeWarrior 8, the newer Windows headers from the Mac CodeWarrior 9 need to 5be used. 6 7mDNSWin32.c/.h 8 9 Platform Support files that go below mDNS Core. These work on both Windows 10 and Windows CE/PocketPC. 11 12DNSSD.c/.h 13 14 High-level implementation of the DNS-SD API. This supports both "direct" 15 (compiled-in mDNSCore) and "client" (IPC to service) usage. Conditionals 16 can exclude either "direct" or "client" to reduce code size. 17 18DNSSDDirect.c/.h 19 20 Portable implementation of the DNS-SD API. This interacts with mDNSCore 21 to perform all the real work of the DNS-SD API. This code does not rely 22 on any platform-specifics so it should run on any platform with an mDNS 23 platform plugin available. Software that cannot or does not want to use 24 the IPC mechanism (e.g. Windows CE, VxWorks, etc.) can use this code 25 directly without any of the IPC pieces. 26 27RMxClient.c/.h 28 29 Client-side implementation of the DNS-SD IPC API. This handles sending 30 and receiving messages from the service to perform DNS-SD operations 31 and get DNS-SD responses. 32 33RMxCommon.c/.h 34 35 Common code between the RMxClient and RMxServer. This handles establishing 36 and accepting connections, the underying message sending and receiving, 37 portable data packing and unpacking, and shared utility routines. 38 39RMxServer.c/.h 40 41 Server-side implementation of the DNS-SD IPC API. This listens for 42 and accepts connections from IPC clients, starts server sessions, and 43 acts as a mediator between the "direct" (compiled-in mDNSCore) code 44 and the IPC client. 45 46DNSServices is an obsolete higher-level API for using mDNS. New code should 47use the DNS-SD APIs. 48 49DNSServiceDiscovery is an obsolete emulation layer that sits on top of 50DNSServices and provides the Mac OS X DNS Service Discovery API's on any 51platform. New code should use the DNS-SD APIs. 52 53Tool.c is an example client that uses the services of mDNS Core. 54 55ToolWin32.mcp is a CodeWarrior project (CodeWarrior for Windows version 8). 56ToolWin32.vcproj is a Visual Studio .NET 7 project. These projects build 57Tool.c to make DNSServiceTest.exe, a small Windows command-line tool to do all 58the standard DNS-SD stuff on Windows. It has the following features: 59 60- Browse for browsing and/or registration domains. 61- Browse for services. 62- Lookup Service Instances. 63- Register domains for browsing and/or registration. 64- Register services. 65 66For example, if you have a Windows machine running a Web server, 67then you can make it advertise that it is offering HTTP on port 80 68with the following command: 69 70DNSServiceTest -rs "Windows Web Server" "_http._tcp." "local." 80 "" 71 72To search for AFP servers, use this: 73 74DNSServiceTest -bs "_afpovertcp._tcp." "local." 75 76You can also do multiple things at once (e.g. register a service and 77browse for it so one instance of the app can be used for testing). 78Multiple instances can also be run on the same machine to discover each 79other. There is a -help command to show all the commands, their 80parameters, and some examples of using it. 81 82DNSServiceBrowser contains the source code for a graphical browser application 83for Windows CE/PocketPC. The Windows CE/PocketPC version requires Microsoft 84eMbedded C++ 4.0 with SP2 installed and the PocketPC 2003 SDK. 85 86