4d85ff8a56edf677dd2f8f45deec06361a3e79ba
[platform/upstream/groff.git] / src / include / index.h
1 // -*- C++ -*-
2 /* Copyright (C) 1989-2014  Free Software Foundation, Inc.
3      Written by James Clark (jjc@jclark.com)
4
5 This file is part of groff.
6
7 groff is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 groff is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 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 #define INDEX_MAGIC 0x23021964
21 #define INDEX_VERSION 1
22
23 struct index_header {
24   int magic;
25   int version;
26   int tags_size;
27   int table_size;
28   int lists_size;
29   int strings_size;
30   int truncate;
31   int shortest;
32   int common;
33 };
34
35 struct tag {
36   int filename_index;
37   int start;
38   int length;
39 };
40
41 unsigned hash(const char *s, int len);