Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / include / unls.h
1 /*
2  * This file has been modified for the cdrkit suite.
3  *
4  * The behaviour and appearence of the program code below can differ to a major
5  * extent from the version distributed by the original author(s).
6  *
7  * For details, see Changelog file distributed with the cdrkit package. If you
8  * received this file from another source then ask the distributing person for
9  * a log of modifications.
10  *
11  */
12
13 /* @(#)unls.h   1.6 05/04/21 Copyright 2000-2005 J. Schilling */
14 /*
15  *      Definitions fur users of libunls
16  *
17  *      Copyright (c) 2000-2005 J. Schilling
18  */
19 /*
20  * This program is free software; you can redistribute it and/or modify
21  * it under the terms of the GNU General Public License version 2
22  * as published by the Free Software Foundation.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License along with
30  * this program; see the file COPYING.  If not, write to the Free Software
31  * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32  */
33
34 #ifndef _UNLS_H
35 #define _UNLS_H
36
37 #ifndef _MCONFIG_H
38 #include <mconfig.h>
39 #endif
40 #ifndef _PROTOTYP_H
41 #include <prototyp.h>
42 #endif
43
44 #ifdef USE_ICONV
45 #include <iconv.h>
46 #endif
47
48 #ifdef  __cplusplus
49 extern "C" {
50 #endif
51
52 struct unls_unicode {
53         unsigned char   unls_low;               /* Low Byte */
54         unsigned char   unls_high;              /* High Byte */
55 };
56
57 struct unls_table {
58         char            *unls_name;             /* UNLS charset name    */
59         unsigned char   **unls_uni2cs;          /* Unicode -> Charset   */
60         struct unls_unicode *unls_cs2uni;       /* Charset -> Unicode   */
61         struct unls_table *unls_next;           /* Next table           */
62 #ifdef USE_ICONV
63     iconv_t iconv_d;
64 #endif
65 };
66
67 extern int              init_unls(void);
68 extern int              register_unls(struct unls_table *);
69 extern int              unregister_unls(struct unls_table *);
70 extern struct unls_table *find_unls(char *);
71 extern void             list_unls(void);
72 extern struct unls_table *load_unls(char *);
73 extern void             unload_unls(struct unls_table *);
74 extern struct unls_table *load_unls_default(void);
75 extern int              init_unls_file(char * name);
76
77 #ifdef USE_ICONV
78 extern int             init_nls_iconv(char * name);
79 #endif
80
81 #ifdef  __cplusplus
82 }
83 #endif
84
85 #endif  /* _UNLS_H */