1*23418Smckusick /* 2*23418Smckusick * Copyright (c) 1982 Regents of the University of California. 3*23418Smckusick * All rights reserved. The Berkeley software License Agreement 4*23418Smckusick * specifies the terms and conditions for redistribution. 5*23418Smckusick * 6*23418Smckusick * @(#)uipc_pipe.c 6.3 (Berkeley) 06/08/85 7*23418Smckusick */ 84904Swnj 917102Sbloom #include "param.h" 1017102Sbloom #include "mbuf.h" 1117102Sbloom #include "protosw.h" 1217102Sbloom #include "socket.h" 1317102Sbloom #include "socketvar.h" 1417102Sbloom #include "unpcb.h" 154904Swnj 164904Swnj #define PIPSIZ 4096 174904Swnj 184904Swnj /* 198964Sroot * Sneakily connect a pipe from wso to rso. 208964Sroot * This will get cleaned up when socketpair is added. 214904Swnj */ 224927Swnj piconnect(wso, rso) 234904Swnj struct socket *wso, *rso; 244904Swnj { 254904Swnj 267180Swnj /* when we reserve memory this routine may fail */ 278964Sroot sotounpcb(wso)->unp_conn = sotounpcb(rso); 288964Sroot sotounpcb(rso)->unp_conn = sotounpcb(wso); 294981Swnj wso->so_snd.sb_hiwat = PIPSIZ; 304981Swnj wso->so_snd.sb_mbmax = 2*PIPSIZ; 314904Swnj wso->so_state |= SS_ISCONNECTED|SS_CANTRCVMORE; 324981Swnj rso->so_rcv.sb_hiwat = 0; 334981Swnj rso->so_rcv.sb_mbmax = 0; 344904Swnj rso->so_state |= SS_ISCONNECTED|SS_CANTSENDMORE; 354904Swnj return (1); 364904Swnj } 37