os: xtrans: expand TRANS() macro to _XSERVTrans
Since TRANS() now will always expand the same, it's better for maintenance, having the function names written explicitly. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
8b3ab3586c
commit
5d0b9f4508
176
os/Xtrans.c
176
os/Xtrans.c
|
|
@ -90,25 +90,25 @@ from The Open Group.
|
|||
static
|
||||
Xtransport_table Xtransports[] = {
|
||||
#if defined(TCPCONN)
|
||||
{ &TRANS(SocketTCPFuncs), TRANS_SOCKET_TCP_INDEX },
|
||||
{ &_XSERVTransSocketTCPFuncs, TRANS_SOCKET_TCP_INDEX },
|
||||
#if defined(IPv6)
|
||||
{ &TRANS(SocketINET6Funcs), TRANS_SOCKET_INET6_INDEX },
|
||||
{ &_XSERVTransSocketINET6Funcs, TRANS_SOCKET_INET6_INDEX },
|
||||
#endif /* IPv6 */
|
||||
{ &TRANS(SocketINETFuncs), TRANS_SOCKET_INET_INDEX },
|
||||
{ &_XSERVTransSocketINETFuncs, TRANS_SOCKET_INET_INDEX },
|
||||
#endif /* TCPCONN */
|
||||
#if defined(UNIXCONN)
|
||||
#if !defined(LOCALCONN)
|
||||
{ &TRANS(SocketLocalFuncs), TRANS_SOCKET_LOCAL_INDEX },
|
||||
{ &_XSERVTransSocketLocalFuncs, TRANS_SOCKET_LOCAL_INDEX },
|
||||
#endif /* !LOCALCONN */
|
||||
{ &TRANS(SocketUNIXFuncs), TRANS_SOCKET_UNIX_INDEX },
|
||||
{ &_XSERVTransSocketUNIXFuncs, TRANS_SOCKET_UNIX_INDEX },
|
||||
#endif /* UNIXCONN */
|
||||
#if defined(LOCALCONN)
|
||||
{ &TRANS(LocalFuncs), TRANS_LOCAL_LOCAL_INDEX },
|
||||
{ &_XSERVTransLocalFuncs, TRANS_LOCAL_LOCAL_INDEX },
|
||||
#if defined(SVR4) || defined(__SVR4)
|
||||
{ &TRANS(NAMEDFuncs), TRANS_LOCAL_NAMED_INDEX },
|
||||
{ &_XSERVTransNAMEDFuncs, TRANS_LOCAL_NAMED_INDEX },
|
||||
#endif
|
||||
#ifdef __sun
|
||||
{ &TRANS(PIPEFuncs), TRANS_LOCAL_PIPE_INDEX },
|
||||
{ &_XSERVTransPIPEFuncs, TRANS_LOCAL_PIPE_INDEX },
|
||||
#endif /* __sun */
|
||||
#endif /* LOCALCONN */
|
||||
};
|
||||
|
|
@ -125,9 +125,7 @@ Xtransport_table Xtransports[] = {
|
|||
/*
|
||||
* These are a few utility function used by the public interface functions.
|
||||
*/
|
||||
|
||||
void
|
||||
TRANS(FreeConnInfo) (XtransConnInfo ciptr)
|
||||
void _XSERVTransFreeConnInfo (XtransConnInfo ciptr)
|
||||
|
||||
{
|
||||
prmsg (3,"FreeConnInfo(%p)\n", (void *) ciptr);
|
||||
|
|
@ -148,7 +146,7 @@ TRANS(FreeConnInfo) (XtransConnInfo ciptr)
|
|||
#define PROTOBUFSIZE 20
|
||||
|
||||
static Xtransport *
|
||||
TRANS(SelectTransport) (const char *protocol)
|
||||
_XSERVTransSelectTransport (const char *protocol)
|
||||
|
||||
{
|
||||
#ifndef HAVE_STRCASECMP
|
||||
|
|
@ -187,7 +185,7 @@ TRANS(SelectTransport) (const char *protocol)
|
|||
}
|
||||
|
||||
static int
|
||||
TRANS(ParseAddress) (const char *address,
|
||||
_XSERVTransParseAddress (const char *address,
|
||||
char **protocol, char **host, char **port)
|
||||
|
||||
{
|
||||
|
|
@ -314,7 +312,7 @@ TRANS(ParseAddress) (const char *address,
|
|||
_host_len = strlen(_host);
|
||||
if (_host_len == 0)
|
||||
{
|
||||
TRANS(GetHostname) (hostnamebuf, sizeof (hostnamebuf));
|
||||
_XSERVTransGetHostname (hostnamebuf, sizeof (hostnamebuf));
|
||||
_host = hostnamebuf;
|
||||
}
|
||||
#ifdef IPv6
|
||||
|
|
@ -389,13 +387,13 @@ done_parsing:
|
|||
|
||||
|
||||
/*
|
||||
* TRANS(Open) does all of the real work opening a connection. The only
|
||||
* _XSERVTransOpen does all of the real work opening a connection. The only
|
||||
* funny part about this is the type parameter which is used to decide which
|
||||
* type of open to perform.
|
||||
*/
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(Open) (int type, const char *address)
|
||||
_XSERVTransOpen (int type, const char *address)
|
||||
|
||||
{
|
||||
char *protocol = NULL, *host = NULL, *port = NULL;
|
||||
|
|
@ -405,7 +403,7 @@ TRANS(Open) (int type, const char *address)
|
|||
prmsg (2,"Open(%d,%s)\n", type, address);
|
||||
|
||||
#if defined(WIN32) && defined(TCPCONN)
|
||||
if (TRANS(WSAStartup)())
|
||||
if (_XSERVTransWSAStartup())
|
||||
{
|
||||
prmsg (1,"Open: WSAStartup failed\n");
|
||||
return NULL;
|
||||
|
|
@ -414,7 +412,7 @@ TRANS(Open) (int type, const char *address)
|
|||
|
||||
/* Parse the Address */
|
||||
|
||||
if (TRANS(ParseAddress) (address, &protocol, &host, &port) == 0)
|
||||
if (_XSERVTransParseAddress (address, &protocol, &host, &port) == 0)
|
||||
{
|
||||
prmsg (1,"Open: Unable to Parse address %s\n", address);
|
||||
return NULL;
|
||||
|
|
@ -422,7 +420,7 @@ TRANS(Open) (int type, const char *address)
|
|||
|
||||
/* Determine the transport type */
|
||||
|
||||
if ((thistrans = TRANS(SelectTransport) (protocol)) == NULL)
|
||||
if ((thistrans = _XSERVTransSelectTransport (protocol)) == NULL)
|
||||
{
|
||||
prmsg (1,"Open: Unable to find transport for %s\n",
|
||||
protocol);
|
||||
|
|
@ -460,7 +458,7 @@ TRANS(Open) (int type, const char *address)
|
|||
}
|
||||
|
||||
ciptr->transptr = thistrans;
|
||||
ciptr->port = port; /* We need this for TRANS(Reopen) */
|
||||
ciptr->port = port; /* We need this for _XSERVTransReopen */
|
||||
|
||||
free (protocol);
|
||||
free (host);
|
||||
|
|
@ -475,7 +473,7 @@ TRANS(Open) (int type, const char *address)
|
|||
*/
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(Reopen) (int type, int trans_id, int fd, const char *port)
|
||||
_XSERVTransReopen (int type, int trans_id, int fd, const char *port)
|
||||
|
||||
{
|
||||
XtransConnInfo ciptr = NULL;
|
||||
|
|
@ -541,23 +539,22 @@ TRANS(Reopen) (int type, int trans_id, int fd, const char *port)
|
|||
*/
|
||||
|
||||
XtransConnInfo
|
||||
TRANS(OpenCOTSServer) (const char *address)
|
||||
_XSERVTransOpenCOTSServer (const char *address)
|
||||
|
||||
{
|
||||
prmsg (2,"OpenCOTSServer(%s)\n", address);
|
||||
return TRANS(Open) (XTRANS_OPEN_COTS_SERVER, address);
|
||||
return _XSERVTransOpen (XTRANS_OPEN_COTS_SERVER, address);
|
||||
}
|
||||
|
||||
XtransConnInfo
|
||||
TRANS(ReopenCOTSServer) (int trans_id, int fd, const char *port)
|
||||
_XSERVTransReopenCOTSServer (int trans_id, int fd, const char *port)
|
||||
|
||||
{
|
||||
prmsg (2,"ReopenCOTSServer(%d, %d, %s)\n", trans_id, fd, port);
|
||||
return TRANS(Reopen) (XTRANS_OPEN_COTS_SERVER, trans_id, fd, port);
|
||||
return _XSERVTransReopen (XTRANS_OPEN_COTS_SERVER, trans_id, fd, port);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg)
|
||||
int _XSERVTransSetOption (XtransConnInfo ciptr, int option, int arg)
|
||||
|
||||
{
|
||||
int fd = ciptr->fd;
|
||||
|
|
@ -605,7 +602,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg)
|
|||
int arg;
|
||||
#endif
|
||||
arg = 1;
|
||||
/* IBM TCP/IP understands this option too well: it causes TRANS(Read) to fail
|
||||
/* IBM TCP/IP understands this option too well: it causes _XSERVTransRead to fail
|
||||
* eventually with EWOULDBLOCK */
|
||||
ret = ioctl (fd, FIONBIO, &arg);
|
||||
}
|
||||
|
|
@ -639,21 +636,19 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(CreateListener) (XtransConnInfo ciptr, const char *port, unsigned int flags)
|
||||
int _XSERVTransCreateListener (XtransConnInfo ciptr, const char *port, unsigned int flags)
|
||||
{
|
||||
return ciptr->transptr->CreateListener (ciptr, port, flags);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Received) (const char * protocol)
|
||||
int _XSERVTransReceived (const char * protocol)
|
||||
{
|
||||
Xtransport *trans;
|
||||
int i = 0, ret = 0;
|
||||
|
||||
prmsg (5, "Received(%s)\n", protocol);
|
||||
|
||||
if ((trans = TRANS(SelectTransport)(protocol)) == NULL)
|
||||
if ((trans = _XSERVTransSelectTransport(protocol)) == NULL)
|
||||
{
|
||||
prmsg (1,"Received: unable to find transport: %s\n",
|
||||
protocol);
|
||||
|
|
@ -663,7 +658,7 @@ TRANS(Received) (const char * protocol)
|
|||
if (trans->flags & TRANS_ALIAS) {
|
||||
if (trans->nolisten)
|
||||
while (trans->nolisten[i]) {
|
||||
ret |= TRANS(Received)(trans->nolisten[i]);
|
||||
ret |= _XSERVTransReceived(trans->nolisten[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
|
@ -672,13 +667,12 @@ TRANS(Received) (const char * protocol)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(NoListen) (const char * protocol)
|
||||
int _XSERVTransNoListen (const char * protocol)
|
||||
{
|
||||
Xtransport *trans;
|
||||
int i = 0, ret = 0;
|
||||
|
||||
if ((trans = TRANS(SelectTransport)(protocol)) == NULL)
|
||||
if ((trans = _XSERVTransSelectTransport(protocol)) == NULL)
|
||||
{
|
||||
prmsg (1,"TransNoListen: unable to find transport: %s\n",
|
||||
protocol);
|
||||
|
|
@ -688,7 +682,7 @@ TRANS(NoListen) (const char * protocol)
|
|||
if (trans->flags & TRANS_ALIAS) {
|
||||
if (trans->nolisten)
|
||||
while (trans->nolisten[i]) {
|
||||
ret |= TRANS(NoListen)(trans->nolisten[i]);
|
||||
ret |= _XSERVTransNoListen(trans->nolisten[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
|
@ -697,13 +691,12 @@ TRANS(NoListen) (const char * protocol)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Listen) (const char * protocol)
|
||||
int _XSERVTransListen (const char * protocol)
|
||||
{
|
||||
Xtransport *trans;
|
||||
int i = 0, ret = 0;
|
||||
|
||||
if ((trans = TRANS(SelectTransport)(protocol)) == NULL)
|
||||
if ((trans = _XSERVTransSelectTransport(protocol)) == NULL)
|
||||
{
|
||||
prmsg (1,"TransListen: unable to find transport: %s\n",
|
||||
protocol);
|
||||
|
|
@ -713,7 +706,7 @@ TRANS(Listen) (const char * protocol)
|
|||
if (trans->flags & TRANS_ALIAS) {
|
||||
if (trans->nolisten)
|
||||
while (trans->nolisten[i]) {
|
||||
ret |= TRANS(Listen)(trans->nolisten[i]);
|
||||
ret |= _XSERVTransListen(trans->nolisten[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
|
@ -722,12 +715,11 @@ TRANS(Listen) (const char * protocol)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(IsListening) (const char * protocol)
|
||||
int _XSERVTransIsListening (const char * protocol)
|
||||
{
|
||||
Xtransport *trans;
|
||||
|
||||
if ((trans = TRANS(SelectTransport)(protocol)) == NULL)
|
||||
if ((trans = _XSERVTransSelectTransport(protocol)) == NULL)
|
||||
{
|
||||
prmsg (1,"TransIsListening: unable to find transport: %s\n",
|
||||
protocol);
|
||||
|
|
@ -738,8 +730,7 @@ TRANS(IsListening) (const char * protocol)
|
|||
return !(trans->flags & TRANS_NOLISTEN);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(ResetListener) (XtransConnInfo ciptr)
|
||||
int _XSERVTransResetListener (XtransConnInfo ciptr)
|
||||
{
|
||||
if (ciptr->transptr->ResetListener)
|
||||
return ciptr->transptr->ResetListener (ciptr);
|
||||
|
|
@ -747,8 +738,7 @@ TRANS(ResetListener) (XtransConnInfo ciptr)
|
|||
return TRANS_RESET_NOOP;
|
||||
}
|
||||
|
||||
XtransConnInfo
|
||||
TRANS(Accept) (XtransConnInfo ciptr, int *status)
|
||||
XtransConnInfo _XSERVTransAccept (XtransConnInfo ciptr, int *status)
|
||||
{
|
||||
XtransConnInfo newciptr;
|
||||
|
||||
|
|
@ -762,65 +752,49 @@ TRANS(Accept) (XtransConnInfo ciptr, int *status)
|
|||
return newciptr;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(BytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend)
|
||||
|
||||
int _XSERVTransBytesReadable (XtransConnInfo ciptr, BytesReadable_t *pend)
|
||||
{
|
||||
return ciptr->transptr->BytesReadable (ciptr, pend);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Read) (XtransConnInfo ciptr, char *buf, int size)
|
||||
|
||||
int _XSERVTransRead (XtransConnInfo ciptr, char *buf, int size)
|
||||
{
|
||||
return ciptr->transptr->Read (ciptr, buf, size);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Write) (XtransConnInfo ciptr, const char *buf, int size)
|
||||
|
||||
int _XSERVTransWrite (XtransConnInfo ciptr, const char *buf, int size)
|
||||
{
|
||||
return ciptr->transptr->Write (ciptr, buf, size);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Readv) (XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
|
||||
int _XSERVTransReadv (XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
{
|
||||
return ciptr->transptr->Readv (ciptr, buf, size);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Writev) (XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
|
||||
int _XSERVTransWritev (XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
{
|
||||
return ciptr->transptr->Writev (ciptr, buf, size);
|
||||
}
|
||||
|
||||
#if XTRANS_SEND_FDS
|
||||
int
|
||||
TRANS(SendFd) (XtransConnInfo ciptr, int fd, int do_close)
|
||||
int _XSERVTransSendFd (XtransConnInfo ciptr, int fd, int do_close)
|
||||
{
|
||||
return ciptr->transptr->SendFd(ciptr, fd, do_close);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(RecvFd) (XtransConnInfo ciptr)
|
||||
int _XSERVTransRecvFd (XtransConnInfo ciptr)
|
||||
{
|
||||
return ciptr->transptr->RecvFd(ciptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
TRANS(Disconnect) (XtransConnInfo ciptr)
|
||||
|
||||
int _XSERVTransDisconnect (XtransConnInfo ciptr)
|
||||
{
|
||||
return ciptr->transptr->Disconnect (ciptr);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(Close) (XtransConnInfo ciptr)
|
||||
|
||||
int _XSERVTransClose (XtransConnInfo ciptr)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
|
@ -828,14 +802,12 @@ TRANS(Close) (XtransConnInfo ciptr)
|
|||
|
||||
ret = ciptr->transptr->Close (ciptr);
|
||||
|
||||
TRANS(FreeConnInfo) (ciptr);
|
||||
_XSERVTransFreeConnInfo (ciptr);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(CloseForCloning) (XtransConnInfo ciptr)
|
||||
|
||||
int _XSERVTransCloseForCloning (XtransConnInfo ciptr)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
|
@ -843,22 +815,18 @@ TRANS(CloseForCloning) (XtransConnInfo ciptr)
|
|||
|
||||
ret = ciptr->transptr->CloseForCloning (ciptr);
|
||||
|
||||
TRANS(FreeConnInfo) (ciptr);
|
||||
_XSERVTransFreeConnInfo (ciptr);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(IsLocal) (XtransConnInfo ciptr)
|
||||
|
||||
int _XSERVTransIsLocal (XtransConnInfo ciptr)
|
||||
{
|
||||
return (ciptr->family == AF_UNIX);
|
||||
}
|
||||
|
||||
int
|
||||
TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp,
|
||||
int _XSERVTransGetPeerAddr (XtransConnInfo ciptr, int *familyp, int *addrlenp,
|
||||
Xtransaddr **addrp)
|
||||
|
||||
{
|
||||
prmsg (2,"GetPeerAddr(%d)\n", ciptr->fd);
|
||||
|
||||
|
|
@ -875,10 +843,7 @@ TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp,
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
TRANS(GetConnectionNumber) (XtransConnInfo ciptr)
|
||||
|
||||
int _XSERVTransGetConnectionNumber (XtransConnInfo ciptr)
|
||||
{
|
||||
return ciptr->fd;
|
||||
}
|
||||
|
|
@ -971,7 +936,7 @@ receive_listening_fds(const char* port, XtransConnInfo* temp_ciptrs,
|
|||
return -1;
|
||||
}
|
||||
|
||||
ciptr = TRANS(ReopenCOTSServer)(ti, i + SD_LISTEN_FDS_START, port);
|
||||
ciptr = _XSERVTransReopenCOTSServer(ti, i + SD_LISTEN_FDS_START, port);
|
||||
if (!ciptr)
|
||||
{
|
||||
prmsg (1, "receive_listening_fds:"
|
||||
|
|
@ -982,7 +947,7 @@ receive_listening_fds(const char* port, XtransConnInfo* temp_ciptrs,
|
|||
prmsg (5, "receive_listening_fds: received listener for %s, %d\n",
|
||||
tn, ciptr->fd);
|
||||
temp_ciptrs[(*count_ret)++] = ciptr;
|
||||
TRANS(Received)(tn);
|
||||
_XSERVTransReceived(tn);
|
||||
}
|
||||
#endif /* HAVE_SYSTEMD_DAEMON */
|
||||
return 0;
|
||||
|
|
@ -992,10 +957,8 @@ receive_listening_fds(const char* port, XtransConnInfo* temp_ciptrs,
|
|||
extern int xquartz_launchd_fd;
|
||||
#endif
|
||||
|
||||
int
|
||||
TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
|
||||
int _XSERVTransMakeAllCOTSServerListeners (const char *port, int *partial,
|
||||
int *count_ret, XtransConnInfo **ciptrs_ret)
|
||||
|
||||
{
|
||||
char buffer[256]; /* ??? What size ?? */
|
||||
XtransConnInfo ciptr, temp_ciptrs[NUMTRANS] = { NULL };
|
||||
|
|
@ -1012,7 +975,7 @@ TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
|
|||
#ifdef XQUARTZ_EXPORTS_LAUNCHD_FD
|
||||
fprintf(stderr, "Launchd socket fd: %d\n", xquartz_launchd_fd);
|
||||
if(xquartz_launchd_fd != -1) {
|
||||
if((ciptr = TRANS(ReopenCOTSServer(TRANS_SOCKET_LOCAL_INDEX,
|
||||
if((ciptr = _XSERVTransReopenCOTSServer(TRANS_SOCKET_LOCAL_INDEX,
|
||||
xquartz_launchd_fd, getenv("DISPLAY"))))==NULL)
|
||||
fprintf(stderr,"Got NULL while trying to Reopen launchd port\n");
|
||||
else
|
||||
|
|
@ -1038,7 +1001,7 @@ TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
|
|||
prmsg (5,"MakeAllCOTSServerListeners: opening %s\n",
|
||||
buffer);
|
||||
|
||||
if ((ciptr = TRANS(OpenCOTSServer(buffer))) == NULL)
|
||||
if ((ciptr = _XSERVTransOpenCOTSServer(buffer)) == NULL)
|
||||
{
|
||||
if (trans->flags & TRANS_DISABLED)
|
||||
continue;
|
||||
|
|
@ -1054,7 +1017,7 @@ TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
|
|||
flags |= ADDR_IN_USE_ALLOWED;
|
||||
#endif
|
||||
|
||||
if ((status = TRANS(CreateListener (ciptr, port, flags))) < 0)
|
||||
if ((status = _XSERVTransCreateListener (ciptr, port, flags)) < 0)
|
||||
{
|
||||
if (*partial != 0)
|
||||
continue;
|
||||
|
|
@ -1072,7 +1035,7 @@ TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
|
|||
|
||||
for (j = 0; j < *count_ret; j++)
|
||||
if (temp_ciptrs[j] != NULL)
|
||||
TRANS(Close) (temp_ciptrs[j]);
|
||||
_XSERVTransClose (temp_ciptrs[j]);
|
||||
|
||||
*count_ret = 0;
|
||||
*ciptrs_ret = NULL;
|
||||
|
|
@ -1138,9 +1101,7 @@ TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
|
|||
/*
|
||||
* emulate readv
|
||||
*/
|
||||
|
||||
static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
||||
|
||||
static int _XSERVTransReadV (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
||||
{
|
||||
int i, len, total;
|
||||
char *base;
|
||||
|
|
@ -1151,7 +1112,7 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
|||
base = iov->iov_base;
|
||||
while (len > 0) {
|
||||
register int nbytes;
|
||||
nbytes = TRANS(Read) (ciptr, base, len);
|
||||
nbytes = _XSERVTransRead (ciptr, base, len);
|
||||
if (nbytes < 0 && total == 0) return -1;
|
||||
if (nbytes <= 0) return total;
|
||||
ESET(0);
|
||||
|
|
@ -1167,9 +1128,7 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
|||
/*
|
||||
* emulate writev
|
||||
*/
|
||||
|
||||
static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
||||
|
||||
static int _XSERVTransWriteV (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
||||
{
|
||||
int i, len, total;
|
||||
char *base;
|
||||
|
|
@ -1180,7 +1139,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
|||
base = iov->iov_base;
|
||||
while (len > 0) {
|
||||
register int nbytes;
|
||||
nbytes = TRANS(Write) (ciptr, base, len);
|
||||
nbytes = _XSERVTransWrite (ciptr, base, len);
|
||||
if (nbytes < 0 && total == 0) return -1;
|
||||
if (nbytes <= 0) return total;
|
||||
ESET(0);
|
||||
|
|
@ -1196,10 +1155,9 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
|
|||
|
||||
|
||||
/*
|
||||
* TRANS(GetHostname) - similar to gethostname but allows special processing.
|
||||
* _XSERVTransGetHostname - similar to gethostname but allows special processing.
|
||||
*/
|
||||
|
||||
int TRANS(GetHostname) (char *buf, int maxlen)
|
||||
int _XSERVTransGetHostname (char *buf, int maxlen)
|
||||
{
|
||||
struct utsname name;
|
||||
uname (&name);
|
||||
|
|
|
|||
60
os/Xtrans.h
60
os/Xtrans.h
|
|
@ -68,7 +68,6 @@ from The Open Group.
|
|||
* Set the functions names according to where this code is being compiled.
|
||||
*/
|
||||
|
||||
#define TRANS(func) _XSERVTrans##func
|
||||
#ifdef XTRANSDEBUG
|
||||
static const char *__xtransname = "_XSERVTrans";
|
||||
#endif
|
||||
|
|
@ -112,7 +111,7 @@ typedef long BytesReadable_t;
|
|||
#if defined(WIN32)
|
||||
|
||||
/*
|
||||
* TRANS(Readv) and TRANS(Writev) use struct iovec, normally found
|
||||
* _XSERVTransReadv and _XSERVTransWritev use struct iovec, normally found
|
||||
* in Berkeley systems in <sys/uio.h>. See the readv(2) and writev(2)
|
||||
* manual pages for details.
|
||||
*/
|
||||
|
|
@ -176,118 +175,118 @@ typedef struct _XtransConnInfo *XtransConnInfo;
|
|||
* Function prototypes for the exposed interface
|
||||
*/
|
||||
|
||||
void TRANS(FreeConnInfo) (
|
||||
void _XSERVTransFreeConnInfo (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
XtransConnInfo TRANS(OpenCOTSServer)(
|
||||
XtransConnInfo _XSERVTransOpenCOTSServer(
|
||||
const char * /* address */
|
||||
);
|
||||
|
||||
XtransConnInfo TRANS(ReopenCOTSServer)(
|
||||
XtransConnInfo _XSERVTransReopenCOTSServer(
|
||||
int, /* trans_id */
|
||||
int, /* fd */
|
||||
const char * /* port */
|
||||
);
|
||||
|
||||
int TRANS(SetOption)(
|
||||
int _XSERVTransSetOption(
|
||||
XtransConnInfo, /* ciptr */
|
||||
int, /* option */
|
||||
int /* arg */
|
||||
);
|
||||
|
||||
int TRANS(CreateListener)(
|
||||
int _XSERVTransCreateListener(
|
||||
XtransConnInfo, /* ciptr */
|
||||
const char *, /* port */
|
||||
unsigned int /* flags */
|
||||
);
|
||||
|
||||
int TRANS(Received) (
|
||||
int _XSERVTransReceived (
|
||||
const char* /* protocol*/
|
||||
);
|
||||
|
||||
int TRANS(NoListen) (
|
||||
int _XSERVTransNoListen (
|
||||
const char* /* protocol*/
|
||||
);
|
||||
|
||||
int TRANS(Listen) (
|
||||
int _XSERVTransListen (
|
||||
const char* /* protocol*/
|
||||
);
|
||||
|
||||
int TRANS(IsListening) (
|
||||
int _XSERVTransIsListening (
|
||||
const char* /* protocol*/
|
||||
);
|
||||
|
||||
int TRANS(ResetListener)(
|
||||
int _XSERVTransResetListener (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
XtransConnInfo TRANS(Accept)(
|
||||
XtransConnInfo _XSERVTransAccept (
|
||||
XtransConnInfo, /* ciptr */
|
||||
int * /* status */
|
||||
);
|
||||
|
||||
int TRANS(BytesReadable)(
|
||||
int _XSERVTransBytesReadable (
|
||||
XtransConnInfo, /* ciptr */
|
||||
BytesReadable_t * /* pend */
|
||||
);
|
||||
|
||||
int TRANS(Read)(
|
||||
int _XSERVTransRead (
|
||||
XtransConnInfo, /* ciptr */
|
||||
char *, /* buf */
|
||||
int /* size */
|
||||
);
|
||||
|
||||
int TRANS(Write)(
|
||||
int _XSERVTransWrite (
|
||||
XtransConnInfo, /* ciptr */
|
||||
const char *, /* buf */
|
||||
int /* size */
|
||||
);
|
||||
|
||||
int TRANS(Readv)(
|
||||
int _XSERVTransReadv (
|
||||
XtransConnInfo, /* ciptr */
|
||||
struct iovec *, /* buf */
|
||||
int /* size */
|
||||
);
|
||||
|
||||
int TRANS(Writev)(
|
||||
int _XSERVTransWritev (
|
||||
XtransConnInfo, /* ciptr */
|
||||
struct iovec *, /* buf */
|
||||
int /* size */
|
||||
);
|
||||
|
||||
int TRANS(SendFd) (XtransConnInfo ciptr, int fd, int do_close);
|
||||
int _XSERVTransSendFd (XtransConnInfo ciptr, int fd, int do_close);
|
||||
|
||||
int TRANS(RecvFd) (XtransConnInfo ciptr);
|
||||
int _XSERVTransRecvFd (XtransConnInfo ciptr);
|
||||
|
||||
int TRANS(Disconnect)(
|
||||
int _XSERVTransDisconnect (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
int TRANS(Close)(
|
||||
int _XSERVTransClose (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
int TRANS(CloseForCloning)(
|
||||
int _XSERVTransCloseForCloning (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
int TRANS(IsLocal)(
|
||||
int _XSERVTransIsLocal (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
int TRANS(GetPeerAddr)(
|
||||
int _XSERVTransGetPeerAddr (
|
||||
XtransConnInfo, /* ciptr */
|
||||
int *, /* familyp */
|
||||
int *, /* addrlenp */
|
||||
Xtransaddr ** /* addrp */
|
||||
);
|
||||
|
||||
int TRANS(GetConnectionNumber)(
|
||||
int _XSERVTransGetConnectionNumber (
|
||||
XtransConnInfo /* ciptr */
|
||||
);
|
||||
|
||||
int TRANS(MakeAllCOTSServerListeners)(
|
||||
int _XSERVTransMakeAllCOTSServerListeners (
|
||||
const char *, /* port */
|
||||
int *, /* partial */
|
||||
int *, /* count_ret */
|
||||
|
|
@ -298,20 +297,19 @@ int TRANS(MakeAllCOTSServerListeners)(
|
|||
* Function Prototypes for Utility Functions.
|
||||
*/
|
||||
|
||||
int TRANS(ConvertAddress)(
|
||||
int _XSERVTransConvertAddress (
|
||||
int *, /* familyp */
|
||||
int *, /* addrlenp */
|
||||
Xtransaddr ** /* addrp */
|
||||
);
|
||||
|
||||
int
|
||||
TRANS(GetHostname) (
|
||||
int _XSERVTransGetHostname (
|
||||
char * /* buf */,
|
||||
int /* maxlen */
|
||||
);
|
||||
|
||||
#if defined(WIN32) && defined(TCPCONN)
|
||||
int TRANS(WSAStartup)();
|
||||
int _XSERVTransWSAStartup();
|
||||
#endif
|
||||
|
||||
#endif /* _XTRANS_H_ */
|
||||
|
|
|
|||
|
|
@ -266,9 +266,9 @@ typedef struct _Xtransport_table {
|
|||
|
||||
#ifdef WIN32
|
||||
|
||||
#define READV(ciptr, iov, iovcnt) TRANS(ReadV)(ciptr, iov, iovcnt)
|
||||
#define READV(ciptr, iov, iovcnt) _XSERVTransReadV(ciptr, iov, iovcnt)
|
||||
|
||||
static int TRANS(ReadV)(
|
||||
static int _XSERVTransReadV(
|
||||
XtransConnInfo, /* ciptr */
|
||||
struct iovec *, /* iov */
|
||||
int /* iovcnt */
|
||||
|
|
@ -283,9 +283,9 @@ static int TRANS(ReadV)(
|
|||
|
||||
#ifdef WIN32
|
||||
|
||||
#define WRITEV(ciptr, iov, iovcnt) TRANS(WriteV)(ciptr, iov, iovcnt)
|
||||
#define WRITEV(ciptr, iov, iovcnt) _XSERVTransWriteV(ciptr, iov, iovcnt)
|
||||
|
||||
static int TRANS(WriteV)(
|
||||
static int _XSERVTransWriteV(
|
||||
XtransConnInfo, /* ciptr */
|
||||
struct iovec *, /* iov */
|
||||
int /* iovcnt */
|
||||
|
|
|
|||
308
os/Xtranslcl.c
308
os/Xtranslcl.c
|
|
@ -101,7 +101,7 @@ from The Open Group.
|
|||
# define LOCAL_TRANS_NAMED
|
||||
#endif
|
||||
|
||||
static int TRANS(LocalClose)(XtransConnInfo ciptr);
|
||||
static int _XSERVTransLocalClose(XtransConnInfo ciptr);
|
||||
|
||||
/*
|
||||
* These functions actually implement the local connection mechanisms.
|
||||
|
|
@ -109,42 +109,34 @@ static int TRANS(LocalClose)(XtransConnInfo ciptr);
|
|||
|
||||
/* Type Not Supported */
|
||||
|
||||
static int
|
||||
TRANS(OpenFail)(XtransConnInfo ciptr _X_UNUSED, const char *port _X_UNUSED)
|
||||
|
||||
static int _XSERVTransOpenFail(XtransConnInfo ciptr _X_UNUSED, const char *port _X_UNUSED)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(ReopenFail)(XtransConnInfo ciptr _X_UNUSED, int fd _X_UNUSED,
|
||||
static int ReopenFail(XtransConnInfo ciptr _X_UNUSED, int fd _X_UNUSED,
|
||||
const char *port _X_UNUSED)
|
||||
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if XTRANS_SEND_FDS
|
||||
static int
|
||||
TRANS(LocalRecvFdInvalid)(XtransConnInfo ciptr)
|
||||
static int _XSERVTransLocalRecvFdInvalid(XtransConnInfo ciptr)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalSendFdInvalid)(XtransConnInfo ciptr, int fd, int do_close)
|
||||
static int LocalSendFdInvalid(XtransConnInfo ciptr, int fd, int do_close)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static int
|
||||
TRANS(FillAddrInfo)(XtransConnInfo ciptr,
|
||||
const char *sun_path, const char *peer_sun_path)
|
||||
|
||||
static int _XSERVTransFillAddrInfo(XtransConnInfo ciptr,
|
||||
const char *sun_path, const char *peer_sun_path)
|
||||
{
|
||||
struct sockaddr_un *sunaddr;
|
||||
struct sockaddr_un *p_sunaddr;
|
||||
|
|
@ -210,8 +202,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr,
|
|||
|
||||
/* NAMED */
|
||||
|
||||
static int
|
||||
TRANS(NAMEDOpenPipe)(const char *server_path)
|
||||
static int _XSERVTransNAMEDOpenPipe(const char *server_path)
|
||||
{
|
||||
int fd, pipefd[2];
|
||||
struct stat sbuf;
|
||||
|
|
@ -270,8 +261,7 @@ TRANS(NAMEDOpenPipe)(const char *server_path)
|
|||
return(pipefd[1]);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, const char *port)
|
||||
static int NAMEDOpenServer(XtransConnInfo ciptr, const char *port)
|
||||
{
|
||||
int fd;
|
||||
char server_path[64];
|
||||
|
|
@ -290,7 +280,7 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, const char *port)
|
|||
NAMEDNODENAME, (long)getpid());
|
||||
}
|
||||
|
||||
fd = TRANS(NAMEDOpenPipe)(server_path);
|
||||
fd = _XSERVTransNAMEDOpenPipe(server_path);
|
||||
if (fd < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -299,18 +289,17 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, const char *port)
|
|||
* Everything looks good: fill in the XtransConnInfo structure.
|
||||
*/
|
||||
|
||||
if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0)
|
||||
if (_XSERVTransFillAddrInfo (ciptr, server_path, server_path) == 0)
|
||||
{
|
||||
prmsg(1,"NAMEDOpenServer: failed to fill in addr info\n");
|
||||
TRANS(LocalClose)(ciptr);
|
||||
_XSERVTransLocalClose(ciptr);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(NAMEDResetListener) (XtransConnInfo ciptr)
|
||||
static int NAMEDResetListener (XtransConnInfo ciptr)
|
||||
|
||||
{
|
||||
struct sockaddr_un *sockname=(struct sockaddr_un *) ciptr->addr;
|
||||
|
|
@ -326,8 +315,8 @@ TRANS(NAMEDResetListener) (XtransConnInfo ciptr)
|
|||
if (stat (sockname->sun_path, &statb) == -1 ||
|
||||
(statb.st_mode & S_IFMT) != S_IFIFO) {
|
||||
prmsg(3, "Pipe %s trashed, recreating\n", sockname->sun_path);
|
||||
TRANS(LocalClose)(ciptr);
|
||||
ciptr->fd = TRANS(NAMEDOpenPipe)(sockname->sun_path);
|
||||
_XSERVTransLocalClose(ciptr);
|
||||
ciptr->fd = _XSERVTransNAMEDOpenPipe(sockname->sun_path);
|
||||
if (ciptr->fd >= 0)
|
||||
return TRANS_RESET_NEW_FD;
|
||||
else
|
||||
|
|
@ -337,9 +326,8 @@ TRANS(NAMEDResetListener) (XtransConnInfo ciptr)
|
|||
return TRANS_RESET_NOOP;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status)
|
||||
|
||||
static int _XSERVTransNAMEDAccept(
|
||||
XtransConnInfo ciptr, XtransConnInfo newciptr, int *status)
|
||||
{
|
||||
struct strrecvfd str;
|
||||
|
||||
|
|
@ -387,9 +375,8 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status)
|
|||
|
||||
#ifdef LOCAL_TRANS_NAMED
|
||||
|
||||
static int
|
||||
TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd _X_UNUSED, const char *port)
|
||||
|
||||
static int _XSERVTransNAMEDReopenServer(
|
||||
XtransConnInfo ciptr, int fd _X_UNUSED, const char *port)
|
||||
{
|
||||
char server_path[64];
|
||||
|
||||
|
|
@ -407,7 +394,7 @@ TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd _X_UNUSED, const char *por
|
|||
NAMEDNODENAME, (long)getpid());
|
||||
}
|
||||
|
||||
if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0)
|
||||
if (_XSERVTransFillAddrInfo) (ciptr, server_path, server_path) == 0)
|
||||
{
|
||||
prmsg(1,"NAMEDReopenServer: failed to fill in addr info\n");
|
||||
return 0;
|
||||
|
|
@ -455,41 +442,42 @@ typedef struct _LOCALtrans2dev {
|
|||
} LOCALtrans2dev;
|
||||
|
||||
static LOCALtrans2dev LOCALtrans2devtab[] = {
|
||||
{"",
|
||||
TRANS(NAMEDOpenServer),
|
||||
TRANS(OpenFail),
|
||||
TRANS(NAMEDReopenServer),
|
||||
TRANS(ReopenFail),
|
||||
TRANS(NAMEDResetListener),
|
||||
TRANS(NAMEDAccept)
|
||||
{
|
||||
"",
|
||||
_XSERVTransNAMEDOpenServer,
|
||||
_XSERVTransOpenFail,
|
||||
_XSERVTransNAMEDReopenServer,
|
||||
_XSERVTransReopenFail,
|
||||
_XSERVTransNAMEDResetListener,
|
||||
_XSERVTransNAMEDAccept
|
||||
},
|
||||
|
||||
{"local",
|
||||
TRANS(NAMEDOpenServer),
|
||||
TRANS(OpenFail),
|
||||
TRANS(NAMEDReopenServer),
|
||||
TRANS(ReopenFail),
|
||||
TRANS(NAMEDResetListener),
|
||||
TRANS(NAMEDAccept)
|
||||
{
|
||||
"local",
|
||||
_XSERVTransNAMEDOpenServer,
|
||||
_XSERVTransOpenFail,
|
||||
_XSERVTransNAMEDReopenServer,
|
||||
_XSERVTransReopenFail,
|
||||
_XSERVTrans_NAMEDResetListener,
|
||||
_XSERVTransNAMEDAccept
|
||||
},
|
||||
|
||||
#ifdef LOCAL_TRANS_NAMED
|
||||
{"named",
|
||||
TRANS(NAMEDOpenServer),
|
||||
TRANS(OpenFail),
|
||||
TRANS(NAMEDReopenServer),
|
||||
TRANS(ReopenFail),
|
||||
TRANS(NAMEDResetListener),
|
||||
TRANS(NAMEDAccept)
|
||||
{
|
||||
"named",
|
||||
_XSERVTransNAMEDOpenServer,
|
||||
_XSERVTransOpenFail,
|
||||
_XSERVTransNAMEDReopenServer,
|
||||
_XSERVTransReopenFail,
|
||||
_XSERVTransNAMEDResetListener,
|
||||
_XSERVTransNAMEDAccept
|
||||
},
|
||||
|
||||
{"pipe",
|
||||
TRANS(NAMEDOpenServer),
|
||||
TRANS(OpenFail),
|
||||
TRANS(NAMEDReopenServer),
|
||||
TRANS(ReopenFail),
|
||||
TRANS(NAMEDResetListener),
|
||||
TRANS(NAMEDAccept)
|
||||
{
|
||||
"pipe",
|
||||
_XSERVTransNAMEDOpenServer,
|
||||
_XSERVTransOpenFail,
|
||||
_XSERVTransNAMEDReopenServer,
|
||||
_XSERVTransReopenFail,
|
||||
_XSERVTransNAMEDResetListener,
|
||||
_XSERVTransNAMEDAccept
|
||||
},
|
||||
#endif /* LOCAL_TRANS_NAMED */
|
||||
|
||||
|
|
@ -504,9 +492,7 @@ static char *freeXLOCAL=NULL;
|
|||
|
||||
#define DEF_XLOCAL "UNIX:NAMED"
|
||||
|
||||
static void
|
||||
TRANS(LocalInitTransports)(const char *protocol)
|
||||
|
||||
static void _XSERVTransLocalInitTransports(const char *protocol)
|
||||
{
|
||||
prmsg(3,"LocalInitTransports(%s)\n", protocol);
|
||||
|
||||
|
|
@ -522,9 +508,7 @@ TRANS(LocalInitTransports)(const char *protocol)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
TRANS(LocalEndTransports)(void)
|
||||
|
||||
static void _XSERVTransLocalEndTransports(void)
|
||||
{
|
||||
prmsg(3,"LocalEndTransports()\n");
|
||||
free(freeXLOCAL);
|
||||
|
|
@ -533,10 +517,9 @@ TRANS(LocalEndTransports)(void)
|
|||
|
||||
#define TYPEBUFSIZE 32
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(LocalOpenServer)(int type, const char *protocol,
|
||||
const char *host _X_UNUSED, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransLocalOpenServer(
|
||||
int type, const char *protocol,
|
||||
const char *host _X_UNUSED, const char *port)
|
||||
{
|
||||
XtransConnInfo ciptr;
|
||||
|
||||
|
|
@ -585,9 +568,8 @@ TRANS(LocalOpenServer)(int type, const char *protocol,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(LocalReopenServer)(int type, int index, int fd, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransLocalReopenServer(int type, int index,
|
||||
int fd, const char *port)
|
||||
{
|
||||
XtransConnInfo ciptr;
|
||||
int stat = 0;
|
||||
|
|
@ -628,10 +610,9 @@ TRANS(LocalReopenServer)(int type, int index, int fd, const char *port)
|
|||
* This is the Local implementation of the X Transport service layer
|
||||
*/
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, const char *protocol,
|
||||
const char *host, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransLocalOpenCOTSServer(
|
||||
Xtransport *thistrans, const char *protocol,
|
||||
const char *host, const char *port)
|
||||
{
|
||||
char *typetocheck = NULL;
|
||||
int found = 0;
|
||||
|
|
@ -639,7 +620,7 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, const char *protocol,
|
|||
prmsg(2,"LocalOpenCOTSServer(%s,%s,%s)\n",protocol,host,port);
|
||||
|
||||
/* Check if this local type is in the XLOCAL list */
|
||||
TRANS(LocalInitTransports)("local");
|
||||
_XSERVTransLocalInitTransports("local");
|
||||
typetocheck = workingXLOCAL;
|
||||
while (typetocheck && !found) {
|
||||
#ifndef HAVE_STRCASECMP
|
||||
|
|
@ -662,7 +643,7 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, const char *protocol,
|
|||
found = 1;
|
||||
typetocheck = workingXLOCAL;
|
||||
}
|
||||
TRANS(LocalEndTransports)();
|
||||
_XSERVTransLocalEndTransports();
|
||||
|
||||
if (!found) {
|
||||
prmsg(3,"LocalOpenCOTSServer: disabling %s\n",thistrans->TransName);
|
||||
|
|
@ -670,12 +651,11 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, const char *protocol,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
return TRANS(LocalOpenServer)(XTRANS_OPEN_COTS_SERVER, protocol, host, port);
|
||||
return _XSERVTransLocalOpenServer(XTRANS_OPEN_COTS_SERVER, protocol, host, port);
|
||||
}
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(LocalReopenCOTSServer)(Xtransport *thistrans, int fd, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransLocalReopenCOTSServer(
|
||||
Xtransport *thistrans, int fd, const char *port)
|
||||
{
|
||||
unsigned int index;
|
||||
|
||||
|
|
@ -693,32 +673,26 @@ TRANS(LocalReopenCOTSServer)(Xtransport *thistrans, int fd, const char *port)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
return TRANS(LocalReopenServer)(XTRANS_OPEN_COTS_SERVER,
|
||||
return _XSERVTransLocalReopenServer(XTRANS_OPEN_COTS_SERVER,
|
||||
index, fd, port);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalSetOption)(XtransConnInfo ciptr, int option, int arg)
|
||||
|
||||
static int _XSERVTransLocalSetOption(XtransConnInfo ciptr, int option, int arg)
|
||||
{
|
||||
prmsg(2,"LocalSetOption(%d,%d,%d)\n",ciptr->fd,option,arg);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalCreateListener)(XtransConnInfo ciptr, const char *port,
|
||||
unsigned int flags _X_UNUSED)
|
||||
|
||||
static int _XSERVTransLocalCreateListener(
|
||||
XtransConnInfo ciptr, const char *port, unsigned int flags _X_UNUSED)
|
||||
{
|
||||
prmsg(2,"LocalCreateListener(%p->%d,%s)\n", (void *) ciptr, ciptr->fd, port);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalResetListener)(XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransLocalResetListener(XtransConnInfo ciptr)
|
||||
{
|
||||
LOCALtrans2dev *transptr;
|
||||
|
||||
|
|
@ -732,9 +706,7 @@ TRANS(LocalResetListener)(XtransConnInfo ciptr)
|
|||
}
|
||||
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(LocalAccept)(XtransConnInfo ciptr, int *status)
|
||||
|
||||
static XtransConnInfo _XSERVTransLocalAccept(XtransConnInfo ciptr, int *status)
|
||||
{
|
||||
XtransConnInfo newciptr;
|
||||
LOCALtrans2dev *transptr;
|
||||
|
|
@ -767,9 +739,7 @@ TRANS(LocalAccept)(XtransConnInfo ciptr, int *status)
|
|||
return newciptr;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalBytesReadable)(XtransConnInfo ciptr, BytesReadable_t *pend )
|
||||
|
||||
static int _XSERVTransLocalBytesReadable(XtransConnInfo ciptr, BytesReadable_t *pend )
|
||||
{
|
||||
prmsg(2,"LocalBytesReadable(%p->%d,%p)\n",
|
||||
(void *) ciptr, ciptr->fd, (void *) pend);
|
||||
|
|
@ -777,54 +747,42 @@ TRANS(LocalBytesReadable)(XtransConnInfo ciptr, BytesReadable_t *pend )
|
|||
return ioctl(ciptr->fd, FIONREAD, (char *)pend);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalRead)(XtransConnInfo ciptr, char *buf, int size)
|
||||
|
||||
static int _XSERVTransLocalRead(XtransConnInfo ciptr, char *buf, int size)
|
||||
{
|
||||
prmsg(2,"LocalRead(%d,%p,%d)\n", ciptr->fd, (void *) buf, size );
|
||||
|
||||
return read(ciptr->fd,buf,size);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalWrite)(XtransConnInfo ciptr, const char *buf, int size)
|
||||
|
||||
static int _XSERVTransLocalWrite(XtransConnInfo ciptr, const char *buf, int size)
|
||||
{
|
||||
prmsg(2,"LocalWrite(%d,%p,%d)\n", ciptr->fd, (const void *) buf, size );
|
||||
|
||||
return write(ciptr->fd,buf,size);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalReadv)(XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
|
||||
static int _XSERVTransLocalReadv(XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
{
|
||||
prmsg(2,"LocalReadv(%d,%p,%d)\n", ciptr->fd, (void *) buf, size );
|
||||
|
||||
return READV(ciptr,buf,size);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalWritev)(XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
|
||||
static int _XSERVTransLocalWritev(XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
{
|
||||
prmsg(2,"LocalWritev(%d,%p,%d)\n", ciptr->fd, (const void *) buf, size );
|
||||
|
||||
return WRITEV(ciptr,buf,size);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalDisconnect)(XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransLocalDisconnect(XtransConnInfo ciptr)
|
||||
{
|
||||
prmsg(2,"LocalDisconnect(%p->%d)\n", (void *) ciptr, ciptr->fd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalClose)(XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransLocalClose(XtransConnInfo ciptr)
|
||||
{
|
||||
struct sockaddr_un *sockname=(struct sockaddr_un *) ciptr->addr;
|
||||
int ret;
|
||||
|
|
@ -845,9 +803,7 @@ TRANS(LocalClose)(XtransConnInfo ciptr)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(LocalCloseForCloning)(XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransLocalCloseForCloning(XtransConnInfo ciptr)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
|
@ -875,81 +831,81 @@ static const char * local_aliases[] = {
|
|||
"pipe", /* compatibility with Solaris Xlib */
|
||||
NULL };
|
||||
|
||||
static Xtransport TRANS(LocalFuncs) = {
|
||||
static Xtransport _XSERVTransLocalFuncs = {
|
||||
/* Local Interface */
|
||||
"local",
|
||||
TRANS_ALIAS | TRANS_LOCAL,
|
||||
local_aliases,
|
||||
TRANS(LocalOpenCOTSServer),
|
||||
TRANS(LocalReopenCOTSServer),
|
||||
TRANS(LocalSetOption),
|
||||
TRANS(LocalCreateListener),
|
||||
TRANS(LocalResetListener),
|
||||
TRANS(LocalAccept),
|
||||
TRANS(LocalBytesReadable),
|
||||
TRANS(LocalRead),
|
||||
TRANS(LocalWrite),
|
||||
TRANS(LocalReadv),
|
||||
TRANS(LocalWritev),
|
||||
_XSERVTransLocalOpenCOTSServer,
|
||||
_XSERVTransLocalReopenCOTSServer,
|
||||
_XSERVTransLocalSetOption,
|
||||
_XSERVTransLocalCreateListener,
|
||||
_XSERVTransLocalResetListener,
|
||||
_XSERVTransLocalAccept,
|
||||
_XSERVTransLocalBytesReadable,
|
||||
_XSERVTransLocalRead,
|
||||
_XSERVTransLocalWrite,
|
||||
_XSERVTransLocalReadv,
|
||||
_XSERVTransLocalWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(LocalSendFdInvalid),
|
||||
TRANS(LocalRecvFdInvalid),
|
||||
_XSERVTransLocalSendFdInvalid,
|
||||
_XSERVTransLocalRecvFdInvalid,
|
||||
#endif
|
||||
TRANS(LocalDisconnect),
|
||||
TRANS(LocalClose),
|
||||
TRANS(LocalCloseForCloning),
|
||||
_XSERVTransLocalDisconnect,
|
||||
_XSERVTransLocalClose,
|
||||
_XSERVTransLocalCloseForCloning,
|
||||
};
|
||||
|
||||
|
||||
#ifdef LOCAL_TRANS_NAMED
|
||||
|
||||
static Xtransport TRANS(NAMEDFuncs) = {
|
||||
static Xtransport _XSERVTransNAMEDFuncs = {
|
||||
/* Local Interface */
|
||||
"named",
|
||||
TRANS_LOCAL,
|
||||
NULL,
|
||||
TRANS(LocalOpenCOTSServer),
|
||||
TRANS(LocalReopenCOTSServer),
|
||||
TRANS(LocalSetOption),
|
||||
TRANS(LocalCreateListener),
|
||||
TRANS(LocalResetListener),
|
||||
TRANS(LocalAccept),
|
||||
TRANS(LocalBytesReadable),
|
||||
TRANS(LocalRead),
|
||||
TRANS(LocalWrite),
|
||||
TRANS(LocalReadv),
|
||||
TRANS(LocalWritev),
|
||||
_XSERVTransLocalOpenCOTSServer,
|
||||
_XSERVTransLocalReopenCOTSServer,
|
||||
_XSERVTransLocalSetOption,
|
||||
_XSERVTransLocalCreateListener,
|
||||
_XSERVTransLocalResetListener,
|
||||
_XSERVTransLocalAccept,
|
||||
_XSERVTransLocalBytesReadable,
|
||||
_XSERVTransLocalRead,
|
||||
_XSERVTransLocalWrite,
|
||||
_XSERVTransLocalReadv,
|
||||
_XSERVTransLocalWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(LocalSendFdInvalid),
|
||||
TRANS(LocalRecvFdInvalid),
|
||||
_XSERVTransLocalSendFdInvalid,
|
||||
_XSERVTransLocalRecvFdInvalid,
|
||||
#endif
|
||||
TRANS(LocalDisconnect),
|
||||
TRANS(LocalClose),
|
||||
TRANS(LocalCloseForCloning),
|
||||
_XSERVTransLocalDisconnect,
|
||||
_XSERVTransLocalClose,
|
||||
_XSERVTransLocalCloseForCloning,
|
||||
};
|
||||
|
||||
static Xtransport TRANS(PIPEFuncs) = {
|
||||
static Xtransport _XSERVTransPIPEFuncs = {
|
||||
/* Local Interface */
|
||||
"pipe",
|
||||
TRANS_ALIAS | TRANS_LOCAL,
|
||||
NULL,
|
||||
TRANS(LocalOpenCOTSServer),
|
||||
TRANS(LocalReopenCOTSServer),
|
||||
TRANS(LocalSetOption),
|
||||
TRANS(LocalCreateListener),
|
||||
TRANS(LocalResetListener),
|
||||
TRANS(LocalAccept),
|
||||
TRANS(LocalBytesReadable),
|
||||
TRANS(LocalRead),
|
||||
TRANS(LocalWrite),
|
||||
TRANS(LocalReadv),
|
||||
TRANS(LocalWritev),
|
||||
_XSERVTransLocalOpenCOTSServer,
|
||||
_XSERVTransLocalReopenCOTSServer,
|
||||
_XSERVTransLocalSetOption,
|
||||
_XSERVTransLocalCreateListener,
|
||||
_XSERVTransLocalResetListener,
|
||||
_XSERVTransLocalAccept,
|
||||
_XSERVTransLocalBytesReadable,
|
||||
_XSERVTransLocalRead,
|
||||
_XSERVTransLocalWrite,
|
||||
_XSERVTransLocalReadv,
|
||||
_XSERVTransLocalWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(LocalSendFdInvalid),
|
||||
TRANS(LocalRecvFdInvalid),
|
||||
_XSERVTransLocalSendFdInvalid,
|
||||
_XSERVTransLocalRecvFdInvalid,
|
||||
#endif
|
||||
TRANS(LocalDisconnect),
|
||||
TRANS(LocalClose),
|
||||
TRANS(LocalCloseForCloning),
|
||||
_XSERVTransLocalDisconnect,
|
||||
_XSERVTransLocalClose,
|
||||
_XSERVTransLocalCloseForCloning,
|
||||
};
|
||||
#endif /* LOCAL_TRANS_NAMED */
|
||||
|
|
|
|||
329
os/Xtranssock.c
329
os/Xtranssock.c
|
|
@ -208,7 +208,7 @@ static Sockettrans2dev Sockettrans2devtab[] = {
|
|||
#define NUMSOCKETFAMILIES (sizeof(Sockettrans2devtab)/sizeof(Sockettrans2dev))
|
||||
|
||||
#ifdef TCPCONN
|
||||
static int TRANS(SocketINETClose) (XtransConnInfo ciptr);
|
||||
static int _XSERVTransSocketINETClose (XtransConnInfo ciptr);
|
||||
#endif
|
||||
|
||||
static int
|
||||
|
|
@ -249,9 +249,7 @@ is_numeric (const char *str)
|
|||
* These are some utility function used by the real interface function below.
|
||||
*/
|
||||
|
||||
static int
|
||||
TRANS(SocketSelectFamily) (int first, const char *family)
|
||||
|
||||
static int _XSERVTransSocketSelectFamily (int first, const char *family)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -272,9 +270,7 @@ TRANS(SocketSelectFamily) (int first, const char *family)
|
|||
* XtransConnInfo structure for the connection.
|
||||
*/
|
||||
|
||||
static int
|
||||
TRANS(SocketINETGetAddr) (XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransSocketINETGetAddr (XtransConnInfo ciptr)
|
||||
{
|
||||
#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
|
||||
struct sockaddr_storage sockname;
|
||||
|
|
@ -323,9 +319,7 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr)
|
|||
* XtransConnInfo structure for the connection.
|
||||
*/
|
||||
|
||||
static int
|
||||
TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransSocketINETGetPeerAddr (XtransConnInfo ciptr)
|
||||
{
|
||||
#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
|
||||
struct sockaddr_storage sockname;
|
||||
|
|
@ -368,9 +362,7 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr)
|
|||
}
|
||||
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(SocketOpen) (int i, int type)
|
||||
|
||||
static XtransConnInfo _XSERVTransSocketOpen (int i, int type)
|
||||
{
|
||||
XtransConnInfo ciptr;
|
||||
|
||||
|
|
@ -449,9 +441,8 @@ TRANS(SocketOpen) (int i, int type)
|
|||
return ciptr;
|
||||
}
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(SocketReopen) (int i _X_UNUSED, int type, int fd, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransSocketReopen (
|
||||
int i _X_UNUSED, int type, int fd, const char *port)
|
||||
{
|
||||
XtransConnInfo ciptr;
|
||||
int portlen;
|
||||
|
|
@ -533,10 +524,8 @@ TRANS(SocketReopen) (int i _X_UNUSED, int type, int fd, const char *port)
|
|||
* These functions are the interface supplied in the Xtransport structure
|
||||
*/
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, const char *protocol,
|
||||
const char *host, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransSocketOpenCOTSServer (
|
||||
Xtransport *thistrans, const char *protocol, const char *host, const char *port)
|
||||
{
|
||||
XtransConnInfo ciptr = NULL;
|
||||
int i = -1;
|
||||
|
|
@ -545,8 +534,8 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, const char *protocol,
|
|||
|
||||
SocketInitOnce();
|
||||
|
||||
while ((i = TRANS(SocketSelectFamily) (i, thistrans->TransName)) >= 0) {
|
||||
if ((ciptr = TRANS(SocketOpen) (
|
||||
while ((i = _XSERVTransSocketSelectFamily (i, thistrans->TransName)) >= 0) {
|
||||
if ((ciptr = _XSERVTransSocketOpen (
|
||||
i, Sockettrans2devtab[i].devcotsname)) != NULL)
|
||||
break;
|
||||
}
|
||||
|
|
@ -602,9 +591,8 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, const char *protocol,
|
|||
return ciptr;
|
||||
}
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, const char *port)
|
||||
|
||||
static XtransConnInfo _XSERVTransSocketReopenCOTSServer (
|
||||
Xtransport *thistrans, int fd, const char *port)
|
||||
{
|
||||
XtransConnInfo ciptr;
|
||||
int i = -1;
|
||||
|
|
@ -614,8 +602,8 @@ TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, const char *port)
|
|||
|
||||
SocketInitOnce();
|
||||
|
||||
while ((i = TRANS(SocketSelectFamily) (i, thistrans->TransName)) >= 0) {
|
||||
if ((ciptr = TRANS(SocketReopen) (
|
||||
while ((i = _XSERVTransSocketSelectFamily (i, thistrans->TransName)) >= 0) {
|
||||
if ((ciptr = _XSERVTransSocketReopen (
|
||||
i, Sockettrans2devtab[i].devcotsname, fd, port)) != NULL)
|
||||
break;
|
||||
}
|
||||
|
|
@ -636,12 +624,9 @@ TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, const char *port)
|
|||
return ciptr;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketSetOption) (XtransConnInfo ciptr, int option, int arg)
|
||||
|
||||
static int _XSERVTransSocketSetOption (XtransConnInfo ciptr, int option, int arg)
|
||||
{
|
||||
prmsg (2,"SocketSetOption(%d,%d,%d)\n", ciptr->fd, option, arg);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -673,11 +658,9 @@ set_sun_path(const char *port, const char *upath, char *path, int abstract)
|
|||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
TRANS(SocketCreateListener) (XtransConnInfo ciptr,
|
||||
static int _XSERVTransSocketCreateListener (XtransConnInfo ciptr,
|
||||
struct sockaddr *sockname,
|
||||
int socknamelen, unsigned int flags)
|
||||
|
||||
{
|
||||
SOCKLEN_T namelen = socknamelen;
|
||||
int fd = ciptr->fd;
|
||||
|
|
@ -748,10 +731,8 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr,
|
|||
}
|
||||
|
||||
#ifdef TCPCONN
|
||||
static int
|
||||
TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, const char *port,
|
||||
unsigned int flags)
|
||||
|
||||
static int _XSERVTransSocketINETCreateListener (
|
||||
XtransConnInfo ciptr, const char *port, unsigned int flags)
|
||||
{
|
||||
#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
|
||||
struct sockaddr_storage sockname;
|
||||
|
|
@ -848,7 +829,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, const char *port,
|
|||
#endif
|
||||
}
|
||||
|
||||
if ((status = TRANS(SocketCreateListener) (ciptr,
|
||||
if ((status = _XSERVTransSocketCreateListener (ciptr,
|
||||
(struct sockaddr *) &sockname, namelen, flags)) < 0)
|
||||
{
|
||||
prmsg (1,
|
||||
|
|
@ -856,7 +837,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, const char *port,
|
|||
return status;
|
||||
}
|
||||
|
||||
if (TRANS(SocketINETGetAddr) (ciptr) < 0)
|
||||
if (_XSERVTransSocketINETGetAddr (ciptr) < 0)
|
||||
{
|
||||
prmsg (1,
|
||||
"SocketINETCreateListener: ...SocketINETGetAddr() failed\n");
|
||||
|
|
@ -871,10 +852,8 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, const char *port,
|
|||
|
||||
#ifdef UNIXCONN
|
||||
|
||||
static int
|
||||
TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port,
|
||||
unsigned int flags)
|
||||
|
||||
static int _XSERVTransSocketUNIXCreateListener (
|
||||
XtransConnInfo ciptr, const char *port, unsigned int flags)
|
||||
{
|
||||
struct sockaddr_un sockname;
|
||||
int namelen;
|
||||
|
|
@ -938,7 +917,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port,
|
|||
else
|
||||
unlink (sockname.sun_path);
|
||||
|
||||
if ((status = TRANS(SocketCreateListener) (ciptr,
|
||||
if ((status = _XSERVTransSocketCreateListener (ciptr,
|
||||
(struct sockaddr *) &sockname, namelen, flags)) < 0)
|
||||
{
|
||||
prmsg (1,
|
||||
|
|
@ -951,7 +930,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port,
|
|||
* Now that the listener is esablished, create the addr info for
|
||||
* this connection. getpeername() doesn't work for UNIX Domain Sockets
|
||||
* on some systems (hpux at least), so we will just do it manually, instead
|
||||
* of calling something like TRANS(SocketUNIXGetAddr).
|
||||
* of calling something like _XSERVTransSocketUNIXGetAddr.
|
||||
*/
|
||||
|
||||
namelen = sizeof (sockname); /* this will always make it the same size */
|
||||
|
|
@ -977,9 +956,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port,
|
|||
}
|
||||
|
||||
|
||||
static int
|
||||
TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransSocketUNIXResetListener (XtransConnInfo ciptr)
|
||||
{
|
||||
/*
|
||||
* See if the unix domain socket has disappeared. If it has, recreate it.
|
||||
|
|
@ -1027,7 +1004,7 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr)
|
|||
|
||||
if ((ciptr->fd = socket (AF_UNIX, SOCK_STREAM, 0)) < 0)
|
||||
{
|
||||
TRANS(FreeConnInfo) (ciptr);
|
||||
_XSERVTransFreeConnInfo (ciptr);
|
||||
(void) umask (oldUmask);
|
||||
return TRANS_RESET_FAILURE;
|
||||
}
|
||||
|
|
@ -1035,14 +1012,14 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr)
|
|||
if (bind (ciptr->fd, (struct sockaddr *) unsock, ciptr->addrlen) < 0)
|
||||
{
|
||||
close (ciptr->fd);
|
||||
TRANS(FreeConnInfo) (ciptr);
|
||||
_XSERVTransFreeConnInfo (ciptr);
|
||||
return TRANS_RESET_FAILURE;
|
||||
}
|
||||
|
||||
if (listen (ciptr->fd, BACKLOG) < 0)
|
||||
{
|
||||
close (ciptr->fd);
|
||||
TRANS(FreeConnInfo) (ciptr);
|
||||
_XSERVTransFreeConnInfo (ciptr);
|
||||
(void) umask (oldUmask);
|
||||
return TRANS_RESET_FAILURE;
|
||||
}
|
||||
|
|
@ -1060,9 +1037,8 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr)
|
|||
|
||||
#ifdef TCPCONN
|
||||
|
||||
static XtransConnInfo
|
||||
TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status)
|
||||
|
||||
static XtransConnInfo _XSERVTransSocketINETAccept (
|
||||
XtransConnInfo ciptr, int *status)
|
||||
{
|
||||
XtransConnInfo newciptr;
|
||||
struct sockaddr_in sockname;
|
||||
|
|
@ -1106,7 +1082,7 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status)
|
|||
* specific address now that a connection is established.
|
||||
*/
|
||||
|
||||
if (TRANS(SocketINETGetAddr) (newciptr) < 0)
|
||||
if (_XSERVTransSocketINETGetAddr (newciptr) < 0)
|
||||
{
|
||||
prmsg (1,
|
||||
"SocketINETAccept: ...SocketINETGetAddr() failed:\n");
|
||||
|
|
@ -1116,7 +1092,7 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (TRANS(SocketINETGetPeerAddr) (newciptr) < 0)
|
||||
if (_XSERVTransSocketINETGetPeerAddr (newciptr) < 0)
|
||||
{
|
||||
prmsg (1,
|
||||
"SocketINETAccept: ...SocketINETGetPeerAddr() failed:\n");
|
||||
|
|
@ -1136,9 +1112,8 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status)
|
|||
|
||||
|
||||
#ifdef UNIXCONN
|
||||
static XtransConnInfo
|
||||
TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status)
|
||||
|
||||
static XtransConnInfo _XSERVTransSocketUNIXAccept (
|
||||
XtransConnInfo ciptr, int *status)
|
||||
{
|
||||
XtransConnInfo newciptr;
|
||||
struct sockaddr_un sockname;
|
||||
|
|
@ -1209,9 +1184,8 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status)
|
|||
|
||||
#endif /* UNIXCONN */
|
||||
|
||||
static int
|
||||
TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend)
|
||||
|
||||
static int _XSERVTransSocketBytesReadable (
|
||||
XtransConnInfo ciptr, BytesReadable_t *pend)
|
||||
{
|
||||
prmsg (2,"SocketBytesReadable(%p,%d,%p)\n",
|
||||
(void *) ciptr, ciptr->fd, (void *) pend);
|
||||
|
|
@ -1296,29 +1270,27 @@ nFd(struct _XtransConnFd **prev)
|
|||
return n;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketRecvFd) (XtransConnInfo ciptr)
|
||||
static int _XSERVTransSocketRecvFd (XtransConnInfo ciptr)
|
||||
{
|
||||
prmsg (2, "SocketRecvFd(%d)\n", ciptr->fd);
|
||||
return removeFd(&ciptr->recv_fds);
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketSendFd) (XtransConnInfo ciptr, int fd, int do_close)
|
||||
static int _XSERVTransSocketSendFd (
|
||||
XtransConnInfo ciptr, int fd, int do_close)
|
||||
{
|
||||
appendFd(&ciptr->send_fds, fd, do_close);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketRecvFdInvalid)(XtransConnInfo ciptr)
|
||||
static int _XSERVTransSocketRecvFdInvalid(XtransConnInfo ciptr)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketSendFdInvalid)(XtransConnInfo ciptr, int fd, int do_close)
|
||||
static int _XSERVTransSocketSendFdInvalid(
|
||||
XtransConnInfo ciptr, int fd, int do_close)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
|
|
@ -1333,9 +1305,8 @@ union fd_pass {
|
|||
|
||||
#endif /* XTRANS_SEND_FDS */
|
||||
|
||||
static int
|
||||
TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size)
|
||||
|
||||
static int _XSERVTransSocketRead (
|
||||
XtransConnInfo ciptr, char *buf, int size)
|
||||
{
|
||||
prmsg (2,"SocketRead(%d,%p,%d)\n", ciptr->fd, (void *) buf, size);
|
||||
|
||||
|
|
@ -1387,9 +1358,8 @@ TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size)
|
|||
#endif /* WIN32 */
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketReadv) (XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
|
||||
static int _XSERVTransSocketReadv (
|
||||
XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
{
|
||||
prmsg (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, (void *) buf, size);
|
||||
|
||||
|
|
@ -1427,10 +1397,8 @@ TRANS(SocketReadv) (XtransConnInfo ciptr, struct iovec *buf, int size)
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
TRANS(SocketWritev) (XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
|
||||
static int _XSERVTransSocketWritev (
|
||||
XtransConnInfo ciptr, struct iovec *buf, int size)
|
||||
{
|
||||
prmsg (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, (void *) buf, size);
|
||||
|
||||
|
|
@ -1472,10 +1440,8 @@ TRANS(SocketWritev) (XtransConnInfo ciptr, struct iovec *buf, int size)
|
|||
return WRITEV (ciptr, buf, size);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
TRANS(SocketWrite) (XtransConnInfo ciptr, const char *buf, int size)
|
||||
|
||||
static int _XSERVTransSocketWrite (
|
||||
XtransConnInfo ciptr, const char *buf, int size)
|
||||
{
|
||||
prmsg (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, (const void *) buf, size);
|
||||
|
||||
|
|
@ -1495,16 +1461,14 @@ TRANS(SocketWrite) (XtransConnInfo ciptr, const char *buf, int size)
|
|||
|
||||
iov.iov_base = (void *) buf;
|
||||
iov.iov_len = size;
|
||||
return TRANS(SocketWritev)(ciptr, &iov, 1);
|
||||
return _XSERVTransSocketWritev(ciptr, &iov, 1);
|
||||
}
|
||||
#endif /* XTRANS_SEND_FDS */
|
||||
return write (ciptr->fd, buf, size);
|
||||
#endif /* WIN32 */
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketDisconnect) (XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransSocketDisconnect (XtransConnInfo ciptr)
|
||||
{
|
||||
prmsg (2,"SocketDisconnect(%p,%d)\n", (void *) ciptr, ciptr->fd);
|
||||
|
||||
|
|
@ -1519,11 +1483,8 @@ TRANS(SocketDisconnect) (XtransConnInfo ciptr)
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
#ifdef TCPCONN
|
||||
static int
|
||||
TRANS(SocketINETClose) (XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransSocketINETClose (XtransConnInfo ciptr)
|
||||
{
|
||||
prmsg (2,"SocketINETClose(%p,%d)\n", (void *) ciptr, ciptr->fd);
|
||||
|
||||
|
|
@ -1540,10 +1501,8 @@ TRANS(SocketINETClose) (XtransConnInfo ciptr)
|
|||
|
||||
#endif /* TCPCONN */
|
||||
|
||||
|
||||
#ifdef UNIXCONN
|
||||
static int
|
||||
TRANS(SocketUNIXClose) (XtransConnInfo ciptr)
|
||||
static int _XSERVTransSocketUNIXClose (XtransConnInfo ciptr)
|
||||
{
|
||||
/*
|
||||
* If this is the server side, then once the socket is closed,
|
||||
|
|
@ -1573,9 +1532,7 @@ TRANS(SocketUNIXClose) (XtransConnInfo ciptr)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
TRANS(SocketUNIXCloseForCloning) (XtransConnInfo ciptr)
|
||||
|
||||
static int _XSERVTransSocketUNIXCloseForCloning (XtransConnInfo ciptr)
|
||||
{
|
||||
/*
|
||||
* Don't unlink path.
|
||||
|
|
@ -1606,87 +1563,87 @@ static const char* tcp_nolisten[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static Xtransport TRANS(SocketTCPFuncs) = {
|
||||
static Xtransport _XSERVTransSocketTCPFuncs = {
|
||||
/* Socket Interface */
|
||||
"tcp",
|
||||
TRANS_ALIAS,
|
||||
tcp_nolisten,
|
||||
TRANS(SocketOpenCOTSServer),
|
||||
TRANS(SocketReopenCOTSServer),
|
||||
TRANS(SocketSetOption),
|
||||
TRANS(SocketINETCreateListener),
|
||||
_XSERVTransSocketOpenCOTSServer,
|
||||
_XSERVTransSocketReopenCOTSServer,
|
||||
_XSERVTransSocketSetOption,
|
||||
_XSERVTransSocketINETCreateListener,
|
||||
NULL, /* ResetListener */
|
||||
TRANS(SocketINETAccept),
|
||||
TRANS(SocketBytesReadable),
|
||||
TRANS(SocketRead),
|
||||
TRANS(SocketWrite),
|
||||
TRANS(SocketReadv),
|
||||
TRANS(SocketWritev),
|
||||
_XSERVTransSocketINETAccept,
|
||||
_XSERVTransSocketBytesReadable,
|
||||
_XSERVTransSocketRead,
|
||||
_XSERVTransSocketWrite,
|
||||
_XSERVTransSocketReadv,
|
||||
_XSERVTransSocketWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(SocketSendFdInvalid),
|
||||
TRANS(SocketRecvFdInvalid),
|
||||
_XSERVTransSocketSendFdInvalid,
|
||||
_XSERVTransSocketRecvFdInvalid,
|
||||
#endif
|
||||
TRANS(SocketDisconnect),
|
||||
TRANS(SocketINETClose),
|
||||
TRANS(SocketINETClose),
|
||||
};
|
||||
_XSERVTransSocketDisconnect,
|
||||
_XSERVTransSocketINETClose,
|
||||
_XSERVTransSocketINETClose,
|
||||
};
|
||||
|
||||
static Xtransport TRANS(SocketINETFuncs) = {
|
||||
static Xtransport _XSERVTransSocketINETFuncs = {
|
||||
/* Socket Interface */
|
||||
"inet",
|
||||
0,
|
||||
NULL,
|
||||
TRANS(SocketOpenCOTSServer),
|
||||
TRANS(SocketReopenCOTSServer),
|
||||
TRANS(SocketSetOption),
|
||||
TRANS(SocketINETCreateListener),
|
||||
_XSERVTransSocketOpenCOTSServer,
|
||||
_XSERVTransSocketReopenCOTSServer,
|
||||
_XSERVTransSocketSetOption,
|
||||
_XSERVTransSocketINETCreateListener,
|
||||
NULL, /* ResetListener */
|
||||
TRANS(SocketINETAccept),
|
||||
TRANS(SocketBytesReadable),
|
||||
TRANS(SocketRead),
|
||||
TRANS(SocketWrite),
|
||||
TRANS(SocketReadv),
|
||||
TRANS(SocketWritev),
|
||||
_XSERVTransSocketINETAccept,
|
||||
_XSERVTransSocketBytesReadable,
|
||||
_XSERVTransSocketRead,
|
||||
_XSERVTransSocketWrite,
|
||||
_XSERVTransSocketReadv,
|
||||
_XSERVTransSocketWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(SocketSendFdInvalid),
|
||||
TRANS(SocketRecvFdInvalid),
|
||||
_XSERVTransSocketSendFdInvalid,
|
||||
_XSERVTransSocketRecvFdInvalid,
|
||||
#endif
|
||||
TRANS(SocketDisconnect),
|
||||
TRANS(SocketINETClose),
|
||||
TRANS(SocketINETClose),
|
||||
};
|
||||
_XSERVTransSocketDisconnect,
|
||||
_XSERVTransSocketINETClose,
|
||||
_XSERVTransSocketINETClose,
|
||||
};
|
||||
|
||||
#ifdef IPv6
|
||||
static Xtransport TRANS(SocketINET6Funcs) = {
|
||||
static Xtransport _XSERVTransSocketINET6Funcs = {
|
||||
/* Socket Interface */
|
||||
"inet6",
|
||||
0,
|
||||
NULL,
|
||||
TRANS(SocketOpenCOTSServer),
|
||||
TRANS(SocketReopenCOTSServer),
|
||||
TRANS(SocketSetOption),
|
||||
TRANS(SocketINETCreateListener),
|
||||
_XSERVTransSocketOpenCOTSServer,
|
||||
_XSERVTransSocketReopenCOTSServer,
|
||||
_XSERVTransSocketSetOption,
|
||||
_XSERVTransSocketINETCreateListener,
|
||||
NULL, /* ResetListener */
|
||||
TRANS(SocketINETAccept),
|
||||
TRANS(SocketBytesReadable),
|
||||
TRANS(SocketRead),
|
||||
TRANS(SocketWrite),
|
||||
TRANS(SocketReadv),
|
||||
TRANS(SocketWritev),
|
||||
_XSERVTransSocketINETAccept,
|
||||
_XSERVTransSocketBytesReadable,
|
||||
_XSERVTransSocketRead,
|
||||
_XSERVTransSocketWrite,
|
||||
_XSERVTransSocketReadv,
|
||||
_XSERVTransSocketWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(SocketSendFdInvalid),
|
||||
TRANS(SocketRecvFdInvalid),
|
||||
_XSERVTransSocketSendFdInvalid,
|
||||
_XSERVTransSocketRecvFdInvalid,
|
||||
#endif
|
||||
TRANS(SocketDisconnect),
|
||||
TRANS(SocketINETClose),
|
||||
TRANS(SocketINETClose),
|
||||
};
|
||||
_XSERVTransSocketDisconnect,
|
||||
_XSERVTransSocketINETClose,
|
||||
_XSERVTransSocketINETClose,
|
||||
};
|
||||
#endif /* IPv6 */
|
||||
#endif /* TCPCONN */
|
||||
|
||||
#ifdef UNIXCONN
|
||||
#if !defined(LOCALCONN)
|
||||
static Xtransport TRANS(SocketLocalFuncs) = {
|
||||
static Xtransport _XSERVTransSocketLocalFuncs = {
|
||||
/* Socket Interface */
|
||||
"local",
|
||||
#ifdef HAVE_ABSTRACT_SOCKETS
|
||||
|
|
@ -1695,31 +1652,31 @@ static Xtransport TRANS(SocketLocalFuncs) = {
|
|||
0,
|
||||
#endif
|
||||
NULL,
|
||||
TRANS(SocketOpenCOTSServer),
|
||||
TRANS(SocketReopenCOTSServer),
|
||||
TRANS(SocketSetOption),
|
||||
TRANS(SocketUNIXCreateListener),
|
||||
TRANS(SocketUNIXResetListener),
|
||||
TRANS(SocketUNIXAccept),
|
||||
TRANS(SocketBytesReadable),
|
||||
TRANS(SocketRead),
|
||||
TRANS(SocketWrite),
|
||||
TRANS(SocketReadv),
|
||||
TRANS(SocketWritev),
|
||||
_XSERVTransSocketOpenCOTSServer,
|
||||
_XSERVTransSocketReopenCOTSServer,
|
||||
_XSERVTransSocketSetOption,
|
||||
_XSERVTransSocketUNIXCreateListener,
|
||||
_XSERVTransSocketUNIXResetListener,
|
||||
_XSERVTransSocketUNIXAccept,
|
||||
_XSERVTransSocketBytesReadable,
|
||||
_XSERVTransSocketRead,
|
||||
_XSERVTransSocketWrite,
|
||||
_XSERVTransSocketReadv,
|
||||
_XSERVTransSocketWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(SocketSendFd),
|
||||
TRANS(SocketRecvFd),
|
||||
_XSERVTransSocketSendFd,
|
||||
_XSERVTransSocketRecvFd,
|
||||
#endif
|
||||
TRANS(SocketDisconnect),
|
||||
TRANS(SocketUNIXClose),
|
||||
TRANS(SocketUNIXCloseForCloning),
|
||||
};
|
||||
_XSERVTransSocketDisconnect,
|
||||
_XSERVTransSocketUNIXClose,
|
||||
_XSERVTransSocketUNIXCloseForCloning,
|
||||
};
|
||||
#endif /* !LOCALCONN */
|
||||
# if !defined(LOCALCONN)
|
||||
static const char* unix_nolisten[] = { "local" , NULL };
|
||||
# endif
|
||||
|
||||
static Xtransport TRANS(SocketUNIXFuncs) = {
|
||||
static Xtransport _XSERVTransSocketUNIXFuncs = {
|
||||
/* Socket Interface */
|
||||
"unix",
|
||||
#if !defined(LOCALCONN) && !defined(HAVE_ABSTRACT_SOCKETS)
|
||||
|
|
@ -1732,24 +1689,24 @@ static Xtransport TRANS(SocketUNIXFuncs) = {
|
|||
#else
|
||||
NULL,
|
||||
#endif
|
||||
TRANS(SocketOpenCOTSServer),
|
||||
TRANS(SocketReopenCOTSServer),
|
||||
TRANS(SocketSetOption),
|
||||
TRANS(SocketUNIXCreateListener),
|
||||
TRANS(SocketUNIXResetListener),
|
||||
TRANS(SocketUNIXAccept),
|
||||
TRANS(SocketBytesReadable),
|
||||
TRANS(SocketRead),
|
||||
TRANS(SocketWrite),
|
||||
TRANS(SocketReadv),
|
||||
TRANS(SocketWritev),
|
||||
_XSERVTransSocketOpenCOTSServer,
|
||||
_XSERVTransSocketReopenCOTSServer,
|
||||
_XSERVTransSocketSetOption,
|
||||
_XSERVTransSocketUNIXCreateListener,
|
||||
_XSERVTransSocketUNIXResetListener,
|
||||
_XSERVTransSocketUNIXAccept,
|
||||
_XSERVTransSocketBytesReadable,
|
||||
_XSERVTransSocketRead,
|
||||
_XSERVTransSocketWrite,
|
||||
_XSERVTransSocketReadv,
|
||||
_XSERVTransSocketWritev,
|
||||
#if XTRANS_SEND_FDS
|
||||
TRANS(SocketSendFd),
|
||||
TRANS(SocketRecvFd),
|
||||
_XSERVTransSocketSendFd,
|
||||
_XSERVTransSocketRecvFd,
|
||||
#endif
|
||||
TRANS(SocketDisconnect),
|
||||
TRANS(SocketUNIXClose),
|
||||
TRANS(SocketUNIXCloseForCloning),
|
||||
};
|
||||
_XSERVTransSocketDisconnect,
|
||||
_XSERVTransSocketUNIXClose,
|
||||
_XSERVTransSocketUNIXCloseForCloning,
|
||||
};
|
||||
|
||||
#endif /* UNIXCONN */
|
||||
|
|
|
|||
|
|
@ -89,16 +89,13 @@ from The Open Group.
|
|||
#define FamilyWild 65535
|
||||
|
||||
/*
|
||||
* TRANS(ConvertAddress) converts a sockaddr based address to an
|
||||
* _XSERVTransConvertAddress converts a sockaddr based address to an
|
||||
* X authorization based address. Some of this is defined as part of
|
||||
* the ChangeHost protocol. The rest is just done in a consistent manner.
|
||||
*/
|
||||
|
||||
int
|
||||
TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp)
|
||||
|
||||
int _XSERVTransConvertAddress(int *familyp, int *addrlenp, Xtransaddr **addrp)
|
||||
{
|
||||
|
||||
prmsg(2,"ConvertAddress(%d,%d,%p)\n",*familyp,*addrlenp,*addrp);
|
||||
|
||||
switch( *familyp )
|
||||
|
|
@ -193,7 +190,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp)
|
|||
*/
|
||||
|
||||
char hostnamebuf[256];
|
||||
int len = TRANS(GetHostname) (hostnamebuf, sizeof hostnamebuf);
|
||||
int len = _XSERVTransGetHostname (hostnamebuf, sizeof hostnamebuf);
|
||||
|
||||
if (len > 0) {
|
||||
if (*addrp && *addrlenp < (len + 1))
|
||||
|
|
@ -223,8 +220,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp)
|
|||
}
|
||||
|
||||
#if defined(WIN32) && defined(TCPCONN)
|
||||
int
|
||||
TRANS(WSAStartup) (void)
|
||||
int _XSERVTransWSAStartup (void)
|
||||
{
|
||||
static WSADATA wsadata;
|
||||
|
||||
|
|
|
|||
|
|
@ -1058,7 +1058,7 @@ ListenOnOpenFD(int fd, int noxauth)
|
|||
ListenTransCount++;
|
||||
}
|
||||
|
||||
/* based on TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) */
|
||||
/* based on _XSERVTransSocketUNIXAccept (XtransConnInfo ciptr, int *status) */
|
||||
Bool
|
||||
AddClientOnOpenFD(int fd)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue