diff options
Diffstat (limited to 'contrib/ntp/html/hints/winnt')
-rw-r--r-- | contrib/ntp/html/hints/winnt | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/contrib/ntp/html/hints/winnt b/contrib/ntp/html/hints/winnt new file mode 100644 index 0000000..6fd7c84 --- /dev/null +++ b/contrib/ntp/html/hints/winnt @@ -0,0 +1,207 @@ +------------- +INTRODUCTION: +------------- +Last revision 27 July 1999 Version 4.0.95. + +This version compiles under WINNT with Visual C 6.0. + +Greg Brackley and Sven Dietrich + +Significant changes: +-Visual Studio v6.0 support +-Winsock 2.0 support +-Use of I/O completion ports for sockets and comm port I/O +-Removed the use of multimedia timers (from ntpd, others need removing) +-Use of waitable timers (with user mode APC) and performance counters to fake getting a better time +-Trimble Palisade NTP Reference Clock support +-General cleanup, prototyping of functions +-Moved receiver buffer code to a separate module (removed unused members from the recvbuff struct) +-Moved io signal code to a separate module + +Compiling Instructions: +1. Requires Perl to be installed, and the Perl environment variable to be set correctly +2. Open the .\ports\winnt\ntp.dsw +3. Batch build of all debug projects compile + + +Last revision: 20-Oct-1996 + +This version corrects problems with building the XNTP +version 3.5-86 distribution under Windows NT. + +The following files were modified: + blddbg.bat + bldrel.bat + include\ntp_machine.h + xntpd\ntp_unixclock.c + xntpd\ntp_refclock.c + scripts\wininstall\build.bat + scripts\wininstall\setup.rul + scripts\wininstall\readme.nt + scripts\wininstall\distrib\ntpog.wri + html\hints\winnt (this file) + +In order to build the entire Windows NT distribution you +need to modify the file scripts\wininstall\build.bat +with the installation directory of the InstallShield +software. Then, simply type "bldrel" for non-debug +or "blddbg" for debug executables. + + + +Greg Schueman + <schueman@acm.org> + + +Last revision: 07-May-1996 + +This set of changes fixes all known bugs, and it includes +several major enhancements. + +Many changes have been made both to the build environment as +well as the code. There is no longer an ntp.mak file, instead +there is a buildntall.bat file that will build the entire +release in one shot. The batch file requires Perl. Perl +is easily available from the NT Resource Kit or on the Net. + +The multiple interface support was adapted from Larry Kahn's +work on the BIND NT port. I have not been able to test it +adequately as I only have NT servers with one network +interfaces on which to test. + +Enhancements: +* Event Logging now works correctly. +* Version numbers now work (requires Perl during build) +* Support for multiple network interface cards (untested) +* NTP.CONF now default, but supports ntp.ini if not found +* Installation procedure automated. +* All paths now allow environment variables such as %windir% + +Bug fixes: +* INSTSRV replaced, works correctly +* Cleaned up many warnings +* Corrected use of an uninitialized variable in XNTPD +* Fixed ntpdate -b option +* Fixed ntpdate to accept names as well as IP addresses + (Winsock WSAStartup was called after a gethostbyname()) +* Fixed problem with "longjmp" in xntpdc/ntpdc.c that + caused a software exception on doing a Control-C in xntpdc. + A Cntrl-C now terminates the program. + +See below for more detail: + + Note: SIGINT is not supported for any Win32 application including + Windows NT and Windows 95. When a CTRL+C interrupt occurs, Win32 + operating systems generate a new thread to specifically handle that + interrupt. This can cause a single-thread application such as UNIX, + to become multithreaded, resulting in unexpected behavior. + + +Possible enhancements and things left to do: +* Reference clock drivers for NT (at least Local Clock support) +* Control Panel Applet +* InstallShield based installation, like NT BIND has +* Integration with NT Performance Monitor +* SNMP integration +* Fully test multiple interface support + + +Known problems: +* bug in ntptrace - if no Stratum 1 servers are available, + such as on an IntraNet, the application crashes. + + + + +Last revision: 12-Apr-1995 + + +This NTPv3 distribution includes a sample configuration file and the project +makefiles for WindowsNT 3.5 platform using Microsoft Visual C++ 2.0 compiler. +Also included is a small routine to install the NTP daemon as a "service" +on a WindowsNT box. Besides xntpd, the utilities that have been ported are +ntpdate and xntpdc. The port to WindowsNT 3.5 has been tested using a Bancomm +TimeServe2000 GPS receiver clock that acts as a strata 1 NTP server with no +authentication (it has not been tested with any refclock drivers compiled in). +Following are the known flaws in this port: +1) currently, I do not know of a way in NT to get information about multiple + network interface cards. The current port uses just one socket bound to + INADDR_ANY address. Therefore when dealing with a multihomed NT time server, + clients should point to the default address on the server (otherwise the + reply is not guaranteed to come from the same interface to which the + request was sent). Working with Microsoft to get this resolved. +2) There is some problem with "longjmp" in xntpdc/ntpdc.c that causes a + software exception on doing a Control-C in xntpdc. Be patient! +3) The error messages logged by xntpd currently contain only the numerical + error code. Corresponding error message string has to be looked up in + "Books Online" on Visual C++ 2.0 under the topic "Numerical List of Error + Codes". + + +---------------------------------------------------- +MAKING XNTPD FOR WindowsNT 3.5 using Visual C++ 2.0: +---------------------------------------------------- + +Separate projects are needed for xntpd, ntpdate, xntpdc, and the library +containing routines used by them. + +1) First build the static library composed of routines in the lib + subdirectory of the distribution. Load the project by opening the + corresponding makefile libntp.mak (in the lib subdirectory of the + distribution) by choosing the Open option in the File menu. This should + display a list of files contained in this project. Then choose the + "Rebuild All" option from the Project menu in order to compile the + routines into a library. The libntp.lib static library is created in + the lib/WinDebug directory + + You can now choose to build xntpd, ntpdate, and xntpdc in any order. + +2) To build xntpd, load the project by opening the corresponding makefile + xntpd.mak (in the xntpd subdirectory of the distribution), and rebuild + all files. The xntpd.exe executable is created in the xntpd/WinDebug + directory. + +3) repeat the above step for ntpdate and xntpdc + + +------------------------------------------------- +INSTALLING XNTPD AS A SERVICE UNDER WindowsNT 3.5 +------------------------------------------------- + +At this point you need to install 'xntpd' as a service. First modify the +sample configuration file conf/config.winnt35 in the distribution to +suit your needs. Then install it as "%SystemRoot%\NTP.INI" (%SystemRoot% +is an environmental variable that can be determined by typing "set" at +the "Command Prompt" or from the "System" icon in the "Control Panel", +NTP.INI is the suggested name for the "ntp.conf" file in Windows environment). +The instsrv.c program in the util subdirectory of the distribution can +be used to install 'xntpd' as a service and start automatically at boot +time. Compile instsrv.c, and enter form the command prompt + "instsrv.exe NetWorkTimeProtocol <pathname_for_xntd.exe>" +Clicking on the "Services" icon in the "Control Panel" ("Main" group +in the "Program Manager") will display the list of currently installed +services in a dialog box. The NetworkTimeProtocol service should show +up in this list. Select it in the list and hit the "Start" button in +the dialog box. The NTP service should start. View the event log by +clicking on the "Event Viewer" icon in the "Administrative Tools" group +of the "Program Manager", there should be several successful startup +messages from NTP. NTP will keep running and restart automatically when +the machine is rebooted. + +You can change the start mode (automatic/manual) and other startup +parameters correponding to the NTP service (eg. location of conf file) +also in the "Services" dialog box if you wish. + +There is no clean way to run 'ntpdate' before starting 'xntpd' at boot +time, unlike the Unix environment. 'xntpd' will step the clock upto +a 1000 seconds. While there is no reason that the system clock should +be that much off during bootup if 'xntpd' was running before bootup, +you may want to increase the CLOCK_WAYTOOBIG parameter in include/ntp.h +from 1000 to, say, MAXINT. + +You can also use instsrv.c to delete the NTP service + "instsrv.exe NetworkTimeProtocol remove" + + +Viraj Bais +<vbais@mailman1.intel.com> |