summaryrefslogtreecommitdiffstats
path: root/include/manconfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/manconfig.h')
-rw-r--r--include/manconfig.h202
1 files changed, 202 insertions, 0 deletions
diff --git a/include/manconfig.h b/include/manconfig.h
new file mode 100644
index 0000000..5c2c318
--- /dev/null
+++ b/include/manconfig.h
@@ -0,0 +1,202 @@
+/*
+ * manconfig.h: definitions and declarations used throughout man-db
+ *
+ * Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
+ * Copyright (C) 2001-2022 Colin Watson.
+ *
+ * This file is part of man-db.
+ *
+ * man-db 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 2 of the License, or
+ * (at your option) any later version.
+ *
+ * man-db 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 man-db; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef MANCONFIG_H
+#define MANCONFIG_H
+
+/* STD_SECTIONS must contain all of your man hierarchy subdirectories. The
+ order is important. Manual pages will be displayed in this order. Ie
+ if "1" comes before "2", then a kill(1) will be displayed in preference to
+ kill(2), or if `man --all kill', it will be displayed first. Section names
+ may be multi-character, but this is non-standard and probably best
+ avoided. */
+
+#define STD_SECTIONS { \
+ "1", "n", "l", "8", "3", "0", "2", "3type", "5", "4", "9", "6", "7", \
+ NULL \
+}
+
+/* Some system's man pages require default pre-processing with perhaps tbl
+ or other formatters, DEFAULT_MANROFFSEQ can compensate by adding a list of
+ default pre-processors using the standard syntax of first letter.
+ ie "t" = tbl (the table pre-processor)
+ "te" = tbl, eqn (both the table and equation pre-processors)
+ DEFAULT_MANROFFSEQ can be overridden by command line arguments to man, the
+ environment variable $MANROFFSEQ, and by the manual page being formatted. */
+
+#if defined (__hpux) || (defined (__alpha) && !defined(__GLIBC__))
+# define DEFAULT_MANROFFSEQ "te"
+#elif defined (__ultrix)
+# define DEFAULT_MANROFFSEQ "t"
+#endif
+
+/* the magic cookie to request preprocessing */
+#define PP_COOKIE "'\\\" "
+
+/* uncomment the following line if manual pages require tbl by default */
+#ifndef DEFAULT_MANROFFSEQ
+#define DEFAULT_MANROFFSEQ "t"
+#endif
+
+/* By default, man-db will store a whatis referenced manual page in favour
+ of a stray cat page when they both share identical namespace. If you
+ would like to see a stray cat eg. kill(1) in favour of a kill(1) whatis
+ referenced to bash_builtins(1), uncomment the following line. */
+
+/* #define FAVOUR_STRAYCATS */
+
+/* CATMODE is the mode of the formatted cat pages that we create. The man-db
+ package can be run in 4 main modes, 3 of which are relatively secure and
+ allow the cats to be non world writable. The `wide open' mode requires
+ CATMODE to be 0666. Edit if necessary, after reading the man-db manual */
+
+#define CATMODE 0644 /* u=rw,go=r */
+
+/* DBMODE is the mode of the created databases. As with CATMODE, secure
+ operation requires that the db's don't have world write access. In the
+ unlikely event that this is required, change to 0666.
+ For increased speed, at the cost of buffer cache, set the sticky bit
+ on databases so that they remain memory resident. To do this, OR the
+ required mode with 1000 and prepend a 0, eg 01644 */
+
+#define DBMODE 0644 /* u=rw,go=r */
+
+/*------------------------------------------------------------------*/
+/* The following definitions are best left alone by the uninitiated */
+/*------------------------------------------------------------------*/
+
+/* GNU grep flags (i)gnore case
+ (E)xtended regex
+ (w)hole word matches only */
+
+#ifndef WHATIS_GREP_FLAGS
+# define WHATIS_GREP_FLAGS "-i"
+#endif
+
+#ifndef APROPOS_GREP_FLAGS
+# define APROPOS_GREP_FLAGS "-iEw"
+#endif
+
+#ifndef APROPOS_REGEX_GREP_FLAGS
+# define APROPOS_REGEX_GREP_FLAGS "-iE"
+#endif
+
+/* GNU less flags (i)gnore case on search
+ * (x8) set tab stops to 8 spaces
+ * (R)aw control chars (but keep track of screen appearance)
+ * (m)ore display style
+ *
+ * If you change this, be sure to match the format with
+ * man.c:make_display_command().
+ */
+
+#define LESS_OPTS "-ix8RmPm%s$PM%s$"
+
+/* This is a minimal latin1 special characters to ascii translation table */
+#if !defined(TR_SET1) || !defined(TR_SET2)
+# define TR_SET1 " \'\\255\\267\\264\\327\'"
+# define TR_SET2 " \'\\055\\157\\047\\170\'"
+#endif
+
+/*-----------------------------------------------------------------------*/
+/* The things below here shouldn't really be changed unless you really */
+/* know what you are doing. */
+/*-----------------------------------------------------------------------*/
+
+/* my gcc specs file is hacked to define __profile__ if I compile with
+ the -p or -pg flag, to do this manually (needed if you want to know where
+ gmon.out ended up), uncomment the following line */
+/* #define __profile__ */
+
+/* GCC version checking borrowed from glibc. */
+#if defined(__GNUC__) && defined(__GNUC_MINOR__)
+# define GNUC_PREREQ(maj,min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define GNUC_PREREQ(maj,min) 0
+#endif
+
+#define UNLIKELY(cond) __builtin_expect ((cond), 0)
+
+/* GNU gettext needs to know when the locale changes. This macro tells it. */
+#ifdef ENABLE_NLS
+extern int _nl_msg_cat_cntr;
+# define locale_changed() \
+ do { \
+ ++_nl_msg_cat_cntr; \
+ } while (0)
+#else /* !ENABLE_NLS */
+# define locale_changed()
+#endif /* ENABLE_NLS */
+
+extern int quiet; /* be quiet(er) if 1 */
+
+/*--------------------------*/
+/* Some general definitions */
+/*--------------------------*/
+
+/* exit codes */
+#define OK 0 /* success */
+#define FAIL 1 /* usage or syntax error */
+#define FATAL 2 /* operational error */
+#define CHILD_FAIL 3 /* child failed */
+#define NOT_FOUND 16 /* No action was taken */
+
+/* System or user catpaths? Allow bitwise disjunctions of these. */
+#define SYSTEM_CAT 1
+#define USER_CAT 2
+
+/* string macros */
+#define STREQ(a,b) (strcmp(a,b) == 0)
+#define STRNEQ(a,b,d) (strncmp(a,b,d) == 0)
+
+/* Functions in <ctype.h> require their argument to be either an unsigned
+ * char promoted to int or EOF. This macro helps get that right.
+ */
+#define CTYPE(func,arg) (func((unsigned char)(arg)))
+
+/* access(2), but with boolean semantics. */
+#define CAN_ACCESS(pathname, mode) (access (pathname, mode) == 0)
+
+/* FSSTND directories */
+#define CAT_ROOT "/var/catman" /* required by fsstnd() */
+#define MAN_ROOT "/usr" /* required by fsstnd() */
+/* FHS directories */
+#define FHS_CAT_ROOT "/var/cache/man" /* required by fsstnd() */
+#define FHS_MAN_ROOT "/usr/share" /* required by fsstnd() */
+
+/* some special database keys used for storing important info */
+#define VER_KEY "$version$" /* version key */
+#define VER_ID "2.5.0" /* version content */
+
+/* Macros for argp option handling. */
+
+#define OPT(name, key, arg, ...) {name, key, arg, 0, __VA_ARGS__}
+#define OPT_FULL(name, key, arg, flags, ...) {name, key, arg, flags, __VA_ARGS__}
+#define OPT_ALIAS(name, key) {name, key, 0, OPTION_ALIAS}
+#define OPT_HIDDEN(name, key) {name, key, 0, OPTION_HIDDEN}
+#define OPT_GROUP_HEADER(doc, group) {0, 0, 0, 0, doc, group}
+/* compatibility for --help */
+#define OPT_HELP_COMPAT OPT_HIDDEN(0, 'h')
+
+#endif /* MANCONFIG_H */