diff -U5 -r /tmp/@1096.1/current/include/sys/socket.h net/tcpip/current/include/sys/socket.h --- /tmp/@1096.1/current/include/sys/socket.h Mon Jul 14 11:00:40 2003 +++ net/tcpip/current/include/sys/socket.h Mon Jul 14 10:59:38 2003 @@ -131,10 +131,11 @@ #define SO_SNDTIMEO 0x1005 /* send timeout */ #define SO_RCVTIMEO 0x1006 /* receive timeout */ #define SO_ERROR 0x1007 /* get error status and clear */ #define SO_TYPE 0x1008 /* get socket type */ #define SO_NETPROC 0x1020 /* multiplex; network processing */ +#define SO_CANTRCVMORE 0x1800 /* get SS_CANTRCVMORE state */ /* * Structure used for manipulating linger option. */ struct linger { diff -U5 -r /tmp/@1096.1/current/src/sys/kern/uipc_socket.c net/tcpip/current/src/sys/kern/uipc_socket.c --- /tmp/@1096.1/current/src/sys/kern/uipc_socket.c Mon Jul 14 11:00:46 2003 +++ net/tcpip/current/src/sys/kern/uipc_socket.c Mon Jul 14 10:37:16 2003 @@ -1118,10 +1118,14 @@ case SO_ERROR: *mtod(m, int *) = so->so_error; so->so_error = 0; break; + + case SO_CANTRCVMORE: + *mtod(m, int *) = so->so_state & SS_CANTRCVMORE; + break; case SO_SNDBUF: *mtod(m, int *) = so->so_snd.sb_hiwat; break; diff -U5 -r /tmp/@1096.1 net/tcpip