| 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. |
| |