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