| version 1.16, 1994/06/29 06:33:37 |
version 1.17, 1994/10/30 21:48:07 |
| Line 83 socreate(dom, aso, type, proto) |
|
| Line 83 socreate(dom, aso, type, proto) |
|
| so->so_state = SS_PRIV; |
so->so_state = SS_PRIV; |
| so->so_proto = prp; |
so->so_proto = prp; |
| error = |
error = |
| (*prp->pr_usrreq)(so, PRU_ATTACH, |
(*prp->pr_usrreq)(so, PRU_ATTACH, (struct mbuf *)0, |
| (struct mbuf *)0, (struct mbuf *)proto, (struct mbuf *)0); |
(struct mbuf *)(long)proto, (struct mbuf *)0); |
| if (error) { |
if (error) { |
| so->so_state |= SS_NOFDREF; |
so->so_state |= SS_NOFDREF; |
| sofree(so); |
sofree(so); |
| Line 521 soreceive(so, paddr, uio, mp0, controlp, |
|
| Line 521 soreceive(so, paddr, uio, mp0, controlp, |
|
| flags = 0; |
flags = 0; |
| if (flags & MSG_OOB) { |
if (flags & MSG_OOB) { |
| m = m_get(M_WAIT, MT_DATA); |
m = m_get(M_WAIT, MT_DATA); |
| error = (*pr->pr_usrreq)(so, PRU_RCVOOB, |
error = (*pr->pr_usrreq)(so, PRU_RCVOOB, m, |
| m, (struct mbuf *)(flags & MSG_PEEK), (struct mbuf *)0); |
(struct mbuf *)(long)(flags & MSG_PEEK), (struct mbuf *)0); |
| if (error) |
if (error) |
| goto bad; |
goto bad; |
| do { |
do { |
|
|
| so->so_rcv.sb_mb = nextrecord; |
so->so_rcv.sb_mb = nextrecord; |
| if (pr->pr_flags & PR_WANTRCVD && so->so_pcb) |
if (pr->pr_flags & PR_WANTRCVD && so->so_pcb) |
| (*pr->pr_usrreq)(so, PRU_RCVD, (struct mbuf *)0, |
(*pr->pr_usrreq)(so, PRU_RCVD, (struct mbuf *)0, |
| (struct mbuf *)flags, (struct mbuf *)0, |
(struct mbuf *)(long)flags, (struct mbuf *)0, |
| (struct mbuf *)0); |
(struct mbuf *)0); |
| } |
} |
| if (orig_resid == uio->uio_resid && orig_resid && |
if (orig_resid == uio->uio_resid && orig_resid && |