Lines Matching defs:ciptr

213 static int TRANS(SocketINETClose) (XtransConnInfo ciptr);
297 TRANS(SocketINETGetAddr) (XtransConnInfo ciptr)
308 prmsg (3,"SocketINETGetAddr(%p)\n", (void *) ciptr);
312 if (getsockname (ciptr->fd,(struct sockaddr *) socknamePtr,
327 if ((ciptr->addr = malloc (namelen)) == NULL)
334 ciptr->family = ((struct sockaddr *)socknamePtr)->sa_family;
335 ciptr->addrlen = namelen;
336 memcpy (ciptr->addr, socknamePtr, ciptr->addrlen);
348 TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr)
361 prmsg (3,"SocketINETGetPeerAddr(%p)\n", (void *) ciptr);
363 if (getpeername (ciptr->fd, (struct sockaddr *) socknamePtr,
378 if ((ciptr->peeraddr = malloc (namelen)) == NULL)
385 ciptr->peeraddrlen = namelen;
386 memcpy (ciptr->peeraddr, socknamePtr, ciptr->peeraddrlen);
396 XtransConnInfo ciptr;
400 if ((ciptr = calloc (1, sizeof(struct _XtransConnInfo))) == NULL)
406 ciptr->fd = socket(Sockettrans2devtab[i].family, type,
411 if (ciptr->fd >= sysconf(_SC_OPEN_MAX))
414 ciptr->fd);
415 close (ciptr->fd);
416 ciptr->fd = -1;
421 if (ciptr->fd < 0) {
428 free (ciptr);
444 setsockopt (ciptr->fd, IPPROTO_TCP, TCP_NODELAY,
460 if (getsockopt (ciptr->fd, SOL_SOCKET, SO_SNDBUF,
464 setsockopt (ciptr->fd, SOL_SOCKET, SO_SNDBUF,
470 return ciptr;
480 XtransConnInfo ciptr;
506 if ((ciptr = calloc (1, sizeof(struct _XtransConnInfo))) == NULL)
508 prmsg (1, "SocketReopen: malloc(ciptr) failed\n");
512 ciptr->fd = fd;
517 free (ciptr);
520 ciptr->addr = (char *) addr;
521 ciptr->addrlen = addrlen;
523 if ((ciptr->peeraddr = calloc (1, addrlen)) == NULL) {
526 free (ciptr);
529 ciptr->peeraddrlen = addrlen;
531 /* Initialize ciptr structure as if it were a normally-opened unix socket */
532 ciptr->flags = TRANS_LOCAL | TRANS_NOUNLINK;
542 ciptr->family = AF_UNIX;
543 memcpy(ciptr->peeraddr, ciptr->addr, addrlen);
544 ciptr->port = rindex(addr->sa_data, ':');
545 if (ciptr->port == NULL) {
547 ciptr->port = addr->sa_data;
549 } else if (ciptr->port[0] == ':') {
550 ciptr->port++;
553 return ciptr;
569 XtransConnInfo ciptr = NULL;
578 if ((ciptr = TRANS(SocketOpen) (
582 ciptr->index = i;
596 return ciptr;
618 XtransConnInfo ciptr = NULL;
626 if ((ciptr = TRANS(SocketOpen) (
664 setsockopt (ciptr->fd, SOL_SOCKET, SO_REUSEADDR,
672 setsockopt(ciptr->fd, IPPROTO_IPV6, IPV6_V6ONLY, &one, sizeof(int));
677 ciptr->index = i;
679 return ciptr;
691 XtransConnInfo ciptr;
700 if ((ciptr = TRANS(SocketReopen) (
716 ciptr->index = i;
718 return ciptr;
725 TRANS(SocketSetOption) (XtransConnInfo ciptr, int option, int arg)
728 prmsg (2,"SocketSetOption(%d,%d,%d)\n", ciptr->fd, option, arg);
764 TRANS(SocketCreateListener) (XtransConnInfo ciptr,
770 int fd = ciptr->fd;
773 prmsg (3, "SocketCreateListener(%p,%d)\n", (void *) ciptr, fd);
775 if (Sockettrans2devtab[ciptr->index].family == AF_INET
777 || Sockettrans2devtab[ciptr->index].family == AF_INET6
805 if (Sockettrans2devtab[ciptr->index].family == AF_INET
807 || Sockettrans2devtab[ciptr->index].family == AF_INET6
832 ciptr->flags = 1 | (ciptr->flags & TRANS_KEEPFLAGS);
839 TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, const char *port,
917 if (Sockettrans2devtab[ciptr->index].family == AF_INET) {
937 Sockettrans2devtab[ciptr->index].family);
942 if ((status = TRANS(SocketCreateListener) (ciptr,
950 if (TRANS(SocketINETGetAddr) (ciptr) < 0)
966 TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port,
979 abstract = ciptr->transptr->flags & TRANS_ABSTRACT;
1032 if ((status = TRANS(SocketCreateListener) (ciptr,
1050 if ((ciptr->addr = malloc (namelen)) == NULL)
1061 ciptr->family = sockname.sun_family;
1062 ciptr->addrlen = namelen;
1063 memcpy (ciptr->addr, &sockname, ciptr->addrlen);
1072 TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr)
1079 struct sockaddr_un *unsock = (struct sockaddr_un *) ciptr->addr;
1085 abstract = ciptr->transptr->flags & TRANS_ABSTRACT;
1088 prmsg (3, "SocketUNIXResetListener(%p,%d)\n", (void *) ciptr, ciptr->fd);
1116 close (ciptr->fd);
1119 if ((ciptr->fd = socket (AF_UNIX, SOCK_STREAM, 0)) < 0)
1121 TRANS(FreeConnInfo) (ciptr);
1126 if (bind (ciptr->fd, (struct sockaddr *) unsock, ciptr->addrlen) < 0)
1128 close (ciptr->fd);
1129 TRANS(FreeConnInfo) (ciptr);
1133 if (listen (ciptr->fd, BACKLOG) < 0)
1135 close (ciptr->fd);
1136 TRANS(FreeConnInfo) (ciptr);
1155 TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status)
1162 prmsg (2, "SocketINETAccept(%p,%d)\n", (void *) ciptr, ciptr->fd);
1171 if ((newciptr->fd = accept (ciptr->fd,
1231 TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status)
1238 prmsg (2, "SocketUNIXAccept(%p,%d)\n", (void *) ciptr, ciptr->fd);
1247 if ((newciptr->fd = accept (ciptr->fd,
1256 ciptr->addrlen = namelen;
1262 if ((newciptr->addr = malloc (ciptr->addrlen)) == NULL)
1277 newciptr->addrlen = ciptr->addrlen;
1278 memcpy (newciptr->addr, ciptr->addr, newciptr->addrlen);
1280 if ((newciptr->peeraddr = malloc (ciptr->addrlen)) == NULL)
1291 newciptr->peeraddrlen = ciptr->addrlen;
1292 memcpy (newciptr->peeraddr, ciptr->addr, newciptr->addrlen);
1322 TRANS(SocketINETConnect) (XtransConnInfo ciptr,
1349 prmsg (2,"SocketINETConnect(%d,%s,%s)\n", ciptr->fd, host, port);
1402 if (strcmp(Sockettrans2devtab[ciptr->index].transname, "tcp") == 0)
1406 hints.ai_family = Sockettrans2devtab[ciptr->index].family;
1407 hints.ai_socktype = Sockettrans2devtab[ciptr->index].devcotsname;
1453 if (Sockettrans2devtab[ciptr->index].family == AF_INET6) {
1454 if (strcmp(Sockettrans2devtab[ciptr->index].transname,
1464 TRANS(SocketINETClose)(ciptr);
1466 "tcp", "tcp", host, port, ciptr->index);
1468 ciptr->fd = newciptr->fd;
1492 if (Sockettrans2devtab[ciptr->index].family == AF_INET) {
1493 if (strcmp(Sockettrans2devtab[ciptr->index].transname,
1500 TRANS(SocketINETClose)(ciptr);
1504 ciptr->fd = newciptr->fd;
1619 setsockopt (ciptr->fd, SOL_SOCKET, SO_KEEPALIVE,
1627 if (connect (ciptr->fd, socketaddr, socketaddrlen ) < 0)
1680 * Sync up the address fields of ciptr.
1683 if (TRANS(SocketINETGetAddr) (ciptr) < 0)
1690 else if (TRANS(SocketINETGetPeerAddr) (ciptr) < 0)
1852 TRANS(SocketUNIXConnect) (XtransConnInfo ciptr,
1859 prmsg (2,"SocketUNIXConnect(%d,%s,%s)\n", ciptr->fd, host, port);
1914 if (connect (ciptr->fd, (struct sockaddr *) &sockname, namelen) < 0)
1957 if ((ciptr->addr = malloc(namelen)) == NULL ||
1958 (ciptr->peeraddr = malloc(namelen)) == NULL)
1965 ciptr->family = AF_UNIX;
1966 ciptr->addrlen = namelen;
1967 ciptr->peeraddrlen = namelen;
1968 memcpy (ciptr->addr, &sockname, ciptr->addrlen);
1969 memcpy (ciptr->peeraddr, &sockname, ciptr->peeraddrlen);
1980 TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend)
1984 (void *) ciptr, ciptr->fd, (void *) pend);
1987 int ret = ioctlsocket ((SOCKET) ciptr->fd, FIONREAD, (u_long *) pend);
1992 return ioctl (ciptr->fd, FIONREAD, (char *) pend);
2047 cleanupFds(XtransConnInfo ciptr)
2050 discardFd(&ciptr->send_fds, NULL, 0);
2052 discardFd(&ciptr->recv_fds, NULL, 1);
2067 TRANS(SocketRecvFd) (XtransConnInfo ciptr)
2069 prmsg (2, "SocketRecvFd(%d)\n", ciptr->fd);
2070 return removeFd(&ciptr->recv_fds);
2074 TRANS(SocketSendFd) (XtransConnInfo ciptr, int fd, int do_close)
2076 appendFd(&ciptr->send_fds, fd, do_close);
2081 TRANS(SocketRecvFdInvalid)(XtransConnInfo ciptr)
2088 TRANS(SocketSendFdInvalid)(XtransConnInfo ciptr, int fd, int do_close)
2104 TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size)
2107 prmsg (2,"SocketRead(%d,%p,%d)\n", ciptr->fd, (void *) buf, size);
2111 int ret = recv ((SOCKET)ciptr->fd, buf, size, 0);
2134 size = recvmsg(ciptr->fd, &msg, 0);
2145 appendFd(&ciptr->recv_fds, fd[i], 0);
2152 return read(ciptr->fd, buf, size);
2158 TRANS(SocketReadv) (XtransConnInfo ciptr, struct iovec *buf, int size)
2161 prmsg (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, (void *) buf, size);
2175 size = recvmsg(ciptr->fd, &msg, 0);
2186 appendFd(&ciptr->recv_fds, fd[i], 0);
2193 return READV (ciptr, buf, size);
2199 TRANS(SocketWritev) (XtransConnInfo ciptr, struct iovec *buf, int size)
2202 prmsg (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, (void *) buf, size);
2205 if (ciptr->send_fds)
2208 int nfd = nFd(&ciptr->send_fds);
2209 struct _XtransConnFd *cf = ciptr->send_fds;
2233 i = sendmsg(ciptr->fd, &msg, 0);
2235 discardFd(&ciptr->send_fds, cf, 0);
2239 return WRITEV (ciptr, buf, size);
2244 TRANS(SocketWrite) (XtransConnInfo ciptr, const char *buf, int size)
2247 prmsg (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, (const void *) buf, size);
2251 int ret = send ((SOCKET)ciptr->fd, buf, size, 0);
2259 if (ciptr->send_fds)
2265 return TRANS(SocketWritev)(ciptr, &iov, 1);
2268 return write (ciptr->fd, buf, size);
2273 TRANS(SocketDisconnect) (XtransConnInfo ciptr)
2276 prmsg (2,"SocketDisconnect(%p,%d)\n", (void *) ciptr, ciptr->fd);
2280 int ret = shutdown (ciptr->fd, 2);
2285 return shutdown (ciptr->fd, 2); /* disallow further sends and receives */
2292 TRANS(SocketINETClose) (XtransConnInfo ciptr)
2295 prmsg (2,"SocketINETClose(%p,%d)\n", (void *) ciptr, ciptr->fd);
2299 int ret = close (ciptr->fd);
2304 return close (ciptr->fd);
2313 TRANS(SocketUNIXClose) (XtransConnInfo ciptr)
2320 struct sockaddr_un *sockname = (struct sockaddr_un *) ciptr->addr;
2323 prmsg (2,"SocketUNIXClose(%p,%d)\n", (void *) ciptr, ciptr->fd);
2326 cleanupFds(ciptr);
2328 ret = close(ciptr->fd);
2330 if (ciptr->flags
2335 if (!(ciptr->flags & TRANS_NOUNLINK
2336 || ciptr->transptr->flags & TRANS_ABSTRACT))
2344 TRANS(SocketUNIXCloseForCloning) (XtransConnInfo ciptr)
2354 (void *) ciptr, ciptr->fd);
2357 cleanupFds(ciptr);
2359 ret = close(ciptr->fd);