1 #ifndef ROBODOC_HEADERS_H
2 #define ROBODOC_HEADERS_H
5 Copyright (C) 1994-2007 Frans Slothouber, Jacco van Weert, Petteri Kettunen,
6 Bernd Koesling, Thomas Aglassinger, Anthon Pang, Stefan Kost, David Druffner,
7 Sasha Vasko, Kai Hofmann, Thierry Pierron, Friedrich Haase, and Gergely Budai.
9 This file is part of ROBODoc
11 ROBODoc is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 3 of the License, or
14 (at your option) any later version.
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with this program. If not, see <http://www.gnu.org/licenses/>.
27 /****s* Headers/RB_header
29 * This structure is used to store the headers that are extracted
30 * from the source files.
31 * MODIFICATION HISTORY
32 * * 8. August 1995: Koessi changed int version to char *version
34 * * next -- used to store RB_headers in a RB_Part as
36 * * parent -- the parent of this header
37 * * name -- the full name of the header
38 * modulename/functionname [versioninfo]
39 * * owner -- the Part that owns this header.
40 * * htype -- the type of this header.
41 * * items -- pointers to the items in this header.
43 * * function_name -- the functionname ( a better name would
44 * be objectname or thingy name,
45 * it is the name of the thing that is
47 * * module_name -- the modulename
48 * * unique_name -- unique name used for labels.
49 * * file_name -- documentation file of this header.
50 * * lines -- content of the header
51 * * no_lines -- number of lines in the content.
52 * * line_number -- the line number at which the header was
53 * found in the source file.
59 struct RB_header *next;
60 struct RB_header *parent;
61 struct RB_Part *owner;
62 struct RB_HeaderType *htype;
63 struct RB_Item *items;
80 /****d* Headers/src_constants
82 * src_constants -- numerals for header_markers
84 * Most of them seem to be unused at the moment.
85 * But it's better to keep it up to date for the
86 * eventuality of a later use by robohdrs.
91 #define SRC_ACM 1 /* Added by David White for Aspen Custom Modeller */
92 #define SRC_CPP 2 /* All values incremented 1 to allow for ACM */
95 #define SRC_APLUS 5 /* David White for Aspen Plus */
101 #define SRC_SCRIPT 11
106 #define SRC_GNUASM 16
114 /****d* Headers/src_remark_constants
116 * src_remark_constants -- numerals for remark_markers
118 * Most of them seem to be unused at the moment.
119 * But it's better to keep it up to date for the
120 * eventuality of a later use by robohdrs.
125 #define SRC_R_ACM 1 /* Added by David White for Aspen Custom Modeller */
126 #define SRC_R_CPP 2 /* All values incremented 1 to allow for ACM */
127 #define SRC_R_PASCAL 3 /* PASCAL and PASCAL2 were 1, should have been 2, incr to 3 */
128 #define SRC_R_PASCAL2 3
129 #define SRC_R_APLUS 4 /* David White for Aspen Plus */
132 #define SRC_R_FORTRAN 7
133 #define SRC_R_BASIC 8
135 #define SRC_R_SCRIPT 10
136 #define SRC_R_COBOL 11
137 #define SRC_R_OCCAM 12
138 #define SRC_R_GNUASM 13
139 #define SRC_R_F902 14
143 #define SRC_R_HTML 19 /* NULL */
144 #define SRC_R_HTML2 19 /* NULL */
148 /****d* Headers/end_remark_constants [3.0h]
150 * end_remark_constants -- numerals for end_markers
152 * Most of them seem to be unused at the moment. But it's better to
153 * keep it up to date for the eventuality of a later use by
159 #define SRC_E_ACM 1 /* Added by David White for Aspen Custom Modeller */
160 #define SRC_E_CPP 2 /* All values incremented 1 to allow for ACM */
161 #define SRC_E_PASCAL 4
162 #define SRC_E_PASCAL2 5
163 #define SRC_E_APLUS 6 /* David White for Aspen Plus */
166 #define SRC_E_FORTRAN 9
167 #define SRC_E_BASIC 10
169 #define SRC_E_SCRIPT 12
170 #define SRC_E_COBOL 13
171 #define SRC_E_OCCAM 14
172 #define SRC_E_HTML 15
173 #define SRC_E_HTML2 16
174 #define SRC_E_GNUASM 17
175 #define SRC_E_F902 18
183 extern char *robo_header; /* Added by DavidCD */
184 extern char *robo_end[]; /* Added by DavidCD */
185 extern char *header_markers[];
186 extern char *remark_markers[];
187 extern char *end_markers[];
188 extern char *end_remark_markers[];
189 extern char *RB_header_type_names[];
190 extern char *RB_internal_header_type_names[];
192 int RB_Is_Begin_Marker(
195 int RB_Is_End_Marker(
197 void RB_Header_Lock_Reset(
199 void RB_Item_Lock_Reset(
201 char *RB_Skip_Remark_Marker(
202 char *lline_buffer );
203 int RB_Has_Remark_Marker(
204 char *lline_buffer );
206 int RB_Is_Remark_End_Marker(
208 int RB_Is_Remark_Begin_Marker(
210 char *RB_Skip_Remark_Begin_Marker(
212 char *RB_Skip_Remark_End_Marker(
215 #endif /* ROBODOC_HEADERS_H */