cmds.h revision 146515
1168404Spjd/* cmds.h -- declarations for cmds.c. 2168404Spjd $Id: cmds.h,v 1.9 2004/11/26 00:48:35 karl Exp $ 3168404Spjd 4168404Spjd Copyright (C) 1998, 1999, 2002, 2003, 2004 Free Software Foundation, 5168404Spjd Inc. 6168404Spjd 7168404Spjd This program is free software; you can redistribute it and/or modify 8168404Spjd it under the terms of the GNU General Public License as published by 9168404Spjd the Free Software Foundation; either version 2, or (at your option) 10168404Spjd any later version. 11168404Spjd 12168404Spjd This program is distributed in the hope that it will be useful, 13168404Spjd but WITHOUT ANY WARRANTY; without even the implied warranty of 14168404Spjd MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15168404Spjd GNU General Public License for more details. 16168404Spjd 17168404Spjd You should have received a copy of the GNU General Public License along 18168404Spjd with this program; if not, write to the Free Software Foundation, Inc., 19168404Spjd 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20168404Spjd 21168404Spjd#ifndef CMDS_H 22208130Smm#define CMDS_H 23168404Spjd 24168404Spjd/* The three arguments a command can get are a flag saying whether it is 25168404Spjd before argument parsing (START) or after (END), the starting position 26168404Spjd of the arguments, and the ending position. */ 27168404Spjdtypedef void COMMAND_FUNCTION (); /* So we can say COMMAND_FUNCTION *foo; */ 28168404Spjd 29168404Spjd/* Each command has an associated function. When the command is 30168404Spjd encountered in the text, the associated function is called with START 31168404Spjd as the argument. If the function expects arguments in braces, it 32208130Smm remembers itself on the stack. When the corresponding close brace is 33168404Spjd encountered, the function is called with END as the argument. */ 34168404Spjd#define START 0 35168404Spjd#define END 1 36168404Spjd 37168404Spjd/* Does the command expect braces? */ 38168404Spjd#define NO_BRACE_ARGS 0 39194043Skmacy#define BRACE_ARGS 1 40168404Spjd#define MAYBE_BRACE_ARGS 2 41168404Spjd 42168404Spjdtypedef struct 43168404Spjd{ 44168404Spjd char *name; 45168404Spjd COMMAND_FUNCTION *proc; 46168404Spjd int argument_in_braces; 47168404Spjd} COMMAND; 48168404Spjd 49168404Spjdextern COMMAND command_table[]; 50185029Spjd 51205132Skmacytypedef struct acronym_desc 52194043Skmacy{ 53185029Spjd struct acronym_desc *next; 54185029Spjd char *acronym; 55205132Skmacy char *description; 56185029Spjd} ACRONYM_DESC; 57185029Spjd 58185029Spjd/* Texinfo commands. */ 59185029Spjdextern void insert_self (int arg), 60185029Spjd insert_space (int arg), 61185029Spjd cm_ignore_line (void), 62185029Spjd cm_ignore_arg (int arg, int start_pos, int end_pos), 63185029Spjd cm_comment (void), 64217367Smdf cm_no_op (void); 65185029Spjd 66185029Spjd/* Document structure and meta information. */ 67185029Spjdextern void cm_setfilename (void), 68168404Spjd cm_settitle (void), 69251629Sdelphij cm_documentdescription (void), 70168404Spjd cm_node (void), 71168404Spjd cm_menu (void), 72168404Spjd cm_detailmenu (void), 73251629Sdelphij cm_dircategory (void), 74168404Spjd cm_direntry (void), 75168404Spjd cm_bye (void); 76168404Spjd 77168404Spjd/* File inclusion. */ 78168404Spjdextern void cm_include (void), 79208130Smm cm_verbatiminclude (void); 80208130Smm 81208130Smm/* Cross referencing commands. */ 82208130Smmextern void cm_anchor (int arg), 83208130Smm cm_xref (int arg), 84208130Smm cm_pxref (int arg), 85208130Smm cm_ref (int arg), 86208130Smm cm_inforef (int arg), 87208130Smm cm_uref (int arg); 88208130Smm 89208130Smm/* Special insertions. */ 90208130Smmextern void cm_LaTeX (int arg), 91208130Smm cm_TeX (int arg), 92208130Smm cm_bullet (int arg), 93208130Smm cm_colon (void), 94208130Smm cm_comma (int arg), 95208130Smm cm_copyright (int arg), 96208130Smm cm_dots (int arg), 97208130Smm cm_enddots (int arg), 98208130Smm cm_equiv (int arg), 99208130Smm cm_error (int arg), 100208130Smm cm_expansion (int arg), 101208130Smm cm_image (int arg), 102208130Smm cm_insert_copying (void), 103208130Smm cm_minus (int arg), 104208130Smm cm_point (int arg), 105208130Smm cm_print (int arg), 106208130Smm cm_punct (int arg), 107208130Smm cm_registeredsymbol (int arg), 108208130Smm cm_result (int arg); 109208130Smm 110208130Smm/* Emphasis and markup. */ 111208130Smmextern void cm_acronym (int arg), 112208130Smm cm_abbr (int arg), 113208130Smm cm_b (int arg), 114168404Spjd cm_cite (int arg, int position), 115168404Spjd cm_code (int arg), 116168404Spjd cm_dfn (int arg, int position), 117168404Spjd cm_dmn (int arg), 118168404Spjd cm_email (int arg), 119168404Spjd cm_emph (int arg), 120168404Spjd cm_i (int arg), 121168404Spjd cm_kbd (int arg), 122168404Spjd cm_key (int arg), 123168404Spjd cm_math (int arg), 124168404Spjd cm_not_fixed_width (int arg, int start, int end), 125251629Sdelphij cm_r (int arg), 126168404Spjd cm_sansserif (int arg), 127251629Sdelphij cm_sc (int arg, int start_pos, int end_pos), 128168404Spjd cm_slanted (int arg), 129168404Spjd cm_strong (int arg, int start_pos, int end_pos), 130168404Spjd cm_tt (int arg), 131168404Spjd cm_indicate_url (int arg, int start, int end), 132168404Spjd cm_var (int arg, int start_pos, int end_pos), 133168404Spjd cm_verb (int arg); 134168404Spjd 135168404Spjd/* Block environments. */ 136168404Spjdextern void cm_cartouche (void), 137168404Spjd cm_group (void), 138168404Spjd cm_display (void), 139168404Spjd cm_smalldisplay (void), 140168404Spjd cm_example (void), 141168404Spjd cm_smallexample (void), 142168404Spjd cm_smalllisp (void), 143168404Spjd cm_lisp (void), 144168404Spjd cm_format (void), 145168404Spjd cm_smallformat (void), 146168404Spjd cm_quotation (void), 147168404Spjd cm_copying (void), 148168404Spjd cm_flushleft (void), 149168404Spjd cm_flushright (void), 150168404Spjd cm_verbatim (void), 151168404Spjd cm_end (void); 152168404Spjd 153168404Spjd/* Tables, lists, enumerations. */ 154168404Spjdextern void cm_table (void), 155168404Spjd cm_ftable (void), 156168404Spjd cm_vtable (void), 157168404Spjd cm_itemize (void), 158168404Spjd cm_enumerate (void), 159168404Spjd cm_multitable (void), 160168404Spjd cm_headitem (void), 161168404Spjd cm_item (void), 162168404Spjd cm_itemx (void), 163168404Spjd cm_tab (void); 164168404Spjd 165168404Spjdextern void cm_center (void), 166168404Spjd cm_exdent (void), 167168404Spjd cm_indent (void), 168168404Spjd cm_noindent (void), 169168404Spjd cm_noindent_cmd (void); 170168404Spjd 171168404Spjd/* Line and page breaks. */ 172168404Spjdextern void cm_asterisk (void), 173168404Spjd cm_sp (void), 174168404Spjd cm_page (void); 175168404Spjd 176168404Spjd/* Non breaking words. */ 177168404Spjdextern void cm_tie (int arg), 178168404Spjd cm_w (int arg); 179168404Spjd 180168404Spjd/* Title page creation. */ 181168404Spjdextern void cm_titlepage (void), 182168404Spjd cm_author (void), 183168404Spjd cm_titlepage_cmds (void), 184168404Spjd cm_titlefont (int arg), 185168404Spjd cm_today (int arg); 186168404Spjd 187168404Spjd/* Floats. */ 188168404Spjdextern void cm_float (void), 189168404Spjd cm_caption (int arg), 190168404Spjd cm_shortcaption (void), 191168404Spjd cm_listoffloats (void); 192168404Spjd 193168404Spjd/* Indices. */ 194168404Spjdextern void cm_kindex (void), 195168404Spjd cm_cindex (void), 196168404Spjd cm_findex (void), 197168404Spjd cm_pindex (void), 198168404Spjd cm_vindex (void), 199168404Spjd cm_tindex (void), 200168404Spjd cm_defindex (void), 201168404Spjd cm_defcodeindex (void), 202168404Spjd cm_synindex (void), 203168404Spjd cm_printindex (void); 204168404Spjd 205168404Spjd/* Conditionals. */ 206168404Spjdextern void cm_set (void), 207168404Spjd cm_clear (void), 208168404Spjd cm_ifset (void), 209168404Spjd cm_ifclear (void), 210168404Spjd cm_ifeq (void), 211168404Spjd cm_value (int arg, int start_pos, int end_pos); 212168404Spjd 213168404Spjd#endif /* !CMDS_H */ 214168404Spjd