Lines Matching refs:sock

107   struct lwip_sock *sock;
197 struct lwip_sock *sock;
205 sock = &sockets[s];
207 if (!sock->conn) {
213 return sock;
276 * @param sock the socket to free
280 free_socket(struct lwip_sock *sock, int is_tcp)
285 lastdata = sock->lastdata;
286 sock->lastdata = NULL;
287 sock->lastoffset = 0;
288 sock->err = 0;
292 sock->conn = NULL;
294 /* don't use 'sock' after this line, as another task might have allocated it */
314 struct lwip_sock *sock, *nsock;
324 sock = get_socket(s);
325 if (!sock) {
329 if (netconn_is_nonblocking(sock->conn) && (sock->rcvevent <= 0)) {
331 sock_set_errno(sock, EWOULDBLOCK);
336 err = netconn_accept(sock->conn, &newconn);
339 if (netconn_type(sock->conn) != NETCONN_TCP) {
340 sock_set_errno(sock, EOPNOTSUPP);
343 sock_set_errno(sock, err_to_errno(err));
355 sock_set_errno(sock, err_to_errno(err));
379 sock_set_errno(sock, ENFILE);
396 LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_accept(%d) returning new sock=%d addr=", s, newsock));
400 sock_set_errno(sock, 0);
407 struct lwip_sock *sock;
413 sock = get_socket(s);
414 if (!sock) {
421 sock_set_errno(sock, err_to_errno(ERR_ARG)); return -1;);
431 err = netconn_bind(sock->conn, &local_addr, ntohs(local_port));
435 sock_set_errno(sock, err_to_errno(err));
440 sock_set_errno(sock, 0);
447 struct lwip_sock *sock;
452 sock = get_socket(s);
453 if (!sock) {
457 if(sock->conn != NULL) {
458 is_tcp = netconn_type(sock->conn) == NETCONN_TCP;
460 LWIP_ASSERT("sock->lastdata == NULL", sock->lastdata == NULL);
463 netconn_delete(sock->conn);
465 free_socket(sock, is_tcp);
473 struct lwip_sock *sock;
477 sock = get_socket(s);
478 if (!sock) {
485 sock_set_errno(sock, err_to_errno(ERR_ARG)); return -1;);
490 err = netconn_disconnect(sock->conn);
502 err = netconn_connect(sock->conn, &remote_addr, ntohs(remote_port));
507 sock_set_errno(sock, err_to_errno(err));
512 sock_set_errno(sock, 0);
527 struct lwip_sock *sock;
532 sock = get_socket(s);
533 if (!sock) {
540 err = netconn_listen_with_backlog(sock->conn, (u8_t)backlog);
544 if (netconn_type(sock->conn) != NETCONN_TCP) {
545 sock_set_errno(sock, EOPNOTSUPP);
548 sock_set_errno(sock, err_to_errno(err));
552 sock_set_errno(sock, 0);
560 struct lwip_sock *sock;
571 sock = get_socket(s);
572 if (!sock) {
577 LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_recvfrom: top while sock->lastdata=%p\n", sock->lastdata));
579 if (sock->lastdata) {
580 buf = sock->lastdata;
583 if (((flags & MSG_DONTWAIT) || netconn_is_nonblocking(sock->conn)) &&
584 (sock->rcvevent <= 0)) {
587 netconn_recved(sock->conn, (u32_t)off);
589 sock_set_errno(sock, 0);
593 sock_set_errno(sock, EWOULDBLOCK);
599 if (netconn_type(sock->conn) == NETCONN_TCP) {
600 err = netconn_recv_tcp_pbuf(sock->conn, (struct pbuf **)&buf);
602 err = netconn_recv(sock->conn, (struct netbuf **)&buf);
610 netconn_recved(sock->conn, (u32_t)off);
612 sock_set_errno(sock, 0);
618 sock_set_errno(sock, err_to_errno(err));
626 sock->lastdata = buf;
629 if (netconn_type(sock->conn) == NETCONN_TCP) {
635 LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_recvfrom: buflen=%"U16_F" len=%"SZT_F" off=%d sock->lastoffset=%"U16_F"\n",
636 buflen, len, off, sock->lastoffset));
638 buflen -= sock->lastoffset;
648 pbuf_copy_partial(p, (u8_t*)mem + off, copylen, sock->lastoffset);
652 if (netconn_type(sock->conn) == NETCONN_TCP) {
657 (sock->rcvevent <= 0) ||
671 if (netconn_type(sock->conn) == NETCONN_TCP) {
673 netconn_getaddr(sock->conn, addr, &port, 0);
696 if (netconn_type(sock->conn) == NETCONN_TCP) {
698 netconn_getaddr(sock->conn, addr, &port, 0);
714 buffer. If so, it should be saved in the sock structure for next
716 if ((netconn_type(sock->conn) == NETCONN_TCP) && (buflen - copylen > 0)) {
717 sock->lastdata = buf;
718 sock->lastoffset += copylen;
721 sock->lastdata = NULL;
722 sock->lastoffset = 0;
724 if (netconn_type(sock->conn) == NETCONN_TCP) {
735 netconn_recved(sock->conn, (u32_t)off);
737 sock_set_errno(sock, 0);
756 struct lwip_sock *sock;
764 sock = get_socket(s);
765 if (!sock) {
769 if (sock->conn->type != NETCONN_TCP) {
773 sock_set_errno(sock, err_to_errno(ERR_ARG));
782 err = netconn_write_partly(sock->conn, data, size, write_flags, &written);
785 sock_set_errno(sock, err_to_errno(err));
793 struct lwip_sock *sock;
802 sock = get_socket(s);
803 if (!sock) {
807 if (sock->conn->type == NETCONN_TCP) {
812 sock_set_errno(sock, err_to_errno(ERR_ARG));
823 sock_set_errno(sock, err_to_errno(ERR_ARG)); return -1;);
837 if (sock->conn->type != NETCONN_RAW) {
852 remote_addr = &sock->conn->pcb.ip->remote_ip;
854 if (NETCONNTYPE_GROUP(sock->conn->type) == NETCONN_UDP) {
855 remote_port = sock->conn->pcb.udp->remote_port;
864 if (netconn_type(sock->conn) == NETCONN_RAW) {
866 err = sock->conn->last_err = raw_sendto(sock->conn->pcb.raw, p, remote_addr);
877 err = sock->conn->last_err = udp_sendto_chksum(sock->conn->pcb.udp, p,
880 err = sock->conn->last_err = udp_sendto(sock->conn->pcb.udp, p,
922 if (sock->conn->type != NETCONN_RAW) {
937 err = netconn_send(sock->conn, &buf);
943 sock_set_errno(sock, err_to_errno(err));
1031 struct lwip_sock *sock;
1047 sock = tryget_socket(i);
1048 if (sock != NULL) {
1049 lastdata = sock->lastdata;
1050 rcvevent = sock->rcvevent;
1051 sendevent = sock->sendevent;
1052 errevent = sock->errevent;
1156 struct lwip_sock *sock = tryget_socket(i);
1157 LWIP_ASSERT("sock != NULL", sock != NULL);
1159 sock->select_waiting++;
1160 LWIP_ASSERT("sock->select_waiting > 0", sock->select_waiting > 0);
1188 struct lwip_sock *sock = tryget_socket(i);
1189 LWIP_ASSERT("sock != NULL", sock != NULL);
1191 sock->select_waiting--;
1192 LWIP_ASSERT("sock->select_waiting >= 0", sock->select_waiting >= 0);
1250 struct lwip_sock *sock;
1278 sock = get_socket(s);
1279 if (!sock) {
1290 sock->rcvevent++;
1293 sock->rcvevent--;
1296 sock->sendevent = 1;
1299 sock->sendevent = 0;
1302 sock->errevent = 1;
1309 if (sock->select_waiting == 0) {
1327 if (sock->rcvevent > 0) {
1332 if (sock->sendevent != 0) {
1337 if (sock->errevent != 0) {
1369 struct lwip_sock *sock;
1375 sock = get_socket(s);
1376 if (!sock) {
1380 if (sock->conn != NULL) {
1381 if (netconn_type(sock->conn) != NETCONN_TCP) {
1382 sock_set_errno(sock, EOPNOTSUPP);
1386 sock_set_errno(sock, ENOTCONN);
1398 sock_set_errno(sock, EINVAL);
1401 err = netconn_shutdown(sock->conn, shut_rx, shut_tx);
1403 sock_set_errno(sock, err_to_errno(err));
1410 struct lwip_sock *sock;
1414 sock = get_socket(s);
1415 if (!sock) {
1424 netconn_getaddr(sock->conn, &naddr, &sin.sin_port, local);
1438 sock_set_errno(sock, 0);
1458 struct lwip_sock *sock = get_socket(s);
1461 if (!sock) {
1466 sock_set_errno(sock, EFAULT);
1513 if ((sock->conn->type != NETCONN_UDP) ||
1514 ((udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_UDPLITE) != 0)) {
1555 if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {
1577 if (sock->conn->type != NETCONN_TCP)
1606 if (sock->conn->type != NETCONN_UDPLITE) {
1631 sock_set_errno(sock, err);
1636 data.sock = sock;
1646 sys_arch_sem_wait(&sock->conn->op_completed, 0);
1650 sock_set_errno(sock, err);
1657 struct lwip_sock *sock;
1668 sock = data->sock;
1694 *(int*)optval = ip_get_option(sock->conn->pcb.ip, optname);
1700 switch (NETCONNTYPE_GROUP(sock->conn->type)) {
1711 *(int*)optval = sock->conn->type;
1715 } /* switch (sock->conn->type) */
1722 if ((sock->err == 0) || (sock->err == EINPROGRESS)) {
1723 sock_set_errno(sock, err_to_errno(sock->conn->last_err));
1725 *(int *)optval = sock->err;
1726 sock->err = 0;
1733 *(int *)optval = netconn_get_sendtimeout(sock->conn);
1738 *(int *)optval = netconn_get_recvtimeout(sock->conn);
1743 *(int *)optval = netconn_get_recvbufsize(sock->conn);
1748 *(int*)optval = (udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_NOCHKSUM) ? 1 : 0;
1761 *(int*)optval = sock->conn->pcb.ip->ttl;
1766 *(int*)optval = sock->conn->pcb.ip->tos;
1772 *(u8_t*)optval = sock->conn->pcb.ip->ttl;
1777 inet_addr_from_ipaddr((struct in_addr*)optval, &sock->conn->pcb.udp->multicast_ip);
1782 if ((sock->conn->pcb.udp->flags & UDP_FLAGS_MULTICAST_LOOP) != 0) {
1802 *(int*)optval = tcp_nagle_disabled(sock->conn->pcb.tcp);
1807 *(int*)optval = (int)sock->conn->pcb.tcp->keep_idle;
1814 *(int*)optval = (int)(sock->conn->pcb.tcp->keep_idle/1000);
1819 *(int*)optval = (int)(sock->conn->pcb.tcp->keep_intvl/1000);
1824 *(int*)optval = (int)sock->conn->pcb.tcp->keep_cnt;
1840 *(int*)optval = sock->conn->pcb.udp->chksum_len_tx;
1845 *(int*)optval = sock->conn->pcb.udp->chksum_len_rx;
1859 sys_sem_signal(&sock->conn->op_completed);
1865 struct lwip_sock *sock = get_socket(s);
1869 if (!sock) {
1874 sock_set_errno(sock, EFAULT);
1917 if ((sock->conn->type != NETCONN_UDP) ||
1918 ((udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_UDPLITE) != 0)) {
1948 if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {
1956 if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {
1964 if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {
1973 if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {
1994 if (sock->conn->type != NETCONN_TCP)
2023 if (sock->conn->type != NETCONN_UDPLITE)
2047 sock_set_errno(sock, err);
2053 data.sock = sock;
2063 sys_arch_sem_wait(&sock->conn->op_completed, 0);
2067 sock_set_errno(sock, err);
2074 struct lwip_sock *sock;
2085 sock = data->sock;
2111 ip_set_option(sock->conn->pcb.ip, optname);
2113 ip_reset_option(sock->conn->pcb.ip, optname);
2120 netconn_set_sendtimeout(sock->conn, (s32_t)*(int*)optval);
2125 netconn_set_recvtimeout(sock->conn, *(int*)optval);
2130 netconn_set_recvbufsize(sock->conn, *(int*)optval);
2136 udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) | UDP_FLAGS_NOCHKSUM);
2138 udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) & ~UDP_FLAGS_NOCHKSUM);
2152 sock->conn->pcb.ip->ttl = (u8_t)(*(int*)optval);
2154 s, sock->conn->pcb.ip->ttl));
2157 sock->conn->pcb.ip->tos = (u8_t)(*(int*)optval);
2159 s, sock->conn->pcb.ip->tos));
2163 sock->conn->pcb.udp->ttl = (u8_t)(*(u8_t*)optval);
2166 inet_addr_to_ipaddr(&sock->conn->pcb.udp->multicast_ip, (struct in_addr*)optval);
2170 udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) | UDP_FLAGS_MULTICAST_LOOP);
2172 udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) & ~UDP_FLAGS_MULTICAST_LOOP);
2207 tcp_nagle_disable(sock->conn->pcb.tcp);
2209 tcp_nagle_enable(sock->conn->pcb.tcp);
2215 sock->conn->pcb.tcp->keep_idle = (u32_t)(*(int*)optval);
2217 s, sock->conn->pcb.tcp->keep_idle));
2222 sock->conn->pcb.tcp->keep_idle = 1000*(u32_t)(*(int*)optval);
2224 s, sock->conn->pcb.tcp->keep_idle));
2227 sock->conn->pcb.tcp->keep_intvl = 1000*(u32_t)(*(int*)optval);
2229 s, sock->conn->pcb.tcp->keep_intvl));
2232 sock->conn->pcb.tcp->keep_cnt = (u32_t)(*(int*)optval);
2234 s, sock->conn->pcb.tcp->keep_cnt));
2250 sock->conn->pcb.udp->chksum_len_tx = 8;
2252 sock->conn->pcb.udp->chksum_len_tx = (u16_t)*(int*)optval;
2260 sock->conn->pcb.udp->chksum_len_rx = 8;
2262 sock->conn->pcb.udp->chksum_len_rx = (u16_t)*(int*)optval;
2277 sys_sem_signal(&sock->conn->op_completed);
2283 struct lwip_sock *sock = get_socket(s);
2290 if (!sock) {
2298 sock_set_errno(sock, EINVAL);
2302 SYS_ARCH_GET(sock->conn->recv_avail, recv_avail);
2309 if (sock->lastdata) {
2310 struct pbuf *p = (struct pbuf *)sock->lastdata;
2311 if (netconn_type(sock->conn) != NETCONN_TCP) {
2315 buflen -= sock->lastoffset;
2321 sock_set_errno(sock, 0);
2330 netconn_set_nonblocking(sock->conn, val);
2332 sock_set_errno(sock, 0);
2337 sock_set_errno(sock, ENOSYS); /* not yet implemented */
2349 struct lwip_sock *sock = get_socket(s);
2352 if (!sock || !sock->conn) {
2358 ret = netconn_is_nonblocking(sock->conn) ? O_NONBLOCK : 0;
2363 netconn_set_nonblocking(sock->conn, val & O_NONBLOCK);