1 /* $Id$
2  *  Provides declarations to charsets translating routines
3  *
4  * Compiled from hpt/recode
5  * by Stas Degteff <g@grumbler.org>, 2:5080/102@fidonet
6  *
7  * Code taken from ifmail written by Eugene G. Crosser <crosser@pccross.msk.su>
8  * Ported to HPT by Dmitry Borowskoy <dim@bacup.ru>
9  *
10  * Portions copyright (C) Matthias Tichy
11  *                        Fido:     2:2433/1245 2:2433/1247 2:2432/605.14
12  *                        Internet: mtt@tichy.de
13  * Portions copyright (C) Max Levenkov
14  *                        Fido:     2:5000/117
15  *                        Internet: sackett@mail.ru
16  *
17  *  Latest version may be foind on http://husky.sourceforge.net
18  *
19  *
20  * HUSKYLIB: common defines, types and functions for HUSKY
21  *
22  * This is part of The HUSKY Fidonet Software project:
23  * see http://husky.sourceforge.net for details
24  *
25  *
26  * HUSKYLIB is free software; you can redistribute it and/or
27  * modify it under the terms of the GNU Lesser General Public
28  * License as published by the Free Software Foundation; either
29  * version 2 of the License, or (at your option) any later version.
30  *
31  * HUSKYLIB is distributed in the hope that it will be useful,
32  * but WITHOUT ANY WARRANTY; without even the implied warranty of
33  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
34  * General Public License for more details.
35  *
36  * You should have received a copy of the GNU Lesser General Public
37  * License along with this library; see file COPYING. If not, write to the
38  * Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
39  *
40  * See also http://www.gnu.org, license may be found here.
41  */
42 
43 #ifndef HUSKY_RECODE_H
44 #define HUSKY_RECODE_H
45 
46 /* huskylib: compiler.h */
47 #include "compiler.h"
48 
49 /* huskylib headers */
50 #include "huskyext.h"
51 
52 /***  Declarations & defines  ***********************************************/
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
58 /* Allocate and initialise charset tables
59  */
60 HUSKYEXT VOID initCharsets(VOID);
61 
62 /* Release memory, allocated by initCharsets()
63  */
64 HUSKYEXT VOID doneCharsets(VOID);
65 
66 /* Translate using "intab" table
67  */
68 HUSKYEXT VOID recodeToInternalCharset(char *string);
69 
70 /* Translate using "outtab" table
71  */
72 HUSKYEXT VOID recodeToTransportCharset(char *string);
73 
74 /* Read translate tables from file
75  * 1st parameter: input table file name (convert to internal charset)
76  * 2nd parameter: output table file name (convert to transport charset)
77  * Specify NULL instead file name if don't want set table
78  * Return 0 if success.
79  */
80 HUSKYEXT int getctabs(char *intabFileName, char *outtabFileName );
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 #endif
87