GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
options.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 1993-2024 The Octave Project Developers
4 //
5 // See the file COPYRIGHT.md in the top-level directory of this
6 // distribution or <https://octave.org/copyright/>.
7 //
8 // This file is part of Octave.
9 //
10 // Octave is free software: you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Octave is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with Octave; see the file COPYING. If not, see
22 // <https://www.gnu.org/licenses/>.
23 //
24 ////////////////////////////////////////////////////////////////////////
25 
26 #if ! defined (octave_options_h)
27 #define octave_options_h 1
28 
29 #include "octave-config.h"
30 
31 #include <iosfwd>
32 
33 // This is here so that it's more likely that the usage message and
34 // the real set of options will agree. Note: the '+' must come first
35 // to prevent getopt from permuting arguments!
36 static const char *short_opts = "+HWVdfhip:qvx";
37 
38 // Long options. See the comments in getopt.h for the meanings of the
39 // fields in this structure.
40 #define BUILT_IN_DOCSTRINGS_FILE_OPTION 1
41 #define DOC_CACHE_FILE_OPTION 2
42 #define EVAL_OPTION 3
43 #define EXEC_PATH_OPTION 4
44 #define EXPERIMENTAL_TERMINAL_WIDGET_OPTION 5
45 #define GUI_OPTION 6
46 #define IMAGE_PATH_OPTION 7
47 #define INFO_FILE_OPTION 8
48 #define INFO_PROG_OPTION 9
49 #define LINE_EDITING_OPTION 10
50 #define NO_GUI_OPTION 11
51 #define NO_GUI_LIBS_OPTION 12
52 #define NO_INIT_FILE_OPTION 13
53 #define NO_INIT_PATH_OPTION 14
54 #define NO_LINE_EDITING_OPTION 15
55 #define NO_SITE_FILE_OPTION 16
56 #define PERSIST_OPTION 17
57 #define SERVER_OPTION 18
58 #define TEXI_MACROS_FILE_OPTION 19
59 #define TRADITIONAL_OPTION 20
61 {
62  { "braindead", octave_no_arg, nullptr, TRADITIONAL_OPTION },
63  { "built-in-docstrings-file", octave_required_arg, nullptr, BUILT_IN_DOCSTRINGS_FILE_OPTION },
64  { "debug", octave_no_arg, nullptr, 'd' },
65  { "doc-cache-file", octave_required_arg, nullptr, DOC_CACHE_FILE_OPTION },
66  { "echo-commands", octave_no_arg, nullptr, 'x' },
67  { "eval", octave_required_arg, nullptr, EVAL_OPTION },
68  { "exec-path", octave_required_arg, nullptr, EXEC_PATH_OPTION },
69  { "experimental-terminal-widget", octave_no_arg, nullptr, EXPERIMENTAL_TERMINAL_WIDGET_OPTION },
70  { "force-gui", octave_no_arg, nullptr, GUI_OPTION },
71  { "gui", octave_no_arg, nullptr, GUI_OPTION },
72  { "help", octave_no_arg, nullptr, 'h' },
73  { "image-path", octave_required_arg, nullptr, IMAGE_PATH_OPTION },
74  { "info-file", octave_required_arg, nullptr, INFO_FILE_OPTION },
75  { "info-program", octave_required_arg, nullptr, INFO_PROG_OPTION },
76  { "interactive", octave_no_arg, nullptr, 'i' },
77  { "line-editing", octave_no_arg, nullptr, LINE_EDITING_OPTION },
78  { "no-gui", octave_no_arg, nullptr, NO_GUI_OPTION },
79  { "no-gui-libs", octave_no_arg, nullptr, NO_GUI_LIBS_OPTION },
80  { "no-history", octave_no_arg, nullptr, 'H' },
81  { "no-init-file", octave_no_arg, nullptr, NO_INIT_FILE_OPTION },
82  { "no-init-path", octave_no_arg, nullptr, NO_INIT_PATH_OPTION },
83  { "no-line-editing", octave_no_arg, nullptr, NO_LINE_EDITING_OPTION },
84  { "no-site-file", octave_no_arg, nullptr, NO_SITE_FILE_OPTION },
85  { "no-window-system", octave_no_arg, nullptr, 'W' },
86  { "norc", octave_no_arg, nullptr, 'f' },
87  { "path", octave_required_arg, nullptr, 'p' },
88  { "persist", octave_no_arg, nullptr, PERSIST_OPTION },
89  { "quiet", octave_no_arg, nullptr, 'q' },
90  { "server", octave_no_arg, nullptr, SERVER_OPTION },
91  { "silent", octave_no_arg, nullptr, 'q' },
92  { "texi-macros-file", octave_required_arg, nullptr, TEXI_MACROS_FILE_OPTION },
93  { "traditional", octave_no_arg, nullptr, TRADITIONAL_OPTION },
94  { "verbose", octave_no_arg, nullptr, 'V' },
95  { "version", octave_no_arg, nullptr, 'v' },
96  { nullptr, 0, nullptr, 0 }
97 };
98 
99 #endif
#define octave_required_arg
#define octave_no_arg
#define INFO_FILE_OPTION
Definition: options.h:47
#define NO_INIT_PATH_OPTION
Definition: options.h:53
#define NO_GUI_OPTION
Definition: options.h:50
#define LINE_EDITING_OPTION
Definition: options.h:49
#define TRADITIONAL_OPTION
Definition: options.h:59
#define INFO_PROG_OPTION
Definition: options.h:48
#define BUILT_IN_DOCSTRINGS_FILE_OPTION
Definition: options.h:40
#define NO_GUI_LIBS_OPTION
Definition: options.h:51
#define SERVER_OPTION
Definition: options.h:57
#define DOC_CACHE_FILE_OPTION
Definition: options.h:41
#define GUI_OPTION
Definition: options.h:45
#define EXPERIMENTAL_TERMINAL_WIDGET_OPTION
Definition: options.h:44
#define NO_SITE_FILE_OPTION
Definition: options.h:55
#define NO_LINE_EDITING_OPTION
Definition: options.h:54
#define TEXI_MACROS_FILE_OPTION
Definition: options.h:58
struct octave_getopt_options long_opts[]
Definition: options.h:60
#define EXEC_PATH_OPTION
Definition: options.h:43
#define IMAGE_PATH_OPTION
Definition: options.h:46
#define PERSIST_OPTION
Definition: options.h:56
#define EVAL_OPTION
Definition: options.h:42
#define NO_INIT_FILE_OPTION
Definition: options.h:52