/*
** $Id: shell_func_ext.h,v 1.7 2005/07/07 19:03:54 svitak Exp $
** $Log: shell_func_ext.h,v $
** Revision 1.7 2005/07/07 19:03:54 svitak
** Eliminated traces of old TraceScript function so as not to confuse it
** with the newer, less usable TraceScript found in ss/eval.c.
**
** Revision 1.6 2005/06/27 19:00:45 svitak
** Added explicit types to untyped functions and fixed return values as
** appropriate. Initialized values explicitly when it was unclear if
** they were being used uninitialized (may not apply to all files being
** checked in in this batch).
**
** Revision 1.5 2005/06/26 08:25:37 svitak
** Provided explicit types for untyped funtions. Fixed return statements to
** match return type.
**
** Revision 1.4 2005/06/24 20:48:18 svitak
** Correct typing of functions returning void.
**
** Revision 1.3 2005/06/20 21:20:15 svitak
** Fixed compiler warnings re: unused variables and functions with no return type.
** Default of int causes compiler to complain about return with no type, so void
** used as return type when none present.
**
** Revision 1.2 2005/06/17 17:37:06 svitak
** Deprecated varargs.h replaced by stdarg.h. Old-style argument lists updated.
** These changes were part of varargs-genesis.patch. Systems without stdarg.h
** will no longer compile.
**
** Revision 1.1.1.1 2005/06/14 04:38:34 svitak
** Import from snapshot of CalTech CVS tree of June 8, 2005
**
** Revision 1.11 2003/03/28 21:10:46 gen-dbeeman
** Changes from Hugo Cornelis to enable debugging commands gctrace and gftrace
**
** Revision 1.10 2001/06/29 21:24:17 mhucka
** Lots of additions, and a reorganization.
**
** Revision 1.9 2001/04/25 17:17:00 mhucka
** Misc. small changes to improve portability and address compiler warnings.
**
** Revision 1.8 2000/09/21 19:38:20 mhucka
** Added declarations for a few more functions.
**
** Revision 1.7 2000/09/07 05:15:58 mhucka
** Added declaration for Autoshell() and new function SetAutoShell().
**
** Revision 1.6 2000/05/19 18:40:05 mhucka
** Added declaration for SearchForNonScript.
**
** Revision 1.5 2000/03/27 10:33:07 mhucka
** Commented out statusline functionality, because it caused GENESIS to send
** control character sequences upon exit and thereby screw up the user's
** terminal. Also added return type declarations for various things.
**
** Revision 1.4 1999/08/22 04:42:15 mhucka
** Various fixes, mostly for Red Hat Linux 6.0
**
** Revision 1.3 1995/02/22 19:12:58 dhb
** Added GetHistory() extern statement.
**
** Revision 1.2 1994/04/14 16:22:29 dhb
** Added PFI GetFuncAddress() to extern declarations.
**
** Revision 1.1 1992/12/11 19:04:53 dhb
** Initial revision
**
*/
#ifndef SHELL_FUNC_EXT_H
#define SHELL_FUNC_EXT_H
#include <stdlib.h>
#include <string.h> /* strchr */
#include "result.h"
#include "shell_struct.h"
/*
** PFI is defined in header.h, but some places where PFI is needed can't
** include header.h without a lot of trouble. So, define it here if needed.
*/
#ifndef PFI_DEFINED
#define PFI_DEFINED
typedef int (*PFI)();
#endif
#include <string.h>
/*
** Tracing of commands and functions
*/
int GetCommandTraceLevel(void);
int SetCommandTraceLevel(int iLevel);
extern int AddCleanup();
extern void AddFunc();
extern void AddHistory();
extern int AddJob();
extern void AddScript();
extern void AlternatePrompt();
extern char *ArgListToString();
extern double Atod();
extern float Atof();
extern int Autoshell();
extern int AuxFuncIndex();
extern int AvailableCharacters();
extern void cleareol();
extern void ClearScriptStack();
extern void CloseLog();
extern char **CopyArgv();
extern char *CopyString();
extern Script *CurrentScript();
extern FILE *CurrentScriptFp();
extern int CurrentScriptLine();
extern int CurrentScriptLine();
extern char *CurrentScriptName();
extern void DefaultPrompt();
extern void DisableStatusLine();
extern void do_add_func();
extern void do_autoshell();
extern int do_cd();
extern int do_debug();
extern int do_debug_func();
extern void do_echo();
extern void do_execute();
extern void do_exit();
extern char *do_getenv();
extern void do_getinfo();
extern void do_load_func();
extern void do_load_lib();
extern void do_logoff();
extern int do_mkdir();
extern void do_printargs();
extern void do_printenv();
extern void do_return();
extern void do_setenv();
extern void do_set_prompt();
extern void do_shell();
extern int do_silent();
extern void do_source();
extern int do_status_message();
extern void do_where();
extern int Dynamic();
extern int EmptyLine();
extern int EmptyString();
extern void EnableDynamicLoad();
extern void EnableHistory();
extern int EnableScrollRegion();
extern void EnableStatusLine();
extern void EndScript();
extern void EndScript();
extern void Error();
extern void ExecuteCleanups();
extern Result ExecuteCommand();
extern void ExecuteJobs();
extern void FreeArgv();
extern void FreeArgv();
extern void FreeString();
extern char *ftoa();
extern int FuncIndex();
extern void genesis_tty();
extern char *getenv();
extern PFI GetFuncAddress();
extern char *GetFuncName();
extern char* GetHistory();
extern int GetInfo();
extern int GetLine();
extern char *GetLineFp();
extern void HashFunc();
extern void HashInit();
extern char *History();
extern int HistoryCnt();
extern int IncludeScript();
extern void inc_prompt();
extern void InitJobs();
extern void Interpreter();
extern int is_alpha();
extern int is_alphanum();
extern int IsBatchMode();
extern int IsBatchMode();
extern int IsCommand();
extern int is_data_char();
extern int is_eol_char();
extern int IsFile();
extern int IsHistoryEnabled();
extern int IsInclude();
extern int is_index_delimiter();
extern int is_num();
extern int IsSilent();
extern int is_space_char();
extern int is_str_delimiter();
extern int IsStringDelimiter();
extern int IsStringEnd();
extern int is_str_var_delimiter();
extern int IsTtyMode();
extern int is_var_char();
extern int IsWhiteSpace();
extern char *itoa();
extern void LoadFuncInit();
extern void LogHeader();
extern void LogTime();
extern void LogTrailer();
extern void lprintf(char *com, ...);
extern void lprint_only(char *com, ...);
extern int NestedLevel();
extern Script *NextScript();
extern Script *NextScript();
extern void normal_tty();
extern char **NULLArgv();
extern void OpenLog();
extern FILE *OpenScriptFile();
extern void ParseInit();
extern void ProcessStatus();
extern void PutAuxFunc();
extern float rangauss();
extern void ReallocateArgList();
extern void RecordStartTime();
extern void RemoveCleanup();
extern void RemoveJob();
extern void ResetErrors();
extern void RestoreCursorPosition();
extern void restore_tty();
extern void SaneTerm();
extern void SaveCursorPosition();
extern int ScriptArgc();
extern char *ScriptArgv();
extern int ScriptDepth();
extern int ScriptEnded();
extern int ScrollRegion();
extern FILE *SearchForExecutable();
extern FILE *SearchForNonScript();
extern FILE *SearchForScript();
extern void SetAutoshell();
extern void SetBatchMode();
extern void SetDefaultPrompt();
extern void SetPrompt();
extern void SetScript();
extern void SetSilent();
extern void SetTtyMode();
extern void SetUpFuncTable();
extern int SetupInterp();
extern char *sgets();
extern void ShowFuncNames();
extern void ShowHistory();
extern void show_prompt();
extern void Sleep();
extern void Standout();
extern int StatusActive();
extern void StringToArgList();
extern char *StripCR();
extern int TermGoto();
extern void terminal_setup();
extern void TermParse();
extern char *termstr();
extern void tset();
extern int ValidScript();
extern void Warning();
#endif /* SHELL_FUNC_EXT_H */