Factor iconv conversions to separate C files.
[yaz-moved-to-github.git] / src / iconv-p.h
1 /*
2  * Copyright (C) 2005-2008, Index Data ApS
3  * See the file LICENSE for details.
4  *
5  * $Id: zoom-p.h,v 1.25 2007-09-11 08:40:28 adam Exp $
6  */
7 /**
8  * \file
9  * \brief Internal header for conv
10  */
11
12 #ifndef ICONV_P_H
13 #define ICONV_P_H
14
15 #include <yaz/yconfig.h>
16
17 #include <yaz/yaz-iconv.h>
18
19 void yaz_iconv_set_errno(yaz_iconv_t cd, int no);
20
21 unsigned long yaz_read_iso5428_1984(yaz_iconv_t cd, unsigned char *inp,
22                                     size_t inbytesleft, size_t *no_read);
23
24 size_t yaz_write_iso5428_1984(yaz_iconv_t cd, unsigned long x,
25                               char **outbuf, size_t *outbytesleft);
26
27 size_t yaz_init_UTF8(yaz_iconv_t cd, unsigned char *inp,
28                      size_t inbytesleft, size_t *no_read);
29 unsigned long yaz_read_UTF8(yaz_iconv_t cd, unsigned char *inp,
30                             size_t inbytesleft, size_t *no_read);
31
32
33 size_t yaz_write_UTF8(yaz_iconv_t cd, unsigned long x,
34                       char **outbuf, size_t *outbytesleft);
35
36 unsigned long yaz_read_UCS4(yaz_iconv_t cd, unsigned char *inp,
37                             size_t inbytesleft, size_t *no_read);
38 unsigned long yaz_read_UCS4LE(yaz_iconv_t cd, unsigned char *inp,
39                               size_t inbytesleft, size_t *no_read);
40 size_t yaz_write_UCS4(yaz_iconv_t cd, unsigned long x,
41                       char **outbuf, size_t *outbytesleft);
42 size_t yaz_write_UCS4LE(yaz_iconv_t cd, unsigned long x,
43                         char **outbuf, size_t *outbytesleft);
44 unsigned long yaz_read_advancegreek(yaz_iconv_t cd, unsigned char *inp,
45                                     size_t inbytesleft, size_t *no_read);
46 size_t yaz_write_advancegreek(yaz_iconv_t cd, unsigned long x,
47                               char **outbuf, size_t *outbytesleft);
48
49 #endif
50 /*
51  * Local variables:
52  * c-basic-offset: 4
53  * indent-tabs-mode: nil
54  * End:
55  * vim: shiftwidth=4 tabstop=8 expandtab
56  */
57