diff options
author | Chet Ramey <chet.ramey@case.edu> | 2011-12-03 13:54:10 -0500 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2011-12-03 13:54:10 -0500 |
commit | 8587df0b46e444dad7be7beb5e8ea4ba6b57ee50 (patch) | |
tree | 04c8b043bc18bb80a0db6aab96fd29f45bd7690c /examples | |
parent | 8f01d942d3a780ff3e7794d9a0cac9a85f5b4a28 (diff) | |
download | bash-8587df0b46e444dad7be7beb5e8ea4ba6b57ee50.tar.gz |
bash-3.1 remove leftover and stray files
Diffstat (limited to 'examples')
-rwxr-xr-x | examples/bashdb/bashdb~ | 581 | ||||
-rw-r--r-- | examples/loadables/getconf.c~ | 1488 | ||||
-rwxr-xr-x | examples/misc/aliasconv.bash~ | 42 | ||||
-rwxr-xr-x | examples/scripts/adventure.sh.save1 | 549 |
4 files changed, 0 insertions, 2660 deletions
diff --git a/examples/bashdb/bashdb~ b/examples/bashdb/bashdb~ deleted file mode 100755 index 2bca9f96..00000000 --- a/examples/bashdb/bashdb~ +++ /dev/null @@ -1,581 +0,0 @@ -#! /bin/bash -# bashdb - Bash shell debugger -# -# Adapted from an idea in O'Reilly's `Learning the Korn Shell' -# Copyright (C) 1993-1994 O'Reilly and Associates, Inc. -# Copyright (C) 1998, 1999, 2001 Gary V. Vaughan <gvv@techie.com>> -# -# This program 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. -# -# This program 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# NOTE: -# -# This program requires bash 2.x. -# If bash 2.x is installed as "bash2", you can invoke bashdb like this: -# -# DEBUG_SHELL=/bin/bash2 /bin/bash2 bashdb script.sh - -# TODO: -# -# break [regexp] -# cond [break] [condition] -# tbreak [regexp|+lines] -# restart -# Variable watchpoints -# Instrument `source' and `.' files in $_potbelliedpig -# be cleverer about lines we allow breakpoints to be set on -# break [function_name] - -echo 'Bash Debugger version 1.2.4' - -export _dbname=${0##*/} - -if test $# -lt 1; then - echo "$_dbname: Usage: $_dbname filename" >&2 - exit 1 -fi - -_guineapig=$1 - -if test ! -r $1; then - echo "$_dbname: Cannot read file '$_guineapig'." >&2 - exit 1 -fi - -shift - -__debug=${TMPDIR-/tmp}/bashdb.$$ -sed -e '/^# bashdb - Bash shell debugger/,/^# -- DO NOT DELETE THIS LINE -- /d' "$0" > $__debug -cat $_guineapig >> $__debug -exec ${DEBUG_SHELL-bash} $__debug $_guineapig "$@" - -exit 1 - -# -- DO NOT DELETE THIS LINE -- The program depends on it - -#bashdb preamble -# $1 name of the original guinea pig script - -__debug=$0 -_guineapig=$1 -__steptrap_calls=0 - -shift - -shopt -s extglob # turn on extglob so we can parse the debugger funcs - -function _steptrap -{ - local i=0 - - _curline=$1 - - if (( ++__steptrap_calls > 1 && $_curline == 1 )); then - return - fi - - if [ -n "$_disps" ]; then - while (( $i < ${#_disps[@]} )) - do - if [ -n "${_disps[$i]}" ]; then - _msg "${_disps[$i]}: \c" - eval _msg ${_disps[$i]} - fi - let i=$i+1 - done - fi - - if (( $_trace )); then - _showline $_curline - fi - - if (( $_steps >= 0 )); then - let _steps="$_steps - 1" - fi - - if _at_linenumbp ; then - _msg "Reached breakpoint at line $_curline" - _showline $_curline - _cmdloop - elif [ -n "$_brcond" ] && eval $_brcond; then - _msg "Break condition $_brcond true at line $_curline" - _showline $_curline - _cmdloop - elif (( $_steps == 0 )); then - # Assuming a real script will have the "#! /bin/sh" at line 1, - # assume that when $_curline == 1 we are inside backticks. - if (( ! $_trace )); then - _msg "Stopped at line $_curline" - _showline $_curline - fi - _cmdloop - fi -} - -function _setbp -{ - local i f line _x - - if [ -z "$1" ]; then - _listbp - return - fi - - eval "$_seteglob" - - if [[ $1 == *(\+)[1-9]*([0-9]) ]]; then - case $1 in - +*) - # normalize argument, then double it (+2 -> +2 + 2 = 4) - _x=${1##*([!1-9])} # cut off non-numeric prefix - _x=${x%%*([!0-9])} # cut off non-numeric suffix - f=$(( $1 + $_x )) - ;; - *) - f=$(( $1 )) - ;; - esac - - # find the next valid line - line="${_lines[$f]}" - while _invalidbreakp $f - do - (( f++ )) - line="${_lines[$f]}" - done - - if (( $f != $1 )) - then - _msg "Line $1 is not a valid breakpoint" - fi - - if [ -n "${_lines[$f]}" ]; then - _linebp[$1]=$1; - _msg "Breakpoint set at line $f" - else - _msg "Breakpoints can only be set on executable lines" - fi - else - _msg "Please specify a numeric line number" - fi - - eval "$_resteglob" -} - -function _listbp -{ - local i - - if [ -n "$_linebp" ]; then - _msg "Breakpoints:" - for i in ${_linebp[*]}; do - _showline $i - done - else - _msg "No breakpoints have been set" - fi -} - -function _clearbp -{ - local i - - if [ -z "$1" ]; then - read -e -p "Delete all breakpoints? " - case $REPLY in - [yY]*) - unset _linebp[*] - _msg "All breakpoints have been cleared" - ;; - esac - return 0 - fi - - eval "$_seteglob" - - if [[ $1 == [1-9]*([0-9]) ]]; then - unset _linebp[$1] - _msg "Breakpoint cleared at line $1" - else - _msg "Please specify a numeric line number" - fi - - eval "$_resteglob" -} - -function _setbc -{ - if (( $# > 0 )); then - _brcond=$@ - _msg "Break when true: $_brcond" - else - _brcond= - _msg "Break condition cleared" - fi -} - -function _setdisp -{ - if [ -z "$1" ]; then - _listdisp - else - _disps[${#_disps[@]}]="$1" - if (( ${#_disps[@]} < 10 )) - then - _msg " ${#_disps[@]}: $1" - else - _msg "${#_disps[@]}: $1" - fi - fi -} - -function _listdisp -{ - local i=0 j - - if [ -n "$_disps" ]; then - while (( $i < ${#_disps[@]} )) - do - let j=$i+1 - if (( ${#_disps[@]} < 10 )) - then - _msg " $j: ${_disps[$i]}" - else - _msg "$j: ${_disps[$i]}" - fi - let i=$j - done - else - _msg "No displays have been set" - fi -} - -function _cleardisp -{ - if (( $# < 1 )) ; then - read -e -p "Delete all display expressions? " - case $REPLY in - [Yy]*) - unset _disps[*] - _msg "All breakpoints have been cleared" - ;; - esac - return 0 - fi - - eval "$_seteglob" - - if [[ $1 == [1-9]*([0-9]) ]]; then - unset _disps[$1] - _msg "Display $i has been cleared" - else - _listdisp - _msg "Please specify a numeric display number" - fi - - eval "$_resteglob" -} - -# usage _ftrace -u funcname [funcname...] -function _ftrace -{ - local _opt=-t _tmsg="enabled" _func - if [[ $1 == -u ]]; then - _opt=+t - _tmsg="disabled" - shift - fi - for _func; do - declare -f $_opt $_func - _msg "Tracing $_tmsg for function $_func" - done -} - -function _cmdloop -{ - local cmd args - - while read -e -p "bashdb> " cmd args; do - test -n "$cmd" && history -s "$cmd $args" # save on history list - test -n "$cmd" || { set $_lastcmd; cmd=$1; shift; args=$*; } - if [ -n "$cmd" ] - then - case $cmd in - b|br|bre|brea|break) - _setbp $args - _lastcmd="break $args" - ;; - co|con) - _msg "ambiguous command: '$cmd', condition, continue?" - ;; - cond|condi|condit|conditi|conditio|condition) - _setbc $args - _lastcmd="condition $args" - ;; - c|cont|conti|contin|continu|continue) - _lastcmd="continue" - return - ;; - d) - _msg "ambiguous command: '$cmd', delete, display?" - ;; - de|del|dele|delet|delete) - _clearbp $args - _lastcmd="delete $args" - ;; - di|dis|disp|displ|displa|display) - _setdisp $args - _lastcmd="display $args" - ;; - f|ft|ftr|ftra|ftrace) - _ftrace $args - _lastcmd="ftrace $args" - ;; - \?|h|he|hel|help) - _menu - _lastcmd="help" - ;; - l|li|lis|list) - _displayscript $args - # _lastcmd is set in the _displayscript function - ;; - p|pr|pri|prin|print) - _examine $args - _lastcmd="print $args" - ;; - q|qu|qui|quit) - exit - ;; - s|st|ste|step|n|ne|nex|next) - let _steps=${args:-1} - _lastcmd="next $args" - return - ;; - t|tr|tra|trac|trace) - _xtrace - ;; - u|un|und|undi|undis|undisp|undispl|undispla|undisplay) - _cleardisp $args - _lastcmd="undisplay $args" - ;; - !*) - eval ${cmd#!} $args - _lastcmd="$cmd $args" - ;; - *) - _msg "Invalid command: '$cmd'" - ;; - esac - fi - done -} - -function _at_linenumbp -{ - [[ -n ${_linebp[$_curline]} ]] -} - -function _invalidbreakp -{ - local line=${_lines[$1]} - - # XXX - should use shell patterns - if test -z "$line" \ - || expr "$line" : '[ \t]*#.*' > /dev/null \ - || expr "$line" : '[ \t]*;;[ \t]*$' > /dev/null \ - || expr "$line" : '[ \t]*[^)]*)[ \t]*$' > /dev/null \ - || expr "$line" : '[ \t]*;;[ \t]*#.**$' > /dev/null \ - || expr "$line" : '[ \t]*[^)]*)[ \t]*;;[ \t]*$' > /dev/null \ - || expr "$line" : '[ \t]*[^)]*)[ \t]*;;*[ \t]*#.*$' > /dev/null - then - return 0 - fi - - return 1 -} - -function _examine -{ - if [ -n "$*" ]; then - _msg "$args: \c" - eval _msg $args - else - _msg "Nothing to print" - fi -} - -function _displayscript -{ - local i j start end bp cl - - if (( $# == 1 )); then # list 5 lines on either side of $1 - if [ $1 = "%" ]; then - let start=1 - let end=${#_lines[@]} - else - let start=$1-5 - let end=$1+5 - fi - elif (( $# > 1 )); then # list between start and end - if [ $1 = "^" ]; then - let start=1 - else - let start=$1 - fi - - if [ $2 = "\$" ]; then - let end=${#_lines[@]} - else - let end=$2 - fi - else # list 5 lines on either side of current line - let start=$_curline-5 - let end=$_curline+5 - fi - - # normalize start and end - if (( $start < 1 )); then - start=1 - fi - if (( $end > ${#_lines[@]} )); then - end=${#_lines[@]} - fi - - cl=$(( $end - $start )) - if (( $cl > ${LINES-24} )); then - pager=${PAGER-more} - else - pager=cat - fi - - i=$start - ( while (( $i <= $end )); do - _showline $i - let i=$i+1 - done ) 2>&1 | $pager - - # calculate the next block of lines - start=$(( $end + 1 )) - end=$(( $start + 11 )) - if (( $end > ${#_lines[@]} )) - then - end=${#_lines[@]} - fi - - _lastcmd="list $start $end" -} - -function _xtrace -{ - let _trace="! $_trace" - if (( $_trace )); then - _msg "Execution trace on" - else - _msg "Execution trace off" - fi -} - -function _msg -{ - echo -e "$@" >&2 -} - -function _showline -{ - local i=0 bp=' ' line=$1 cl=' ' - - if [[ -n ${_linebp[$line]} ]]; then - bp='*' - fi - - if (( $_curline == $line )); then - cl=">" - fi - - if (( $line < 100 )); then - _msg "$_guineapig:$line $bp $cl${_lines[$line]}" - elif (( $line < 10 )); then - _msg "$_guineapig:$line $bp $cl${_lines[$line]}" - elif (( $line > 0 )); then - _msg "$_guineapig:$line $bp $cl${_lines[$line]}" - fi -} - -function _cleanup -{ - rm -f $__debug $_potbelliedpig 2> /dev/null -} - -function _menu -{ - _msg 'bashdb commands: - break N set breakpoint at line N - break list breakpoints & break condition - condition foo set break condition to foo - condition clear break condition - delete N clear breakpoint at line N - delete clear all breakpoints - display EXP evaluate and display EXP for each debug step - display show a list of display expressions - undisplay N remove display expression N - list N M display all lines of script between N and M - list N display 5 lines of script either side of line N - list display 5 lines if script either side of current line - continue continue execution upto next breakpoint - next [N] execute [N] statements (default 1) - print expr prints the value of an expression - trace toggle execution trace on/off - ftrace [-u] func make the debugger step into function FUNC - (-u turns off tracing FUNC) - help print this menu - ! string passes string to a shell - quit quit' -} - -shopt -u extglob - -HISTFILE=~/.bashdb_history -set -o history -set +H - -# strings to save and restore the setting of `extglob' in debugger functions -# that need it -_seteglob='local __eopt=-u ; shopt -q extglob && __eopt=-s ; shopt -s extglob' -_resteglob='shopt $__eopt extglob' - -_linebp=() -let _trace=0 -let _i=1 - -# Be careful about quoted newlines -_potbelliedpig=${TMPDIR-/tmp}/$_guineapig.$$ -sed 's,\\$,\\\\,' $_guineapig > $_potbelliedpig - -_msg "Reading source from file: $_guineapig" -while read; do - _lines[$_i]=$REPLY - let _i=$_i+1 -done < $_potbelliedpig - -trap _cleanup EXIT -# Assuming a real script will have the "#! /bin/sh" at line 1, -# don't stop at line 1 on the first run -let _steps=1 -LINENO=-1 -trap '_steptrap $LINENO' DEBUG diff --git a/examples/loadables/getconf.c~ b/examples/loadables/getconf.c~ deleted file mode 100644 index cc6d50b3..00000000 --- a/examples/loadables/getconf.c~ +++ /dev/null @@ -1,1488 +0,0 @@ -/* - * ORIGINAL COPYRIGHT STATEMENT: - * - * Copyright (c) 1994 Winning Strategies, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Winning Strategies, Inc. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * POSIX.2 getconf utility - * - * Originally Written by: - * J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc. - * - * Heavily modified for inclusion in bash by - * Chet Ramey <chet@po.cwru.edu> - */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#ifdef HAVE_SYS_PARAM_H -# include <sys/param.h> -#endif - -#include <stdio.h> -#ifdef HAVE_LIMITS_H -#include <limits.h> -#endif -#ifdef HAVE_LOCALE_H -#include <locale.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#include <errno.h> - -#include "typemax.h" - -#include "bashansi.h" -#include "shell.h" -#include "builtins.h" -#include "stdc.h" -#include "common.h" -#include "bashgetopt.h" - -#include "getconf.h" - -#ifndef errno -extern int errno; -#endif - -struct conf_variable -{ - const char *name; - enum { SYSCONF, CONFSTR, PATHCONF, CONSTANT, LLCONST, G_UNDEF } type; - long value; -}; - -#ifndef HAVE_CONFSTR -static size_t confstr __P((int, char *, size_t)); -#endif - -#ifndef HAVE_SYSCONF -static long sysconf __P((int)); -#endif - -#ifndef HAVE_PATHCONF -static long pathconf __P((const char *, int)); -#endif - -/* Hack to `encode' values wider than long into a conf_variable */ -#define VAL_LLONG_MIN -1000 -#define VAL_LLONG_MAX -1001 -#define VAL_ULLONG_MAX -1002 - -static const struct conf_variable conf_table[] = -{ - /* POSIX.2 Configurable Variable Values */ - { "PATH", CONFSTR, _CS_PATH }, - { "CS_PATH", CONFSTR, _CS_PATH }, - - /* POSIX.1 Configurable Variable Values (only Solaris?) */ -#if defined (_CS_LFS_CFLAGS) - { "LFS_CFLAGS", CONFSTR, _CS_LFS_CFLAGS }, - { "LFS_LDFLAGS", CONFSTR, _CS_LFS_LDFLAGS }, - { "LFS_LIBS", CONFSTR, _CS_LFS_LIBS }, - { "LFS_LINTFLAGS", CONFSTR, _CS_LFS_LINTFLAGS }, -#endif -#if defined (_CS_LFS64_CFLAGS) - { "LFS64_CFLAGS", CONFSTR, _CS_LFS64_CFLAGS }, - { "LFS64_LDFLAGS", CONFSTR, _CS_LFS64_LDFLAGS }, - { "LFS64_LIBS", CONFSTR, _CS_LFS64_LIBS }, - { "LFS64_LINTFLAGS", CONFSTR, _CS_LFS64_LINTFLAGS }, -#endif - - /* Single UNIX Specification version 2 Configurable Variable Values. The - SYSCONF variables say whether or not the appropriate CONFSTR variables - are available. */ -#if defined (_SC_XBS5_ILP32_OFF32) - { "XBS5_ILP32_OFF32", SYSCONF, _SC_XBS5_ILP32_OFF32 }, - { "_XBS5_ILP32_OFF32", SYSCONF, _SC_XBS5_ILP32_OFF32 }, -#endif -#if defined (_CS_XBS5_ILP32_OFF32_CFLAGS) - { "XBS5_ILP32_OFF32_CFLAGS", CONFSTR, _CS_XBS5_ILP32_OFF32_CFLAGS }, - { "XBS5_ILP32_OFF32_LDFLAGS", CONFSTR, _CS_XBS5_ILP32_OFF32_LDFLAGS }, - { "XBS5_ILP32_OFF32_LIBS", CONFSTR, _CS_XBS5_ILP32_OFF32_LIBS }, - { "XBS5_ILP32_OFF32_LINTFLAGS", CONFSTR, _CS_XBS5_ILP32_OFF32_LINTFLAGS }, -#endif -#if defined (_SC_XBS5_ILP32_OFFBIG) - { "XBS5_ILP32_OFFBIG", SYSCONF, _SC_XBS5_ILP32_OFFBIG }, - { "_XBS5_ILP32_OFFBIG", SYSCONF, _SC_XBS5_ILP32_OFFBIG }, -#endif -#if defined (_CS_XBS5_ILP32_OFFBIG_CFLAGS) - { "XBS5_ILP32_OFFBIG_CFLAGS", CONFSTR, _CS_XBS5_ILP32_OFFBIG_CFLAGS }, - { "XBS5_ILP32_OFFBIG_LDFLAGS", CONFSTR, _CS_XBS5_ILP32_OFFBIG_LDFLAGS }, - { "XBS5_ILP32_OFFBIG_LIBS", CONFSTR, _CS_XBS5_ILP32_OFFBIG_LIBS }, - { "XBS5_ILP32_OFFBIG_LINTFLAGS", CONFSTR, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS }, -#endif -#if defined (_SC_XBS5_LP64_OFF64) - { "XBS5_LP64_OFF64", SYSCONF, _SC_XBS5_LP64_OFF64 }, - { "_XBS5_LP64_OFF64", SYSCONF, _SC_XBS5_LP64_OFF64 }, -#endif -#if defined (_CS_XBS5_LP64_OFF64_CFLAGS) - { "XBS5_LP64_OFF64_CFLAGS", CONFSTR, _CS_XBS5_LP64_OFF64_CFLAGS }, - { "XBS5_LP64_OFF64_LDFLAGS", CONFSTR, _CS_XBS5_LP64_OFF64_LDFLAGS }, - { "XBS5_LP64_OFF64_LIBS", CONFSTR, _CS_XBS5_LP64_OFF64_LIBS }, - { "XBS5_LP64_OFF64_LINTFLAGS", CONFSTR, _CS_XBS5_LP64_OFF64_LINTFLAGS }, -#endif -#if defined (_SC_XBS5_LPBIG_OFFBIG) - { "XBS5_LPBIG_OFFBIG", SYSCONF, _SC_XBS5_LPBIG_OFFBIG }, - { "_XBS5_LPBIG_OFFBIG", SYSCONF, _SC_XBS5_LPBIG_OFFBIG }, -#endif -#if defined (_CS_XBS5_LPBIG_OFFBIG_CFLAGS) - { "XBS5_LPBIG_OFFBIG_CFLAGS", CONFSTR, _CS_XBS5_LPBIG_OFFBIG_CFLAGS }, - { "XBS5_LPBIG_OFFBIG_LDFLAGS", CONFSTR, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS }, - { "XBS5_LPBIG_OFFBIG_LIBS", CONFSTR, _CS_XBS5_LPBIG_OFFBIG_LIBS }, - { "XBS5_LPBIG_OFFBIG_LINTFLAGS", CONFSTR, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS }, -#endif - - /* Single UNIX Specification version 3 (POSIX.1-200x) Configurable Variable - Values. The SYSCONF variables say whether or not the appropriate CONFSTR - variables are available. */ - -#if defined (_SC_POSIX_V6_ILP32_OFF32) - { "_POSIX_V6_ILP32_OFF32", SYSCONF, _SC_POSIX_V6_ILP32_OFF32 }, -#endif -#if defined (_CS_POSIX_V6_ILP32_OFF32_CFLAGS) - { "POSIX_V6_ILP32_OFF32_CFLAGS", CONFSTR, _CS_POSIX_V6_ILP32_OFF32_CFLAGS }, - { "POSIX_V6_ILP32_OFF32_LDFLAGS", CONFSTR, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS }, - { "POSIX_V6_ILP32_OFF32_LIBS", CONFSTR, _CS_POSIX_V6_ILP32_OFF32_LIBS }, -#endif -#if defined (_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS) - { "POSIX_V6_ILP32_OFF32_LINTFLAGS", CONFSTR, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS }, -#endif -#if defined (_SC_POSIX_V6_ILP32_OFFBIG) - { "_POSIX_V6_ILP32_OFFBIG", SYSCONF, _SC_POSIX_V6_ILP32_OFFBIG }, -#endif -#if defined (_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS) - { "POSIX_V6_ILP32_OFFBIG_CFLAGS", CONFSTR, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS }, - { "POSIX_V6_ILP32_OFFBIG_LDFLAGS", CONFSTR, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS }, - { "POSIX_V6_ILP32_OFFBIG_LIBS", CONFSTR, _CS_POSIX_V6_ILP32_OFFBIG_LIBS }, -#endif -#if defined (_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS) - { "POSIX_V6_ILP32_OFFBIG_LINTFLAGS", CONFSTR, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS }, -#endif -#if defined (_SC_POSIX_V6_LP64_OFF64) - { "_POSIX_V6_LP64_OFF64", SYSCONF, _SC_POSIX_V6_LP64_OFF64 }, -#endif -#if defined (_CS_POSIX_V6_LP64_OFF64_CFLAGS) - { "POSIX_V6_LP64_OFF64_CFLAGS", CONFSTR, _CS_POSIX_V6_LP64_OFF64_CFLAGS }, - { "POSIX_V6_LP64_OFF64_LDFLAGS", CONFSTR, _CS_POSIX_V6_LP64_OFF64_LDFLAGS }, - { "POSIX_V6_LP64_OFF64_LIBS", CONFSTR, _CS_POSIX_V6_LP64_OFF64_LIBS }, -#endif -#if defined (CS_POSIX_V6_LP64_OFF64_LINTFLAGS) - { "POSIX_V6_LP64_OFF64_LINTFLAGS", CONFSTR, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS }, -#endif -#if defined (_SC_POSIX_V6_LPBIG_OFFBIG) - { "_POSIX_V6_LPBIG_OFFBIG", SYSCONF, _SC_POSIX_V6_LPBIG_OFFBIG }, -#endif -#if defined (_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS) - { "POSIX_V6_LPBIG_OFFBIG_CFLAGS", CONFSTR, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS }, - { "POSIX_V6_LPBIG_OFFBIG_LDFLAGS", CONFSTR, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS }, - { "POSIX_V6_LPBIG_OFFBIG_LIBS", CONFSTR, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS }, -#endif -#if defined (_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS) - { "POSIX_V6_LPBIG_OFFBIG_LINTFLAGS", CONFSTR, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }, -#endif - -#if defined (_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS) - { "POSIX_6_WIDTH_RESTRICTED_ENVS", CONFSTR, _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS }, -#endif - - /* POSIX.2 Utility Limit Minimum Values */ -#ifdef _POSIX2_BC_BASE_MAX - { "POSIX2_BC_BASE_MAX", CONSTANT, _POSIX2_BC_BASE_MAX }, -#else - { "POSIX2_BC_BASE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_BC_DIM_MAX - { "POSIX2_BC_DIM_MAX", CONSTANT, _POSIX2_BC_DIM_MAX }, -#else - { "POSIX2_BC_DIM_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_BC_SCALE_MAX - { "POSIX2_BC_SCALE_MAX", CONSTANT, _POSIX2_BC_SCALE_MAX }, -#else - { "POSIX2_BC_SCALE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_BC_STRING_MAX - { "POSIX2_BC_STRING_MAX", CONSTANT, _POSIX2_BC_STRING_MAX }, -#else - { "POSIX2_BC_STRING_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_CHARCLASS_NAME_MAX - { "POSIX2_CHARCLASS_NAME_MAX", CONSTANT, _POSIX2_CHARCLASS_NAME_MAX }, -#else - { "POSIX2_CHARCLASS_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_COLL_WEIGHTS_MAX - { "POSIX2_COLL_WEIGHTS_MAX", CONSTANT, _POSIX2_COLL_WEIGHTS_MAX }, -#else - { "POSIX2_COLL_WEIGHTS_MAX", G_UNDEF, -1 }, -#endif -#if defined (_POSIX2_EQUIV_CLASS_MAX) - { "POSIX2_EQUIV_CLASS_MAX", CONSTANT, _POSIX2_EQUIV_CLASS_MAX }, -#endif -#ifdef _POSIX2_EXPR_NEST_MAX - { "POSIX2_EXPR_NEST_MAX", CONSTANT, _POSIX2_EXPR_NEST_MAX }, -#else - { "POSIX2_EXPR_NEST_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_LINE_MAX - { "POSIX2_LINE_MAX", CONSTANT, _POSIX2_LINE_MAX }, -#else - { "POSIX2_LINE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_RE_DUP_MAX - { "POSIX2_RE_DUP_MAX", CONSTANT, _POSIX2_RE_DUP_MAX }, -#else - { "POSIX2_RE_DUP_MAX", G_UNDEF, -1 }, -#endif -#if defined (_POSIX2_VERSION) - { "POSIX2_VERSION", CONSTANT, _POSIX2_VERSION }, -#else -# if !defined (_SC_2_VERSION) - { "POSIX2_VERSION", G_UNDEF, -1 }, -# endif -#endif - -#ifdef _POSIX2_BC_BASE_MAX - { "_POSIX2_BC_BASE_MAX", CONSTANT, _POSIX2_BC_BASE_MAX }, -#else - { "_POSIX2_BC_BASE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_BC_DIM_MAX - { "_POSIX2_BC_DIM_MAX", CONSTANT, _POSIX2_BC_DIM_MAX }, -#else - { "_POSIX2_BC_DIM_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_BC_SCALE_MAX - { "_POSIX2_BC_SCALE_MAX", CONSTANT, _POSIX2_BC_SCALE_MAX }, -#else - { "_POSIX2_BC_SCALE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_BC_STRING_MAX - { "_POSIX2_BC_STRING_MAX", CONSTANT, _POSIX2_BC_STRING_MAX }, -#else - { "_POSIX2_BC_STRING_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_CHARCLASS_NAME_MAX - { "_POSIX2_CHARCLASS_NAME_MAX", CONSTANT, _POSIX2_CHARCLASS_NAME_MAX }, -#else - { "_POSIX2_CHARCLASS_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_COLL_WEIGHTS_MAX - { "_POSIX2_COLL_WEIGHTS_MAX", CONSTANT, _POSIX2_COLL_WEIGHTS_MAX }, -#else - { "_POSIX2_COLL_WEIGHTS_MAX", G_UNDEF, -1 }, -#endif -#if defined (_POSIX2_EQUIV_CLASS_MAX) - { "POSIX2_EQUIV_CLASS_MAX", CONSTANT, _POSIX2_EQUIV_CLASS_MAX }, -#endif -#ifdef _POSIX2_EXPR_NEST_MAX - { "_POSIX2_EXPR_NEST_MAX", CONSTANT, _POSIX2_EXPR_NEST_MAX }, -#else - { "_POSIX2_EXPR_NEST_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_LINE_MAX - { "_POSIX2_LINE_MAX", CONSTANT, _POSIX2_LINE_MAX }, -#else - { "_POSIX2_LINE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX2_RE_DUP_MAX - { "_POSIX2_RE_DUP_MAX", CONSTANT, _POSIX2_RE_DUP_MAX }, -#else - { "_POSIX2_RE_DUP_MAX", G_UNDEF, -1 }, -#endif - - /* X/OPEN Maxmimum Values */ -#ifdef _XOPEN_IOV_MAX - { "_XOPEN_IOV_MAX", CONSTANT, _XOPEN_IOV_MAX }, -#else - { "_XOPEN_IOV_MAX", G_UNDEF, -1 }, -#endif -#ifdef _XOPEN_NAME_MAX - { "_XOPEN_NAME_MAX", CONSTANT, _XOPEN_NAME_MAX }, -#else - { "_XOPEN_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _XOPEN_PATH_MAX - { "_XOPEN_PATH_MAX", CONSTANT, _XOPEN_PATH_MAX }, -#else - { "_XOPEN_PATH_MAX", G_UNDEF, -1 }, -#endif - - /* POSIX.1 Minimum Values */ -#ifdef _POSIX_AIO_LISTIO_MAX - { "_POSIX_AIO_LISTIO_MAX", CONSTANT, _POSIX_AIO_LISTIO_MAX }, -#else - { "_POSIX_AIO_LISTIO_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_AIO_MAX - { "_POSIX_AIO_MAX", CONSTANT, _POSIX_AIO_MAX }, -#else - { "_POSIX_AIO_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_ARG_MAX - { "_POSIX_ARG_MAX", CONSTANT, _POSIX_ARG_MAX }, -#else - { "_POSIX_ARG_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_CHILD_MAX - { "_POSIX_CHILD_MAX", CONSTANT, _POSIX_CHILD_MAX }, -#else - { "_POSIX_CHILD_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_DELAYTIMER_MAX - { "_POSIX_DELAYTIMER_MAX", CONSTANT, _POSIX_DELAYTIMER_MAX }, -#else - { "_POSIX_DELAYTIMER_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_HOST_NAME_MAX - { "_POSIX_HOST_NAME_MAX", CONSTANT, _POSIX_HOST_NAME_MAX }, -#else - { "_POSIX_HOST_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_LINK_MAX - { "_POSIX_LINK_MAX", CONSTANT, _POSIX_LINK_MAX }, -#else - { "_POSIX_LINK_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_LOGIN_NAME_MAX - { "_POSIX_LOGIN_NAME_MAX", CONSTANT, _POSIX_LOGIN_NAME_MAX }, -#else - { "_POSIX_LOGIN_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_MAX_CANON - { "_POSIX_MAX_CANON", CONSTANT, _POSIX_MAX_CANON }, -#else - { "_POSIX_MAX_CANON", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_MAX_INPUT - { "_POSIX_MAX_INPUT", CONSTANT, _POSIX_MAX_INPUT }, -#else - { "_POSIX_MAX_INPUT", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_MQ_OPEN_MAX - { "_POSIX_MQ_OPEN_MAX", CONSTANT, _POSIX_MQ_OPEN_MAX }, -#else - { "_POSIX_MQ_OPEN_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_MQ_PRIO_MAX - { "_POSIX_MQ_PRIO_MAX", CONSTANT, _POSIX_MQ_PRIO_MAX }, -#else - { "_POSIX_MQ_PRIO_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_NAME_MAX - { "_POSIX_NAME_MAX", CONSTANT, _POSIX_NAME_MAX }, -#else - { "_POSIX_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_NGROUPS_MAX - { "_POSIX_NGROUPS_MAX", CONSTANT, _POSIX_NGROUPS_MAX }, -#else - { "_POSIX_NGROUPS_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_OPEN_MAX - { "_POSIX_OPEN_MAX", CONSTANT, _POSIX_OPEN_MAX }, -#else - { "_POSIX_OPEN_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_PATH_MAX - { "_POSIX_PATH_MAX", CONSTANT, _POSIX_PATH_MAX }, -#else - { "_POSIX_PATH_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_PIPE_BUF - { "_POSIX_PIPE_BUF", CONSTANT, _POSIX_PIPE_BUF }, -#else - { "_POSIX_PIPE_BUF", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_RE_DUP_MAX - { "_POSIX_RE_DUP_MAX", CONSTANT, _POSIX_RE_DUP_MAX }, -#else - { "_POSIX_RE_DUP_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_RTSIG_MAX - { "_POSIX_RTSIG_MAX", CONSTANT, _POSIX_RTSIG_MAX }, -#else - { "_POSIX_RTSIG_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SEM_NSEMS_MAX - { "_POSIX_SEM_NSEMS_MAX", CONSTANT, _POSIX_SEM_NSEMS_MAX }, -#else - { "_POSIX_SEM_NSEMS_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SEM_VALUE_MAX - { "_POSIX_SEM_VALUE_MAX", CONSTANT, _POSIX_SEM_VALUE_MAX }, -#else - { "_POSIX_SEM_VALUE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SIGQUEUE_MAX - { "_POSIX_SIGQUEUE_MAX", CONSTANT, _POSIX_SIGQUEUE_MAX }, -#else - { "_POSIX_SIGQUEUE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SSIZE_MAX - { "_POSIX_SSIZE_MAX", CONSTANT, _POSIX_SSIZE_MAX }, -#else - { "_POSIX_SSIZE_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SS_REPL_MAX - { "_POSIX_SS_REPL_MAX", CONSTANT, _POSIX_SS_REPL_MAX }, -#else - { "_POSIX_SS_REPL_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_STREAM_MAX - { "_POSIX_STREAM_MAX", CONSTANT, _POSIX_STREAM_MAX }, -#else - { "_POSIX_STREAM_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SYMLINK_MAX - { "_POSIX_SYMLINK_MAX", CONSTANT, _POSIX_SYMLINK_MAX }, -#else - { "_POSIX_SYMLINK_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_SYMLOOP_MAX - { "_POSIX_SYMLOOP_MAX", CONSTANT, _POSIX_SYMLOOP_MAX }, -#else - { "_POSIX_SYMLOOP_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_THREAD_DESTRUCTOR_ITERATIONS - { "_POSIX_THREAD_DESTRUCTOR_ITERATIONS", CONSTANT, _POSIX_THREAD_DESTRUCTOR_ITERATIONS }, -#else - { "_POSIX_THREAD_DESTRUCTOR_ITERATIONS", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_THREAD_KEYS_MAX - { "_POSIX_THREAD_KEYS_MAX", CONSTANT, _POSIX_THREAD_KEYS_MAX }, -#else - { "_POSIX_THREAD_KEYS_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_THREAD_THREADS_MAX - { "_POSIX_THREAD_THREADS_MAX",CONSTANT, _POSIX_THREAD_THREADS_MAX }, -#else - { "_POSIX_THREAD_THREADS_MAX",G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TIMER_MAX - { "_POSIX_TIMER_MAX", CONSTANT, _POSIX_TIMER_MAX }, -#else - { "_POSIX_TIMER_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TRACE_EVENT_NAME_MAX - { "_POSIX_TRACE_EVENT_NAME_MAX", CONSTANT, _POSIX_TRACE_EVENT_NAME_MAX }, -#else - { "_POSIX_TRACE_EVENT_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TRACE_NAME_MAX - { "_POSIX_TRACE_NAME_MAX", CONSTANT, _POSIX_TRACE_NAME_MAX }, -#else - { "_POSIX_TRACE_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TRACE_SYS_MAX - { "_POSIX_TRACE_SYS_MAX", CONSTANT, _POSIX_TRACE_SYS_MAX }, -#else - { "_POSIX_TRACE_SYS_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TRACE_USER_EVENT_MAX - { "_POSIX_TRACE_USER_EVENT_MAX", CONSTANT, _POSIX_TRACE_USER_EVENT_MAX }, -#else - { "_POSIX_TRACE_USER_EVENT_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TTY_NAME_MAX - { "_POSIX_TTY_NAME_MAX", CONSTANT, _POSIX_TTY_NAME_MAX }, -#else - { "_POSIX_TTY_NAME_MAX", G_UNDEF, -1 }, -#endif -#ifdef _POSIX_TZNAME_MAX - { "_POSIX_TZNAME_MAX", CONSTANT, _POSIX_TZNAME_MAX }, -#else - { "_POSIX_TZNAME_MAX", G_UNDEF, -1 }, -#endif - - /* POSIX.1 Maximum Values */ -#ifdef _POSIX_CLOCKRES_MIN - { "_POSIX_CLOCKRES_MIN", CONSTANT, _POSIX_CLOCKRES_MIN }, -#else - { "_POSIX_CLOCKRES_MIN", G_UNDEF, -1 }, -#endif - - /* POSIX.1-2001/XPG6 (and later) Runtime Invariants from <limits.h> */ -#ifdef _SC_SS_REPL_MAX - { "SS_REPL_MAX", SYSCONF, _SC_SS_REPL_MAX }, -#endif -#ifdef _SC_TRACE_EVENT_NAME_MAX - { "TRACE_EVENT_NAME_MAX", SYSCONF, _SC_TRACE_EVENT_NAME_MAX }, -#endif -#ifdef _SC_TRACE_NAME_MAX - { "TRACE_NAME_MAX", SYSCONF, _SC_TRACE_NAME_MAX }, -#endif -#ifdef _SC_TRACE_SYS_MAX - { "TRACE_SYS_MAX", SYSCONF, _SC_TRACE_SYS_MAX }, -#endif -#ifdef _SC_TRACE_USER_EVENT_MAX - { "TRACE_USER_EVENT_MAX", SYSCONF, _SC_TRACE_USER_EVENT_MAX }, -#endif - - /* POSIX.2/XPG 4.2 (and later) Symbolic Utility Limits */ -#ifdef _SC_BC_BASE_MAX - { "BC_BASE_MAX", SYSCONF, _SC_BC_BASE_MAX }, -#endif -#ifdef _SC_BC_DIM_MAX - { "BC_DIM_MAX", SYSCONF, _SC_BC_DIM_MAX }, -#endif -#ifdef _SC_BC_SCALE_MAX - { "BC_SCALE_MAX", SYSCONF, _SC_BC_SCALE_MAX }, -#endif -#ifdef _SC_BC_STRING_MAX - { "BC_STRING_MAX", SYSCONF, _SC_BC_STRING_MAX }, -#endif -#ifdef CHARCLASS_NAME_MAX - { "CHARCLASS_NAME_MAX", CONSTANT, CHARCLASS_NAME_MAX }, -#endif -#ifdef _SC_COLL_WEIGHTS_MAX - { "COLL_WEIGHTS_MAX", SYSCONF, _SC_COLL_WEIGHTS_MAX }, -#endif -#ifdef _SC_EXPR_NEST_MAX - { "EXPR_NEST_MAX", SYSCONF, _SC_EXPR_NEST_MAX }, -#endif -#ifdef _SC_LINE_MAX - { "LINE_MAX", SYSCONF, _SC_LINE_MAX }, -#endif -# ifdef NL_ARGMAX - { "NL_ARGMAX", CONSTANT, NL_ARGMAX }, -#endif -#ifdef NL_LANGMAX - { "NL_LANGMAX", CONSTANT, NL_LANGMAX }, -#endif -#ifdef NL_MSGMAX - { "NL_MSGMAX", CONSTANT, NL_MSGMAX }, -#endif -#ifdef NL_NMAX - { "NL_NMAX", CONSTANT, NL_NMAX }, -#endif -#ifdef NL_SETMAX - { "NL_SETMAX", CONSTANT, NL_SETMAX }, -#endif -#ifdef NL_TEXTMAX - { "NL_TEXTMAX", CONSTANT, NL_TEXTMAX }, -#endif -#ifdef _SC_RAW_SOCKET - { "RAW_SOCKET", SYSCONF, _SC_RAW_SOCKET }, -#endif -#ifdef _SC_RE_DUP_MAX - { "RE_DUP_MAX", SYSCONF, _SC_RE_DUP_MAX }, -#endif - - /* POSIX.2 Optional Facility Configuration Values */ -#ifdef _SC_2_C_BIND - { "POSIX2_C_BIND", SYSCONF, _SC_2_C_BIND }, -#else - { "POSIX2_C_BIND", G_UNDEF, -1 }, -#endif -#ifdef _SC_2_C_DEV - { "POSIX2_C_DEV", SYSCONF, _SC_2_C_DEV }, -#else - { "POSIX2_C_DEV", G_UNDEF, -1 }, -#endif -#if defined (_SC_2_C_VERSION) - { "POSIX2_C_VERSION", SYSCONF, _SC_2_C_VERSION }, -#else - { "POSIX2_C_VERSION", G_UNDEF, -1 }, -#endif -#if defined (_SC_2_CHAR_TERM) - { "POSIX2_CHAR_TERM", SYSCONF, _SC_2_CHAR_TERM }, -#else - { "POSIX2_CHAR_TERM", G_UNDEF, -1 }, -#endif -#ifdef _SC_2_FORT_DEV - { "POSIX2_FORT_DEV", SYSCONF, _SC_2_FORT_DEV }, -#else - { "POSIX2_FORT_DEV", G_UNDEF, -1 }, -#endif -#ifdef _SC_2_FORT_RUN - { "POSIX2_FORT_RUN", SYSCONF, _SC_2_FORT_RUN }, -#else - { "POSIX2_FORT_RUN", G_UNDEF, -1 }, -#endif -#ifdef _SC_2_LOCALEDEF - { "POSIX2_LOCALEDEF", SYSCONF, _SC_2_LOCALEDEF }, -#else - { "POSIX2_LOCALEDEF", G_UNDEF, -1 }, -#endif -#ifdef _SC_2_SW_DEV - { "POSIX2_SW_DEV", SYSCONF, _SC_2_SW_DEV }, -#else - { "POSIX2_SW_DEV", G_UNDEF, -1 }, -#endif -#if defined (_SC2_UPE) - { "POSIX2_UPE", SYSCONF, _SC_2_UPE }, -#else - { "POSIX2_UPE", G_UNDEF, -1 }, -#endif -#if !defined (_POSIX2_VERSION) && defined (_SC_2_VERSION) - { "_POSIX2_VERSION", SYSCONF, _SC_2_VERSION }, -#else - { "_POSIX2_VERSION", G_UNDEF, -1 }, -#endif -#if defined (_SC_REGEX_VERSION) - { "REGEX_VERSION", SYSCONF, _SC_REGEX_VERSION }, - { "_REGEX_VERSION", SYSCONF, _SC_REGEX_VERSION }, -#else - { "REGEX_VERSION", G_UNDEF, -1 }, - { "_REGEX_VERSION", G_UNDEF, -1 }, -#endif - -#if defined (_SC_2_PBS) - { "_POSIX2_PBS", SYSCONF, _SC_2_PBS }, - { "_POSIX2_PBS_ACCOUNTING", SYSCONF, _SC_2_PBS_ACCOUNTING }, -# if defined (_SC_2_PBS_CHECKPOINT) - { "_POSIX2_PBS_CHECKPOINT", SYSCONF, _SC_2_PBS_CHECKPOINT }, -# endif - { "_POSIX2_PBS_LOCATE", SYSCONF, _SC_2_PBS_LOCATE }, - { "_POSIX2_PBS_MESSAGE", SYSCONF, _SC_2_PBS_MESSAGE }, - { "_POSIX2_PBS_TRACK", SYSCONF, _SC_2_PBS_TRACK }, -#endif - - /* POSIX.1 Configurable System Variables */ -#ifdef _SC_ARG_MAX - { "ARG_MAX", SYSCONF, _SC_ARG_MAX }, -#endif -#ifdef _SC_CHILD_MAX - { "CHILD_MAX", SYSCONF, _SC_CHILD_MAX }, -#endif -#ifdef _SC_CLK_TCK - { "CLK_TCK", SYSCONF, _SC_CLK_TCK }, -#endif -#ifdef _SC_DELAYTIMER_MAX - { "DELAYTIMER_MAX", SYSCONF, _SC_DELAYTIMER_MAX }, -#endif -#ifdef _SC_NGROUPS_MAX - { "NGROUPS_MAX", SYSCONF, _SC_NGROUPS_MAX }, -#endif -#ifdef NZERO - { "NZERO", CONSTANT, NZERO }, -#endif -#ifdef _SC_OPEN_MAX - { "OPEN_MAX", SYSCONF, _SC_OPEN_MAX }, -#endif -#ifdef PASS_MAX - { "PASS_MAX", CONSTANT, PASS_MAX }, -#endif -#ifdef _SC_STREAM_MAX - { "STREAM_MAX", SYSCONF, _SC_STREAM_MAX }, -#endif -#ifdef TMP_MAX - { "TMP_MAX", CONSTANT, TMP_MAX }, -#endif -#ifdef _SC_TZNAME_MAX - { "TZNAME_MAX", SYSCONF, _SC_TZNAME_MAX }, -#endif - - /* POSIX.1 Optional Facility Configuration Values */ -#if defined (_SC_ADVISORY_INFO) - { "_POSIX_ADVISORY_INFO", SYSCONF, _SC_ADVISORY_INFO }, -#endif -#if defined (_SC_ASYNCHRONOUS_IO) - { "_POSIX_ASYNCHRONOUS_IO", SYSCONF, _SC_ASYNCHRONOUS_IO }, -#endif -#if defined (_SC_BARRIERS) - { "_POSIX_BARRIERS", SYSCONF, _SC_BARRIERS }, -#endif -#if defined (_SC_BASE) - { "_POSIX_BASE", SYSCONF, _SC_BASE }, -#endif -#if defined (_SC_C_LANG_SUPPORT) - { "_POSIX_C_LANG_SUPPORT", SYSCONF, _SC_C_LANG_SUPPORT }, -#endif -#if defined (_SC_C_LANG_SUPPORT_R) - { "_POSIX_C_LANG_SUPPORT_R", SYSCONF, _SC_C_LANG_SUPPORT_R }, -#endif -#if defined (_SC_CLOCK_SELECTION) - { "_POSIX_CLOCK_SELECTION", SYSCONF, _SC_CLOCK_SELECTION }, -#endif -#if defined (_SC_CPUTIME) - { "_POSIX_CPUTIME", SYSCONF, _SC_CPUTIME }, -#endif -#if defined (_SC_DEVICE_IO) - { "_POSIX_DEVICE_IO", SYSCONF, _SC_DEVICE_IO }, -#endif -#if defined (_SC_DEVICE_SPECIFIC) - { "_POSIX_DEVICE_SPECIFIC", SYSCONF, _SC_DEVICE_SPECIFIC }, -#endif -#if defined (_SC_DEVICE_SPECIFIC_R) - { "_POSIX_DEVICE_SPECIFIC_R", SYSCONF, _SC_DEVICE_SPECIFIC_R }, -#endif -#if defined (_SC_FD_MGMT) - { "_POSIX_FD_MGMT", SYSCONF, _SC_FD_MGMT }, -#endif -#if defined (_SC_FIFO) - { "_POSIX_FIFO", SYSCONF, _SC_FIFO }, -#endif -#if defined (_SC_FILE_ATTRIBUTES) - { "_POSIX_FILE_ATTRIBUTES", SYSCONF, _SC_FILE_ATTRIBUTES }, -#endif -#if defined (_SC_FILE_LOCKING) - { "_POSIX_FILE_LOCKING", SYSCONF, _SC_FILE_LOCKING }, -#endif -#if defined (_SC_FILE_SYSTEM) - { "_POSIX_FILE_SYSTEM", SYSCONF, _SC_FILE_SYSTEM }, -#endif -#if defined (_SC_FSYNC) - { "_POSIX_FSYNC", SYSCONF, _SC_FSYNC }, -#endif -#if defined (_SC_IPV6) - { "_POSIX_IPV6", SYSCONF, _SC_IPV6 }, -#endif -#if defined (_SC_JOB_CONTROL) - { "_POSIX_JOB_CONTROL", SYSCONF, _SC_JOB_CONTROL }, -#endif -#if defined (_SC_MAPPED_FILES) - { "_POSIX_MAPPED_FILES", SYSCONF, _SC_MAPPED_FILES }, -#endif -#if defined (_SC_MEMLOCK) - { "_POSIX_MEMLOCK", SYSCONF, _SC_MEMLOCK }, -#endif -#if defined (_SC_MEMLOCK_RANGE) - { "_POSIX_MEMLOCK_RANGE", SYSCONF, _SC_MEMLOCK_RANGE }, -#endif -#if defined (_SC_MEMORY_PROTECTION) - { "_POSIX_MEMORY_PROTECTION", SYSCONF, _SC_MEMORY_PROTECTION }, -#endif -#if defined (_SC_MESSAGE_PASSING) - { "_POSIX_MESSAGE_PASSING", SYSCONF, _SC_MESSAGE_PASSING }, -#endif -#if defined (_SC_MONOTONIC_CLOCK) - { "_POSIX_MONOTONIC_CLOCK", SYSCONF, _SC_MONOTONIC_CLOCK }, -#endif -#if defined (_SC_MULTI_PROCESS) - { "_POSIX_MULTI_PROCESS", SYSCONF, _SC_MULTI_PROCESS }, -#endif -#if defined (_SC_NETWORKING) - { "_POSIX_NETWORKING", SYSCONF, _SC_NETWORKING }, -#endif -#if defined (_SC_PIPE) - { "_POSIX_PIPE", SYSCONF, _SC_PIPE }, -#endif -#if defined (SC_PRIORITIZED_IO) - { "_POSIX_PRIORITIZED_IO", SYSCONF, _SC_PRIORITIZED_IO }, -#endif -#if defined (_SC_PRIORITY_SCHEDULING) - { "_POSIX_PRIORITY_SCHEDULING", SYSCONF, _SC_PRIORITY_SCHEDULING }, -#endif -#if defined (_SC_READER_WRITER_LOCKS) - { "_POSIX_READER_WRITER_LOCKS", SYSCONF, _SC_READER_WRITER_LOCKS }, -#endif -#if defined (_SC_RAW_SOCKETS) - { "_POSIX_RAW_SOCKETS", SYSCONF, _SC_RAW_SOCKETS }, -#endif -#if defined (_SC_REALTIME_SIGNALS) - { "_POSIX_REALTIME_SIGNALS", SYSCONF, _SC_REALTIME_SIGNALS }, -#endif -#if defined (_SC_REGEXP) - { "_POSIX_REGEXP", SYSCONF, _SC_REGEXP }, -#endif -#if defined (_SC_SAVED_IDS) - { "_POSIX_SAVED_IDS", SYSCONF, _SC_SAVED_IDS }, -#endif -#if defined (_SC_SEMAPHORES) - { "_POSIX_SEMAPHORES", SYSCONF, _SC_SEMAPHORES }, -#endif -#if defined (_SC_SHARED_MEMORY_OBJECTS) - { "_POSIX_SHARED_MEMORY_OBJECTS", SYSCONF, _SC_SHARED_MEMORY_OBJECTS }, -#endif - { "_POSIX_SHELL", CONSTANT, 1 }, -#if defined (_SC_SIGNALS) - { "_POSIX_SIGNALS", SYSCONF, _SC_SIGNALS }, -#endif -#if defined (_SC_SINGLE_PROCESS) - { "_POSIX_SINGLE_PROCESS", SYSCONF, _SC_SINGLE_PROCESS }, -#endif -#if defined (_SC_SPAWN) - { "_POSIX_SPAWN", SYSCONF, _SC_SPAWN }, -#endif -#if defined (_SC_SPIN_LOCKS) - { "_POSIX_SPIN_LOCKS", SYSCONF, _SC_SPIN_LOCKS }, -#endif -#if defined (_SC_SPORADIC_SERVER) - { "_POSIX_SPORADIC_SERVER", SYSCONF, _SC_SPORADIC_SERVER }, -#endif -#if defined (_SC_SYMLOOP_MAX) - { "_POSIX_SYMLOOP_MAX", SYSCONF, _SC_SYMLOOP_MAX }, -#endif -#if defined (_SC_SYNCHRONIZED_IO) - { "_POSIX_SYNCHRONIZED_IO", SYSCONF, _SC_SYNCHRONIZED_IO }, -#endif -#if defined (_SC_SYSTEM_DATABASE) - { "_POSIX_SYSTEM_DATABASE", SYSCONF, _SC_SYSTEM_DATABASE }, -#endif -#if defined (_SC_SYSTEM_DATABASE_R) - { "_POSIX_SYSTEM_DATABASE_R", SYSCONF, _SC_SYSTEM_DATABASE_R }, -#endif -#if defined (_SC_THREAD_ATTR_STACKADDR) - { "_POSIX_THREAD_ATTR_STACKADDR", SYSCONF, _SC_THREAD_ATTR_STACKADDR }, -#endif -#if defined (_SC_THREAD_ATTR_STACKSIZE) - { "_POSIX_THREAD_ATTR_STACKSIZE", SYSCONF, _SC_THREAD_ATTR_STACKSIZE }, -#endif -#if defined (_SC_THREAD_CPUTIME) - { "_POSIX_THREAD_CPUTIME", SYSCONF, _SC_THREAD_CPUTIME }, -#endif -#if defined (_SC_THREAD_PRIO_INHERIT) - { "_POSIX_THREAD_PRIO_INHERIT", SYSCONF, _SC_THREAD_PRIO_INHERIT }, -#endif -#if defined (_SC_THREAD_PRIO_PROTECT) - { "_POSIX_THREAD_PRIO_PROTECT", SYSCONF, _SC_THREAD_PRIO_PROTECT }, -#endif -#if defined (_SC_THREAD_PRIORITY_SCHEDULING) - { "_POSIX_THREAD_PRIORITY_SCHEDULING", SYSCONF, _SC_THREAD_PRIORITY_SCHEDULING }, -#endif -#if defined (_SC_THREAD_PROCESS_SHARED) - { "_POSIX_THREAD_PROCESS_SHARED", SYSCONF, _SC_THREAD_PROCESS_SHARED }, -#endif -#if defined (_SC_THREAD_SAFE_FUNCTIONS) - { "_POSIX_THREAD_SAFE_FUNCTIONS", SYSCONF, _SC_THREAD_SAFE_FUNCTIONS }, -#endif -#if defined (_SC_THREAD_SPORADIC_SERVER) - { "_POSIX_THREAD_SPORADIC_SERVER", SYSCONF, _SC_THREAD_SPORADIC_SERVER }, -#endif -#if defined (_SC_THREADS) - { "_POSIX_THREADS", SYSCONF, _SC_THREADS }, -#endif -#if defined (_SC_TIMEOUTS) - { "_POSIX_TIMEOUTS", SYSCONF, _SC_TIMEOUTS }, -#endif -#if defined (_SC_TIMERS) - { "_POSIX_TIMERS", SYSCONF, _SC_TIMERS }, -#endif -#if defined (_SC_TRACE) - { "_POSIX_TRACE", SYSCONF, _SC_TRACE }, -#endif -#if defined (_SC_TRACE) - { "_POSIX_TRACE_EVENT_FILTER",SYSCONF, _SC_TRACE_EVENT_FILTER }, -#endif -#if defined (_SC_TRACE) - { "_POSIX_TRACE_INHERIT", SYSCONF, _SC_TRACE_INHERIT }, -#endif -#if defined (_SC_TRACE) - { "_POSIX_TRACE_LOG", SYSCONF, _SC_TRACE_LOG }, -#endif -#if defined (_SC_TYPED_MEMORY_OBJECTS) - { "_POSIX_TYPED_MEMORY_OBJECTS", SYSCONF, _SC_TYPED_MEMORY_OBJECTS }, -#endif -#if defined (_SC_VERSION) - { "_POSIX_VERSION", SYSCONF, _SC_VERSION }, -#endif - - /* XPG 4.2 Configurable System Variables. */ -#if defined (_SC_ATEXIT_MAX) - { "ATEXIT_MAX", SYSCONF, _SC_ATEXIT_MAX }, -#endif -#if defined (_SC_GETGR_R_SIZE_MAX) - { "GETGR_R_SIZE_MAX", SYSCONF, _SC_GETGR_R_SIZE_MAX }, -#endif -#if defined (_SC_GETPW_R_SIZE_MAX) - { "GETPW_R_SIZE_MAX", SYSCONF, _SC_GETPW_R_SIZE_MAX }, -#endif -#if defined (_SC_HOST_NAME_MAX) - { "HOST_NAME_MAX", SYSCONF, _SC_HOST_NAME_MAX }, -#endif -#if defined (_SC_IOV_MAX) - { "IOV_MAX", SYSCONF, _SC_IOV_MAX }, -#endif -#if defined (_SC_LOGIN_NAME_MAX) - { "LOGIN_NAME_MAX", SYSCONF, _SC_LOGIN_NAME_MAX }, -#endif -#if defined (_SC_LOGNAME_MAX) - { "LOGNAME_MAX", SYSCONF, _SC_LOGNAME_MAX }, -#endif -#if defined (_SC_PAGESIZE) - { "PAGESIZE", SYSCONF, _SC_PAGESIZE }, -#endif -#if defined (_SC_PAGE_SIZE) - { "PAGE_SIZE", SYSCONF, _SC_PAGE_SIZE }, -#endif -#if defined (_SC_SYMLOOP_MAX) - { "SYMLOOP_MAX", SYSCONF, _SC_SYMLOOP_MAX }, -#endif -#if defined (_SC_TTY_NAME_MAX) - { "TTY_NAME_MAX", SYSCONF, _SC_TTY_NAME_MAX }, -#endif -#if defined (_SC_USER_GROUPS) - { "_POSIX_USER_GROUPS", SYSCONF, _SC_USER_GROUPS }, -#endif -#if defined (_SC_USER_GROUPS_R) - { "_POSIX_USER_GROUPS_R", SYSCONF, _SC_USER_GROUPS_R }, -#endif - -#if defined (_SC_AIO_LISTIO_MAX) - { "AIO_LISTIO_MAX", SYSCONF, _SC_AIO_LISTIO_MAX }, -#endif -#if defined (_SC_AIO_MAX) - { "AIO_MAX", SYSCONF, _SC_AIO_MAX }, -#endif -#if defined (_SC_AIO_PRIO_DELTA_MAX) - { "AIO_PRIO_DELTA_MAX", SYSCONF, _SC_AIO_PRIO_DELTA_MAX }, -#endif -#if defined (_SC_MQ_OPEN_MAX) - { "MQ_OPEN_MAX", SYSCONF, _SC_MQ_OPEN_MAX }, -#endif -#if defined (_SC_MQ_PRIO_MAX) - { "MQ_PRIO_MAX", SYSCONF, _SC_MQ_PRIO_MAX }, -#endif -#if defined (_SC_RTSIG_MAX) - { "RTSIG_MAX", SYSCONF, _SC_RTSIG_MAX }, -#endif -#if defined (_SC_SEM_NSEMS_MAX) - { "SEM_NSEMS_MAX", SYSCONF, _SC_SEM_NSEMS_MAX }, -#endif -#if defined (_SC_SEM_VALUE_MAX) - { "SEM_VALUE_MAX", SYSCONF, _SC_SEM_VALUE_MAX }, -#endif -#if defined (_SC_SIGQUEUE_MAX) - { "SIGQUEUE_MAX", SYSCONF, _SC_SIGQUEUE_MAX }, -#endif -#if defined (_SC_TIMER_MAX) - { "TIMER_MAX", SYSCONF, _SC_TIMER_MAX }, -#endif - -#if defined (_SC_THREAD_DESTRUCTOR_ITERATIONS) - { "PTHREAD_DESTRUCTOR_ITERATIONS", SYSCONF, _SC_THREAD_DESTRUCTOR_ITERATIONS }, -#endif -#if defined (_SC_THREAD_KEYS_MAX) - { "PTHREAD_KEYS_MAX", SYSCONF, _SC_THREAD_KEYS_MAX }, -#endif -#if defined (_SC_THREAD_STACK_MIN) - { "PTHREAD_STACK_MIN", SYSCONF, _SC_THREAD_STACK_MIN }, -#endif -#if defined (_SC_THREAD_THREADS_MAX) - { "PTHREAD_THREADS_MAX", SYSCONF, _SC_THREAD_THREADS_MAX }, -#endif - - /* XPG 4.2 (and later) Optional Facility Configuration Values */ -#if defined (_SC_XOPEN_CRYPT) - { "_XOPEN_CRYPT", SYSCONF, _SC_XOPEN_CRYPT }, -#endif -#if defined (_SC_XOPEN_ENH_I18N) - { "_XOPEN_ENH_I18N", SYSCONF, _SC_XOPEN_ENH_I18N }, -#endif -#if defined (_SC_XOPEN_LEGACY) - { "_XOPEN_LEGACY", SYSCONF, _SC_XOPEN_LEGACY }, -#endif /* _SC_XOPEN_LEGACY */ -#if defined (_SC_XOPEN_REALTIME) - { "_XOPEN_REALTIME", SYSCONF, _SC_XOPEN_REALTIME }, -#endif -#if defined (_SC_XOPEN_REALTIME_THREADS) - { "_XOPEN_REALTIME_THREADS", SYSCONF, _SC_XOPEN_REALTIME_THREADS }, -#endif -#if defined (_SC_XOPEN_SHM) - { "_XOPEN_SHM", SYSCONF, _SC_XOPEN_SHM }, -#endif -#if defined (_SC_XOPEN_STREAMS) - { "_XOPEN_STREAMS", SYSCONF, _SC_XOPEN_STREAMS }, -#endif -#if defined (_SC_XOPEN_UNIX) - { "_XOPEN_UNIX", SYSCONF, _SC_XOPEN_UNIX }, -#endif -#if defined (_SC_XOPEN_VERSION) - { "_XOPEN_VERSION", SYSCONF, _SC_XOPEN_VERSION }, -#endif -#if defined (_SC_XOPEN_XCU_VERSION) - { "_XOPEN_XCU_VERSION", SYSCONF, _SC_XOPEN_XCU_VERSION }, -#endif -#if defined (_SC_XOPEN_XPG2) - { "_XOPEN_XPG2", SYSCONF, _SC_XOPEN_XPG2 }, -#endif -#if defined (_SC_XOPEN_XPG3) - { "_XOPEN_XPG3", SYSCONF, _SC_XOPEN_XPG3 }, -#endif -#if defined (_SC_XOPEN_XPG4) - { "_XOPEN_XPG4", SYSCONF, _SC_XOPEN_XPG4 }, -#endif -#if defined (_SC_XOPEN_XPG5) - { "_XOPEN_XPG5", SYSCONF, _SC_XOPEN_XPG5 }, -#endif - - /* POSIX.1 Configurable Pathname Values */ -#ifdef _PC_LINK_MAX - { "LINK_MAX", PATHCONF, _PC_LINK_MAX }, -#endif -#ifdef _PC_MAX_CANON - { "MAX_CANON", PATHCONF, _PC_MAX_CANON }, -#endif -#ifdef _PC_MAX_INPUT - { "MAX_INPUT", PATHCONF, _PC_MAX_INPUT }, -#endif -#ifdef _PC_NAMW_MAX - { "NAME_MAX", PATHCONF, _PC_NAME_MAX }, -#endif -#ifdef _PC_PATH_MAX - { "PATH_MAX", PATHCONF, _PC_PATH_MAX }, -#endif -#ifdef _PC_PIPE_BUF - { "PIPE_BUF", PATHCONF, _PC_PIPE_BUF }, -#endif -#ifdef _PC_SYMLINK_MAX - { "SYMLINK_MAX", PATHCONF, _PC_SYMLINK_MAX }, -#endif -#ifdef _PC_CHOWN_RESTRICTED - { "_POSIX_CHOWN_RESTRICTED", PATHCONF, _PC_CHOWN_RESTRICTED }, -#endif -#ifdef _PC_NO_TRUNC - { "_POSIX_NO_TRUNC", PATHCONF, _PC_NO_TRUNC }, -#endif -#ifdef _PC_VDISABLE - { "_POSIX_VDISABLE", PATHCONF, _PC_VDISABLE }, -#endif - - /* XPG 4.2 Configurable Pathname Values */ -#if defined (_PC_FILESIZEBITS) - { "FILESIZEBITS", PATHCONF, _PC_FILESIZEBITS }, -#endif -#if defined (_PC_ASYNC_IO) - { "_POSIX_ASYNC_IO", PATHCONF, _PC_ASYNC_IO }, -#endif -#if defined (_PC_PRIO_IO) - { "_POSIX_PRIO_IO", PATHCONF, _PC_PRIO_IO }, -#endif -#if defined (_PC_SYNC_IO) - { "_POSIX_SYNC_IO", PATHCONF, _PC_SYNC_IO }, -#endif - - /* POSIX.1-200x configurable pathname values */ -#if defined (_PC_ALLOC_SIZE_MIN) - { "POSIX_ALLOC_SIZE_MIN", PATHCONF, _PC_ALLOC_SIZE_MIN }, - { "POSIX_REC_INCR_XFER_SIZE", PATHCONF, _PC_REC_INCR_XFER_SIZE }, - { "POSIX_REC_MAX_XFER_SIZE", PATHCONF, _PC_REC_MAX_XFER_SIZE }, - { "POSIX_REC_MIN_XFER_SIZE", PATHCONF, _PC_REC_MIN_XFER_SIZE }, - { "POSIX_REC_XFER_ALIGN", PATHCONF, _PC_REC_XFER_ALIGN }, -#endif - - /* ANSI/ISO C, POSIX.1-200x, XPG 4.2 (and later) C language type limits. */ - { "CHAR_BIT", CONSTANT, CHAR_BIT }, - { "CHAR_MAX", CONSTANT, CHAR_MAX }, - { "CHAR_MIN", CONSTANT, CHAR_MIN }, - { "INT_BIT", CONSTANT, INT_BIT }, - { "INT_MAX", CONSTANT, INT_MAX }, - { "INT_MIN", CONSTANT, INT_MIN }, -#ifdef LLONG_MAX - { "LLONG_MAX", LLCONST, VAL_LLONG_MAX }, - { "LLONG_MIN", LLCONST, VAL_LLONG_MIN }, -#endif - { "LONG_BIT", CONSTANT, LONG_BIT }, - { "LONG_MAX", CONSTANT, LONG_MAX }, - { "LONG_MIN", CONSTANT, LONG_MIN }, -#ifdef MB_LEN_MAX - { "MB_LEN_MAX", CONSTANT, MB_LEN_MAX }, -#endif - { "SCHAR_MAX", CONSTANT, SCHAR_MAX }, - { "SCHAR_MIN", CONSTANT, SCHAR_MIN }, - { "SHRT_MAX", CONSTANT, SHRT_MAX }, - { "SHRT_MIN", CONSTANT, SHRT_MIN }, - { "SIZE_MAX", CONSTANT, SIZE_MAX }, - { "SSIZE_MAX", CONSTANT, SSIZE_MAX }, - { "UCHAR_MAX", CONSTANT, UCHAR_MAX }, - { "UINT_MAX", CONSTANT, UINT_MAX }, -#ifdef ULLONG_MAX - { "ULLONG_MAX", LLCONST, VAL_ULLONG_MAX }, -#endif - { "ULONG_MAX", CONSTANT, ULONG_MAX }, - { "USHRT_MAX", CONSTANT, USHRT_MAX }, - { "WORD_BIT", CONSTANT, WORD_BIT }, - - { NULL } -}; - -static int num_getconf_variables = sizeof(conf_table) / sizeof(struct conf_variable) - 1; - -extern char *this_command_name; -extern char **make_builtin_argv (); - -static void getconf_help (); -static int getconf_print (); -static int getconf_one (); -static int getconf_all (); - -int -getconf_builtin (list) - WORD_LIST *list; -{ - int c, r, opt, aflag; - char **v; - - aflag = 0; - reset_internal_getopt(); - while ((opt = internal_getopt (list, "ahv:")) != -1) { - switch (opt) { - case 'a': - aflag = 1; - break; - case 'h': - getconf_help(); - return(EXECUTION_SUCCESS); - case 'v': - break; /* ignored */ - default: - builtin_usage(); - return(EX_USAGE); - } - } - - list = loptend; - if ((aflag == 0 && list == 0) || (aflag && list) || list_length(list) > 2) { - builtin_usage(); - return(EX_USAGE); - } - - r = aflag ? getconf_all() : getconf_one(list); - - return r; -} - -static void -getconf_help() -{ - const struct conf_variable *cp; - register int i, column; - - builtin_usage(); - printf("Acceptable variable names are:\n"); - for (cp = conf_table; cp->name != NULL; cp++) { - if (cp->type == PATHCONF) - printf("%s pathname\n", cp->name); - else - printf("%s\n", cp->name); - } -} - -static int -getconf_print(cp, vpath, all) -struct conf_variable *cp; -char *vpath; -int all; -{ - long val; - char *sval; - size_t slen; - - switch (cp->type) { - case G_UNDEF: - printf("undefined\n"); - break; - -#ifdef LLONG_MAX - case LLCONST: - switch (cp->value) { - default: - case VAL_LLONG_MIN: - printf ("%lld\n", LLONG_MIN); - break; - case VAL_LLONG_MAX: - printf ("%lld\n", LLONG_MAX); - break; -# if (ULLONG_MAX != LLONG_MAX) - case VAL_ULLONG_MAX: - printf ("%llu\n", ULLONG_MAX); - break; -# endif - } - break; -#endif - case CONSTANT: - switch (cp->value) { - case UCHAR_MAX: - case USHRT_MAX: - case UINT_MAX: -#if (ULONG_MAX != UINT_MAX) - case ULONG_MAX: -#endif -#if (SIZE_MAX != UINT_MAX) && (SIZE_MAX != ULONG_MAX) - case SIZE_MAX: -#endif - - printf("%lu\n", cp->value); - break; - default: - printf("%ld\n", cp->value); - break; - } - break; - - case CONFSTR: - errno = 0; - slen = confstr (cp->value, (char *) 0, (size_t) 0); - if (slen == 0) { - if (errno != 0) { - if (all) - printf ("getconf: %s\n", strerror(errno)); - else - builtin_error ("%s", strerror(errno)); - } else - printf ("undefined\n"); - return (EXECUTION_FAILURE); - } - sval = xmalloc(slen); - - confstr(cp->value, sval, slen); - printf("%s\n", sval); - free(sval); - break; - - case SYSCONF: - errno = 0; - if ((val = sysconf(cp->value)) == -1) { - if (errno != 0) { - if (all) - printf("getconf: %s\n", strerror (errno)); - else - builtin_error ("%s", strerror (errno)); - return (EXECUTION_FAILURE); - } - - printf ("undefined\n"); - } else { - printf("%ld\n", val); - } - break; - - case PATHCONF: - errno = 0; - if ((val = pathconf(vpath, cp->value)) == -1) { - if (errno != 0) { - if (all) - printf("getconf: %s: %s\n", vpath, strerror (errno)); - else - builtin_error ("%s: %s", vpath, strerror (errno)); - return (EXECUTION_FAILURE); - } - - printf ("undefined\n"); - } else { - printf ("%ld\n", val); - } - break; - } - - return (ferror(stdout) ? EXECUTION_FAILURE : EXECUTION_SUCCESS); -} - -static int -getconf_all() -{ - const struct conf_variable *cp; - int ret; - - ret = EXECUTION_SUCCESS; - for (cp = conf_table; cp->name != NULL; cp++) { - printf("%-35s", cp->name); - if (getconf_print(cp, "/", 1) == EXECUTION_FAILURE) - ret = EXECUTION_FAILURE; - } - return ret; -} - -static int -getconf_one(list) - WORD_LIST *list; -{ - const struct conf_variable *cp; - char *vname, *vpath; - - vname = list->word->word; - vpath = (list->next && list->next->word) ? list->next->word->word - : (char *)NULL; - - for (cp = conf_table; cp->name != NULL; cp++) { - if (strcmp(vname, cp->name) == 0) - break; - } - if (cp->name == NULL) { - builtin_error ("%s: unknown variable", vname); - return (EXECUTION_FAILURE); - } - - if (cp->type == PATHCONF) { - if (list->next == 0) { - builtin_usage(); - return(EX_USAGE); - } - } else { - if (list->next) { - builtin_usage(); - return(EX_USAGE); - } - } - - return (getconf_print(cp, vpath, 0)); -} - -static char *getconf_doc[] = { - "getconf writes the current value of a configurable system limit or", - "option variable to the standard output.", - (char *)NULL -}; - -struct builtin getconf_struct = { - "getconf", - getconf_builtin, - BUILTIN_ENABLED, - getconf_doc, - "getconf -[ah] or getconf [-v spec] sysvar or getconf [-v spec] pathvar pathname", - 0 -}; - -#ifndef HAVE_CONFSTR -static size_t -confstr (name, buf, len) - int name; - char *buf; - size_t len; -{ - switch (name) - { - case _CS_PATH: - if (len > 0 && buf) - { - strncpy (buf, STANDARD_UTILS_PATH, len - 1); - buf[len - 1] = '\0'; - } - return (sizeof (STANDARD_UTILS_PATH) + 1); - default: - errno = EINVAL; - return 0; - } -} -#endif - -#ifndef HAVE_SYSCONF -extern long get_clk_tck __P((void)); - -static long -sysconf (name) - int name; -{ -# if defined (_POSIX_VERSION) - switch (name) - { - case _SC_ARG_MAX: - return _POSIX_ARG_MAX; - case _SC_CHILD_MAX: - return _POSIX_CHILD_MAX; - case _SC_CLK_TCK: - return get_clk_tck(); - case _SC_NGROUPS_MAX: - return _POSIX_NGROUPS_MAX; - case _SC_OPEN_MAX: - return _POSIX_OPEN_MAX; - case _SC_JOB_CONTROL: - return _POSIX_JOB_CONTROL; - case _SC_SAVED_IDS: - return _POSIX_SAVED_IDS; - case _SC_VERSION: - return _POSIX_VERSION; - case _SC_BC_BASE_MAX: - return _POSIX2_BC_BASE_MAX; - case _SC_BC_DIM_MAX: - return _POSIX2_BC_DIM_MAX; - case _SC_BC_SCALE_MAX: - return _POSIX2_BC_SCALE_MAX; - case _SC_BC_STRING_MAX: - return _POSIX2_BC_STRING_MAX; - case _SC_COLL_WEIGHTS_MAX: - return -1; - case _SC_EXPR_NEST_MAX: - return _POSIX2_EXPR_NEST_MAX; - case _SC_LINE_MAX: - return _POSIX2_LINE_MAX; - case _SC_RE_DUP_MAX: - return _POSIX2_RE_DUP_MAX; - case _SC_STREAM_MAX: - return _POSIX_STREAM_MAX; - case _SC_TZNAME_MAX: - return _POSIX_TZNAME_MAX; - default: - errno = EINVAL; - return -1; - } -#else - errno = EINVAL; - return -1; -#endif -} -#endif - -#ifndef HAVE_PATHCONF -static long -pathconf (path, name) - const char *path; - int name; -{ -#if defined (_POSIX_VERSION) - switch (name) - { - case _PC_LINK_MAX: - return _POSIX_LINK_MAX; - case _PC_MAX_CANON: - return _POSIX_MAX_CANON; - case _PC_MAX_INPUT: - return _POSIX_MAX_INPUT; - case _PC_NAME_MAX: - return _POSIX_NAME_MAX; - case _PC_PATH_MAX: - return _POSIX_PATH_MAX; - case _PC_PIPE_BUF: - return _POSIX_PIPE_BUF; - case _PC_CHOWN_RESTRICTED: -#ifdef _POSIX_CHOWN_RESTRICTED - return _POSIX_CHOWN_RESTRICTED; -#else - return -1; -#endif - case _PC_NO_TRUNC: -#ifdef _POSIX_NO_TRUNC - return _POSIX_NO_TRUNC; -#else - return -1; -#endif - case _PC_VDISABLE: -#ifdef _POSIX_VDISABLE - return _POSIX_VDISABLE; -#else - return -1; -#endif - default: - errno = EINVAL; - return -1; - } -#else - errno = EINVAL; - return -1; -#endif -} -#endif diff --git a/examples/misc/aliasconv.bash~ b/examples/misc/aliasconv.bash~ deleted file mode 100755 index d3b5776c..00000000 --- a/examples/misc/aliasconv.bash~ +++ /dev/null @@ -1,42 +0,0 @@ -#! /bin/bash -# -# aliasconv.bash - convert csh aliases to bash aliases and functions -# -# usage: aliasconv.bash -# -# Chet Ramey -# chet@po.cwru.edu -# -trap 'rm -f /tmp/cb$$.?' 0 1 2 3 6 15 - -T=$'\t' - -cat << \EOF >/tmp/cb$$.1 -mkalias () -{ - case $2 in - '') echo alias ${1}="''" ;; - *[#\!]*) - comm=$(echo $2 | sed 's/\!\*/"$\@"/g - s/\!:\([1-9]\)/"$\1"/g - s/#/\#/g') - echo $1 \(\) "{" command "$comm" "; }" - ;; - *) echo alias ${1}=\'$(echo "${2}" | sed "s:':'\\\\'':")\' ;; - esac -} -EOF - -# the first thing we want to do is to protect single quotes in the alias, -# since they whole thing is going to be surrounded by single quotes when -# passed to mkalias - -sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>/tmp/cb$$.1 - -$BASH /tmp/cb$$.1 | sed -e 's/\$cwd/\$PWD/g' \ - -e 's/\$term/\$TERM/g' \ - -e 's/\$home/\$HOME/g' \ - -e 's/\$user/\$USER/g' \ - -e 's/\$prompt/\$PS1/g' - -exit 0 diff --git a/examples/scripts/adventure.sh.save1 b/examples/scripts/adventure.sh.save1 deleted file mode 100755 index 4e223939..00000000 --- a/examples/scripts/adventure.sh.save1 +++ /dev/null @@ -1,549 +0,0 @@ -#!/bin/bash -# ash -- "Adventure shell" -# last edit: 86/04/21 D A Gwyn -# SCCS ID: @(#)ash.sh 1.4 - -OPATH=$PATH - -ask() -{ - echo -n "$@" '[y/n] ' - read ans - - case "$ans" in - y*|Y*) - return 0 - ;; - *) - return 1 - ;; - esac -} - -CAT=${PAGER:-more} - -ash_inst() -{ - cat <<- EOF - - Instructions for the Adventure shell - - Welcome to the Adventure shell! In this exploration of the UNIX file - system, I will act as your eyes and hands. As you move around, I will - describe whatever is visible and will carry out your commands. The - general form of a command is - Verb Object Extra_stuff. - Most commands pay no attention to the "Extra_stuff", and many do not - need an "Object". A typical command is - get all - which picks up all files in the current "room" (directory). You can - find out what you are carrying by typing the command - inventory - The command "help" results in a full description of all commands that I - understand. To quit the Adventure shell, type - quit - - There are UNIX monsters lurking in the background. These are also - known as "commands with arguments". - - Good luck! - EOF -} - -ash_help() -{ -echo "I understand the following commands (synonyms in parentheses):" -echo "" - -echo "change OBJECT to NEW_NAME changes the name of the object" -echo "clone OBJECT as NEW_NAME duplicates the object" -echo "drop OBJECTS leaves the objects in the room" -echo "enter (go) PASSAGE takes the labeled passage" -echo "examine OBJECTS describes the objects in detail" -echo "feed OBJECT to MONSTER stuffs the object into a UNIX monster" -echo "get (take) OBJECTS picks up the specified objects" -echo "gripe (bug) report a problem with the Adventure shell" -echo "help prints this summary" -echo "inventory (i) tells what you are carrying" -echo "kill (destroy) OBJECTS destroys the objects" -echo "look (l) describes the room, including hidden objects" -echo "open (read) OBJECT shows the contents of an object" -echo "quit (exit) leaves the Adventure shell" -echo "resurrect OBJECTS attempts to restore dead objects" -echo "steal OBJECT from MONSTER obtains the object from a UNIX monster" -echo "throw OBJECT at daemon feeds the object to the printer daemon" -echo "up takes the overhead passage" -echo "wake MONSTER awakens a UNIX monster" -echo "where (w) tells you where you are" -echo "xyzzy moves you to your home" -} - -MAINT=chet@ins.cwru.edu - -PATH=/usr/ucb:/bin:/usr/bin:/usr/local/bin:. -export PATH - -trap 'echo Ouch!' 2 3 -#trap '' 18 # disable Berkeley job control - -ash_lk(){ echo " $1 " | fgrep " $2 " >&- 2>&-; } -ash_pr(){ echo $* | tr ' ' '\012' | pr -5 -t -w75 -l$[ ( $# + 4 ) / 5 ]; } -ash_rm(){ echo " $1 " | sed -e "s/ $2 / /" -e 's/^ //' -e 's/ $//'; } - -# enable history, bang history expansion, and emacs editing -set -o history -set -o histexpand -set -o emacs - -cd -LIM=.limbo # $HOME/$LIM contains "destroyed" objects -mkdir $LIM >&- 2>&- -KNAP=.knapsack # $HOME/$KNAP contains objects being "carried" -if [ ! -d $KNAP ] -then mkdir $KNAP >&- 2>&- - if [ $? = 0 ] - then echo 'You found a discarded empty knapsack.' - else echo 'You have no knapsack to carry things in.' - exit 1 - fi -else echo 'One moment while I peek in your old knapsack...' -fi - -kn=`echo \`ls -a $KNAP | sed -e '/^\.$/d' -e '/^\.\.$/d'\`` - -if ask 'Welcome to the Adventure shell! Do you need instructions?' -then - ash_inst - echo -n 'Type a newline to continue: ' - read -fi - -wiz=false -cha=false -prev=$LIM -while : -do room=`pwd` - if [ $room != $prev ] - then if [ $room = $HOME ] - then echo 'You are in your own home.' - else echo "You have entered $room." - fi - exs= - obs= - hexs= - hobs= - f=false - for i in `ls -a` - do case $i in - .|..) ;; - .*) if [ -f $i ] - then hobs="$hobs $i" - elif [ -d $i ] - then hexs="$hexs $i" - else f=true - fi - ;; - *) if [ -f $i ] - then obs="$obs $i" - elif [ -d $i ] - then exs="$exs $i" - else f=true - fi - ;; - esac - done - if [ "$obs" ] - then echo 'This room contains:' - ash_pr $obs - else echo 'The room looks empty.' - fi - if [ "$exs" ] - then echo 'There are exits labeled:' - ash_pr $exs - echo 'as well as a passage overhead.' - else echo 'There is a passage overhead.' - fi - if sh -c $f - then echo 'There are shadowy figures in the corner.' - fi - prev=$room - fi - - read -e -p '-advsh> ' verb obj x # prompt is '-advsh> ' - if [ $? != 0 ] - then verb=quit # EOF - fi - - case $verb in - change) if [ "$obj" ] - then if ash_lk "$obs $hobs" "$obj" - then set -- $x - case "$1" in - to) if [ "$2" ] - then if [ -f $2 ] - then echo "You must destroy $2 first." - set -- - fi - if [ "$2" ] - then if mv $obj $2 >&- 2>&- - then echo "The $obj shimmers and turns into $2." - obs=`ash_rm "$2 $obs" "$obj"` - else echo "There is a cloud of smoke but the $obj is unchanged." - fi - fi - else echo 'To what?' - fi - ;; - *) echo "Change $obj to what?" - ;; - esac - else if ash_lk "$kn" "$obj" - then echo 'You must drop it first.' - else echo "I see no $obj here." - fi - fi - else echo 'Change what?' - fi - ;; - clone) if [ "$obj" ] - then if ash_lk "$obs $hobs" "$obj" - then if [ ! -r $obj ] - then echo "The $obj does not wish to be cloned." - else set -- $x - case "$1" in - as) if [ "$2" ] - then if [ -f $2 ] - then echo "You must destroy $2 first." - else if cp $obj $2 >&- 2>&- - then echo "Poof! When the smoke clears, you see the new $2." - obs="$obs $2" - else echo 'You hear a dull thud but no clone appears.' - fi - fi - else echo 'As what?' - fi - ;; - *) echo "Clone $obj as what?" - ;; - esac - fi - else if ash_lk "$kn" "$obj" - then echo 'You must drop it first.' - else echo "I see no $obj here." - fi - fi - else echo 'Clone what?' - fi - ;; - drop) if [ "$obj" ] - then for it in $obj $x - do if ash_lk "$kn" "$it" - then if [ -w $it ] - then echo "You must destroy $it first." - else if mv $HOME/$KNAP/$it $it >&- 2>&- - then echo "$it: dropped." - kn=`ash_rm "$kn" "$it"` - obs=`echo $it $obs` - else echo "The $it is caught in your knapsack." - fi - fi - else echo "You're not carrying the $it!" - fi - done - else echo 'Drop what?' - fi - ;; - enter|go) if [ "$obj" ] - then if [ $obj != up ] - then if ash_lk "$exs $hexs" "$obj" - then if [ -x $obj ] - then if cd $obj - then echo 'You squeeze through the passage.' - else echo "You can't go that direction." - fi - else echo 'An invisible force blocks your way.' - fi - else echo 'I see no such passage.' - fi - else if cd .. - then echo 'You struggle upwards.' - else echo "You can't reach that high." - fi - fi - else echo 'Which passage?' - fi - ;; - examine) if [ "$obj" ] - then if [ $obj = all ] - then $obj=`echo $obs $exs` - x= - fi - for it in $obj $x - do if ash_lk "$obs $hobs $exs $hexs" "$it" - then echo "Upon close inspection of the $it, you see:" - ls -ld $it 2>&- - if [ $? != 0 ] - then echo "-- when you look directly at the $it, it vanishes." - fi - else if ash_lk "$kn" "$it" - then echo 'You must drop it first.' - else echo "I see no $it here." - fi - fi - done - else echo 'Examine what?' - fi - ;; - feed) if [ "$obj" ] - then if ash_lk "$obs $hobs" "$obj" - then set -- $x - case "$1" in - to) if [ "$2" ] - then shift - if PATH=$OPATH $* <$obj 2>&- - then echo "The $1 monster devours your $obj." - if rm -f $obj >&- 2>&- - then obs=`ash_rm "$obs" "$obj"` - else echo 'But he spits it back up.' - fi - else echo "The $1 monster holds his nose in disdain." - fi - else echo 'To what?' - fi - ;; - *) echo "Feed $obj to what?" - ;; - esac - else if ash_lk "$kn" "$obj" - then echo 'You must drop it first.' - else echo "I see no $obj here." - fi - fi - else echo 'Feed what?' - fi - ;; - get|take) if [ "$obj" ] - then if [ $obj = all ] - then obj="$obs" - x= - fi - for it in $obj $x - do if ash_lk "$obs $hobs" "$it" - then if ash_lk "$kn" "$it" - then echo 'You already have one.' - else if mv $it $HOME/$KNAP/$it >&- 2>&- - then echo "$it: taken." - kn="$it $kn" - obs=`ash_rm "$obs" "$it"` - else echo "The $it is too heavy." - fi - fi - else echo "I see no $it here." - fi - done - else echo 'Get what?' - fi - ;; - gripe|bug) echo 'Please describe the problem and your situation at the time it failed.\nEnd the bug report with a line containing just a Ctrl-D.' - cat | mail $MAINT -s 'ash bug' - echo 'Thank you!' - ;; - help) ash_help - ;; - inventory|i) if [ "$kn" ] - then echo 'Your knapsack contains:' - ash_pr $kn - else echo 'You are poverty-stricken.' - fi - ;; - kill|destroy) if [ "$obj" ] - then if [ $obj = all ] - then x= - if ask "Do you really want to attempt to $verb them all?" - then obj=`echo $obs` - else echo 'Chicken!' - obj= - fi - fi - for it in $obj $x - do if ash_lk "$obs $hobs" "$it" - then if mv $it $HOME/$LIM <&- >&- 2>&- - then if [ $verb = kill ] - then echo "The $it cannot defend himself; he dies." - else echo "You have destroyed the $it; it vanishes." - fi - obs=`ash_rm "$obs" "$it"` - else if [ $verb = kill ] - then echo "Your feeble blows are no match for the $it." - else echo "The $it is indestructible." - fi - fi - else if ash_lk "$kn" "$it" - then echo "You must drop the $it first." - found=false - else echo "I see no $it here." - fi - fi - done - else echo 'Kill what?' - fi - ;; - look|l) obs=`echo $obs $hobs` - hobs= - if [ "$obs" ] - then echo 'The room contains:' - ash_pr $obs - else echo 'The room is empty.' - fi - exs=`echo $exs $hexs` - hexs= - if [ "$exs" ] - then echo 'There are exits plainly labeled:' - ash_pr $exs - echo 'and a passage directly overhead.' - else echo 'The only exit is directly overhead.' - fi - ;; - magic) if [ "$obj" = mode ] - then if sh -c $cha - then echo 'You had your chance and you blew it.' - else if ask 'Are you a wizard?' - then echo -n 'Prove it! Say the magic word: ' - read obj - if [ "$obj" = armadillo ] - then echo 'Yes, master!!' - wiz=true - else echo "Homie says: I don't think so" - cha=true - fi - else echo "I didn't think so." - fi - fi - else echo 'Nice try.' - fi - ;; - open|read) if [ "$obj" ] - then if ash_lk "$obs $hobs" "$obj" - then if [ -r $obj ] - then if [ -s $obj ] - then echo "Opening the $obj reveals:" - $CAT < $obj - if [ $? != 0 ] - then echo '-- oops, you lost the contents!' - fi - else echo "There is nothing inside the $obj." - fi - else echo "You do not have the proper tools to open the $obj." - fi - else if ash_lk "$kn" "$obj" - then echo 'You must drop it first.' - found=false - else echo "I see no $obj here." - fi - fi - else echo 'Open what?' - fi - ;; - quit|exit) if ask 'Do you really want to quit now?' - then if [ "$kn" ] - then echo 'The contents of your knapsack will still be there next time.' - fi - rm -rf $HOME/$LIM - echo 'See you later!' - exit 0 - fi - ;; - resurrect) if [ "$obj" ] - then for it in $obj $x - do if ash_lk "$obs $hobs" "$it" - then echo "The $it is already alive and well." - else if mv $HOME/$LIM/$it $it <&- >&- 2>&- - then echo "The $it staggers to his feet." - obs=`echo $it $obs` - else echo "There are sparks but no $it appears." - fi - fi - done - else echo 'Resurrect what?' - fi - ;; - steal) if [ "$obj" ] - then if ash_lk "$obs $hobs" "$obj" - then echo 'There is already one here.' - else set -- $x - case "$1" in - from) if [ "$2" ] - then shift - if PATH=$OPATH $* >$obj 2>&- - then echo "The $1 monster drops the $obj." - obs=`echo $obj $obs` - else echo "The $1 monster runs away as you approach." - rm -f $obj >&- 2>&- - fi - else echo 'From what?' - fi - ;; - *) echo "Steal $obj from what?" - ;; - esac - fi - else echo 'Steal what?' - fi - ;; - throw) if [ "$obj" ] - then if ash_lk "$obs $hobs" "$obj" - then set -- $x - case "$1" in - at) case "$2" in - daemon) if sh -c "lpr -r $obj" - then echo "The daemon catches the $obj, turns it into paper,\nand leaves it in the basket." - obs=`ash_rm "$obs" "$obj"` - else echo "The daemon is nowhere to be found." - fi - ;; - *) echo 'At what?' - ;; - esac - ;; - *) echo "Throw $obj at what?" - ;; - esac - else if ash_lk "$kn" "$obj" - then echo 'It is in your knapsack.' - found=false - else echo "I see no $obj here." - fi - fi - else echo 'Throw what?' - fi - ;; - u|up) if cd .. - then echo 'You pull yourself up a level.' - else echo "You can't reach that high." - fi - ;; - wake) if [ "$obj" ] - then echo "You awaken the $obj monster:" - PATH=$OPATH $obj $x - echo 'The monster slithers back into the darkness.' - else echo 'Wake what?' - fi - ;; - w|where) echo "You are in $room." - ;; - xyzzy) if cd - then echo 'A strange feeling comes over you.' - else echo 'Your spell fizzles out.' - fi - ;; - *) if [ "$verb" ] - then if sh -c $wiz - then PATH=$OPATH $verb $obj $x - else echo "I don't know how to \"$verb\"." - echo 'Type "help" for assistance.' - fi - else echo 'Say something!' - fi - ;; - esac -done |