Lines Matching refs:conn

337     struct connection *conn;  in delete_fd()  local
340 FOREACH_ELT(connections, i, conn) in delete_fd()
341 if (conn == xconn) { in delete_fd()
726 static void process_packet(struct connection *conn, const char *prog, in process_packet() argument
738 int port_fd = conn->fd; in process_packet()
795 static void accept_tcp_connection(struct connection *conn, const char *prog, in accept_tcp_connection() argument
806 s = accept(conn->fd, addr, &addrlen); in accept_tcp_connection()
891 kill_tcp_connection(struct connection *conn) in kill_tcp_connection() argument
893 if (conn->u.tcp.response) in kill_tcp_connection()
894 krb5_free_data(kdc_context, conn->u.tcp.response); in kill_tcp_connection()
895 if (conn->u.tcp.buffer) in kill_tcp_connection()
896 free(conn->u.tcp.buffer); in kill_tcp_connection()
897 FD_CLR(conn->fd, &sstate.rfds); in kill_tcp_connection()
898 FD_CLR(conn->fd, &sstate.wfds); in kill_tcp_connection()
899 if (sstate.max == conn->fd + 1) in kill_tcp_connection()
906 close(conn->fd); in kill_tcp_connection()
907 conn->fd = -1; in kill_tcp_connection()
908 delete_fd(conn); in kill_tcp_connection()
945 process_tcp_connection(struct connection *conn, const char *prog, int selflags) in process_tcp_connection() argument
951 nwrote = SOCKET_WRITEV(conn->fd, conn->u.tcp.sgp, conn->u.tcp.sgnum, in process_tcp_connection()
960 sg_buf *sgp = conn->u.tcp.sgp; in process_tcp_connection()
966 conn->u.tcp.sgp++; in process_tcp_connection()
967 conn->u.tcp.sgnum--; in process_tcp_connection()
968 if (conn->u.tcp.sgnum == 0 && nwrote != 0) in process_tcp_connection()
972 if (conn->u.tcp.sgnum == 0) { in process_tcp_connection()
987 if (conn->u.tcp.offset < 4) { in process_tcp_connection()
992 len = 4 - conn->u.tcp.offset; in process_tcp_connection()
993 nread = SOCKET_READ(conn->fd, in process_tcp_connection()
994 conn->u.tcp.buffer + conn->u.tcp.offset, len); in process_tcp_connection()
1001 conn->u.tcp.offset += nread; in process_tcp_connection()
1002 if (conn->u.tcp.offset == 4) { in process_tcp_connection()
1003 unsigned char *p = (unsigned char *)conn->u.tcp.buffer; in process_tcp_connection()
1004 conn->u.tcp.msglen = ((p[0] << 24) in process_tcp_connection()
1008 if (conn->u.tcp.msglen > conn->u.tcp.bufsiz - 4) { in process_tcp_connection()
1012 conn->u.tcp.addrbuf, (unsigned long) conn->u.tcp.msglen, in process_tcp_connection()
1013 (unsigned long) conn->u.tcp.bufsiz - 4); in process_tcp_connection()
1015 err = make_toolong_error (&conn->u.tcp.response); in process_tcp_connection()
1030 len = conn->u.tcp.msglen - (conn->u.tcp.offset - 4); in process_tcp_connection()
1031 nread = SOCKET_READ(conn->fd, in process_tcp_connection()
1032 conn->u.tcp.buffer + conn->u.tcp.offset, len); in process_tcp_connection()
1039 conn->u.tcp.offset += nread; in process_tcp_connection()
1040 if (conn->u.tcp.offset < conn->u.tcp.msglen + 4) in process_tcp_connection()
1043 request.length = conn->u.tcp.msglen; in process_tcp_connection()
1044 request.data = conn->u.tcp.buffer + 4; in process_tcp_connection()
1045 err = dispatch(&request, &conn->u.tcp.faddr, in process_tcp_connection()
1046 &conn->u.tcp.response); in process_tcp_connection()
1052 conn->u.tcp.lenbuf[0] = 0xff & (conn->u.tcp.response->length >> 24); in process_tcp_connection()
1053 conn->u.tcp.lenbuf[1] = 0xff & (conn->u.tcp.response->length >> 16); in process_tcp_connection()
1054 conn->u.tcp.lenbuf[2] = 0xff & (conn->u.tcp.response->length >> 8); in process_tcp_connection()
1055 conn->u.tcp.lenbuf[3] = 0xff & (conn->u.tcp.response->length >> 0); in process_tcp_connection()
1056 SG_SET(&conn->u.tcp.sgbuf[1], conn->u.tcp.response->data, in process_tcp_connection()
1057 conn->u.tcp.response->length); in process_tcp_connection()
1058 conn->u.tcp.sgp = conn->u.tcp.sgbuf; in process_tcp_connection()
1059 conn->u.tcp.sgnum = 2; in process_tcp_connection()
1060 FD_CLR(conn->fd, &sstate.rfds); in process_tcp_connection()
1061 FD_SET(conn->fd, &sstate.wfds); in process_tcp_connection()
1069 kill_tcp_connection(conn); in process_tcp_connection()
1072 static void service_conn(struct connection *conn, const char *prog, in service_conn() argument
1075 conn->service(conn, prog, selflags); in service_conn()
1128 struct connection *conn; in closedown_network() local
1133 FOREACH_ELT (connections, i, conn) { in closedown_network()
1134 if (conn->fd >= 0) in closedown_network()
1135 (void) close(conn->fd); in closedown_network()
1141 free(conn); in closedown_network()