]> git.ipfire.org Git - thirdparty/glibc.git/blame - locale/programs/charset.h
Thu Mar 28 03:25:10 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
[thirdparty/glibc.git] / locale / programs / charset.h
CommitLineData
19bc17a9
RM
1/* Copyright (C) 1996 Free Software Foundation, Inc.
2This file is part of the GNU C Library.
3Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
4
5The GNU C Library is free software; you can redistribute it and/or
6modify it under the terms of the GNU Library General Public License as
7published by the Free Software Foundation; either version 2 of the
8License, or (at your option) any later version.
9
10The GNU C Library is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13Library General Public License for more details.
14
15You should have received a copy of the GNU Library General Public
16License along with the GNU C Library; see the file COPYING.LIB. If
17not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18Boston, MA 02111-1307, USA. */
19
20#ifndef _CHARSET_H
21#define _CHARSET_H
22
23#include <obstack.h>
24
25#include "simple-hash.h"
26#include "linereader.h"
27
28
29struct charset_t
30{
31 const char *code_set_name;
32 int mb_cur_min;
33 int mb_cur_max;
34 int width_default;
35
36 struct obstack mem_pool;
37 hash_table char_table;
38};
39
40
41/* We need one value to mark the error case. Let's use 0xffffffff.
42 I.e., it is placed in the last page of ISO 10646. For now only the
43 first is used and we have plenty of room. */
44#define ILLEGAL_CHAR_VALUE 0xffffffffu
45
46
47/* Prototypes for charmap handling functions. */
48struct charset_t *charmap_read (const char *filename);
49
50/* Prototypes for funciton to insert new character. */
51void charset_new_char (struct linereader *lr, struct charset_t *cs, int bytes,
52 unsigned int value, const char *from, const char *to);
53
54void charset_new_unicode (struct linereader *lr, struct charset_t *cs,
55 int bytes, unsigned int value, const char *from,
56 const char *to);
57
58unsigned int charset_find_value (const struct charset_t *__cs,
59 const char *__name, size_t __len);
60
61#endif /* charset.h */