Lines Matching refs:sockets

50 struct inetboot_socket	sockets[MAXSOCKET] = { 0 };  variable
76 if (sockets[i].type == INETBOOT_UNUSED) { in so_check_fd()
101 sockets[i].type = INETBOOT_UNUSED; in socket()
111 if (sockets[i].type == INETBOOT_UNUSED) in socket()
120 sockets[i].so_rcvbuf = SO_DEF_RCVBUF; in socket()
121 sockets[i].so_sndbuf = SO_DEF_SNDBUF; in socket()
130 ipv4_raw_socket(&sockets[i], (uint8_t)protocol); in socket()
133 udp_socket_init(&sockets[i]); in socket()
136 tcp_socket_init(&sockets[i]); in socket()
147 ipv4_socket_init(&sockets[i]); in socket()
150 mac_socket_init(&sockets[i]); in socket()
170 *((struct sockaddr_in *)name) = sockets[i].bind; in getsockname()
197 *(uint32_t *)optval = sockets[i].in_timeout; in getsockopt()
206 (sockets[i].out_flags & SO_DONTROUTE); in getsockopt()
215 (sockets[i].so_opt & SO_REUSEADDR); in getsockopt()
223 *(int *)optval = sockets[i].so_rcvbuf; in getsockopt()
231 *(int *)optval = sockets[i].so_sndbuf; in getsockopt()
240 *(struct linger *)optval = sockets[i].so_linger; in getsockopt()
318 sockets[i].in_timeout = *(uint32_t *)optval; in setsockopt()
326 sockets[i].out_flags |= SO_DONTROUTE; in setsockopt()
328 sockets[i].out_flags &= ~SO_DONTROUTE; in setsockopt()
336 sockets[i].so_opt |= SO_REUSEADDR; in setsockopt()
338 sockets[i].so_opt &= ~SO_REUSEADDR; in setsockopt()
345 sockets[i].so_rcvbuf = *(int *)optval; in setsockopt()
346 if (sockets[i].so_rcvbuf > SO_MAX_BUF) in setsockopt()
347 sockets[i].so_rcvbuf = SO_MAX_BUF; in setsockopt()
348 (void) tcp_opt_set(sockets[i].pcb, in setsockopt()
356 sockets[i].so_sndbuf = *(int *)optval; in setsockopt()
357 if (sockets[i].so_sndbuf > SO_MAX_BUF) in setsockopt()
358 sockets[i].so_sndbuf = SO_MAX_BUF; in setsockopt()
359 (void) tcp_opt_set(sockets[i].pcb, in setsockopt()
368 sockets[i].so_linger = *(struct linger *)optval; in setsockopt()
369 (void) tcp_opt_set(sockets[i].pcb, in setsockopt()
417 if (sockets[sock_id].type != INETBOOT_STREAM) { in shutdown()
422 if (!(sockets[sock_id].so_state & SS_ISCONNECTED)) { in shutdown()
429 sockets[sock_id].so_state |= SS_CANTRCVMORE; in shutdown()
432 sockets[sock_id].so_state |= SS_CANTSENDMORE; in shutdown()
435 sockets[sock_id].so_state |= (SS_CANTRCVMORE | SS_CANTSENDMORE); in shutdown()
442 switch (sockets[sock_id].so_state & in shutdown()
447 if (sockets[sock_id].close[i] != NULL) { in shutdown()
448 (void) sockets[sock_id].close[i](sock_id); in shutdown()
451 nuke_grams(&sockets[sock_id].inq); in shutdown()
454 nuke_grams(&sockets[sock_id].inq); in shutdown()
483 if (sockets[sock_id].close[i] != NULL) { in socket_close()
493 (void) sockets[sock_id].close[i](sock_id); in socket_close()
502 nuke_grams(&sockets[sock_id].inq); in socket_close()
504 bzero((caddr_t)&sockets[sock_id], sizeof (struct inetboot_socket)); in socket_close()
505 sockets[sock_id].type = INETBOOT_UNUSED; in socket_close()
559 if (! (sockets[sock_id].so_opt & SO_REUSEADDR)) { in bind_check()
561 if (sockets[k].type != INETBOOT_UNUSED && in bind_check()
562 sockets[k].proto == sockets[sock_id].proto && in bind_check()
563 sockets[k].bound) { in bind_check()
564 if ((sockets[k].bind.sin_addr.s_addr == in bind_check()
566 (sockets[k].bind.sin_port == in bind_check()
590 if (sockets[i].bound) { in bind()
591 bzero((caddr_t)&sockets[i].bind, in bind()
593 sockets[i].bound = B_FALSE; in bind()
605 if (sockets[i].bound) { in bind()
606 if (bcmp((caddr_t)&sockets[i].bind, (caddr_t)name, in bind()
623 bcopy((caddr_t)name, (caddr_t)&sockets[i].bind, namelen); in bind()
624 if (sockets[i].type == INETBOOT_STREAM) { in bind()
629 sockets[i].bound = B_TRUE; in bind()
657 bcopy((caddr_t)&addr, (caddr_t)&sockets[sock_id].bind, in quickbind()
659 sockets[sock_id].bound = B_TRUE; in quickbind()
662 inet_ntoa(sockets[sock_id].bind.sin_addr), in quickbind()
663 ntohs(sockets[sock_id].bind.sin_port)); in quickbind()
680 if (sockets[sock_id].type != INETBOOT_STREAM) { in listen()
684 if (sockets[sock_id].so_error != 0) { in listen()
685 errno = sockets[sock_id].so_error; in listen()
701 if (sockets[sock_id].type != INETBOOT_STREAM) { in accept()
705 if (sockets[sock_id].so_error != 0) { in accept()
706 errno = sockets[sock_id].so_error; in accept()
712 sockets[sock_id].so_state |= SS_ISCONNECTED; in accept()
726 so_type = sockets[sock_id].type; in connect()
738 if (sockets[sock_id].so_state & SS_ISCONNECTED) { in connect()
743 if (sockets[sock_id].so_error != 0) { in connect()
744 errno = sockets[sock_id].so_error; in connect()
749 if (!sockets[sock_id].bound) { in connect()
762 bcopy((caddr_t)addr, &sockets[sock_id].remote, in connect()
765 if (sockets[sock_id].type == INETBOOT_STREAM) { in connect()
768 sockets[sock_id].so_state |= SS_ISCONNECTED; in connect()
770 if (sockets[sock_id].so_error != 0) in connect()
771 errno = sockets[sock_id].so_error; in connect()
775 sockets[sock_id].so_state |= SS_ISCONNECTED; in connect()
811 if (sockets[sock_id].type == INETBOOT_STREAM && in recvfrom()
812 !(sockets[sock_id].so_state & SS_ISCONNECTED)) { in recvfrom()
828 if (sockets[sock_id].inq == NULL) { in recvfrom()
831 if (sockets[sock_id].input[i] != NULL) { in recvfrom()
832 if (sockets[sock_id].input[i](sock_id) < 0) { in recvfrom()
833 if (sockets[sock_id].so_error != 0) { in recvfrom()
835 sockets[sock_id].so_error; in recvfrom()
843 so_type = sockets[sock_id].type; in recvfrom()
846 while ((icp = sockets[sock_id].inq) != NULL) { in recvfrom()
854 del_gram(&sockets[sock_id].inq, icp, B_TRUE); in recvfrom()
868 if (sockets[sock_id].so_state & SS_CANTRCVMORE) { in recvfrom()
869 if (sockets[sock_id].so_error != 0) { in recvfrom()
870 errno = sockets[sock_id].so_error; in recvfrom()
889 bcopy(&(sockets[sock_id].remote), from, MIN(*fromlen, in recvfrom()
911 del_gram(&sockets[sock_id].inq, icp, B_TRUE); in recvfrom()
930 del_gram(&sockets[sock_id].inq, icp, B_TRUE); in recvfrom()
936 while ((icp = sockets[sock_id].inq) != NULL) { in recvfrom()
939 del_gram(&sockets[sock_id].inq, icp, in recvfrom()
948 sockets[sock_id].so_rcvbuf += (int32_t)bytes; in recvfrom()
957 del_gram(&sockets[sock_id].inq, icp, B_TRUE); in recvfrom()
967 del_gram(&sockets[sock_id].inq, icp, B_TRUE); in recvfrom()
1008 so_type = sockets[sock_id].type; in sendto()
1013 if (sockets[sock_id].so_error != 0) { in sendto()
1014 errno = sockets[sock_id].so_error; in sendto()
1025 if (!(sockets[sock_id].so_state & SS_ISCONNECTED) && in sendto()
1033 if (!((sockets[sock_id].so_state & SS_ISCONNECTED) || in sendto()
1034 (sockets[sock_id].so_state & SS_ISCONNECTING))) { in sendto()
1038 if (sockets[sock_id].so_state & SS_CANTSENDMORE) { in sendto()
1069 nuke_grams(&sockets[i].inq); /* flush the input queue */ in dgram_sendto()
1072 offset = sockets[i].headerlen[MEDIA_LVL](NULL) + in dgram_sendto()
1073 (sockets[i].headerlen[NETWORK_LVL])(NULL); in dgram_sendto()
1076 if (sockets[i].type != INETBOOT_RAW) { in dgram_sendto()
1077 offset += (sockets[i].headerlen[TRANSPORT_LVL])(NULL); in dgram_sendto()
1086 bcopy((caddr_t)&sockets[i].remote, (caddr_t)&oc.igm_saddr, in dgram_sendto()
1091 if (sockets[i].bound == B_FALSE && in dgram_sendto()
1098 if (sockets[i].type == INETBOOT_DGRAM) { in dgram_sendto()
1113 if (sockets[i].output[l] != NULL) { in dgram_sendto()
1114 if (sockets[i].output[l](i, &oc) < 0) { in dgram_sendto()
1132 assert(sockets[i].pcb != NULL); in stream_sendto()
1141 if ((cnt = tcp_send(i, sockets[i].pcb, msg, len)) < 0) { in stream_sendto()
1142 if (sockets[i].so_error != 0) in stream_sendto()
1143 errno = sockets[i].so_error; in stream_sendto()