]>
Commit | Line | Data |
---|---|---|
581c785b | 1 | /* Copyright (C) 2000-2022 Free Software Foundation, Inc. |
6b98979f | 2 | This file is part of the GNU C Library. |
6b98979f UD |
3 | |
4 | The GNU C Library is free software; you can redistribute it and/or | |
cc7375ce RM |
5 | modify it under the terms of the GNU Lesser General Public License as |
6 | published by the Free Software Foundation; either version 2.1 of the | |
6b98979f UD |
7 | License, or (at your option) any later version. |
8 | ||
9 | The GNU C Library is distributed in the hope that it will be useful, | |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
cc7375ce | 12 | Lesser General Public License for more details. |
6b98979f | 13 | |
cc7375ce | 14 | You should have received a copy of the GNU Lesser General Public |
59ba27a6 | 15 | License along with the GNU C Library; see the file COPYING.LIB. If |
5a82c748 | 16 | not, see <https://www.gnu.org/licenses/>. */ |
6b98979f UD |
17 | |
18 | #include <stdint.h> | |
19 | ||
20 | ||
21 | typedef uint16_t gidx_t; | |
22 | ||
23 | ||
24 | struct gconvcache_header | |
25 | { | |
26 | uint32_t magic; | |
27 | gidx_t string_offset; | |
28 | gidx_t hash_offset; | |
29 | gidx_t hash_size; | |
30 | gidx_t module_offset; | |
31 | gidx_t otherconv_offset; | |
32 | }; | |
33 | ||
34 | struct hash_entry | |
35 | { | |
36 | gidx_t string_offset; | |
37 | gidx_t module_idx; | |
38 | }; | |
39 | ||
40 | struct module_entry | |
41 | { | |
42 | gidx_t canonname_offset; | |
43 | gidx_t fromdir_offset; | |
44 | gidx_t fromname_offset; | |
45 | gidx_t todir_offset; | |
46 | gidx_t toname_offset; | |
47 | gidx_t extra_offset; | |
48 | }; | |
49 | ||
50 | struct extra_entry | |
51 | { | |
52 | gidx_t module_cnt; | |
53 | struct extra_entry_module | |
54 | { | |
55 | gidx_t outname_offset; | |
56 | gidx_t dir_offset; | |
57 | gidx_t name_offset; | |
58 | } module[0]; | |
59 | }; | |
60 | ||
61 | ||
62 | #define GCONVCACHE_MAGIC 0x20010324 | |
63 | ||
64 | ||
65 | #define GCONV_MODULES_CACHE GCONV_DIR "/gconv-modules.cache" |