|
ActiveTcl User Guide
|
|
|
[ Main table Of Contents | Tcllib Table Of Contents | Tcllib Index ]
ntp_time(n) 1.1 "ntp"
ntp_time - Tcl Time Service Client
TABLE OF
CONTENTS
SYNOPSIS
DESCRIPTION
COMMANDS
AUTHORS
SEE ALSO
KEYWORDS
COPYRIGHT
package require Tcl 8.0
package require time ?1.1?
This package implements a client for the RFC 868 TIME protocol
(http://www.rfc-editor.org/rfc/rfc868.txt)
and also a minimal client for the RFC 2030 Simple Network Time
Protocol (http://www.rfc-editor.org/rfc/rfc2030.txt).
RFC 868 returns the time in seconds since 1 January 1900 to either
tcp or udp clients. RFC 2030 also gives this time but also provides
a fractional part which is not used in this client.
- ::time::gettime ?options? timeserver ?port?
- Get the time from timeserver. You may
specify any of the options listed for the configure command here. This command returns a token
which must then be used with the remaining commands in this
package. Once you have finished, you should use cleanup to release all resources. The default port is
37.
- ::time::getsntp ?options? timeserver ?port?
- Get the time from an SNTP server. This accepts exactly the same
arguments as ::time::gettime except that the
default port is 123. The result is a token as per
::time::gettime and should be handled in the
same way.
- ::time::configure ?options?
- Called with no arguments this command returns all the current
configuration options and values. Otherwise it should be called
with pairs of option name and value.
- -protocol number
- Set the default network protocol. This defaults to udp if the
tcludp package is available. Otherwise it will use tcp.
- -port number
- Set the default port to use. RFC 868 uses port
37, RFC 2030 uses port 123.
- -timeout number
- Set the default timeout value in milliseconds. The default is
10 seconds.
- -command number
- Set a command procedure to be run when a reply is received. The
procedure is called with the time token appended to the argument
list.
- -loglevel number
- Set the logging level. The default is 'warning'.
- ::time::cget name
- Get the current value for the named configuration option.
- ::time::unixtime token
- Format the returned time for the unix epoch. RFC 868 time
defines time 0 as 1 Jan 1900, while unix time defines time 0 as 1
Jan 1970. This command converts the reply to unix time.
- ::time::status token
- Returns the status flag. For a successfully completed query
this will be ok. May be error or timeout
or eof. See also ::time::error
- ::time::error token
- Returns the error message provided for requests whose status is
error. If there is no error message then an empty string
is returned.
- ::time::reset token ?reason?
- Reset or cancel the query optionally specfying the reason to
record for the error command.
- ::time::wait token
- Wait for a query to complete and return the status upon
completion.
- ::time::cleanup token
- Remove all state variables associated with the request.
|
% set tok [::time::gettime ntp2a.mcc.ac.uk]
% set t [::time::unixtime $tok]
% ::time::cleanup $tok
|
|
% set tok [::time::getsntp ntp.blueyonder.co.uk]
% set t [::time::unixtime $tok]
% ::time::cleanup $tok
|
Pat Thoyts
ntp
NTP , SNTP , rfc
2030 , rfc 868 , time
Copyright © 2002, Pat Thoyts
<patthoyts@users.sourceforge.net>