156160Sru/* insertion.h -- declarations for insertion.c. 2146515Sru $Id: insertion.h,v 1.10 2004/04/11 17:56:47 karl Exp $ 356160Sru 4146515Sru Copyright (C) 1998, 1999, 2001, 2002, 2003 Free Software Foundation, Inc. 556160Sru 656160Sru This program is free software; you can redistribute it and/or modify 756160Sru it under the terms of the GNU General Public License as published by 856160Sru the Free Software Foundation; either version 2, or (at your option) 956160Sru any later version. 1056160Sru 1156160Sru This program is distributed in the hope that it will be useful, 1256160Sru but WITHOUT ANY WARRANTY; without even the implied warranty of 1356160Sru MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1456160Sru GNU General Public License for more details. 1556160Sru 1656160Sru You should have received a copy of the GNU General Public License 1756160Sru along with this program; if not, write to the Free Software Foundation, 1856160Sru Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 1956160Sru 2056160Sru#ifndef INSERTION_H 2156160Sru#define INSERTION_H 2256160Sru 2356160Sru/* Must match list in insertion.c. */ 2456160Sruenum insertion_type 2593139Sru{ 26100513Sru cartouche, copying, defcv, deffn, defivar, defmac, defmethod, defop, 27146515Sru defopt, defspec, deftp, deftypecv, deftypefn, deftypefun, deftypeivar, 28100513Sru deftypemethod, deftypeop, deftypevar, deftypevr, defun, defvar, defvr, 29100513Sru detailmenu, direntry, display, documentdescription, enumerate, 30146515Sru example, floatenv, flushleft, flushright, format, ftable, group, 31146515Sru ifclear, ifdocbook, ifhtml, ifinfo, ifnotdocbook, ifnothtml, ifnotinfo, 32146515Sru ifnotplaintext, ifnottex, ifnotxml, ifplaintext, ifset, iftex, ifxml, 33146515Sru itemize, lisp, menu, multitable, quotation, rawdocbook, rawhtml, rawtex, 34146515Sru rawxml, smalldisplay, smallexample, smallformat, smalllisp, verbatim, 35146515Sru table, tex, vtable, titlepage, bad_type 3656160Sru}; 3756160Sru 3856160Srutypedef struct istack_elt 3956160Sru{ 4056160Sru struct istack_elt *next; 4156160Sru char *item_function; 4256160Sru char *filename; 4356160Sru int line_number; 4456160Sru int filling_enabled; 4556160Sru int indented_fill; 46146515Sru int insertion; 4756160Sru int inhibited; 4856160Sru int in_fixed_width_font; 4956160Sru} INSERTION_ELT; 5056160Sru 5156160Sruextern int insertion_level; 5256160Sruextern INSERTION_ELT *insertion_stack; 5356160Sruextern int in_menu; 5456160Sruextern int in_detailmenu; 5556160Sruextern int had_menu_commentary; 5656160Sruextern int in_paragraph; 5756160Sru 58146515Sruextern int headitem_flag; 59146515Sruextern int after_headitem; 60146515Sru 61146515Sruextern void init_insertion_stack (void); 62146515Sruextern void command_name_condition (void); 63146515Sruextern void cm_ifdocbook (void), cm_ifnotdocbook(void), cm_docbook (int arg); 64146515Sruextern void cm_ifhtml (void), cm_ifnothtml(void), cm_html (int arg); 65146515Sruextern void cm_ifinfo (void), cm_ifnotinfo (void); 66146515Sruextern void cm_ifplaintext (void), cm_ifnotplaintext(void); 67146515Sruextern void cm_iftex (void), cm_ifnottex (void), cm_tex (void); 68146515Sruextern void cm_ifxml (void), cm_ifnotxml (void), cm_xml (int arg); 69146515Sruextern void handle_verbatim_environment (int find_end_verbatim); 70146515Sruextern void begin_insertion (enum insertion_type type); 71146515Sruextern void pop_insertion (void); 72146515Sruextern void discard_insertions (int specials_ok); 73146515Sru 74146515Sruextern int is_in_insertion_of_type (int type); 75146515Sruextern int command_needs_braces (char *cmd); 76146515Sru 77146515Sruextern enum insertion_type find_type_from_name (char *name); 7856160Sru#endif /* !INSERTION_H */ 79