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