- u.u_error = (*so->so_proto->pr_usrreq)(so, PRU_SHUTDOWN, (struct mbuf *)0, 0);
- return;
- }
-
- case SIOCSENDOOB: {
- char oob = *(char *)data;
- struct mbuf *m;
-
- m = m_get(M_DONTWAIT);
- if (m == 0) {
- u.u_error = ENOBUFS;
- return;
- }
- m->m_off = MMINOFF;
- m->m_len = sizeof (char);
- *mtod(m, char *) = oob;
- (*so->so_proto->pr_usrreq)(so, PRU_SENDOOB, m, 0);
- return;
- }
-
- case SIOCRCVOOB: {
- struct mbuf *m = m_get(M_DONTWAIT);
-
- if (m == 0) {
- u.u_error = ENOBUFS;
- return;
- }
- m->m_off = MMINOFF; *mtod(m, caddr_t) = 0;
- (*so->so_proto->pr_usrreq)(so, PRU_RCVOOB, m, 0);
- *(char *)data = *mtod(m, char *);
- (void) m_free(m);
- return;
+ return ((*so->so_proto->pr_usrreq)(so, PRU_SHUTDOWN,
+ (struct mbuf *)0, (struct mbuf *)0,
+ (struct socketopt *)0));
+ break;