1/*-
2 * Copyright (c) 2009, 2011, 2012, 2016, 2018
3 *	mirabilos <m@mirbsd.org>
4 *
5 * Provided that these terms and disclaimer and all copyright notices
6 * are retained or reproduced in an accompanying document, permission
7 * is granted to deal in this work without restriction, including un-
8 * limited rights to use, publicly perform, distribute, sell, modify,
9 * merge, give away, or sublicence.
10 *
11 * This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to
12 * the utmost extent permitted by applicable law, neither express nor
13 * implied; without malicious intent or gross negligence. In no event
14 * may a licensor, author or contributor be held liable for indirect,
15 * direct, other damage, loss, or other issues arising in any way out
16 * of dealing in the work, even if advised of the possibility of such
17 * damage or existence of a defect, except proven that it results out
18 * of said person's immediate fault when using the work as intended.
19 */
20
21#if defined(VARSPEC_DEFNS)
22__RCSID("$MirOS: src/bin/mksh/var_spec.h,v 1.11 2018/01/13 21:38:10 tg Exp $");
23#define FN(name)			/* nothing */
24#elif defined(VARSPEC_ENUMS)
25#define FN(name)			V_##name,
26#define F0(name)			V_##name = 0,
27#elif defined(VARSPEC_ITEMS)
28#define F0(name)			/* nothing */
29#define FN(name)			#name,
30#endif
31
32#ifndef F0
33#define F0 FN
34#endif
35
36/* NOTE: F0 are skipped for the ITEMS array, only FN generate names */
37
38/* 0 is always V_NONE */
39F0(NONE)
40
41/* 1 and up are special variables */
42FN(BASHPID)
43#ifdef __OS2__
44FN(BEGINLIBPATH)
45#endif
46FN(COLUMNS)
47#ifdef __OS2__
48FN(ENDLIBPATH)
49#endif
50FN(EPOCHREALTIME)
51#if HAVE_PERSISTENT_HISTORY
52FN(HISTFILE)
53#endif
54FN(HISTSIZE)
55FN(IFS)
56#ifdef MKSH_EARLY_LOCALE_TRACKING
57FN(LANG)
58FN(LC_ALL)
59FN(LC_CTYPE)
60#endif
61#ifdef __OS2__
62FN(LIBPATHSTRICT)
63#endif
64FN(LINENO)
65FN(LINES)
66FN(OPTIND)
67FN(PATH)
68FN(RANDOM)
69FN(SECONDS)
70#ifndef MKSH_NO_CMDLINE_EDITING
71FN(TERM)
72#endif
73FN(TMOUT)
74FN(TMPDIR)
75
76#undef FN
77#undef F0
78#undef VARSPEC_DEFNS
79#undef VARSPEC_ENUMS
80#undef VARSPEC_ITEMS
81