2 * Copyright (C) 2005-2008, Index Data ApS
3 * See the file LICENSE for details.
8 * \brief Internal header for conv
14 #include <yaz/yconfig.h>
16 #include <yaz/yaz-iconv.h>
18 void yaz_iconv_set_errno(yaz_iconv_t cd, int no);
20 unsigned long yaz_read_iso5428_1984(yaz_iconv_t cd, unsigned char *inp,
21 size_t inbytesleft, size_t *no_read);
23 size_t yaz_init_UTF8(yaz_iconv_t cd, unsigned char *inp,
24 size_t inbytesleft, size_t *no_read);
25 unsigned long yaz_read_UTF8(yaz_iconv_t cd, unsigned char *inp,
26 size_t inbytesleft, size_t *no_read);
29 unsigned long yaz_read_UCS4(yaz_iconv_t cd, unsigned char *inp,
30 size_t inbytesleft, size_t *no_read);
31 unsigned long yaz_read_UCS4LE(yaz_iconv_t cd, unsigned char *inp,
32 size_t inbytesleft, size_t *no_read);
33 unsigned long yaz_read_advancegreek(yaz_iconv_t cd, unsigned char *inp,
34 size_t inbytesleft, size_t *no_read);
36 typedef struct yaz_iconv_encoder_s *yaz_iconv_encoder_t;
37 struct yaz_iconv_encoder_s {
39 size_t (*write_handle)(yaz_iconv_t cd, yaz_iconv_encoder_t e,
41 char **outbuf, size_t *outbytesleft);
42 size_t (*flush_handle)(yaz_iconv_t cd, yaz_iconv_encoder_t e,
43 char **outbuf, size_t *outbytesleft);
44 void (*init_handle)(yaz_iconv_encoder_t e);
45 void (*destroy_handle)(yaz_iconv_encoder_t e);
48 yaz_iconv_encoder_t yaz_marc8_encoder(const char *name,
49 yaz_iconv_encoder_t e);
50 yaz_iconv_encoder_t yaz_utf8_encoder(const char *name,
51 yaz_iconv_encoder_t e);
52 yaz_iconv_encoder_t yaz_ucs4_encoder(const char *name,
53 yaz_iconv_encoder_t e);
54 yaz_iconv_encoder_t yaz_iso_8859_1_encoder(const char *name,
55 yaz_iconv_encoder_t e);
56 yaz_iconv_encoder_t yaz_iso_5428_encoder(const char *name,
57 yaz_iconv_encoder_t e);
58 yaz_iconv_encoder_t yaz_advancegreek_encoder(const char *name,
59 yaz_iconv_encoder_t e);
60 yaz_iconv_encoder_t yaz_wchar_encoder(const char *name,
61 yaz_iconv_encoder_t e);
62 typedef unsigned long yaz_conv_func_t(unsigned char *inp, size_t inbytesleft,
63 size_t *no_read, int *combining,
64 unsigned mask, int boffset);
66 int yaz_iso_8859_1_lookup_y(unsigned long v,
67 unsigned long *x1, unsigned long *x2);
69 int yaz_iso_8859_1_lookup_x12(unsigned long x1, unsigned long x2,
76 * indent-tabs-mode: nil
78 * vim: shiftwidth=4 tabstop=8 expandtab