Lines Matching defs:ifc

442 	struct if_clone *ifc;
449 ifc = if_clone_lookup(name, &unit);
450 if (ifc == NULL)
462 while ((bytoff < ifc->ifc_bmlen)
463 && (ifc->ifc_units[bytoff] == 0xff))
465 if (bytoff >= ifc->ifc_bmlen)
467 while ((ifc->ifc_units[bytoff] & (1 << bitoff)) != 0)
472 if (unit > ifc->ifc_maxunit)
475 err = (*ifc->ifc_create)(ifc, unit, params);
487 KASSERT((ifc->ifc_units[bytoff] & (1 << bitoff)) == 0,
489 ifc->ifc_units[bytoff] |= (1 << bitoff);
516 struct if_clone *ifc;
521 ifc = if_clone_lookup(name, &unit);
522 if (ifc == NULL)
525 if (unit < ifc->ifc_minifs)
532 if (ifc->ifc_destroy == NULL)
535 (*ifc->ifc_destroy)(ifp);
542 KASSERT((ifc->ifc_units[bytoff] & (1 << bitoff)) != 0,
544 ifc->ifc_units[bytoff] &= ~(1 << bitoff);
555 struct if_clone *ifc;
559 for (ifc = LIST_FIRST(&if_cloners); ifc != NULL;) {
560 for (cp = name, i = 0; i < ifc->ifc_namelen; i++, cp++) {
561 if (ifc->ifc_name[i] != *cp)
566 ifc = LIST_NEXT(ifc, ifc_list);
587 return (ifc);
594 if_clone_attach(struct if_clone *ifc)
601 KASSERT(ifc->ifc_minifs - 1 <= ifc->ifc_maxunit,
603 __func__, ifc->ifc_name, ifc->ifc_minifs,
604 ifc->ifc_maxunit + 1));
608 maxclone = ifc->ifc_maxunit + 1;
612 ifc->ifc_units = _MALLOC(len, M_CLONE, M_WAITOK | M_ZERO);
613 if (ifc->ifc_units == NULL)
615 bzero(ifc->ifc_units, len);
616 ifc->ifc_bmlen = len;
618 LIST_INSERT_HEAD(&if_cloners, ifc, ifc_list);
621 for (unit = 0; unit < ifc->ifc_minifs; unit++) {
622 err = (*ifc->ifc_create)(ifc, unit, NULL);
625 __func__, ifc->ifc_name, unit));
630 ifc->ifc_units[bytoff] |= (1 << bitoff);
640 if_clone_detach(struct if_clone *ifc)
643 LIST_REMOVE(ifc, ifc_list);
644 FREE(ifc->ifc_units, M_CLONE);
656 struct if_clone *ifc;
670 for (ifc = LIST_FIRST(&if_cloners); ifc != NULL && count != 0;
671 ifc = LIST_NEXT(ifc, ifc_list), count--, dst += IFNAMSIZ) {
672 strlcpy(outbuf, ifc->ifc_name, IFNAMSIZ);
1468 struct ifconf32 ifc;
1469 bcopy(data, &ifc, sizeof (ifc));
1470 error = ifconf(cmd, CAST_USER_ADDR_T(ifc.ifc_req),
1471 &ifc.ifc_len);
1472 bcopy(&ifc, data, sizeof (ifc));
1478 struct ifconf64 ifc;
1479 bcopy(data, &ifc, sizeof (ifc));
1480 error = ifconf(cmd, ifc.ifc_req, &ifc.ifc_len);
1481 bcopy(&ifc, data, sizeof (ifc));