-/*
+/* -*- Mode: C; tab-width: 4 -*-
+ *
* Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
+ * 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
*
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
+ * 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.
- *
- * @APPLE_LICENSE_HEADER_END@
Change History (most recent first):
$Log: mDNSWin32.h,v $
+Revision 1.26 2006/08/14 23:25:21 cheshire
+Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0
+
+Revision 1.25 2006/07/06 00:05:44 cheshire
+"dDNS.h" renamed to "uDNS.h"
+
+Revision 1.24 2006/02/26 19:31:04 herscher
+<rdar://problem/4455038> Bonjour For Windows takes 90 seconds to start. This was caused by a bad interaction between the VirtualPC check, and the removal of the WMI dependency. The problem was fixed by: 1) checking to see if WMI is running before trying to talk to it. 2) Retrying the VirtualPC check every 10 seconds upon failure, stopping after 10 unsuccessful tries.
+
+Revision 1.23 2005/10/05 20:55:14 herscher
+<rdar://problem/4096464> Don't call SetLLRoute on loopback interface
+
+Revision 1.22 2005/03/04 22:44:53 shersche
+<rdar://problem/4022802> mDNSResponder did not notice changes to DNS server config
+
+Revision 1.21 2005/03/03 02:29:00 shersche
+Use the RegNames.h header file for registry key names
+
+Revision 1.20 2005/01/25 08:12:52 shersche
+<rdar://problem/3947417> Enable Unicast and add Dynamic DNS support.
+Bug #: 3947417
+
+Revision 1.19 2004/12/15 07:34:45 shersche
+Add platform support for IPv4 and IPv6 unicast sockets
+
Revision 1.18 2004/10/11 21:53:15 shersche
<rdar://problem/3832450> Change GetWindowsVersionString link scoping from static to non-static so that it can be accessed from other compilation units. The information returned in this function will be used to determine what service dependencies to use when calling CreateService().
Bug #: 3832450
#endif
#include "mDNSEmbeddedAPI.h"
+#include "uDNS.h"
#ifdef __cplusplus
extern "C" {
HANDLE cancelEvent;
HANDLE quitEvent;
HANDLE interfaceListChangedEvent;
- HANDLE regEvent;
+ HANDLE descChangedEvent; // Computer description changed event
+ HANDLE tcpipChangedEvent; // TCP/IP config changed
+ HANDLE ddnsChangedEvent; // DynDNS config changed
HANDLE wakeupEvent;
HANDLE initEvent;
- HKEY regKey;
+ HANDLE vpcCheckEvent; // Timer handle to check if we're running in Virtual PC
+ int vpcCheckCount;
+ HKEY descKey;
+ HKEY tcpipKey;
+ HKEY ddnsKey;
mStatus initStatus;
+ mDNSBool inVirtualPC;
+ int timersCount;
+ mDNSBool registeredLoopback4;
SocketRef interfaceListChangedSocket;
int interfaceCount;
mDNSInterfaceData * interfaceList;
IdleThreadCallback idleThreadCallback;
InterfaceListChangedCallback interfaceListChangedCallback;
HostDescriptionChangedCallback hostDescriptionChangedCallback;
+ SocketRef unicastSock4;
+ HANDLE unicastSock4ReadEvent;
+ mDNSAddr unicastSock4DestAddr;
+#if( !defined( _WIN32_WCE ) )
+ LPFN_WSARECVMSG unicastSock4RecvMsgPtr;
+#endif
+ SocketRef unicastSock6;
+ HANDLE unicastSock6ReadEvent;
+ mDNSAddr unicastSock6DestAddr;
+#if( !defined( _WIN32_WCE ) )
+ LPFN_WSARECVMSG unicastSock6RecvMsgPtr;
+#endif
};
//---------------------------------------------------------------------------------------------------------------------------
void freeifaddrs( struct ifaddrs *inAddrs );
+
#ifdef __cplusplus
}
#endif