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