1 /* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public License as
7 published by the Free Software Foundation; either version 2 of the
8 License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
15 You should have received a copy of the GNU Library General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If not,
17 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. */
25 #include "simple-hash.h"
26 #include "linereader.h"
39 const char *code_set_name
;
43 struct width_rule
*width_rules
;
45 size_t nwidth_rules_max
;
46 unsigned int width_default
;
48 struct obstack mem_pool
;
49 hash_table char_table
;
53 /* We need one value to mark the error case. Let's use 0xffffffff.
54 I.e., it is placed in the last page of ISO 10646. For now only the
55 first is used and we have plenty of room. */
56 #define ILLEGAL_CHAR_VALUE ((wchar_t) 0xffffffffu)
59 /* Declared in localedef.c. */
62 /* Prototypes for charmap handling functions. */
63 struct charset_t
*charmap_read (const char *filename
);
65 /* Prototypes for function to insert new character. */
66 void charset_new_char (struct linereader
*lr
, struct charset_t
*cs
, int bytes
,
67 unsigned int value
, const char *from
, const char *to
);
69 void charset_new_unicode (struct linereader
*lr
, struct charset_t
*cs
,
70 int bytes
, unsigned int value
, const char *from
,
73 unsigned int charset_find_value (const struct charset_t
*__cs
,
74 const char *__name
, size_t __len
);
76 #endif /* charset.h */