summaryrefslogtreecommitdiff
path: root/columns/opts.h
diff options
context:
space:
mode:
Diffstat (limited to 'columns/opts.h')
-rw-r--r--columns/opts.h239
1 files changed, 239 insertions, 0 deletions
diff --git a/columns/opts.h b/columns/opts.h
new file mode 100644
index 0000000..caa5fde
--- /dev/null
+++ b/columns/opts.h
@@ -0,0 +1,239 @@
+/* -*- buffer-read-only: t -*- vi: set ro:
+ *
+ * DO NOT EDIT THIS FILE (opts.h)
+ *
+ * It has been AutoGen-ed August 11, 2012 at 09:41:50 AM by AutoGen 5.16.2pre7
+ * From the definitions opts.def
+ * and the template file options
+ *
+ * Generated from AutoOpts 36:5:11 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 columns 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.
+ *
+ * The columns program is copyrighted and licensed
+ * under the following terms:
+ *
+ * Copyright (C) 1999-2012 Bruce Korb, all rights reserved.
+ * This is free software. It is licensed for use, modification and
+ * redistribution under the terms of the
+ * GNU General Public License, version 3 or later
+ * <http://gnu.org/licenses/gpl.html>
+ *
+ * columns is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * columns is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+/*
+ * This file contains the programmatic interface to the Automated
+ * Options generated for the columns program.
+ * These macros are documented in the AutoGen info file in the
+ * "AutoOpts" chapter. Please refer to that doc for usage help.
+ */
+#ifndef AUTOOPTS_OPTS_H_GUARD
+#define AUTOOPTS_OPTS_H_GUARD 1
+#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 147461
+#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:
+ */
+typedef enum {
+ INDEX_OPT_WIDTH = 1,
+ INDEX_OPT_COLUMNS = 2,
+ INDEX_OPT_COL_WIDTH = 3,
+ INDEX_OPT_TAB_WIDTH = 4,
+ INDEX_OPT_SPREAD = 6,
+ INDEX_OPT_FILL = 7,
+ INDEX_OPT_INDENT = 8,
+ INDEX_OPT_FIRST_INDENT = 9,
+ INDEX_OPT_FORMAT = 10,
+ INDEX_OPT_SEPARATION = 11,
+ INDEX_OPT_LINE_SEPARATION = 12,
+ INDEX_OPT_ENDING = 13,
+ INDEX_OPT_BY_COLUMNS = 15,
+ INDEX_OPT_SORT = 16,
+ INDEX_OPT_INPUT = 18,
+ INDEX_OPT_VERSION = 19,
+ INDEX_OPT_HELP = 20,
+ INDEX_OPT_MORE_HELP = 21,
+ INDEX_OPT_SAVE_OPTS = 22,
+ INDEX_OPT_LOAD_OPTS = 23
+} teOptIndex;
+
+#define OPTION_CT 24
+#define COLUMNS_VERSION "1.2"
+#define COLUMNS_FULL_VERSION "columns (GNU AutoGen) 1.2"
+
+/*
+ * Interface defines for all options. Replace "n" with the UPPER_CASED
+ * option name (as in the teOptIndex enumeration above).
+ * e.g. HAVE_OPT(DIMENSIONS)
+ */
+#define DESC(n) (columnsOptions.pOptDesc[INDEX_OPT_## n])
+#define HAVE_OPT(n) (! UNUSED_OPT(& DESC(n)))
+#define OPT_ARG(n) (DESC(n).optArg.argString)
+#define STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK)
+#define COUNT_OPT(n) (DESC(n).optOccCt)
+#define ISSEL_OPT(n) (SELECTED_OPT(&DESC(n)))
+#define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n)))
+#define ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n)))
+#define STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt)
+#define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs)
+#define CLEAR_OPT(n) STMTS( \
+ DESC(n).fOptState &= OPTST_PERSISTENT_MASK; \
+ if ((DESC(n).fOptState & OPTST_INITENABLED) == 0) \
+ DESC(n).fOptState |= OPTST_DISABLED; \
+ DESC(n).optCookie = NULL )
+
+/* * * * * *
+ *
+ * Enumeration of columns exit codes
+ */
+typedef enum {
+ COLUMNS_EXIT_SUCCESS = 0,
+ COLUMNS_EXIT_FAILURE = 1,
+ COLUMNS_EXIT_NO_CONFIG_INPUT = 66,
+ COLUMNS_EXIT_LIBOPTS_FAILURE = 70
+} columns_exit_code_t;
+/* * * * * *
+ *
+ * Interface defines for specific options.
+ */
+#define VALUE_OPT_WIDTH 'W'
+
+#define OPT_VALUE_WIDTH (DESC(WIDTH).optArg.argInt)
+#define VALUE_OPT_COLUMNS 'c'
+
+#define OPT_VALUE_COLUMNS (DESC(COLUMNS).optArg.argInt)
+#define VALUE_OPT_COL_WIDTH 'w'
+
+#define OPT_VALUE_COL_WIDTH (DESC(COL_WIDTH).optArg.argInt)
+#define VALUE_OPT_TAB_WIDTH 4
+
+#define OPT_VALUE_TAB_WIDTH (DESC(TAB_WIDTH).optArg.argInt)
+#define VALUE_OPT_SPREAD 6
+
+#define OPT_VALUE_SPREAD (DESC(SPREAD).optArg.argInt)
+#define VALUE_OPT_FILL 7
+#define VALUE_OPT_INDENT 'I'
+#define VALUE_OPT_FIRST_INDENT 9
+#define VALUE_OPT_FORMAT 'f'
+#define VALUE_OPT_SEPARATION 'S'
+#define VALUE_OPT_LINE_SEPARATION 12
+#define VALUE_OPT_ENDING 13
+#define VALUE_OPT_BY_COLUMNS 15
+#define VALUE_OPT_SORT 's'
+#define VALUE_OPT_INPUT 'i'
+#define VALUE_OPT_HELP '?'
+#define VALUE_OPT_MORE_HELP '!'
+#define VALUE_OPT_VERSION 'v'
+#define VALUE_OPT_SAVE_OPTS '>'
+#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) )
+/*
+ * Interface defines not associated with particular options
+ */
+#define ERRSKIP_OPTERR STMTS(columnsOptions.fOptSet &= ~OPTPROC_ERRSTOP)
+#define ERRSTOP_OPTERR STMTS(columnsOptions.fOptSet |= OPTPROC_ERRSTOP)
+#define RESTART_OPT(n) STMTS( \
+ columnsOptions.curOptIdx = (n); \
+ columnsOptions.pzCurOpt = NULL)
+#define START_OPT RESTART_OPT(1)
+#define USAGE(c) (*columnsOptions.pUsageProc)(&columnsOptions, c)
+/* extracted from opthead.tlib near line 484 */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * global exported definitions
+ */
+#include "config.h"
+#include <ctype.h>
+#include <errno.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+/* * * * * *
+ *
+ * Declare the columns option descriptor.
+ */
+extern tOptions columnsOptions;
+
+#if defined(ENABLE_NLS)
+# ifndef _
+# include <stdio.h>
+# ifndef HAVE_GETTEXT
+ extern char * gettext(char const *);
+# else
+# include <libintl.h>
+# endif
+
+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(columnsOptions.fOptSet |= \
+ OPTPROC_NXLAT_OPT_CFG;)
+# define OPT_NO_XLAT_OPT_NAMES STMTS(columnsOptions.fOptSet |= \
+ OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;)
+
+# define OPT_XLAT_CFG_NAMES STMTS(columnsOptions.fOptSet &= \
+ ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);)
+# define OPT_XLAT_OPT_NAMES STMTS(columnsOptions.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_OPTS_H_GUARD */
+/* opts.h ends here */