README.txt
1 This directory contains support files for running mDNS on Microsoft Windows
2 and Windows CE/PocketPC. Building this code requires the Windows SDK 2003
3 or later. The CodeWarrior builds require CodeWarrior 8 or later and if using
4 CodeWarrior 8, the newer Windows headers from the Mac CodeWarrior 9 need to
5 be used.
6
7 mDNSWin32.c/.h
8
9 Platform Support files that go below mDNS Core. These work on both Windows
10 and Windows CE/PocketPC.
11
12 DNSSD.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
18 DNSSDDirect.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
27 RMxClient.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
33 RMxCommon.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
39 RMxServer.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
46 DNSServices is an obsolete higher-level API for using mDNS. New code should
47 use the DNS-SD APIs.
48
49 DNSServiceDiscovery is an obsolete emulation layer that sits on top of
50 DNSServices and provides the Mac OS X DNS Service Discovery API's on any
51 platform. New code should use the DNS-SD APIs.
52
53 Tool.c is an example client that uses the services of mDNS Core.
54
55 ToolWin32.mcp is a CodeWarrior project (CodeWarrior for Windows version 8).
56 ToolWin32.vcproj is a Visual Studio .NET 7 project. These projects build
57 Tool.c to make DNSServiceTest.exe, a small Windows command-line tool to do all
58 the 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
66 For example, if you have a Windows machine running a Web server,
67 then you can make it advertise that it is offering HTTP on port 80
68 with the following command:
69
70 DNSServiceTest -rs "Windows Web Server" "_http._tcp." "local." 80 ""
71
72 To search for AFP servers, use this:
73
74 DNSServiceTest -bs "_afpovertcp._tcp." "local."
75
76 You can also do multiple things at once (e.g. register a service and
77 browse for it so one instance of the app can be used for testing).
78 Multiple instances can also be run on the same machine to discover each
79 other. There is a -help command to show all the commands, their
80 parameters, and some examples of using it.
81
82 DNSServiceBrowser contains the source code for a graphical browser application
83 for Windows CE/PocketPC. The Windows CE/PocketPC version requires Microsoft
84 eMbedded C++ 4.0 with SP2 installed and the PocketPC 2003 SDK.
85
86