/*
* Transcoding definitions for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* missing or damaged, see the license at "http://www.cups.org/".
*
* This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_TRANSCODE_H_
# define _CUPS_TRANSCODE_H_
/*
* Include necessary headers...
*/
# include "language.h"
# ifdef __cplusplus
extern "C" {
# endif /* __cplusplus */
/*
* Constants...
*/
# define CUPS_MAX_USTRING 8192 /* Max size of Unicode string */
/*
* Types...
*/
typedef unsigned char cups_utf8_t; /* UTF-8 Unicode/ISO-10646 unit */
typedef unsigned long cups_utf32_t; /* UTF-32 Unicode/ISO-10646 unit */
typedef unsigned short cups_ucs2_t; /* UCS-2 Unicode/ISO-10646 unit */
typedef unsigned long cups_ucs4_t; /* UCS-4 Unicode/ISO-10646 unit */
typedef unsigned char cups_sbcs_t; /* SBCS Legacy 8-bit unit */
typedef unsigned short cups_dbcs_t; /* DBCS Legacy 16-bit unit */
typedef unsigned long cups_vbcs_t; /* VBCS Legacy 32-bit unit */
/* EUC uses 8, 16, 24, 32-bit */
/*
* Prototypes...
*/
extern int cupsCharsetToUTF8(cups_utf8_t *dest,
const char *src,
const int maxout,
const cups_encoding_t encoding) _CUPS_API_1_2;
extern int cupsUTF8ToCharset(char *dest,
const cups_utf8_t *src,
const int maxout,
const cups_encoding_t encoding) _CUPS_API_1_2;
extern int cupsUTF8ToUTF32(cups_utf32_t *dest,
const cups_utf8_t *src,
const int maxout) _CUPS_API_1_2;
extern int cupsUTF32ToUTF8(cups_utf8_t *dest,
const cups_utf32_t *src,
const int maxout) _CUPS_API_1_2;
# ifdef __cplusplus
}
# endif /* __cplusplus */
#endif /* !_CUPS_TRANSCODE_H_ */