1/* $NetBSD$ */ 2 3/* 4 * EDIT THIS FILE WITH CAUTION (ntpdc-opts.h) 5 * 6 * It has been AutoGen-ed December 24, 2011 at 06:34:16 PM by AutoGen 5.12 7 * From the definitions ntpdc-opts.def 8 * and the template file options 9 * 10 * Generated from AutoOpts 35:0:10 templates. 11 * 12 * AutoOpts is a copyrighted work. This header file is not encumbered 13 * by AutoOpts licensing, but is provided under the licensing terms chosen 14 * by the ntpdc author or copyright holder. AutoOpts is 15 * licensed under the terms of the LGPL. The redistributable library 16 * (``libopts'') is licensed under the terms of either the LGPL or, at the 17 * users discretion, the BSD license. See the AutoOpts and/or libopts sources 18 * for details. 19 * 20 * This source file is copyrighted and licensed under the following terms: 21 * 22 * see html/copyright.html 23 * 24 */ 25/* 26 * This file contains the programmatic interface to the Automated 27 * Options generated for the ntpdc program. 28 * These macros are documented in the AutoGen info file in the 29 * "AutoOpts" chapter. Please refer to that doc for usage help. 30 */ 31#ifndef AUTOOPTS_NTPDC_OPTS_H_GUARD 32#define AUTOOPTS_NTPDC_OPTS_H_GUARD 1 33#include "config.h" 34#include <autoopts/options.h> 35 36/* 37 * Ensure that the library used for compiling this generated header is at 38 * least as new as the version current when the header template was released 39 * (not counting patch version increments). Also ensure that the oldest 40 * tolerable version is at least as old as what was current when the header 41 * template was released. 42 */ 43#define AO_TEMPLATE_VERSION 143360 44#if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \ 45 || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION) 46# error option template version mismatches autoopts/options.h header 47 Choke Me. 48#endif 49 50/* 51 * Enumeration of each option: 52 */ 53typedef enum { 54 INDEX_OPT_IPV4 = 0, 55 INDEX_OPT_IPV6 = 1, 56 INDEX_OPT_COMMAND = 2, 57 INDEX_OPT_LISTPEERS = 3, 58 INDEX_OPT_PEERS = 4, 59 INDEX_OPT_SHOWPEERS = 5, 60 INDEX_OPT_INTERACTIVE = 6, 61 INDEX_OPT_DEBUG_LEVEL = 7, 62 INDEX_OPT_SET_DEBUG_LEVEL = 8, 63 INDEX_OPT_NUMERIC = 9, 64 INDEX_OPT_VERSION = 10, 65 INDEX_OPT_HELP = 11, 66 INDEX_OPT_MORE_HELP = 12, 67 INDEX_OPT_SAVE_OPTS = 13, 68 INDEX_OPT_LOAD_OPTS = 14 69} teOptIndex; 70 71#define OPTION_CT 15 72#define NTPDC_VERSION "4.2.6p5" 73#define NTPDC_FULL_VERSION "ntpdc 4.2.6p5" 74 75/* 76 * Interface defines for all options. Replace "n" with the UPPER_CASED 77 * option name (as in the teOptIndex enumeration above). 78 * e.g. HAVE_OPT(IPV4) 79 */ 80#define DESC(n) (ntpdcOptions.pOptDesc[INDEX_OPT_## n]) 81#define HAVE_OPT(n) (! UNUSED_OPT(& DESC(n))) 82#define OPT_ARG(n) (DESC(n).optArg.argString) 83#define STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK) 84#define COUNT_OPT(n) (DESC(n).optOccCt) 85#define ISSEL_OPT(n) (SELECTED_OPT(&DESC(n))) 86#define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n))) 87#define ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n))) 88#define STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt) 89#define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs) 90#define CLEAR_OPT(n) STMTS( \ 91 DESC(n).fOptState &= OPTST_PERSISTENT_MASK; \ 92 if ((DESC(n).fOptState & OPTST_INITENABLED) == 0) \ 93 DESC(n).fOptState |= OPTST_DISABLED; \ 94 DESC(n).optCookie = NULL ) 95 96/* * * * * * 97 * 98 * Enumeration of ntpdc exit codes 99 */ 100typedef enum { 101 NTPDC_EXIT_SUCCESS = 0, 102 NTPDC_EXIT_FAILURE = 1 103} ntpdc_exit_code_t; 104/* 105 * Make sure there are no #define name conflicts with the option names 106 */ 107#ifndef NO_OPTION_NAME_WARNINGS 108# ifdef IPV4 109# warning undefining IPV4 due to option name conflict 110# undef IPV4 111# endif 112# ifdef IPV6 113# warning undefining IPV6 due to option name conflict 114# undef IPV6 115# endif 116# ifdef COMMAND 117# warning undefining COMMAND due to option name conflict 118# undef COMMAND 119# endif 120# ifdef LISTPEERS 121# warning undefining LISTPEERS due to option name conflict 122# undef LISTPEERS 123# endif 124# ifdef PEERS 125# warning undefining PEERS due to option name conflict 126# undef PEERS 127# endif 128# ifdef SHOWPEERS 129# warning undefining SHOWPEERS due to option name conflict 130# undef SHOWPEERS 131# endif 132# ifdef INTERACTIVE 133# warning undefining INTERACTIVE due to option name conflict 134# undef INTERACTIVE 135# endif 136# ifdef DEBUG_LEVEL 137# warning undefining DEBUG_LEVEL due to option name conflict 138# undef DEBUG_LEVEL 139# endif 140# ifdef SET_DEBUG_LEVEL 141# warning undefining SET_DEBUG_LEVEL due to option name conflict 142# undef SET_DEBUG_LEVEL 143# endif 144# ifdef NUMERIC 145# warning undefining NUMERIC due to option name conflict 146# undef NUMERIC 147# endif 148#else /* NO_OPTION_NAME_WARNINGS */ 149# undef IPV4 150# undef IPV6 151# undef COMMAND 152# undef LISTPEERS 153# undef PEERS 154# undef SHOWPEERS 155# undef INTERACTIVE 156# undef DEBUG_LEVEL 157# undef SET_DEBUG_LEVEL 158# undef NUMERIC 159#endif /* NO_OPTION_NAME_WARNINGS */ 160 161/* * * * * * 162 * 163 * Interface defines for specific options. 164 */ 165#define VALUE_OPT_IPV4 '4' 166#define VALUE_OPT_IPV6 '6' 167#define VALUE_OPT_COMMAND 'c' 168#define VALUE_OPT_LISTPEERS 'l' 169#define VALUE_OPT_PEERS 'p' 170#define VALUE_OPT_SHOWPEERS 's' 171#define VALUE_OPT_INTERACTIVE 'i' 172#define VALUE_OPT_DEBUG_LEVEL 'd' 173#define VALUE_OPT_SET_DEBUG_LEVEL 'D' 174#define VALUE_OPT_NUMERIC 'n' 175#define VALUE_OPT_HELP '?' 176#define VALUE_OPT_MORE_HELP '!' 177#define VALUE_OPT_VERSION INDEX_OPT_VERSION 178#define VALUE_OPT_SAVE_OPTS '>' 179#define VALUE_OPT_LOAD_OPTS '<' 180#define SET_OPT_SAVE_OPTS(a) STMTS( \ 181 DESC(SAVE_OPTS).fOptState &= OPTST_PERSISTENT_MASK; \ 182 DESC(SAVE_OPTS).fOptState |= OPTST_SET; \ 183 DESC(SAVE_OPTS).optArg.argString = (char const*)(a) ) 184/* 185 * Interface defines not associated with particular options 186 */ 187#define ERRSKIP_OPTERR STMTS(ntpdcOptions.fOptSet &= ~OPTPROC_ERRSTOP) 188#define ERRSTOP_OPTERR STMTS(ntpdcOptions.fOptSet |= OPTPROC_ERRSTOP) 189#define RESTART_OPT(n) STMTS( \ 190 ntpdcOptions.curOptIdx = (n); \ 191 ntpdcOptions.pzCurOpt = NULL) 192#define START_OPT RESTART_OPT(1) 193#define USAGE(c) (*ntpdcOptions.pUsageProc)(&ntpdcOptions, c) 194/* extracted from opthead.tlib near line 451 */ 195 196#ifdef __cplusplus 197extern "C" { 198#endif 199 200/* * * * * * 201 * 202 * Declare the ntpdc option descriptor. 203 */ 204extern tOptions ntpdcOptions; 205 206#if defined(ENABLE_NLS) 207# ifndef _ 208# include <stdio.h> 209static inline char* aoGetsText(char const* pz) { 210 if (pz == NULL) return NULL; 211 return (char*)gettext(pz); 212} 213# define _(s) aoGetsText(s) 214# endif /* _() */ 215 216# define OPT_NO_XLAT_CFG_NAMES STMTS(ntpdcOptions.fOptSet |= \ 217 OPTPROC_NXLAT_OPT_CFG;) 218# define OPT_NO_XLAT_OPT_NAMES STMTS(ntpdcOptions.fOptSet |= \ 219 OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;) 220 221# define OPT_XLAT_CFG_NAMES STMTS(ntpdcOptions.fOptSet &= \ 222 ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);) 223# define OPT_XLAT_OPT_NAMES STMTS(ntpdcOptions.fOptSet &= \ 224 ~OPTPROC_NXLAT_OPT;) 225 226#else /* ENABLE_NLS */ 227# define OPT_NO_XLAT_CFG_NAMES 228# define OPT_NO_XLAT_OPT_NAMES 229 230# define OPT_XLAT_CFG_NAMES 231# define OPT_XLAT_OPT_NAMES 232 233# ifndef _ 234# define _(_s) _s 235# endif 236#endif /* ENABLE_NLS */ 237 238#ifdef __cplusplus 239} 240#endif 241#endif /* AUTOOPTS_NTPDC_OPTS_H_GUARD */ 242/* ntpdc-opts.h ends here */ 243