Home | History | Annotate | Download | only in cups
      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