Imported Robodoc.
[robodoc.git] / Source / headertypes.h
1 #ifndef ROBODOC_HEADERTYPES_H
2 #define ROBODOC_HEADERTYPES_H
3
4 /*
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.
8
9 This file is part of ROBODoc
10
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.
15
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.
20
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/>.
23
24 */
25
26 /****s* Headers/RB_HeaderType
27  * NAME
28  *   RB_HeaderType -- Information about a header type
29  * ATTRIBUTES
30  *   o typeCharacter -- The character used to indicate it 
31  *   o indexName     -- The name used for the master index 
32  *   o fileName      -- The name of the file use to store 
33  *                      the master index for this type of headers.
34  *   o priority      -- The sorting priority of this header.
35  *                      Higher priorities appear first
36  * SOURCE
37  */
38
39 struct RB_HeaderType
40 {
41     unsigned char       typeCharacter;
42     char               *indexName;
43     char               *fileName;
44     unsigned int        priority;
45 };
46
47 /*******/
48
49 #define HT_SOURCEHEADERTYPE ((unsigned char)1)
50 #define HT_MASTERINDEXTYPE  ((unsigned char)2)
51
52 #define MIN_HEADER_TYPE 1       /* ' ' */
53 #define MAX_HEADER_TYPE 127
54
55
56 int                 RB_AddHeaderType(
57     unsigned int typeCharacter,
58     char *indexName,
59     char *indexFile,
60     unsigned int priority );
61 struct RB_HeaderType *RB_FindHeaderType(
62     unsigned char typeCharacter );
63 void                RB_InitHeaderTypes(
64     void );
65 int                 RB_IsInternalHeader(
66     unsigned char type_character );
67 int                 RB_CompareHeaderTypes(
68     struct RB_HeaderType *ht1,
69     struct RB_HeaderType *ht2 );
70
71 #endif /* ROBODOC_HEADERTYPES_H */