1*53ee8cc1Swenshuai.xi /* Copyright (C) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc. 2*53ee8cc1Swenshuai.xi This file is part of the GNU C Library. 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi The GNU C Library is free software; you can redistribute it and/or 5*53ee8cc1Swenshuai.xi modify it under the terms of the GNU Lesser General Public 6*53ee8cc1Swenshuai.xi License as published by the Free Software Foundation; either 7*53ee8cc1Swenshuai.xi version 2.1 of the License, or (at your option) any later version. 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi The GNU C Library is distributed in the hope that it will be useful, 10*53ee8cc1Swenshuai.xi but WITHOUT ANY WARRANTY; without even the implied warranty of 11*53ee8cc1Swenshuai.xi MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12*53ee8cc1Swenshuai.xi Lesser General Public License for more details. 13*53ee8cc1Swenshuai.xi 14*53ee8cc1Swenshuai.xi You should have received a copy of the GNU Lesser General Public 15*53ee8cc1Swenshuai.xi License along with the GNU C Library; if not, write to the Free 16*53ee8cc1Swenshuai.xi Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 17*53ee8cc1Swenshuai.xi 02111-1307 USA. */ 18*53ee8cc1Swenshuai.xi 19*53ee8cc1Swenshuai.xi #ifndef _ICONV_H 20*53ee8cc1Swenshuai.xi #define _ICONV_H 1 21*53ee8cc1Swenshuai.xi 22*53ee8cc1Swenshuai.xi #include <features.h> 23*53ee8cc1Swenshuai.xi #define __need_size_t 24*53ee8cc1Swenshuai.xi #include <stddef.h> 25*53ee8cc1Swenshuai.xi 26*53ee8cc1Swenshuai.xi 27*53ee8cc1Swenshuai.xi __BEGIN_DECLS 28*53ee8cc1Swenshuai.xi 29*53ee8cc1Swenshuai.xi /* Identifier for conversion method from one codeset to another. */ 30*53ee8cc1Swenshuai.xi typedef void *iconv_t; 31*53ee8cc1Swenshuai.xi 32*53ee8cc1Swenshuai.xi 33*53ee8cc1Swenshuai.xi /* Allocate descriptor for code conversion from codeset FROMCODE to 34*53ee8cc1Swenshuai.xi codeset TOCODE. 35*53ee8cc1Swenshuai.xi 36*53ee8cc1Swenshuai.xi This function is a possible cancellation points and therefore not 37*53ee8cc1Swenshuai.xi marked with __THROW. */ 38*53ee8cc1Swenshuai.xi extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi /* Convert at most *INBYTESLEFT bytes from *INBUF according to the 41*53ee8cc1Swenshuai.xi code conversion algorithm specified by CD and place up to 42*53ee8cc1Swenshuai.xi *OUTBYTESLEFT bytes in buffer at *OUTBUF. */ 43*53ee8cc1Swenshuai.xi extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, 44*53ee8cc1Swenshuai.xi size_t *__restrict __inbytesleft, 45*53ee8cc1Swenshuai.xi char **__restrict __outbuf, 46*53ee8cc1Swenshuai.xi size_t *__restrict __outbytesleft); 47*53ee8cc1Swenshuai.xi 48*53ee8cc1Swenshuai.xi /* Free resources allocated for descriptor CD for code conversion. 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi This function is a possible cancellation points and therefore not 51*53ee8cc1Swenshuai.xi marked with __THROW. */ 52*53ee8cc1Swenshuai.xi extern int iconv_close (iconv_t __cd); 53*53ee8cc1Swenshuai.xi 54*53ee8cc1Swenshuai.xi __END_DECLS 55*53ee8cc1Swenshuai.xi 56*53ee8cc1Swenshuai.xi #endif /* iconv.h */ 57