Lines Matching refs:greqs
705 static int copy_group_source_from_sockptr(struct group_source_req *greqs,
715 greqs->gsr_interface = gr32.gsr_interface;
716 greqs->gsr_group = gr32.gsr_group;
717 greqs->gsr_source = gr32.gsr_source;
719 if (optlen != sizeof(*greqs))
721 if (copy_from_sockptr(greqs, optval, sizeof(*greqs)))
731 struct group_source_req greqs;
736 err = copy_group_source_from_sockptr(&greqs, optval, optlen);
740 if (greqs.gsr_group.ss_family != AF_INET ||
741 greqs.gsr_source.ss_family != AF_INET)
744 psin = (struct sockaddr_in *)&greqs.gsr_group;
746 psin = (struct sockaddr_in *)&greqs.gsr_source;
759 psin = (struct sockaddr_in *)&greqs.gsr_group;
762 mreq.imr_ifindex = greqs.gsr_interface;
766 greqs.gsr_interface = mreq.imr_ifindex;
773 return ip_mc_source(add, omode, sk, &mreqs, greqs.gsr_interface);