fdl.texi is needed.
[dragonfly.git] / contrib / texinfo-4 / makeinfo / cmds.h
1 /* cmds.h -- declarations for cmds.c.
2    $Id: cmds.h,v 1.9 2004/11/26 00:48:35 karl Exp $
3
4    Copyright (C) 1998, 1999, 2002, 2003, 2004 Free Software Foundation,
5    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 2, or (at your option)
10    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 along
18    with this program; if not, write to the Free Software Foundation, Inc.,
19    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
21 #ifndef CMDS_H
22 #define CMDS_H
23
24 /* The three arguments a command can get are a flag saying whether it is
25    before argument parsing (START) or after (END), the starting position
26    of the arguments, and the ending position.  */
27 typedef void COMMAND_FUNCTION (); /* So we can say COMMAND_FUNCTION *foo; */
28
29 /* Each command has an associated function.  When the command is
30    encountered in the text, the associated function is called with START
31    as the argument.  If the function expects arguments in braces, it
32    remembers itself on the stack.  When the corresponding close brace is
33    encountered, the function is called with END as the argument. */
34 #define START 0
35 #define END 1
36
37 /* Does the command expect braces?  */
38 #define NO_BRACE_ARGS 0
39 #define BRACE_ARGS 1
40 #define MAYBE_BRACE_ARGS 2
41
42 typedef struct
43 {
44   char *name;
45   COMMAND_FUNCTION *proc;
46   int argument_in_braces;
47 } COMMAND;
48
49 extern COMMAND command_table[];
50
51 typedef struct acronym_desc
52 {
53   struct acronym_desc *next;
54   char *acronym;
55   char *description;
56 } ACRONYM_DESC;
57
58 /* Texinfo commands.  */
59 extern void insert_self (int arg),
60   insert_space (int arg),
61   cm_ignore_line (void),
62   cm_ignore_arg (int arg, int start_pos, int end_pos),
63   cm_comment (void),
64   cm_no_op (void);
65
66 /* Document structure and meta information.  */
67 extern void cm_setfilename (void),
68   cm_settitle (void),
69   cm_documentdescription (void),
70   cm_node (void),
71   cm_menu (void),
72   cm_detailmenu (void),
73   cm_dircategory (void),
74   cm_direntry (void),
75   cm_bye (void);
76
77 /* File inclusion.  */
78 extern void cm_include (void),
79   cm_verbatiminclude (void);
80
81 /* Cross referencing commands.  */
82 extern void cm_anchor (int arg),
83   cm_xref (int arg),
84   cm_pxref (int arg),
85   cm_ref (int arg),
86   cm_inforef (int arg),
87   cm_uref (int arg);
88
89 /* Special insertions.  */
90 extern void cm_LaTeX (int arg),
91   cm_TeX (int arg),
92   cm_bullet (int arg),
93   cm_colon (void),
94   cm_comma (int arg),
95   cm_copyright (int arg),
96   cm_dots (int arg),
97   cm_enddots (int arg),
98   cm_equiv (int arg),
99   cm_error (int arg),
100   cm_expansion (int arg),
101   cm_image (int arg),
102   cm_insert_copying (void),
103   cm_minus (int arg),
104   cm_point (int arg),
105   cm_print (int arg),
106   cm_punct (int arg),
107   cm_registeredsymbol (int arg),
108   cm_result (int arg);
109
110 /* Emphasis and markup.  */
111 extern void cm_acronym (int arg),
112   cm_abbr (int arg),
113   cm_b (int arg),
114   cm_cite (int arg, int position),
115   cm_code (int arg),
116   cm_dfn (int arg, int position),
117   cm_dmn (int arg),
118   cm_email (int arg),
119   cm_emph (int arg),
120   cm_i (int arg),
121   cm_kbd (int arg),
122   cm_key (int arg),
123   cm_math (int arg),
124   cm_not_fixed_width (int arg, int start, int end),
125   cm_r (int arg),
126   cm_sansserif (int arg),
127   cm_sc (int arg, int start_pos, int end_pos),
128   cm_slanted (int arg),
129   cm_strong (int arg, int start_pos, int end_pos),
130   cm_tt (int arg),
131   cm_indicate_url (int arg, int start, int end),
132   cm_var (int arg, int start_pos, int end_pos),
133   cm_verb (int arg);
134
135 /* Block environments.  */
136 extern void cm_cartouche (void),
137   cm_group (void),
138   cm_display (void),
139   cm_smalldisplay (void),
140   cm_example (void),
141   cm_smallexample (void),
142   cm_smalllisp (void),
143   cm_lisp (void),
144   cm_format (void),
145   cm_smallformat (void),
146   cm_quotation (void),
147   cm_copying (void),
148   cm_flushleft (void),
149   cm_flushright (void),
150   cm_verbatim (void),
151   cm_end (void);
152
153 /* Tables, lists, enumerations.  */
154 extern void cm_table (void),
155   cm_ftable (void),
156   cm_vtable (void),
157   cm_itemize (void),
158   cm_enumerate (void),
159   cm_multitable (void),
160   cm_headitem (void),
161   cm_item (void),
162   cm_itemx (void),
163   cm_tab (void);
164
165 extern void cm_center (void),
166   cm_exdent (void),
167   cm_indent (void),
168   cm_noindent (void),
169   cm_noindent_cmd (void);
170
171 /* Line and page breaks.  */
172 extern void cm_asterisk (void),
173   cm_sp (void),
174   cm_page (void);
175
176 /* Non breaking words.  */
177 extern void cm_tie (int arg),
178   cm_w (int arg);
179
180 /* Title page creation.  */
181 extern void cm_titlepage (void),
182   cm_author (void),
183   cm_titlepage_cmds (void),
184   cm_titlefont (int arg),
185   cm_today (int arg);
186
187 /* Floats.  */
188 extern void cm_float (void),
189   cm_caption (int arg),
190   cm_shortcaption (void),
191   cm_listoffloats (void);
192
193 /* Indices.  */
194 extern void cm_kindex (void),
195   cm_cindex (void),
196   cm_findex (void),
197   cm_pindex (void),
198   cm_vindex (void),
199   cm_tindex (void),
200   cm_defindex (void),
201   cm_defcodeindex (void),
202   cm_synindex (void),
203   cm_printindex (void);
204
205 /* Conditionals. */
206 extern void cm_set (void),
207   cm_clear (void),
208   cm_ifset (void),
209   cm_ifclear (void),
210   cm_ifeq (void),
211   cm_value (int arg, int start_pos, int end_pos);
212
213 #endif /* !CMDS_H */