iconv revision 3e14f97f673e8a630f076077de35afdd43dc1587
36a048753a41b465ae130b361fb3b68c605e3e86kiiralaset prototyped
36a048753a41b465ae130b361fb3b68c605e3e86kiiralahdr iconv
36a048753a41b465ae130b361fb3b68c605e3e86kiiralalib iconv_open,iconv_close,iconv iconv.h -liconv
36a048753a41b465ae130b361fb3b68c605e3e86kiiralanxt iconv
36a048753a41b465ae130b361fb3b68c605e3e86kiirala
36a048753a41b465ae130b361fb3b68c605e3e86kiiralatst output{
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #if !_lib_iconv_open
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #define _undef_hdr_iconv 1
f727367dddbf050f0a7d33757e9290f571cbd492kiirala #undef _hdr_iconv
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #endif
f727367dddbf050f0a7d33757e9290f571cbd492kiirala #if !_hdr_iconv
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #define _undef_lib_iconv_open 1
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #undef _lib_iconv_open
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #endif
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #if _hdr_iconv
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #include <sys/types.h>
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #include <iconv.h>
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #endif
36a048753a41b465ae130b361fb3b68c605e3e86kiirala
1eb1d82bb52720d1379a4ed8f78c0e700251956dkiirala int
1eb1d82bb52720d1379a4ed8f78c0e700251956dkiirala main()
1eb1d82bb52720d1379a4ed8f78c0e700251956dkiirala {
1eb1d82bb52720d1379a4ed8f78c0e700251956dkiirala char* lib;
1eb1d82bb52720d1379a4ed8f78c0e700251956dkiirala
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#include <ast_common.h>\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#include <ccode.h>\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #if _undef_hdr_iconv
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef _hdr_iconv\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #endif
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #if _undef_lib_iconv_open
66632b492f9cd54e5667fd4e1fca8e457f59b282bryce printf("#undef _lib_iconv_open\n");
66632b492f9cd54e5667fd4e1fca8e457f59b282bryce #endif
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #if _hdr_iconv && defined(_nxt_iconv_str)
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#include <%s> /* the native iconv.h */\n", _nxt_iconv_str);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #endif
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("\n");
f727367dddbf050f0a7d33757e9290f571cbd492kiirala printf("#define CC_ICONV (-1)\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define CC_UCS (-2)\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define CC_SCU (-3)\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define CC_UTF (-4)\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define CC_UME (-5)\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #if _lib_iconv_open
36a048753a41b465ae130b361fb3b68c605e3e86kiirala lib = "_ast_";
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#ifndef _ICONV_LIST_PRIVATE_\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_t\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_t %siconv_t\n", lib);
91934be261c16d036521379306a74b0991720e67joncruz printf("#undef iconv_f\n");
91934be261c16d036521379306a74b0991720e67joncruz printf("#define iconv_f %siconv_f\n", lib);
91934be261c16d036521379306a74b0991720e67joncruz printf("#undef iconv_list_t\n");
8c833a9abfd335f0305466ad7451c03c2f6b50ddhaa_rodrigues printf("#define iconv_list_t %siconv_list_t\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_open\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_open %siconv_open\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv\n");
e7a2b63dd05c88adcac422aedc11fed284640bedkiirala printf("#define iconv %siconv\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_close\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_close %siconv_close\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_list\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_list %siconv_list\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_move\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_move %siconv_move\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_name\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_name %siconv_name\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#undef iconv_write\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define iconv_write %siconv_write\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#endif\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #else
36a048753a41b465ae130b361fb3b68c605e3e86kiirala lib = "";
36a048753a41b465ae130b361fb3b68c605e3e86kiirala #endif
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("typedef Ccmap_t %siconv_list_t;\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("typedef void* %siconv_t;\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("typedef size_t (*%siconv_f)(%siconv_t, char**, size_t*, char**, size_t*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#if _BLD_ast && defined(__EXPORT__)\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#define extern __EXPORT__\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#endif\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern %siconv_t %siconv_open(const char*, const char*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern size_t %siconv(%siconv_t, char**, size_t*, char**, size_t*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern int %siconv_close(%siconv_t);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern %siconv_list_t* %siconv_list(%siconv_list_t*);\n", lib, lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern int %siconv_name(const char*, char*, size_t);\n", lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#if _SFIO_H\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern ssize_t %siconv_move(%siconv_t, Sfio_t*, Sfio_t*, size_t, size_t*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern ssize_t %siconv_write(%siconv_t, Sfio_t*, char**, size_t*, size_t*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#else\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#if _SFSTDIO_H\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern ssize_t %siconv_move(%siconv_t, FILE*, FILE*, size_t, size_t*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("extern ssize_t %siconv_write(%siconv_t, FILE*, char**, size_t*, size_t*);\n", lib, lib);
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#endif\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("#endif\n");
91934be261c16d036521379306a74b0991720e67joncruz printf("\n");
8c833a9abfd335f0305466ad7451c03c2f6b50ddhaa_rodrigues printf("#undef extern\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala printf("\n");
36a048753a41b465ae130b361fb3b68c605e3e86kiirala return 0;
36a048753a41b465ae130b361fb3b68c605e3e86kiirala }
36a048753a41b465ae130b361fb3b68c605e3e86kiirala}end
36a048753a41b465ae130b361fb3b68c605e3e86kiirala