| /* variables.h -- Description of user visible variables in Info. |
| |
| Copyright 1993-2025 Free Software Foundation, Inc. |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| Originally written by Brian Fox. */ |
| |
| #ifndef INFO_VARIABLES_H |
| #define INFO_VARIABLES_H |
| |
| #include "window.h" |
| |
| /* A variable (in the Info sense) is an integer value with a user-visible |
| name. You may supply an array of strings to complete over when the |
| variable is set; in that case, the variable is set to the index of the |
| string that the user chose. If you supply a null list, the user can |
| set the variable to a numeric value. */ |
| |
| /* Structure describing a user visible variable. */ |
| typedef struct { |
| char *name; /* Polite name. */ |
| char *doc; /* Documentation string. */ |
| void *value; /* Address of value. */ |
| char **choices; /* Array of strings or NULL if numeric only. */ |
| int where_set; /* Where this variable was set. */ |
| } VARIABLE_ALIST; |
| |
| /* Values for VARIABLE_ALIST.where_set, in order of increasing priority. */ |
| /* Note: keep same order in variables.c:where_set_names. */ |
| #define SET_BY_DEFAULT 0 |
| #define SET_IN_CONFIG_FILE 1 |
| #define SET_ON_COMMAND_LINE 2 |
| #define SET_IN_SESSION 3 |
| |
| VARIABLE_ALIST *variable_by_name (char *name); |
| extern VARIABLE_ALIST info_variables[]; |
| |
| /* Make an array of REFERENCE which actually contains the names of the |
| variables available in Info. */ |
| REFERENCE **make_variable_completions_array (void); |
| |
| /* Set the value of an info variable. */ |
| void set_variable (WINDOW *window, int count); |
| int set_variable_to_value (VARIABLE_ALIST *var, char *value, int where); |
| |
| void describe_variable (WINDOW *window, int count); |
| char *variable_description_string (VARIABLE_ALIST *var); |
| char *variable_long_description_string (VARIABLE_ALIST *var); |
| |
| /* The list of user-visible variables. */ |
| extern int auto_footnotes_p; |
| extern int auto_tiling_p; |
| extern int terminal_use_visible_bell_p; |
| extern int info_error_rings_bell_p; |
| extern int gc_compressed_files; |
| extern int show_index_match; |
| extern int info_scroll_behaviour; |
| extern int window_scroll_step; |
| extern int cursor_movement_scrolls_p; |
| extern int ISO_Latin_p; |
| extern int scroll_last_node; |
| extern int min_search_length; |
| extern int search_skip_screen_p; |
| extern int infopath_no_defaults_p; |
| extern int preprocess_nodes_p; |
| extern int key_time; |
| extern int mouse_protocol; |
| extern int follow_strategy; |
| extern int nodeline_print; |
| |
| typedef struct { |
| unsigned long mask; |
| unsigned long value; |
| } RENDITION; |
| |
| extern RENDITION ref_rendition; |
| extern RENDITION hl_ref_rendition; |
| extern RENDITION match_rendition; |
| |
| |
| #endif /* not INFO_VARIABLES_H */ |