GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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