Upgrade Texinfo from 4.8 to 4.13 on the vendor branch
[dragonfly.git] / contrib / texinfo / makeinfo / cmds.h
1 /* cmds.h -- declarations for cmds.c.
2    $Id: cmds.h,v 1.15 2008/04/09 17:07:31 karl Exp $
3
4    Copyright (C) 1998, 1999, 2002, 2003, 2004, 2007, 2008
5    Free Software Foundation, Inc.
6
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.
11
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.
16
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/>.  */
19
20 #ifndef CMDS_H
21 #define CMDS_H
22
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; */
27
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. */
33 #define START 0
34 #define END 1
35
36 /* Does the command expect braces?  */
37 #define NO_BRACE_ARGS 0
38 #define BRACE_ARGS 1
39 #define MAYBE_BRACE_ARGS 2
40
41 typedef struct
42 {
43   char *name;
44   COMMAND_FUNCTION *proc;
45   int argument_in_braces;
46 } COMMAND;
47
48 extern COMMAND command_table[];
49
50 typedef struct acronym_desc
51 {
52   struct acronym_desc *next;
53   char *acronym;
54   char *description;
55 } ACRONYM_DESC;
56
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),
62   cm_comment (void),
63   cm_no_op (void);
64
65 /* Document structure and meta information.  */
66 extern void cm_setfilename (void),
67   cm_settitle (void),
68   cm_documentdescription (void),
69   cm_node (void),
70   cm_menu (void),
71   cm_detailmenu (void),
72   cm_dircategory (void),
73   cm_direntry (void),
74   cm_bye (void);
75
76 /* File inclusion.  */
77 extern void cm_include (void),
78   cm_verbatiminclude (void);
79
80 /* Cross referencing commands.  */
81 extern void cm_anchor (int arg),
82   cm_xref (int arg),
83   cm_pxref (int arg),
84   cm_ref (int arg),
85   cm_inforef (int arg),
86   cm_uref (int arg);
87
88 /* Special insertions.  */
89 extern void cm_LaTeX (int arg),
90   cm_TeX (int arg),
91   cm_arrow (int arg),
92   cm_bullet (int arg),
93   cm_click (int arg),
94   cm_clicksequence (int arg),
95   cm_clickstyle (void),
96   cm_colon (void),
97   cm_comma (int arg),
98   cm_copyright (int arg),
99   cm_dots (int arg),
100   cm_enddots (int arg),
101   cm_equiv (int arg),
102   cm_error (int arg),
103   cm_expansion (int arg),
104   cm_image (int arg),
105   cm_insert_copying (void),
106   cm_guilsinglleft (int arg),
107   cm_guilsinglright (int arg),
108   cm_point (int arg),
109   cm_print (int arg),
110   cm_punct (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),
118   cm_result (int arg);
119
120 /* Emphasis and markup.  */
121 extern void cm_acronym (int arg),
122   cm_abbr (int arg),
123   cm_b (int arg),
124   cm_cite (int arg, int position),
125   cm_code (int arg),
126   cm_dfn (int arg, int position),
127   cm_dmn (int arg),
128   cm_email (int arg),
129   cm_emph (int arg),
130   cm_i (int arg),
131   cm_kbd (int arg),
132   cm_key (int arg),
133   cm_math (int arg),
134   cm_not_fixed_width (int arg, int start, int end),
135   cm_r (int arg),
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),
140   cm_tt (int arg),
141   cm_indicate_url (int arg, int start, int end),
142   cm_var (int arg, int start_pos, int end_pos),
143   cm_verb (int arg);
144
145 /* Block environments.  */
146 extern void cm_cartouche (void),
147   cm_group (void),
148   cm_display (void),
149   cm_smalldisplay (void),
150   cm_example (void),
151   cm_smallexample (void),
152   cm_smalllisp (void),
153   cm_lisp (void),
154   cm_format (void),
155   cm_smallformat (void),
156   cm_quotation (void),
157   cm_copying (void),
158   cm_flushleft (void),
159   cm_flushright (void),
160   cm_verbatim (void),
161   cm_end (void);
162
163 /* Tables, lists, enumerations.  */
164 extern void cm_table (void),
165   cm_ftable (void),
166   cm_vtable (void),
167   cm_itemize (void),
168   cm_enumerate (void),
169   cm_multitable (void),
170   cm_headitem (void),
171   cm_item (void),
172   cm_itemx (void),
173   cm_tab (void);
174
175 extern void cm_center (void),
176   cm_exdent (void),
177   cm_indent (void),
178   cm_noindent (void),
179   cm_noindent_cmd (void);
180
181 /* Line and page breaks.  */
182 extern void cm_asterisk (void),
183   cm_sp (void),
184   cm_page (void);
185
186 /* Non breaking words.  */
187 extern void cm_tie (int arg),
188   cm_w (int arg);
189
190 /* Title page creation.  */
191 extern void cm_titlepage (void),
192   cm_author (void),
193   cm_titlepage_cmds (void),
194   cm_titlefont (int arg),
195   cm_today (int arg);
196
197 /* Floats.  */
198 extern void cm_float (void),
199   cm_caption (int arg),
200   cm_shortcaption (void),
201   cm_listoffloats (void);
202
203 /* Indices.  */
204 extern void cm_kindex (void),
205   cm_cindex (void),
206   cm_findex (void),
207   cm_pindex (void),
208   cm_vindex (void),
209   cm_tindex (void),
210   cm_defindex (void),
211   cm_defcodeindex (void),
212   cm_synindex (void),
213   cm_printindex (void);
214
215 /* Conditionals. */
216 extern void cm_set (void),
217   cm_clear (void),
218   cm_ifset (void),
219   cm_ifclear (void),
220   cm_ifeq (void),
221   cm_value (int arg, int start_pos, int end_pos);
222
223 #endif /* !CMDS_H */