summaryrefslogtreecommitdiff
path: root/ntpq/invoke-ntpq.texi
diff options
context:
space:
mode:
Diffstat (limited to 'ntpq/invoke-ntpq.texi')
-rw-r--r--ntpq/invoke-ntpq.texi1086
1 files changed, 1086 insertions, 0 deletions
diff --git a/ntpq/invoke-ntpq.texi b/ntpq/invoke-ntpq.texi
new file mode 100644
index 0000000..e30ccd1
--- /dev/null
+++ b/ntpq/invoke-ntpq.texi
@@ -0,0 +1,1086 @@
+@node ntpq Invocation
+@section Invoking ntpq
+@pindex ntpq
+@cindex standard NTP query program
+@ignore
+#
+# EDIT THIS FILE WITH CAUTION (invoke-ntpq.texi)
+#
+# It has been AutoGen-ed December 2, 2014 at 08:58:08 AM by AutoGen 5.18.5pre4
+# From the definitions ntpq-opts.def
+# and the template file agtexi-cmd.tpl
+@end ignore
+
+
+The
+@code{ntpq}
+utility program is used to query NTP servers which
+implement the standard NTP mode 6 control message formats defined
+in Appendix B of the NTPv3 specification RFC1305, requesting
+information about current state and/or changes in that state.
+The same formats are used in NTPv4, although some of the
+variables have changed and new ones added. The description on this
+page is for the NTPv4 variables.
+The program may be run either in interactive mode or controlled using
+command line arguments.
+Requests to read and write arbitrary
+variables can be assembled, with raw and pretty-printed output
+options being available.
+The
+@code{ntpq}
+utility can also obtain and print a
+list of peers in a common format by sending multiple queries to the
+server.
+
+If one or more request options is included on the command line
+when
+@code{ntpq}
+is executed, each of the requests will be sent
+to the NTP servers running on each of the hosts given as command
+line arguments, or on localhost by default.
+If no request options
+are given,
+@code{ntpq}
+will attempt to read commands from the
+standard input and execute these on the NTP server running on the
+first host given on the command line, again defaulting to localhost
+when no other host is specified.
+The
+@code{ntpq}
+utility will prompt for
+commands if the standard input is a terminal device.
+
+@code{ntpq}
+uses NTP mode 6 packets to communicate with the
+NTP server, and hence can be used to query any compatible server on
+the network which permits it.
+Note that since NTP is a UDP protocol
+this communication will be somewhat unreliable, especially over
+large distances in terms of network topology.
+The
+@code{ntpq}
+utility makes
+one attempt to retransmit requests, and will time requests out if
+the remote host is not heard from within a suitable timeout
+time.
+
+Specifying a
+command line option other than
+@code{-i}
+or
+@code{-n}
+will
+cause the specified query (queries) to be sent to the indicated
+host(s) immediately.
+Otherwise,
+@code{ntpq}
+will attempt to read
+interactive format commands from the standard input.
+@subsubsection Internal Commands
+Interactive format commands consist of a keyword followed by zero
+to four arguments.
+Only enough characters of the full keyword to
+uniquely identify the command need be typed.
+
+A
+number of interactive format commands are executed entirely within
+the
+@code{ntpq}
+utility itself and do not result in NTP mode 6
+requests being sent to a server.
+These are described following.
+@table @asis
+@item @code{?} @code{[@kbd{command_keyword}]}
+@item @code{help} @code{[@kbd{command_keyword}]}
+A
+@quoteleft{}?@quoteright{}
+by itself will print a list of all the command
+keywords known to this incarnation of
+@code{ntpq}
+A
+@quoteleft{}?@quoteright{}
+followed by a command keyword will print function and usage
+information about the command.
+This command is probably a better
+source of information about
+@code{ntpq}
+than this manual
+page.
+@item @code{addvars} @kbd{variable_name}@code{[@code{=value}]} @code{...}
+@item @code{rmvars} @kbd{variable_name} @code{...}
+@item @code{clearvars}
+@item @code{showvars}
+The data carried by NTP mode 6 messages consists of a list of
+items of the form
+@quoteleft{}variable_name=value@quoteright{},
+where the
+@quoteleft{}=value@quoteright{}
+is ignored, and can be omitted,
+in requests to the server to read variables.
+The
+@code{ntpq}
+utility maintains an internal list in which data to be included in control
+messages can be assembled, and sent using the
+@code{readlist}
+and
+@code{writelist}
+commands described below.
+The
+@code{addvars}
+command allows variables and their optional values to be added to
+the list.
+If more than one variable is to be added, the list should
+be comma-separated and not contain white space.
+The
+@code{rmvars}
+command can be used to remove individual variables from the list,
+while the
+@code{clearlist}
+command removes all variables from the
+list.
+The
+@code{showvars}
+command displays the current list of optional variables.
+@item @code{authenticate} @code{[yes | no]}
+Normally
+@code{ntpq}
+does not authenticate requests unless
+they are write requests.
+The command
+@quoteleft{}authenticate yes@quoteright{}
+causes
+@code{ntpq}
+to send authentication with all requests it
+makes.
+Authenticated requests causes some servers to handle
+requests slightly differently, and can occasionally melt the CPU in
+fuzzballs if you turn authentication on before doing a
+@code{peer}
+display.
+The command
+@quoteleft{}authenticate@quoteright{}
+causes
+@code{ntpq}
+to display whether or not
+@code{ntpq}
+is currently autheinticating requests.
+@item @code{cooked}
+Causes output from query commands to be "cooked", so that
+variables which are recognized by
+@code{ntpq}
+will have their
+values reformatted for human consumption.
+Variables which
+@code{ntpq}
+thinks should have a decodable value but didn't are
+marked with a trailing
+@quoteleft{}?@quoteright{}.
+@item @code{debug} @code{[@code{more} | @code{less} | @code{off}]}
+With no argument, displays the current debug level.
+Otherwise, the debug level is changed to the indicated level.
+@item @code{delay} @kbd{milliseconds}
+Specify a time interval to be added to timestamps included in
+requests which require authentication.
+This is used to enable
+(unreliable) server reconfiguration over long delay network paths
+or between machines whose clocks are unsynchronized.
+Actually the
+server does not now require timestamps in authenticated requests,
+so this command may be obsolete.
+@item @code{exit}
+Exit
+@code{ntpq}
+@item @code{host} @kbd{hostname}
+Set the host to which future queries will be sent.
+@kbd{hostname}
+may be either a host name or a numeric address.
+@item @code{hostnames} @code{[@code{yes} | @code{no}]}
+If
+@code{yes}
+is specified, host names are printed in
+information displays.
+If
+@code{no}
+is specified, numeric
+addresses are printed instead.
+The default is
+@code{yes},
+unless
+modified using the command line
+@code{-n}
+switch.
+@item @code{keyid} @kbd{keyid}
+This command allows the specification of a key number to be
+used to authenticate configuration requests.
+This must correspond
+to a key number the server has been configured to use for this
+purpose.
+@item @code{keytype} @code{[@code{md5} | @code{OpenSSLDigestType}]}
+Specify the type of key to use for authenticating requests.
+@code{md5}
+is alway supported.
+If
+@code{ntpq}
+was built with OpenSSL support,
+any digest type supported by OpenSSL can also be provided.
+If no argument is given, the current
+@code{keytype}
+is displayed.
+@item @code{ntpversion} @code{[@code{1} | @code{2} | @code{3} | @code{4}]}
+Sets the NTP version number which
+@code{ntpq}
+claims in
+packets.
+Defaults to 3, and note that mode 6 control messages (and
+modes, for that matter) didn't exist in NTP version 1.
+There appear
+to be no servers left which demand version 1.
+With no argument, displays the current NTP version that will be used
+when communicating with servers.
+@item @code{passwd}
+This command prompts you to type in a password (which will not
+be echoed) which will be used to authenticate configuration
+requests.
+The password must correspond to the key configured for
+use by the NTP server for this purpose if such requests are to be
+successful.
+@code{poll}
+@kbd{n}
+@code{verbose}
+@item @code{quit}
+Exit
+@code{ntpq}
+@item @code{raw}
+Causes all output from query commands is printed as received
+from the remote server.
+The only formating/interpretation done on
+the data is to transform nonascii data into a printable (but barely
+understandable) form.
+@item @code{timeout} @kbd{milliseconds}
+Specify a timeout period for responses to server queries.
+The
+default is about 5000 milliseconds.
+Note that since
+@code{ntpq}
+retries each query once after a timeout, the total waiting time for
+a timeout will be twice the timeout value set.
+@item @code{version}
+Print the version of the
+@code{ntpq}
+program.
+@end table
+
+@subsubsection Control Message Commands
+Association IDs are used to identify system, peer and clock variables.
+System variables are assigned an association ID of zero and system name space, while each association is assigned a nonzero association ID and peer namespace.
+Most control commands send a single mode-6 message to the server and expect a single response message.
+The exceptions are the
+@code{peers}
+command, which sends a series of messages,
+and the
+@code{mreadlist}
+and
+@code{mreadvar}
+commands, which iterate over a range of associations.
+@table @asis
+@item @code{associations}
+Display a list of mobilized associations in the form:
+@example
+ind assid status conf reach auth condition last_event cnt
+@end example
+@table @asis
+@item Sy String Ta Sy Description
+@item @code{ind} @code{Ta} @code{index} @code{on} @code{this} @code{list}
+@item @code{assid} @code{Ta} @code{association} @code{ID}
+@item @code{status} @code{Ta} @code{peer} @code{status} @code{word}
+@item @code{conf} @code{Ta} @code{yes}: @code{persistent,} @code{no}: @code{ephemeral}
+@item @code{reach} @code{Ta} @code{yes}: @code{reachable,} @code{no}: @code{unreachable}
+@item @code{auth} @code{Ta} @code{ok}, @code{yes}, @code{bad} @code{and} @code{none}
+@item @code{condition} @code{Ta} @code{selection} @code{status} @code{(see} @code{the} @code{select} @code{field} @code{of} @code{the} @code{peer} @code{status} @code{word)}
+@item @code{last_event} @code{Ta} @code{event} @code{report} @code{(see} @code{the} @code{event} @code{field} @code{of} @code{the} @code{peer} @code{status} @code{word)}
+@item @code{cnt} @code{Ta} @code{event} @code{count} @code{(see} @code{the} @code{count} @code{field} @code{of} @code{the} @code{peer} @code{status} @code{word)}
+@end table
+@item @code{authinfo}
+Display the authentication statistics.
+@item @code{clockvar} @kbd{assocID} @code{[@kbd{name}@code{[@code{=}@kbd{value}]}]} @code{[...]}
+@item @code{cv} @kbd{assocID} @code{[@kbd{name}@code{[@code{=}@kbd{value}]}]} @code{[...]}
+Display a list of clock variables for those associations supporting a reference clock.
+@item @code{:config} @code{[...]}
+Send the remainder of the command line, including whitespace, to the server as a run-time configuration command in the same format as a line in the configuration file. This command is experimental until further notice and clarification. Authentication is of course required.
+@item @code{config-from-file} @kbd{filename}
+Send the each line of
+@kbd{filename}
+to the server as run-time configuration commands in the same format as a line in the configuration file. This command is experimental until further notice and clarification. Authentication is required.
+@item @code{ifstats}
+Display statistics for each local network address. Authentication is required.
+@item @code{iostats}
+Display network and reference clock I/O statistics.
+@item @code{kerninfo}
+Display kernel loop and PPS statistics. As with other ntpq output, times are in milliseconds. The precision value displayed is in milliseconds as well, unlike the precision system variable.
+@item @code{lassociations}
+Perform the same function as the associations command, except display mobilized and unmobilized associations.
+@item @code{lopeers} @code{[@code{-4} | @code{-6}]}
+Obtain and print a list of all peers and clients showing
+@kbd{dstadr}
+(associated with any given IP version).
+@item @code{lpeers} @code{[@code{-4} | @code{-6}]}
+Print a peer spreadsheet for the appropriate IP version(s).
+@kbd{dstadr}
+(associated with any given IP version).
+@item @code{monstats}
+Display monitor facility statistics.
+@item @code{mrulist} @code{[@code{limited} | @code{kod} | @code{mincount}=@kbd{count} | @code{laddr}=@kbd{localaddr} | @code{sort}=@kbd{sortorder} | @code{resany}=@kbd{hexmask} | @code{resall}=@kbd{hexmask}]}
+Obtain and print traffic counts collected and maintained by the monitor facility.
+With the exception of
+@code{sort}=@kbd{sortorder},
+the options filter the list returned by
+@code{ntpd.}
+The
+@code{limited}
+and
+@code{kod}
+options return only entries representing client addresses from which the last packet received triggered either discarding or a KoD response.
+The
+@code{mincount}=@kbd{count}
+option filters entries representing less than
+@kbd{count}
+packets.
+The
+@code{laddr}=@kbd{localaddr}
+option filters entries for packets received on any local address other than
+@kbd{localaddr}.
+@code{resany}=@kbd{hexmask}
+and
+@code{resall}=@kbd{hexmask}
+filter entries containing none or less than all, respectively, of the bits in
+@kbd{hexmask},
+which must begin with
+@code{0x}.
+The
+@kbd{sortorder}
+defaults to
+@code{lstint}
+and may be any of
+@code{addr},
+@code{count},
+@code{avgint},
+@code{lstint},
+or any of those preceded by a minus sign (hyphen) to reverse the sort order.
+The output columns are:
+@table @asis
+@item Column
+Description
+@item @code{lstint}
+Interval in s between the receipt of the most recent packet from this address and the completion of the retrieval of the MRU list by
+@code{ntpq}
+@item @code{avgint}
+Average interval in s between packets from this address.
+@item @code{rstr}
+Restriction flags associated with this address.
+Most are copied unchanged from the matching
+@code{restrict}
+command, however 0x400 (kod) and 0x20 (limited) flags are cleared unless the last packet from this address triggered a rate control response.
+@item @code{r}
+Rate control indicator, either
+a period,
+@code{L}
+or
+@code{K}
+for no rate control response,
+rate limiting by discarding, or rate limiting with a KoD response, respectively.
+@item @code{m}
+Packet mode.
+@item @code{v}
+Packet version number.
+@item @code{count}
+Packets received from this address.
+@item @code{rport}
+Source port of last packet from this address.
+@item @code{remote} @code{address}
+DNS name, numeric address, or address followed by
+claimed DNS name which could not be verified in parentheses.
+@end table
+@item @code{mreadvar} @code{assocID} @code{assocID} @code{[@kbd{variable_name}@code{[=@kbd{value}]} ...]}
+@item @code{mrv} @code{assocID} @code{assocID} @code{[@kbd{variable_name}@code{[=@kbd{value}]} ...]}
+Perform the same function as the
+@code{readvar}
+command, except for a range of association IDs.
+This range is determined from the association list cached by the most recent
+@code{associations}
+command.
+@item @code{opeers} @code{[@code{-4} | @code{-6}]}
+Obtain and print the old-style list of all peers and clients showing
+@kbd{dstadr}
+(associated with any given IP version),
+rather than the
+@kbd{refid}.
+@item @code{passociations}
+Perform the same function as the
+@code{associations}
+command,
+except that it uses previously stored data rather than making a new query.
+@item @code{peers}
+Display a list of peers in the form:
+@example
+[tally]remote refid st t when pool reach delay offset jitter
+@end example
+@table @asis
+@item Variable
+Description
+@item @code{[tally]}
+single-character code indicating current value of the
+@code{select}
+field of the
+.Lk decode.html#peer "peer status word"
+@item @code{remote}
+host name (or IP number) of peer.
+The value displayed will be truncated to 15 characters unless the
+@code{-w}
+flag is given, in which case the full value will be displayed
+on the first line,
+and the remaining data is displayed on the next line.
+@item @code{refid}
+association ID or
+.Lk decode.html#kiss "'kiss code"
+@item @code{st}
+stratum
+@item @code{t}
+@code{u}:
+unicast or manycast client,
+@code{b}:
+broadcast or multicast client,
+@code{l}:
+local (reference clock),
+@code{s}:
+symmetric (peer),
+@code{A}:
+manycast server,
+@code{B}:
+broadcast server,
+@code{M}:
+multicast server
+@item @code{when}
+sec/min/hr since last received packet
+@item @code{poll}
+poll interval (log2 s)
+@item @code{reach}
+reach shift register (octal)
+@item @code{delay}
+roundtrip delay
+@item @code{offset}
+offset of server relative to this host
+@item @code{jitter}
+jitter
+@end table
+@item @code{pstats} @kbd{assocID}
+Show the statistics for the peer with the given
+@kbd{assocID}.
+@item @code{readlist} @kbd{assocID}
+@item @code{rl} @kbd{assocID}
+Read the system or peer variables included in the variable list.
+@item @code{readvar} @kbd{assocID} @kbd{name}@code{[=@kbd{value}]} @code{[, ...]}
+@item @code{rv} @kbd{assocID} @kbd{name}@code{[=@kbd{value}]} @code{[, ...]}
+Display the specified variables.
+If
+@kbd{assocID}
+is zero, the variables are from the
+@ref{System Variables}
+name space, otherwise they are from the
+@ref{Peer Variables}
+name space.
+The
+@kbd{assocID}
+is required, as the same name can occur in both spaces.
+If no
+@kbd{name}
+is included, all operative variables in the name space are displayed.
+
+In this case only, if the
+@kbd{assocID}
+is omitted, it is assumed zero.
+Multiple names are specified with comma separators and without whitespace.
+Note that time values are represented in milliseconds
+and frequency values in parts-per-million (PPM).
+Some NTP timestamps are represented in the format
+YYYYMMDDTTTT ,
+where YYYY is the year,
+MM the month of year,
+DD the day of month and
+TTTT the time of day.
+@item @code{reslist}
+Show the access control (restrict) list for
+@code{ntpq}
+
+@item @code{saveconfig} @kbd{filename}
+Write the current configuration,
+including any runtime modifications given with
+@code{:config}
+or
+@code{config-from-file},
+to the ntpd host's file
+@kbd{filename}.
+This command will be rejected by the server unless
+.Lk miscopt.html#saveconfigdir "saveconfigdir"
+appears in the
+@code{ntpd}
+configuration file.
+@kbd{filename}
+can use
+@code{strftime()}
+format specifies to substitute the current date and time, for example,
+@code{q]saveconfig} @code{ntp-%Y%m%d-%H%M%S.confq]}.
+The filename used is stored in system variable
+@code{savedconfig}.
+Authentication is required.
+@item @code{timerstats}
+Display interval timer counters.
+@item @code{writelist} @kbd{assocID}
+Write the system or peer variables included in the variable list.
+@item @code{writevar} @kbd{assocID} @kbd{name}=@kbd{value} @code{[, ...]}
+Write the specified variables.
+If the
+@kbd{assocID}
+is zero, the variables are from the
+@ref{System Variables}
+name space, otherwise they are from the
+@ref{Peer Variables}
+name space.
+The
+@kbd{assocID}
+is required, as the same name can occur in both spaces.
+@item @code{sysinfo}
+Display operational summary.
+@item @code{sysstats}
+Print statistics counters maintained in the protocol module.
+@end table
+
+@subsubsection Status Words and Kiss Codes
+
+The current state of the operating program is shown
+in a set of status words
+maintained by the system.
+Status information is also available on a per-association basis.
+These words are displayed in the
+@code{rv}
+and
+@code{as}
+commands both in hexadecimal and in decoded short tip strings.
+The codes, tips and short explanations are documented on the
+.Lk decode.html "Event Messages and Status Words"
+page.
+The page also includes a list of system and peer messages,
+the code for the latest of which is included in the status word.
+
+Information resulting from protocol machine state transitions
+is displayed using an informal set of ASCII strings called
+.Lk decode.html#kiss "kiss codes" .
+The original purpose was for kiss-o'-death (KoD) packets
+sent by the server to advise the client of an unusual condition.
+They are now displayed, when appropriate,
+in the reference identifier field in various billboards.
+
+@subsubsection System Variables
+The following system variables appear in the
+@code{rv}
+billboard.
+Not all variables are displayed in some configurations.
+@table @asis
+@item Variable
+Description
+@item @code{status}
+.Lk decode.html#sys "system status word"
+@item @code{version}
+NTP software version and build time
+@item @code{processor}
+hardware platform and version
+@item @code{system}
+operating system and version
+@item @code{leap}
+leap warning indicator (0-3)
+@item @code{stratum}
+stratum (1-15)
+@item @code{precision}
+precision (log2 s)
+@item @code{rootdelay}
+total roundtrip delay to the primary reference clock
+@item @code{rootdisp}
+total dispersion to the primary reference clock
+@item @code{peer}
+system peer association ID
+@item @code{tc}
+time constant and poll exponent (log2 s) (3-17)
+@item @code{mintc}
+minimum time constant (log2 s) (3-10)
+@item @code{clock}
+date and time of day
+@item @code{refid}
+reference ID or
+.Lk decode.html#kiss "kiss code"
+@item @code{reftime}
+reference time
+@item @code{offset}
+combined offset of server relative to this host
+@item @code{sys_jitter}
+combined system jitter
+@item @code{frequency}
+frequency offset (PPM) relative to hardware clock
+@item @code{clk_wander}
+clock frequency wander (PPM)
+@item @code{clk_jitter}
+clock jitter
+@item @code{tai}
+TAI-UTC offset (s)
+@item @code{leapsec}
+NTP seconds when the next leap second is/was inserted
+@item @code{expire}
+NTP seconds when the NIST leapseconds file expires
+@end table
+The jitter and wander statistics are exponentially-weighted RMS averages.
+The system jitter is defined in the NTPv4 specification;
+the clock jitter statistic is computed by the clock discipline module.
+
+When the NTPv4 daemon is compiled with the OpenSSL software library,
+additional system variables are displayed,
+including some or all of the following,
+depending on the particular Autokey dance:
+
+@table @asis
+@item Variable
+Description
+@item @code{host}
+Autokey host name for this host
+@item @code{ident}
+Autokey group name for this host
+@item @code{flags}
+host flags (see Autokey specification)
+@item @code{digest}
+OpenSSL message digest algorithm
+@item @code{signature}
+OpenSSL digest/signature scheme
+@item @code{update}
+NTP seconds at last signature update
+@item @code{cert}
+certificate subject, issuer and certificate flags
+@item @code{until}
+NTP seconds when the certificate expires
+@end table
+@subsubsection Peer Variables
+The following peer variables appear in the
+@code{rv}
+billboard for each association.
+Not all variables are displayed in some configurations.
+
+@table @asis
+@item Variable
+Description
+@item @code{associd}
+association ID
+@item @code{status}
+.Lk decode.html#peer "peer status word"
+@item @code{srcadr}
+source (remote) IP address
+@item @code{srcport}
+source (remote) port
+@item @code{dstadr}
+destination (local) IP address
+@item @code{dstport}
+destination (local) port
+@item @code{leap}
+leap indicator (0-3)
+@item @code{stratum}
+stratum (0-15)
+@item @code{precision}
+precision (log2 s)
+@item @code{rootdelay}
+total roundtrip delay to the primary reference clock
+@item @code{rootdisp}
+total root dispersion to the primary reference clock
+@item @code{refid}
+reference ID or
+.Lk decode.html#kiss "kiss code"
+@item @code{reftime}
+reference time
+@item @code{reach}
+reach register (octal)
+@item @code{unreach}
+unreach counter
+@item @code{hmode}
+host mode (1-6)
+@item @code{pmode}
+peer mode (1-5)
+@item @code{hpoll}
+host poll exponent (log2 s) (3-17)
+@item @code{ppoll}
+peer poll exponent (log2 s) (3-17)
+@item @code{headway}
+headway (see
+.Lk rate.html "Rate Management and the Kiss-o'-Death Packet" )
+@item @code{flash}
+.Lk decode.html#flash "flash status word"
+@item @code{offset}
+filter offset
+@item @code{delay}
+filter delay
+@item @code{dispersion}
+filter dispersion
+@item @code{jitter}
+filter jitter
+@item @code{ident}
+Autokey group name for this association
+@item @code{bias}
+unicast/broadcast bias
+@item @code{xleave}
+interleave delay (see
+.Lk xleave.html "NTP Interleaved Modes" )
+@end table
+The
+@code{bias}
+variable is calculated when the first broadcast packet is received
+after the calibration volley.
+It represents the offset of the broadcast subgraph relative to the unicast subgraph.
+The
+@code{xleave}
+variable appears only for the interleaved symmetric and interleaved modes.
+It represents the internal queuing, buffering and transmission delays
+for the preceding packet.
+
+When the NTPv4 daemon is compiled with the OpenSSL software library,
+additional peer variables are displayed, including the following:
+@table @asis
+@item Variable
+Description
+@item @code{flags}
+peer flags (see Autokey specification)
+@item @code{host}
+Autokey server name
+@item @code{flags}
+peer flags (see Autokey specification)
+@item @code{signature}
+OpenSSL digest/signature scheme
+@item @code{initsequence}
+initial key ID
+@item @code{initkey}
+initial key index
+@item @code{timestamp}
+Autokey signature timestamp
+@end table
+
+@subsubsection Clock Variables
+The following clock variables appear in the
+@code{cv}
+billboard for each association with a reference clock.
+Not all variables are displayed in some configurations.
+@table @asis
+@item Variable
+Description
+@item @code{associd}
+association ID
+@item @code{status}
+.Lk decode.html#clock "clock status word"
+@item @code{device}
+device description
+@item @code{timecode}
+ASCII time code string (specific to device)
+@item @code{poll}
+poll messages sent
+@item @code{noreply}
+no reply
+@item @code{badformat}
+bad format
+@item @code{baddata}
+bad date or time
+@item @code{fudgetime1}
+fudge time 1
+@item @code{fudgetime2}
+fudge time 2
+@item @code{stratum}
+driver stratum
+@item @code{refid}
+driver reference ID
+@item @code{flags}
+driver flags
+@end table
+
+This section was generated by @strong{AutoGen},
+using the @code{agtexi-cmd} template and the option descriptions for the @code{ntpq} program.
+This software is released under the NTP license, <http://ntp.org/license>.
+
+@menu
+* ntpq usage:: ntpq help/usage (@option{--help})
+* ntpq ipv4:: ipv4 option (-4)
+* ntpq ipv6:: ipv6 option (-6)
+* ntpq command:: command option (-c)
+* ntpq interactive:: interactive option (-i)
+* ntpq numeric:: numeric option (-n)
+* ntpq old-rv:: old-rv option
+* ntpq peers:: peers option (-p)
+* ntpq wide:: wide option (-w)
+* ntpq config:: presetting/configuring ntpq
+* ntpq exit status:: exit status
+@end menu
+
+@node ntpq usage
+@subsection ntpq help/usage (@option{--help})
+@cindex ntpq help
+
+This is the automatically generated usage text for ntpq.
+
+The text printed is the same whether selected with the @code{help} option
+(@option{--help}) or the @code{more-help} option (@option{--more-help}). @code{more-help} will print
+the usage text by passing it through a pager program.
+@code{more-help} is disabled on platforms without a working
+@code{fork(2)} function. The @code{PAGER} environment variable is
+used to select the program, defaulting to @file{more}. Both will exit
+with a status code of 0.
+
+@exampleindent 0
+@example
+ntpq - standard NTP query program - Ver. 4.2.7p482
+Usage: ntpq [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [ host ...]
+ Flg Arg Option-Name Description
+ -4 no ipv4 Force IPv4 DNS name resolution
+ - prohibits the option 'ipv6'
+ -6 no ipv6 Force IPv6 DNS name resolution
+ - prohibits the option 'ipv4'
+ -c Str command run a command and exit
+ - may appear multiple times
+ -d no debug-level Increase debug verbosity level
+ - may appear multiple times
+ -D Num set-debug-level Set the debug verbosity level
+ - may appear multiple times
+ -i no interactive Force ntpq to operate in interactive mode
+ - prohibits these options:
+ command
+ peers
+ -n no numeric numeric host addresses
+ no old-rv Always output status line with readvar
+ -p no peers Print a list of the peers
+ - prohibits the option 'interactive'
+ -w no wide Display the full 'remote' value
+ opt version output version information and exit
+ -? no help display extended usage information and exit
+ -! no more-help extended usage information passed thru pager
+ -> opt save-opts save the option state to a config file
+ -< Str load-opts load options from a config file
+ - disabled as '--no-load-opts'
+ - may appear multiple times
+
+Options are specified by doubled hyphens and their name or by a single
+hyphen and the flag character.
+
+The following option preset mechanisms are supported:
+ - reading file $HOME/.ntprc
+ - reading file ./.ntprc
+ - examining environment variables named NTPQ_*
+
+Please send bug reports to: <http://bugs.ntp.org, bugs@@ntp.org>
+@end example
+@exampleindent 4
+
+@node ntpq ipv4
+@subsection ipv4 option (-4)
+@cindex ntpq-ipv4
+
+This is the ``force ipv4 dns name resolution'' option.
+
+@noindent
+This option has some usage constraints. It:
+@itemize @bullet
+@item
+must not appear in combination with any of the following options:
+ipv6.
+@end itemize
+
+Force DNS resolution of following host names on the command line
+to the IPv4 namespace.
+@node ntpq ipv6
+@subsection ipv6 option (-6)
+@cindex ntpq-ipv6
+
+This is the ``force ipv6 dns name resolution'' option.
+
+@noindent
+This option has some usage constraints. It:
+@itemize @bullet
+@item
+must not appear in combination with any of the following options:
+ipv4.
+@end itemize
+
+Force DNS resolution of following host names on the command line
+to the IPv6 namespace.
+@node ntpq command
+@subsection command option (-c)
+@cindex ntpq-command
+
+This is the ``run a command and exit'' option.
+This option takes a string argument @file{cmd}.
+
+@noindent
+This option has some usage constraints. It:
+@itemize @bullet
+@item
+may appear an unlimited number of times.
+@end itemize
+
+The following argument is interpreted as an interactive format command
+and is added to the list of commands to be executed on the specified
+host(s).
+@node ntpq interactive
+@subsection interactive option (-i)
+@cindex ntpq-interactive
+
+This is the ``force ntpq to operate in interactive mode'' option.
+
+@noindent
+This option has some usage constraints. It:
+@itemize @bullet
+@item
+must not appear in combination with any of the following options:
+command, peers.
+@end itemize
+
+Force @code{ntpq} to operate in interactive mode.
+Prompts will be written to the standard output and
+commands read from the standard input.
+@node ntpq numeric
+@subsection numeric option (-n)
+@cindex ntpq-numeric
+
+This is the ``numeric host addresses'' option.
+Output all host addresses in dotted-quad numeric format rather than
+converting to the canonical host names.
+@node ntpq old-rv
+@subsection old-rv option
+@cindex ntpq-old-rv
+
+This is the ``always output status line with readvar'' option.
+By default, @code{ntpq} now suppresses the @code{associd=...}
+line that precedes the output of @code{readvar}
+(alias @code{rv}) when a single variable is requested, such as
+@code{ntpq -c "rv 0 offset"}.
+This option causes @code{ntpq} to include both lines of output
+for a single-variable @code{readvar}.
+Using an environment variable to
+preset this option in a script will enable both older and
+newer @code{ntpq} to behave identically in this regard.
+@node ntpq peers
+@subsection peers option (-p)
+@cindex ntpq-peers
+
+This is the ``print a list of the peers'' option.
+
+@noindent
+This option has some usage constraints. It:
+@itemize @bullet
+@item
+must not appear in combination with any of the following options:
+interactive.
+@end itemize
+
+Print a list of the peers known to the server as well as a summary
+of their state. This is equivalent to the 'peers' interactive command.
+@node ntpq wide
+@subsection wide option (-w)
+@cindex ntpq-wide
+
+This is the ``display the full 'remote' value'' option.
+Display the full value of the 'remote' value. If this requires
+more than 15 characters, display the full value, emit a newline,
+and continue the data display properly indented on the next line.
+
+
+@node ntpq config
+@subsection presetting/configuring ntpq
+
+Any option that is not marked as @i{not presettable} may be preset by
+loading values from configuration ("rc" or "ini") files, and values from environment variables named @code{NTPQ} and @code{NTPQ_<OPTION_NAME>}. @code{<OPTION_NAME>} must be one of
+the options listed above in upper case and segmented with underscores.
+The @code{NTPQ} variable will be tokenized and parsed like
+the command line. The remaining variables are tested for existence and their
+values are treated like option arguments.
+
+
+@noindent
+@code{libopts} will search in 2 places for configuration files:
+@itemize @bullet
+@item
+$HOME
+@item
+$PWD
+@end itemize
+The environment variables @code{HOME}, and @code{PWD}
+are expanded and replaced when @file{ntpq} runs.
+For any of these that are plain files, they are simply processed.
+For any that are directories, then a file named @file{.ntprc} is searched for
+within that directory and processed.
+
+Configuration files may be in a wide variety of formats.
+The basic format is an option name followed by a value (argument) on the
+same line. Values may be separated from the option name with a colon,
+equal sign or simply white space. Values may be continued across multiple
+lines by escaping the newline with a backslash.
+
+Multiple programs may also share the same initialization file.
+Common options are collected at the top, followed by program specific
+segments. The segments are separated by lines like:
+@example
+[NTPQ]
+@end example
+@noindent
+or by
+@example
+<?program ntpq>
+@end example
+@noindent
+Do not mix these styles within one configuration file.
+
+Compound values and carefully constructed string values may also be
+specified using XML syntax:
+@example
+<option-name>
+ <sub-opt>...&lt;...&gt;...</sub-opt>
+</option-name>
+@end example
+@noindent
+yielding an @code{option-name.sub-opt} string value of
+@example
+"...<...>..."
+@end example
+@code{AutoOpts} does not track suboptions. You simply note that it is a
+hierarchicly valued option. @code{AutoOpts} does provide a means for searching
+the associated name/value pair list (see: optionFindValue).
+
+The command line options relating to configuration and/or usage help are:
+
+@subsubheading version (-)
+
+Print the program version to standard out, optionally with licensing
+information, then exit 0. The optional argument specifies how much licensing
+detail to provide. The default is to print just the version. The licensing infomation may be selected with an option argument.
+Only the first letter of the argument is examined:
+
+@table @samp
+@item version
+Only print the version. This is the default.
+@item copyright
+Name the copyright usage licensing terms.
+@item verbose
+Print the full copyright usage licensing terms.
+@end table
+
+@node ntpq exit status
+@subsection ntpq exit status
+
+One of the following exit values will be returned:
+@table @samp
+@item 0 (EXIT_SUCCESS)
+Successful program execution.
+@item 1 (EXIT_FAILURE)
+The operation failed or the command syntax was not valid.
+@item 66 (EX_NOINPUT)
+A specified configuration file could not be loaded.
+@item 70 (EX_SOFTWARE)
+libopts had an internal operational error. Please report
+it to autogen-users@@lists.sourceforge.net. Thank you.
+@end table