]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/transcode.h
20d13db0eefc041e9dc401974716f88a5a409ba4
[thirdparty/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 * These coded instructions, statements, and computer programs are the
8 * property of Apple Inc. and are protected by Federal copyright
9 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
10 * which should have been included with this file. If this file is
11 * file is missing or damaged, see the license at "http://www.cups.org/".
12 *
13 * This file is subject to the Apple OS-Developed Software exception.
14 */
15
16 #ifndef _CUPS_TRANSCODE_H_
17 # define _CUPS_TRANSCODE_H_
18
19 /*
20 * Include necessary headers...
21 */
22
23 # include "language.h"
24
25 # ifdef __cplusplus
26 extern "C" {
27 # endif /* __cplusplus */
28
29
30 /*
31 * Constants...
32 */
33
34 # define CUPS_MAX_USTRING 8192 /* Max size of Unicode string */
35
36
37 /*
38 * Types...
39 */
40
41 typedef unsigned char cups_utf8_t; /* UTF-8 Unicode/ISO-10646 unit */
42 typedef unsigned long cups_utf32_t; /* UTF-32 Unicode/ISO-10646 unit */
43 typedef unsigned short cups_ucs2_t; /* UCS-2 Unicode/ISO-10646 unit */
44 typedef unsigned long cups_ucs4_t; /* UCS-4 Unicode/ISO-10646 unit */
45 typedef unsigned char cups_sbcs_t; /* SBCS Legacy 8-bit unit */
46 typedef unsigned short cups_dbcs_t; /* DBCS Legacy 16-bit unit */
47 typedef unsigned long cups_vbcs_t; /* VBCS Legacy 32-bit unit */
48 /* EUC uses 8, 16, 24, 32-bit */
49
50
51 /*
52 * Prototypes...
53 */
54
55 extern int cupsCharsetToUTF8(cups_utf8_t *dest,
56 const char *src,
57 const int maxout,
58 const cups_encoding_t encoding) _CUPS_API_1_2;
59 extern int cupsUTF8ToCharset(char *dest,
60 const cups_utf8_t *src,
61 const int maxout,
62 const cups_encoding_t encoding) _CUPS_API_1_2;
63 extern int cupsUTF8ToUTF32(cups_utf32_t *dest,
64 const cups_utf8_t *src,
65 const int maxout) _CUPS_API_1_2;
66 extern int cupsUTF32ToUTF8(cups_utf8_t *dest,
67 const cups_utf32_t *src,
68 const int maxout) _CUPS_API_1_2;
69
70 # ifdef __cplusplus
71 }
72 # endif /* __cplusplus */
73
74 #endif /* !_CUPS_TRANSCODE_H_ */