home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / octave-1.1.1p1-src.tgz / tar.out / fsf / octave / src / octave.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  3KB  |  100 lines

  1. // octave.h                                              -*- C++ -*-
  2. /*
  3.  
  4. Copyright (C) 1992, 1993, 1994, 1995 John W. Eaton
  5.  
  6. This file is part of Octave.
  7.  
  8. Octave is free software; you can redistribute it and/or modify it
  9. under the terms of the GNU General Public License as published by the
  10. Free Software Foundation; either version 2, or (at your option) any
  11. later version.
  12.  
  13. Octave is distributed in the hope that it will be useful, but WITHOUT
  14. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  15. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  16. for more details.
  17.  
  18. You should have received a copy of the GNU General Public License
  19. along with Octave; see the file COPYING.  If not, write to the Free
  20. Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22. */
  23.  
  24. #if !defined (octave_octave_h)
  25. #define octave_octave_h 1
  26.  
  27. #include <stdio.h>
  28.  
  29. class tree_statement_list;
  30. class tree_function;
  31.  
  32. // Tell g++ that clean_up_and_exit doesn't return;
  33.  
  34. #ifdef __GNUG__
  35. typedef void v_fcn_i (int);
  36. volatile v_fcn_i clean_up_and_exit;
  37. #endif
  38.  
  39. extern void clean_up_and_exit (int);
  40.  
  41. extern void parse_and_execute (FILE *f, int print = 0);
  42. extern void parse_and_execute (char *s, int print = 0, int verbose = 0);
  43.  
  44. // argv[0] for this program.
  45. extern char *raw_prog_name;
  46.  
  47. // Cleaned-up name of this program, not including path information.
  48. extern char *prog_name;
  49.  
  50. // Login name for user running this program.
  51. extern char *user_name;
  52.  
  53. // Name of the host we are running on.
  54. extern char *host_name;
  55.  
  56. // User's home directory.
  57. extern char *home_directory;
  58.  
  59. // Guess what?
  60. extern char *the_current_working_directory;
  61.  
  62. // Load path specified on command line.
  63. extern char *load_path;
  64.  
  65. // Name of the info file specified on command line.
  66. extern char *info_file;
  67.  
  68. // Name of the editor to be invoked by the edit_history command.
  69. extern char *editor;
  70.  
  71. // If nonzero, don't do fancy line editing.
  72. extern int no_line_editing;
  73.  
  74. // If nonzero, print verbose info in some cases.
  75. extern int verbose_flag;
  76.  
  77. // Command number, counting from the beginning of this session.
  78. extern int current_command_number;
  79.  
  80. // Nonzero means we are exiting via the builtin exit or quit functions.
  81. extern int quitting_gracefully;
  82.  
  83. // Current command to execute.
  84. extern tree_statement_list *global_command;
  85.  
  86. // Pointer to function that is currently being evaluated.
  87. extern tree_function *curr_function;
  88.  
  89. // Nonzero means input is coming from startup file.
  90. extern int input_from_startup_file;
  91.  
  92. #endif
  93.  
  94. /*
  95. ;;; Local Variables: ***
  96. ;;; mode: C++ ***
  97. ;;; page-delimiter: "^/\\*" ***
  98. ;;; End: ***
  99. */
  100.