"Fossies" - the Fresh Open Source Software Archive

Member "ntp-4.2.8p15/ntpd/ntpd-opts.h" (23 Jun 2020, 14922 Bytes) of package /linux/misc/ntp-4.2.8p15.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "ntpd-opts.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 4.2.8p14_vs_4.2.8p15.

    1 /*
    2  *  EDIT THIS FILE WITH CAUTION  (ntpd-opts.h)
    3  *
    4  *  It has been AutoGen-ed  June 23, 2020 at 02:20:04 AM by AutoGen 5.18.5
    5  *  From the definitions    ntpd-opts.def
    6  *  and the template file   options
    7  *
    8  * Generated from AutoOpts 41:1:16 templates.
    9  *
   10  *  AutoOpts is a copyrighted work.  This header file is not encumbered
   11  *  by AutoOpts licensing, but is provided under the licensing terms chosen
   12  *  by the ntpd author or copyright holder.  AutoOpts is
   13  *  licensed under the terms of the LGPL.  The redistributable library
   14  *  (``libopts'') is licensed under the terms of either the LGPL or, at the
   15  *  users discretion, the BSD license.  See the AutoOpts and/or libopts sources
   16  *  for details.
   17  *
   18  * The ntpd program is copyrighted and licensed
   19  * under the following terms:
   20  *
   21  *  Copyright (C) 1992-2020 The University of Delaware and Network Time Foundation, all rights reserved.
   22  *  This is free software. It is licensed for use, modification and
   23  *  redistribution under the terms of the NTP License, copies of which
   24  *  can be seen at:
   25  *    <http://ntp.org/license>
   26  *    <http://opensource.org/licenses/ntp-license.php>
   27  *
   28  *  Permission to use, copy, modify, and distribute this software and its
   29  *  documentation for any purpose with or without fee is hereby granted,
   30  *  provided that the above copyright notice appears in all copies and that
   31  *  both the copyright notice and this permission notice appear in
   32  *  supporting documentation, and that the name The University of Delaware not be used in
   33  *  advertising or publicity pertaining to distribution of the software
   34  *  without specific, written prior permission. The University of Delaware and Network Time Foundation makes no
   35  *  representations about the suitability this software for any purpose. It
   36  *  is provided "as is" without express or implied warranty.
   37  */
   38 /**
   39  *  This file contains the programmatic interface to the Automated
   40  *  Options generated for the ntpd program.
   41  *  These macros are documented in the AutoGen info file in the
   42  *  "AutoOpts" chapter.  Please refer to that doc for usage help.
   43  */
   44 #ifndef AUTOOPTS_NTPD_OPTS_H_GUARD
   45 #define AUTOOPTS_NTPD_OPTS_H_GUARD 1
   46 #include "config.h"
   47 #include <autoopts/options.h>
   48 
   49 /**
   50  *  Ensure that the library used for compiling this generated header is at
   51  *  least as new as the version current when the header template was released
   52  *  (not counting patch version increments).  Also ensure that the oldest
   53  *  tolerable version is at least as old as what was current when the header
   54  *  template was released.
   55  */
   56 #define AO_TEMPLATE_VERSION 167937
   57 #if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \
   58  || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION)
   59 # error option template version mismatches autoopts/options.h header
   60   Choke Me.
   61 #endif
   62 
   63 /**
   64  *  Enumeration of each option type for ntpd
   65  */
   66 typedef enum {
   67     INDEX_OPT_IPV4              =  0,
   68     INDEX_OPT_IPV6              =  1,
   69     INDEX_OPT_AUTHREQ           =  2,
   70     INDEX_OPT_AUTHNOREQ         =  3,
   71     INDEX_OPT_BCASTSYNC         =  4,
   72     INDEX_OPT_CONFIGFILE        =  5,
   73     INDEX_OPT_DEBUG_LEVEL       =  6,
   74     INDEX_OPT_SET_DEBUG_LEVEL   =  7,
   75     INDEX_OPT_DRIFTFILE         =  8,
   76     INDEX_OPT_PANICGATE         =  9,
   77     INDEX_OPT_FORCE_STEP_ONCE   = 10,
   78     INDEX_OPT_JAILDIR           = 11,
   79     INDEX_OPT_INTERFACE         = 12,
   80     INDEX_OPT_KEYFILE           = 13,
   81     INDEX_OPT_LOGFILE           = 14,
   82     INDEX_OPT_NOVIRTUALIPS      = 15,
   83     INDEX_OPT_MODIFYMMTIMER     = 16,
   84     INDEX_OPT_NOFORK            = 17,
   85     INDEX_OPT_NICE              = 18,
   86     INDEX_OPT_PIDFILE           = 19,
   87     INDEX_OPT_PRIORITY          = 20,
   88     INDEX_OPT_QUIT              = 21,
   89     INDEX_OPT_PROPAGATIONDELAY  = 22,
   90     INDEX_OPT_SAVECONFIGQUIT    = 23,
   91     INDEX_OPT_STATSDIR          = 24,
   92     INDEX_OPT_TRUSTEDKEY        = 25,
   93     INDEX_OPT_USER              = 26,
   94     INDEX_OPT_UPDATEINTERVAL    = 27,
   95     INDEX_OPT_VAR               = 28,
   96     INDEX_OPT_DVAR              = 29,
   97     INDEX_OPT_WAIT_SYNC         = 30,
   98     INDEX_OPT_SLEW              = 31,
   99     INDEX_OPT_USEPCC            = 32,
  100     INDEX_OPT_PCCFREQ           = 33,
  101     INDEX_OPT_MDNS              = 34,
  102     INDEX_OPT_VERSION           = 35,
  103     INDEX_OPT_HELP              = 36,
  104     INDEX_OPT_MORE_HELP         = 37
  105 } teOptIndex;
  106 /** count of all options for ntpd */
  107 #define OPTION_CT    38
  108 /** ntpd version */
  109 #define NTPD_VERSION       "4.2.8p15"
  110 /** Full ntpd version text */
  111 #define NTPD_FULL_VERSION  "ntpd 4.2.8p15"
  112 
  113 /**
  114  *  Interface defines for all options.  Replace "n" with the UPPER_CASED
  115  *  option name (as in the teOptIndex enumeration above).
  116  *  e.g. HAVE_OPT(IPV4)
  117  */
  118 #define         DESC(n) (ntpdOptions.pOptDesc[INDEX_OPT_## n])
  119 /** 'true' if an option has been specified in any way */
  120 #define     HAVE_OPT(n) (! UNUSED_OPT(& DESC(n)))
  121 /** The string argument to an option. The argument type must be \"string\". */
  122 #define      OPT_ARG(n) (DESC(n).optArg.argString)
  123 /** Mask the option state revealing how an option was specified.
  124  *  It will be one and only one of \a OPTST_SET, \a OPTST_PRESET,
  125  * \a OPTST_DEFINED, \a OPTST_RESET or zero.
  126  */
  127 #define    STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK)
  128 /** Count of option's occurrances *on the command line*. */
  129 #define    COUNT_OPT(n) (DESC(n).optOccCt)
  130 /** mask of \a OPTST_SET and \a OPTST_DEFINED. */
  131 #define    ISSEL_OPT(n) (SELECTED_OPT(&DESC(n)))
  132 /** 'true' if \a HAVE_OPT would yield 'false'. */
  133 #define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n)))
  134 /** 'true' if OPTST_DISABLED bit not set. */
  135 #define  ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n)))
  136 /** number of stacked option arguments.
  137  *  Valid only for stacked option arguments. */
  138 #define  STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt)
  139 /** stacked argument vector.
  140  *  Valid only for stacked option arguments. */
  141 #define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs)
  142 /** Reset an option. */
  143 #define    CLEAR_OPT(n) STMTS( \
  144                 DESC(n).fOptState &= OPTST_PERSISTENT_MASK;   \
  145                 if ((DESC(n).fOptState & OPTST_INITENABLED) == 0) \
  146                     DESC(n).fOptState |= OPTST_DISABLED; \
  147                 DESC(n).optCookie = NULL )
  148 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  149 /**
  150  *  Enumeration of ntpd exit codes
  151  */
  152 typedef enum {
  153     NTPD_EXIT_SUCCESS         = 0,
  154     NTPD_EXIT_FAILURE         = 1,
  155     NTPD_EXIT_USAGE_ERROR     = 64,
  156     NTPD_EXIT_LIBOPTS_FAILURE = 70
  157 }   ntpd_exit_code_t;
  158 /** @} */
  159 /**
  160  *  Make sure there are no #define name conflicts with the option names
  161  */
  162 #ifndef     NO_OPTION_NAME_WARNINGS
  163 # ifdef    IPV4
  164 #  warning undefining IPV4 due to option name conflict
  165 #  undef   IPV4
  166 # endif
  167 # ifdef    IPV6
  168 #  warning undefining IPV6 due to option name conflict
  169 #  undef   IPV6
  170 # endif
  171 # ifdef    AUTHREQ
  172 #  warning undefining AUTHREQ due to option name conflict
  173 #  undef   AUTHREQ
  174 # endif
  175 # ifdef    AUTHNOREQ
  176 #  warning undefining AUTHNOREQ due to option name conflict
  177 #  undef   AUTHNOREQ
  178 # endif
  179 # ifdef    BCASTSYNC
  180 #  warning undefining BCASTSYNC due to option name conflict
  181 #  undef   BCASTSYNC
  182 # endif
  183 # ifdef    CONFIGFILE
  184 #  warning undefining CONFIGFILE due to option name conflict
  185 #  undef   CONFIGFILE
  186 # endif
  187 # ifdef    DEBUG_LEVEL
  188 #  warning undefining DEBUG_LEVEL due to option name conflict
  189 #  undef   DEBUG_LEVEL
  190 # endif
  191 # ifdef    SET_DEBUG_LEVEL
  192 #  warning undefining SET_DEBUG_LEVEL due to option name conflict
  193 #  undef   SET_DEBUG_LEVEL
  194 # endif
  195 # ifdef    DRIFTFILE
  196 #  warning undefining DRIFTFILE due to option name conflict
  197 #  undef   DRIFTFILE
  198 # endif
  199 # ifdef    PANICGATE
  200 #  warning undefining PANICGATE due to option name conflict
  201 #  undef   PANICGATE
  202 # endif
  203 # ifdef    FORCE_STEP_ONCE
  204 #  warning undefining FORCE_STEP_ONCE due to option name conflict
  205 #  undef   FORCE_STEP_ONCE
  206 # endif
  207 # ifdef    JAILDIR
  208 #  warning undefining JAILDIR due to option name conflict
  209 #  undef   JAILDIR
  210 # endif
  211 # ifdef    INTERFACE
  212 #  warning undefining INTERFACE due to option name conflict
  213 #  undef   INTERFACE
  214 # endif
  215 # ifdef    KEYFILE
  216 #  warning undefining KEYFILE due to option name conflict
  217 #  undef   KEYFILE
  218 # endif
  219 # ifdef    LOGFILE
  220 #  warning undefining LOGFILE due to option name conflict
  221 #  undef   LOGFILE
  222 # endif
  223 # ifdef    NOVIRTUALIPS
  224 #  warning undefining NOVIRTUALIPS due to option name conflict
  225 #  undef   NOVIRTUALIPS
  226 # endif
  227 # ifdef    MODIFYMMTIMER
  228 #  warning undefining MODIFYMMTIMER due to option name conflict
  229 #  undef   MODIFYMMTIMER
  230 # endif
  231 # ifdef    NOFORK
  232 #  warning undefining NOFORK due to option name conflict
  233 #  undef   NOFORK
  234 # endif
  235 # ifdef    NICE
  236 #  warning undefining NICE due to option name conflict
  237 #  undef   NICE
  238 # endif
  239 # ifdef    PIDFILE
  240 #  warning undefining PIDFILE due to option name conflict
  241 #  undef   PIDFILE
  242 # endif
  243 # ifdef    PRIORITY
  244 #  warning undefining PRIORITY due to option name conflict
  245 #  undef   PRIORITY
  246 # endif
  247 # ifdef    QUIT
  248 #  warning undefining QUIT due to option name conflict
  249 #  undef   QUIT
  250 # endif
  251 # ifdef    PROPAGATIONDELAY
  252 #  warning undefining PROPAGATIONDELAY due to option name conflict
  253 #  undef   PROPAGATIONDELAY
  254 # endif
  255 # ifdef    SAVECONFIGQUIT
  256 #  warning undefining SAVECONFIGQUIT due to option name conflict
  257 #  undef   SAVECONFIGQUIT
  258 # endif
  259 # ifdef    STATSDIR
  260 #  warning undefining STATSDIR due to option name conflict
  261 #  undef   STATSDIR
  262 # endif
  263 # ifdef    TRUSTEDKEY
  264 #  warning undefining TRUSTEDKEY due to option name conflict
  265 #  undef   TRUSTEDKEY
  266 # endif
  267 # ifdef    USER
  268 #  warning undefining USER due to option name conflict
  269 #  undef   USER
  270 # endif
  271 # ifdef    UPDATEINTERVAL
  272 #  warning undefining UPDATEINTERVAL due to option name conflict
  273 #  undef   UPDATEINTERVAL
  274 # endif
  275 # ifdef    VAR
  276 #  warning undefining VAR due to option name conflict
  277 #  undef   VAR
  278 # endif
  279 # ifdef    DVAR
  280 #  warning undefining DVAR due to option name conflict
  281 #  undef   DVAR
  282 # endif
  283 # ifdef    WAIT_SYNC
  284 #  warning undefining WAIT_SYNC due to option name conflict
  285 #  undef   WAIT_SYNC
  286 # endif
  287 # ifdef    SLEW
  288 #  warning undefining SLEW due to option name conflict
  289 #  undef   SLEW
  290 # endif
  291 # ifdef    USEPCC
  292 #  warning undefining USEPCC due to option name conflict
  293 #  undef   USEPCC
  294 # endif
  295 # ifdef    PCCFREQ
  296 #  warning undefining PCCFREQ due to option name conflict
  297 #  undef   PCCFREQ
  298 # endif
  299 # ifdef    MDNS
  300 #  warning undefining MDNS due to option name conflict
  301 #  undef   MDNS
  302 # endif
  303 #else  /* NO_OPTION_NAME_WARNINGS */
  304 # undef IPV4
  305 # undef IPV6
  306 # undef AUTHREQ
  307 # undef AUTHNOREQ
  308 # undef BCASTSYNC
  309 # undef CONFIGFILE
  310 # undef DEBUG_LEVEL
  311 # undef SET_DEBUG_LEVEL
  312 # undef DRIFTFILE
  313 # undef PANICGATE
  314 # undef FORCE_STEP_ONCE
  315 # undef JAILDIR
  316 # undef INTERFACE
  317 # undef KEYFILE
  318 # undef LOGFILE
  319 # undef NOVIRTUALIPS
  320 # undef MODIFYMMTIMER
  321 # undef NOFORK
  322 # undef NICE
  323 # undef PIDFILE
  324 # undef PRIORITY
  325 # undef QUIT
  326 # undef PROPAGATIONDELAY
  327 # undef SAVECONFIGQUIT
  328 # undef STATSDIR
  329 # undef TRUSTEDKEY
  330 # undef USER
  331 # undef UPDATEINTERVAL
  332 # undef VAR
  333 # undef DVAR
  334 # undef WAIT_SYNC
  335 # undef SLEW
  336 # undef USEPCC
  337 # undef PCCFREQ
  338 # undef MDNS
  339 #endif  /*  NO_OPTION_NAME_WARNINGS */
  340 
  341 /**
  342  *  Interface defines for specific options.
  343  * @{
  344  */
  345 #define VALUE_OPT_IPV4           '4'
  346 #define VALUE_OPT_IPV6           '6'
  347 #define VALUE_OPT_AUTHREQ        'a'
  348 #define VALUE_OPT_AUTHNOREQ      'A'
  349 #define VALUE_OPT_BCASTSYNC      'b'
  350 #define VALUE_OPT_CONFIGFILE     'c'
  351 #define VALUE_OPT_DEBUG_LEVEL    'd'
  352 #define VALUE_OPT_SET_DEBUG_LEVEL 'D'
  353 
  354 #define OPT_VALUE_SET_DEBUG_LEVEL (DESC(SET_DEBUG_LEVEL).optArg.argInt)
  355 #define VALUE_OPT_DRIFTFILE      'f'
  356 #define VALUE_OPT_PANICGATE      'g'
  357 #define VALUE_OPT_FORCE_STEP_ONCE 'G'
  358 #define VALUE_OPT_JAILDIR        'i'
  359 #define VALUE_OPT_INTERFACE      'I'
  360 #define VALUE_OPT_KEYFILE        'k'
  361 #define VALUE_OPT_LOGFILE        'l'
  362 #define VALUE_OPT_NOVIRTUALIPS   'L'
  363 #define VALUE_OPT_MODIFYMMTIMER  'M'
  364 #define VALUE_OPT_NOFORK         'n'
  365 #define VALUE_OPT_NICE           'N'
  366 #define VALUE_OPT_PIDFILE        'p'
  367 #define VALUE_OPT_PRIORITY       'P'
  368 
  369 #define OPT_VALUE_PRIORITY       (DESC(PRIORITY).optArg.argInt)
  370 #define VALUE_OPT_QUIT           'q'
  371 #define VALUE_OPT_PROPAGATIONDELAY 'r'
  372 #define VALUE_OPT_SAVECONFIGQUIT 0x1001
  373 #define VALUE_OPT_STATSDIR       's'
  374 #define VALUE_OPT_TRUSTEDKEY     't'
  375 #define VALUE_OPT_USER           'u'
  376 #define VALUE_OPT_UPDATEINTERVAL 'U'
  377 
  378 #define OPT_VALUE_UPDATEINTERVAL (DESC(UPDATEINTERVAL).optArg.argInt)
  379 #define VALUE_OPT_VAR            0x1002
  380 #define VALUE_OPT_DVAR           0x1003
  381 #define VALUE_OPT_WAIT_SYNC      'w'
  382 #ifdef HAVE_WORKING_FORK
  383 #define OPT_VALUE_WAIT_SYNC      (DESC(WAIT_SYNC).optArg.argInt)
  384 #endif /* HAVE_WORKING_FORK */
  385 #define VALUE_OPT_SLEW           'x'
  386 #define VALUE_OPT_USEPCC         0x1004
  387 #define VALUE_OPT_PCCFREQ        0x1005
  388 #define VALUE_OPT_MDNS           'm'
  389 /** option flag (value) for help-value option */
  390 #define VALUE_OPT_HELP          '?'
  391 /** option flag (value) for more-help-value option */
  392 #define VALUE_OPT_MORE_HELP     '!'
  393 /** option flag (value) for version-value option */
  394 #define VALUE_OPT_VERSION       0x1006
  395 /*
  396  *  Interface defines not associated with particular options
  397  */
  398 #define ERRSKIP_OPTERR  STMTS(ntpdOptions.fOptSet &= ~OPTPROC_ERRSTOP)
  399 #define ERRSTOP_OPTERR  STMTS(ntpdOptions.fOptSet |= OPTPROC_ERRSTOP)
  400 #define RESTART_OPT(n)  STMTS( \
  401                 ntpdOptions.curOptIdx = (n); \
  402                 ntpdOptions.pzCurOpt  = NULL )
  403 #define START_OPT       RESTART_OPT(1)
  404 #define USAGE(c)        (*ntpdOptions.pUsageProc)(&ntpdOptions, c)
  405 
  406 #ifdef  __cplusplus
  407 extern "C" {
  408 #endif
  409 
  410 
  411 /* * * * * *
  412  *
  413  *  Declare the ntpd option descriptor.
  414  */
  415 extern tOptions ntpdOptions;
  416 
  417 #if defined(ENABLE_NLS)
  418 # ifndef _
  419 #   include <stdio.h>
  420 #   ifndef HAVE_GETTEXT
  421       extern char * gettext(char const *);
  422 #   else
  423 #     include <libintl.h>
  424 #   endif
  425 
  426 # ifndef ATTRIBUTE_FORMAT_ARG
  427 #   define ATTRIBUTE_FORMAT_ARG(_a)
  428 # endif
  429 
  430 static inline char* aoGetsText(char const* pz) ATTRIBUTE_FORMAT_ARG(1);
  431 static inline char* aoGetsText(char const* pz) {
  432     if (pz == NULL) return NULL;
  433     return (char*)gettext(pz);
  434 }
  435 #   define _(s)  aoGetsText(s)
  436 # endif /* _() */
  437 
  438 # define OPT_NO_XLAT_CFG_NAMES  STMTS(ntpdOptions.fOptSet |= \
  439                                     OPTPROC_NXLAT_OPT_CFG;)
  440 # define OPT_NO_XLAT_OPT_NAMES  STMTS(ntpdOptions.fOptSet |= \
  441                                     OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;)
  442 
  443 # define OPT_XLAT_CFG_NAMES     STMTS(ntpdOptions.fOptSet &= \
  444                                   ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);)
  445 # define OPT_XLAT_OPT_NAMES     STMTS(ntpdOptions.fOptSet &= \
  446                                   ~OPTPROC_NXLAT_OPT;)
  447 
  448 #else   /* ENABLE_NLS */
  449 # define OPT_NO_XLAT_CFG_NAMES
  450 # define OPT_NO_XLAT_OPT_NAMES
  451 
  452 # define OPT_XLAT_CFG_NAMES
  453 # define OPT_XLAT_OPT_NAMES
  454 
  455 # ifndef _
  456 #   define _(_s)  _s
  457 # endif
  458 #endif  /* ENABLE_NLS */
  459 
  460 #ifdef  __cplusplus
  461 }
  462 #endif
  463 #endif /* AUTOOPTS_NTPD_OPTS_H_GUARD */
  464 
  465 /* ntpd-opts.h ends here */