1 /* uipc_pipe.c 6.2 84/08/29 */ 2 3 #include "param.h" 4 #include "mbuf.h" 5 #include "protosw.h" 6 #include "socket.h" 7 #include "socketvar.h" 8 #include "unpcb.h" 9 10 #define PIPSIZ 4096 11 12 /* 13 * Sneakily connect a pipe from wso to rso. 14 * This will get cleaned up when socketpair is added. 15 */ 16 piconnect(wso, rso) 17 struct socket *wso, *rso; 18 { 19 20 /* when we reserve memory this routine may fail */ 21 sotounpcb(wso)->unp_conn = sotounpcb(rso); 22 sotounpcb(rso)->unp_conn = sotounpcb(wso); 23 wso->so_snd.sb_hiwat = PIPSIZ; 24 wso->so_snd.sb_mbmax = 2*PIPSIZ; 25 wso->so_state |= SS_ISCONNECTED|SS_CANTRCVMORE; 26 rso->so_rcv.sb_hiwat = 0; 27 rso->so_rcv.sb_mbmax = 0; 28 rso->so_state |= SS_ISCONNECTED|SS_CANTSENDMORE; 29 return (1); 30 } 31