mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
66 lines
2.6 KiB
C
66 lines
2.6 KiB
C
|
/*
|
||
|
Licensed Materials - Property of IBM
|
||
|
DB2 Storage Engine Enablement
|
||
|
Copyright IBM Corporation 2007,2008
|
||
|
All rights reserved
|
||
|
|
||
|
Redistribution and use in source and binary forms, with or without modification,
|
||
|
are permitted provided that the following conditions are met:
|
||
|
(a) Redistributions of source code must retain this list of conditions, the
|
||
|
copyright notice in section {d} below, and the disclaimer following this
|
||
|
list of conditions.
|
||
|
(b) Redistributions in binary form must reproduce this list of conditions, the
|
||
|
copyright notice in section (d) below, and the disclaimer following this
|
||
|
list of conditions, in the documentation and/or other materials provided
|
||
|
with the distribution.
|
||
|
(c) The name of IBM may not be used to endorse or promote products derived from
|
||
|
this software without specific prior written permission.
|
||
|
(d) The text of the required copyright notice is:
|
||
|
Licensed Materials - Property of IBM
|
||
|
DB2 Storage Engine Enablement
|
||
|
Copyright IBM Corporation 2007,2008
|
||
|
All rights reserved
|
||
|
|
||
|
THIS SOFTWARE IS PROVIDED BY IBM CORPORATION "AS IS" AND ANY EXPRESS OR IMPLIED
|
||
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||
|
SHALL IBM CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||
|
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||
|
CONTRACT, STRICT LIABILITY, OR TORT INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||
|
OF SUCH DAMAGE.
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef DB2I_CHARSETSUPPORT_H
|
||
|
#define DB2I_CHARSETSUPPORT_H
|
||
|
|
||
|
#include "db2i_global.h"
|
||
|
#include "mysql_priv.h"
|
||
|
#include <mysql/plugin.h>
|
||
|
#include "db2i_iconv.h"
|
||
|
|
||
|
/**
|
||
|
@enum enum_conversionDirection
|
||
|
|
||
|
Conversion directions for getConversion()
|
||
|
*/
|
||
|
enum enum_conversionDirection
|
||
|
{
|
||
|
toMySQL,
|
||
|
toDB2
|
||
|
};
|
||
|
|
||
|
int initCharsetSupport();
|
||
|
void doneCharsetSupport();
|
||
|
int32 convertIANAToDb2Ccsid(const char* parmIANADesc, uint16* db2Ccsid);
|
||
|
int32 getEncodingScheme(const uint16 inCcsid, int32& outEncodingScheme);
|
||
|
int32 getAssociatedCCSID(const uint16 inCcsid, const int inEncodingScheme, uint16* outCcsid);
|
||
|
int convToEbcdic(const char* input, char* output, size_t ilen);
|
||
|
int convFromEbcdic(const char* input, char* output, size_t ilen);
|
||
|
int32 getConversion(enum_conversionDirection direction, const CHARSET_INFO* cs, uint16 db2CCSID, iconv_t& conversion);
|
||
|
|
||
|
#endif
|