#ifndef _XTRANS_H_
#define _XTRANS_H_
#include <X11/Xfuncproto.h>
#include <X11/Xos.h>
#ifndef WIN32
#include <sys/socket.h>
#endif
#ifdef X11_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _X11Trans##func
#else
#define TRANS(func) _X11Transfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_X11Trans";
#endif
#endif
#ifdef XSERV_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _XSERVTrans##func
#else
#define TRANS(func) _XSERVTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_XSERVTrans";
#endif
#define X11_t
#endif
#ifdef XIM_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _XimXTrans##func
#else
#define TRANS(func) _XimXTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_XimTrans";
#endif
#endif
#ifdef FS_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _FSTrans##func
#else
#define TRANS(func) _FSTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_FSTrans";
#endif
#endif
#ifdef FONT_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _FontTrans##func
#else
#define TRANS(func) _FontTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_FontTrans";
#endif
#endif
#ifdef ICE_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _IceTrans##func
#else
#define TRANS(func) _IceTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_IceTrans";
#endif
#endif
#ifdef TEST_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _TESTTrans##func
#else
#define TRANS(func) _TESTTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_TESTTrans";
#endif
#endif
#ifdef LBXPROXY_t
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _LBXPROXYTrans##func
#else
#define TRANS(func) _LBXPROXYTransfunc
#endif
#define X11_t
#ifdef XTRANSDEBUG
static char* __xtransname = "_LBXPROXYTrans";
#endif
#endif
#if !defined(TRANS)
#if !defined(UNIXCPP) || defined(ANSICPP)
#define TRANS(func) _XTrans##func
#else
#define TRANS(func) _XTransfunc
#endif
#ifdef XTRANSDEBUG
static char* __xtransname = "_XTrans";
#endif
#endif
#if defined(IPv6) && defined(AF_INET6)
typedef struct sockaddr_storage Xtransaddr;
#else
#define XTRANS_MAX_ADDR_LEN 128
typedef struct {
unsigned char addr[XTRANS_MAX_ADDR_LEN];
} Xtransaddr;
#endif
#ifdef LONG64
typedef int BytesReadable_t;
#else
typedef long BytesReadable_t;
#endif
#if defined(WIN32) || defined(USG)
struct iovec {
caddr_t iov_base;
int iov_len;
};
#else
#include <sys/uio.h>
#endif
typedef struct _XtransConnInfo *XtransConnInfo;
#define TRANS_NONBLOCKING 1
#define TRANS_CLOSEONEXEC 2
#define TRANS_CONNECT_FAILED -1
#define TRANS_TRY_CONNECT_AGAIN -2
#define TRANS_IN_PROGRESS -3
#define TRANS_CREATE_LISTENER_FAILED -1
#define TRANS_ADDR_IN_USE -2
#define TRANS_ACCEPT_BAD_MALLOC -1
#define TRANS_ACCEPT_FAILED -2
#define TRANS_ACCEPT_MISC_ERROR -3
#define TRANS_RESET_NOOP 1
#define TRANS_RESET_NEW_FD 2
#define TRANS_RESET_FAILURE 3
void TRANS(FreeConnInfo) (
XtransConnInfo
);
#ifdef TRANS_CLIENT
XtransConnInfo TRANS(OpenCOTSClient)(
char *
);
#endif
#ifdef TRANS_SERVER
XtransConnInfo TRANS(OpenCOTSServer)(
char *
);
#endif
#ifdef TRANS_CLIENT
XtransConnInfo TRANS(OpenCLTSClient)(
char *
);
#endif
#ifdef TRANS_SERVER
XtransConnInfo TRANS(OpenCLTSServer)(
char *
);
#endif
#ifdef TRANS_REOPEN
XtransConnInfo TRANS(ReopenCOTSServer)(
int,
int,
char *
);
XtransConnInfo TRANS(ReopenCLTSServer)(
int,
int,
char *
);
int TRANS(GetReopenInfo)(
XtransConnInfo,
int *,
int *,
char **
);
#endif
int TRANS(SetOption)(
XtransConnInfo,
int,
int
);
#ifdef TRANS_SERVER
int TRANS(CreateListener)(
XtransConnInfo,
char *,
unsigned int
);
int TRANS(NoListen) (
char*
);
int TRANS(ResetListener)(
XtransConnInfo
);
XtransConnInfo TRANS(Accept)(
XtransConnInfo,
int *
);
#endif
#ifdef TRANS_CLIENT
int TRANS(Connect)(
XtransConnInfo,
char *
);
#endif
int TRANS(BytesReadable)(
XtransConnInfo,
BytesReadable_t *
);
int TRANS(Read)(
XtransConnInfo,
char *,
int
);
int TRANS(Write)(
XtransConnInfo,
char *,
int
);
int TRANS(Readv)(
XtransConnInfo,
struct iovec *,
int
);
int TRANS(Writev)(
XtransConnInfo,
struct iovec *,
int
);
int TRANS(Disconnect)(
XtransConnInfo
);
int TRANS(Close)(
XtransConnInfo
);
int TRANS(CloseForCloning)(
XtransConnInfo
);
int TRANS(IsLocal)(
XtransConnInfo
);
int TRANS(GetMyAddr)(
XtransConnInfo,
int *,
int *,
Xtransaddr **
);
int TRANS(GetPeerAddr)(
XtransConnInfo,
int *,
int *,
Xtransaddr **
);
int TRANS(GetConnectionNumber)(
XtransConnInfo
);
#ifdef TRANS_SERVER
int TRANS(MakeAllCOTSServerListeners)(
char *,
int *,
int *,
XtransConnInfo **
);
int TRANS(MakeAllCLTSServerListeners)(
char *,
int *,
int *,
XtransConnInfo **
);
#endif
#ifdef X11_t
int TRANS(ConvertAddress)(
int *,
int *,
Xtransaddr **
);
#endif
#ifdef ICE_t
char *
TRANS(GetMyNetworkId)(
XtransConnInfo
);
char *
TRANS(GetPeerNetworkId)(
XtransConnInfo
);
#endif
int
TRANS(GetHostname) (
char * ,
int
);
#if defined(WIN32) && defined(TCPCONN)
int TRANS(WSAStartup)();
#endif
#endif