/* info.h -- Header file which includes all of the other headers. */ /* This file is part of GNU Info, a program for reading online documentation stored in Info format. Copyright (C) 1993 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 2, 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Written by Brian Fox (bfox@ai.mit.edu). */ #if !defined (_INFO_H_) #define _INFO_H_ #include #include #include #include #if defined (HAVE_STRING_H) #include #endif /* HAVE_STRING_H */ #include "filesys.h" #include "display.h" #include "session.h" #include "echo_area.h" #include "doc.h" #include "footnotes.h" #include "gc.h" /* A structure associating the nodes visited in a particular window. */ typedef struct { WINDOW *window; /* The window that this list is attached to. */ NODE **nodes; /* Array of nodes visited in this window. */ int *pagetops; /* For each node in NODES, the pagetop. */ long *points; /* For each node in NODES, the point. */ int current; /* Index in NODES of the current node. */ int nodes_index; /* Index where to add the next node. */ int nodes_slots; /* Number of slots allocated to NODES. */ } INFO_WINDOW; /* Array of structures describing for each window which nodes have been visited in that window. */ extern INFO_WINDOW **info_windows; /* For handling errors. If you initialize the window system, you should also set info_windows_initialized_p to non-zero. It is used by the info_error () function to determine how to format and output errors. */ extern int info_windows_initialized_p; /* Non-zero if an error message has been printed. */ extern int info_error_was_printed; /* Non-zero means ring terminal bell on errors. */ extern int info_error_rings_bell_p; /* Print FORMAT with ARG1 and ARG2. If the window system was initialized, then the message is printed in the echo area. Otherwise, a message is output to stderr. */ extern void info_error (); /* The version numbers of Info. */ extern int info_major_version, info_minor_version, info_patch_level; /* How to get the version string for this version of Info. Returns something similar to "2.11". */ extern char *version_string (); /* Error message defines. */ #define CANT_FIND_NODE "Cannot find the node \"%s\"." #define CANT_FILE_NODE "Cannot find the node \"(%s)%s\"." #define CANT_FIND_WIND "Cannot find a window!" #define CANT_FIND_POINT "Point doesn't appear within this window's node!" #define CANT_KILL_LAST "Cannot delete the last window." #define NO_MENU_NODE "No menu in this node." #define NO_FOOT_NODE "No footnotes in this node." #define NO_XREF_NODE "No cross references in this node." #define NO_POINTER "No \"%s\" pointer for this node." #define UNKNOWN_COMMAND "Unknown Info command `%c'. `?' for help." #define TERM_TOO_DUMB "Terminal type \"%s\" is not smart enough to run Info." #define AT_NODE_BOTTOM "You are already at the last page of this node." #define AT_NODE_TOP "You are already at the first page of this node." #define ONE_WINDOW "Only one window." #define WIN_TOO_SMALL "Resulting window would be too small." #define CANT_MAKE_HELP \ "There isn't enough room to make a help window. Please delete a window." #endif /* !_INFO_H_ */