Lines Matching defs:tcp
23 #include <netinet/tcp.h>
417 nbr->tcp = tcp_new(fd, nbr);
425 struct tcp_conn *tcp = nbr->tcp;
436 if ((n = read(fd, tcp->rbuf->buf + tcp->rbuf->wpos,
437 sizeof(tcp->rbuf->buf) - tcp->rbuf->wpos)) == -1) {
452 tcp->rbuf->wpos += n;
454 while ((len = session_get_pdu(tcp->rbuf, &buf)) > 0) {
567 send_notification(nbr->tcp,
595 struct tcp_conn *tcp = arg;
596 struct nbr *nbr = tcp->nbr;
601 if (ibuf_write(fd, tcp->wbuf.wbuf) == -1)
605 if (nbr == NULL && msgbuf_queuelen(tcp->wbuf.wbuf) == 0) {
610 tcp_close(tcp);
614 evbuf_event_add(&tcp->wbuf);
632 send_notification(nbr->tcp, status, msg_id, msg_type);
647 tcp_close(nbr->tcp);
685 struct tcp_conn *tcp;
687 if ((tcp = calloc(1, sizeof(*tcp))) == NULL)
690 tcp->fd = fd;
691 evbuf_init(&tcp->wbuf, tcp->fd, session_write, tcp);
694 if ((tcp->rbuf = calloc(1, sizeof(struct buf_read))) == NULL)
697 event_set(&tcp->rev, tcp->fd, EV_READ | EV_PERSIST,
699 event_add(&tcp->rev, NULL);
700 tcp->nbr = nbr;
703 return (tcp);
707 tcp_close(struct tcp_conn *tcp)
710 ibuf_write(tcp->fd, tcp->wbuf.wbuf);
711 evbuf_clear(&tcp->wbuf);
713 if (tcp->nbr) {
714 event_del(&tcp->rev);
715 free(tcp->rbuf);
716 tcp->nbr->tcp = NULL;
719 close(tcp->fd);
721 free(tcp);
775 struct tcp_conn *tcp;
784 tcp = tcp_new(pconn->fd, NULL);
785 send_notification(tcp, S_NO_HELLO, 0, 0);
786 ibuf_write(fd, tcp->wbuf.wbuf);