]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/transcode.h
License change: Apache License, Version 2.0.
[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 * 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_ */