version 1.1, 2012/02/21 22:57:48
|
version 1.1.1.3, 2021/03/17 13:38:46
|
Line 1
|
Line 1
|
/* Copyright (C) 1999-2003, 2005-2006, 2008-2009 Free Software Foundation, Inc. | /* Copyright (C) 1999-2019 Free Software Foundation, Inc. |
This file is part of the GNU LIBICONV Library. |
This file is part of the GNU LIBICONV Library. |
|
|
The GNU LIBICONV Library is free software; you can redistribute it |
The GNU LIBICONV Library is free software; you can redistribute it |
Line 13
|
Line 13
|
|
|
You should have received a copy of the GNU Library General Public |
You should have received a copy of the GNU Library General Public |
License along with the GNU LIBICONV Library; see the file COPYING.LIB. |
License along with the GNU LIBICONV Library; see the file COPYING.LIB. |
If not, write to the Free Software Foundation, Inc., 51 Franklin Street, | If not, see <https://www.gnu.org/licenses/>. */ |
Fifth Floor, Boston, MA 02110-1301, USA. */ | |
|
|
/* When installed, this file is called "iconv.h". */ |
/* When installed, this file is called "iconv.h". */ |
|
|
#ifndef _LIBICONV_H |
#ifndef _LIBICONV_H |
#define _LIBICONV_H |
#define _LIBICONV_H |
|
|
#define _LIBICONV_VERSION 0x010D /* version number: (major<<8) + minor */ | #ifndef LIBICONV_PLUG |
| #define _LIBICONV_VERSION 0x0110 /* version number: (major<<8) + minor */ |
extern @DLL_VARIABLE@ int _libiconv_version; /* Likewise */ |
extern @DLL_VARIABLE@ int _libiconv_version; /* Likewise */ |
|
#endif |
|
|
/* We would like to #include any system header file which could define |
/* We would like to #include any system header file which could define |
iconv_t, 1. in order to eliminate the risk that the user gets compilation |
iconv_t, 1. in order to eliminate the risk that the user gets compilation |
Line 89 extern size_t iconv (iconv_t cd, @ICONV_CONST@ char* *
|
Line 90 extern size_t iconv (iconv_t cd, @ICONV_CONST@ char* *
|
extern int iconv_close (iconv_t cd); |
extern int iconv_close (iconv_t cd); |
|
|
|
|
#ifndef LIBICONV_PLUG | #ifdef __cplusplus |
| } |
| #endif |
|
|
|
|
|
|
/* Nonstandard extensions. */ |
/* Nonstandard extensions. */ |
|
|
#if @USE_MBSTATE_T@ |
#if @USE_MBSTATE_T@ |
Line 106 extern int iconv_close (iconv_t cd);
|
Line 111 extern int iconv_close (iconv_t cd);
|
#include <wchar.h> |
#include <wchar.h> |
#endif |
#endif |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
/* A type that holds all memory needed by a conversion descriptor. |
/* A type that holds all memory needed by a conversion descriptor. |
A pointer to such an object can be used as an iconv_t. */ |
A pointer to such an object can be used as an iconv_t. */ |
typedef struct { |
typedef struct { |
Line 118 typedef struct {
|
Line 127 typedef struct {
|
/* Allocates descriptor for code conversion from encoding ‘fromcode’ to |
/* Allocates descriptor for code conversion from encoding ‘fromcode’ to |
encoding ‘tocode’ into preallocated memory. Returns an error indicator |
encoding ‘tocode’ into preallocated memory. Returns an error indicator |
(0 or -1 with errno set). */ |
(0 or -1 with errno set). */ |
|
#ifndef LIBICONV_PLUG |
#define iconv_open_into libiconv_open_into |
#define iconv_open_into libiconv_open_into |
|
#endif |
extern int iconv_open_into (const char* tocode, const char* fromcode, |
extern int iconv_open_into (const char* tocode, const char* fromcode, |
iconv_allocation_t* resultp); |
iconv_allocation_t* resultp); |
|
|
/* Control of attributes. */ |
/* Control of attributes. */ |
|
#ifndef LIBICONV_PLUG |
#define iconvctl libiconvctl |
#define iconvctl libiconvctl |
|
#endif |
extern int iconvctl (iconv_t cd, int request, void* argument); |
extern int iconvctl (iconv_t cd, int request, void* argument); |
|
|
/* Hook performed after every successful conversion of a Unicode character. */ |
/* Hook performed after every successful conversion of a Unicode character. */ |
Line 201 struct iconv_fallbacks {
|
Line 214 struct iconv_fallbacks {
|
#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ |
#define ICONV_SET_DISCARD_ILSEQ 4 /* const int *argument */ |
#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ |
#define ICONV_SET_HOOKS 5 /* const struct iconv_hooks *argument */ |
#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ |
#define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */ |
|
#ifdef LIBICONV_PLUG |
|
#define ICONV_GET_ILSEQ_INVALID 128 |
|
#define ICONV_SET_ILSEQ_INVALID 129 |
|
#endif |
|
|
/* Listing of locale independent encodings. */ |
/* Listing of locale independent encodings. */ |
|
#ifndef LIBICONV_PLUG |
#define iconvlist libiconvlist |
#define iconvlist libiconvlist |
|
#endif |
extern void iconvlist (int (*do_one) (unsigned int namescount, |
extern void iconvlist (int (*do_one) (unsigned int namescount, |
const char * const * names, |
const char * const * names, |
void* data), |
void* data), |
Line 215 extern const char * iconv_canonicalize (const char * n
|
Line 234 extern const char * iconv_canonicalize (const char * n
|
|
|
/* Support for relocatable packages. */ |
/* Support for relocatable packages. */ |
|
|
|
#ifndef LIBICONV_PLUG |
/* Sets the original and the current installation prefix of the package. |
/* Sets the original and the current installation prefix of the package. |
Relocation simply replaces a pathname starting with the original prefix |
Relocation simply replaces a pathname starting with the original prefix |
by the corresponding pathname with the current prefix instead. Both |
by the corresponding pathname with the current prefix instead. Both |
prefixes should be directory names without trailing slash (i.e. use "" |
prefixes should be directory names without trailing slash (i.e. use "" |
instead of "/"). */ |
instead of "/"). */ |
extern void libiconv_set_relocation_prefix (const char *orig_prefix, |
extern void libiconv_set_relocation_prefix (const char *orig_prefix, |
const char *curr_prefix); | const char *curr_prefix); |
| |
#endif |
#endif |
|
|
|
|
#ifdef __cplusplus |
#ifdef __cplusplus |
} |
} |
#endif |
#endif |
|
|
|
|
|
|
#endif /* _LIBICONV_H */ |
#endif /* _LIBICONV_H */ |