Bump to cups 2.3.3
[platform/upstream/cups.git] / cups / transcode.h
1 /*
2  * Transcoding definitions for CUPS.
3  *
4  * Copyright 2007-2011 by Apple Inc.
5  * Copyright 1997-2006 by Easy Software Products.
6  *
7  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
8  */
9
10 #ifndef _CUPS_TRANSCODE_H_
11 #  define _CUPS_TRANSCODE_H_
12
13 /*
14  * Include necessary headers...
15  */
16
17 #  include "language.h"
18
19 #  ifdef __cplusplus
20 extern "C" {
21 #  endif /* __cplusplus */
22
23
24 /*
25  * Constants...
26  */
27
28 #  define CUPS_MAX_USTRING      8192    /* Max size of Unicode string */
29
30
31 /*
32  * Types...
33  */
34
35 typedef unsigned char  cups_utf8_t;     /* UTF-8 Unicode/ISO-10646 unit */
36 typedef unsigned long  cups_utf32_t;    /* UTF-32 Unicode/ISO-10646 unit */
37 typedef unsigned short cups_ucs2_t;     /* UCS-2 Unicode/ISO-10646 unit */
38 typedef unsigned long  cups_ucs4_t;     /* UCS-4 Unicode/ISO-10646 unit */
39 typedef unsigned char  cups_sbcs_t;     /* SBCS Legacy 8-bit unit */
40 typedef unsigned short cups_dbcs_t;     /* DBCS Legacy 16-bit unit */
41 typedef unsigned long  cups_vbcs_t;     /* VBCS Legacy 32-bit unit */
42                                         /* EUC uses 8, 16, 24, 32-bit */
43
44
45 /*
46  * Prototypes...
47  */
48
49 extern int      cupsCharsetToUTF8(cups_utf8_t *dest,
50                                   const char *src,
51                                   const int maxout,
52                                   const cups_encoding_t encoding) _CUPS_API_1_2;
53 extern int      cupsUTF8ToCharset(char *dest,
54                                   const cups_utf8_t *src,
55                                   const int maxout,
56                                   const cups_encoding_t encoding) _CUPS_API_1_2;
57 extern int      cupsUTF8ToUTF32(cups_utf32_t *dest,
58                                 const cups_utf8_t *src,
59                                 const int maxout) _CUPS_API_1_2;
60 extern int      cupsUTF32ToUTF8(cups_utf8_t *dest,
61                                 const cups_utf32_t *src,
62                                 const int maxout) _CUPS_API_1_2;
63
64 #  ifdef __cplusplus
65 }
66 #  endif /* __cplusplus */
67
68 #endif /* !_CUPS_TRANSCODE_H_ */