Short: V1.4: hardware clock at GMT util with SAS/C link lib Type: util/time Uploader: pueschel@imsdd.meb.uni-bonn.de Author: pueschel@imsdd.meb.uni-bonn.de ClockDaemon 1.4 Features: --------- - Keeps your hardware clock at GMT (for NetBSD users). - Patches battclock.resource so that reads and writes to the hardware clock are transparently adjusted. - Handles daylight savings time. - Does not need ixemul.library. - Sets IXGMTOFFSET and internal time for ixemul.library V 42+. - Detects DST start & end while computer is running. - Optionally runs command when DST begins or ends. - DSTCheck program for use in scripts. - link library for SAS/C to replace broken time functions Installation: ------------- Copy ClockDaemon and DSTCheck to C:, and add "run >NIL: ClockDaemon " to your User-Startup, where is a program you want to be executed when daylight savings time begins or ends. Store an appropriate (see timezone.doc) timezone string in ENVARC:TZ. ClockDaemon will set the IXGMTOFFSET variable and update the internal offset for ixemul.library V 42 or higher. Do not use ixtimezone ! Reboot and reset your clock to your local time via the Time preferences program. Since version 1.2, ClockDaemon notices the start or end of daylight savings time regardless if your computer is running at that time or not. (If it is not running, the change command will be executed the next time ClockDaemon is started.) ATTENTION: The command you want to have executed must terminate or ClockDaemon will hang ! Example (for Germany): ---------------------- User-Startup: run >NIL: ClockDaemon SetUMSRFCDST ENVARC:TZ: MET-1MEST,M3.5.0,M10.5.0/03 DSTCheck: --------- The DSTCheck command gives you an easy way to check the DST status in CLI scripts. Its return status is WARN (5) during DST, OK (0) otherwise. Example: DSTCheck If Warn Echo "We have DST !" Else Echo "We don't have DST !" Endif time.lib: --------- The original SAS/C functions gmtime, localtime, mktime and time do not work correctly. The supplied link library time.lib contains replacement functions for them. To use them, you can either copy time.lib to lib: and specify it explicitly when linking your programs, or replace the original modules in sc.lib. The script patch_sc.lib does this for you. Programs linked with time.lib work with or without ClockDaemon installed. You are free to distribute or sell your programs containing time.lib. I only require you to add timezone.doc to such a distribution. Legal Stuff: ------------ There is no warranty. ClockDaemon is Freeware. Credits: -------- I borrowed the timezone string description from another package (SetTZ or TZSet or something like that). Anyway, a big "thank you" to the author. The idea to run a script at DST start/end came from Henning Hucke. Thanks to Hans Verkuil for tips on how ixtimezone works, and for maintaining ixemul.library. And finally, a big "Thank You !" to Steve, Doug and Jim at SAS. History: -------- Version 1.0: Not released. 1.1: Added ixemul V 42 support. 1.2: Added DSTCHANGECOMMAND. Added detection of DST start/end while computer is on. Added DSTCheck command. 1.3: Restructured the code, fixed some minor bugs. Added link library for SAS/C. 1.4: Added setting of internal offset if ixemul.library is already loaded. Fixed documentation bug; the TZ string for Germany changed in 1996. Bug reports & suggestions: -------------------------- Send bug reports & suggestions to pueschel@imsdd.meb.uni-bonn.de.