/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
This file is part of the GNU LIBICONV Library.
The GNU LIBICONV Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
The GNU LIBICONV Library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU LIBICONV Library; see the file COPYING.LIB.
If not, see <http://www.gnu.org/licenses/>. */
/* When installed, this file is called "iconv.h". */
#ifndef _LIBICONV_H
#define _LIBICONV_H
#define _LIBICONV_VERSION 0x010F /* version number: (major<<8) + minor */
extern __declspec (dllimport) int _libiconv_version; /* Likewise */
/* 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
errors because some other system header file includes /usr/include/iconv.h
which defines iconv_t or declares iconv after this file, 2. when compiling
for LIBICONV_PLUG, we need the proper iconv_t type in order to produce
binary compatible code.
But gcc's #include_next is not portable. Thus, once libiconv's iconv.h
has been installed in /usr/local/include, there is no way any more to
include the original /usr/include/iconv.h. We simply have to get away
without it.
Ad 1. The risk that a system header file does
#include "iconv.h" or #include_next "iconv.h"
is small. They all do #include <iconv.h>.
Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It
has to be a scalar type because (iconv_t)(-1) is a possible return value
from iconv_open().) */
/* Define iconv_t ourselves. */
#undef iconv_t
#define iconv_t libiconv_t
typedef void* iconv_t;
/* Get size_t declaration.
Get wchar_t declaration if it exists. */
#include <stddef.h>
/* Get errno declaration and values. */
#include <errno.h>
/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS,
have EILSEQ in a different header. On these systems, define EILSEQ
ourselves. */
#ifndef EILSEQ
#define EILSEQ
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Allocates descriptor for code conversion from encoding ‘fromcode’ to
encoding ‘tocode’. */
#ifndef LIBICONV_PLUG
#define iconv_open libiconv_open
#endif
extern iconv_t iconv_open (const char* tocode, const char* fromcode);
/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes
starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at
‘*outbuf’.
Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount.
Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */
#ifndef LIBICONV_PLUG
#define iconv libiconv
#endif
extern size_t iconv (iconv_t cd, char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
/* Frees resources allocated for conversion descriptor ‘cd’. */
#ifndef LIBICONV_PLUG
#define iconv_close libiconv_close
#endif
extern int iconv_close (iconv_t cd);
#ifdef __cplusplus
}
#endif
#ifndef LIBICONV_PLUG
/* Nonstandard extensions. */
#if 1
#if 0
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
included before <wchar.h>. */
#include <stddef.h>
#include <stdio.h>
#include <time.h>
#endif
#include <wchar.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* A type that holds all memory needed by a conversion descriptor.
A pointer to such an object can be used as an iconv_t. */
typedef struct {
void* dummy1[28];
#if 1
mbstate_t dummy2;
#endif
} iconv_allocation_t;
/* Allocates descriptor for code conversion from encoding ‘fromcode’ to
encoding ‘tocode’ into preallocated memory. Returns an error indicator
(0 or -1 with errno set). */
#define iconv_open_into libiconv_open_into
extern int iconv_open_into (const char* tocode, const char* fromcode,
iconv_allocation_t* resultp);
/* Control of attributes. */
#define iconvctl libiconvctl
extern int iconvctl (iconv_t cd, int request, void* argument);
/* Hook performed after every successful conversion of a Unicode character. */
typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data);
/* Hook performed after every successful conversion of a wide character. */
typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data);
/* Set of hooks. */
struct iconv_hooks {
iconv_unicode_char_hook uc_hook;
iconv_wide_char_hook wc_hook;
void* data;
};
/* Fallback function. Invoked when a small number of bytes could not be
converted to a Unicode character. This function should process all
bytes from inbuf and may produce replacement Unicode characters by calling
the write_replacement callback repeatedly. */
typedef void (*iconv_unicode_mb_to_uc_fallback)
(const char* inbuf, size_t inbufsize,
void (*write_replacement) (const unsigned int *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
/* Fallback function. Invoked when a Unicode character could not be converted
to the target encoding. This function should process the character and
may produce replacement bytes (in the target encoding) by calling the
write_replacement callback repeatedly. */
typedef void (*iconv_unicode_uc_to_mb_fallback)
(unsigned int code,
void (*write_replacement) (const char *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
#if 1
/* Fallback function. Invoked when a number of bytes could not be converted to
a wide character. This function should process all bytes from inbuf and may
produce replacement wide characters by calling the write_replacement
callback repeatedly. */
typedef void (*iconv_wchar_mb_to_wc_fallback)
(const char* inbuf, size_t inbufsize,
void (*write_replacement) (const wchar_t *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
/* Fallback function. Invoked when a wide character could not be converted to
the target encoding. This function should process the character and may
produce replacement bytes (in the target encoding) by calling the
write_replacement callback repeatedly. */
typedef void (*iconv_wchar_wc_to_mb_fallback)
(wchar_t code,
void (*write_replacement) (const char *buf, size_t buflen,
void* callback_arg),
void* callback_arg,
void* data);
#else
/* If the wchar_t type does not exist, these two fallback functions are never
invoked. Their argument list therefore does not matter. */
typedef void (*iconv_wchar_mb_to_wc_fallback) ();
typedef void (*iconv_wchar_wc_to_mb_fallback) ();
#endif
/* Set of fallbacks. */
struct iconv_fallbacks {
iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback;
iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback;
iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback;
iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback;
void* data;
};
/* Requests for iconvctl. */
#define ICONV_TRIVIALP 0 /* int *argument */
#define ICONV_GET_TRANSLITERATE 1 /* int *argument */
#define ICONV_SET_TRANSLITERATE 2 /* const int *argument */
#define ICONV
没有合适的资源?快使用搜索试试~ 我知道了~
windows下libiconv-1.15的最新编译版本
共61个文件
mo:36个
html:6个
3:5个
4星 · 超过85%的资源 需积分: 42 66 下载量 17 浏览量
2017-03-16
17:23:14
上传
评论 1
收藏 822KB RAR 举报
温馨提示
windows下libiconv-1.15的最新编译版本,带头文件,dll和lib文件;
资源推荐
资源详情
资源评论
收起资源包目录
libiconv-1.15.rar (61个子文件)
libiconv-1.15
lib
libcharset.la 910B
libiconv.la 890B
libcharset.a 11KB
libcharset.dll.a 3KB
libiconv.dll.a 8KB
charset.alias 196B
share
locale
zh_CN
LC_MESSAGES
libiconv.mo 6KB
wa
LC_MESSAGES
libiconv.mo 7KB
tr
LC_MESSAGES
libiconv.mo 727B
nl
LC_MESSAGES
libiconv.mo 7KB
ca
LC_MESSAGES
libiconv.mo 733B
eo
LC_MESSAGES
libiconv.mo 7KB
de
LC_MESSAGES
libiconv.mo 7KB
da
LC_MESSAGES
libiconv.mo 6KB
sk
LC_MESSAGES
libiconv.mo 7KB
gl
LC_MESSAGES
libiconv.mo 6KB
uk
LC_MESSAGES
libiconv.mo 9KB
sv
LC_MESSAGES
libiconv.mo 6KB
sr
LC_MESSAGES
libiconv.mo 8KB
zh_TW
LC_MESSAGES
libiconv.mo 6KB
fr
LC_MESSAGES
libiconv.mo 7KB
pl
LC_MESSAGES
libiconv.mo 7KB
es
LC_MESSAGES
libiconv.mo 7KB
cs
LC_MESSAGES
libiconv.mo 7KB
ro
LC_MESSAGES
libiconv.mo 733B
fi
LC_MESSAGES
libiconv.mo 6KB
it
LC_MESSAGES
libiconv.mo 7KB
sq
LC_MESSAGES
libiconv.mo 734B
sl
LC_MESSAGES
libiconv.mo 6KB
id
LC_MESSAGES
libiconv.mo 6KB
bg
LC_MESSAGES
libiconv.mo 9KB
et
LC_MESSAGES
libiconv.mo 7KB
el
LC_MESSAGES
libiconv.mo 752B
ga
LC_MESSAGES
libiconv.mo 7KB
hr
LC_MESSAGES
libiconv.mo 6KB
vi
LC_MESSAGES
libiconv.mo 7KB
ja
LC_MESSAGES
libiconv.mo 7KB
ru
LC_MESSAGES
libiconv.mo 703B
af
LC_MESSAGES
libiconv.mo 710B
pt_BR
LC_MESSAGES
libiconv.mo 7KB
rm
LC_MESSAGES
libiconv.mo 791B
hu
LC_MESSAGES
libiconv.mo 7KB
doc
iconv.1.html 6KB
iconv_close.3.html 2KB
iconvctl.3.html 4KB
iconv.3.html 6KB
iconv_open.3.html 8KB
iconv_open_into.3.html 3KB
man
man3
iconv_open.3 5KB
iconvctl.3 2KB
iconv_close.3 1KB
iconv.3 4KB
iconv_open_into.3 2KB
man1
iconv.1 4KB
bin
libiconv-2.lib 4KB
libiconv-2.dll 1.22MB
libcharset-1.dll 61KB
iconv.exe 162KB
include
iconv.h 9KB
localcharset.h 1KB
libcharset.h 1KB
共 61 条
- 1
资源评论
- 雨天8402018-03-20空的没有编译好的
- jamescodd2018-04-13下载下来试一下
- __Always2018-05-03兄弟,方便加下qq吗,我qq:1663899600
- baidu_280494912017-03-29所说东西都有
ddwolf1982
- 粉丝: 7
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 用户研究系列之Persona介绍(用户画像)
- Image_1715110604427.jpg
- mYzh..trashed-1716951334-.jpg
- Alibaba SpringCloud集成nacos实现配置中心
- 那些好的不像话的心流体验
- 基于pytorch的卷积神经网络识别是否为奥特曼的项目python源码+文档说明+数据集(课程设计)
- 基于卷积神经网络的图像风格迁移python源码+文档说明+界面图片(课程设计)
- 河北地质大学毕业设计-基于卷积神经网络的垃圾分类研究代码python源码+文档说明
- 菜鸟网络运营模式的浅析
- Alibaba SpringCloud集成nacos实现注册中心-源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功