156160Sru/* cmds.h -- declarations for cmds.c. 2146515Sru $Id: cmds.h,v 1.9 2004/11/26 00:48:35 karl Exp $ 356160Sru 4146515Sru Copyright (C) 1998, 1999, 2002, 2003, 2004 Free Software Foundation, 5146515Sru Inc. 656160Sru 756160Sru This program is free software; you can redistribute it and/or modify 856160Sru it under the terms of the GNU General Public License as published by 956160Sru the Free Software Foundation; either version 2, or (at your option) 1056160Sru any later version. 1156160Sru 1256160Sru This program is distributed in the hope that it will be useful, 1356160Sru but WITHOUT ANY WARRANTY; without even the implied warranty of 1456160Sru MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1556160Sru GNU General Public License for more details. 1656160Sru 1756160Sru You should have received a copy of the GNU General Public License along 1856160Sru with this program; if not, write to the Free Software Foundation, Inc., 1956160Sru 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 2056160Sru 2156160Sru#ifndef CMDS_H 2256160Sru#define CMDS_H 2356160Sru 2456160Sru/* The three arguments a command can get are a flag saying whether it is 2556160Sru before argument parsing (START) or after (END), the starting position 2656160Sru of the arguments, and the ending position. */ 2756160Srutypedef void COMMAND_FUNCTION (); /* So we can say COMMAND_FUNCTION *foo; */ 2856160Sru 2956160Sru/* Each command has an associated function. When the command is 3056160Sru encountered in the text, the associated function is called with START 3156160Sru as the argument. If the function expects arguments in braces, it 3256160Sru remembers itself on the stack. When the corresponding close brace is 3356160Sru encountered, the function is called with END as the argument. */ 3456160Sru#define START 0 3556160Sru#define END 1 3656160Sru 3756160Sru/* Does the command expect braces? */ 3856160Sru#define NO_BRACE_ARGS 0 3956160Sru#define BRACE_ARGS 1 4056160Sru#define MAYBE_BRACE_ARGS 2 4156160Sru 4256160Srutypedef struct 4356160Sru{ 4456160Sru char *name; 4556160Sru COMMAND_FUNCTION *proc; 4656160Sru int argument_in_braces; 4756160Sru} COMMAND; 4856160Sru 4956160Sruextern COMMAND command_table[]; 5056160Sru 51146515Srutypedef struct acronym_desc 52146515Sru{ 53146515Sru struct acronym_desc *next; 54146515Sru char *acronym; 55146515Sru char *description; 56146515Sru} ACRONYM_DESC; 57114472Sru 58146515Sru/* Texinfo commands. */ 59146515Sruextern void insert_self (int arg), 60146515Sru insert_space (int arg), 61146515Sru cm_ignore_line (void), 62146515Sru cm_ignore_arg (int arg, int start_pos, int end_pos), 63146515Sru cm_comment (void), 64146515Sru cm_no_op (void); 65146515Sru 66146515Sru/* Document structure and meta information. */ 67146515Sruextern void cm_setfilename (void), 68146515Sru cm_settitle (void), 69146515Sru cm_documentdescription (void), 70146515Sru cm_node (void), 71146515Sru cm_menu (void), 72146515Sru cm_detailmenu (void), 73146515Sru cm_dircategory (void), 74146515Sru cm_direntry (void), 75146515Sru cm_bye (void); 76146515Sru 77146515Sru/* File inclusion. */ 78146515Sruextern void cm_include (void), 79146515Sru cm_verbatiminclude (void); 80146515Sru 81146515Sru/* Cross referencing commands. */ 82146515Sruextern void cm_anchor (int arg), 83146515Sru cm_xref (int arg), 84146515Sru cm_pxref (int arg), 85146515Sru cm_ref (int arg), 86146515Sru cm_inforef (int arg), 87146515Sru cm_uref (int arg); 88146515Sru 89146515Sru/* Special insertions. */ 90146515Sruextern void cm_LaTeX (int arg), 91146515Sru cm_TeX (int arg), 92146515Sru cm_bullet (int arg), 93146515Sru cm_colon (void), 94146515Sru cm_comma (int arg), 95146515Sru cm_copyright (int arg), 96146515Sru cm_dots (int arg), 97146515Sru cm_enddots (int arg), 98146515Sru cm_equiv (int arg), 99146515Sru cm_error (int arg), 100146515Sru cm_expansion (int arg), 101146515Sru cm_image (int arg), 102146515Sru cm_insert_copying (void), 103146515Sru cm_minus (int arg), 104146515Sru cm_point (int arg), 105146515Sru cm_print (int arg), 106146515Sru cm_punct (int arg), 107146515Sru cm_registeredsymbol (int arg), 108146515Sru cm_result (int arg); 109146515Sru 110146515Sru/* Emphasis and markup. */ 111146515Sruextern void cm_acronym (int arg), 112146515Sru cm_abbr (int arg), 113146515Sru cm_b (int arg), 114146515Sru cm_cite (int arg, int position), 115146515Sru cm_code (int arg), 116146515Sru cm_dfn (int arg, int position), 117146515Sru cm_dmn (int arg), 118146515Sru cm_email (int arg), 119146515Sru cm_emph (int arg), 120146515Sru cm_i (int arg), 121146515Sru cm_kbd (int arg), 122146515Sru cm_key (int arg), 123146515Sru cm_math (int arg), 124146515Sru cm_not_fixed_width (int arg, int start, int end), 125146515Sru cm_r (int arg), 126146515Sru cm_sansserif (int arg), 127146515Sru cm_sc (int arg, int start_pos, int end_pos), 128146515Sru cm_slanted (int arg), 129146515Sru cm_strong (int arg, int start_pos, int end_pos), 130146515Sru cm_tt (int arg), 131146515Sru cm_indicate_url (int arg, int start, int end), 132146515Sru cm_var (int arg, int start_pos, int end_pos), 133146515Sru cm_verb (int arg); 134146515Sru 135146515Sru/* Block environments. */ 136146515Sruextern void cm_cartouche (void), 137146515Sru cm_group (void), 138146515Sru cm_display (void), 139146515Sru cm_smalldisplay (void), 140146515Sru cm_example (void), 141146515Sru cm_smallexample (void), 142146515Sru cm_smalllisp (void), 143146515Sru cm_lisp (void), 144146515Sru cm_format (void), 145146515Sru cm_smallformat (void), 146146515Sru cm_quotation (void), 147146515Sru cm_copying (void), 148146515Sru cm_flushleft (void), 149146515Sru cm_flushright (void), 150146515Sru cm_verbatim (void), 151146515Sru cm_end (void); 152146515Sru 153146515Sru/* Tables, lists, enumerations. */ 154146515Sruextern void cm_table (void), 155146515Sru cm_ftable (void), 156146515Sru cm_vtable (void), 157146515Sru cm_itemize (void), 158146515Sru cm_enumerate (void), 159146515Sru cm_multitable (void), 160146515Sru cm_headitem (void), 161146515Sru cm_item (void), 162146515Sru cm_itemx (void), 163146515Sru cm_tab (void); 164146515Sru 165146515Sruextern void cm_center (void), 166146515Sru cm_exdent (void), 167146515Sru cm_indent (void), 168146515Sru cm_noindent (void), 169146515Sru cm_noindent_cmd (void); 170146515Sru 171146515Sru/* Line and page breaks. */ 172146515Sruextern void cm_asterisk (void), 173146515Sru cm_sp (void), 174146515Sru cm_page (void); 175146515Sru 176146515Sru/* Non breaking words. */ 177146515Sruextern void cm_tie (int arg), 178146515Sru cm_w (int arg); 179146515Sru 180146515Sru/* Title page creation. */ 181146515Sruextern void cm_titlepage (void), 182146515Sru cm_author (void), 183146515Sru cm_titlepage_cmds (void), 184146515Sru cm_titlefont (int arg), 185146515Sru cm_today (int arg); 186146515Sru 187146515Sru/* Floats. */ 188146515Sruextern void cm_float (void), 189146515Sru cm_caption (int arg), 190146515Sru cm_shortcaption (void), 191146515Sru cm_listoffloats (void); 192146515Sru 193146515Sru/* Indices. */ 194146515Sruextern void cm_kindex (void), 195146515Sru cm_cindex (void), 196146515Sru cm_findex (void), 197146515Sru cm_pindex (void), 198146515Sru cm_vindex (void), 199146515Sru cm_tindex (void), 200146515Sru cm_defindex (void), 201146515Sru cm_defcodeindex (void), 202146515Sru cm_synindex (void), 203146515Sru cm_printindex (void); 204146515Sru 205146515Sru/* Conditionals. */ 206146515Sruextern void cm_set (void), 207146515Sru cm_clear (void), 208146515Sru cm_ifset (void), 209146515Sru cm_ifclear (void), 210146515Sru cm_ifeq (void), 211146515Sru cm_value (int arg, int start_pos, int end_pos); 212146515Sru 21356160Sru#endif /* !CMDS_H */ 214