variables.h revision 42660
1109998Smarkm/* variables.h -- Description of user visible variables in Info.
2280304Sjkim   $Id: variables.h,v 1.3 1997/07/15 18:44:23 karl Exp $
3280304Sjkim
4280304Sjkim   This file is part of GNU Info, a program for reading online documentation
5280304Sjkim   stored in Info format.
6109998Smarkm
7280304Sjkim   Copyright (C) 1993, 97 Free Software Foundation, Inc.
8280304Sjkim
9280304Sjkim   This program is free software; you can redistribute it and/or modify
10280304Sjkim   it under the terms of the GNU General Public License as published by
11280304Sjkim   the Free Software Foundation; either version 2, or (at your option)
12109998Smarkm   any later version.
13109998Smarkm
14109998Smarkm   This program is distributed in the hope that it will be useful,
15109998Smarkm   but WITHOUT ANY WARRANTY; without even the implied warranty of
16109998Smarkm   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17109998Smarkm   GNU General Public License for more details.
18109998Smarkm
19109998Smarkm   You should have received a copy of the GNU General Public License
20109998Smarkm   along with this program; if not, write to the Free Software
21280304Sjkim   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22109998Smarkm
23109998Smarkm   Written by Brian Fox (bfox@ai.mit.edu). */
24109998Smarkm
25109998Smarkm#ifndef INFO_VARIABLES_H
26109998Smarkm#define INFO_VARIABLES_H
27109998Smarkm
28109998Smarkm/* A variable (in the Info sense) is an integer value with a user-visible
29109998Smarkm   name.  You may supply an array of strings to complete over when the
30109998Smarkm   variable is set; in that case, the variable is set to the index of the
31109998Smarkm   string that the user chose.  If you supply a null list, the user can
32109998Smarkm   set the variable to a numeric value. */
33109998Smarkm
34109998Smarkm/* Structure describing a user visible variable. */
35109998Smarkmtypedef struct {
36109998Smarkm  char *name;                   /* Polite name. */
37109998Smarkm  char *doc;                    /* Documentation string. */
38109998Smarkm  int *value;                   /* Address of value. */
39109998Smarkm  char **choices;               /* Array of strings or NULL if numeric only. */
40109998Smarkm} VARIABLE_ALIST;
41109998Smarkm
42109998Smarkm/* Read the name of an Info variable in the echo area and return the
43109998Smarkm   address of a VARIABLE_ALIST member.  A return value of NULL indicates
44109998Smarkm   that no variable could be read. */
45109998Smarkmextern VARIABLE_ALIST *read_variable_name ();
46109998Smarkm
47109998Smarkm/* Make an array of REFERENCE which actually contains the names of the
48109998Smarkm   variables available in Info. */
49109998Smarkmextern REFERENCE **make_variable_completions_array ();
50109998Smarkm
51109998Smarkm/* Set the value of an info variable. */
52109998Smarkmextern void set_variable ();
53109998Smarkm
54109998Smarkm/* The list of user-visible variables. */
55109998Smarkmextern int auto_footnotes_p;
56109998Smarkmextern int auto_tiling_p;
57109998Smarkmextern int terminal_use_visible_bell_p;
58109998Smarkmextern int info_error_rings_bell_p;
59109998Smarkmextern int gc_compressed_files;
60109998Smarkmextern int show_index_match;
61109998Smarkmextern int info_scroll_behaviour;
62109998Smarkmextern int window_scroll_step;
63109998Smarkmextern int ISO_Latin_p;
64109998Smarkm
65109998Smarkm#endif /* not INFO_VARIABLES_H */
66109998Smarkm