|
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 */ |