summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE
diff options
context:
space:
mode:
Diffstat (limited to 'mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE')
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc37
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp868
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw29
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.icobin0 -> 1406 bytes
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc194
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc213
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h28
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h22
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp92
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h57
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp394
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h84
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp18
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h46
14 files changed, 1882 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc
new file mode 100644
index 00000000..22f443d1
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc
@@ -0,0 +1,37 @@
+; CLW file contains information for the MFC ClassWizard
+
+[General Info]
+Version=1
+LastClass=BrowserDialog
+LastTemplate=CDialog
+NewFileInclude1=#include "stdafx.h"
+NewFileInclude2=#include "Application.h"
+
+ClassCount=3
+Class1=Application
+Class2=BrowserDialog
+
+ResourceCount=3
+Resource2=IDR_MAINFRAME
+Resource3=IDD_APPLICATION_DIALOG
+
+[CLS:Application]
+Type=0
+HeaderFile=Application.h
+ImplementationFile=Application.cpp
+Filter=N
+
+[CLS:BrowserDialog]
+Type=0
+HeaderFile=BrowserDialog.h
+ImplementationFile=BrowserDialog.cpp
+Filter=D
+
+
+[DLG:IDD_APPLICATION_DIALOG]
+Type=1
+ControlCount=3
+Control1=IDOK,button,1342242817
+Control2=IDCANCEL,button,1342242816
+Control3=IDC_STATIC,static,1342308352
+Class=BrowserDialog
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp
new file mode 100644
index 00000000..9c735677
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp
@@ -0,0 +1,868 @@
+# Microsoft eMbedded Visual Tools Project File - Name="Application" - Package Owner=<4>
+# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301
+# TARGTYPE "Win32 (WCE emulator) Application" 0xa601
+
+CFG=Application - Win32 (WCE emulator) Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Application.vcn".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Application.vcn" CFG="Application - Win32 (WCE emulator) Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Application - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application")
+!MESSAGE "Application - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application")
+!MESSAGE "Application - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application")
+!MESSAGE "Application - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+# PROP ATL_Project 2
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+# PROP BASE Use_MFC 2
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "emulatorRel"
+# PROP BASE Intermediate_Dir "emulatorRel"
+# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "emulatorRel"
+# PROP Intermediate_Dir "emulatorRel"
+# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r
+CPP=cl.exe
+# ADD BASE CPP /nologo /W3 /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_WIN32_WCE_CEPC" /D "_AFXDLL" /Yu"stdafx.h" /Gs8192 /GF /O2 /c
+# ADD CPP /nologo /W3 /WX /I "Resources" /I "Sources" /I "..\..\..\DNSServices" /I "..\..\..\..\mDNSCore" /I "..\..\..\..\mDNSCore\PlatformSupport" /D "_i386_" /D "_X86_" /D "x86" /D "NDEBUG" /D "_WIN32_WCE_CEPC" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /D DNS_SD_CLIENT_ENABLED=0 /Gs8192 /GF /O2 /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /MACHINE:IX86
+# ADD LINK32 ws2.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /MACHINE:IX86
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+# PROP BASE Use_MFC 2
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "emulatorDbg"
+# PROP BASE Intermediate_Dir "emulatorDbg"
+# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "emulatorDbg"
+# PROP Intermediate_Dir "emulatorDbg"
+# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r
+CPP=cl.exe
+# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_WIN32_WCE_CEPC" /D "_AFXDLL" /Yu"stdafx.h" /Gs8192 /GF /c
+# ADD CPP /nologo /W3 /WX /Zi /Od /I "Resources" /I "Sources" /I "..\..\..\DNSServices" /I "..\..\..\..\mDNSCore" /I "..\..\..\..\mDNSCore\PlatformSupport" /D "_i386_" /D "_X86_" /D "x86" /D "_WIN32_WCE_CEPC" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /D DNS_SD_CLIENT_ENABLED=0 /FR /Gs8192 /GF /c
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /MACHINE:IX86
+# ADD LINK32 ws2.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /MACHINE:IX86
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+# PROP BASE Use_MFC 2
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ARMV4Rel"
+# PROP BASE Intermediate_Dir "ARMV4Rel"
+# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ARMV4Rel"
+# PROP Intermediate_Dir "ARMV4Rel"
+# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r
+CPP=clarm.exe
+# ADD BASE CPP /nologo /W3 /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_AFXDLL" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c
+# ADD CPP /nologo /W3 /WX /I "Resources" /I "Sources" /I "..\..\..\DNSServices" /I "..\..\..\..\mDNSCore" /I "..\..\..\..\mDNSCore\PlatformSupport" /D "ARM" /D "_ARM_" /D "ARMV4" /D "NDEBUG" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /D DNS_SD_CLIENT_ENABLED=0 /O2 /M$(CECrtMT) /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+# ADD LINK32 ws2.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+# PROP BASE Use_MFC 2
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "ARMV4Dbg"
+# PROP BASE Intermediate_Dir "ARMV4Dbg"
+# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 2
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "ARMV4Dbg"
+# PROP Intermediate_Dir "ARMV4Dbg"
+# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r
+CPP=clarm.exe
+# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /Yu"stdafx.h" /M$(CECrtMTDebug) /c
+# ADD CPP /nologo /W3 /WX /Zi /Od /I "Resources" /I "Sources" /I "..\..\..\DNSServices" /I "..\..\..\..\mDNSCore" /I "..\..\..\..\mDNSCore\PlatformSupport" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /D DNS_SD_CLIENT_ENABLED=0 /FR /M$(CECrtMTDebug) /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+# ADD LINK32 ws2.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+
+!ENDIF
+
+# Begin Target
+
+# Name "Application - Win32 (WCE emulator) Release"
+# Name "Application - Win32 (WCE emulator) Debug"
+# Name "Application - Win32 (WCE ARMV4) Release"
+# Name "Application - Win32 (WCE ARMV4) Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Sources\Application.cpp
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_APPLI=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_APPLI=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_APPLI=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_APPLI=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sources\Application.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sources\BrowserDialog.cpp
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_BROWS=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_BROWS=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_BROWS=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_BROWS=\
+ "..\..\..\DNSServices\DNSServices.h"\
+ ".\Sources\Application.h"\
+ ".\Sources\BrowserDialog.h"\
+ ".\Sources\StdAfx.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sources\BrowserDialog.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sources\StdAfx.cpp
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_STDAF=\
+ ".\Sources\StdAfx.h"\
+
+# ADD CPP /Yc"stdafx.h"
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_STDAF=\
+ ".\Sources\StdAfx.h"\
+
+# ADD CPP /Yc"stdafx.h"
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_STDAF=\
+ ".\Sources\StdAfx.h"\
+
+# ADD CPP /Yc"stdafx.h"
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_STDAF=\
+ ".\Sources\StdAfx.h"\
+
+# ADD CPP /Yc"stdafx.h"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sources\StdAfx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Resources\Application.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resources\Application.rc
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resources\Application.rc2
+# PROP Exclude_From_Scan -1
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resources\newres.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resources\Resource.h
+# End Source File
+# End Group
+# Begin Group "Support"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\CommonServices.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DebugServices.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_DEBUG=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+
+NODEP_CPP_DEBUG=\
+ "..\..\..\intLib.h"\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_DEBUG=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+
+NODEP_CPP_DEBUG=\
+ "..\..\..\intLib.h"\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_DEBUG=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+
+NODEP_CPP_DEBUG=\
+ "..\..\..\intLib.h"\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_DEBUG=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+
+NODEP_CPP_DEBUG=\
+ "..\..\..\intLib.h"\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DebugServices.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\DNSCommon.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_DNSCO=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_DNSCO=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_DNSCO=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_DNSCO=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\DNSCommon.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\DNSDigest.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_DNSDI=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_DNSDI=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_DNSDI=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_DNSDI=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DNSSD.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_DNSSD=\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+ "..\..\..\RMxClient.h"\
+
+NODEP_CPP_DNSSD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_DNSSD=\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+ "..\..\..\RMxClient.h"\
+
+NODEP_CPP_DNSSD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_DNSSD=\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+ "..\..\..\RMxClient.h"\
+
+NODEP_CPP_DNSSD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_DNSSD=\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+ "..\..\..\RMxClient.h"\
+
+NODEP_CPP_DNSSD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DNSSD.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DNSSDDirect.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_DNSSDD=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+
+NODEP_CPP_DNSSDD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_DNSSDD=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+
+NODEP_CPP_DNSSDD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_DNSSDD=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+
+NODEP_CPP_DNSSDD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_DNSSDD=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\DNSSD.h"\
+ "..\..\..\DNSSDDirect.h"\
+
+NODEP_CPP_DNSSDD=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DNSSDDirect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DNSServices\DNSServices.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_DNSSE=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\DNSServices\DNSServices.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_DNSSE=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\DNSServices\DNSServices.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_DNSSE=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\DNSServices\DNSServices.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_DNSSE=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\DNSServices\DNSServices.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\DNSServices\DNSServices.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\mDNS.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_MDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_MDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_MDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_MDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\mDNSClientAPI.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\mDNSDebug.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\mDNSWin32.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_MDNSW=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\mDNSWin32.h"\
+ {$(INCLUDE)}"ipexport.h"\
+ {$(INCLUDE)}"Iphlpapi.h"\
+ {$(INCLUDE)}"iptypes.h"\
+
+NODEP_CPP_MDNSW=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_MDNSW=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\mDNSWin32.h"\
+ {$(INCLUDE)}"ipexport.h"\
+ {$(INCLUDE)}"Iphlpapi.h"\
+ {$(INCLUDE)}"iptypes.h"\
+
+NODEP_CPP_MDNSW=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+# ADD CPP /W3
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_MDNSW=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\mDNSWin32.h"\
+ {$(INCLUDE)}"ipexport.h"\
+ {$(INCLUDE)}"Iphlpapi.h"\
+ {$(INCLUDE)}"iptypes.h"\
+
+NODEP_CPP_MDNSW=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_MDNSW=\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\CommonServices.h"\
+ "..\..\..\DebugServices.h"\
+ "..\..\..\mDNSWin32.h"\
+ {$(INCLUDE)}"ipexport.h"\
+ {$(INCLUDE)}"Iphlpapi.h"\
+ {$(INCLUDE)}"iptypes.h"\
+
+NODEP_CPP_MDNSW=\
+ "..\..\..\logLib.h"\
+ "..\..\..\vxWorks.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\mDNSWin32.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\uDNS.c
+
+!IF "$(CFG)" == "Application - Win32 (WCE emulator) Release"
+
+DEP_CPP_UDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE emulator) Debug"
+
+DEP_CPP_UDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Release"
+
+DEP_CPP_UDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ELSEIF "$(CFG)" == "Application - Win32 (WCE ARMV4) Debug"
+
+DEP_CPP_UDNS_=\
+ "..\..\..\..\mDNSCore\DNSCommon.h"\
+ "..\..\..\..\mDNSCore\mDNSClientAPI.h"\
+ "..\..\..\..\mDNSCore\mDNSDebug.h"\
+ "..\..\..\..\mDNSCore\uDNS.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\mDNSCore\uDNS.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw
new file mode 100644
index 00000000..11ef513d
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw
@@ -0,0 +1,29 @@
+Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Application"=.\Application.vcp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.ico b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.ico
new file mode 100644
index 00000000..50fb08fc
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.ico
Binary files differ
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc
new file mode 100644
index 00000000..c153326b
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc
@@ -0,0 +1,194 @@
+//Microsoft eMbedded Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+#include "newres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "#include ""newres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
+ "#define _AFX_NO_OLE_RESOURCES\r\n"
+ "#define _AFX_NO_TRACKER_RESOURCES\r\n"
+ "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
+ "\r\n"
+ "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
+ "#ifdef _WIN32\r\n"
+ "LANGUAGE 9, 1\r\n"
+ "#pragma code_page(1252)\r\n"
+ "#endif //_WIN32\r\n"
+ "#include ""Resources\\Application.rc2"" // non-Microsoft eMbedded Visual C++ edited resources\r\n"
+ "#include ""afxres.rc"" // Standard components\r\n"
+ "#include ""wceres.rc"" // WCE-specific components\r\n"
+ "#endif\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDR_MAINFRAME ICON DISCARDABLE "Application.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_APPLICATION_DIALOG DIALOG DISCARDABLE 0, 0, 139, 153
+STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION
+EXSTYLE WS_EX_APPWINDOW | 0x80000000L
+CAPTION "DNSServiceBrowser"
+FONT 8, "System"
+BEGIN
+ CONTROL "List1",IDC_BROWSE_LIST,"SysListView32",LVS_REPORT |
+ LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOCOLUMNHEADER |
+ WS_BORDER | WS_TABSTOP,7,7,125,141
+END
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "\0"
+ VALUE "CompanyName", "Apple Computer, Inc.\0"
+ VALUE "FileDescription", "DNSServiceBrowser for Windows CE\0"
+ VALUE "FileVersion", "1, 0, 0, 1\0"
+ VALUE "InternalName", "Application\0"
+ VALUE "LegalCopyright", "Copyright (C) 2003-2004 Apple Computer, Inc.\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "Application.exe\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "DNSServiceBrowser for Windows CE\0"
+ VALUE "ProductVersion", "1, 0, 0, 1\0"
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ IDD_APPLICATION_DIALOG, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 132
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 146
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDP_SOCKETS_INIT_FAILED "Windows CE sockets initialization failed."
+ IDS_BROWSER_LIST_COLUMN_NAME "Name"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+#define _AFX_NO_SPLITTER_RESOURCES
+#define _AFX_NO_OLE_RESOURCES
+#define _AFX_NO_TRACKER_RESOURCES
+#define _AFX_NO_PROPERTY_RESOURCES
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE 9, 1
+#pragma code_page(1252)
+#endif //_WIN32
+#include "Resources\Application.rc2" // non-Microsoft eMbedded Visual C++ edited resources
+#include "afxres.rc" // Standard components
+#include "wceres.rc" // WCE-specific components
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc2 b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc2
new file mode 100644
index 00000000..29c9fe7b
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc2
@@ -0,0 +1,13 @@
+//
+// APPLICATION.RC2 - resources Microsoft eMbedded Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+ #error this file is not editable by Microsoft eMbedded Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h
new file mode 100644
index 00000000..31c3a433
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h
@@ -0,0 +1,28 @@
+#ifndef __NEWRES_H__
+#define __NEWRES_H__
+
+#define SHMENUBAR RCDATA
+#if !(defined(_WIN32_WCE_PSPC) && (_WIN32_WCE >= 300))
+ #undef HDS_HORZ
+ #undef HDS_BUTTONS
+ #undef HDS_HIDDEN
+
+ #include <commctrl.h>
+ // for MenuBar
+ #define I_IMAGENONE (-2)
+ #define NOMENU 0xFFFF
+ #define IDS_SHNEW 1
+ #define IDM_SHAREDNEW 10
+ #define IDM_SHAREDNEWDEFAULT 11
+
+ // for Tab Control
+ #define TCS_SCROLLOPPOSITE 0x0001 // assumes multiline tab
+ #define TCS_BOTTOM 0x0002
+ #define TCS_RIGHT 0x0002
+ #define TCS_VERTICAL 0x0080
+ #define TCS_MULTISELECT 0x0004 // allow multi-select in button mode
+ #define TCS_FLATBUTTONS 0x0008
+#endif //_WIN32_WCE_PSPC
+
+
+#endif //__NEWRES_H__
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h
new file mode 100644
index 00000000..0337c560
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h
@@ -0,0 +1,22 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft eMbedded Visual C++ generated include file.
+// Used by Application.rc
+//
+#define IDD_APPLICATION_DIALOG 102
+#define IDP_SOCKETS_INIT_FAILED 103
+#define IDS_BROWSER_LIST_COLUMN_NAME 104
+#define IDR_MAINFRAME 128
+#define IDC_BROWSE_LIST 1000
+#define IDC_IP_TEXT 1003
+#define IDC_TXT_TEXT 1004
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1005
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp
new file mode 100644
index 00000000..931cd950
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp
@@ -0,0 +1,92 @@
+/* -*- Mode: C; tab-width: 4 -*-
+ *
+ * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "stdafx.h"
+
+#include "DNSServices.h"
+
+#include "BrowserDialog.h"
+
+#include "Application.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+//===========================================================================================================================
+// Message Map
+//===========================================================================================================================
+
+BEGIN_MESSAGE_MAP(Application, CWinApp)
+ //{{AFX_MSG_MAP(Application)
+ // NOTE - the ClassWizard will add and remove mapping macros here.
+ // DO NOT EDIT what you see in these blocks of generated code!
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+//===========================================================================================================================
+// Globals
+//===========================================================================================================================
+
+Application gApp;
+
+//===========================================================================================================================
+// Application
+//===========================================================================================================================
+
+Application::Application()
+ : CWinApp()
+{
+ //
+}
+
+//===========================================================================================================================
+// InitInstance
+//===========================================================================================================================
+
+BOOL Application::InitInstance()
+{
+ DNSStatus err;
+ BrowserDialog dialog;
+ BOOL dnsInitialized;
+
+ dnsInitialized = FALSE;
+
+ err = DNSServicesInitialize( kDNSFlagAdvertise, 0 );
+ if( err )
+ {
+ AfxMessageBox( IDP_SOCKETS_INIT_FAILED );
+ goto exit;
+ }
+ dnsInitialized = TRUE;
+
+ // Display the main browser dialog.
+
+ m_pMainWnd = &dialog;
+ dialog.DoModal();
+
+ // Dialog has been closed. Return false to exit the app and not start the app's message pump.
+
+exit:
+ if( dnsInitialized )
+ {
+ DNSServicesFinalize();
+ }
+ return( FALSE );
+}
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h
new file mode 100644
index 00000000..cfd54292
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h
@@ -0,0 +1,57 @@
+/* -*- Mode: C; tab-width: 4 -*-
+ *
+ * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(AFX_APPLICATION_H__E2E51302_D643_458E_A7A5_5157233D1E5C__INCLUDED_)
+#define AFX_APPLICATION_H__E2E51302_D643_458E_A7A5_5157233D1E5C__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#ifndef __AFXWIN_H__
+ #error include 'stdafx.h' before including this file for PCH
+#endif
+
+#include "Resource.h"
+
+//===========================================================================================================================
+// Application
+//===========================================================================================================================
+
+class Application : public CWinApp
+{
+ public:
+
+ Application();
+
+ // ClassWizard generated virtual function overrides
+ //{{AFX_VIRTUAL(Application)
+ public:
+ virtual BOOL InitInstance();
+ //}}AFX_VIRTUAL
+
+ //{{AFX_MSG(Application)
+ // NOTE - the ClassWizard will add and remove member functions here.
+ // DO NOT EDIT what you see in these blocks of generated code !
+ //}}AFX_MSG
+ DECLARE_MESSAGE_MAP()
+};
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_APPLICATION_H__E2E51302_D643_458E_A7A5_5157233D1E5C__INCLUDED_)
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp
new file mode 100644
index 00000000..92cdeb30
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp
@@ -0,0 +1,394 @@
+/* -*- Mode: C; tab-width: 4 -*-
+ *
+ * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "stdafx.h"
+
+#include "Application.h"
+
+#include "DNSServices.h"
+
+#include "BrowserDialog.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+//===========================================================================================================================
+// Constants
+//===========================================================================================================================
+
+#define WM_USER_SERVICE_ADD ( WM_USER + 0x100 )
+#define WM_USER_SERVICE_REMOVE ( WM_USER + 0x101 )
+
+//===========================================================================================================================
+// Message Map
+//===========================================================================================================================
+
+BEGIN_MESSAGE_MAP(BrowserDialog, CDialog)
+ //{{AFX_MSG_MAP(BrowserDialog)
+ ON_NOTIFY(NM_CLICK, IDC_BROWSE_LIST, OnBrowserListDoubleClick)
+ ON_MESSAGE( WM_USER_SERVICE_ADD, OnServiceAdd )
+ ON_MESSAGE( WM_USER_SERVICE_REMOVE, OnServiceRemove )
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+static DWORD UTF8StringToStringObject( const char *inUTF8, CString &inObject );
+
+//===========================================================================================================================
+// BrowserDialog
+//===========================================================================================================================
+
+BrowserDialog::BrowserDialog( CWnd *inParent )
+ : CDialog( BrowserDialog::IDD, inParent )
+{
+ //{{AFX_DATA_INIT(BrowserDialog)
+ // Note: the ClassWizard will add member initialization here
+ //}}AFX_DATA_INIT
+
+ // Note that LoadIcon does not require a subsequent DestroyIcon in Win32.
+
+ mIcon = AfxGetApp()->LoadIcon( IDR_MAINFRAME );
+ ASSERT( mIcon );
+}
+
+//===========================================================================================================================
+// DoDataExchange
+//===========================================================================================================================
+
+void BrowserDialog::DoDataExchange( CDataExchange *pDX )
+{
+ CDialog::DoDataExchange(pDX);
+ //{{AFX_DATA_MAP(BrowserDialog)
+ DDX_Control(pDX, IDC_BROWSE_LIST, mBrowserList);
+ //}}AFX_DATA_MAP
+}
+
+//===========================================================================================================================
+// OnInitDialog
+//===========================================================================================================================
+
+BOOL BrowserDialog::OnInitDialog()
+{
+ CString s;
+
+ CDialog::OnInitDialog();
+
+ // Set the icon for this dialog. The framework does this automatically when the application's main window is not a dialog.
+
+ SetIcon( mIcon, TRUE ); // Set big icon
+ SetIcon( mIcon, FALSE ); // Set small icon
+
+ CenterWindow( GetDesktopWindow() );
+
+ // Set up the list.
+
+ CRect rect;
+
+ s.LoadString( IDS_BROWSER_LIST_COLUMN_NAME );
+ mBrowserList.GetWindowRect( rect );
+ mBrowserList.InsertColumn( 0, s, LVCFMT_LEFT, rect.Width() - 8 );
+
+ // Start browsing for services.
+
+ DNSStatus err;
+
+ err = DNSBrowserCreate( 0, OnBrowserCallBack, this, &mBrowser );
+ if( err )
+ {
+ AfxMessageBox( IDP_SOCKETS_INIT_FAILED );
+ goto exit;
+ }
+
+ err = DNSBrowserStartServiceSearch( mBrowser, kDNSBrowserFlagAutoResolve, "_http._tcp", NULL );
+ if( err )
+ {
+ AfxMessageBox( IDP_SOCKETS_INIT_FAILED );
+ goto exit;
+ }
+
+exit:
+ return( TRUE );
+}
+
+
+//===========================================================================================================================
+// OnBrowserListDoubleClick
+//===========================================================================================================================
+
+void BrowserDialog::OnBrowserListDoubleClick( NMHDR *pNMHDR, LRESULT *pResult )
+{
+ int selectedItem;
+
+ (void) pNMHDR; // Unused
+
+ selectedItem = mBrowserList.GetNextItem( -1, LVNI_SELECTED );
+ if( selectedItem >= 0 )
+ {
+ BrowserEntry * entry;
+ CString temp;
+ CString url;
+
+ // Build the URL from the IP and optional TXT record.
+
+ entry = &mBrowserEntries[ selectedItem ];
+ url += "http://" + entry->ip;
+ temp = entry->text;
+ if( temp.Find( TEXT( "path=" ) ) == 0 )
+ {
+ temp.Delete( 0, 5 );
+ }
+ if( temp.Find( '/' ) != 0 )
+ {
+ url += '/';
+ }
+ url += temp;
+
+ // Let the system open the URL in the correct app.
+
+ SHELLEXECUTEINFO info;
+
+ info.cbSize = sizeof( info );
+ info.fMask = 0;
+ info.hwnd = NULL;
+ info.lpVerb = NULL;
+ info.lpFile = url;
+ info.lpParameters = NULL;
+ info.lpDirectory = NULL;
+ info.nShow = SW_SHOWNORMAL;
+ info.hInstApp = NULL;
+
+ ShellExecuteEx( &info );
+ }
+ *pResult = 0;
+}
+
+//===========================================================================================================================
+// OnBrowserCallBack [static]
+//===========================================================================================================================
+
+void
+ BrowserDialog::OnBrowserCallBack(
+ void * inContext,
+ DNSBrowserRef inRef,
+ DNSStatus inStatusCode,
+ const DNSBrowserEvent * inEvent )
+{
+ BrowserDialog * dialog;
+ BrowserEntry * entry;
+ BOOL posted;
+
+ DNS_UNUSED( inStatusCode );
+ dialog = reinterpret_cast < BrowserDialog * > ( inContext );
+ ASSERT( dialog );
+
+ switch( inEvent->type )
+ {
+ case kDNSBrowserEventTypeResolved:
+ if( inEvent->data.resolved->address.addressType == kDNSNetworkAddressTypeIPv4 )
+ {
+ char ip[ 64 ];
+
+ sprintf( ip, "%u.%u.%u.%u:%u",
+ inEvent->data.resolved->address.u.ipv4.addr.v8[ 0 ],
+ inEvent->data.resolved->address.u.ipv4.addr.v8[ 1 ],
+ inEvent->data.resolved->address.u.ipv4.addr.v8[ 2 ],
+ inEvent->data.resolved->address.u.ipv4.addr.v8[ 3 ],
+ ( inEvent->data.resolved->address.u.ipv4.port.v8[ 0 ] << 8 ) |
+ inEvent->data.resolved->address.u.ipv4.port.v8[ 1 ] );
+
+ entry = new BrowserEntry;
+ ASSERT( entry );
+ if( entry )
+ {
+ UTF8StringToStringObject( inEvent->data.resolved->name, entry->name );
+ UTF8StringToStringObject( ip, entry->ip );
+ UTF8StringToStringObject( inEvent->data.resolved->textRecord, entry->text );
+
+ posted = ::PostMessage( dialog->GetSafeHwnd(), WM_USER_SERVICE_ADD, 0, (LPARAM) entry );
+ ASSERT( posted );
+ if( !posted )
+ {
+ delete entry;
+ }
+ }
+ }
+ break;
+
+ case kDNSBrowserEventTypeRemoveService:
+ entry = new BrowserEntry;
+ ASSERT( entry );
+ if( entry )
+ {
+ UTF8StringToStringObject( inEvent->data.removeService.name, entry->name );
+
+ posted = ::PostMessage( dialog->GetSafeHwnd(), WM_USER_SERVICE_REMOVE, 0, (LPARAM) entry );
+ ASSERT( posted );
+ if( !posted )
+ {
+ delete entry;
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+}
+
+//===========================================================================================================================
+// BrowserAddService
+//===========================================================================================================================
+
+LONG BrowserDialog::OnServiceAdd( WPARAM inWParam, LPARAM inLParam )
+{
+ BrowserEntry * entry;
+ INT_PTR lo;
+ INT_PTR hi;
+ INT_PTR mid;
+ int result;
+
+ (void) inWParam; // Unused
+
+ entry = reinterpret_cast < BrowserEntry * > ( inLParam );
+ ASSERT( entry );
+
+ result = -1;
+ mid = 0;
+ lo = 0;
+ hi = mBrowserEntries.GetSize() - 1;
+ while( lo <= hi )
+ {
+ mid = ( lo + hi ) / 2;
+ result = entry->name.CompareNoCase( mBrowserEntries[ mid ].name );
+ if( result == 0 )
+ {
+ break;
+ }
+ else if( result < 0 )
+ {
+ hi = mid - 1;
+ }
+ else
+ {
+ lo = mid + 1;
+ }
+ }
+ if( result == 0 )
+ {
+ mBrowserEntries[ mid ].ip = entry->ip;
+ mBrowserEntries[ mid ].text = entry->text;
+ }
+ else
+ {
+ if( result > 0 )
+ {
+ mid += 1;
+ }
+ mBrowserEntries.InsertAt( mid, *entry );
+ mBrowserList.InsertItem( mid, entry->name );
+ }
+ delete entry;
+ return( 0 );
+}
+
+//===========================================================================================================================
+// OnServiceRemove
+//===========================================================================================================================
+
+LONG BrowserDialog::OnServiceRemove( WPARAM inWParam, LPARAM inLParam )
+{
+ BrowserEntry * entry;
+ INT_PTR hi;
+ INT_PTR lo;
+ INT_PTR mid;
+ int result;
+
+ (void) inWParam; // Unused
+
+ entry = reinterpret_cast < BrowserEntry * > ( inLParam );
+ ASSERT( entry );
+
+ result = -1;
+ mid = 0;
+ lo = 0;
+ hi = mBrowserEntries.GetSize() - 1;
+ while( lo <= hi )
+ {
+ mid = ( lo + hi ) / 2;
+ result = entry->name.CompareNoCase( mBrowserEntries[ mid ].name );
+ if( result == 0 )
+ {
+ break;
+ }
+ else if( result < 0 )
+ {
+ hi = mid - 1;
+ }
+ else
+ {
+ lo = mid + 1;
+ }
+ }
+ if( result == 0 )
+ {
+ mBrowserList.DeleteItem( mid );
+ mBrowserEntries.RemoveAt( mid );
+ }
+ delete entry;
+ return( 0 );
+}
+
+#if 0
+#pragma mark -
+#endif
+
+//===========================================================================================================================
+// UTF8StringToStringObject
+//===========================================================================================================================
+
+static DWORD UTF8StringToStringObject( const char *inUTF8, CString &inObject )
+{
+ DWORD err;
+ int n;
+ wchar_t * unicode;
+
+ unicode = NULL;
+
+ n = MultiByteToWideChar( CP_UTF8, 0, inUTF8, -1, NULL, 0 );
+ if( n > 0 )
+ {
+ unicode = (wchar_t *) malloc( (size_t)( n * sizeof( wchar_t ) ) );
+ if( !unicode ) { err = ERROR_INSUFFICIENT_BUFFER; goto exit; };
+
+ n = MultiByteToWideChar( CP_UTF8, 0, inUTF8, -1, unicode, n );
+ inObject = unicode;
+ }
+ else
+ {
+ inObject = "";
+ }
+ err = 0;
+
+exit:
+ if( unicode )
+ {
+ free( unicode );
+ }
+ return( err );
+}
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h
new file mode 100644
index 00000000..a27df91e
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h
@@ -0,0 +1,84 @@
+/* -*- Mode: C; tab-width: 4 -*-
+ *
+ * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(AFX_BROWSERDIALOG_H__DECC5C82_C1C6_4630_B8D5_E1DDE570A061__INCLUDED_)
+#define AFX_BROWSERDIALOG_H__DECC5C82_C1C6_4630_B8D5_E1DDE570A061__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include "afxtempl.h"
+#include "Resource.h"
+
+#include "DNSServices.h"
+
+//===========================================================================================================================
+// BrowserDialog
+//===========================================================================================================================
+
+class BrowserDialog : public CDialog
+{
+ public:
+
+ BrowserDialog( CWnd *inParent = NULL );
+
+ //{{AFX_DATA(BrowserDialog)
+ enum { IDD = IDD_APPLICATION_DIALOG };
+ CListCtrl mBrowserList;
+ //}}AFX_DATA
+
+ // ClassWizard generated virtual function overrides
+ //{{AFX_VIRTUAL(BrowserDialog)
+ protected:
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
+ //}}AFX_VIRTUAL
+
+ static void
+ OnBrowserCallBack(
+ void * inContext,
+ DNSBrowserRef inRef,
+ DNSStatus inStatusCode,
+ const DNSBrowserEvent * inEvent );
+
+ protected:
+
+ struct BrowserEntry
+ {
+ CString name;
+ CString ip;
+ CString text;
+ };
+
+ HICON mIcon;
+ DNSBrowserRef mBrowser;
+ CArray < BrowserEntry, BrowserEntry > mBrowserEntries;
+
+ // Generated message map functions
+ //{{AFX_MSG(BrowserDialog)
+ virtual BOOL OnInitDialog();
+ afx_msg void OnBrowserListDoubleClick(NMHDR* pNMHDR, LRESULT* pResult);
+ afx_msg LONG OnServiceAdd( WPARAM inWParam, LPARAM inLParam );
+ afx_msg LONG OnServiceRemove( WPARAM inWParam, LPARAM inLParam );
+ //}}AFX_MSG
+ DECLARE_MESSAGE_MAP()
+};
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_BROWSERDIALOG_H__DECC5C82_C1C6_4630_B8D5_E1DDE570A061__INCLUDED_)
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp
new file mode 100644
index 00000000..ae2ca2ec
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp
@@ -0,0 +1,18 @@
+/* -*- Mode: C; tab-width: 4 -*-
+ *
+ * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "stdafx.h"
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h
new file mode 100644
index 00000000..4b14a0b7
--- /dev/null
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h
@@ -0,0 +1,46 @@
+/* -*- Mode: C; tab-width: 4 -*-
+ *
+ * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(AFX_STDAFX_H__7F91E52B_CF39_429D_837D_599CE0B2B3D6__INCLUDED_)
+#define AFX_STDAFX_H__7F91E52B_CF39_429D_837D_599CE0B2B3D6__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+
+
+#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
+
+#include <afxwin.h> // MFC core and standard components
+#include <afxext.h> // MFC extensions
+
+#if defined(_AFXDLL)
+#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
+#endif
+
+#ifndef _AFX_NO_AFXCMN_SUPPORT
+#include <afxcmn.h> // MFC support for Windows Common Controls
+#endif // _AFX_NO_AFXCMN_SUPPORT
+
+#include <winsock2.h>
+//#include <afxsock.h> // MFC socket extensions
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__7F91E52B_CF39_429D_837D_599CE0B2B3D6__INCLUDED_)