Lines Matching refs:pfd
974 struct pollfd pfd;
980 pfd.fd = s;
981 pfd.events = POLLOUT;
982 if ((ret = poll(&pfd, 1, timeout)) == 1) {
1062 struct pollfd pfd[4];
1077 pfd[POLL_STDIN].fd = stdin_fd;
1078 pfd[POLL_STDIN].events = POLLIN;
1081 pfd[POLL_NETOUT].fd = net_fd;
1082 pfd[POLL_NETOUT].events = 0;
1085 pfd[POLL_NETIN].fd = net_fd;
1086 pfd[POLL_NETIN].events = POLLIN;
1089 pfd[POLL_STDOUT].fd = stdout_fd;
1090 pfd[POLL_STDOUT].events = 0;
1094 if (pfd[POLL_STDIN].fd == -1 && pfd[POLL_NETIN].fd == -1 &&
1100 if (pfd[POLL_NETOUT].fd == -1 && pfd[POLL_STDOUT].fd == -1) {
1105 if (lflag && pfd[POLL_NETIN].fd == -1 &&
1118 num_fds = poll(pfd, 4, timeout);
1132 if (pfd[n].revents & (POLLERR|POLLNVAL)) {
1133 pfd[n].fd = -1;
1137 if (pfd[POLL_STDIN].events & POLLIN &&
1138 pfd[POLL_STDIN].revents & POLLHUP &&
1139 !(pfd[POLL_STDIN].revents & POLLIN))
1140 pfd[POLL_STDIN].fd = -1;
1142 if (pfd[POLL_NETIN].events & POLLIN &&
1143 pfd[POLL_NETIN].revents & POLLHUP &&
1144 !(pfd[POLL_NETIN].revents & POLLIN))
1145 pfd[POLL_NETIN].fd = -1;
1147 if (pfd[POLL_NETOUT].revents & POLLHUP) {
1149 shutdown(pfd[POLL_NETOUT].fd, SHUT_WR);
1150 pfd[POLL_NETOUT].fd = -1;
1153 if (pfd[POLL_STDOUT].revents & POLLHUP)
1154 pfd[POLL_STDOUT].fd = -1;
1156 if (pfd[POLL_NETOUT].fd == -1)
1157 pfd[POLL_STDIN].fd = -1;
1159 if (pfd[POLL_STDOUT].fd == -1) {
1160 if (pfd[POLL_NETIN].fd != -1)
1161 shutdown(pfd[POLL_NETIN].fd, SHUT_RD);
1162 pfd[POLL_NETIN].fd = -1;
1166 if (pfd[POLL_STDIN].revents & POLLIN && stdinbufpos < BUFSIZE) {
1167 ret = fillbuf(pfd[POLL_STDIN].fd, stdinbuf,
1170 pfd[POLL_STDIN].events = POLLIN;
1172 pfd[POLL_STDIN].events = POLLOUT;
1174 pfd[POLL_STDIN].fd = -1;
1177 pfd[POLL_NETOUT].events = POLLOUT;
1180 pfd[POLL_STDIN].events = 0;
1183 if (pfd[POLL_NETOUT].revents & POLLOUT && stdinbufpos > 0) {
1184 ret = drainbuf(pfd[POLL_NETOUT].fd, stdinbuf,
1187 pfd[POLL_NETOUT].events = POLLIN;
1189 pfd[POLL_NETOUT].events = POLLOUT;
1191 pfd[POLL_NETOUT].fd = -1;
1194 pfd[POLL_NETOUT].events = 0;
1197 pfd[POLL_STDIN].events = POLLIN;
1200 if (pfd[POLL_NETIN].revents & POLLIN && netinbufpos < BUFSIZE) {
1201 ret = fillbuf(pfd[POLL_NETIN].fd, netinbuf,
1204 pfd[POLL_NETIN].events = POLLIN;
1206 pfd[POLL_NETIN].events = POLLOUT;
1208 pfd[POLL_NETIN].fd = -1;
1209 /* eof on net in - remove from pfd */
1211 shutdown(pfd[POLL_NETIN].fd, SHUT_RD);
1212 pfd[POLL_NETIN].fd = -1;
1216 pfd[POLL_STDOUT].events = POLLOUT;
1219 pfd[POLL_NETIN].events = 0;
1222 atelnet(pfd[POLL_NETIN].fd, netinbuf,
1226 if (pfd[POLL_STDOUT].revents & POLLOUT && netinbufpos > 0) {
1227 ret = drainbuf(pfd[POLL_STDOUT].fd, netinbuf,
1230 pfd[POLL_STDOUT].events = POLLIN;
1232 pfd[POLL_STDOUT].events = POLLOUT;
1234 pfd[POLL_STDOUT].fd = -1;
1237 pfd[POLL_STDOUT].events = 0;
1240 pfd[POLL_NETIN].events = POLLIN;
1244 if (pfd[POLL_STDIN].fd == -1 && stdinbufpos == 0) {
1245 if (pfd[POLL_NETOUT].fd != -1 && Nflag)
1246 shutdown(pfd[POLL_NETOUT].fd, SHUT_WR);
1247 pfd[POLL_NETOUT].fd = -1;
1250 if (pfd[POLL_NETIN].fd == -1 && netinbufpos == 0) {
1251 pfd[POLL_STDOUT].fd = -1;
1323 struct pollfd pfd;
1346 bzero(&pfd, sizeof(pfd));
1347 pfd.fd = STDOUT_FILENO;
1348 pfd.events = POLLOUT;
1353 if (poll(&pfd, 1, -1) == -1)