• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/ipfilter/l4check/

Lines Matching defs:l4

98 void addnat(l4)
99 l4cfg_t *l4;
101 ipnat_t *ipn = &l4->l4_nat;
113 void delnat(l4)
114 l4cfg_t *l4;
116 ipnat_t *ipn = &l4->l4_nat;
128 void connectl4(l4)
129 l4cfg_t *l4;
131 l4->l4_rw = 1;
132 l4->l4_rlen = 0;
133 l4->l4_wlen = plen;
134 if (!l4->l4_wlen) {
135 l4->l4_alive = 1;
136 addnat(l4);
138 l4->l4_wptr = probe;
142 void closel4(l4, dead)
143 l4cfg_t *l4;
146 close(l4->l4_fd);
147 l4->l4_fd = -1;
148 l4->l4_rw = -1;
149 if (dead && l4->l4_alive) {
150 l4->l4_alive = 0;
151 delnat(l4);
156 void connectfd(l4)
157 l4cfg_t *l4;
159 if (connect(l4->l4_fd, (struct sockaddr *)&l4->l4_sin,
160 sizeof(l4->l4_sin)) == -1) {
164 l4->l4_fd);
165 connectl4(l4);
170 l4->l4_fd, strerror(errno));
171 closel4(l4, 1);
174 l4->l4_rw = 1;
178 void writefd(l4)
179 l4cfg_t *l4;
184 fd = l4->l4_fd;
186 if (l4->l4_rw == -2) {
187 connectfd(l4);
191 n = l4->l4_wlen;
193 i = send(fd, l4->l4_wptr, n, 0);
198 closel4(l4, 1);
200 l4->l4_wptr += i;
201 l4->l4_wlen -= i;
202 if (l4->l4_wlen == 0)
203 l4->l4_rw = 0;
210 void readfd(l4)
211 l4cfg_t *l4;
216 fd = l4->l4_fd;
218 if (l4->l4_rw == -2) {
219 connectfd(l4);
223 if (l4->l4_rsize) {
224 n = l4->l4_rsize - l4->l4_rlen;
225 ptr = l4->l4_rbuf + l4->l4_rlen;
239 closel4(l4, 1);
247 l4->l4_rlen += i;
248 if (l4->l4_rlen >= l4->l4_rsize) {
249 if (!strncmp(response, l4->l4_rbuf,
250 l4->l4_rsize)) {
253 if (!l4->l4_alive) {
254 l4->l4_alive = 1;
255 addnat(l4);
257 closel4(l4, 0);
262 closel4(l4, 1);
265 } else if (!l4->l4_alive) {
266 l4->l4_alive = 1;
267 addnat(l4);
268 closel4(l4, 0);
280 l4cfg_t *l4;
289 for (l4 = l4list; l4; l4 = l4->l4_next) {
290 if ((l4->l4_last + frequency < now) && (l4->l4_fd == -1)) {
291 l4->l4_last = now;
304 inet_ntoa(l4->l4_sin.sin_addr),
305 ntohs(l4->l4_sin.sin_port), fd);
306 if (connect(fd, (struct sockaddr *)&l4->l4_sin,
307 sizeof(l4->l4_sin)) == -1) {
317 l4->l4_rw = -2;
322 connectl4(l4);
324 l4->l4_fd = fd;
336 for (l4 = l4list; l4; l4 = l4->l4_next)
337 if (l4->l4_rw == 0) {
338 if (now - l4->l4_last > rtimeout) {
341 l4->l4_fd);
342 closel4(l4, 1);
347 l4->l4_fd);
348 FD_SET(l4->l4_fd, &rfd);
349 if (l4->l4_fd > mfd)
350 mfd = l4->l4_fd;
351 } else if ((l4->l4_rw == 1 && l4->l4_wlen) ||
352 l4->l4_rw == -2) {
353 if ((l4->l4_rw == -2) &&
354 (now - l4->l4_last > ctimeout)) {
358 l4->l4_fd);
359 closel4(l4);
364 l4->l4_fd);
365 FD_SET(l4->l4_fd, &wfd);
366 if (l4->l4_fd > mfd)
367 mfd = l4->l4_fd;
381 for (l4 = l4list; (i > 0) && l4; l4 = l4->l4_next) {
382 if (l4->l4_fd < 0)
384 if (FD_ISSET(l4->l4_fd, &rfd)) {
387 l4->l4_fd);
388 readfd(l4);
392 if ((l4->l4_fd >= 0) && FD_ISSET(l4->l4_fd, &wfd)) {
395 l4->l4_fd);
396 writefd(l4);
493 l4cfg_t *l4;
601 l4 = (l4cfg_t *)malloc(sizeof(*l4));
602 if (!l4) {
604 num, sizeof(*l4));
608 bcopy((char *)&template, (char *)l4, sizeof(*l4));
609 l4->l4_sin.sin_addr = ipn->in_in[0];
610 l4->l4_sin.sin_port = ipn->in_pnext;
611 l4->l4_next = l4list;
612 l4list = l4;