1@node ntpq Invocation 2@section Invoking ntpq 3@pindex ntpq 4@cindex standard NTP query program 5@ignore 6# 7# EDIT THIS FILE WITH CAUTION (invoke-ntpq.texi) 8# 9# It has been AutoGen-ed January 20, 2016 at 04:19:10 AM by AutoGen 5.18.5 10# From the definitions ntpq-opts.def 11# and the template file agtexi-cmd.tpl 12@end ignore 13 14 15The 16@code{ntpq} 17utility program is used to query NTP servers which 18implement the standard NTP mode 6 control message formats defined 19in Appendix B of the NTPv3 specification RFC1305, requesting 20information about current state and/or changes in that state. 21The same formats are used in NTPv4, although some of the 22variables have changed and new ones added. The description on this 23page is for the NTPv4 variables. 24The program may be run either in interactive mode or controlled using 25command line arguments. 26Requests to read and write arbitrary 27variables can be assembled, with raw and pretty-printed output 28options being available. 29The 30@code{ntpq} 31utility can also obtain and print a 32list of peers in a common format by sending multiple queries to the 33server. 34 35If one or more request options is included on the command line 36when 37@code{ntpq} 38is executed, each of the requests will be sent 39to the NTP servers running on each of the hosts given as command 40line arguments, or on localhost by default. 41If no request options 42are given, 43@code{ntpq} 44will attempt to read commands from the 45standard input and execute these on the NTP server running on the 46first host given on the command line, again defaulting to localhost 47when no other host is specified. 48The 49@code{ntpq} 50utility will prompt for 51commands if the standard input is a terminal device. 52 53@code{ntpq} 54uses NTP mode 6 packets to communicate with the 55NTP server, and hence can be used to query any compatible server on 56the network which permits it. 57Note that since NTP is a UDP protocol 58this communication will be somewhat unreliable, especially over 59large distances in terms of network topology. 60The 61@code{ntpq} 62utility makes 63one attempt to retransmit requests, and will time requests out if 64the remote host is not heard from within a suitable timeout 65time. 66 67Specifying a 68command line option other than 69@code{-i} 70or 71@code{-n} 72will 73cause the specified query (queries) to be sent to the indicated 74host(s) immediately. 75Otherwise, 76@code{ntpq} 77will attempt to read 78interactive format commands from the standard input. 79@subsubsection Internal Commands 80Interactive format commands consist of a keyword followed by zero 81to four arguments. 82Only enough characters of the full keyword to 83uniquely identify the command need be typed. 84 85A 86number of interactive format commands are executed entirely within 87the 88@code{ntpq} 89utility itself and do not result in NTP mode 6 90requests being sent to a server. 91These are described following. 92@table @asis 93@item @code{?} @code{[@kbd{command_keyword}]} 94@item @code{help} @code{[@kbd{command_keyword}]} 95A 96@quoteleft{}?@quoteright{} 97by itself will print a list of all the command 98keywords known to this incarnation of 99@code{ntpq} 100A 101@quoteleft{}?@quoteright{} 102followed by a command keyword will print function and usage 103information about the command. 104This command is probably a better 105source of information about 106@code{ntpq} 107than this manual 108page. 109@item @code{addvars} @kbd{variable_name}@code{[@code{=value}]} @code{...} 110@item @code{rmvars} @kbd{variable_name} @code{...} 111@item @code{clearvars} 112@item @code{showvars} 113The data carried by NTP mode 6 messages consists of a list of 114items of the form 115@quoteleft{}variable_name=value@quoteright{}, 116where the 117@quoteleft{}=value@quoteright{} 118is ignored, and can be omitted, 119in requests to the server to read variables. 120The 121@code{ntpq} 122utility maintains an internal list in which data to be included in control 123messages can be assembled, and sent using the 124@code{readlist} 125and 126@code{writelist} 127commands described below. 128The 129@code{addvars} 130command allows variables and their optional values to be added to 131the list. 132If more than one variable is to be added, the list should 133be comma-separated and not contain white space. 134The 135@code{rmvars} 136command can be used to remove individual variables from the list, 137while the 138@code{clearlist} 139command removes all variables from the 140list. 141The 142@code{showvars} 143command displays the current list of optional variables. 144@item @code{authenticate} @code{[yes | no]} 145Normally 146@code{ntpq} 147does not authenticate requests unless 148they are write requests. 149The command 150@quoteleft{}authenticate yes@quoteright{} 151causes 152@code{ntpq} 153to send authentication with all requests it 154makes. 155Authenticated requests causes some servers to handle 156requests slightly differently, and can occasionally melt the CPU in 157fuzzballs if you turn authentication on before doing a 158@code{peer} 159display. 160The command 161@quoteleft{}authenticate@quoteright{} 162causes 163@code{ntpq} 164to display whether or not 165@code{ntpq} 166is currently autheinticating requests. 167@item @code{cooked} 168Causes output from query commands to be "cooked", so that 169variables which are recognized by 170@code{ntpq} 171will have their 172values reformatted for human consumption. 173Variables which 174@code{ntpq} 175thinks should have a decodable value but didn't are 176marked with a trailing 177@quoteleft{}?@quoteright{}. 178@item @code{debug} @code{[@code{more} | @code{less} | @code{off}]} 179With no argument, displays the current debug level. 180Otherwise, the debug level is changed to the indicated level. 181@item @code{delay} @kbd{milliseconds} 182Specify a time interval to be added to timestamps included in 183requests which require authentication. 184This is used to enable 185(unreliable) server reconfiguration over long delay network paths 186or between machines whose clocks are unsynchronized. 187Actually the 188server does not now require timestamps in authenticated requests, 189so this command may be obsolete. 190@item @code{exit} 191Exit 192@code{ntpq} 193@item @code{host} @kbd{hostname} 194Set the host to which future queries will be sent. 195@kbd{hostname} 196may be either a host name or a numeric address. 197@item @code{hostnames} @code{[@code{yes} | @code{no}]} 198If 199@code{yes} 200is specified, host names are printed in 201information displays. 202If 203@code{no} 204is specified, numeric 205addresses are printed instead. 206The default is 207@code{yes}, 208unless 209modified using the command line 210@code{-n} 211switch. 212@item @code{keyid} @kbd{keyid} 213This command allows the specification of a key number to be 214used to authenticate configuration requests. 215This must correspond 216to the 217@code{controlkey} 218key number the server has been configured to use for this 219purpose. 220@item @code{keytype} @code{[@code{md5} | @code{OpenSSLDigestType}]} 221Specify the type of key to use for authenticating requests. 222@code{md5} 223is alway supported. 224If 225@code{ntpq} 226was built with OpenSSL support, 227any digest type supported by OpenSSL can also be provided. 228If no argument is given, the current 229@code{keytype} 230is displayed. 231@item @code{ntpversion} @code{[@code{1} | @code{2} | @code{3} | @code{4}]} 232Sets the NTP version number which 233@code{ntpq} 234claims in 235packets. 236Defaults to 3, and note that mode 6 control messages (and 237modes, for that matter) didn't exist in NTP version 1. 238There appear 239to be no servers left which demand version 1. 240With no argument, displays the current NTP version that will be used 241when communicating with servers. 242@item @code{passwd} 243This command prompts you to type in a password (which will not 244be echoed) which will be used to authenticate configuration 245requests. 246The password must correspond to the key configured for 247use by the NTP server for this purpose if such requests are to be 248successful. 249@code{poll} 250@kbd{n} 251@code{verbose} 252@item @code{quit} 253Exit 254@code{ntpq} 255@item @code{raw} 256Causes all output from query commands is printed as received 257from the remote server. 258The only formating/interpretation done on 259the data is to transform nonascii data into a printable (but barely 260understandable) form. 261@item @code{timeout} @kbd{milliseconds} 262Specify a timeout period for responses to server queries. 263The 264default is about 5000 milliseconds. 265Note that since 266@code{ntpq} 267retries each query once after a timeout, the total waiting time for 268a timeout will be twice the timeout value set. 269@item @code{version} 270Print the version of the 271@code{ntpq} 272program. 273@end table 274 275@subsubsection Control Message Commands 276Association IDs are used to identify system, peer and clock variables. 277System variables are assigned an association ID of zero and system name space, while each association is assigned a nonzero association ID and peer namespace. 278Most control commands send a single mode-6 message to the server and expect a single response message. 279The exceptions are the 280@code{peers} 281command, which sends a series of messages, 282and the 283@code{mreadlist} 284and 285@code{mreadvar} 286commands, which iterate over a range of associations. 287@table @asis 288@item @code{associations} 289Display a list of mobilized associations in the form: 290@example 291ind assid status conf reach auth condition last_event cnt 292@end example 293@table @asis 294@item Sy String Ta Sy Description 295@item @code{ind} @code{Ta} @code{index} @code{on} @code{this} @code{list} 296@item @code{assid} @code{Ta} @code{association} @code{ID} 297@item @code{status} @code{Ta} @code{peer} @code{status} @code{word} 298@item @code{conf} @code{Ta} @code{yes}: @code{persistent,} @code{no}: @code{ephemeral} 299@item @code{reach} @code{Ta} @code{yes}: @code{reachable,} @code{no}: @code{unreachable} 300@item @code{auth} @code{Ta} @code{ok}, @code{yes}, @code{bad} @code{and} @code{none} 301@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)} 302@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)} 303@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)} 304@end table 305@item @code{authinfo} 306Display the authentication statistics. 307@item @code{clockvar} @kbd{assocID} @code{[@kbd{name}@code{[@code{=}@kbd{value}]}]} @code{[...]} 308@item @code{cv} @kbd{assocID} @code{[@kbd{name}@code{[@code{=}@kbd{value}]}]} @code{[...]} 309Display a list of clock variables for those associations supporting a reference clock. 310@item @code{:config} @code{[...]} 311Send 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. 312@item @code{config-from-file} @kbd{filename} 313Send the each line of 314@kbd{filename} 315to 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. 316@item @code{ifstats} 317Display statistics for each local network address. Authentication is required. 318@item @code{iostats} 319Display network and reference clock I/O statistics. 320@item @code{kerninfo} 321Display 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. 322@item @code{lassociations} 323Perform the same function as the associations command, except display mobilized and unmobilized associations. 324@item @code{lopeers} @code{[@code{-4} | @code{-6}]} 325Obtain and print a list of all peers and clients showing 326@kbd{dstadr} 327(associated with any given IP version). 328@item @code{lpeers} @code{[@code{-4} | @code{-6}]} 329Print a peer spreadsheet for the appropriate IP version(s). 330@kbd{dstadr} 331(associated with any given IP version). 332@item @code{monstats} 333Display monitor facility statistics. 334@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}]} 335Obtain and print traffic counts collected and maintained by the monitor facility. 336With the exception of 337@code{sort}=@kbd{sortorder}, 338the options filter the list returned by 339@code{ntpd.} 340The 341@code{limited} 342and 343@code{kod} 344options return only entries representing client addresses from which the last packet received triggered either discarding or a KoD response. 345The 346@code{mincount}=@kbd{count} 347option filters entries representing less than 348@kbd{count} 349packets. 350The 351@code{laddr}=@kbd{localaddr} 352option filters entries for packets received on any local address other than 353@kbd{localaddr}. 354@code{resany}=@kbd{hexmask} 355and 356@code{resall}=@kbd{hexmask} 357filter entries containing none or less than all, respectively, of the bits in 358@kbd{hexmask}, 359which must begin with 360@code{0x}. 361The 362@kbd{sortorder} 363defaults to 364@code{lstint} 365and may be any of 366@code{addr}, 367@code{count}, 368@code{avgint}, 369@code{lstint}, 370or any of those preceded by a minus sign (hyphen) to reverse the sort order. 371The output columns are: 372@table @asis 373@item Column 374Description 375@item @code{lstint} 376Interval in s between the receipt of the most recent packet from this address and the completion of the retrieval of the MRU list by 377@code{ntpq} 378@item @code{avgint} 379Average interval in s between packets from this address. 380@item @code{rstr} 381Restriction flags associated with this address. 382Most are copied unchanged from the matching 383@code{restrict} 384command, however 0x400 (kod) and 0x20 (limited) flags are cleared unless the last packet from this address triggered a rate control response. 385@item @code{r} 386Rate control indicator, either 387a period, 388@code{L} 389or 390@code{K} 391for no rate control response, 392rate limiting by discarding, or rate limiting with a KoD response, respectively. 393@item @code{m} 394Packet mode. 395@item @code{v} 396Packet version number. 397@item @code{count} 398Packets received from this address. 399@item @code{rport} 400Source port of last packet from this address. 401@item @code{remote} @code{address} 402DNS name, numeric address, or address followed by 403claimed DNS name which could not be verified in parentheses. 404@end table 405@item @code{mreadvar} @code{assocID} @code{assocID} @code{[@kbd{variable_name}@code{[=@kbd{value}]} ...]} 406@item @code{mrv} @code{assocID} @code{assocID} @code{[@kbd{variable_name}@code{[=@kbd{value}]} ...]} 407Perform the same function as the 408@code{readvar} 409command, except for a range of association IDs. 410This range is determined from the association list cached by the most recent 411@code{associations} 412command. 413@item @code{opeers} @code{[@code{-4} | @code{-6}]} 414Obtain and print the old-style list of all peers and clients showing 415@kbd{dstadr} 416(associated with any given IP version), 417rather than the 418@kbd{refid}. 419@item @code{passociations} 420Perform the same function as the 421@code{associations} 422command, 423except that it uses previously stored data rather than making a new query. 424@item @code{peers} 425Display a list of peers in the form: 426@example 427[tally]remote refid st t when pool reach delay offset jitter 428@end example 429@table @asis 430@item Variable 431Description 432@item @code{[tally]} 433single-character code indicating current value of the 434@code{select} 435field of the 436.Lk decode.html#peer "peer status word" 437@item @code{remote} 438host name (or IP number) of peer. 439The value displayed will be truncated to 15 characters unless the 440@code{-w} 441flag is given, in which case the full value will be displayed 442on the first line, 443and the remaining data is displayed on the next line. 444@item @code{refid} 445association ID or 446.Lk decode.html#kiss "'kiss code" 447@item @code{st} 448stratum 449@item @code{t} 450@code{u}: 451unicast or manycast client, 452@code{b}: 453broadcast or multicast client, 454@code{l}: 455local (reference clock), 456@code{s}: 457symmetric (peer), 458@code{A}: 459manycast server, 460@code{B}: 461broadcast server, 462@code{M}: 463multicast server 464@item @code{when} 465sec/min/hr since last received packet 466@item @code{poll} 467poll interval (log2 s) 468@item @code{reach} 469reach shift register (octal) 470@item @code{delay} 471roundtrip delay 472@item @code{offset} 473offset of server relative to this host 474@item @code{jitter} 475jitter 476@end table 477@item @code{apeers} 478Display a list of peers in the form: 479@example 480[tally]remote refid assid st t when pool reach delay offset jitter 481@end example 482where the output is just like the 483@code{peers} 484command except that the 485@code{refid} 486is displayed in hex format and the association number is also displayed. 487@item @code{pstats} @kbd{assocID} 488Show the statistics for the peer with the given 489@kbd{assocID}. 490@item @code{readlist} @kbd{assocID} 491@item @code{rl} @kbd{assocID} 492Read the system or peer variables included in the variable list. 493@item @code{readvar} @kbd{assocID} @kbd{name}@code{[=@kbd{value}]} @code{[, ...]} 494@item @code{rv} @kbd{assocID} @kbd{name}@code{[=@kbd{value}]} @code{[, ...]} 495Display the specified variables. 496If 497@kbd{assocID} 498is zero, the variables are from the 499@ref{System Variables} 500name space, otherwise they are from the 501@ref{Peer Variables} 502name space. 503The 504@kbd{assocID} 505is required, as the same name can occur in both spaces. 506If no 507@kbd{name} 508is included, all operative variables in the name space are displayed. 509 510In this case only, if the 511@kbd{assocID} 512is omitted, it is assumed zero. 513Multiple names are specified with comma separators and without whitespace. 514Note that time values are represented in milliseconds 515and frequency values in parts-per-million (PPM). 516Some NTP timestamps are represented in the format 517YYYYMMDDTTTT , 518where YYYY is the year, 519MM the month of year, 520DD the day of month and 521TTTT the time of day. 522@item @code{reslist} 523Show the access control (restrict) list for 524@code{ntpq} 525 526@item @code{saveconfig} @kbd{filename} 527Write the current configuration, 528including any runtime modifications given with 529@code{:config} 530or 531@code{config-from-file}, 532to the ntpd host's file 533@kbd{filename}. 534This command will be rejected by the server unless 535.Lk miscopt.html#saveconfigdir "saveconfigdir" 536appears in the 537@code{ntpd} 538configuration file. 539@kbd{filename} 540can use 541@code{strftime()} 542format specifies to substitute the current date and time, for example, 543@code{q]saveconfig} @code{ntp-%Y%m%d-%H%M%S.confq]}. 544The filename used is stored in system variable 545@code{savedconfig}. 546Authentication is required. 547@item @code{timerstats} 548Display interval timer counters. 549@item @code{writelist} @kbd{assocID} 550Write the system or peer variables included in the variable list. 551@item @code{writevar} @kbd{assocID} @kbd{name}=@kbd{value} @code{[, ...]} 552Write the specified variables. 553If the 554@kbd{assocID} 555is zero, the variables are from the 556@ref{System Variables} 557name space, otherwise they are from the 558@ref{Peer Variables} 559name space. 560The 561@kbd{assocID} 562is required, as the same name can occur in both spaces. 563@item @code{sysinfo} 564Display operational summary. 565@item @code{sysstats} 566Print statistics counters maintained in the protocol module. 567@end table 568 569@subsubsection Status Words and Kiss Codes 570 571The current state of the operating program is shown 572in a set of status words 573maintained by the system. 574Status information is also available on a per-association basis. 575These words are displayed in the 576@code{rv} 577and 578@code{as} 579commands both in hexadecimal and in decoded short tip strings. 580The codes, tips and short explanations are documented on the 581.Lk decode.html "Event Messages and Status Words" 582page. 583The page also includes a list of system and peer messages, 584the code for the latest of which is included in the status word. 585 586Information resulting from protocol machine state transitions 587is displayed using an informal set of ASCII strings called 588.Lk decode.html#kiss "kiss codes" . 589The original purpose was for kiss-o'-death (KoD) packets 590sent by the server to advise the client of an unusual condition. 591They are now displayed, when appropriate, 592in the reference identifier field in various billboards. 593 594@subsubsection System Variables 595The following system variables appear in the 596@code{rv} 597billboard. 598Not all variables are displayed in some configurations. 599@table @asis 600@item Variable 601Description 602@item @code{status} 603.Lk decode.html#sys "system status word" 604@item @code{version} 605NTP software version and build time 606@item @code{processor} 607hardware platform and version 608@item @code{system} 609operating system and version 610@item @code{leap} 611leap warning indicator (0-3) 612@item @code{stratum} 613stratum (1-15) 614@item @code{precision} 615precision (log2 s) 616@item @code{rootdelay} 617total roundtrip delay to the primary reference clock 618@item @code{rootdisp} 619total dispersion to the primary reference clock 620@item @code{peer} 621system peer association ID 622@item @code{tc} 623time constant and poll exponent (log2 s) (3-17) 624@item @code{mintc} 625minimum time constant (log2 s) (3-10) 626@item @code{clock} 627date and time of day 628@item @code{refid} 629reference ID or 630.Lk decode.html#kiss "kiss code" 631@item @code{reftime} 632reference time 633@item @code{offset} 634combined offset of server relative to this host 635@item @code{sys_jitter} 636combined system jitter 637@item @code{frequency} 638frequency offset (PPM) relative to hardware clock 639@item @code{clk_wander} 640clock frequency wander (PPM) 641@item @code{clk_jitter} 642clock jitter 643@item @code{tai} 644TAI-UTC offset (s) 645@item @code{leapsec} 646NTP seconds when the next leap second is/was inserted 647@item @code{expire} 648NTP seconds when the NIST leapseconds file expires 649@end table 650The jitter and wander statistics are exponentially-weighted RMS averages. 651The system jitter is defined in the NTPv4 specification; 652the clock jitter statistic is computed by the clock discipline module. 653 654When the NTPv4 daemon is compiled with the OpenSSL software library, 655additional system variables are displayed, 656including some or all of the following, 657depending on the particular Autokey dance: 658 659@table @asis 660@item Variable 661Description 662@item @code{host} 663Autokey host name for this host 664@item @code{ident} 665Autokey group name for this host 666@item @code{flags} 667host flags (see Autokey specification) 668@item @code{digest} 669OpenSSL message digest algorithm 670@item @code{signature} 671OpenSSL digest/signature scheme 672@item @code{update} 673NTP seconds at last signature update 674@item @code{cert} 675certificate subject, issuer and certificate flags 676@item @code{until} 677NTP seconds when the certificate expires 678@end table 679@subsubsection Peer Variables 680The following peer variables appear in the 681@code{rv} 682billboard for each association. 683Not all variables are displayed in some configurations. 684 685@table @asis 686@item Variable 687Description 688@item @code{associd} 689association ID 690@item @code{status} 691.Lk decode.html#peer "peer status word" 692@item @code{srcadr} 693source (remote) IP address 694@item @code{srcport} 695source (remote) port 696@item @code{dstadr} 697destination (local) IP address 698@item @code{dstport} 699destination (local) port 700@item @code{leap} 701leap indicator (0-3) 702@item @code{stratum} 703stratum (0-15) 704@item @code{precision} 705precision (log2 s) 706@item @code{rootdelay} 707total roundtrip delay to the primary reference clock 708@item @code{rootdisp} 709total root dispersion to the primary reference clock 710@item @code{refid} 711reference ID or 712.Lk decode.html#kiss "kiss code" 713@item @code{reftime} 714reference time 715@item @code{reach} 716reach register (octal) 717@item @code{unreach} 718unreach counter 719@item @code{hmode} 720host mode (1-6) 721@item @code{pmode} 722peer mode (1-5) 723@item @code{hpoll} 724host poll exponent (log2 s) (3-17) 725@item @code{ppoll} 726peer poll exponent (log2 s) (3-17) 727@item @code{headway} 728headway (see 729.Lk rate.html "Rate Management and the Kiss-o'-Death Packet" ) 730@item @code{flash} 731.Lk decode.html#flash "flash status word" 732@item @code{offset} 733filter offset 734@item @code{delay} 735filter delay 736@item @code{dispersion} 737filter dispersion 738@item @code{jitter} 739filter jitter 740@item @code{ident} 741Autokey group name for this association 742@item @code{bias} 743unicast/broadcast bias 744@item @code{xleave} 745interleave delay (see 746.Lk xleave.html "NTP Interleaved Modes" ) 747@end table 748The 749@code{bias} 750variable is calculated when the first broadcast packet is received 751after the calibration volley. 752It represents the offset of the broadcast subgraph relative to the unicast subgraph. 753The 754@code{xleave} 755variable appears only for the interleaved symmetric and interleaved modes. 756It represents the internal queuing, buffering and transmission delays 757for the preceding packet. 758 759When the NTPv4 daemon is compiled with the OpenSSL software library, 760additional peer variables are displayed, including the following: 761@table @asis 762@item Variable 763Description 764@item @code{flags} 765peer flags (see Autokey specification) 766@item @code{host} 767Autokey server name 768@item @code{flags} 769peer flags (see Autokey specification) 770@item @code{signature} 771OpenSSL digest/signature scheme 772@item @code{initsequence} 773initial key ID 774@item @code{initkey} 775initial key index 776@item @code{timestamp} 777Autokey signature timestamp 778@end table 779 780@subsubsection Clock Variables 781The following clock variables appear in the 782@code{cv} 783billboard for each association with a reference clock. 784Not all variables are displayed in some configurations. 785@table @asis 786@item Variable 787Description 788@item @code{associd} 789association ID 790@item @code{status} 791.Lk decode.html#clock "clock status word" 792@item @code{device} 793device description 794@item @code{timecode} 795ASCII time code string (specific to device) 796@item @code{poll} 797poll messages sent 798@item @code{noreply} 799no reply 800@item @code{badformat} 801bad format 802@item @code{baddata} 803bad date or time 804@item @code{fudgetime1} 805fudge time 1 806@item @code{fudgetime2} 807fudge time 2 808@item @code{stratum} 809driver stratum 810@item @code{refid} 811driver reference ID 812@item @code{flags} 813driver flags 814@end table 815 816This section was generated by @strong{AutoGen}, 817using the @code{agtexi-cmd} template and the option descriptions for the @code{ntpq} program. 818This software is released under the NTP license, <http://ntp.org/license>. 819 820@menu 821* ntpq usage:: ntpq help/usage (@option{--help}) 822* ntpq ipv4:: ipv4 option (-4) 823* ntpq ipv6:: ipv6 option (-6) 824* ntpq command:: command option (-c) 825* ntpq interactive:: interactive option (-i) 826* ntpq numeric:: numeric option (-n) 827* ntpq old-rv:: old-rv option 828* ntpq peers:: peers option (-p) 829* ntpq wide:: wide option (-w) 830* ntpq config:: presetting/configuring ntpq 831* ntpq exit status:: exit status 832@end menu 833 834@node ntpq usage 835@subsection ntpq help/usage (@option{--help}) 836@cindex ntpq help 837 838This is the automatically generated usage text for ntpq. 839 840The text printed is the same whether selected with the @code{help} option 841(@option{--help}) or the @code{more-help} option (@option{--more-help}). @code{more-help} will print 842the usage text by passing it through a pager program. 843@code{more-help} is disabled on platforms without a working 844@code{fork(2)} function. The @code{PAGER} environment variable is 845used to select the program, defaulting to @file{more}. Both will exit 846with a status code of 0. 847 848@exampleindent 0 849@example 850ntpq - standard NTP query program - Ver. 4.2.8p6 851Usage: ntpq [ -<flag> [<val>] | --<name>[@{=| @}<val>] ]... [ host ...] 852 Flg Arg Option-Name Description 853 -4 no ipv4 Force IPv4 DNS name resolution 854 - prohibits the option 'ipv6' 855 -6 no ipv6 Force IPv6 DNS name resolution 856 - prohibits the option 'ipv4' 857 -c Str command run a command and exit 858 - may appear multiple times 859 -d no debug-level Increase debug verbosity level 860 - may appear multiple times 861 -D Num set-debug-level Set the debug verbosity level 862 - may appear multiple times 863 -i no interactive Force ntpq to operate in interactive mode 864 - prohibits these options: 865 command 866 peers 867 -n no numeric numeric host addresses 868 no old-rv Always output status line with readvar 869 -p no peers Print a list of the peers 870 - prohibits the option 'interactive' 871 -w no wide Display the full 'remote' value 872 opt version output version information and exit 873 -? no help display extended usage information and exit 874 -! no more-help extended usage information passed thru pager 875 -> opt save-opts save the option state to a config file 876 -< Str load-opts load options from a config file 877 - disabled as '--no-load-opts' 878 - may appear multiple times 879 880Options are specified by doubled hyphens and their name or by a single 881hyphen and the flag character. 882 883The following option preset mechanisms are supported: 884 - reading file $HOME/.ntprc 885 - reading file ./.ntprc 886 - examining environment variables named NTPQ_* 887 888Please send bug reports to: <http://bugs.ntp.org, bugs@@ntp.org> 889@end example 890@exampleindent 4 891 892@node ntpq ipv4 893@subsection ipv4 option (-4) 894@cindex ntpq-ipv4 895 896This is the ``force ipv4 dns name resolution'' option. 897 898@noindent 899This option has some usage constraints. It: 900@itemize @bullet 901@item 902must not appear in combination with any of the following options: 903ipv6. 904@end itemize 905 906Force DNS resolution of following host names on the command line 907to the IPv4 namespace. 908@node ntpq ipv6 909@subsection ipv6 option (-6) 910@cindex ntpq-ipv6 911 912This is the ``force ipv6 dns name resolution'' option. 913 914@noindent 915This option has some usage constraints. It: 916@itemize @bullet 917@item 918must not appear in combination with any of the following options: 919ipv4. 920@end itemize 921 922Force DNS resolution of following host names on the command line 923to the IPv6 namespace. 924@node ntpq command 925@subsection command option (-c) 926@cindex ntpq-command 927 928This is the ``run a command and exit'' option. 929This option takes a string argument @file{cmd}. 930 931@noindent 932This option has some usage constraints. It: 933@itemize @bullet 934@item 935may appear an unlimited number of times. 936@end itemize 937 938The following argument is interpreted as an interactive format command 939and is added to the list of commands to be executed on the specified 940host(s). 941@node ntpq interactive 942@subsection interactive option (-i) 943@cindex ntpq-interactive 944 945This is the ``force ntpq to operate in interactive mode'' option. 946 947@noindent 948This option has some usage constraints. It: 949@itemize @bullet 950@item 951must not appear in combination with any of the following options: 952command, peers. 953@end itemize 954 955Force @code{ntpq} to operate in interactive mode. 956Prompts will be written to the standard output and 957commands read from the standard input. 958@node ntpq numeric 959@subsection numeric option (-n) 960@cindex ntpq-numeric 961 962This is the ``numeric host addresses'' option. 963Output all host addresses in dotted-quad numeric format rather than 964converting to the canonical host names. 965@node ntpq old-rv 966@subsection old-rv option 967@cindex ntpq-old-rv 968 969This is the ``always output status line with readvar'' option. 970By default, @code{ntpq} now suppresses the @code{associd=...} 971line that precedes the output of @code{readvar} 972(alias @code{rv}) when a single variable is requested, such as 973@code{ntpq -c "rv 0 offset"}. 974This option causes @code{ntpq} to include both lines of output 975for a single-variable @code{readvar}. 976Using an environment variable to 977preset this option in a script will enable both older and 978newer @code{ntpq} to behave identically in this regard. 979@node ntpq peers 980@subsection peers option (-p) 981@cindex ntpq-peers 982 983This is the ``print a list of the peers'' option. 984 985@noindent 986This option has some usage constraints. It: 987@itemize @bullet 988@item 989must not appear in combination with any of the following options: 990interactive. 991@end itemize 992 993Print a list of the peers known to the server as well as a summary 994of their state. This is equivalent to the 'peers' interactive command. 995@node ntpq wide 996@subsection wide option (-w) 997@cindex ntpq-wide 998 999This is the ``display the full 'remote' value'' option. 1000Display the full value of the 'remote' value. If this requires 1001more than 15 characters, display the full value, emit a newline, 1002and continue the data display properly indented on the next line. 1003 1004 1005@node ntpq config 1006@subsection presetting/configuring ntpq 1007 1008Any option that is not marked as @i{not presettable} may be preset by 1009loading 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 1010the options listed above in upper case and segmented with underscores. 1011The @code{NTPQ} variable will be tokenized and parsed like 1012the command line. The remaining variables are tested for existence and their 1013values are treated like option arguments. 1014 1015 1016@noindent 1017@code{libopts} will search in 2 places for configuration files: 1018@itemize @bullet 1019@item 1020$HOME 1021@item 1022$PWD 1023@end itemize 1024The environment variables @code{HOME}, and @code{PWD} 1025are expanded and replaced when @file{ntpq} runs. 1026For any of these that are plain files, they are simply processed. 1027For any that are directories, then a file named @file{.ntprc} is searched for 1028within that directory and processed. 1029 1030Configuration files may be in a wide variety of formats. 1031The basic format is an option name followed by a value (argument) on the 1032same line. Values may be separated from the option name with a colon, 1033equal sign or simply white space. Values may be continued across multiple 1034lines by escaping the newline with a backslash. 1035 1036Multiple programs may also share the same initialization file. 1037Common options are collected at the top, followed by program specific 1038segments. The segments are separated by lines like: 1039@example 1040[NTPQ] 1041@end example 1042@noindent 1043or by 1044@example 1045<?program ntpq> 1046@end example 1047@noindent 1048Do not mix these styles within one configuration file. 1049 1050Compound values and carefully constructed string values may also be 1051specified using XML syntax: 1052@example 1053<option-name> 1054 <sub-opt>...<...>...</sub-opt> 1055</option-name> 1056@end example 1057@noindent 1058yielding an @code{option-name.sub-opt} string value of 1059@example 1060"...<...>..." 1061@end example 1062@code{AutoOpts} does not track suboptions. You simply note that it is a 1063hierarchicly valued option. @code{AutoOpts} does provide a means for searching 1064the associated name/value pair list (see: optionFindValue). 1065 1066The command line options relating to configuration and/or usage help are: 1067 1068@subsubheading version (-) 1069 1070Print the program version to standard out, optionally with licensing 1071information, then exit 0. The optional argument specifies how much licensing 1072detail to provide. The default is to print just the version. The licensing infomation may be selected with an option argument. 1073Only the first letter of the argument is examined: 1074 1075@table @samp 1076@item version 1077Only print the version. This is the default. 1078@item copyright 1079Name the copyright usage licensing terms. 1080@item verbose 1081Print the full copyright usage licensing terms. 1082@end table 1083 1084@node ntpq exit status 1085@subsection ntpq exit status 1086 1087One of the following exit values will be returned: 1088@table @samp 1089@item 0 (EXIT_SUCCESS) 1090Successful program execution. 1091@item 1 (EXIT_FAILURE) 1092The operation failed or the command syntax was not valid. 1093@item 66 (EX_NOINPUT) 1094A specified configuration file could not be loaded. 1095@item 70 (EX_SOFTWARE) 1096libopts had an internal operational error. Please report 1097it to autogen-users@@lists.sourceforge.net. Thank you. 1098@end table 1099