Lines Matching refs:ioc
325 sfxge_vpd_ioctl(struct sfxge_softc *sc, sfxge_ioc_t *ioc) in sfxge_vpd_ioctl() argument
330 switch (ioc->u.vpd.op) { in sfxge_vpd_ioctl()
332 value.evv_tag = ioc->u.vpd.tag; in sfxge_vpd_ioctl()
333 value.evv_keyword = ioc->u.vpd.keyword; in sfxge_vpd_ioctl()
337 ioc->u.vpd.len = MIN(ioc->u.vpd.len, value.evv_length); in sfxge_vpd_ioctl()
338 if (ioc->u.vpd.payload != 0) { in sfxge_vpd_ioctl()
339 rc = copyout(value.evv_value, ioc->u.vpd.payload, in sfxge_vpd_ioctl()
340 ioc->u.vpd.len); in sfxge_vpd_ioctl()
344 if (ioc->u.vpd.len > sizeof(value.evv_value)) in sfxge_vpd_ioctl()
346 value.evv_tag = ioc->u.vpd.tag; in sfxge_vpd_ioctl()
347 value.evv_keyword = ioc->u.vpd.keyword; in sfxge_vpd_ioctl()
348 value.evv_length = ioc->u.vpd.len; in sfxge_vpd_ioctl()
349 rc = copyin(ioc->u.vpd.payload, value.evv_value, value.evv_length); in sfxge_vpd_ioctl()
369 sfxge_private_ioctl(struct sfxge_softc *sc, sfxge_ioc_t *ioc) in sfxge_private_ioctl() argument
371 switch (ioc->op) { in sfxge_private_ioctl()
373 return (sfxge_mcdi_ioctl(sc, ioc)); in sfxge_private_ioctl()
375 return (sfxge_nvram_ioctl(sc, ioc)); in sfxge_private_ioctl()
377 return (sfxge_vpd_ioctl(sc, ioc)); in sfxge_private_ioctl()
388 sfxge_ioc_t ioc; in sfxge_if_ioctl() local
550 error = copyin(ifr_data_get_ptr(ifr), &ioc, sizeof(ioc)); in sfxge_if_ioctl()
553 error = sfxge_private_ioctl(sc, &ioc); in sfxge_if_ioctl()
555 error = copyout(&ioc, ifr_data_get_ptr(ifr), in sfxge_if_ioctl()
556 sizeof(ioc)); in sfxge_if_ioctl()