/src/dcmtk/oficonv/libsrc/citrus_stdenc.h
Line | Count | Source |
1 | | /*- |
2 | | * Copyright (c)2003 Citrus Project, |
3 | | * All rights reserved. |
4 | | * |
5 | | * Redistribution and use in source and binary forms, with or without |
6 | | * modification, are permitted provided that the following conditions |
7 | | * are met: |
8 | | * 1. Redistributions of source code must retain the above copyright |
9 | | * notice, this list of conditions and the following disclaimer. |
10 | | * 2. Redistributions in binary form must reproduce the above copyright |
11 | | * notice, this list of conditions and the following disclaimer in the |
12 | | * documentation and/or other materials provided with the distribution. |
13 | | * |
14 | | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
15 | | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
16 | | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
17 | | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
18 | | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
19 | | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
20 | | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
21 | | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
22 | | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
23 | | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
24 | | * SUCH DAMAGE. |
25 | | * |
26 | | */ |
27 | | |
28 | | #ifndef _CITRUS_STDENC_H_ |
29 | | #define _CITRUS_STDENC_H_ |
30 | | |
31 | | #include "dcmtk/config/osconfig.h" |
32 | | |
33 | | struct _citrus_stdenc; |
34 | | struct _citrus_stdenc_ops; |
35 | | struct _citrus_stdenc_traits; |
36 | | |
37 | 0 | #define _CITRUS_STDENC_SDID_GENERIC 0 |
38 | | struct _citrus_stdenc_state_desc |
39 | | { |
40 | | union { |
41 | | struct { |
42 | | int state; |
43 | | #define _CITRUS_STDENC_SDGEN_UNKNOWN 0 |
44 | 0 | #define _CITRUS_STDENC_SDGEN_INITIAL 1 |
45 | 0 | #define _CITRUS_STDENC_SDGEN_STABLE 2 |
46 | 0 | #define _CITRUS_STDENC_SDGEN_INCOMPLETE_CHAR 3 |
47 | 0 | #define _CITRUS_STDENC_SDGEN_INCOMPLETE_SHIFT 4 |
48 | | } generic; |
49 | | } u; |
50 | | }; |
51 | | |
52 | | #include "citrus_stdenc_local.h" |
53 | | |
54 | | BEGIN_EXTERN_C |
55 | | int _citrus_stdenc_open(struct _citrus_stdenc * * , |
56 | | char const * , const void * , size_t); |
57 | | void _citrus_stdenc_close(struct _citrus_stdenc *); |
58 | | END_EXTERN_C |
59 | | |
60 | | static __inline int |
61 | | _citrus_stdenc_init_state(struct _citrus_stdenc * ce, |
62 | | void * ps) |
63 | 0 | { |
64 | |
|
65 | 0 | return ((*ce->ce_ops->eo_init_state)(ce, ps)); |
66 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_init_state Unexecuted instantiation: citrus_none.c:_citrus_stdenc_init_state |
67 | | |
68 | | static __inline int |
69 | | _citrus_stdenc_mbtocs(struct _citrus_stdenc * ce, |
70 | | _citrus_csid_t * csid, _citrus_index_t * idx, |
71 | | char ** s, size_t n, void * ps, |
72 | | size_t * nresult, struct iconv_hooks *hooks) |
73 | 0 | { |
74 | |
|
75 | 0 | return ((*ce->ce_ops->eo_mbtocs)(ce, csid, idx, s, n, ps, nresult, |
76 | 0 | hooks)); |
77 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_mbtocs Unexecuted instantiation: citrus_none.c:_citrus_stdenc_mbtocs |
78 | | |
79 | | static __inline int |
80 | | _citrus_stdenc_cstomb(struct _citrus_stdenc * ce, |
81 | | char * s, size_t n, _citrus_csid_t csid, _citrus_index_t idx, |
82 | | void * ps, size_t * nresult, |
83 | | struct iconv_hooks *hooks) |
84 | 0 | { |
85 | |
|
86 | 0 | return ((*ce->ce_ops->eo_cstomb)(ce, s, n, csid, idx, ps, nresult, |
87 | 0 | hooks)); |
88 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_cstomb Unexecuted instantiation: citrus_none.c:_citrus_stdenc_cstomb |
89 | | |
90 | | static __inline int |
91 | | _citrus_stdenc_wctomb(struct _citrus_stdenc * ce, |
92 | | char * s, size_t n, _citrus_wc_t wc, void * ps, |
93 | | size_t * nresult, struct iconv_hooks *hooks) |
94 | 0 | { |
95 | |
|
96 | 0 | return ((*ce->ce_ops->eo_wctomb)(ce, s, n, wc, ps, nresult, hooks)); |
97 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_wctomb Unexecuted instantiation: citrus_none.c:_citrus_stdenc_wctomb |
98 | | |
99 | | static __inline int |
100 | | _citrus_stdenc_put_state_reset(struct _citrus_stdenc * ce, |
101 | | char * s, size_t n, void * ps, |
102 | | size_t * nresult) |
103 | 0 | { |
104 | |
|
105 | 0 | return ((*ce->ce_ops->eo_put_state_reset)(ce, s, n, ps, nresult)); |
106 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_put_state_reset Unexecuted instantiation: citrus_none.c:_citrus_stdenc_put_state_reset |
107 | | |
108 | | static __inline size_t |
109 | | _citrus_stdenc_get_state_size(struct _citrus_stdenc *ce) |
110 | 0 | { |
111 | |
|
112 | 0 | return (ce->ce_traits->et_state_size); |
113 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_state_size Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_state_size |
114 | | |
115 | | static __inline size_t |
116 | | _citrus_stdenc_get_mb_cur_min(struct _citrus_stdenc *ce) |
117 | 0 | { |
118 | |
|
119 | 0 | return (ce->ce_traits->et_mb_cur_min); |
120 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_mb_cur_min Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_mb_cur_min |
121 | | |
122 | | static __inline size_t |
123 | | _citrus_stdenc_get_mb_cur_max(struct _citrus_stdenc *ce) |
124 | 0 | { |
125 | 0 |
|
126 | 0 | return (ce->ce_traits->et_mb_cur_max); |
127 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_mb_cur_max Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_mb_cur_max |
128 | | |
129 | | static __inline int |
130 | | _citrus_stdenc_get_state_desc(struct _citrus_stdenc * ce, |
131 | | void * ps, int id, |
132 | | struct _citrus_stdenc_state_desc * d) |
133 | 0 | { |
134 | |
|
135 | 0 | return ((*ce->ce_ops->eo_get_state_desc)(ce, ps, id, d)); |
136 | 0 | } Unexecuted instantiation: citrus_mskanji.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_ues.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_utf1632.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_utf7.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_utf8.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_viqr.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_zw.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_big5.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_dechanyu.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_euc.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_euctw.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_gbk2k.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_hz.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_iconv_std.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_iso2022.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_jisx0208.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_johab.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_stdenc.c:_citrus_stdenc_get_state_desc Unexecuted instantiation: citrus_none.c:_citrus_stdenc_get_state_desc |
137 | | #endif |