Drizzled Public API Documentation

CSUTF8.h
00001 /* Copyright (C) 2008 PrimeBase Technologies GmbH, Germany
00002  *
00003  * PrimeBase Media Stream for MySQL
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00018  *
00019  * Original author: Paul McCullagh (H&G2JCtL)
00020  * Continued development: Barry Leslie
00021  *
00022  * 2007-06-14
00023  *
00024  * CORE SYSTEM:
00025  * Unicode / UTF-8 convertion
00026  *
00027  */
00028 
00029 #pragma once
00030 #ifndef __CSUTF8_H__
00031 #define __CSUTF8_H__
00032 
00033 #include "CSDefs.h"
00034 #include "CSString.h"
00035 
00036 /*
00037  * Convert a UTF-8 string to a unicode value.
00038  * This function returns the length of the unicode character.
00039  */
00040 size_t cs_utf_to_uni_char(const u_char *in_string, uint32_t *uni_value);
00041 
00042 void cs_utf8_to_uni(size_t out_len, unichar *out_string, const u_char *in_string);
00043 
00044 /* Convert to UTF-8 without a terminator: */
00045 void cs_utf8_to_uni_no_term(size_t out_len, unichar *out_string, const u_char *in_string);
00046 
00047 void cs_uni_to_utf8(size_t out_len, char *out_string, const unichar *in_string);
00048 void cs_uni_to_utf8(size_t out_len, char *out_string, const unichar *in_string, s_int in_len);
00049 
00050 size_t cs_utf8_to_uni_len(const char *in_string);
00051 size_t cs_uni_to_utf8_len(const unichar *in_string, s_int in_len);
00052 
00053 #endif
00054 
00055