Lines Matching refs:dcp
228 struct devctl_hdl *dcp; in dc_mkhndl() local
245 if ((dcp = calloc(1, sizeof (*dcp))) == NULL) { in dc_mkhndl()
249 if ((dcp->opath = strdup(path)) == NULL) { in dc_mkhndl()
250 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
256 dcp->hdltype = type; in dc_mkhndl()
257 dcp->fd = -1; in dc_mkhndl()
273 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
288 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
293 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
308 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
332 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
357 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
368 dcp->hdltype = DEVCTL_DEVICE; in dc_mkhndl()
380 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
391 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
399 if (((dcp->nodename = malloc(MAXNAMELEN)) == NULL) || in dc_mkhndl()
400 ((dcp->unitaddr = malloc(MAXNAMELEN)) == NULL)) { in dc_mkhndl()
401 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
408 (void) snprintf(dcp->nodename, MAXNAMELEN, "%s", nodename); in dc_mkhndl()
409 (void) snprintf(dcp->unitaddr, MAXNAMELEN, "%s", unitsep+1); in dc_mkhndl()
416 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
423 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
440 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
449 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
458 dcp->fd = dup(DCP(pc)->fd); in dc_mkhndl()
460 dcp->fd = open(iocpath, oflags); in dc_mkhndl()
462 if (dcp->fd == -1) { in dc_mkhndl()
468 devctl_release((devctl_hdl_t)dcp); in dc_mkhndl()
475 return ((devctl_hdl_t)dcp); in dc_mkhndl()
482 devctl_pm_raisepower(devctl_hdl_t dcp) in devctl_pm_raisepower() argument
486 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_raisepower()
487 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_raisepower()
492 rv = dc_cmd(DEVCTL_PM_RAISE_PWR, 0, DCP(dcp), NULL, NULL); in devctl_pm_raisepower()
504 devctl_pm_changepowerhigh(devctl_hdl_t dcp) in devctl_pm_changepowerhigh() argument
508 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_changepowerhigh()
509 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_changepowerhigh()
514 rv = dc_cmd(DEVCTL_PM_CHANGE_PWR_HIGH, 0, DCP(dcp), NULL, NULL); in devctl_pm_changepowerhigh()
526 devctl_pm_changepowerlow(devctl_hdl_t dcp) in devctl_pm_changepowerlow() argument
530 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_changepowerlow()
531 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_changepowerlow()
536 rv = dc_cmd(DEVCTL_PM_CHANGE_PWR_LOW, 0, DCP(dcp), NULL, NULL); in devctl_pm_changepowerlow()
548 devctl_pm_idlecomponent(devctl_hdl_t dcp) in devctl_pm_idlecomponent() argument
552 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_idlecomponent()
553 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_idlecomponent()
558 rv = dc_cmd(DEVCTL_PM_IDLE_COMP, 0, DCP(dcp), NULL, NULL); in devctl_pm_idlecomponent()
570 devctl_pm_busycomponent(devctl_hdl_t dcp) in devctl_pm_busycomponent() argument
574 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_busycomponent()
575 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_busycomponent()
580 rv = dc_cmd(DEVCTL_PM_BUSY_COMP, 0, DCP(dcp), NULL, NULL); in devctl_pm_busycomponent()
592 devctl_pm_testbusy(devctl_hdl_t dcp, uint_t *busystate) in devctl_pm_testbusy() argument
602 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_testbusy()
603 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_testbusy()
608 rv = dc_cmd(DEVCTL_PM_BUSY_COMP_TEST, 0, DCP(dcp), NULL, in devctl_pm_testbusy()
627 devctl_pm_failsuspend(devctl_hdl_t dcp) in devctl_pm_failsuspend() argument
631 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_failsuspend()
632 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_failsuspend()
637 rv = dc_cmd(DEVCTL_PM_FAIL_SUSPEND, 0, DCP(dcp), NULL, NULL); in devctl_pm_failsuspend()
645 devctl_pm_bus_teststrict(devctl_hdl_t dcp, uint_t *strict) in devctl_pm_bus_teststrict() argument
655 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_bus_teststrict()
660 rv = dc_cmd(DEVCTL_PM_BUS_STRICT_TEST, 0, DCP(dcp), NULL, in devctl_pm_bus_teststrict()
679 devctl_pm_device_promprintf(devctl_hdl_t dcp) in devctl_pm_device_promprintf() argument
683 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_device_promprintf()
684 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_device_promprintf()
689 rv = dc_cmd(DEVCTL_PM_PROM_PRINTF, 0, DCP(dcp), NULL, NULL); in devctl_pm_device_promprintf()
702 devctl_pm_device_changeonresume(devctl_hdl_t dcp) in devctl_pm_device_changeonresume() argument
706 if (dcp == NULL || (DCP(dcp)->hdltype != DEVCTL_PM_DEV && in devctl_pm_device_changeonresume()
707 DCP(dcp)->hdltype != DEVCTL_PM_BUS)) { in devctl_pm_device_changeonresume()
713 DCP(dcp), NULL, NULL); in devctl_pm_device_changeonresume()
725 devctl_pm_device_no_lower_power(devctl_hdl_t dcp) in devctl_pm_device_no_lower_power() argument
729 if (dcp == NULL || DCP(dcp)->hdltype != DEVCTL_PM_DEV) { in devctl_pm_device_no_lower_power()
734 rv = dc_cmd(DEVCTL_PM_NO_LOWER_POWER, 0, DCP(dcp), NULL, NULL); in devctl_pm_device_no_lower_power()
747 devctl_pm_bus_no_invol(devctl_hdl_t dcp) in devctl_pm_bus_no_invol() argument
751 if (dcp == NULL || DCP(dcp)->hdltype != DEVCTL_PM_BUS) { in devctl_pm_bus_no_invol()
756 rv = dc_cmd(DEVCTL_PM_BUS_NO_INVOL, 0, DCP(dcp), NULL, NULL); in devctl_pm_bus_no_invol()
767 devctl_device_online(devctl_hdl_t dcp) in devctl_device_online() argument
771 if (dcp == NULL || DCP(dcp)->hdltype != DEVCTL_DEVICE) { in devctl_device_online()
776 rv = dc_cmd(DEVCTL_DEVICE_ONLINE, 0, DCP(dcp), NULL, NULL); in devctl_device_online()
788 devctl_device_offline(devctl_hdl_t dcp) in devctl_device_offline() argument
792 if (dcp == NULL || DCP(dcp)->hdltype != DEVCTL_DEVICE) { in devctl_device_offline()
797 rv = dc_cmd(DEVCTL_DEVICE_OFFLINE, 0, DCP(dcp), NULL, NULL); in devctl_device_offline()
809 devctl_device_remove(devctl_hdl_t dcp) in devctl_device_remove() argument
813 if (dcp == NULL || DCP(dcp)->hdltype != DEVCTL_DEVICE) { in devctl_device_remove()
818 rv = dc_cmd(DEVCTL_DEVICE_REMOVE, 0, DCP(dcp), NULL, NULL); in devctl_device_remove()
831 devctl_bus_quiesce(devctl_hdl_t dcp) in devctl_bus_quiesce() argument
835 rv = dc_cmd(DEVCTL_BUS_QUIESCE, 0, DCP(dcp), NULL, NULL); in devctl_bus_quiesce()
844 devctl_bus_unquiesce(devctl_hdl_t dcp) in devctl_bus_unquiesce() argument
848 rv = dc_cmd(DEVCTL_BUS_UNQUIESCE, 0, DCP(dcp), NULL, NULL); in devctl_bus_unquiesce()
857 devctl_bus_reset(devctl_hdl_t dcp) in devctl_bus_reset() argument
861 rv = dc_cmd(DEVCTL_BUS_RESET, 0, DCP(dcp), NULL, NULL); in devctl_bus_reset()
870 devctl_bus_resetall(devctl_hdl_t dcp) in devctl_bus_resetall() argument
874 rv = dc_cmd(DEVCTL_BUS_RESETALL, 0, DCP(dcp), NULL, NULL); in devctl_bus_resetall()
883 devctl_device_reset(devctl_hdl_t dcp) in devctl_device_reset() argument
887 rv = dc_cmd(DEVCTL_DEVICE_RESET, 0, DCP(dcp), NULL, NULL); in devctl_device_reset()
896 devctl_device_getstate(devctl_hdl_t dcp, uint_t *devstate) in devctl_device_getstate() argument
906 rv = dc_cmd(DEVCTL_DEVICE_GETSTATE, 0, DCP(dcp), NULL, in devctl_device_getstate()
922 devctl_bus_getstate(devctl_hdl_t dcp, uint_t *devstate) in devctl_bus_getstate() argument
932 rv = dc_cmd(DEVCTL_BUS_GETSTATE, 0, DCP(dcp), NULL, in devctl_bus_getstate()
948 devctl_bus_configure(devctl_hdl_t dcp) in devctl_bus_configure() argument
952 rv = dc_cmd(DEVCTL_BUS_CONFIGURE, 0, DCP(dcp), NULL, NULL); in devctl_bus_configure()
961 devctl_bus_unconfigure(devctl_hdl_t dcp) in devctl_bus_unconfigure() argument
965 rv = dc_cmd(DEVCTL_BUS_UNCONFIGURE, 0, DCP(dcp), NULL, NULL); in devctl_bus_unconfigure()
981 devctl_bus_dev_create(devctl_hdl_t dcp, devctl_ddef_t ddef_hdl, in devctl_bus_dev_create() argument
988 if (dcp == NULL || ddef_hdl == NULL) { in devctl_bus_dev_create()
994 rv = dc_cmd(DEVCTL_BUS_DEV_CREATE, flags, DCP(dcp), in devctl_bus_dev_create()
1004 (void) strcat(devpath, DCP(dcp)->opath); in devctl_bus_dev_create()
1023 *new_dcp = dc_mkhndl(DEVCTL_CLONE, devpath, 0, dcp); in devctl_bus_dev_create()
1032 devctl_ap_connect(devctl_hdl_t dcp, nvlist_t *ap_data) in devctl_ap_connect() argument
1036 rv = dc_cmd(DEVCTL_AP_CONNECT, 0, DCP(dcp), ap_data, NULL); in devctl_ap_connect()
1045 devctl_ap_disconnect(devctl_hdl_t dcp, nvlist_t *ap_data) in devctl_ap_disconnect() argument
1049 rv = dc_cmd(DEVCTL_AP_DISCONNECT, 0, DCP(dcp), ap_data, NULL); in devctl_ap_disconnect()
1058 devctl_ap_insert(devctl_hdl_t dcp, nvlist_t *ap_data) in devctl_ap_insert() argument
1062 rv = dc_cmd(DEVCTL_AP_INSERT, 0, DCP(dcp), ap_data, NULL); in devctl_ap_insert()
1071 devctl_ap_remove(devctl_hdl_t dcp, nvlist_t *ap_data) in devctl_ap_remove() argument
1075 rv = dc_cmd(DEVCTL_AP_REMOVE, 0, DCP(dcp), ap_data, NULL); in devctl_ap_remove()
1084 devctl_ap_configure(devctl_hdl_t dcp, nvlist_t *ap_data) in devctl_ap_configure() argument
1088 rv = dc_cmd(DEVCTL_AP_CONFIGURE, 0, DCP(dcp), ap_data, NULL); in devctl_ap_configure()
1097 devctl_ap_unconfigure(devctl_hdl_t dcp, nvlist_t *ap_data) in devctl_ap_unconfigure() argument
1101 rv = dc_cmd(DEVCTL_AP_UNCONFIGURE, 0, DCP(dcp), ap_data, NULL); in devctl_ap_unconfigure()
1110 devctl_ap_getstate(devctl_hdl_t dcp, nvlist_t *ap_data, in devctl_ap_getstate() argument
1116 rv = dc_cmd(DEVCTL_AP_GETSTATE, 0, DCP(dcp), ap_data, in devctl_ap_getstate()
1309 devctl_get_pathname(devctl_hdl_t dcp, char *pathbuf, size_t bufsz) in devctl_get_pathname() argument
1311 if (dcp == NULL || pathbuf == NULL || bufsz == 0) { in devctl_get_pathname()
1316 (void) snprintf(pathbuf, bufsz, "%s", DCP(dcp)->opath); in devctl_get_pathname()
1325 dc_cmd(uint_t cmd, uint_t flags, struct devctl_hdl *dcp, nvlist_t *ulp, in dc_cmd() argument
1333 (void *)dcp, (void *)ulp, flags, retinfo); in dc_cmd()
1335 if ((dcp == NULL) || (DCP(dcp)->fd == -1)) { in dc_cmd()
1364 iocdata.c_nodename = dcp->nodename; in dc_cmd()
1365 iocdata.c_unitaddr = dcp->unitaddr; in dc_cmd()
1367 rv = ioctl(dcp->fd, cmd, &iocdata); in dc_cmd()