1 /*
2  * This file is part of the TINICONV Library.
3  *
4  * The TINICONV Library is free software; you can redistribute it
5  * and/or modify it under the terms of the GNU Library General Public
6  * License version 3 as published by the Free Software Foundation.
7  */
8 // ----------------------------------------------------------------------------
9 // Copyright (C) 2014
10 //              David Freese, W1HKJ
11 //
12 // This file is part of fldigi
13 //
14 // fldigi is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 // GNU General Public License for more details.
18 //
19 // You should have received a copy of the GNU General Public License
20 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 // ----------------------------------------------------------------------------
22 
23 
24 #ifndef TINICONV_INT_H_
25 #define TINICONV_INT_H_
26 
27 #include "tiniconv.h"
28 
29 #define RET_ILSEQ      -1
30 #define RET_TOOFEW(n)  (-2-(n))
31 #define RET_ILUNI      -1
32 #define RET_TOOSMALL   -2
33 
34 extern const struct tiniconv_charset_map_entry_s {
35   xxx_mb2wc_t mb2wc;
36   xxx_flushwc_t flushwc;
37   xxx_wc2mb_t wc2mb;
38   xxx_reset_t reset;
39 } tiniconv_charset_map[];
40 
41 typedef struct {
42   unsigned short indx; /* index into big table */
43   unsigned short used; /* bitmask of used entries */
44 } Summary16;
45 
46 #define TINICONV_OPTION_GET_OUT_ILSEQ_CHAR(options) ((options >> 8) & 0xFF)
47 
48 #endif /*TINICONV_INT_H_*/
49