Home | History | Annotate | Download | only in src
      1 /*-
      2  * Copyright (c) 2009, 2011, 2012
      3  *	mirabilos <m (at) 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.7 2015/12/12 21:08:44 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 */
     39 F0(NONE)
     40 
     41 /* 1 and up are special variables */
     42 FN(BASHPID)
     43 FN(COLUMNS)
     44 FN(EPOCHREALTIME)
     45 #if HAVE_PERSISTENT_HISTORY
     46 FN(HISTFILE)
     47 #endif
     48 FN(HISTSIZE)
     49 FN(IFS)
     50 FN(LINENO)
     51 FN(LINES)
     52 FN(OPTIND)
     53 FN(PATH)
     54 FN(RANDOM)
     55 FN(SECONDS)
     56 FN(TMOUT)
     57 FN(TMPDIR)
     58 
     59 #undef FN
     60 #undef F0
     61 #undef VARSPEC_DEFNS
     62 #undef VARSPEC_ENUMS
     63 #undef VARSPEC_ITEMS
     64