MCPcopy Create free account
hub / github.com/F-Stack/f-stack / firewire_ioctl

Function firewire_ioctl

freebsd/net/if_fwsubr.c:640–684  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

638}
639
640int
641firewire_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
642{
643 struct ifaddr *ifa = (struct ifaddr *) data;
644 struct ifreq *ifr = (struct ifreq *) data;
645 int error = 0;
646
647 switch (command) {
648 case SIOCSIFADDR:
649 ifp->if_flags |= IFF_UP;
650
651 switch (ifa->ifa_addr->sa_family) {
652#ifdef INET
653 case AF_INET:
654 ifp->if_init(ifp->if_softc); /* before arpwhohas */
655 arp_ifinit(ifp, ifa);
656 break;
657#endif
658 default:
659 ifp->if_init(ifp->if_softc);
660 break;
661 }
662 break;
663
664 case SIOCGIFADDR:
665 bcopy(&IFP2FWC(ifp)->fc_hwaddr, &ifr->ifr_addr.sa_data[0],
666 sizeof(struct fw_hwaddr));
667 break;
668
669 case SIOCSIFMTU:
670 /*
671 * Set the interface MTU.
672 */
673 if (ifr->ifr_mtu > 1500) {
674 error = EINVAL;
675 } else {
676 ifp->if_mtu = ifr->ifr_mtu;
677 }
678 break;
679 default:
680 error = EINVAL; /* XXX netbsd has ENOTTY??? */
681 break;
682 }
683 return (error);
684}
685
686static int
687firewire_resolvemulti(struct ifnet *ifp, struct sockaddr **llsa,

Callers

nothing calls this directly

Calls 1

arp_ifinitFunction · 0.85

Tested by

no test coverage detected