1
2/* : : generated by proto : : */
3/* : : generated from contrib/ast/src/lib/libast/features/iconv by iffe version 2012-07-17 : : */
4
5#ifndef _def_iconv_ast
6#if !defined(__PROTO__)
7#  if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
8#    if defined(__cplusplus)
9#      define __LINKAGE__	"C"
10#    else
11#      define __LINKAGE__
12#    endif
13#    define __STDARG__
14#    define __PROTO__(x)	x
15#    define __OTORP__(x)
16#    define __PARAM__(n,o)	n
17#    if !defined(__STDC__) && !defined(__cplusplus)
18#      if !defined(c_plusplus)
19#      	define const
20#      endif
21#      define signed
22#      define void		int
23#      define volatile
24#      define __V_		char
25#    else
26#      define __V_		void
27#    endif
28#  else
29#    define __PROTO__(x)	()
30#    define __OTORP__(x)	x
31#    define __PARAM__(n,o)	o
32#    define __LINKAGE__
33#    define __V_		char
34#    define const
35#    define signed
36#    define void		int
37#    define volatile
38#  endif
39#  define __MANGLE__	__LINKAGE__
40#  if defined(__cplusplus) || defined(c_plusplus)
41#    define __VARARG__	...
42#  else
43#    define __VARARG__
44#  endif
45#  if defined(__STDARG__)
46#    define __VA_START__(p,a)	va_start(p,a)
47#  else
48#    define __VA_START__(p,a)	va_start(p)
49#  endif
50#  if !defined(__INLINE__)
51#    if defined(__cplusplus)
52#      define __INLINE__	extern __MANGLE__ inline
53#    else
54#      if defined(_WIN32) && !defined(__GNUC__)
55#      	define __INLINE__	__inline
56#      endif
57#    endif
58#  endif
59#endif
60#if !defined(__LINKAGE__)
61#define __LINKAGE__		/* 2004-08-11 transition */
62#endif
63
64#define _def_iconv_ast	1
65#define _sys_types	1	/* #include <sys/types.h> ok */
66#define _hdr_iconv	1	/* #include <iconv.h> ok */
67#define _lib_iconv_open	1	/* iconv_open() in default lib(s) */
68#define _lib_iconv_close	1	/* iconv_close() in default lib(s) */
69#define _lib_iconv	1	/* iconv() in default lib(s) */
70#define _nxt_iconv <../include/iconv.h>	/* include path for the native <iconv.h> */
71#define _nxt_iconv_str "../include/iconv.h"	/* include string for the native <iconv.h> */
72#include <ast_common.h>
73#include <ccode.h>
74#include <../include/iconv.h>	/* the native iconv.h */
75
76#define ICONV_VERSION		20110111L
77
78#define ICONV_FATAL		0x02
79#define ICONV_OMIT		0x04
80
81#define CC_ICONV		(-1)
82#define CC_UCS			(-2)
83#define CC_SCU			(-3)
84#define CC_UTF			(-4)
85#define CC_UME			(-5)
86
87#ifndef _ICONV_LIST_PRIVATE_
88#undef	iconv_t
89#define	iconv_t		_ast_iconv_t
90#undef	iconv_f
91#define	iconv_f		_ast_iconv_f
92#undef	iconv_list_t
93#define	iconv_list_t	_ast_iconv_list_t
94#undef	iconv_open
95#define iconv_open	_ast_iconv_open
96#undef	iconv
97#define	iconv		_ast_iconv
98#undef	iconv_close
99#define iconv_close	_ast_iconv_close
100#undef	iconv_list
101#define iconv_list	_ast_iconv_list
102#undef	iconv_move
103#define iconv_move	_ast_iconv_move
104#undef	iconv_name
105#define iconv_name	_ast_iconv_name
106#undef	iconv_write
107#define iconv_write	_ast_iconv_write
108#endif
109
110typedef int (*Iconv_error_f) __PROTO__((__V_*, __V_*, int, ...));
111
112typedef struct Iconv_disc_s
113{
114	uint32_t		version;
115	Iconv_error_f		errorf;
116	size_t			errors;
117	uint32_t		flags;
118	int			fill;
119} Iconv_disc_t;
120
121typedef Ccmap_t _ast_iconv_list_t;
122typedef __V_* _ast_iconv_t;
123typedef size_t (*_ast_iconv_f) __PROTO__((_ast_iconv_t, char**, size_t*, char**, size_t*));
124
125#define iconv_init(d,e)		(memset(d,0,sizeof(*(d))),(d)->version=ICONV_VERSION,(d)->errorf=(Iconv_error_f)(e),(d)->fill=(-1))
126
127#if _BLD_ast && defined(__EXPORT__)
128#undef __MANGLE__
129#define __MANGLE__ __LINKAGE__		__EXPORT__
130#endif
131
132extern __MANGLE__ _ast_iconv_t	_ast_iconv_open __PROTO__((const char*, const char*));
133extern __MANGLE__ size_t		_ast_iconv __PROTO__((_ast_iconv_t, char**, size_t*, char**, size_t*));
134extern __MANGLE__ int		_ast_iconv_close __PROTO__((_ast_iconv_t));
135extern __MANGLE__ _ast_iconv_list_t*	_ast_iconv_list __PROTO__((_ast_iconv_list_t*));
136extern __MANGLE__ int		_ast_iconv_name __PROTO__((const char*, char*, size_t));
137#if _SFIO_H
138extern __MANGLE__ ssize_t		_ast_iconv_move __PROTO__((_ast_iconv_t, Sfio_t*, Sfio_t*, size_t, Iconv_disc_t*));
139extern __MANGLE__ ssize_t		_ast_iconv_write __PROTO__((_ast_iconv_t, Sfio_t*, char**, size_t*, Iconv_disc_t*));
140#else
141#if _SFSTDIO_H
142extern __MANGLE__ ssize_t		_ast_iconv_move __PROTO__((_ast_iconv_t, FILE*, FILE*, size_t, Iconv_disc_t*));
143extern __MANGLE__ ssize_t		_ast_iconv_write __PROTO__((_ast_iconv_t, FILE*, char**, size_t*, Iconv_disc_t*));
144#endif
145#endif
146
147#undef __MANGLE__
148#define __MANGLE__ __LINKAGE__
149
150#endif
151