Lines Matching refs:conn

95 #define NETCONN_RECVMBOX_WAITABLE(conn) (sys_mbox_valid(&(conn)->recvmbox) && (((conn)->flags & NET…  argument
96 #define NETCONN_ACCEPTMBOX_WAITABLE(conn) (sys_mbox_valid(&(conn)->acceptmbox) && (((conn)->flags &… argument
97 #define NETCONN_MBOX_WAITING_INC(conn) SYS_ARCH_INC(conn->mbox_threads_waiting, 1) argument
98 #define NETCONN_MBOX_WAITING_DEC(conn) SYS_ARCH_DEC(conn->mbox_threads_waiting, 1) argument
100 #define NETCONN_RECVMBOX_WAITABLE(conn) sys_mbox_valid(&(conn)->recvmbox) argument
101 #define NETCONN_ACCEPTMBOX_WAITABLE(conn) (sys_mbox_valid(&(conn)->acceptmbox) && (((conn)->flags &… argument
102 #define NETCONN_MBOX_WAITING_INC(conn) argument
103 #define NETCONN_MBOX_WAITING_DEC(conn) argument
106 static err_t netconn_close_shutdown(struct netconn *conn, u8_t how);
151 struct netconn *conn; in netconn_new_with_proto_and_callback() local
155 conn = netconn_alloc(t, callback); in netconn_new_with_proto_and_callback()
156 if (conn != NULL) { in netconn_new_with_proto_and_callback()
160 API_MSG_VAR_REF(msg).conn = conn; in netconn_new_with_proto_and_callback()
163 LWIP_ASSERT("freeing conn without freeing pcb", conn->pcb.tcp == NULL); in netconn_new_with_proto_and_callback()
164 LWIP_ASSERT("conn has no recvmbox", sys_mbox_valid(&conn->recvmbox)); in netconn_new_with_proto_and_callback()
166 LWIP_ASSERT("conn->acceptmbox shouldn't exist", !sys_mbox_valid(&conn->acceptmbox)); in netconn_new_with_proto_and_callback()
169 LWIP_ASSERT("conn has no op_completed", sys_sem_valid(&conn->op_completed)); in netconn_new_with_proto_and_callback()
170 sys_sem_free(&conn->op_completed); in netconn_new_with_proto_and_callback()
172 sys_mbox_free(&conn->recvmbox); in netconn_new_with_proto_and_callback()
173 memp_free(MEMP_NETCONN, conn); in netconn_new_with_proto_and_callback()
179 return conn; in netconn_new_with_proto_and_callback()
192 netconn_prepare_delete(struct netconn *conn) in netconn_prepare_delete() argument
198 if (conn == NULL) { in netconn_prepare_delete()
203 API_MSG_VAR_REF(msg).conn = conn; in netconn_prepare_delete()
233 netconn_delete(struct netconn *conn) in netconn_delete() argument
238 if (conn == NULL) { in netconn_delete()
243 if (conn->flags & NETCONN_FLAG_MBOXINVALID) { in netconn_delete()
249 err = netconn_prepare_delete(conn); in netconn_delete()
252 netconn_free(conn); in netconn_delete()
269 netconn_getaddr(struct netconn *conn, ip_addr_t *addr, u16_t *port, u8_t local) in netconn_getaddr() argument
274 LWIP_ERROR("netconn_getaddr: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_getaddr()
279 API_MSG_VAR_REF(msg).conn = conn; in netconn_getaddr()
307 netconn_bind(struct netconn *conn, const ip_addr_t *addr, u16_t port) in netconn_bind() argument
312 LWIP_ERROR("netconn_bind: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_bind()
325 if ((netconn_get_ipv6only(conn) == 0) && in netconn_bind()
332 API_MSG_VAR_REF(msg).conn = conn; in netconn_bind()
351 netconn_bind_if(struct netconn *conn, u8_t if_idx) in netconn_bind_if() argument
356 LWIP_ERROR("netconn_bind_if: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_bind_if()
359 API_MSG_VAR_REF(msg).conn = conn; in netconn_bind_if()
377 netconn_connect(struct netconn *conn, const ip_addr_t *addr, u16_t port) in netconn_connect() argument
382 LWIP_ERROR("netconn_connect: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_connect()
392 API_MSG_VAR_REF(msg).conn = conn; in netconn_connect()
409 netconn_disconnect(struct netconn *conn) in netconn_disconnect() argument
414 LWIP_ERROR("netconn_disconnect: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_disconnect()
417 API_MSG_VAR_REF(msg).conn = conn; in netconn_disconnect()
434 netconn_listen_with_backlog(struct netconn *conn, u8_t backlog) in netconn_listen_with_backlog() argument
443 LWIP_ERROR("netconn_listen: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_listen_with_backlog()
446 API_MSG_VAR_REF(msg).conn = conn; in netconn_listen_with_backlog()
455 LWIP_UNUSED_ARG(conn); in netconn_listen_with_backlog()
471 netconn_accept(struct netconn *conn, struct netconn **new_conn) in netconn_accept() argument
483 …LWIP_ERROR("netconn_accept: invalid conn", (conn != NULL), return ERR_A… in netconn_accept()
488 err = netconn_err(conn); in netconn_accept()
493 if (!NETCONN_ACCEPTMBOX_WAITABLE(conn)) { in netconn_accept()
501 NETCONN_MBOX_WAITING_INC(conn); in netconn_accept()
502 if (netconn_is_nonblocking(conn)) { in netconn_accept()
503 if (sys_arch_mbox_tryfetch(&conn->acceptmbox, &accept_ptr) == SYS_ARCH_TIMEOUT) { in netconn_accept()
505 NETCONN_MBOX_WAITING_DEC(conn); in netconn_accept()
510 … if (sys_arch_mbox_fetch(&conn->acceptmbox, &accept_ptr, conn->recv_timeout) == SYS_ARCH_TIMEOUT) { in netconn_accept()
512 NETCONN_MBOX_WAITING_DEC(conn); in netconn_accept()
516 sys_arch_mbox_fetch(&conn->acceptmbox, &accept_ptr, 0); in netconn_accept()
519 NETCONN_MBOX_WAITING_DEC(conn); in netconn_accept()
521 if (conn->flags & NETCONN_FLAG_MBOXINVALID) { in netconn_accept()
531 API_EVENT(conn, NETCONN_EVT_RCVMINUS, 0); in netconn_accept()
546 API_MSG_VAR_REF(msg).conn = newconn; in netconn_accept()
556 LWIP_UNUSED_ARG(conn); in netconn_accept()
579 netconn_recv_data(struct netconn *conn, void **new_buf, u8_t apiflags) in netconn_recv_data() argument
586 LWIP_ERROR("netconn_recv: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_recv_data()
588 if (!NETCONN_RECVMBOX_WAITABLE(conn)) { in netconn_recv_data()
589 err_t err = netconn_err(conn); in netconn_recv_data()
597 NETCONN_MBOX_WAITING_INC(conn); in netconn_recv_data()
598 if (netconn_is_nonblocking(conn) || (apiflags & NETCONN_DONTBLOCK) || in netconn_recv_data()
599 (conn->flags & NETCONN_FLAG_MBOXCLOSED) || (conn->pending_err != ERR_OK)) { in netconn_recv_data()
600 if (sys_arch_mbox_tryfetch(&conn->recvmbox, &buf) == SYS_ARCH_TIMEOUT) { in netconn_recv_data()
602 NETCONN_MBOX_WAITING_DEC(conn); in netconn_recv_data()
603 err = netconn_err(conn); in netconn_recv_data()
608 if (conn->flags & NETCONN_FLAG_MBOXCLOSED) { in netconn_recv_data()
615 if (sys_arch_mbox_fetch(&conn->recvmbox, &buf, conn->recv_timeout) == SYS_ARCH_TIMEOUT) { in netconn_recv_data()
616 NETCONN_MBOX_WAITING_DEC(conn); in netconn_recv_data()
620 sys_arch_mbox_fetch(&conn->recvmbox, &buf, 0); in netconn_recv_data()
623 NETCONN_MBOX_WAITING_DEC(conn); in netconn_recv_data()
625 if (conn->flags & NETCONN_FLAG_MBOXINVALID) { in netconn_recv_data()
636 if (NETCONNTYPE_GROUP(conn->type) == NETCONN_TCP) in netconn_recv_data()
663 SYS_ARCH_DEC(conn->recv_avail, len); in netconn_recv_data()
666 API_EVENT(conn, NETCONN_EVT_RCVMINUS, len); in netconn_recv_data()
677 netconn_tcp_recvd_msg(struct netconn *conn, size_t len, struct api_msg *msg) in netconn_tcp_recvd_msg() argument
679 LWIP_ERROR("netconn_recv_tcp_pbuf: invalid conn", (conn != NULL) && in netconn_tcp_recvd_msg()
680 NETCONNTYPE_GROUP(netconn_type(conn)) == NETCONN_TCP, return ERR_ARG;); in netconn_tcp_recvd_msg()
682 msg->conn = conn; in netconn_tcp_recvd_msg()
689 netconn_tcp_recvd(struct netconn *conn, size_t len) in netconn_tcp_recvd() argument
693 LWIP_ERROR("netconn_recv_tcp_pbuf: invalid conn", (conn != NULL) && in netconn_tcp_recvd()
694 NETCONNTYPE_GROUP(netconn_type(conn)) == NETCONN_TCP, return ERR_ARG;); in netconn_tcp_recvd()
697 err = netconn_tcp_recvd_msg(conn, len, &API_VAR_REF(msg)); in netconn_tcp_recvd()
703 netconn_recv_data_tcp(struct netconn *conn, struct pbuf **new_buf, u8_t apiflags) in netconn_recv_data_tcp() argument
712 if (!NETCONN_RECVMBOX_WAITABLE(conn)) { in netconn_recv_data_tcp()
716 if (netconn_is_flag_set(conn, NETCONN_FIN_RX_PENDING)) { in netconn_recv_data_tcp()
717 netconn_clear_flags(conn, NETCONN_FIN_RX_PENDING); in netconn_recv_data_tcp()
727 err = netconn_recv_data(conn, (void **)new_buf, apiflags); in netconn_recv_data_tcp()
740 netconn_tcp_recvd_msg(conn, len, &API_VAR_REF(msg)); in netconn_recv_data_tcp()
749 netconn_set_flags(conn, NETCONN_FIN_RX_PENDING); in netconn_recv_data_tcp()
753 API_EVENT(conn, NETCONN_EVT_RCVMINUS, 0); in netconn_recv_data_tcp()
754 if (conn->pcb.ip == NULL) { in netconn_recv_data_tcp()
756 err = netconn_err(conn); in netconn_recv_data_tcp()
763 netconn_close_shutdown(conn, NETCONN_SHUT_RD); in netconn_recv_data_tcp()
782 netconn_recv_tcp_pbuf(struct netconn *conn, struct pbuf **new_buf) in netconn_recv_tcp_pbuf() argument
784 LWIP_ERROR("netconn_recv_tcp_pbuf: invalid conn", (conn != NULL) && in netconn_recv_tcp_pbuf()
785 NETCONNTYPE_GROUP(netconn_type(conn)) == NETCONN_TCP, return ERR_ARG;); in netconn_recv_tcp_pbuf()
787 return netconn_recv_data_tcp(conn, new_buf, 0); in netconn_recv_tcp_pbuf()
803 netconn_recv_tcp_pbuf_flags(struct netconn *conn, struct pbuf **new_buf, u8_t apiflags) in netconn_recv_tcp_pbuf_flags() argument
805 LWIP_ERROR("netconn_recv_tcp_pbuf: invalid conn", (conn != NULL) && in netconn_recv_tcp_pbuf_flags()
806 NETCONNTYPE_GROUP(netconn_type(conn)) == NETCONN_TCP, return ERR_ARG;); in netconn_recv_tcp_pbuf_flags()
808 return netconn_recv_data_tcp(conn, new_buf, apiflags); in netconn_recv_tcp_pbuf_flags()
822 netconn_recv_udp_raw_netbuf(struct netconn *conn, struct netbuf **new_buf) in netconn_recv_udp_raw_netbuf() argument
824 LWIP_ERROR("netconn_recv_udp_raw_netbuf: invalid conn", (conn != NULL) && in netconn_recv_udp_raw_netbuf()
825 NETCONNTYPE_GROUP(netconn_type(conn)) != NETCONN_TCP, return ERR_ARG;); in netconn_recv_udp_raw_netbuf()
827 return netconn_recv_data(conn, (void **)new_buf, 0); in netconn_recv_udp_raw_netbuf()
842 netconn_recv_udp_raw_netbuf_flags(struct netconn *conn, struct netbuf **new_buf, u8_t apiflags) in netconn_recv_udp_raw_netbuf_flags() argument
844 LWIP_ERROR("netconn_recv_udp_raw_netbuf: invalid conn", (conn != NULL) && in netconn_recv_udp_raw_netbuf_flags()
845 NETCONNTYPE_GROUP(netconn_type(conn)) != NETCONN_TCP, return ERR_ARG;); in netconn_recv_udp_raw_netbuf_flags()
847 return netconn_recv_data(conn, (void **)new_buf, apiflags); in netconn_recv_udp_raw_netbuf_flags()
860 netconn_recv(struct netconn *conn, struct netbuf **new_buf) in netconn_recv() argument
869 LWIP_ERROR("netconn_recv: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_recv()
873 if (NETCONNTYPE_GROUP(conn->type) == NETCONN_TCP) in netconn_recv()
884 err = netconn_recv_data_tcp(conn, &p, 0); in netconn_recv()
905 return netconn_recv_data(conn, (void **)new_buf, 0); in netconn_recv()
922 netconn_sendto(struct netconn *conn, struct netbuf *buf, const ip_addr_t *addr, u16_t port) in netconn_sendto() argument
927 return netconn_send(conn, buf); in netconn_sendto()
941 netconn_send(struct netconn *conn, struct netbuf *buf) in netconn_send() argument
946 LWIP_ERROR("netconn_send: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_send()
951 API_MSG_VAR_REF(msg).conn = conn; in netconn_send()
974 netconn_write_partly(struct netconn *conn, const void *dataptr, size_t size, in netconn_write_partly() argument
980 return netconn_write_vectors_partly(conn, &vector, 1, apiflags, bytes_written); in netconn_write_partly()
997 netconn_write_vectors_partly(struct netconn *conn, struct netvector *vectors, u16_t vectorcnt, in netconn_write_vectors_partly() argument
1006 LWIP_ERROR("netconn_write: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_write_vectors_partly()
1007 …LWIP_ERROR("netconn_write: invalid conn->type", (NETCONNTYPE_GROUP(conn->type) == NETCONN_TCP), r… in netconn_write_vectors_partly()
1008 dontblock = netconn_is_nonblocking(conn) || (apiflags & NETCONN_DONTBLOCK); in netconn_write_vectors_partly()
1010 if (conn->send_timeout != 0) { in netconn_write_vectors_partly()
1044 API_MSG_VAR_REF(msg).conn = conn; in netconn_write_vectors_partly()
1052 if (conn->send_timeout != 0) { in netconn_write_vectors_partly()
1089 netconn_close_shutdown(struct netconn *conn, u8_t how) in netconn_close_shutdown() argument
1095 LWIP_ERROR("netconn_close: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_close_shutdown()
1098 API_MSG_VAR_REF(msg).conn = conn; in netconn_close_shutdown()
1125 netconn_close(struct netconn *conn) in netconn_close() argument
1128 return netconn_close_shutdown(conn, NETCONN_SHUT_RDWR); in netconn_close()
1139 netconn_err(struct netconn *conn) in netconn_err() argument
1143 if (conn == NULL) { in netconn_err()
1147 err = conn->pending_err; in netconn_err()
1148 conn->pending_err = ERR_OK; in netconn_err()
1163 netconn_shutdown(struct netconn *conn, u8_t shut_rx, u8_t shut_tx) in netconn_shutdown() argument
1165 …return netconn_close_shutdown(conn, (u8_t)((shut_rx ? NETCONN_SHUT_RD : 0) | (shut_tx ? NETCONN_SH… in netconn_shutdown()
1181 netconn_join_leave_group(struct netconn *conn, in netconn_join_leave_group() argument
1189 LWIP_ERROR("netconn_join_leave_group: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_join_leave_group()
1203 API_MSG_VAR_REF(msg).conn = conn; in netconn_join_leave_group()
1223 netconn_join_leave_group_netif(struct netconn *conn, in netconn_join_leave_group_netif() argument
1231 LWIP_ERROR("netconn_join_leave_group: invalid conn", (conn != NULL), return ERR_ARG;); in netconn_join_leave_group_netif()
1245 API_MSG_VAR_REF(msg).conn = conn; in netconn_join_leave_group_netif()