w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

sh.h File Reference
#include <dos.h>
#include <bios.h>
Include dependency graph for sh.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ExecDosHeader
 
struct  ExecOS2_16Header
 
struct  ExecOS2_32header
 
struct  ExecNTHeader
 
struct  ExecNTHeader::NTFileHeader
 
struct  ExecNTHeader::NTOptionalHeader
 
struct  XString
 
struct  op
 
union  YYSTYPE
 
struct  source
 
struct  builtin
 
struct  MCB_list
 
struct  brkcon
 
struct  wdblock
 
struct  save_io
 
struct  FunctionList
 
struct  AliasList
 
struct  ioword
 
struct  env
 
struct  var
 
struct  subshell
 
struct  Fields
 
struct  ExecutableMode
 
struct  GetoptsIndex
 

Macros

#define OS_DOS   1 /* MSDOS */
 
#define OS_OS2   2 /* OS/2 */
 
#define OS_NT   3 /* Windows NT */
 
#define OS_UNIX   4 /* A UNIX system */
 
#define OS_16   1 /* 16-bit O/S */
 
#define OS_32   2 /* 32-bit O/S */
 
#define OS_TYPE   OS_DOS
 
#define OS_SIZE   OS_16
 
#define OS_SWAPPING   1
 
#define F_LOCAL   near
 
#define _BOOL_T_DEFINED
 
#define TRUE   ((bool)1)
 
#define FALSE   ((bool)0)
 
#define NSIG   10
 
#define PFLG_A   0 /* Process Flag A */
 
#define PFLG_B   1 /* Process Flag B */
 
#define PFLG_C   2 /* Process Flag C */
 
#define FLGP_SUBTREE   0 /* All sub-tree processes */
 
#define FLGP_PID   1 /* only the process */
 
#define P_WAIT   0
 
#define P_NOWAIT   1
 
#define P_OVERLAY   2
 
#define OLD_P_OVERLAY   2
 
#define P_NOWAITO   3
 
#define P_DETACH   4
 
#define WAIT_CHILD   0
 
#define WAIT_GRANDCHILD   1
 
#define EIO   105 /* I/O error */
 
#define E2BIG   107 /* Arg list too long */
 
#define ENOTDIR   120 /* Not a directory */
 
#define S_IFMT   0170000
 
#define S_IFDIR   0040000
 
#define S_IFCHR   0020000
 
#define S_IFREG   0100000
 
#define S_IFBLK   0x6000 /* block special */
 
#define S_ISDIR(m)   ((((m) & S_IFMT) == S_IFDIR))
 
#define S_ISCHR(m)   ((((m) & S_IFMT) == S_IFCHR))
 
#define S_ISREG(m)   ((((m) & S_IFMT) == S_IFREG))
 
#define S_ISBLK(m)   ((((m) & S_IFMT) == S_IFBLK))
 
#define min(a, b)   (((a) < (b)) ? (a) : (b))
 
#define O_TEXT   0x4000
 
#define O_BINARY   0x8000
 
#define O_NOINHERIT   0x8000
 
#define CLOCKS_PER_SEC   1000
 
#define max(a, b)   (((a) > (b)) ? (a) : (b))
 
#define OS_FILE_DIRECTORY   _A_SUBDIR
 
#define OS_FILE_HIDDEN   _A_HIDDEN
 
#define OS_FILE_SYSTEM   _A_SYSTEM
 
#define OS_FILE_NORMAL   _A_NORMAL
 
#define OS_FILE_READONLY   _A_RDONLY
 
#define OS_FILE_ARCHIVED   _A_ARCH
 
#define _A_NORMAL   0x00 /* No attributes */
 
#define _A_RDONLY   0x01 /* Read-only */
 
#define _A_HIDDEN   0x02 /* Hidden */
 
#define _A_SYSTEM   0x04 /* System */
 
#define _A_VOLID   0x08 /* Volume label */
 
#define _A_SUBDIR   0x10 /* Directory */
 
#define _A_ARCH   0x20 /* Archive */
 
#define _A_DEVICE   0x40 /* Device */
 
#define OS_GetFileAttributes(a, b)   _dos_getfileattr ((a), (b))
 
#define OS_FILE_ATTRIBUTES
 
#define OS_VERS_N   _osmajor
 
#define BASE_OS_DOS   0 /* DOS */
 
#define BASE_OS_WIN   1 /* Windows */
 
#define BASE_OS_OS2   2 /* OS2 */
 
#define BASE_OS_NT   3 /* Windows NT */
 
#define BASE_OS_UNIX   4 /* UNIX */
 
#define REG_AX   ax
 
#define REG_BX   bx
 
#define REG_CX   cx
 
#define REG_DX   dx
 
#define REG_SI   si
 
#define REG_DI   di
 
#define REG_CFLAGS   cflag
 
#define SystemInterrupt(a, b, c)   int86 (a, b, c)
 
#define SystemExtendedInterrupt(a, b, c, d)   int86x (a, b, c, d)
 
#define DosInterrupt(a, b)   intdos (a, b)
 
#define DosExtendedInterrupt(a, b, c)   intdosx (a, b, c)
 
#define OSCALL_RET   unsigned int
 
#define OSCALL_PARAM   unsigned int
 
#define NOCASE_COMPARE(a, b)   stricmp (a,b)
 
#define SIG_DOS   0x5a4d /* Dos Magic number */
 
#define SIG_OS2_16   0x454e /* OS/2 16 Magic number */
 
#define SIG_OS2_16LE   0x454c /* OS/2 16 Magic number */
 
#define SIG_OS2_32   0x584c /* OS/2 32 Magic number */
 
#define SIG_NT   0x00004550 /* NT Magic number */
 
#define OS2_16_NOTP   0x8000 /* Not a process */
 
#define OS2_16_IERR   0x2000 /* Errors in image */
 
#define OS2_16_BOUND   0x0800 /* Bound Family/API */
 
#define OS2_16_APPTYP   0x0700 /* Application type mask */
 
#define OS2_16_NOTWINCOMPAT   0x0100 /* Not compatible with P.M. Windowing */
 
#define OS2_16_WINCOMPAT   0x0200 /* Compatible with P.M. Windowing */
 
#define OS2_16_WINAPI   0x0300 /* Uses P.M. Windowing API */
 
#define OS2_16_UNKNOWN   0 /* Unknown (any "new-format" OS) */
 
#define OS2_16_OS2   1 /* OS/2 (default) */
 
#define OS2_16_WINDOWS   2 /* Windows */
 
#define OS2_16_DOS4   3 /* DOS 4.x */
 
#define OS2_16_DEV386   4 /* Windows 386 */
 
#define OS2_NOTP   0x00008000L /* Library Module - used as NENOTP */
 
#define OS2_NOLOAD   0x00002000L /* Module not Loadable */
 
#define OS2_PMAPI   0x00000300L /* Uses PM Windowing API */
 
#define OS2_PMW   0x00000200L /* Compatible with PM Windowing */
 
#define OS2_NOPMW   0x00000100L /* Incompatible with PM Windowing */
 
#define OS2_APPMASK   0x00000700L /* Application Type Mask */
 
#define OS2_PROTDLL   0x00010000L /* Protected memory library module */
 
#define OS2_DEVICE   0x00020000L /* Device driver */
 
#define OS2_MODEXE   0x00000000L /* .EXE module */
 
#define OS2_MODDLL   0x00008000L /* .DLL module */
 
#define OS2_MODPROTDLL   0x00018000L /* Protected memory library module */
 
#define OS2_MODPDEV   0x00020000L /* Physical device driver */
 
#define OS2_MODVDEV   0x00028000L /* Virtual device driver */
 
#define OS2_MODMASK   0x00038000L /* Module type mask */
 
#define NT_STD_HEADER   28 /* Size of Standard header */
 
#define NT_OPTIONAL_HEADER   224 /* Size of Optional header */
 
#define NT_FILE_DLL   0x2000 /* File is a DLL. */
 
#define NT_FILE_MACHINE_I386   0x14c /* Intel 386. */
 
#define NT_SS_NATIVE   1 /* doesn't require a subsystem. */
 
#define NT_SS_WINDOWS_GUI   2 /* Windows GUI subsystem. */
 
#define NT_SS_WINDOWS_CUI   3 /* Windows character subsystem. */
 
#define NT_SS_OS2_CUI   5 /* OS/2 character subsystem. */
 
#define NT_SS_POSIX_CUI   7 /* Posix character subsystem. */
 
#define EXETYPE_ERROR   0x00000f /* Error on program */
 
#define EXETYPE_DOS   0x0000f0 /* Dos program */
 
#define EXETYPE_OS2   0x000f00 /* OS/2 16 program */
 
#define EXETYPE_OS2_TYPE   0x000700 /* OS/2 Type program */
 
#define EXETYPE_OS2_32   0x000800 /* OS/2 32 program */
 
#define EXETYPE_NT   0x00f000 /* Win NT program */
 
#define EXETYPE_UNIX   0x0f0000 /* UNIX program */
 
#define EXETYPE_UNKNOWN   0x000001 /* Not known */
 
#define EXETYPE_BAD_IMAGE   0x000002 /* Bad image */
 
#define EXETYPE_NOT_EXE   0x000003 /* Not exe - OS/2 */
 
#define EXETYPE_BAD_FILE   0x000004 /* File not found */
 
#define EXETYPE_DOS_CUI   0x000010 /* Dos non windows */
 
#define EXETYPE_DOS_GUI   0x000020 /* Windows */
 
#define EXETYPE_DOS_32   0x000030 /* Watcom 32 bit */
 
#define EXETYPE_DOS_BOUND   0x000040 /* OS/2 Bound */
 
#define EXETYPE_OS2_CUI   0x000100 /* Not windows compat */
 
#define EXETYPE_OS2_CGUI   0x000200 /* Windows compatible */
 
#define EXETYPE_OS2_GUI   0x000300 /* Uses PM */
 
#define EXETYPE_NT_NATIVE   0x001000 /* NT native */
 
#define EXETYPE_NT_WINDOWS_GUI   0x002000 /* NT Windows GUI ss */
 
#define EXETYPE_NT_WINDOWS_CUI   0x003000 /* NT Windows CUI ss */
 
#define EXETYPE_NT_OS2   0x004000 /* NT OS2 subsystem */
 
#define EXETYPE_NT_POSIX   0x005000 /* NT POSIX subsystem */
 
#define EXETYPE_UNIX_NATIVE   0x010000 /* UNIX program */
 
#define PATCHLEVEL   4
 
#define LINE_MAX   524288 /* Command line length */
 
#define HISTORY_MAX   100 /* History array length */
 
#define FFNAME_MAX   (PATH_MAX + NAME_MAX + 4)
 
#define DOS_CMD_LINE_MAX   524288 /* Max command line length */
 
#define ARRAY_SIZE(a)   ((sizeof (a)) / sizeof (a[0]))
 
#define CMD_LINE_MAX   DOS_CMD_LINE_MAX
 
#define SSAVE_IO_SIZE   4 /* Save IO array malloc inc */
 
#define LEN_DEVICE_NAME_HEADER   5 /* /dev/ string length */
 
#define NUFILE   20 /* # of user-accessible files */
 
#define FDBASE   20 /* First file usable by Shell */
 
#define CHAR_UNIX_DIRECTORY   '/'
 
#define CHAR_NEW_LINE   '\n'
 
#define CHAR_SINGLE_QUOTE   '\''
 
#define CHAR_DOUBLE_QUOTE   '"'
 
#define CHAR_BACKQUOTE   '`'
 
#define CHAR_RETURN   '\r'
 
#define CHAR_SPACE   ' '
 
#define CHAR_NOT   '^'
 
#define CHAR_TAB   '\t'
 
#define CHAR_BACKSPACE   '\b'
 
#define CHAR_ESCAPE   0x1b
 
#define CHAR_XOR   '^'
 
#define CHAR_BEGIN_LINE   '^'
 
#define CHAR_OPEN_PARATHENSIS   '('
 
#define CHAR_CLOSE_PARATHENSIS   ')'
 
#define CHAR_OPEN_BRACES   '{'
 
#define CHAR_CLOSE_BRACES   '}'
 
#define CHAR_OPEN_BRACKETS   '['
 
#define CHAR_CLOSE_BRACKETS   ']'
 
#define CHAR_TILDE   '~'
 
#define CHAR_PIPE   '|'
 
#define CHAR_HISTORY   '!'
 
#define CHAR_COMMENT   '#'
 
#define CHAR_MATCH_START   '#'
 
#define CHAR_VARIABLE   '$'
 
#define CHAR_END_LINE   '$'
 
#define CHAR_FORMAT   '%'
 
#define CHAR_JOBID   '%'
 
#define CHAR_MATCH_END   '%'
 
#define CHAR_ASYNC   '&'
 
#define CHAR_MATCH_ALL   '*'
 
#define CHAR_PLUS   '+'
 
#define CHAR_HYPHEN   '-'
 
#define CHAR_MATCH_RANGE   '-'
 
#define CHAR_CLOSE_FD   '-'
 
#define CHAR_SWITCH   '-'
 
#define CHAR_PERIOD   '.'
 
#define CHAR_COLON   ':'
 
#define CHAR_DRIVE   ':'
 
#define CHAR_SEPARATOR   ';'
 
#define CHAR_PATH_SEPARATOR   ';'
 
#define CHAR_INPUT   '<'
 
#define CHAR_ASSIGN   '='
 
#define CHAR_OUTPUT   '>'
 
#define CHAR_MATCH_ANY   '?'
 
#define CHAR_INDIRECT   '@'
 
#define CHAR_META   '\\'
 
#define CHAR_DOS_PATH   '\\'
 
#define CHAR_MAGIC   0x80
 
#define C_ALPHA   0x001 /* a-z_A-Z */
 
#define C_DIGIT   0x002 /* 0-9 */
 
#define C_LEX1   0x004 /* \0 \t\n|&;<>() */
 
#define C_VAR1   0x008 /* *@#!$-? */
 
#define C_SUBOP   0x010 /* "=-+?#%" */
 
#define C_IFS   0x020 /* $IFS */
 
#define C_WILD   0x040 /* Wildcards */
 
#define C_SEMICOLON   0x080 /* Semi-colon (;) */
 
#define IS_VariableFC(c)   (CharTypes[(c)] & C_ALPHA)
 
#define IS_VariableSC(c)   (CharTypes[(c)] & (C_ALPHA | C_DIGIT))
 
#define IS_Numeric(c)   (CharTypes[(c)] & C_DIGIT)
 
#define IS_AlphaNumeric(c)   (CharTypes[(c)] & (C_ALPHA | C_DIGIT))
 
#define IS_IFS(c)   (CharTypes[(c)] & C_IFS)
 
#define IS_Lexical(c)   (CharTypes[(c)] & C_LEX1)
 
#define IS_VarNumeric(c)   (CharTypes[(c)] & (C_DIGIT | C_VAR1))
 
#define IS_VarOp(c)   (CharTypes[(c)] & C_SUBOP)
 
#define IS_WildCard(c)   (CharTypes[(c)] & C_WILD)
 
#define O_CMASK   (O_WRONLY | O_CREAT | O_TRUNC | O_BINARY)
 
#define O_PMASK   (O_RDWR | O_CREAT | O_TRUNC | O_TEXT)
 
#define O_SMASK   (O_RDWR | O_CREAT | O_TRUNC | O_BINARY)
 
#define O_SaMASK   (O_RDWR | O_BINARY)
 
#define O_RMASK   (O_RDONLY | O_NOINHERIT | O_TEXT)
 
#define PATH_TO_UNIX(x)
 
#define PATH_TO_DOS(x)
 
#define PATH_TO_UPPER_CASE(a)   { strupr (a); }
 
#define PATH_TO_LOWER_CASE(a)   { strlwr (a); }
 
#define IsHPFSFileSystem(a)   FALSE
 
#define IsDriveCharacter(a)   C2bool ((a) == CHAR_DRIVE)
 
#define IsPathCharacter(a)   C2bool ((a) == CHAR_UNIX_DIRECTORY)
 
#define FindLastPathCharacter(a)   strrchr (a, CHAR_UNIX_DIRECTORY)
 
#define FindPathCharacter(a)   strchr (a, CHAR_UNIX_DIRECTORY)
 
#define NOBLOCK   ((C_Op *)NULL)
 
#define NOWORD   ((char *)NULL)
 
#define NOWORDS   ((char **)NULL)
 
#define NOPIPE   (-1)
 
#define DISABLE_MAILCHECK   0x0001
 
#define DISABLE_OPTARG   0x0002
 
#define DISABLE_OPTIND   0x0004
 
#define DISABLE_SECONDS   0x0008
 
#define DISABLE_RANDOM   0x0010
 
#define DISABLE_LASTWORD   0x0020
 
#define DISABLE_LINECOUNT   0x0040
 
#define DISABLE_WINTITLE   0x0080
 
#define DESCRIPTOR_UNKNOWN   0x0000 /* Error - not known */
 
#define DESCRIPTOR_PIPE   0x0001 /* Pipe */
 
#define DESCRIPTOR_FILE   0x0002 /* File */
 
#define DESCRIPTOR_DEVICE   0x0004 /* Device - tty */
 
#define DESCRIPTOR_CONSOLE   0x0008 /* Console device */
 
#define IS_Pipe(a)   (GetDescriptorType (a) & DESCRIPTOR_PIPE)
 
#define IS_File(a)   (GetDescriptorType (a) & DESCRIPTOR_FILE)
 
#define IS_TTY(a)
 
#define IS_Console(a)   (GetDescriptorType (a) & DESCRIPTOR_CONSOLE)
 
#define EXTENSION_NOT_FOUND   0 /* Cannot find file */
 
#define EXTENSION_EXECUTABLE   1 /* OS/2 or DOS .exe or .com */
 
#define EXTENSION_BATCH   2 /* OS/2 or DOS .cmd or .bat */
 
#define EXTENSION_SHELL_SCRIPT   3 /* Shell script */
 
#define EXTENSION_OTHER   4 /* Other */
 
#define XFree(xs)   ReleaseMemoryCell ((void*)(xs).SStart)
 
#define XStart(xs)   ((xs).SStart)
 
#define XCurrentOffset(xs, xp)   (xp - (xs).SStart)
 
#define XResetOffset(xs, n)   ((xs).SStart + (n))
 
#define TEOF   0
 
#define TCOM   1 /* command */
 
#define TPAREN   2 /* (c-list) */
 
#define TPIPE   3 /* a | b */
 
#define TLIST   4 /* a [&;] b */
 
#define TOR   5 /* || */
 
#define TAND   6 /* && */
 
#define TFOR   7 /* FOR */
 
#define TCOPROCESS   8 /* coprocess */
 
#define TCASE   9 /* CASE */
 
#define TIF   10 /* IF */
 
#define TWHILE   11 /* WHILE */
 
#define TUNTIL   12 /* UNTIL */
 
#define TELIF   13 /* ELSE IF */
 
#define TPAT   14 /* pattern in case */
 
#define TBRACE   15 /* {c-list} */
 
#define TASYNC   16 /* c & */
 
#define TFUNC   17 /* c () {c-list} */
 
#define TSELECT   18 /* SELECT */
 
#define TTIME   19 /* time pipeline */
 
#define WORD_EOS   0 /* end of string */
 
#define WORD_CHAR   1 /* unquoted character */
 
#define WORD_QCHAR   2 /* quoted character */
 
#define WORD_QTCHAR   3 /* temporary quoted character */
 
#define WORD_COMSUB   4 /* $() substitution (0 terminated) */
 
#define WORD_OQUOTE   5 /* opening ' */
 
#define WORD_CQUOTE   6 /* closing ' */
 
#define WORD_ODQUOTE   7 /* opening " */
 
#define WORD_CDQUOTE   8 /* closing " */
 
#define WORD_OSUBST   9 /* opening ${ substitution */
 
#define WORD_CSUBST   10 /* closing } of above */
 
#define WORD_OMATHS   11 /* opening $(()) substitution (0 term) */
 
#define WORD_OARRAY   12 /* opening ${name[ of array */
 
#define WORD_CARRAY   13 /* closing ] for above */
 
#define PARSE_WORD   256
 
#define PARSE_LOGICAL_AND   257 /* && */
 
#define PARSE_LOGICAL_OR   258 /* || */
 
#define PARSE_BREAK   259
 
#define PARSE_IF   260
 
#define PARSE_THEN   261
 
#define PARSE_ELSE   262
 
#define PARSE_ELIF   263
 
#define PARSE_FI   264
 
#define PARSE_CASE   265
 
#define PARSE_ESAC   266
 
#define PARSE_FOR   267
 
#define PARSE_WHILE   268
 
#define PARSE_UNTIL   269
 
#define PARSE_DO   270
 
#define PARSE_DONE   271
 
#define PARSE_IN   272
 
#define PARSE_SELECT   273
 
#define PARSE_FUNCTION   274
 
#define PARSE_TIME   275
 
#define PARSE_REDIR   276 /* >, <, etc */
 
#define PARSE_MPAREN   277 /* () */
 
#define PARSE_MDPAREN   278 /* (( )) */
 
#define PARSE_TEST   279 /* [[ ]] */
 
#define PARSE_COPROCESS   280 /* |& */
 
#define YYERRCODE   300
 
#define ALLOW_CONTINUATION   0x0001 /* skip new lines to complete */
 
#define ONEWORD   0x0002 /* single word for substitute() */
 
#define ALLOW_ALIAS   0x0004 /* recognize alias */
 
#define ALLOW_KEYWORD   0x0008 /* recognize keywords */
 
#define MATHS_EXPRESSION   0x0010 /* get expression inside (( )) */
 
#define TEST_EXPRESSION   0x0020 /* get expression inside [[ ]] */
 
#define IDENT   64 /* Max size of an Identifier */
 
#define SEOF   0 /* input EOF */
 
#define STTY   1 /* terminal input */
 
#define SFILE   2 /* file input */
 
#define SWSTR   3 /* string without \n */
 
#define SSTRING   4 /* string */
 
#define SWORDS   5 /* string[] */
 
#define SALIAS   6 /* alias expansion */
 
#define SWORDSEP   8 /* string[] seperator */
 
#define BLT_ALWAYS   0x0001 /* Always use builtin version */
 
#define BLT_CURRENT   0x0002 /* Currently use builtin version */
 
#define BLT_NOGLOB   0x0004 /* No globbing for this internal */
 
#define BLT_CENVIRON   0x0008 /* Don't create a new environment */
 
#define BLT_NOWORDS   0x0010 /* Don't split words for this internal */
 
#define BLT_SKIPGLOB   (BLT_CURRENT | BLT_NOGLOB)
 
#define BLT_SKIPENVIR   (BLT_CURRENT | BLT_CENVIRON)
 
#define EXEC_WITHOUT_FORK   0x0001 /* execute without forking */
 
#define EXEC_FUNCTION   0x0002 /* execute a function */
 
#define EXEC_PIPE_IN   0x0020 /* On pipe */
 
#define EXEC_PIPE_SUBS   0x0040 /* Second command */
 
#define EXEC_WINDOWS   0x0080 /* Start Windows app */
 
#define MCB_CON   'M' /* More MCB's */
 
#define MCB_END   'Z' /* Last MCB's */
 
#define SWAP_OFF   0x0000 /* No swapping */
 
#define SWAP_DISK   0x0001 /* Disk only */
 
#define SWAP_EXTEND   0x0002 /* Extended memory */
 
#define SWAP_EXPAND   0x0004 /* Expanded memory */
 
#define C2bool(c)   (bool)((c) ? TRUE : FALSE)
 
#define EXPAND_SPLITIFS   0x01 /* Perform blank interpretation */
 
#define EXPAND_GLOBBING   0x02 /* Do globbing on name */
 
#define EXPAND_PATTERN   0x04 /* quote *?[ */
 
#define EXPAND_TILDE   0x10 /* expand ~ */
 
#define EXPAND_CONVERT   0x20 /* Convert - and / to DOS format */
 
#define EXPAND_NOALTS   0x40 /* No alternations */
 
#define DISABLE_HARD_ERRORS
 
#define ENABLE_HARD_ERRORS
 
#define BC_LOAD   0 /* Load condition */
 
#define BC_BREAK   1 /* Break condition */
 
#define BC_CONTINUE   2 /* Continue condition */
 
#define ALIAS_TRACKED   0x0001 /* Tracked alias */
 
#define ALIAS_EXPANDING   0x0002 /* Alias being expanded */
 
#define MAX_RECURSIVEALIASES   20 /* Max depth of recursive alias */
 
#define IOTYPE   0x000f /* type: bits 0:3 */
 
#define IOREAD   0x0001 /* < */
 
#define IOWRITE   0x0002 /* > */
 
#define IORDWR   0x0003 /* <> */
 
#define IOHERE   0x0004 /* << (here file) */
 
#define IOCAT   0x0005 /* >> */
 
#define IODUP   0x0006 /* >&digit */
 
#define IOCLOSE   0x0007 /* >&- */
 
#define IOEVAL   0x0010 /* Expand in << */
 
#define IOSKIP   0x0020 /* <<- (here file */
 
#define IOCLOBBER   0x0040 /* >| overwrite noclobber */
 
#define IOFUNCTION   0x0080 /* The Here document name is inside a */
 
#define ErrorPoint   int *
 
#define SetErrorPoint(a)   setjmp (e.ErrorReturnPoint = a)
 
#define ExitErrorPoint(a)   longjmp (e.ErrorReturnPoint, a)
 
#define TERMINATE_POINT_SET   0 /* Error point set */
 
#define TERMINATE_COMMAND   1 /* Exit Error point for command */
 
#define TERMINATE_SHELL   2 /* Exit Error point for shell */
 
#define FL_TEST(x)   (flags & (1L << ((x) - 'a')))
 
#define FL_SET(x)   flags |= (1L << ((x) - 'a'))
 
#define FL_CLEAR(x)   flags &= (~(1L << ((x) - 'a')))
 
#define FLAG_ALL_EXPORT   'a' /* Set all env vars to exported */
 
#define FLAG_EXECUTE_STRING   'c' /* Command from string */
 
#define FLAG_EXIT_ON_ERROR   'e' /* Quit on error */
 
#define FLAG_DISABLE_GLOB   'f' /* Disable file name expansion */
 
#define FLAG_TRACK_ALL   'h' /* Track all aliases */
 
#define FLAG_INTERACTIVE   'i' /* Interactive shell */
 
#define FLAG_ALL_KEYWORDS   'k' /* Look for name=value everywhere */
 
#define FLAG_SEPARATE_GROUP   'm' /* Separate process group */
 
#define FLAG_NO_EXECUTE   'n' /* No execution */
 
#define FLAG_READONLY_SHELL   'r' /* Read only shell */
 
#define FLAG_POSITION   's' /* Read from standard input */
 
#define FLAG_ONE_COMMAND   't' /* exit after exec'ing 1 cmd */
 
#define FLAG_UNSET_ERROR   'u' /* Abort if env var not set */
 
#define FLAG_ECHO_INPUT   'v' /* Echo as read */
 
#define FLAG_WARNING   'w' /* No Warning messages */
 
#define FLAG_PRINT_EXECUTE   'x' /* Trace */
 
#define FLAGS_NONE   0x0000
 
#define FLAGS_IGNOREEOF   0x0001 /* Ignore EOF */
 
#define FLAGS_MARKDIRECTORY   0x0002 /* Mark directories with / */
 
#define FLAGS_NOCLOBER   0x0004 /* No delete on existing files */
 
#define FLAGS_FUNCTION   0x0008 /* Special value used in */
 
#define FLAGS_REALPIPES   0x0010 /* Use Real pipes under OS/2 */
 
#define FLAGS_ALTERNATION   0x0020 /* Allow alternations */
 
#define FLAGS_EDITORS   0x01c0 /* Any of Emacs, Gmacs, or Vi */
 
#define FLAGS_NOCASE   0x0200 /* Ignore case */
 
#define FLAGS_MSDOS_FORMAT   0x0400 /* MSDOS format environment */
 
#define FLAGS_VERIFY_SWITCH   0x0800 /* Change verify status */
 
#define FLAGS_BREAK_SWITCH   0x1000 /* Change break status */
 
#define FLAGS_SET_OS2   0x2000 /* Set OS to OS2 */
 
#define FLAGS_SET_NT   0x4000 /* Set OS to NT */
 
#define FLAGS_VI   0x0040 /* Vi mode */
 
#define FLAGS_EMACS   0x0080 /* Emacs mode */
 
#define FLAGS_GMACS   0x0100 /* Gmacs mode */
 
#define GM_ALL   0 /* Match full string */
 
#define GM_SHORTEST   1 /* Shortest prefix/suffix */
 
#define GM_LONGEST   2 /* Longest prefix/suffix */
 
#define STATUS_READONLY   0x0001 /* variable is read-only */
 
#define STATUS_EXPORT   0x0002 /* variable is to be exported */
 
#define STATUS_CANNOT_UNSET   0x0008 /* PATH Value - no unset */
 
#define STATUS_CONVERT_MSDOS   0x0010 /* Convert to MSDOS format */
 
#define STATUS_LEFT_JUSTIFY   0x0020 /* Left Justify */
 
#define STATUS_RIGHT_JUSTIFY   0x0040 /* Right Justify */
 
#define STATUS_ZERO_FILL   0x0080 /* Zero fill */
 
#define STATUS_LOWER_CASE   0x0100 /* Convert to lower case */
 
#define STATUS_UPPER_CASE   0x0200 /* Convert to upper case */
 
#define STATUS_INTEGER   0x0400 /* Contains integer value */
 
#define STATUS_TAGGED   0x0800 /* User tagged */
 
#define STATUS_LOCAL   0x1000 /* Local variable in function */
 
#define STATUS_GLOBAL   0x2000 /* Global variable */
 
#define STATUS_NOEXISTANT   0x8000 /* Does not exist */
 
#define SetWindowName(a)
 
#define EP_NONE   0x0000 /* Use PSP command line */
 
#define EP_DOSMODE   0x0001 /* Use DOS mode extended line */
 
#define EP_UNIXMODE   0x0002 /* Use UNIX mode extended line */
 
#define EP_NOEXPAND   0x0004 /* Use -f for this command */
 
#define EP_ENVIRON   0x0008 /* Use environ for variable */
 
#define EP_NOSWAP   0x0010 /* Do not swap for this command */
 
#define EP_EXPORT   0x0040 /* Use -m for this command */
 
#define EP_CONVERT   0x0080 /* Use conversion */
 
#define EP_NOWORDS   0x0100 /* Do word expansion */
 
#define EP_NOQUOTE   0x0200 /* No quote protection */
 
#define EP_IGNTYPE   0x0400 /* Ignore exe type (DOS only) */
 
#define EP_PSEUDOTTY   0x0800 /* Child shells allow psuedo tty*/
 
#define EP_QUOTEWILD   0x1000 /* Quote wildcards */
 
#define KT_FUNCTION   0 /* Functionkey */
 
#define KT_ALTFUNCTION   0xff /* ALT key pressed */
 
#define KT_RESIZE   0xfe /* Window re-sized */
 
#define KF_SCANBACKWARD   0x00 /* Scan backwards in history */
 
#define KF_SCANFOREWARD   0x01 /* Scan forewards in history */
 
#define KF_PREVIOUS   0x02 /* Previous command */
 
#define KF_NEXT   0x03 /* Next command */
 
#define KF_LEFT   0x04 /* Left one character */
 
#define KF_RIGHT   0x05 /* Right one character */
 
#define KF_WORDRIGHT   0x06 /* Right one word */
 
#define KF_WORDLEFT   0x07 /* Left one word */
 
#define KF_START   0x08 /* Move to start of line */
 
#define KF_CLEAR   0x09 /* Clear input line */
 
#define KF_FLUSH   0x0a /* Flush to end of line */
 
#define KF_END   0x0b /* End of line */
 
#define KF_INSERT   0x0c /* Insert mode switch */
 
#define KF_DELETERIGHT   0x0d /* Delete right character */
 
#define KF_DELETELEFT   0x0e /* Delete left character */
 
#define KF_COMPLETE   0x0f /* Complete file name */
 
#define KF_DIRECTORY   0x10 /* Complete directory function */
 
#define KF_CLEARSCREEN   0x11 /* Clear screen */
 
#define KF_JOBS   0x12 /* Print Job tree */
 
#define KF_TRANSPOSE   0x13 /* Transpose characters */
 
#define KF_QUOTE   0x14 /* Quote character */
 
#define KF_END_FKEYS   0x15 /* End of function keys */
 
#define KF_RINGBELL   0x15 /* Ring bell */
 
#define KF_HALFHEIGTH   0x16 /* Half height cursor */
 
#define KF_INSERTMODE   0x17 /* Overstrike or Insert */
 
#define KF_INSERTCURSOR   0x18 /* Enable insert cursor */
 
#define KF_ROOTDRIVE   0x19 /* Root drive */
 
#define KF_EOFKEY   0x1a /* EOF value */
 
#define PF_MODE_NORMAL   0 /* Normal command */
 
#define PF_MODE_ASYNC   1 /* Async command */
 
#define PF_MODE_COPROC   2 /* Co-process command */
 
#define PF_MODE_NO   3 /* No mode */
 
#define GetInterruptVector(x)   _dos_getvect ((x))
 
#define SetInterruptVector(x, y)   _dos_setvect ((x), (y))
 
#define GETOPT_PLUS   0x01 /* Allow plus sign */
 
#define GETOPT_MESSAGE   0x02 /* Print error message */
 
#define GETOPT_PRINT   0x04 /* doecho special */
 
#define GETOPT_AMISSING   0x08 /* doset special */
 
#define DPRINT(a, b)
 

Typedefs

typedef unsigned char bool
 
typedef struct XString XString
 
typedef struct op C_Op
 
typedef struct source Source
 
typedef struct brkcon Break_C
 
typedef struct wdblock Word_B
 
typedef struct save_io Save_IO
 
typedef struct FunctionList FunctionList
 
typedef struct AliasList AliasList
 
typedef struct ioword IO_Actions
 
typedef struct env ShellFileEnvironment
 
typedef struct var VariableList
 
typedef struct subshell S_SubShell
 
typedef struct Fields LineFields
 
typedef struct ExecutableMode ExeMode
 
typedef struct GetoptsIndex GetoptsIndex
 

Enumerations

enum  VISIT { preorder , postorder , endorder , leaf }
 

Functions

unsigned long QueryApplicationType (const char *)
 
void InitialiseCharacterTypes (void)
 
void SetCharacterTypes (char *, int)
 
char * SkipToWhiteSpace (char *)
 
void XCheck (XString *, unsigned char **)
 
char * XClose (XString *, unsigned char *)
 
char * XCreate (XString *, size_t)
 
Sourcepushs (int)
 
C_Opcompile (Source *s)
 
int doexec (C_Op *)
 
int ExtractFieldsFromLine (LineFields *)
 
Word_BSplitString (char *, Word_B *)
 
void CheckProgramMode (char *, ExeMode *)
 
void main (int, char **)
 
void ShellErrorMessage (char *,...)
 
void PrintErrorMessage (char *,...)
 
int PrintWarningMessage (char *,...)
 
void CompilingError (void)
 
void ExitTheShell (bool)
 
void FinalExitCleanUp (int)
 
void TerminateCurrentEnvironment (int)
 
void CreateNewEnvironment (void)
 
void QuitCurrentEnvironment (void)
 
void InterruptSignalled (int)
 
void TerminateSignalled (int)
 
void RunTrapCommand (int)
 
void SetShellSwitches (void)
 
Word_BAddWordToBlock (char *, Word_B *)
 
char ** GetWordList (Word_B *)
 
int WordBlockSize (Word_B *)
 
char * IntegerToString (int)
 
char * GenerateTemporaryFileName (void)
 
char * BuildNextFullPathName (char *, char *, char *)
 
int LookUpSymbol (char *)
 
int GetNumericValue (char *)
 
bool ConvertNumericValue (char *, long *, int)
 
char * BuildFileName (char *)
 
int CreateGlobalVariableList (unsigned int)
 
void DeleteGlobalVariableList (void)
 
Word_BAddParameter (char *, Word_B *, char *)
 
char * BuildOS2String (char **, char)
 
char * GenerateFullExecutablePath (char *)
 
int RestoreStandardIO (int, bool)
 
void RestoreCurrentDirectory (char *)
 
bool GotoDirectory (char *, unsigned int)
 
void RestoreEnvironment (int, int)
 
bool CheckForRestrictedShell (char *)
 
void OutputUserPrompt (char *)
 
void DisplayLineWithControl (char *)
 
void GetCurrentDirectoryPath (void)
 
int OpenForExecution (char *, char **, int *)
 
int ProcessOutputMetaCharacters (char **)
 
char * ConvertPathToFormat (char *, char, char)
 
int CheckForScriptFile (char *, char **, int *)
 
void PrintVersionNumber (FILE *)
 
int feputs (char *)
 
int foputs (char *)
 
int feputc (int)
 
void ClearSwapFile (void)
 
void ClearExtendedLineFile (void)
 
bool GeneralPatternMatch (char *, unsigned char *, bool, char **, int)
 
bool SuffixPatternMatch (char *, char *, char **, int)
 
int CountNumberArguments (char **)
 
int SortCompare (const void *, const void *)
 
long EvaluateMathsExpression (char *)
 
bool ValidMathsExpression (char *, long *)
 
C_OpBuildParseTree (Source *)
 
int ExecuteParseTree (C_Op *, int, int, int)
 
int ScanNextToken (int)
 
int SA_spawn (char **)
 
int ExecuteACommand (char **, int)
 
int RunACommand (Source *, char **)
 
int FindLocationOfExecutable (char *, char *)
 
int ReMapIOHandler (int)
 
char ** ExpandWordList (char **, int, ExeMode *)
 
char * ExpandAString (char *, int)
 
char * substitute (char *, int)
 
char * ExpandOneStringFirstComponent (char *, int)
 
char ** BuildCompletionList (char *, size_t, int *, bool)
 
size_t GetCommonPartOfFileList (char **)
 
bool ChangeInitialisationValue (char *, int)
 
void Configure_Keys (void)
 
bool RingWarningBell (void)
 
unsigned char Poll_Keyboard (void)
 
void PositionCursorInColumnZero (void)
 
int GetConsoleInput (void)
 
int GetDescriptorType (int)
 
bool IsDirectory (char *)
 
int GetEOFKey (void)
 
int LookUpKeyBoardFunction (unsigned char, unsigned char)
 
int ReadCursorPosition (void)
 
void SetCursorPosition (int)
 
bool ClearScreen (void)
 
void PrintAList (int, char **)
 
void GetScreenParameters (void)
 
void SetCursorShape (bool)
 
void EMACS_Initialisation (void)
 
unsigned char ReadKeyBoard (unsigned char *)
 
int EditorInput (void)
 
int BindKeyStroke (char *, char *, bool)
 
unsigned char GetFunctionKeyMap (int, unsigned char *)
 
void UnSetVariable (char *, int, bool)
 
void SetVariableStatus (char *, int)
 
void SetVariableArrayStatus (char *, int, int)
 
void ClearVariableStatus (char *, int)
 
char * GetVariableAsString (char *, bool)
 
char * GetVariableArrayAsString (char *, int, bool)
 
long GetVariableAsNumeric (char *)
 
long GetVariableArrayAsNumeric (char *, int)
 
int CountVariableArraySize (char *)
 
void SetVariableFromString (char *, char *)
 
void SetVariableArrayFromString (char *, int, char *)
 
void SetVariableFromNumeric (char *, long)
 
void SetVariableArrayFromNumeric (char *, int, long)
 
void HandleSECONDandRANDOM (void)
 
bool AssignVariableFromString (char *, int *)
 
bool GetVariableName (char *, long *, char **, bool *)
 
char IsValidVariableName (char *)
 
VariableListLookUpVariable (char *, int, bool)
 
int SearchVariable (const void *, const void *)
 
void BuildExtensionLists (void)
 
char * AllocateMemoryCell (size_t)
 
void ReleaseMemoryCell (void *)
 
void ReleaseAList (char **)
 
void ReleaseMemoryArea (int)
 
void SetMemoryAreaNumber (void *, int)
 
int GetMemoryAreaNumber (void *)
 
voidDuplicateMemoryCell (void *)
 
voidGetAllocatedSpace (size_t)
 
voidReAllocateSpace (void *, size_t)
 
char * StringSave (char *)
 
char * StringCopy (char *)
 
size_t GetMemoryCellSize (void *)
 
int S_open (bool, char *, int)
 
int S_close (int, bool)
 
void S_fclose (FILE *, bool)
 
bool S_stat (char *, struct _stat *)
 
int S_dup (int)
 
int S_dup2 (int, int)
 
bool S_access (char *, int)
 
bool S_chdir (char *)
 
bool S_getcwd (char *, int)
 
int S_Remap (int, int)
 
int OpenAPipe (void)
 
void CloseThePipe (int)
 
void CloseAllHandlers (void)
 
char * CheckDOSFileName (char *)
 
unsigned int GetCurrentDrive (void)
 
int SetCurrentDrive (unsigned int)
 
char GetDriveLetter (unsigned int)
 
unsigned int GetDriveNumber (char)
 
int GetRootDiskDrive (void)
 
int CloseFile (FILE *)
 
FILEFOpenFile (char *, char *)
 
FILEMyReOpenFile (int, char *)
 
void FlushStreams (void)
 
void ChangeFileDescriptorStatus (int, bool)
 
FunctionListLookUpFunction (char *, bool)
 
bool SaveFunction (C_Op *)
 
void DeleteFunction (C_Op *)
 
void PrintFunction (C_Op *, int)
 
C_OpCopyFunction (C_Op *)
 
int PrintAllFunctions (void)
 
void DeleteAllFunctions (void)
 
AliasListLookUpAlias (char *, bool)
 
void DeleteAlias (char *)
 
bool SaveAlias (char *, char *, bool)
 
void PrintAlias (char *)
 
bool IsValidAliasName (char *, bool)
 
void UnTrackAllAliases (void)
 
int PrintAllAlias (bool)
 
void ScrapHereList (void)
 
void FreeAllHereDocuments (int)
 
void SaveHereDocumentInfo (IO_Actions *)
 
int OpenHereFile (char *, bool)
 
void AddHistory (bool)
 
void LoadHistory (void)
 
void DumpHistory (void)
 
void ClearHistory (void)
 
void PrintHistory (bool, bool, int, int, FILE *)
 
int GetLastHistoryEvent (void)
 
int GetFirstHistoryEvent (void)
 
char * GetHistoryRecord (int)
 
int SearchHistory (char *)
 
void FlushHistoryBuffer (void)
 
void DeleteLastHistory (void)
 
char CleanUpBuffer (int, char *, int)
 
void interrupt far SW_Int24 (void)
 
void interrupt far SW_Int23 (void)
 
void interrupt far SW_Int00 (void)
 
int SW_XMS_Gversion (void)
 
int SW_XMS_Allocate (unsigned int)
 
int SW_XMS_Free (int)
 
int SW_XMS_Available (void)
 
int GetOptions (int, char **, char *, int)
 
void ResetGetOptions (void)
 
void ResetGetoptsValues (bool)
 
void GetGetoptsValues (GetoptsIndex *)
 
void SaveGetoptsValues (int, int)
 
voidtsearch (void *, void **, int(*)(const void *, const void *))
 
voidtfind (void *, void **, int(*)(const void *, const void *))
 
voidtdelete (void *, void **, int(*)(const void *, const void *))
 
void twalk (const void *, void(*)(const void *, VISIT, int))
 

Variables

int BaseOS
 
int MaxNumberofFDs
 
unsigned char CharTypes [UCHAR_MAX+1]
 
int DisabledVariables
 
char CurrentLexIdentifier [64+1]
 
Sourcesource
 
YYSTYPE yylval
 
int yynerrs
 
char far cmd_line []
 
char far path_line []
 
unsigned int far SW_intr
 
int LastNumberBase
 
unsigned int far SW_Blocks
 
unsigned int far SW_SBlocks
 
unsigned int far SW_MinESpace
 
int far SW_fp
 
int far SW_Pwrite
 
unsigned long far SW_EMstart
 
unsigned int far SW_Mode
 
unsigned int far SW_EMSFrame
 
unsigned int far etext
 
int Swap_Mode
 
char ** ParameterArray
 
int ParameterCount
 
int ExitStatus
 
bool ExpansionErrorDetected
 
bool InteractiveFlag
 
bool ProcessingEXECCommand
 
int AllowMultipleLines
 
int Current_Event
 
bool ChangeInitLoad
 
Break_CBreak_List
 
Break_CReturn_List
 
Break_CSShell_List
 
bool RestrictedShellFlag
 
bool HistoryEnabled
 
Save_IOSSave_IO
 
int NSave_IO_E
 
int MSave_IO_E
 
voidFunctionTree
 
FunctionListCurrentFunction
 
voidAliasTree
 
ShellFileEnvironment e
 
long flags
 
unsigned int ShellGlobalFlags
 
char null []
 
int InterruptTrapPending
 
int Execute_stack_depth
 
voidVariableTree
 
VariableListCurrentDirectory
 
char PS1 []
 
char PS2 []
 
char PS3 []
 
char PS4 []
 
char IFS []
 
char * LastUserPrompt
 
char * LastUserPrompt1
 
char PathLiteral []
 
char CDPathLiteral []
 
char CurrentDirLiteral []
 
char ParentDirLiteral []
 
char PathExtsLiteral []
 
char HomeVariableName []
 
char ShellVariableName []
 
char * ParameterCountVariable
 
char * ShellOptionsVariable
 
char StatusVariable []
 
char * ComspecVariable
 
char SecondsVariable []
 
char RandomVariable []
 
char LineCountVariable []
 
char * RootDirectory
 
char * OldPWDVariable
 
char * PWDVariable
 
char * ENVVariable
 
char BATExtension []
 
char CMDExtension []
 
char VBSExtension []
 
char JSExtension []
 
char SHELLExtension []
 
char KSHELLExtension []
 
char LGExtension []
 
char EXEExtension []
 
char COMExtension []
 
char COFFExtension []
 
char HistoryFileVariable []
 
char HistorySizeVariable []
 
bool UseConsoleBuffer
 
char * NotFound
 
char * BasicErrorMessage
 
char * DirectorySeparator
 
char * DeviceNameHeader
 
char LastWordVariable []
 
char OptArgVariable []
 
char OptIndVariable []
 
char MailCheckVariable []
 
char FCEditVariable []
 
char EditorVariable []
 
char VisualVariable []
 
char Trap_DEBUG []
 
char Trap_ERR []
 
char ConsoleLineBuffer []
 
char LIT_dos []
 
char * LIT_NewLine
 
char * LIT_BadID
 
char * LIT_OSname
 
char LIT_export []
 
char LIT_history []
 
char LIT_REPLY []
 
char LIT_exit []
 
char LIT_exec []
 
char LIT_done []
 
char LIT_LINES []
 
char LIT_COLUMNS []
 
char * LIT_2Strings
 
char * LIT_3Strings
 
char * ListVarFormat
 
char * Outofmemory1
 
char * LIT_Emsg
 
char * LIT_SyntaxError
 
char * LIT_BadArray
 
char * LIT_ArrayRange
 
char * LIT_BNumber
 
char * LIT_Invalidfunction
 
char * LIT_AllowTTY
 
char * LIT_IsReadonly
 
char LIT_Test []
 
char * sOpenReadMode
 
char * sOpenWriteMode
 
char * sOpenAppendMode
 
char * sOpenWriteBinaryMode
 
int MaximumColumns
 
int MaximumLines
 
int StartCursorPosition
 
S_SubShellSubShells
 
int NSubShells
 
int MSubShells
 
ExeMode ExecProcessingMode
 
int MemoryAreaLevel
 
int(*)(int, char **) IsCommandBuiltIn (char *, int *)
 
bool far SW_I23_InShell
 
unsigned long far SW_XMS_Driver
 
int OptionIndex
 
int OptionStart
 
char * OptionArgument
 
int _osmajor
 
int _osminor
 
int _osmode
 

Macro Definition Documentation

◆ _A_ARCH

#define _A_ARCH   0x20 /* Archive */

Definition at line 491 of file sh.h.

◆ _A_DEVICE

#define _A_DEVICE   0x40 /* Device */

Definition at line 494 of file sh.h.

◆ _A_HIDDEN

#define _A_HIDDEN   0x02 /* Hidden */

Definition at line 479 of file sh.h.

◆ _A_NORMAL

#define _A_NORMAL   0x00 /* No attributes */

Definition at line 473 of file sh.h.

◆ _A_RDONLY

#define _A_RDONLY   0x01 /* Read-only */

Definition at line 476 of file sh.h.

◆ _A_SUBDIR

#define _A_SUBDIR   0x10 /* Directory */

Definition at line 488 of file sh.h.

◆ _A_SYSTEM

#define _A_SYSTEM   0x04 /* System */

Definition at line 482 of file sh.h.

◆ _A_VOLID

#define _A_VOLID   0x08 /* Volume label */

Definition at line 485 of file sh.h.

◆ _BOOL_T_DEFINED

#define _BOOL_T_DEFINED

Definition at line 277 of file sh.h.

◆ ALIAS_EXPANDING

#define ALIAS_EXPANDING   0x0002 /* Alias being expanded */

Definition at line 1603 of file sh.h.

◆ ALIAS_TRACKED

#define ALIAS_TRACKED   0x0001 /* Tracked alias */

Definition at line 1602 of file sh.h.

◆ ALLOW_ALIAS

#define ALLOW_ALIAS   0x0004 /* recognize alias */

Definition at line 1332 of file sh.h.

◆ ALLOW_CONTINUATION

#define ALLOW_CONTINUATION   0x0001 /* skip new lines to complete */

Definition at line 1329 of file sh.h.

◆ ALLOW_KEYWORD

#define ALLOW_KEYWORD   0x0008 /* recognize keywords */

Definition at line 1333 of file sh.h.

◆ ARRAY_SIZE

#define ARRAY_SIZE (   a)    ((sizeof (a)) / sizeof (a[0]))

Definition at line 984 of file sh.h.

◆ BASE_OS_DOS

#define BASE_OS_DOS   0 /* DOS */

Definition at line 542 of file sh.h.

◆ BASE_OS_NT

#define BASE_OS_NT   3 /* Windows NT */

Definition at line 545 of file sh.h.

◆ BASE_OS_OS2

#define BASE_OS_OS2   2 /* OS2 */

Definition at line 544 of file sh.h.

◆ BASE_OS_UNIX

#define BASE_OS_UNIX   4 /* UNIX */

Definition at line 546 of file sh.h.

◆ BASE_OS_WIN

#define BASE_OS_WIN   1 /* Windows */

Definition at line 543 of file sh.h.

◆ BC_BREAK

#define BC_BREAK   1 /* Break condition */

Definition at line 1546 of file sh.h.

◆ BC_CONTINUE

#define BC_CONTINUE   2 /* Continue condition */

Definition at line 1547 of file sh.h.

◆ BC_LOAD

#define BC_LOAD   0 /* Load condition */

Definition at line 1545 of file sh.h.

◆ BLT_ALWAYS

#define BLT_ALWAYS   0x0001 /* Always use builtin version */

Definition at line 1393 of file sh.h.

◆ BLT_CENVIRON

#define BLT_CENVIRON   0x0008 /* Don't create a new environment */

Definition at line 1396 of file sh.h.

◆ BLT_CURRENT

#define BLT_CURRENT   0x0002 /* Currently use builtin version */

Definition at line 1394 of file sh.h.

◆ BLT_NOGLOB

#define BLT_NOGLOB   0x0004 /* No globbing for this internal */

Definition at line 1395 of file sh.h.

◆ BLT_NOWORDS

#define BLT_NOWORDS   0x0010 /* Don't split words for this internal */

Definition at line 1397 of file sh.h.

◆ BLT_SKIPENVIR

#define BLT_SKIPENVIR   (BLT_CURRENT | BLT_CENVIRON)

Definition at line 1399 of file sh.h.

◆ BLT_SKIPGLOB

#define BLT_SKIPGLOB   (BLT_CURRENT | BLT_NOGLOB)

Definition at line 1398 of file sh.h.

◆ C2bool

#define C2bool (   c)    (bool)((c) ? TRUE : FALSE)

Definition at line 1476 of file sh.h.

◆ C_ALPHA

#define C_ALPHA   0x001 /* a-z_A-Z */

Definition at line 1066 of file sh.h.

◆ C_DIGIT

#define C_DIGIT   0x002 /* 0-9 */

Definition at line 1067 of file sh.h.

◆ C_IFS

#define C_IFS   0x020 /* $IFS */

Definition at line 1071 of file sh.h.

◆ C_LEX1

#define C_LEX1   0x004 /* \0 \t\n|&;<>() */

Definition at line 1068 of file sh.h.

◆ C_SEMICOLON

#define C_SEMICOLON   0x080 /* Semi-colon (;) */

Definition at line 1073 of file sh.h.

◆ C_SUBOP

#define C_SUBOP   0x010 /* "=-+?#%" */

Definition at line 1070 of file sh.h.

◆ C_VAR1

#define C_VAR1   0x008 /* *@#!$-? */

Definition at line 1069 of file sh.h.

◆ C_WILD

#define C_WILD   0x040 /* Wildcards */

Definition at line 1072 of file sh.h.

◆ CHAR_ASSIGN

#define CHAR_ASSIGN   '='

Definition at line 1054 of file sh.h.

◆ CHAR_ASYNC

#define CHAR_ASYNC   '&'

Definition at line 1035 of file sh.h.

◆ CHAR_BACKQUOTE

#define CHAR_BACKQUOTE   '`'

Definition at line 1010 of file sh.h.

◆ CHAR_BACKSPACE

#define CHAR_BACKSPACE   '\b'

Definition at line 1015 of file sh.h.

◆ CHAR_BEGIN_LINE

#define CHAR_BEGIN_LINE   '^'

Definition at line 1018 of file sh.h.

◆ CHAR_CLOSE_BRACES

#define CHAR_CLOSE_BRACES   '}'

Definition at line 1022 of file sh.h.

◆ CHAR_CLOSE_BRACKETS

#define CHAR_CLOSE_BRACKETS   ']'

Definition at line 1024 of file sh.h.

◆ CHAR_CLOSE_FD

#define CHAR_CLOSE_FD   '-'

Definition at line 1040 of file sh.h.

◆ CHAR_CLOSE_PARATHENSIS

#define CHAR_CLOSE_PARATHENSIS   ')'

Definition at line 1020 of file sh.h.

◆ CHAR_COLON

#define CHAR_COLON   ':'

Definition at line 1043 of file sh.h.

◆ CHAR_COMMENT

#define CHAR_COMMENT   '#'

Definition at line 1028 of file sh.h.

◆ CHAR_DOS_PATH

#define CHAR_DOS_PATH   '\\'

Definition at line 1059 of file sh.h.

◆ CHAR_DOUBLE_QUOTE

#define CHAR_DOUBLE_QUOTE   '"'

Definition at line 1009 of file sh.h.

◆ CHAR_DRIVE

#define CHAR_DRIVE   ':'

Definition at line 1044 of file sh.h.

◆ CHAR_END_LINE

#define CHAR_END_LINE   '$'

Definition at line 1031 of file sh.h.

◆ CHAR_ESCAPE

#define CHAR_ESCAPE   0x1b

Definition at line 1016 of file sh.h.

◆ CHAR_FORMAT

#define CHAR_FORMAT   '%'

Definition at line 1032 of file sh.h.

◆ CHAR_HISTORY

#define CHAR_HISTORY   '!'

Definition at line 1027 of file sh.h.

◆ CHAR_HYPHEN

#define CHAR_HYPHEN   '-'

Definition at line 1038 of file sh.h.

◆ CHAR_INDIRECT

#define CHAR_INDIRECT   '@'

Definition at line 1057 of file sh.h.

◆ CHAR_INPUT

#define CHAR_INPUT   '<'

Definition at line 1053 of file sh.h.

◆ CHAR_JOBID

#define CHAR_JOBID   '%'

Definition at line 1033 of file sh.h.

◆ CHAR_MAGIC

#define CHAR_MAGIC   0x80

Definition at line 1060 of file sh.h.

◆ CHAR_MATCH_ALL

#define CHAR_MATCH_ALL   '*'

Definition at line 1036 of file sh.h.

◆ CHAR_MATCH_ANY

#define CHAR_MATCH_ANY   '?'

Definition at line 1056 of file sh.h.

◆ CHAR_MATCH_END

#define CHAR_MATCH_END   '%'

Definition at line 1034 of file sh.h.

◆ CHAR_MATCH_RANGE

#define CHAR_MATCH_RANGE   '-'

Definition at line 1039 of file sh.h.

◆ CHAR_MATCH_START

#define CHAR_MATCH_START   '#'

Definition at line 1029 of file sh.h.

◆ CHAR_META

#define CHAR_META   '\\'

Definition at line 1058 of file sh.h.

◆ CHAR_NEW_LINE

#define CHAR_NEW_LINE   '\n'

Definition at line 1007 of file sh.h.

◆ CHAR_NOT

#define CHAR_NOT   '^'

Definition at line 1013 of file sh.h.

◆ CHAR_OPEN_BRACES

#define CHAR_OPEN_BRACES   '{'

Definition at line 1021 of file sh.h.

◆ CHAR_OPEN_BRACKETS

#define CHAR_OPEN_BRACKETS   '['

Definition at line 1023 of file sh.h.

◆ CHAR_OPEN_PARATHENSIS

#define CHAR_OPEN_PARATHENSIS   '('

Definition at line 1019 of file sh.h.

◆ CHAR_OUTPUT

#define CHAR_OUTPUT   '>'

Definition at line 1055 of file sh.h.

◆ CHAR_PATH_SEPARATOR

#define CHAR_PATH_SEPARATOR   ';'

Definition at line 1050 of file sh.h.

◆ CHAR_PERIOD

#define CHAR_PERIOD   '.'

Definition at line 1042 of file sh.h.

◆ CHAR_PIPE

#define CHAR_PIPE   '|'

Definition at line 1026 of file sh.h.

◆ CHAR_PLUS

#define CHAR_PLUS   '+'

Definition at line 1037 of file sh.h.

◆ CHAR_RETURN

#define CHAR_RETURN   '\r'

Definition at line 1011 of file sh.h.

◆ CHAR_SEPARATOR

#define CHAR_SEPARATOR   ';'

Definition at line 1045 of file sh.h.

◆ CHAR_SINGLE_QUOTE

#define CHAR_SINGLE_QUOTE   '\''

Definition at line 1008 of file sh.h.

◆ CHAR_SPACE

#define CHAR_SPACE   ' '

Definition at line 1012 of file sh.h.

◆ CHAR_SWITCH

#define CHAR_SWITCH   '-'

Definition at line 1041 of file sh.h.

◆ CHAR_TAB

#define CHAR_TAB   '\t'

Definition at line 1014 of file sh.h.

◆ CHAR_TILDE

#define CHAR_TILDE   '~'

Definition at line 1025 of file sh.h.

◆ CHAR_UNIX_DIRECTORY

#define CHAR_UNIX_DIRECTORY   '/'

Definition at line 1006 of file sh.h.

◆ CHAR_VARIABLE

#define CHAR_VARIABLE   '$'

Definition at line 1030 of file sh.h.

◆ CHAR_XOR

#define CHAR_XOR   '^'

Definition at line 1017 of file sh.h.

◆ CLOCKS_PER_SEC

#define CLOCKS_PER_SEC   1000

Definition at line 439 of file sh.h.

◆ CMD_LINE_MAX

#define CMD_LINE_MAX   DOS_CMD_LINE_MAX

Definition at line 987 of file sh.h.

◆ DESCRIPTOR_CONSOLE

#define DESCRIPTOR_CONSOLE   0x0008 /* Console device */

Definition at line 1176 of file sh.h.

◆ DESCRIPTOR_DEVICE

#define DESCRIPTOR_DEVICE   0x0004 /* Device - tty */

Definition at line 1175 of file sh.h.

◆ DESCRIPTOR_FILE

#define DESCRIPTOR_FILE   0x0002 /* File */

Definition at line 1174 of file sh.h.

◆ DESCRIPTOR_PIPE

#define DESCRIPTOR_PIPE   0x0001 /* Pipe */

Definition at line 1173 of file sh.h.

◆ DESCRIPTOR_UNKNOWN

#define DESCRIPTOR_UNKNOWN   0x0000 /* Error - not known */

Definition at line 1172 of file sh.h.

◆ DISABLE_HARD_ERRORS

#define DISABLE_HARD_ERRORS

Definition at line 1513 of file sh.h.

◆ DISABLE_LASTWORD

#define DISABLE_LASTWORD   0x0020

Definition at line 1162 of file sh.h.

◆ DISABLE_LINECOUNT

#define DISABLE_LINECOUNT   0x0040

Definition at line 1163 of file sh.h.

◆ DISABLE_MAILCHECK

#define DISABLE_MAILCHECK   0x0001

Definition at line 1157 of file sh.h.

◆ DISABLE_OPTARG

#define DISABLE_OPTARG   0x0002

Definition at line 1158 of file sh.h.

◆ DISABLE_OPTIND

#define DISABLE_OPTIND   0x0004

Definition at line 1159 of file sh.h.

◆ DISABLE_RANDOM

#define DISABLE_RANDOM   0x0010

Definition at line 1161 of file sh.h.

◆ DISABLE_SECONDS

#define DISABLE_SECONDS   0x0008

Definition at line 1160 of file sh.h.

◆ DISABLE_WINTITLE

#define DISABLE_WINTITLE   0x0080

Definition at line 1164 of file sh.h.

◆ DOS_CMD_LINE_MAX

#define DOS_CMD_LINE_MAX   524288 /* Max command line length */

Definition at line 983 of file sh.h.

◆ DosExtendedInterrupt

#define DosExtendedInterrupt (   a,
  b,
  c 
)    intdosx (a, b, c)

Definition at line 588 of file sh.h.

◆ DosInterrupt

#define DosInterrupt (   a,
  b 
)    intdos (a, b)

Definition at line 587 of file sh.h.

◆ DPRINT

#define DPRINT (   a,
  b 
)

Definition at line 2458 of file sh.h.

◆ E2BIG

#define E2BIG   107 /* Arg list too long */

Definition at line 371 of file sh.h.

◆ EIO

#define EIO   105 /* I/O error */

Definition at line 367 of file sh.h.

◆ ENABLE_HARD_ERRORS

#define ENABLE_HARD_ERRORS

Definition at line 1514 of file sh.h.

◆ ENOTDIR

#define ENOTDIR   120 /* Not a directory */

Definition at line 375 of file sh.h.

◆ EP_CONVERT

#define EP_CONVERT   0x0080 /* Use conversion */

Definition at line 1977 of file sh.h.

◆ EP_DOSMODE

#define EP_DOSMODE   0x0001 /* Use DOS mode extended line */

Definition at line 1971 of file sh.h.

◆ EP_ENVIRON

#define EP_ENVIRON   0x0008 /* Use environ for variable */

Definition at line 1974 of file sh.h.

◆ EP_EXPORT

#define EP_EXPORT   0x0040 /* Use -m for this command */

Definition at line 1976 of file sh.h.

◆ EP_IGNTYPE

#define EP_IGNTYPE   0x0400 /* Ignore exe type (DOS only) */

Definition at line 1980 of file sh.h.

◆ EP_NOEXPAND

#define EP_NOEXPAND   0x0004 /* Use -f for this command */

Definition at line 1973 of file sh.h.

◆ EP_NONE

#define EP_NONE   0x0000 /* Use PSP command line */

Definition at line 1970 of file sh.h.

◆ EP_NOQUOTE

#define EP_NOQUOTE   0x0200 /* No quote protection */

Definition at line 1979 of file sh.h.

◆ EP_NOSWAP

#define EP_NOSWAP   0x0010 /* Do not swap for this command */

Definition at line 1975 of file sh.h.

◆ EP_NOWORDS

#define EP_NOWORDS   0x0100 /* Do word expansion */

Definition at line 1978 of file sh.h.

◆ EP_PSEUDOTTY

#define EP_PSEUDOTTY   0x0800 /* Child shells allow psuedo tty*/

Definition at line 1981 of file sh.h.

◆ EP_QUOTEWILD

#define EP_QUOTEWILD   0x1000 /* Quote wildcards */

Definition at line 1982 of file sh.h.

◆ EP_UNIXMODE

#define EP_UNIXMODE   0x0002 /* Use UNIX mode extended line */

Definition at line 1972 of file sh.h.

◆ ErrorPoint

#define ErrorPoint   int *

Definition at line 1677 of file sh.h.

◆ EXEC_FUNCTION

#define EXEC_FUNCTION   0x0002 /* execute a function */

Definition at line 1406 of file sh.h.

◆ EXEC_PIPE_IN

#define EXEC_PIPE_IN   0x0020 /* On pipe */

Definition at line 1414 of file sh.h.

◆ EXEC_PIPE_SUBS

#define EXEC_PIPE_SUBS   0x0040 /* Second command */

Definition at line 1415 of file sh.h.

◆ EXEC_WINDOWS

#define EXEC_WINDOWS   0x0080 /* Start Windows app */

Definition at line 1416 of file sh.h.

◆ EXEC_WITHOUT_FORK

#define EXEC_WITHOUT_FORK   0x0001 /* execute without forking */

Definition at line 1405 of file sh.h.

◆ EXETYPE_BAD_FILE

#define EXETYPE_BAD_FILE   0x000004 /* File not found */

Definition at line 954 of file sh.h.

◆ EXETYPE_BAD_IMAGE

#define EXETYPE_BAD_IMAGE   0x000002 /* Bad image */

Definition at line 952 of file sh.h.

◆ EXETYPE_DOS

#define EXETYPE_DOS   0x0000f0 /* Dos program */

Definition at line 944 of file sh.h.

◆ EXETYPE_DOS_32

#define EXETYPE_DOS_32   0x000030 /* Watcom 32 bit */

Definition at line 958 of file sh.h.

◆ EXETYPE_DOS_BOUND

#define EXETYPE_DOS_BOUND   0x000040 /* OS/2 Bound */

Definition at line 959 of file sh.h.

◆ EXETYPE_DOS_CUI

#define EXETYPE_DOS_CUI   0x000010 /* Dos non windows */

Definition at line 956 of file sh.h.

◆ EXETYPE_DOS_GUI

#define EXETYPE_DOS_GUI   0x000020 /* Windows */

Definition at line 957 of file sh.h.

◆ EXETYPE_ERROR

#define EXETYPE_ERROR   0x00000f /* Error on program */

Definition at line 943 of file sh.h.

◆ EXETYPE_NOT_EXE

#define EXETYPE_NOT_EXE   0x000003 /* Not exe - OS/2 */

Definition at line 953 of file sh.h.

◆ EXETYPE_NT

#define EXETYPE_NT   0x00f000 /* Win NT program */

Definition at line 948 of file sh.h.

◆ EXETYPE_NT_NATIVE

#define EXETYPE_NT_NATIVE   0x001000 /* NT native */

Definition at line 965 of file sh.h.

◆ EXETYPE_NT_OS2

#define EXETYPE_NT_OS2   0x004000 /* NT OS2 subsystem */

Definition at line 968 of file sh.h.

◆ EXETYPE_NT_POSIX

#define EXETYPE_NT_POSIX   0x005000 /* NT POSIX subsystem */

Definition at line 969 of file sh.h.

◆ EXETYPE_NT_WINDOWS_CUI

#define EXETYPE_NT_WINDOWS_CUI   0x003000 /* NT Windows CUI ss */

Definition at line 967 of file sh.h.

◆ EXETYPE_NT_WINDOWS_GUI

#define EXETYPE_NT_WINDOWS_GUI   0x002000 /* NT Windows GUI ss */

Definition at line 966 of file sh.h.

◆ EXETYPE_OS2

#define EXETYPE_OS2   0x000f00 /* OS/2 16 program */

Definition at line 945 of file sh.h.

◆ EXETYPE_OS2_32

#define EXETYPE_OS2_32   0x000800 /* OS/2 32 program */

Definition at line 947 of file sh.h.

◆ EXETYPE_OS2_CGUI

#define EXETYPE_OS2_CGUI   0x000200 /* Windows compatible */

Definition at line 962 of file sh.h.

◆ EXETYPE_OS2_CUI

#define EXETYPE_OS2_CUI   0x000100 /* Not windows compat */

Definition at line 961 of file sh.h.

◆ EXETYPE_OS2_GUI

#define EXETYPE_OS2_GUI   0x000300 /* Uses PM */

Definition at line 963 of file sh.h.

◆ EXETYPE_OS2_TYPE

#define EXETYPE_OS2_TYPE   0x000700 /* OS/2 Type program */

Definition at line 946 of file sh.h.

◆ EXETYPE_UNIX

#define EXETYPE_UNIX   0x0f0000 /* UNIX program */

Definition at line 949 of file sh.h.

◆ EXETYPE_UNIX_NATIVE

#define EXETYPE_UNIX_NATIVE   0x010000 /* UNIX program */

Definition at line 971 of file sh.h.

◆ EXETYPE_UNKNOWN

#define EXETYPE_UNKNOWN   0x000001 /* Not known */

Definition at line 951 of file sh.h.

◆ ExitErrorPoint

#define ExitErrorPoint (   a)    longjmp (e.ErrorReturnPoint, a)

Definition at line 1679 of file sh.h.

◆ EXPAND_CONVERT

#define EXPAND_CONVERT   0x20 /* Convert - and / to DOS format */

Definition at line 1486 of file sh.h.

◆ EXPAND_GLOBBING

#define EXPAND_GLOBBING   0x02 /* Do globbing on name */

Definition at line 1483 of file sh.h.

◆ EXPAND_NOALTS

#define EXPAND_NOALTS   0x40 /* No alternations */

Definition at line 1487 of file sh.h.

◆ EXPAND_PATTERN

#define EXPAND_PATTERN   0x04 /* quote *?[ */

Definition at line 1484 of file sh.h.

◆ EXPAND_SPLITIFS

#define EXPAND_SPLITIFS   0x01 /* Perform blank interpretation */

Definition at line 1482 of file sh.h.

◆ EXPAND_TILDE

#define EXPAND_TILDE   0x10 /* expand ~ */

Definition at line 1485 of file sh.h.

◆ EXTENSION_BATCH

#define EXTENSION_BATCH   2 /* OS/2 or DOS .cmd or .bat */

Definition at line 1190 of file sh.h.

◆ EXTENSION_EXECUTABLE

#define EXTENSION_EXECUTABLE   1 /* OS/2 or DOS .exe or .com */

Definition at line 1189 of file sh.h.

◆ EXTENSION_NOT_FOUND

#define EXTENSION_NOT_FOUND   0 /* Cannot find file */

Definition at line 1188 of file sh.h.

◆ EXTENSION_OTHER

#define EXTENSION_OTHER   4 /* Other */

Definition at line 1192 of file sh.h.

◆ EXTENSION_SHELL_SCRIPT

#define EXTENSION_SHELL_SCRIPT   3 /* Shell script */

Definition at line 1191 of file sh.h.

◆ F_LOCAL

#define F_LOCAL   near

Definition at line 121 of file sh.h.

◆ FALSE

#define FALSE   ((bool)0)

Definition at line 285 of file sh.h.

◆ FDBASE

#define FDBASE   20 /* First file usable by Shell */

Definition at line 1000 of file sh.h.

◆ FFNAME_MAX

#define FFNAME_MAX   (PATH_MAX + NAME_MAX + 4)

Definition at line 981 of file sh.h.

◆ FindLastPathCharacter

#define FindLastPathCharacter (   a)    strrchr (a, CHAR_UNIX_DIRECTORY)

Definition at line 1141 of file sh.h.

◆ FindPathCharacter

#define FindPathCharacter (   a)    strchr (a, CHAR_UNIX_DIRECTORY)

Definition at line 1142 of file sh.h.

◆ FL_CLEAR

#define FL_CLEAR (   x)    flags &= (~(1L << ((x) - 'a')))

Definition at line 1707 of file sh.h.

◆ FL_SET

#define FL_SET (   x)    flags |= (1L << ((x) - 'a'))

Definition at line 1706 of file sh.h.

◆ FL_TEST

#define FL_TEST (   x)    (flags & (1L << ((x) - 'a')))

Definition at line 1705 of file sh.h.

◆ FLAG_ALL_EXPORT

#define FLAG_ALL_EXPORT   'a' /* Set all env vars to exported */

Definition at line 1715 of file sh.h.

◆ FLAG_ALL_KEYWORDS

#define FLAG_ALL_KEYWORDS   'k' /* Look for name=value everywhere */

Definition at line 1721 of file sh.h.

◆ FLAG_DISABLE_GLOB

#define FLAG_DISABLE_GLOB   'f' /* Disable file name expansion */

Definition at line 1718 of file sh.h.

◆ FLAG_ECHO_INPUT

#define FLAG_ECHO_INPUT   'v' /* Echo as read */

Definition at line 1728 of file sh.h.

◆ FLAG_EXECUTE_STRING

#define FLAG_EXECUTE_STRING   'c' /* Command from string */

Definition at line 1716 of file sh.h.

◆ FLAG_EXIT_ON_ERROR

#define FLAG_EXIT_ON_ERROR   'e' /* Quit on error */

Definition at line 1717 of file sh.h.

◆ FLAG_INTERACTIVE

#define FLAG_INTERACTIVE   'i' /* Interactive shell */

Definition at line 1720 of file sh.h.

◆ FLAG_NO_EXECUTE

#define FLAG_NO_EXECUTE   'n' /* No execution */

Definition at line 1723 of file sh.h.

◆ FLAG_ONE_COMMAND

#define FLAG_ONE_COMMAND   't' /* exit after exec'ing 1 cmd */

Definition at line 1726 of file sh.h.

◆ FLAG_POSITION

#define FLAG_POSITION   's' /* Read from standard input */

Definition at line 1725 of file sh.h.

◆ FLAG_PRINT_EXECUTE

#define FLAG_PRINT_EXECUTE   'x' /* Trace */

Definition at line 1730 of file sh.h.

◆ FLAG_READONLY_SHELL

#define FLAG_READONLY_SHELL   'r' /* Read only shell */

Definition at line 1724 of file sh.h.

◆ FLAG_SEPARATE_GROUP

#define FLAG_SEPARATE_GROUP   'm' /* Separate process group */

Definition at line 1722 of file sh.h.

◆ FLAG_TRACK_ALL

#define FLAG_TRACK_ALL   'h' /* Track all aliases */

Definition at line 1719 of file sh.h.

◆ FLAG_UNSET_ERROR

#define FLAG_UNSET_ERROR   'u' /* Abort if env var not set */

Definition at line 1727 of file sh.h.

◆ FLAG_WARNING

#define FLAG_WARNING   'w' /* No Warning messages */

Definition at line 1729 of file sh.h.

◆ FLAGS_ALTERNATION

#define FLAGS_ALTERNATION   0x0020 /* Allow alternations */

Definition at line 1748 of file sh.h.

◆ FLAGS_BREAK_SWITCH

#define FLAGS_BREAK_SWITCH   0x1000 /* Change break status */

Definition at line 1756 of file sh.h.

◆ FLAGS_EDITORS

#define FLAGS_EDITORS   0x01c0 /* Any of Emacs, Gmacs, or Vi */

Definition at line 1750 of file sh.h.

◆ FLAGS_EMACS

#define FLAGS_EMACS   0x0080 /* Emacs mode */

Definition at line 1762 of file sh.h.

◆ FLAGS_FUNCTION

#define FLAGS_FUNCTION   0x0008 /* Special value used in */

Definition at line 1742 of file sh.h.

◆ FLAGS_GMACS

#define FLAGS_GMACS   0x0100 /* Gmacs mode */

Definition at line 1763 of file sh.h.

◆ FLAGS_IGNOREEOF

#define FLAGS_IGNOREEOF   0x0001 /* Ignore EOF */

Definition at line 1739 of file sh.h.

◆ FLAGS_MARKDIRECTORY

#define FLAGS_MARKDIRECTORY   0x0002 /* Mark directories with / */

Definition at line 1740 of file sh.h.

◆ FLAGS_MSDOS_FORMAT

#define FLAGS_MSDOS_FORMAT   0x0400 /* MSDOS format environment */

Definition at line 1752 of file sh.h.

◆ FLAGS_NOCASE

#define FLAGS_NOCASE   0x0200 /* Ignore case */

Definition at line 1751 of file sh.h.

◆ FLAGS_NOCLOBER

#define FLAGS_NOCLOBER   0x0004 /* No delete on existing files */

Definition at line 1741 of file sh.h.

◆ FLAGS_NONE

#define FLAGS_NONE   0x0000

Definition at line 1738 of file sh.h.

◆ FLAGS_REALPIPES

#define FLAGS_REALPIPES   0x0010 /* Use Real pipes under OS/2 */

Definition at line 1747 of file sh.h.

◆ FLAGS_SET_NT

#define FLAGS_SET_NT   0x4000 /* Set OS to NT */

Definition at line 1758 of file sh.h.

◆ FLAGS_SET_OS2

#define FLAGS_SET_OS2   0x2000 /* Set OS to OS2 */

Definition at line 1757 of file sh.h.

◆ FLAGS_VERIFY_SWITCH

#define FLAGS_VERIFY_SWITCH   0x0800 /* Change verify status */

Definition at line 1753 of file sh.h.

◆ FLAGS_VI

#define FLAGS_VI   0x0040 /* Vi mode */

Definition at line 1761 of file sh.h.

◆ FLGP_PID

#define FLGP_PID   1 /* only the process */

Definition at line 322 of file sh.h.

◆ FLGP_SUBTREE

#define FLGP_SUBTREE   0 /* All sub-tree processes */

Definition at line 318 of file sh.h.

◆ GetInterruptVector

#define GetInterruptVector (   x)    _dos_getvect ((x))

Definition at line 2380 of file sh.h.

◆ GETOPT_AMISSING

#define GETOPT_AMISSING   0x08 /* doset special */

Definition at line 2433 of file sh.h.

◆ GETOPT_MESSAGE

#define GETOPT_MESSAGE   0x02 /* Print error message */

Definition at line 2431 of file sh.h.

◆ GETOPT_PLUS

#define GETOPT_PLUS   0x01 /* Allow plus sign */

Definition at line 2430 of file sh.h.

◆ GETOPT_PRINT

#define GETOPT_PRINT   0x04 /* doecho special */

Definition at line 2432 of file sh.h.

◆ GM_ALL

#define GM_ALL   0 /* Match full string */

Definition at line 1774 of file sh.h.

◆ GM_LONGEST

#define GM_LONGEST   2 /* Longest prefix/suffix */

Definition at line 1776 of file sh.h.

◆ GM_SHORTEST

#define GM_SHORTEST   1 /* Shortest prefix/suffix */

Definition at line 1775 of file sh.h.

◆ HISTORY_MAX

#define HISTORY_MAX   100 /* History array length */

Definition at line 979 of file sh.h.

◆ IDENT

#define IDENT   64 /* Max size of an Identifier */

Definition at line 1338 of file sh.h.

◆ IOCAT

#define IOCAT   0x0005 /* >> */

Definition at line 1656 of file sh.h.

◆ IOCLOBBER

#define IOCLOBBER   0x0040 /* >| overwrite noclobber */

Definition at line 1661 of file sh.h.

◆ IOCLOSE

#define IOCLOSE   0x0007 /* >&- */

Definition at line 1658 of file sh.h.

◆ IODUP

#define IODUP   0x0006 /* >&digit */

Definition at line 1657 of file sh.h.

◆ IOEVAL

#define IOEVAL   0x0010 /* Expand in << */

Definition at line 1659 of file sh.h.

◆ IOFUNCTION

#define IOFUNCTION   0x0080 /* The Here document name is inside a */

Definition at line 1662 of file sh.h.

◆ IOHERE

#define IOHERE   0x0004 /* << (here file) */

Definition at line 1655 of file sh.h.

◆ IORDWR

#define IORDWR   0x0003 /* <> */

Definition at line 1654 of file sh.h.

◆ IOREAD

#define IOREAD   0x0001 /* < */

Definition at line 1652 of file sh.h.

◆ IOSKIP

#define IOSKIP   0x0020 /* <<- (here file */

Definition at line 1660 of file sh.h.

◆ IOTYPE

#define IOTYPE   0x000f /* type: bits 0:3 */

Definition at line 1651 of file sh.h.

◆ IOWRITE

#define IOWRITE   0x0002 /* > */

Definition at line 1653 of file sh.h.

◆ IS_AlphaNumeric

#define IS_AlphaNumeric (   c)    (CharTypes[(c)] & (C_ALPHA | C_DIGIT))

Definition at line 1087 of file sh.h.

◆ IS_Console

#define IS_Console (   a)    (GetDescriptorType (a) & DESCRIPTOR_CONSOLE)

Definition at line 1182 of file sh.h.

◆ IS_File

#define IS_File (   a)    (GetDescriptorType (a) & DESCRIPTOR_FILE)

Definition at line 1179 of file sh.h.

◆ IS_IFS

#define IS_IFS (   c)    (CharTypes[(c)] & C_IFS)

Definition at line 1088 of file sh.h.

◆ IS_Lexical

#define IS_Lexical (   c)    (CharTypes[(c)] & C_LEX1)

Definition at line 1089 of file sh.h.

◆ IS_Numeric

#define IS_Numeric (   c)    (CharTypes[(c)] & C_DIGIT)

Definition at line 1086 of file sh.h.

◆ IS_Pipe

#define IS_Pipe (   a)    (GetDescriptorType (a) & DESCRIPTOR_PIPE)

Definition at line 1178 of file sh.h.

◆ IS_TTY

#define IS_TTY (   a)
Value:
#define a(n)
Definition: gpos-common.c:148
#define DESCRIPTOR_DEVICE
Definition: sh.h:1175
int GetDescriptorType(int)
Definition: sh8.c:974
#define DESCRIPTOR_CONSOLE
Definition: sh.h:1176

Definition at line 1180 of file sh.h.

◆ IS_VariableFC

#define IS_VariableFC (   c)    (CharTypes[(c)] & C_ALPHA)

Definition at line 1083 of file sh.h.

◆ IS_VariableSC

#define IS_VariableSC (   c)    (CharTypes[(c)] & (C_ALPHA | C_DIGIT))

Definition at line 1084 of file sh.h.

◆ IS_VarNumeric

#define IS_VarNumeric (   c)    (CharTypes[(c)] & (C_DIGIT | C_VAR1))

Definition at line 1090 of file sh.h.

◆ IS_VarOp

#define IS_VarOp (   c)    (CharTypes[(c)] & C_SUBOP)

Definition at line 1091 of file sh.h.

◆ IS_WildCard

#define IS_WildCard (   c)    (CharTypes[(c)] & C_WILD)

Definition at line 1092 of file sh.h.

◆ IsDriveCharacter

#define IsDriveCharacter (   a)    C2bool ((a) == CHAR_DRIVE)

Definition at line 1137 of file sh.h.

◆ IsHPFSFileSystem

#define IsHPFSFileSystem (   a)    FALSE

Definition at line 1127 of file sh.h.

◆ IsPathCharacter

#define IsPathCharacter (   a)    C2bool ((a) == CHAR_UNIX_DIRECTORY)

Definition at line 1140 of file sh.h.

◆ KF_CLEAR

#define KF_CLEAR   0x09 /* Clear input line */

Definition at line 2163 of file sh.h.

◆ KF_CLEARSCREEN

#define KF_CLEARSCREEN   0x11 /* Clear screen */

Definition at line 2171 of file sh.h.

◆ KF_COMPLETE

#define KF_COMPLETE   0x0f /* Complete file name */

Definition at line 2169 of file sh.h.

◆ KF_DELETELEFT

#define KF_DELETELEFT   0x0e /* Delete left character */

Definition at line 2168 of file sh.h.

◆ KF_DELETERIGHT

#define KF_DELETERIGHT   0x0d /* Delete right character */

Definition at line 2167 of file sh.h.

◆ KF_DIRECTORY

#define KF_DIRECTORY   0x10 /* Complete directory function */

Definition at line 2170 of file sh.h.

◆ KF_END

#define KF_END   0x0b /* End of line */

Definition at line 2165 of file sh.h.

◆ KF_END_FKEYS

#define KF_END_FKEYS   0x15 /* End of function keys */

Definition at line 2175 of file sh.h.

◆ KF_EOFKEY

#define KF_EOFKEY   0x1a /* EOF value */

Definition at line 2186 of file sh.h.

◆ KF_FLUSH

#define KF_FLUSH   0x0a /* Flush to end of line */

Definition at line 2164 of file sh.h.

◆ KF_HALFHEIGTH

#define KF_HALFHEIGTH   0x16 /* Half height cursor */

Definition at line 2182 of file sh.h.

◆ KF_INSERT

#define KF_INSERT   0x0c /* Insert mode switch */

Definition at line 2166 of file sh.h.

◆ KF_INSERTCURSOR

#define KF_INSERTCURSOR   0x18 /* Enable insert cursor */

Definition at line 2184 of file sh.h.

◆ KF_INSERTMODE

#define KF_INSERTMODE   0x17 /* Overstrike or Insert */

Definition at line 2183 of file sh.h.

◆ KF_JOBS

#define KF_JOBS   0x12 /* Print Job tree */

Definition at line 2172 of file sh.h.

◆ KF_LEFT

#define KF_LEFT   0x04 /* Left one character */

Definition at line 2158 of file sh.h.

◆ KF_NEXT

#define KF_NEXT   0x03 /* Next command */

Definition at line 2157 of file sh.h.

◆ KF_PREVIOUS

#define KF_PREVIOUS   0x02 /* Previous command */

Definition at line 2156 of file sh.h.

◆ KF_QUOTE

#define KF_QUOTE   0x14 /* Quote character */

Definition at line 2174 of file sh.h.

◆ KF_RIGHT

#define KF_RIGHT   0x05 /* Right one character */

Definition at line 2159 of file sh.h.

◆ KF_RINGBELL

#define KF_RINGBELL   0x15 /* Ring bell */

Definition at line 2181 of file sh.h.

◆ KF_ROOTDRIVE

#define KF_ROOTDRIVE   0x19 /* Root drive */

Definition at line 2185 of file sh.h.

◆ KF_SCANBACKWARD

#define KF_SCANBACKWARD   0x00 /* Scan backwards in history */

Definition at line 2154 of file sh.h.

◆ KF_SCANFOREWARD

#define KF_SCANFOREWARD   0x01 /* Scan forewards in history */

Definition at line 2155 of file sh.h.

◆ KF_START

#define KF_START   0x08 /* Move to start of line */

Definition at line 2162 of file sh.h.

◆ KF_TRANSPOSE

#define KF_TRANSPOSE   0x13 /* Transpose characters */

Definition at line 2173 of file sh.h.

◆ KF_WORDLEFT

#define KF_WORDLEFT   0x07 /* Left one word */

Definition at line 2161 of file sh.h.

◆ KF_WORDRIGHT

#define KF_WORDRIGHT   0x06 /* Right one word */

Definition at line 2160 of file sh.h.

◆ KT_ALTFUNCTION

#define KT_ALTFUNCTION   0xff /* ALT key pressed */

Definition at line 2138 of file sh.h.

◆ KT_FUNCTION

#define KT_FUNCTION   0 /* Functionkey */

Definition at line 2137 of file sh.h.

◆ KT_RESIZE

#define KT_RESIZE   0xfe /* Window re-sized */

Definition at line 2139 of file sh.h.

◆ LEN_DEVICE_NAME_HEADER

#define LEN_DEVICE_NAME_HEADER   5 /* /dev/ string length */

Definition at line 996 of file sh.h.

◆ LINE_MAX

#define LINE_MAX   524288 /* Command line length */

Definition at line 978 of file sh.h.

◆ MATHS_EXPRESSION

#define MATHS_EXPRESSION   0x0010 /* get expression inside (( )) */

Definition at line 1334 of file sh.h.

◆ max

#define max (   a,
  b 
)    (((a) > (b)) ? (a) : (b))

Definition at line 443 of file sh.h.

◆ MAX_RECURSIVEALIASES

#define MAX_RECURSIVEALIASES   20 /* Max depth of recursive alias */

Definition at line 1604 of file sh.h.

◆ MCB_CON

#define MCB_CON   'M' /* More MCB's */

Definition at line 1429 of file sh.h.

◆ MCB_END

#define MCB_END   'Z' /* Last MCB's */

Definition at line 1430 of file sh.h.

◆ min

#define min (   a,
  b 
)    (((a) < (b)) ? (a) : (b))

Definition at line 423 of file sh.h.

◆ NOBLOCK

#define NOBLOCK   ((C_Op *)NULL)

Definition at line 1148 of file sh.h.

◆ NOCASE_COMPARE

#define NOCASE_COMPARE (   a,
  b 
)    stricmp (a,b)

Definition at line 686 of file sh.h.

◆ NOPIPE

#define NOPIPE   (-1)

Definition at line 1151 of file sh.h.

◆ NOWORD

#define NOWORD   ((char *)NULL)

Definition at line 1149 of file sh.h.

◆ NOWORDS

#define NOWORDS   ((char **)NULL)

Definition at line 1150 of file sh.h.

◆ NSIG

#define NSIG   10

Definition at line 294 of file sh.h.

◆ NT_FILE_DLL

#define NT_FILE_DLL   0x2000 /* File is a DLL. */

Definition at line 924 of file sh.h.

◆ NT_FILE_MACHINE_I386

#define NT_FILE_MACHINE_I386   0x14c /* Intel 386. */

Definition at line 925 of file sh.h.

◆ NT_OPTIONAL_HEADER

#define NT_OPTIONAL_HEADER   224 /* Size of Optional header */

Definition at line 922 of file sh.h.

◆ NT_SS_NATIVE

#define NT_SS_NATIVE   1 /* doesn't require a subsystem. */

Definition at line 929 of file sh.h.

◆ NT_SS_OS2_CUI

#define NT_SS_OS2_CUI   5 /* OS/2 character subsystem. */

Definition at line 932 of file sh.h.

◆ NT_SS_POSIX_CUI

#define NT_SS_POSIX_CUI   7 /* Posix character subsystem. */

Definition at line 933 of file sh.h.

◆ NT_SS_WINDOWS_CUI

#define NT_SS_WINDOWS_CUI   3 /* Windows character subsystem. */

Definition at line 931 of file sh.h.

◆ NT_SS_WINDOWS_GUI

#define NT_SS_WINDOWS_GUI   2 /* Windows GUI subsystem. */

Definition at line 930 of file sh.h.

◆ NT_STD_HEADER

#define NT_STD_HEADER   28 /* Size of Standard header */

Definition at line 921 of file sh.h.

◆ NUFILE

#define NUFILE   20 /* # of user-accessible files */

Definition at line 999 of file sh.h.

◆ O_BINARY

#define O_BINARY   0x8000

Definition at line 431 of file sh.h.

◆ O_CMASK

#define O_CMASK   (O_WRONLY | O_CREAT | O_TRUNC | O_BINARY)

Definition at line 1100 of file sh.h.

◆ O_NOINHERIT

#define O_NOINHERIT   0x8000

Definition at line 435 of file sh.h.

◆ O_PMASK

#define O_PMASK   (O_RDWR | O_CREAT | O_TRUNC | O_TEXT)

Definition at line 1102 of file sh.h.

◆ O_RMASK

#define O_RMASK   (O_RDONLY | O_NOINHERIT | O_TEXT)

Definition at line 1106 of file sh.h.

◆ O_SaMASK

#define O_SaMASK   (O_RDWR | O_BINARY)

Definition at line 1105 of file sh.h.

◆ O_SMASK

#define O_SMASK   (O_RDWR | O_CREAT | O_TRUNC | O_BINARY)

Definition at line 1104 of file sh.h.

◆ O_TEXT

#define O_TEXT   0x4000

Definition at line 427 of file sh.h.

◆ OLD_P_OVERLAY

#define OLD_P_OVERLAY   2

Definition at line 342 of file sh.h.

◆ ONEWORD

#define ONEWORD   0x0002 /* single word for substitute() */

Definition at line 1331 of file sh.h.

◆ OS2_16_APPTYP

#define OS2_16_APPTYP   0x0700 /* Application type mask */

Definition at line 773 of file sh.h.

◆ OS2_16_BOUND

#define OS2_16_BOUND   0x0800 /* Bound Family/API */

Definition at line 772 of file sh.h.

◆ OS2_16_DEV386

#define OS2_16_DEV386   4 /* Windows 386 */

Definition at line 786 of file sh.h.

◆ OS2_16_DOS4

#define OS2_16_DOS4   3 /* DOS 4.x */

Definition at line 785 of file sh.h.

◆ OS2_16_IERR

#define OS2_16_IERR   0x2000 /* Errors in image */

Definition at line 771 of file sh.h.

◆ OS2_16_NOTP

#define OS2_16_NOTP   0x8000 /* Not a process */

Definition at line 770 of file sh.h.

◆ OS2_16_NOTWINCOMPAT

#define OS2_16_NOTWINCOMPAT   0x0100 /* Not compatible with P.M. Windowing */

Definition at line 774 of file sh.h.

◆ OS2_16_OS2

#define OS2_16_OS2   1 /* OS/2 (default) */

Definition at line 783 of file sh.h.

◆ OS2_16_UNKNOWN

#define OS2_16_UNKNOWN   0 /* Unknown (any "new-format" OS) */

Definition at line 782 of file sh.h.

◆ OS2_16_WINAPI

#define OS2_16_WINAPI   0x0300 /* Uses P.M. Windowing API */

Definition at line 776 of file sh.h.

◆ OS2_16_WINCOMPAT

#define OS2_16_WINCOMPAT   0x0200 /* Compatible with P.M. Windowing */

Definition at line 775 of file sh.h.

◆ OS2_16_WINDOWS

#define OS2_16_WINDOWS   2 /* Windows */

Definition at line 784 of file sh.h.

◆ OS2_APPMASK

#define OS2_APPMASK   0x00000700L /* Application Type Mask */

Definition at line 853 of file sh.h.

◆ OS2_DEVICE

#define OS2_DEVICE   0x00020000L /* Device driver */

Definition at line 855 of file sh.h.

◆ OS2_MODDLL

#define OS2_MODDLL   0x00008000L /* .DLL module */

Definition at line 857 of file sh.h.

◆ OS2_MODEXE

#define OS2_MODEXE   0x00000000L /* .EXE module */

Definition at line 856 of file sh.h.

◆ OS2_MODMASK

#define OS2_MODMASK   0x00038000L /* Module type mask */

Definition at line 861 of file sh.h.

◆ OS2_MODPDEV

#define OS2_MODPDEV   0x00020000L /* Physical device driver */

Definition at line 859 of file sh.h.

◆ OS2_MODPROTDLL

#define OS2_MODPROTDLL   0x00018000L /* Protected memory library module */

Definition at line 858 of file sh.h.

◆ OS2_MODVDEV

#define OS2_MODVDEV   0x00028000L /* Virtual device driver */

Definition at line 860 of file sh.h.

◆ OS2_NOLOAD

#define OS2_NOLOAD   0x00002000L /* Module not Loadable */

Definition at line 849 of file sh.h.

◆ OS2_NOPMW

#define OS2_NOPMW   0x00000100L /* Incompatible with PM Windowing */

Definition at line 852 of file sh.h.

◆ OS2_NOTP

#define OS2_NOTP   0x00008000L /* Library Module - used as NENOTP */

Definition at line 848 of file sh.h.

◆ OS2_PMAPI

#define OS2_PMAPI   0x00000300L /* Uses PM Windowing API */

Definition at line 850 of file sh.h.

◆ OS2_PMW

#define OS2_PMW   0x00000200L /* Compatible with PM Windowing */

Definition at line 851 of file sh.h.

◆ OS2_PROTDLL

#define OS2_PROTDLL   0x00010000L /* Protected memory library module */

Definition at line 854 of file sh.h.

◆ OS_16

#define OS_16   1 /* 16-bit O/S */

Definition at line 87 of file sh.h.

◆ OS_32

#define OS_32   2 /* 32-bit O/S */

Definition at line 88 of file sh.h.

◆ OS_DOS

#define OS_DOS   1 /* MSDOS */

Definition at line 82 of file sh.h.

◆ OS_FILE_ARCHIVED

#define OS_FILE_ARCHIVED   _A_ARCH

Definition at line 470 of file sh.h.

◆ OS_FILE_ATTRIBUTES

#define OS_FILE_ATTRIBUTES
Value:
OS_FILE_SYSTEM | OS_FILE_NORMAL | \
OS_FILE_READONLY | OS_FILE_ARCHIVED)
#define OS_FILE_NORMAL
Definition: sh.h:468
#define OS_FILE_HIDDEN
Definition: sh.h:466
#define OS_FILE_ARCHIVED
Definition: sh.h:470
#define OS_FILE_DIRECTORY
Definition: sh.h:465

Definition at line 526 of file sh.h.

◆ OS_FILE_DIRECTORY

#define OS_FILE_DIRECTORY   _A_SUBDIR

Definition at line 465 of file sh.h.

◆ OS_FILE_HIDDEN

#define OS_FILE_HIDDEN   _A_HIDDEN

Definition at line 466 of file sh.h.

◆ OS_FILE_NORMAL

#define OS_FILE_NORMAL   _A_NORMAL

Definition at line 468 of file sh.h.

◆ OS_FILE_READONLY

#define OS_FILE_READONLY   _A_RDONLY

Definition at line 469 of file sh.h.

◆ OS_FILE_SYSTEM

#define OS_FILE_SYSTEM   _A_SYSTEM

Definition at line 467 of file sh.h.

◆ OS_GetFileAttributes

#define OS_GetFileAttributes (   a,
  b 
)    _dos_getfileattr ((a), (b))

Definition at line 497 of file sh.h.

◆ OS_NT

#define OS_NT   3 /* Windows NT */

Definition at line 84 of file sh.h.

◆ OS_OS2

#define OS_OS2   2 /* OS/2 */

Definition at line 83 of file sh.h.

◆ OS_SIZE

#define OS_SIZE   OS_16

Definition at line 114 of file sh.h.

◆ OS_SWAPPING

#define OS_SWAPPING   1

Definition at line 115 of file sh.h.

◆ OS_TYPE

#define OS_TYPE   OS_DOS

Definition at line 113 of file sh.h.

◆ OS_UNIX

#define OS_UNIX   4 /* A UNIX system */

Definition at line 85 of file sh.h.

◆ OS_VERS_N

#define OS_VERS_N   _osmajor

Definition at line 537 of file sh.h.

◆ OSCALL_PARAM

#define OSCALL_PARAM   unsigned int

Definition at line 651 of file sh.h.

◆ OSCALL_RET

#define OSCALL_RET   unsigned int

Definition at line 650 of file sh.h.

◆ P_DETACH

#define P_DETACH   4

Definition at line 350 of file sh.h.

◆ P_NOWAIT

#define P_NOWAIT   1

Definition at line 334 of file sh.h.

◆ P_NOWAITO

#define P_NOWAITO   3

Definition at line 346 of file sh.h.

◆ P_OVERLAY

#define P_OVERLAY   2

Definition at line 338 of file sh.h.

◆ P_WAIT

#define P_WAIT   0

Definition at line 330 of file sh.h.

◆ PARSE_BREAK

#define PARSE_BREAK   259

Definition at line 1289 of file sh.h.

◆ PARSE_CASE

#define PARSE_CASE   265

Definition at line 1295 of file sh.h.

◆ PARSE_COPROCESS

#define PARSE_COPROCESS   280 /* |& */

Definition at line 1310 of file sh.h.

◆ PARSE_DO

#define PARSE_DO   270

Definition at line 1300 of file sh.h.

◆ PARSE_DONE

#define PARSE_DONE   271

Definition at line 1301 of file sh.h.

◆ PARSE_ELIF

#define PARSE_ELIF   263

Definition at line 1293 of file sh.h.

◆ PARSE_ELSE

#define PARSE_ELSE   262

Definition at line 1292 of file sh.h.

◆ PARSE_ESAC

#define PARSE_ESAC   266

Definition at line 1296 of file sh.h.

◆ PARSE_FI

#define PARSE_FI   264

Definition at line 1294 of file sh.h.

◆ PARSE_FOR

#define PARSE_FOR   267

Definition at line 1297 of file sh.h.

◆ PARSE_FUNCTION

#define PARSE_FUNCTION   274

Definition at line 1304 of file sh.h.

◆ PARSE_IF

#define PARSE_IF   260

Definition at line 1290 of file sh.h.

◆ PARSE_IN

#define PARSE_IN   272

Definition at line 1302 of file sh.h.

◆ PARSE_LOGICAL_AND

#define PARSE_LOGICAL_AND   257 /* && */

Definition at line 1287 of file sh.h.

◆ PARSE_LOGICAL_OR

#define PARSE_LOGICAL_OR   258 /* || */

Definition at line 1288 of file sh.h.

◆ PARSE_MDPAREN

#define PARSE_MDPAREN   278 /* (( )) */

Definition at line 1308 of file sh.h.

◆ PARSE_MPAREN

#define PARSE_MPAREN   277 /* () */

Definition at line 1307 of file sh.h.

◆ PARSE_REDIR

#define PARSE_REDIR   276 /* >, <, etc */

Definition at line 1306 of file sh.h.

◆ PARSE_SELECT

#define PARSE_SELECT   273

Definition at line 1303 of file sh.h.

◆ PARSE_TEST

#define PARSE_TEST   279 /* [[ ]] */

Definition at line 1309 of file sh.h.

◆ PARSE_THEN

#define PARSE_THEN   261

Definition at line 1291 of file sh.h.

◆ PARSE_TIME

#define PARSE_TIME   275

Definition at line 1305 of file sh.h.

◆ PARSE_UNTIL

#define PARSE_UNTIL   269

Definition at line 1299 of file sh.h.

◆ PARSE_WHILE

#define PARSE_WHILE   268

Definition at line 1298 of file sh.h.

◆ PARSE_WORD

#define PARSE_WORD   256

Definition at line 1286 of file sh.h.

◆ PATCHLEVEL

#define PATCHLEVEL   4

Definition at line 977 of file sh.h.

◆ PATH_TO_DOS

#define PATH_TO_DOS (   x)
Value:
float x
Definition: cordic.py:15
#define CHAR_DOS_PATH
Definition: sh.h:1059
char * ConvertPathToFormat(char *, char, char)
Definition: sh1.c:2931
#define CHAR_UNIX_DIRECTORY
Definition: sh.h:1006

Definition at line 1114 of file sh.h.

◆ PATH_TO_LOWER_CASE

#define PATH_TO_LOWER_CASE (   a)    { strlwr (a); }

Definition at line 1126 of file sh.h.

◆ PATH_TO_UNIX

#define PATH_TO_UNIX (   x)
Value:

Definition at line 1112 of file sh.h.

◆ PATH_TO_UPPER_CASE

#define PATH_TO_UPPER_CASE (   a)    { strupr (a); }

Definition at line 1125 of file sh.h.

◆ PF_MODE_ASYNC

#define PF_MODE_ASYNC   1 /* Async command */

Definition at line 2289 of file sh.h.

◆ PF_MODE_COPROC

#define PF_MODE_COPROC   2 /* Co-process command */

Definition at line 2290 of file sh.h.

◆ PF_MODE_NO

#define PF_MODE_NO   3 /* No mode */

Definition at line 2291 of file sh.h.

◆ PF_MODE_NORMAL

#define PF_MODE_NORMAL   0 /* Normal command */

Definition at line 2288 of file sh.h.

◆ PFLG_A

#define PFLG_A   0 /* Process Flag A */

Definition at line 302 of file sh.h.

◆ PFLG_B

#define PFLG_B   1 /* Process Flag B */

Definition at line 306 of file sh.h.

◆ PFLG_C

#define PFLG_C   2 /* Process Flag C */

Definition at line 310 of file sh.h.

◆ REG_AX

#define REG_AX   ax

Definition at line 578 of file sh.h.

◆ REG_BX

#define REG_BX   bx

Definition at line 579 of file sh.h.

◆ REG_CFLAGS

#define REG_CFLAGS   cflag

Definition at line 584 of file sh.h.

◆ REG_CX

#define REG_CX   cx

Definition at line 580 of file sh.h.

◆ REG_DI

#define REG_DI   di

Definition at line 583 of file sh.h.

◆ REG_DX

#define REG_DX   dx

Definition at line 581 of file sh.h.

◆ REG_SI

#define REG_SI   si

Definition at line 582 of file sh.h.

◆ S_IFBLK

#define S_IFBLK   0x6000 /* block special */

Definition at line 401 of file sh.h.

◆ S_IFCHR

#define S_IFCHR   0020000

Definition at line 392 of file sh.h.

◆ S_IFDIR

#define S_IFDIR   0040000

Definition at line 388 of file sh.h.

◆ S_IFMT

#define S_IFMT   0170000

Definition at line 384 of file sh.h.

◆ S_IFREG

#define S_IFREG   0100000

Definition at line 396 of file sh.h.

◆ S_ISBLK

#define S_ISBLK (   m)    ((((m) & S_IFMT) == S_IFBLK))

Definition at line 417 of file sh.h.

◆ S_ISCHR

#define S_ISCHR (   m)    ((((m) & S_IFMT) == S_IFCHR))

Definition at line 409 of file sh.h.

◆ S_ISDIR

#define S_ISDIR (   m)    ((((m) & S_IFMT) == S_IFDIR))

Definition at line 405 of file sh.h.

◆ S_ISREG

#define S_ISREG (   m)    ((((m) & S_IFMT) == S_IFREG))

Definition at line 413 of file sh.h.

◆ SALIAS

#define SALIAS   6 /* alias expansion */

Definition at line 1368 of file sh.h.

◆ SEOF

#define SEOF   0 /* input EOF */

Definition at line 1362 of file sh.h.

◆ SetErrorPoint

#define SetErrorPoint (   a)    setjmp (e.ErrorReturnPoint = a)

Definition at line 1678 of file sh.h.

◆ SetInterruptVector

#define SetInterruptVector (   x,
  y 
)    _dos_setvect ((x), (y))

Definition at line 2381 of file sh.h.

◆ SetWindowName

#define SetWindowName (   a)

Definition at line 1907 of file sh.h.

◆ SFILE

#define SFILE   2 /* file input */

Definition at line 1364 of file sh.h.

◆ SIG_DOS

#define SIG_DOS   0x5a4d /* Dos Magic number */

Definition at line 695 of file sh.h.

◆ SIG_NT

#define SIG_NT   0x00004550 /* NT Magic number */

Definition at line 699 of file sh.h.

◆ SIG_OS2_16

#define SIG_OS2_16   0x454e /* OS/2 16 Magic number */

Definition at line 696 of file sh.h.

◆ SIG_OS2_16LE

#define SIG_OS2_16LE   0x454c /* OS/2 16 Magic number */

Definition at line 697 of file sh.h.

◆ SIG_OS2_32

#define SIG_OS2_32   0x584c /* OS/2 32 Magic number */

Definition at line 698 of file sh.h.

◆ SSAVE_IO_SIZE

#define SSAVE_IO_SIZE   4 /* Save IO array malloc inc */

Definition at line 995 of file sh.h.

◆ SSTRING

#define SSTRING   4 /* string */

Definition at line 1366 of file sh.h.

◆ STATUS_CANNOT_UNSET

#define STATUS_CANNOT_UNSET   0x0008 /* PATH Value - no unset */

Definition at line 1794 of file sh.h.

◆ STATUS_CONVERT_MSDOS

#define STATUS_CONVERT_MSDOS   0x0010 /* Convert to MSDOS format */

Definition at line 1795 of file sh.h.

◆ STATUS_EXPORT

#define STATUS_EXPORT   0x0002 /* variable is to be exported */

Definition at line 1793 of file sh.h.

◆ STATUS_GLOBAL

#define STATUS_GLOBAL   0x2000 /* Global variable */

Definition at line 1804 of file sh.h.

◆ STATUS_INTEGER

#define STATUS_INTEGER   0x0400 /* Contains integer value */

Definition at line 1801 of file sh.h.

◆ STATUS_LEFT_JUSTIFY

#define STATUS_LEFT_JUSTIFY   0x0020 /* Left Justify */

Definition at line 1796 of file sh.h.

◆ STATUS_LOCAL

#define STATUS_LOCAL   0x1000 /* Local variable in function */

Definition at line 1803 of file sh.h.

◆ STATUS_LOWER_CASE

#define STATUS_LOWER_CASE   0x0100 /* Convert to lower case */

Definition at line 1799 of file sh.h.

◆ STATUS_NOEXISTANT

#define STATUS_NOEXISTANT   0x8000 /* Does not exist */

Definition at line 1805 of file sh.h.

◆ STATUS_READONLY

#define STATUS_READONLY   0x0001 /* variable is read-only */

Definition at line 1792 of file sh.h.

◆ STATUS_RIGHT_JUSTIFY

#define STATUS_RIGHT_JUSTIFY   0x0040 /* Right Justify */

Definition at line 1797 of file sh.h.

◆ STATUS_TAGGED

#define STATUS_TAGGED   0x0800 /* User tagged */

Definition at line 1802 of file sh.h.

◆ STATUS_UPPER_CASE

#define STATUS_UPPER_CASE   0x0200 /* Convert to upper case */

Definition at line 1800 of file sh.h.

◆ STATUS_ZERO_FILL

#define STATUS_ZERO_FILL   0x0080 /* Zero fill */

Definition at line 1798 of file sh.h.

◆ STTY

#define STTY   1 /* terminal input */

Definition at line 1363 of file sh.h.

◆ SWAP_DISK

#define SWAP_DISK   0x0001 /* Disk only */

Definition at line 1467 of file sh.h.

◆ SWAP_EXPAND

#define SWAP_EXPAND   0x0004 /* Expanded memory */

Definition at line 1469 of file sh.h.

◆ SWAP_EXTEND

#define SWAP_EXTEND   0x0002 /* Extended memory */

Definition at line 1468 of file sh.h.

◆ SWAP_OFF

#define SWAP_OFF   0x0000 /* No swapping */

Definition at line 1466 of file sh.h.

◆ SWORDS

#define SWORDS   5 /* string[] */

Definition at line 1367 of file sh.h.

◆ SWORDSEP

#define SWORDSEP   8 /* string[] seperator */

Definition at line 1369 of file sh.h.

◆ SWSTR

#define SWSTR   3 /* string without \n */

Definition at line 1365 of file sh.h.

◆ SystemExtendedInterrupt

#define SystemExtendedInterrupt (   a,
  b,
  c,
  d 
)    int86x (a, b, c, d)

Definition at line 586 of file sh.h.

◆ SystemInterrupt

#define SystemInterrupt (   a,
  b,
  c 
)    int86 (a, b, c)

Definition at line 585 of file sh.h.

◆ TAND

#define TAND   6 /* && */

Definition at line 1246 of file sh.h.

◆ TASYNC

#define TASYNC   16 /* c & */

Definition at line 1256 of file sh.h.

◆ TBRACE

#define TBRACE   15 /* {c-list} */

Definition at line 1255 of file sh.h.

◆ TCASE

#define TCASE   9 /* CASE */

Definition at line 1249 of file sh.h.

◆ TCOM

#define TCOM   1 /* command */

Definition at line 1241 of file sh.h.

◆ TCOPROCESS

#define TCOPROCESS   8 /* coprocess */

Definition at line 1248 of file sh.h.

◆ TELIF

#define TELIF   13 /* ELSE IF */

Definition at line 1253 of file sh.h.

◆ TEOF

#define TEOF   0

Definition at line 1240 of file sh.h.

◆ TERMINATE_COMMAND

#define TERMINATE_COMMAND   1 /* Exit Error point for command */

Definition at line 1683 of file sh.h.

◆ TERMINATE_POINT_SET

#define TERMINATE_POINT_SET   0 /* Error point set */

Definition at line 1682 of file sh.h.

◆ TERMINATE_SHELL

#define TERMINATE_SHELL   2 /* Exit Error point for shell */

Definition at line 1684 of file sh.h.

◆ TEST_EXPRESSION

#define TEST_EXPRESSION   0x0020 /* get expression inside [[ ]] */

Definition at line 1335 of file sh.h.

◆ TFOR

#define TFOR   7 /* FOR */

Definition at line 1247 of file sh.h.

◆ TFUNC

#define TFUNC   17 /* c () {c-list} */

Definition at line 1257 of file sh.h.

◆ TIF

#define TIF   10 /* IF */

Definition at line 1250 of file sh.h.

◆ TLIST

#define TLIST   4 /* a [&;] b */

Definition at line 1244 of file sh.h.

◆ TOR

#define TOR   5 /* || */

Definition at line 1245 of file sh.h.

◆ TPAREN

#define TPAREN   2 /* (c-list) */

Definition at line 1242 of file sh.h.

◆ TPAT

#define TPAT   14 /* pattern in case */

Definition at line 1254 of file sh.h.

◆ TPIPE

#define TPIPE   3 /* a | b */

Definition at line 1243 of file sh.h.

◆ TRUE

#define TRUE   ((bool)1)

Definition at line 281 of file sh.h.

◆ TSELECT

#define TSELECT   18 /* SELECT */

Definition at line 1258 of file sh.h.

◆ TTIME

#define TTIME   19 /* time pipeline */

Definition at line 1259 of file sh.h.

◆ TUNTIL

#define TUNTIL   12 /* UNTIL */

Definition at line 1252 of file sh.h.

◆ TWHILE

#define TWHILE   11 /* WHILE */

Definition at line 1251 of file sh.h.

◆ WAIT_CHILD

#define WAIT_CHILD   0

Definition at line 356 of file sh.h.

◆ WAIT_GRANDCHILD

#define WAIT_GRANDCHILD   1

Definition at line 360 of file sh.h.

◆ WORD_CARRAY

#define WORD_CARRAY   13 /* closing ] for above */

Definition at line 1278 of file sh.h.

◆ WORD_CDQUOTE

#define WORD_CDQUOTE   8 /* closing " */

Definition at line 1273 of file sh.h.

◆ WORD_CHAR

#define WORD_CHAR   1 /* unquoted character */

Definition at line 1266 of file sh.h.

◆ WORD_COMSUB

#define WORD_COMSUB   4 /* $() substitution (0 terminated) */

Definition at line 1269 of file sh.h.

◆ WORD_CQUOTE

#define WORD_CQUOTE   6 /* closing ' */

Definition at line 1271 of file sh.h.

◆ WORD_CSUBST

#define WORD_CSUBST   10 /* closing } of above */

Definition at line 1275 of file sh.h.

◆ WORD_EOS

#define WORD_EOS   0 /* end of string */

Definition at line 1265 of file sh.h.

◆ WORD_OARRAY

#define WORD_OARRAY   12 /* opening ${name[ of array */

Definition at line 1277 of file sh.h.

◆ WORD_ODQUOTE

#define WORD_ODQUOTE   7 /* opening " */

Definition at line 1272 of file sh.h.

◆ WORD_OMATHS

#define WORD_OMATHS   11 /* opening $(()) substitution (0 term) */

Definition at line 1276 of file sh.h.

◆ WORD_OQUOTE

#define WORD_OQUOTE   5 /* opening ' */

Definition at line 1270 of file sh.h.

◆ WORD_OSUBST

#define WORD_OSUBST   9 /* opening ${ substitution */

Definition at line 1274 of file sh.h.

◆ WORD_QCHAR

#define WORD_QCHAR   2 /* quoted character */

Definition at line 1267 of file sh.h.

◆ WORD_QTCHAR

#define WORD_QTCHAR   3 /* temporary quoted character */

Definition at line 1268 of file sh.h.

◆ XCurrentOffset

#define XCurrentOffset (   xs,
  xp 
)    (xp - (xs).SStart)

Definition at line 1214 of file sh.h.

◆ XFree

#define XFree (   xs)    ReleaseMemoryCell ((void*)(xs).SStart)

Definition at line 1212 of file sh.h.

◆ XResetOffset

#define XResetOffset (   xs,
  n 
)    ((xs).SStart + (n))

Definition at line 1215 of file sh.h.

◆ XStart

#define XStart (   xs)    ((xs).SStart)

Definition at line 1213 of file sh.h.

◆ YYERRCODE

#define YYERRCODE   300

Definition at line 1311 of file sh.h.

Typedef Documentation

◆ AliasList

typedef struct AliasList AliasList

◆ bool

typedef unsigned char bool

Definition at line 276 of file sh.h.

◆ Break_C

typedef struct brkcon Break_C

◆ C_Op

typedef struct op C_Op

◆ ExeMode

typedef struct ExecutableMode ExeMode

◆ FunctionList

typedef struct FunctionList FunctionList

◆ GetoptsIndex

typedef struct GetoptsIndex GetoptsIndex

◆ IO_Actions

typedef struct ioword IO_Actions

◆ LineFields

typedef struct Fields LineFields

◆ S_SubShell

typedef struct subshell S_SubShell

◆ Save_IO

typedef struct save_io Save_IO

◆ ShellFileEnvironment

typedef struct env ShellFileEnvironment

◆ Source

typedef struct source Source

◆ VariableList

typedef struct var VariableList

◆ Word_B

typedef struct wdblock Word_B

◆ XString

typedef struct XString XString

Enumeration Type Documentation

◆ VISIT

enum VISIT
Enumerator
preorder 
postorder 
endorder 
leaf 

Definition at line 2439 of file sh.h.

Function Documentation

◆ AddHistory()

◆ AddParameter()

◆ AddWordToBlock()

◆ AllocateMemoryCell()

◆ AssignVariableFromString()

bool AssignVariableFromString ( char *  String,
int Index 
)

◆ BindKeyStroke()

◆ BuildCompletionList()

char** BuildCompletionList ( char *  String,
size_t  Length,
int Count,
bool  Full 
)

◆ BuildExtensionLists()

◆ BuildFileName()

char* BuildFileName ( char *  name)

◆ BuildNextFullPathName()

static char *near BuildNextFullPathName ( char *  path_s,
char *  file_s,
char *  output_s 
)

◆ BuildOS2String()

static char *near BuildOS2String ( char **  Array,
char  sep 
)

Definition at line 1788 of file system.c.

References AllocateMemoryCell(), cp, i, malloc, NOWORD, NULL, Output, p, pp, sep, sp, strchr, and strlen().

Referenced by CheckParameterLength(), and EnvironExecute().

◆ BuildParseTree()

C_Op* BuildParseTree ( Source s)

Definition at line 886 of file sh2.c.

References AllowMultipleLines, NULL, s, SFILE, STTY, t, yynerrs, and yyparse().

Referenced by CommandSubstitute(), RunACommand(), and RunCommands().

◆ ChangeFileDescriptorStatus()

void ChangeFileDescriptorStatus ( int  fd,
bool  InUse 
)

Definition at line 3415 of file sh8.c.

References e, FDBASE, and env::IOMap.

Referenced by CloseFile(), FOpenFile(), main(), S_close(), S_open(), and S_Remap().

◆ ChangeInitialisationValue()

bool ChangeInitialisationValue ( char *  string,
int  newvalue 
)

Definition at line 2357 of file sh9.c.

References Key_Fun_List::akey, FALSE, i, KF_END_FKEYS, KF_LENGTH, KF_List, stricmp, and TRUE.

Referenced by doset().

◆ CheckDOSFileName()

char* CheckDOSFileName ( char *  name)

◆ CheckForRestrictedShell()

bool CheckForRestrictedShell ( char *  s)

◆ CheckForScriptFile()

int CheckForScriptFile ( char *  path,
char **  params,
int nargs 
)

◆ CheckProgramMode()

◆ CleanUpBuffer()

char CleanUpBuffer ( int  length,
char *  buffer,
int  eofc 
)

Definition at line 2844 of file sh9.c.

References CHAR_NEW_LINE, cp, length, and ret.

Referenced by AddHistory(), doecho(), dofc(), ReadALine(), and VI_EditLine().

◆ ClearExtendedLineFile()

◆ ClearHistory()

void ClearHistory ( void  )

◆ ClearScreen()

◆ ClearSwapFile()

static void near ClearSwapFile ( void  )

◆ ClearVariableStatus()

void ClearVariableStatus ( char *  name,
int  flag 
)

Definition at line 3381 of file sh1.c.

References IS_VariableFC, LookUpVariable(), var::name, name, var::status, and TRUE.

Referenced by ClearUserPrompts().

◆ CloseAllHandlers()

void CloseAllHandlers ( void  )

Definition at line 1161 of file sh5.c.

References fclose, flags, MaxNumberofFDs, NUFILE, S_close(), TRUE, and u.

Referenced by ExecuteParseTree(), ExitTheShell(), Initialise(), and RunCommands().

◆ CloseFile()

◆ CloseThePipe()

void CloseThePipe ( int  pv)

Definition at line 751 of file sh8.c.

References S_close(), and TRUE.

Referenced by ExecuteParseTree().

◆ compile()

◆ CompilingError()

◆ Configure_Keys()

◆ ConvertNumericValue()

static bool near ConvertNumericValue ( char *  string,
long *  value,
int  base 
)

◆ ConvertPathToFormat()

char* ConvertPathToFormat ( char *  path,
char  in,
char  out 
)

Definition at line 2931 of file sh1.c.

References in, NULL, out, s, and strchr.

◆ CopyFunction()

C_Op* CopyFunction ( C_Op Old_t)

Definition at line 1251 of file sh10.c.

References DuplicateFunctionTree(), e, ErrorPoint, env::ErrorReturnPoint, NULL, and SetErrorPoint.

Referenced by ExecuteFunction().

◆ CountNumberArguments()

◆ CountVariableArraySize()

int CountVariableArraySize ( char *  name)

Definition at line 1535 of file sh1.c.

References Count_Array, Count_Name, CountEnvironment(), isdigit, name, ParameterCount, twalk(), and VariableTree.

Referenced by PrintEntry(), and VariableSubstitute().

◆ CreateGlobalVariableList()

◆ CreateNewEnvironment()

◆ DeleteAlias()

void DeleteAlias ( char *  name)

◆ DeleteAllFunctions()

void DeleteAllFunctions ( void  )

Definition at line 1009 of file sh10.c.

References DeleteAFunction(), FunctionTree, int(), signal(), twalk(), and void.

Referenced by ExitTheShell().

◆ DeleteFunction()

void DeleteFunction ( C_Op t)

◆ DeleteGlobalVariableList()

◆ DeleteLastHistory()

void DeleteLastHistory ( void  )

Definition at line 2604 of file sh9.c.

References l_history, and ReleaseCommandMemory().

Referenced by dofc().

◆ DisplayLineWithControl()

void DisplayLineWithControl ( char *  line)

Definition at line 2755 of file sh9.c.

References CHAR_SPACE, CHAR_TAB, line, fc-lang::off, OutputACharacter(), and ReadCursorPosition().

Referenced by ReDisplayInputLine().

◆ doexec()

◆ DumpHistory()

void DumpHistory ( void  )

◆ DuplicateMemoryCell()

void* DuplicateMemoryCell ( void cell)

◆ EditorInput()

◆ EMACS_Initialisation()

◆ EvaluateMathsExpression()

◆ ExecuteACommand()

int ExecuteACommand ( char **  argv,
int  mode 
)

◆ ExecuteParseTree()

int ExecuteParseTree ( C_Op t,
int  StandardIN,
int  StandardOUT,
int  Actions 
)

Definition at line 265 of file sh3.c.

References AllocateMemoryCell(), atoi(), BC_BREAK, Break_List, CHAR_NEW_LINE, CLOCKS_PER_SEC, CloseAllHandlers(), CloseThePipe(), Count, cp, CreateGlobalVariableList(), brkcon::CurrentReturnPoint, DISABLE_LASTWORD, DisabledVariables, DPRINT, EXEC_FUNCTION, EXEC_PIPE_IN, EXEC_PIPE_SUBS, ExecProcessingMode, Execute_stack_depth, ExecuteParseTree(), EXPAND_GLOBBING, EXPAND_PATTERN, EXPAND_SPLITIFS, EXPAND_TILDE, ExpandAString(), ExpandWordList(), FALSE, feputc(), FindNumberOfValues(), FL_TEST, FLAG_WARNING, FLAGS_NONE, FLAGS_REALPIPES, ForkAndExecute(), fprintf, fputs, GeneralPatternMatch(), GetGetoptsValues(), GetVariableAsNumeric(), GM_ALL, GetoptsIndex::Index, int(), InteractiveFlag, InterruptTrapPending, IS_TTY, isdigit, L, LastWordVariable, op::left, LINE_MAX, LIT_REPLY, lseek, MemoryAreaLevel, brkcon::NextExitLevel, NOWORD, NOWORDS, NULL, OpenAPipe(), Outofmemory1, OutputUserPrompt(), PrintAList(), PrintPidStarted, PrintWarningMessage(), PS3, read, ReleaseMemoryArea(), ReMapIOHandler(), RestoreEnvironment(), Return_List, op::right, RunTrapCommand(), S_close(), SaveFunction(), SaveGetoptsValues(), SEEK_SET, SetCommandReturnStatus(), SetVariableFromString(), SetVariableStatus(), ShellErrorMessage(), ShellGlobalFlags, SShell_List, STATUS_EXPORT, StatusVariable, STDIN_FILENO, strlen(), GetoptsIndex::SubIndex, SW_intr, TAND, TASYNC, TBRACE, TCASE, TCOM, TCOPROCESS, TELIF, TERMINATE_COMMAND, TerminateCurrentEnvironment(), TFOR, TFUNC, TIF, TLIST, TOR, TPAREN, TPAT, TPIPE, TRUE, TSELECT, TTIME, TUNTIL, TWHILE, op::type, op::vars, and WAIT_GRANDCHILD.

Referenced by doexec(), ExecuteFunction(), ExecuteParseTree(), ForkAndExecute(), ProcessCommandTree(), RunACommand(), and RunCommands().

◆ ExitTheShell()

◆ ExpandAString()

char* ExpandAString ( char *  cp,
int  ExpandMode 
)

◆ ExpandOneStringFirstComponent()

char* ExpandOneStringFirstComponent ( char *  cp,
int  ExpandMode 
)

Definition at line 258 of file sh4.c.

References cp, EXPAND_GLOBBING, ExpandAString(), ExpandAWord(), NULL, w, and WordBlockSize().

Referenced by SetUpIOHandlers().

◆ ExpandWordList()

◆ ExtractFieldsFromLine()

◆ feputc()

◆ feputs()

◆ FinalExitCleanUp()

void FinalExitCleanUp ( int  status)

Definition at line 3744 of file sh1.c.

References exit(), and status.

Referenced by CheckForExecOnly(), ExitTheShell(), LocalExecve(), and main().

◆ FindLocationOfExecutable()

◆ FlushHistoryBuffer()

void FlushHistoryBuffer ( void  )

Definition at line 2544 of file sh9.c.

References AddHistory(), AppendHistory, ConsoleLineBuffer, FALSE, LINE_MAX, memset(), and SaveHistory.

Referenced by