Lines Matching refs:control
485 struct mbuf *to, *control; local
521 if (error = sockargs(&control, mp->msg_control,
528 M_PREPEND(control, sizeof(*cm), M_WAIT);
529 if (control == 0) {
533 cm = mtod(control, struct cmsghdr *);
534 cm->cmsg_len = control->m_len;
541 control = 0;
552 (struct mbuf *)0, control, flags)) {
762 struct mbuf *from = 0, *control = 0; local
792 (struct mbuf **)0, mp->msg_control ? &control : (struct mbuf **)0,
846 if (control && mp->msg_flags & MSG_COMPAT) {
847 if (mtod(control, struct cmsghdr *)->cmsg_level !=
849 mtod(control, struct cmsghdr *)->cmsg_type !=
854 control->m_len -= sizeof (struct cmsghdr);
855 control->m_data += sizeof (struct cmsghdr);
859 if (len <= 0 || control == 0)
862 if (len >= control->m_len)
863 len = control->m_len;
866 error = copyout((caddr_t)mtod(control, caddr_t),
874 if (control)
875 m_freem(control);