summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/sntp/sntp-opts.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ntp/sntp/sntp-opts.h')
-rw-r--r--contrib/ntp/sntp/sntp-opts.h445
1 files changed, 266 insertions, 179 deletions
diff --git a/contrib/ntp/sntp/sntp-opts.h b/contrib/ntp/sntp/sntp-opts.h
index e73737a..06fa376 100644
--- a/contrib/ntp/sntp/sntp-opts.h
+++ b/contrib/ntp/sntp/sntp-opts.h
@@ -1,177 +1,148 @@
-/*
+/*
* EDIT THIS FILE WITH CAUTION (sntp-opts.h)
- *
- * It has been AutoGen-ed Tuesday December 8, 2009 at 08:14:49 AM EST
+ *
+ * It has been AutoGen-ed June 29, 2015 at 04:23:19 PM by AutoGen 5.18.5
* From the definitions sntp-opts.def
* and the template file options
*
- * Generated from AutoOpts 29:0:4 templates.
- */
-
-/*
- * This file was produced by an AutoOpts template. AutoOpts is a
- * copyrighted work. This header file is not encumbered by AutoOpts
- * licensing, but is provided under the licensing terms chosen by the
- * sntp author or copyright holder. AutoOpts is licensed under
- * the terms of the LGPL. The redistributable library (``libopts'') is
- * licensed under the terms of either the LGPL or, at the users discretion,
- * the BSD license. See the AutoOpts and/or libopts sources for details.
+ * Generated from AutoOpts 41:0:16 templates.
+ *
+ * AutoOpts is a copyrighted work. This header file is not encumbered
+ * by AutoOpts licensing, but is provided under the licensing terms chosen
+ * by the sntp author or copyright holder. AutoOpts is
+ * licensed under the terms of the LGPL. The redistributable library
+ * (``libopts'') is licensed under the terms of either the LGPL or, at the
+ * users discretion, the BSD license. See the AutoOpts and/or libopts sources
+ * for details.
*
- * This source file is copyrighted and licensed under the following terms:
+ * The sntp program is copyrighted and licensed
+ * under the following terms:
*
- * sntp copyright 1970-2006 ntp.org - all rights reserved
+ * Copyright (C) 1992-2015 The University of Delaware and Network Time Foundation, all rights reserved.
+ * This is free software. It is licensed for use, modification and
+ * redistribution under the terms of the NTP License, copies of which
+ * can be seen at:
+ * <http://ntp.org/license>
+ * <http://opensource.org/licenses/ntp-license.php>
*
- * General Public Licence for the software known as MSNTP
- * ------------------------------------------------------
- *
- * (c) Copyright, N.M. Maclaren, 1996, 1997, 2000
- * (c) Copyright, University of Cambridge, 1996, 1997, 2000
- *
- *
- *
- * Free use of MSNTP in source and binary forms is permitted, provided that this
- * entire licence is duplicated in all copies, and that any documentation,
- * announcements, and other materials related to use acknowledge that the software
- * was developed by N.M. Maclaren (hereafter refered to as the Author) at the
- * University of Cambridge. Neither the name of the Author nor the University of
- * Cambridge may be used to endorse or promote products derived from this material
- * without specific prior written permission.
- *
- * The Author and the University of Cambridge retain the copyright and all other
- * legal rights to the software and make it available non-exclusively. All users
- * must ensure that the software in all its derivations carries a copyright notice
- * in the form:
- * (c) Copyright N.M. Maclaren,
- * (c) Copyright University of Cambridge.
- *
- *
- *
- * NO WARRANTY
- *
- * Because the MSNTP software is licensed free of charge, the Author and the
- * University of Cambridge provide absolutely no warranty, either expressed or
- * implied, including, but not limited to, the implied warranties of
- * merchantability and fitness for a particular purpose. The entire risk as to
- * the quality and performance of the MSNTP software is with you. Should MSNTP
- * prove defective, you assume the cost of all necessary servicing or repair.
- *
- * In no event, unless required by law, will the Author or the University of
- * Cambridge, or any other party who may modify and redistribute this software as
- * permitted in accordance with the provisions below, be liable for damages for
- * any losses whatsoever, including but not limited to lost profits, lost monies,
- * lost or corrupted data, or other special, incidental or consequential losses
- * that may arise out of the use or inability to use the MSNTP software.
- *
- *
- *
- * COPYING POLICY
- *
- * Permission is hereby granted for copying and distribution of copies of the
- * MSNTP source and binary files, and of any part thereof, subject to the
- * following licence conditions:
- *
- * 1. You may distribute MSNTP or components of MSNTP, with or without additions
- * developed by you or by others. No charge, other than an "at-cost" distribution
- * fee, may be charged for copies, derivations, or distributions of this material
- * without the express written consent of the copyright holders.
- *
- * 2. You may also distribute MSNTP along with any other product for sale,
- * provided that the cost of the bundled package is the same regardless of whether
- * MSNTP is included or not, and provided that those interested only in MSNTP must
- * be notified that it is a product freely available from the University of
- * Cambridge.
- *
- * 3. If you distribute MSNTP software or parts of MSNTP, with or without
- * additions developed by you or others, then you must either make available the
- * source to all portions of the MSNTP system (exclusive of any additions made by
- * you or by others) upon request, or instead you may notify anyone requesting
- * source that it is freely available from the University of Cambridge.
- *
- * 4. You may not omit any of the copyright notices on either the source files,
- * the executable files, or the documentation.
- *
- * 5. You may not omit transmission of this License agreement with whatever
- * portions of MSNTP that are distributed.
- *
- * 6. Any users of this software must be notified that it is without warranty or
- * guarantee of any nature, express or implied, nor is there any fitness for use
- * represented.
- *
- *
- * October 1996
- * April 1997
- * October 2000
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose with or without fee is hereby granted,
+ * provided that the above copyright notice appears in all copies and that
+ * both the copyright notice and this permission notice appear in
+ * supporting documentation, and that the name The University of Delaware not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission. The University of Delaware and Network Time Foundation makes no
+ * representations about the suitability this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
*/
-/*
+/**
* This file contains the programmatic interface to the Automated
* Options generated for the sntp program.
* These macros are documented in the AutoGen info file in the
* "AutoOpts" chapter. Please refer to that doc for usage help.
*/
#ifndef AUTOOPTS_SNTP_OPTS_H_GUARD
-#define AUTOOPTS_SNTP_OPTS_H_GUARD
+#define AUTOOPTS_SNTP_OPTS_H_GUARD 1
#include "config.h"
#include <autoopts/options.h>
-/*
+/**
* Ensure that the library used for compiling this generated header is at
* least as new as the version current when the header template was released
* (not counting patch version increments). Also ensure that the oldest
* tolerable version is at least as old as what was current when the header
* template was released.
*/
-#define AO_TEMPLATE_VERSION 118784
+#define AO_TEMPLATE_VERSION 167936
#if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \
|| (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION)
# error option template version mismatches autoopts/options.h header
Choke Me.
#endif
-/*
- * Enumeration of each option:
+/**
+ * Enumeration of each option type for sntp
*/
typedef enum {
- INDEX_OPT_IPV4 = 0,
- INDEX_OPT_IPV6 = 1,
- INDEX_OPT_UNPRIVPORT = 2,
- INDEX_OPT_NORMALVERBOSE = 3,
- INDEX_OPT_EXTRAVERBOSE = 4,
- INDEX_OPT_MEGAVERBOSE = 5,
- INDEX_OPT_SETTIMEOFDAY = 6,
- INDEX_OPT_ADJTIME = 7,
- INDEX_OPT_VERSION = 8,
- INDEX_OPT_HELP = 9,
- INDEX_OPT_MORE_HELP = 10,
- INDEX_OPT_SAVE_OPTS = 11,
- INDEX_OPT_LOAD_OPTS = 12
+ INDEX_OPT_IPV4 = 0,
+ INDEX_OPT_IPV6 = 1,
+ INDEX_OPT_AUTHENTICATION = 2,
+ INDEX_OPT_BROADCAST = 3,
+ INDEX_OPT_CONCURRENT = 4,
+ INDEX_OPT_DEBUG_LEVEL = 5,
+ INDEX_OPT_SET_DEBUG_LEVEL = 6,
+ INDEX_OPT_GAP = 7,
+ INDEX_OPT_KOD = 8,
+ INDEX_OPT_KEYFILE = 9,
+ INDEX_OPT_LOGFILE = 10,
+ INDEX_OPT_STEPLIMIT = 11,
+ INDEX_OPT_NTPVERSION = 12,
+ INDEX_OPT_USERESERVEDPORT = 13,
+ INDEX_OPT_STEP = 14,
+ INDEX_OPT_SLEW = 15,
+ INDEX_OPT_TIMEOUT = 16,
+ INDEX_OPT_WAIT = 17,
+ INDEX_OPT_VERSION = 18,
+ INDEX_OPT_HELP = 19,
+ INDEX_OPT_MORE_HELP = 20,
+ INDEX_OPT_SAVE_OPTS = 21,
+ INDEX_OPT_LOAD_OPTS = 22
} teOptIndex;
+/** count of all options for sntp */
+#define OPTION_CT 23
+/** sntp version */
+#define SNTP_VERSION "4.2.8p3"
+/** Full sntp version text */
+#define SNTP_FULL_VERSION "sntp 4.2.8p3"
-#define OPTION_CT 13
-#define SNTP_VERSION "4.2.4p8"
-#define SNTP_FULL_VERSION "sntp - standard SNTP program - Ver. 4.2.4p8"
-
-/*
+/**
* Interface defines for all options. Replace "n" with the UPPER_CASED
* option name (as in the teOptIndex enumeration above).
- * e.g. HAVE_OPT( IPV4 )
+ * e.g. HAVE_OPT(IPV4)
*/
#define DESC(n) (sntpOptions.pOptDesc[INDEX_OPT_## n])
+/** 'true' if an option has been specified in any way */
#define HAVE_OPT(n) (! UNUSED_OPT(& DESC(n)))
+/** The string argument to an option. The argument type must be \"string\". */
#define OPT_ARG(n) (DESC(n).optArg.argString)
+/** Mask the option state revealing how an option was specified.
+ * It will be one and only one of \a OPTST_SET, \a OPTST_PRESET,
+ * \a OPTST_DEFINED, \a OPTST_RESET or zero.
+ */
#define STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK)
+/** Count of option's occurrances *on the command line*. */
#define COUNT_OPT(n) (DESC(n).optOccCt)
+/** mask of \a OPTST_SET and \a OPTST_DEFINED. */
#define ISSEL_OPT(n) (SELECTED_OPT(&DESC(n)))
+/** 'true' if \a HAVE_OPT would yield 'false'. */
#define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n)))
+/** 'true' if OPTST_DISABLED bit not set. */
#define ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n)))
+/** number of stacked option arguments.
+ * Valid only for stacked option arguments. */
#define STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt)
+/** stacked argument vector.
+ * Valid only for stacked option arguments. */
#define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs)
+/** Reset an option. */
#define CLEAR_OPT(n) STMTS( \
DESC(n).fOptState &= OPTST_PERSISTENT_MASK; \
- if ( (DESC(n).fOptState & OPTST_INITENABLED) == 0) \
+ if ((DESC(n).fOptState & OPTST_INITENABLED) == 0) \
DESC(n).fOptState |= OPTST_DISABLED; \
DESC(n).optCookie = NULL )
-
-/*
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+/**
+ * Enumeration of sntp exit codes
+ */
+typedef enum {
+ SNTP_EXIT_SUCCESS = 0,
+ SNTP_EXIT_FAILURE = 1,
+ SNTP_EXIT_USAGE_ERROR = 64,
+ SNTP_EXIT_NO_CONFIG_INPUT = 66,
+ SNTP_EXIT_LIBOPTS_FAILURE = 70
+} sntp_exit_code_t;
+/** @} */
+/**
* Make sure there are no #define name conflicts with the option names
*/
#ifndef NO_OPTION_NAME_WARNINGS
@@ -183,101 +154,217 @@ typedef enum {
# warning undefining IPV6 due to option name conflict
# undef IPV6
# endif
-# ifdef UNPRIVPORT
-# warning undefining UNPRIVPORT due to option name conflict
-# undef UNPRIVPORT
+# ifdef AUTHENTICATION
+# warning undefining AUTHENTICATION due to option name conflict
+# undef AUTHENTICATION
+# endif
+# ifdef BROADCAST
+# warning undefining BROADCAST due to option name conflict
+# undef BROADCAST
+# endif
+# ifdef CONCURRENT
+# warning undefining CONCURRENT due to option name conflict
+# undef CONCURRENT
+# endif
+# ifdef DEBUG_LEVEL
+# warning undefining DEBUG_LEVEL due to option name conflict
+# undef DEBUG_LEVEL
+# endif
+# ifdef SET_DEBUG_LEVEL
+# warning undefining SET_DEBUG_LEVEL due to option name conflict
+# undef SET_DEBUG_LEVEL
+# endif
+# ifdef GAP
+# warning undefining GAP due to option name conflict
+# undef GAP
+# endif
+# ifdef KOD
+# warning undefining KOD due to option name conflict
+# undef KOD
+# endif
+# ifdef KEYFILE
+# warning undefining KEYFILE due to option name conflict
+# undef KEYFILE
+# endif
+# ifdef LOGFILE
+# warning undefining LOGFILE due to option name conflict
+# undef LOGFILE
+# endif
+# ifdef STEPLIMIT
+# warning undefining STEPLIMIT due to option name conflict
+# undef STEPLIMIT
+# endif
+# ifdef NTPVERSION
+# warning undefining NTPVERSION due to option name conflict
+# undef NTPVERSION
# endif
-# ifdef NORMALVERBOSE
-# warning undefining NORMALVERBOSE due to option name conflict
-# undef NORMALVERBOSE
+# ifdef USERESERVEDPORT
+# warning undefining USERESERVEDPORT due to option name conflict
+# undef USERESERVEDPORT
# endif
-# ifdef EXTRAVERBOSE
-# warning undefining EXTRAVERBOSE due to option name conflict
-# undef EXTRAVERBOSE
+# ifdef STEP
+# warning undefining STEP due to option name conflict
+# undef STEP
# endif
-# ifdef MEGAVERBOSE
-# warning undefining MEGAVERBOSE due to option name conflict
-# undef MEGAVERBOSE
+# ifdef SLEW
+# warning undefining SLEW due to option name conflict
+# undef SLEW
# endif
-# ifdef SETTIMEOFDAY
-# warning undefining SETTIMEOFDAY due to option name conflict
-# undef SETTIMEOFDAY
+# ifdef TIMEOUT
+# warning undefining TIMEOUT due to option name conflict
+# undef TIMEOUT
# endif
-# ifdef ADJTIME
-# warning undefining ADJTIME due to option name conflict
-# undef ADJTIME
+# ifdef WAIT
+# warning undefining WAIT due to option name conflict
+# undef WAIT
# endif
#else /* NO_OPTION_NAME_WARNINGS */
# undef IPV4
# undef IPV6
-# undef UNPRIVPORT
-# undef NORMALVERBOSE
-# undef EXTRAVERBOSE
-# undef MEGAVERBOSE
-# undef SETTIMEOFDAY
-# undef ADJTIME
+# undef AUTHENTICATION
+# undef BROADCAST
+# undef CONCURRENT
+# undef DEBUG_LEVEL
+# undef SET_DEBUG_LEVEL
+# undef GAP
+# undef KOD
+# undef KEYFILE
+# undef LOGFILE
+# undef STEPLIMIT
+# undef NTPVERSION
+# undef USERESERVEDPORT
+# undef STEP
+# undef SLEW
+# undef TIMEOUT
+# undef WAIT
#endif /* NO_OPTION_NAME_WARNINGS */
-/*
+/**
* Interface defines for specific options.
+ * @{
*/
#define VALUE_OPT_IPV4 '4'
-#define WHICH_OPT_IPV4 (DESC(IPV4).optActualValue)
-#define WHICH_IDX_IPV4 (DESC(IPV4).optActualIndex)
#define VALUE_OPT_IPV6 '6'
-#define VALUE_OPT_UNPRIVPORT 'u'
-#define VALUE_OPT_NORMALVERBOSE 'v'
-#define VALUE_OPT_EXTRAVERBOSE 'V'
-#define VALUE_OPT_MEGAVERBOSE 'W'
-#define VALUE_OPT_SETTIMEOFDAY 'r'
-#define VALUE_OPT_ADJTIME 'a'
+#define VALUE_OPT_AUTHENTICATION 'a'
+
+#define OPT_VALUE_AUTHENTICATION (DESC(AUTHENTICATION).optArg.argInt)
+#define VALUE_OPT_BROADCAST 'b'
+#define VALUE_OPT_CONCURRENT 'c'
+#define VALUE_OPT_DEBUG_LEVEL 'd'
+#define VALUE_OPT_SET_DEBUG_LEVEL 'D'
+
+#define OPT_VALUE_SET_DEBUG_LEVEL (DESC(SET_DEBUG_LEVEL).optArg.argInt)
+#define VALUE_OPT_GAP 'g'
+
+#define OPT_VALUE_GAP (DESC(GAP).optArg.argInt)
+#define VALUE_OPT_KOD 'K'
+#define VALUE_OPT_KEYFILE 'k'
+#define VALUE_OPT_LOGFILE 'l'
+#define VALUE_OPT_STEPLIMIT 'M'
+
+#define OPT_VALUE_STEPLIMIT (DESC(STEPLIMIT).optArg.argInt)
+#define VALUE_OPT_NTPVERSION 'o'
+
+#define OPT_VALUE_NTPVERSION (DESC(NTPVERSION).optArg.argInt)
+#define VALUE_OPT_USERESERVEDPORT 'r'
+#define VALUE_OPT_STEP 'S'
+#define VALUE_OPT_SLEW 's'
+#define VALUE_OPT_TIMEOUT 't'
+
+#define OPT_VALUE_TIMEOUT (DESC(TIMEOUT).optArg.argInt)
+#define VALUE_OPT_WAIT 0x1001
-#define VALUE_OPT_VERSION 'v'
+#define SET_OPT_WAIT STMTS( \
+ DESC(WAIT).optActualIndex = 17; \
+ DESC(WAIT).optActualValue = VALUE_OPT_WAIT; \
+ DESC(WAIT).fOptState &= OPTST_PERSISTENT_MASK; \
+ DESC(WAIT).fOptState |= OPTST_SET )
+#define DISABLE_OPT_WAIT STMTS( \
+ DESC(WAIT).fOptState &= OPTST_PERSISTENT_MASK; \
+ DESC(WAIT).fOptState |= OPTST_SET | OPTST_DISABLED; \
+ DESC(WAIT).optArg.argString = NULL )
+/** option flag (value) for help-value option */
#define VALUE_OPT_HELP '?'
+/** option flag (value) for more-help-value option */
#define VALUE_OPT_MORE_HELP '!'
+/** option flag (value) for version-value option */
+#define VALUE_OPT_VERSION 0x1002
+/** option flag (value) for save-opts-value option */
#define VALUE_OPT_SAVE_OPTS '>'
+/** option flag (value) for load-opts-value option */
#define VALUE_OPT_LOAD_OPTS '<'
#define SET_OPT_SAVE_OPTS(a) STMTS( \
DESC(SAVE_OPTS).fOptState &= OPTST_PERSISTENT_MASK; \
DESC(SAVE_OPTS).fOptState |= OPTST_SET; \
- DESC(SAVE_OPTS).optArg.argString = (char const*)(a) )
+ DESC(SAVE_OPTS).optArg.argString = (char const*)(a))
/*
* Interface defines not associated with particular options
*/
-#define ERRSKIP_OPTERR STMTS( sntpOptions.fOptSet &= ~OPTPROC_ERRSTOP )
-#define ERRSTOP_OPTERR STMTS( sntpOptions.fOptSet |= OPTPROC_ERRSTOP )
+#define ERRSKIP_OPTERR STMTS(sntpOptions.fOptSet &= ~OPTPROC_ERRSTOP)
+#define ERRSTOP_OPTERR STMTS(sntpOptions.fOptSet |= OPTPROC_ERRSTOP)
#define RESTART_OPT(n) STMTS( \
sntpOptions.curOptIdx = (n); \
sntpOptions.pzCurOpt = NULL )
#define START_OPT RESTART_OPT(1)
-#define USAGE(c) (*sntpOptions.pUsageProc)( &sntpOptions, c )
-/* extracted from /usr/local/gnu/autogen-5.9.1/share/autogen/opthead.tpl near line 360 */
+#define USAGE(c) (*sntpOptions.pUsageProc)(&sntpOptions, c)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* * * * * *
*
* Declare the sntp option descriptor.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
+extern tOptions sntpOptions;
-extern tOptions sntpOptions;
+#if defined(ENABLE_NLS)
+# ifndef _
+# include <stdio.h>
+# ifndef HAVE_GETTEXT
+ extern char * gettext(char const *);
+# else
+# include <libintl.h>
+# endif
-#ifndef _
-# if ENABLE_NLS
-# include <stdio.h>
- static inline char* aoGetsText( char const* pz ) {
- if (pz == NULL) return NULL;
- return (char*)gettext( pz );
- }
-# define _(s) aoGetsText(s)
-# else /* ENABLE_NLS */
-# define _(s) s
-# endif /* ENABLE_NLS */
-#endif
+# ifndef ATTRIBUTE_FORMAT_ARG
+# define ATTRIBUTE_FORMAT_ARG(_a)
+# endif
+
+static inline char* aoGetsText(char const* pz) ATTRIBUTE_FORMAT_ARG(1);
+static inline char* aoGetsText(char const* pz) {
+ if (pz == NULL) return NULL;
+ return (char*)gettext(pz);
+}
+# define _(s) aoGetsText(s)
+# endif /* _() */
+
+# define OPT_NO_XLAT_CFG_NAMES STMTS(sntpOptions.fOptSet |= \
+ OPTPROC_NXLAT_OPT_CFG;)
+# define OPT_NO_XLAT_OPT_NAMES STMTS(sntpOptions.fOptSet |= \
+ OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;)
+
+# define OPT_XLAT_CFG_NAMES STMTS(sntpOptions.fOptSet &= \
+ ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);)
+# define OPT_XLAT_OPT_NAMES STMTS(sntpOptions.fOptSet &= \
+ ~OPTPROC_NXLAT_OPT;)
+
+#else /* ENABLE_NLS */
+# define OPT_NO_XLAT_CFG_NAMES
+# define OPT_NO_XLAT_OPT_NAMES
+
+# define OPT_XLAT_CFG_NAMES
+# define OPT_XLAT_OPT_NAMES
+
+# ifndef _
+# define _(_s) _s
+# endif
+#endif /* ENABLE_NLS */
#ifdef __cplusplus
}
#endif
#endif /* AUTOOPTS_SNTP_OPTS_H_GUARD */
+
/* sntp-opts.h ends here */
OpenPOWER on IntegriCloud