]>
Commit | Line | Data |
---|---|---|
c9b9ae52 | 1 | This directory contains support files for running mDNS on Microsoft Windows |
8e92c31c A |
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. | |
c9b9ae52 | 6 | |
8e92c31c A |
7 | mDNSWin32.c/.h |
8 | ||
9 | Platform Support files that go below mDNS Core. These work on both Windows | |
10 | and Windows CE/PocketPC. | |
c9b9ae52 | 11 | |
8e92c31c | 12 | DNSSD.c/.h |
c9b9ae52 | 13 | |
8e92c31c A |
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. | |
c9b9ae52 A |
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). | |
8e92c31c | 56 | ToolWin32.vcproj is a Visual Studio .NET 7 project. These projects build |
7f0064bd A |
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: | |
c9b9ae52 A |
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 | ||
7f0064bd | 70 | DNSServiceTest -rs "Windows Web Server" "_http._tcp." "local." 80 "" |
c9b9ae52 A |
71 | |
72 | To search for AFP servers, use this: | |
73 | ||
7f0064bd | 74 | DNSServiceTest -bs "_afpovertcp._tcp." "local." |
c9b9ae52 A |
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 | ||
7f0064bd | 82 | DNSServiceBrowser contains the source code for a graphical browser application |
c9b9ae52 A |
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. | |
8e92c31c | 85 |