diff options
author | Patrick Monnerat <pm@datasphere.ch> | 2014-03-04 17:11:02 +0100 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2014-10-04 21:13:47 +0800 |
commit | 6e4d870336a3d892bf5833dc7685c11d64f1d008 (patch) | |
tree | dbe98fb8384d559a20f04cebce505a53e14e7688 /os400/wrappers.h | |
parent | 5621c81b49cf2c2eb7b110d862f4b52b916f82b2 (diff) | |
download | libxml2-6e4d870336a3d892bf5833dc7685c11d64f1d008.tar.gz |
OS400: UTF8<-->EBCDIC wrappers for system and external library calls
Diffstat (limited to 'os400/wrappers.h')
-rw-r--r-- | os400/wrappers.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/os400/wrappers.h b/os400/wrappers.h new file mode 100644 index 00000000..388ec8c2 --- /dev/null +++ b/os400/wrappers.h @@ -0,0 +1,70 @@ +/** +*** Replace system/C library calls by EBCDIC wrappers. +*** This is a layer inserted between libxml2 itself and the EBCDIC +*** environment. +*** +*** See Copyright for the status of this software. +*** +*** Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. +**/ + +#ifndef __WRAPPERS_H_ +#define __WRAPPERS_H_ + +/** +*** OS/400 specific defines. +**/ + +#define __cplusplus__strings__ + +/** +*** Force header inclusions before renaming procedures to UTF-8 wrappers. +**/ + +#include <sys/types.h> +#include <sys/socket.h> +#include <arpa/inet.h> +#include <netdb.h> + +#include "dlfcn.h" + + +/** +*** UTF-8 wrappers prototypes. +**/ + +extern int _lx_getaddrinfo(const char * node, const char * service, + const struct addrinfo * hints, struct addrinfo * * res); +extern const char * + _lx_inet_ntop(int af, + const void * src, char * dst, socklen_t size); +extern void * _lx_dlopen(const char * filename, int flag); +extern void * _lx_dlsym(void * handle, const char * symbol); +extern char * _lx_dlerror(void); + + +#ifdef HAVE_ZLIB_H + +#include <zlib.h> + +extern gzFile _lx_gzopen(const char * path, const char * mode); +extern gzFile _lx_gzdopen(int fd, const char * mode); + +#endif + + +/** +*** Rename data/procedures to UTF-8 wrappers. +**/ + +#define getaddrinfo _lx_getaddrinfo +#define inet_ntop _lx_inet_ntop +#define dlopen _lx_dlopen +#define dlsym _lx_dlsym +#define dlerror _lx_dlerror +#define gzopen _lx_gzopen +#define gzdopen _lx_gzdopen +#define inflateInit2_ _lx_inflateInit2_ +#define deflateInit2_ _lx_deflateInit2_ + +#endif |