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