• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  * 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_ */
75