setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) ||
bind(fd, &cw.me.sa, addrsz(&cw.me)) ||
listen(fd, 1) || nonblockify(fd) || cloexec(fd))
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) ||
bind(fd, &cw.me.sa, addrsz(&cw.me)) ||
listen(fd, 1) || nonblockify(fd) || cloexec(fd))
if (connhost) {
initaddr(&tmpaddr);
parseaddr(connhost, 0, paf_parse, &tmpaddr);
if (connhost) {
initaddr(&tmpaddr);
parseaddr(connhost, 0, paf_parse, &tmpaddr);
(bindhost &&
bind(fd, &bindaddr.sa, addrsz(&bindaddr))) ||
connect(fd, &tmpaddr.sa, addrsz(&tmpaddr)))
(bindhost &&
bind(fd, &bindaddr.sa, addrsz(&bindaddr))) ||
connect(fd, &tmpaddr.sa, addrsz(&tmpaddr)))
initaddr(&tmpaddr);
parseaddr(argv[optind], 0, paf_parse, &tmpaddr);
initaddr(&tmpaddr);
parseaddr(argv[optind], 0, paf_parse, &tmpaddr);
nonblockify(fd_udp) || cloexec(fd_udp) ||
setsockopt(fd_udp, SOL_SOCKET, SO_RCVBUF, &len, sizeof(len)) ||
setsockopt(fd_udp, SOL_SOCKET, SO_SNDBUF, &len, sizeof(len)) ||
nonblockify(fd_udp) || cloexec(fd_udp) ||
setsockopt(fd_udp, SOL_SOCKET, SO_RCVBUF, &len, sizeof(len)) ||
setsockopt(fd_udp, SOL_SOCKET, SO_SNDBUF, &len, sizeof(len)) ||