1 /* cmds.h -- declarations for cmds.c.
2 $Id: cmds.h,v 1.15 2008/04/09 17:07:31 karl Exp $
4 Copyright (C) 1998, 1999, 2002, 2003, 2004, 2007, 2008
5 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* The three arguments a command can get are a flag saying whether it is
24 before argument parsing (START) or after (END), the starting position
25 of the arguments, and the ending position. */
26 typedef void COMMAND_FUNCTION (); /* So we can say COMMAND_FUNCTION *foo; */
28 /* Each command has an associated function. When the command is
29 encountered in the text, the associated function is called with START
30 as the argument. If the function expects arguments in braces, it
31 remembers itself on the stack. When the corresponding close brace is
32 encountered, the function is called with END as the argument. */
36 /* Does the command expect braces? */
37 #define NO_BRACE_ARGS 0
39 #define MAYBE_BRACE_ARGS 2
44 COMMAND_FUNCTION *proc;
45 int argument_in_braces;
48 extern COMMAND command_table[];
50 typedef struct acronym_desc
52 struct acronym_desc *next;
57 /* Texinfo commands. */
58 extern void insert_self (int arg),
59 insert_space (int arg),
60 cm_ignore_line (void),
61 cm_ignore_arg (int arg, int start_pos, int end_pos),
65 /* Document structure and meta information. */
66 extern void cm_setfilename (void),
68 cm_documentdescription (void),
72 cm_dircategory (void),
77 extern void cm_include (void),
78 cm_verbatiminclude (void);
80 /* Cross referencing commands. */
81 extern void cm_anchor (int arg),
88 /* Special insertions. */
89 extern void cm_LaTeX (int arg),
94 cm_clicksequence (int arg),
98 cm_copyright (int arg),
100 cm_enddots (int arg),
103 cm_expansion (int arg),
105 cm_insert_copying (void),
106 cm_guilsinglleft (int arg),
107 cm_guilsinglright (int arg),
111 cm_quotedblbase (int arg),
112 cm_quotedblleft (int arg),
113 cm_quotedblright (int arg),
114 cm_quoteleft (int arg),
115 cm_quoteright (int arg),
116 cm_quotesinglbase (int arg),
117 cm_registeredsymbol (int arg),
120 /* Emphasis and markup. */
121 extern void cm_acronym (int arg),
124 cm_cite (int arg, int position),
126 cm_dfn (int arg, int position),
134 cm_not_fixed_width (int arg, int start, int end),
136 cm_sansserif (int arg),
137 cm_sc (int arg, int start_pos, int end_pos),
138 cm_slanted (int arg),
139 cm_strong (int arg, int start_pos, int end_pos),
141 cm_indicate_url (int arg, int start, int end),
142 cm_var (int arg, int start_pos, int end_pos),
145 /* Block environments. */
146 extern void cm_cartouche (void),
149 cm_smalldisplay (void),
151 cm_smallexample (void),
155 cm_smallformat (void),
159 cm_flushright (void),
163 /* Tables, lists, enumerations. */
164 extern void cm_table (void),
169 cm_multitable (void),
175 extern void cm_center (void),
179 cm_noindent_cmd (void);
181 /* Line and page breaks. */
182 extern void cm_asterisk (void),
186 /* Non breaking words. */
187 extern void cm_tie (int arg),
190 /* Title page creation. */
191 extern void cm_titlepage (void),
193 cm_titlepage_cmds (void),
194 cm_titlefont (int arg),
198 extern void cm_float (void),
199 cm_caption (int arg),
200 cm_shortcaption (void),
201 cm_listoffloats (void);
204 extern void cm_kindex (void),
211 cm_defcodeindex (void),
213 cm_printindex (void);
216 extern void cm_set (void),
221 cm_value (int arg, int start_pos, int end_pos);