Lines Matching refs:hd

54 	rcm_handle_t *hd;
68 if ((hd = calloc(1, sizeof (*hd))) == NULL) {
76 if ((hd->modname = strdup(namebuf)) == NULL) {
77 free(hd);
82 free(hd->modname);
83 free(hd);
92 hd->pid = (pid_t)0;
94 hd->pid = (pid_t)getpid();
97 *hdp = hd;
103 rcm_free_handle(rcm_handle_t *hd)
105 if (hd == NULL) {
110 if (hd->modname) {
111 free(hd->modname);
114 free(hd);
125 rcm_get_info(rcm_handle_t *hd, char *rsrcname, uint_t flag, rcm_info_t **infop)
146 return (rcm_common(CMD_GETINFO, hd, rsrcnames, flag, NULL, infop));
151 rcm_get_info_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
160 return (rcm_common(CMD_GETINFO, hd, rsrcnames, flag, NULL, infop));
165 rcm_request_offline(rcm_handle_t *hd, char *rsrcname, uint_t flag,
173 return (rcm_request_offline_list(hd, rsrcnames, flag, infop));
178 rcm_request_offline_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
186 return (rcm_common(CMD_OFFLINE, hd, rsrcnames, flag, NULL, infop));
191 rcm_notify_online(rcm_handle_t *hd, char *rsrcname, uint_t flag,
199 return (rcm_notify_online_list(hd, rsrcnames, flag, infop));
204 rcm_notify_online_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
212 return (rcm_common(CMD_ONLINE, hd, rsrcnames, flag, NULL, infop));
217 rcm_notify_remove(rcm_handle_t *hd, char *rsrcname, uint_t flag,
225 return (rcm_notify_remove_list(hd, rsrcnames, flag, infop));
230 rcm_notify_remove_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
238 return (rcm_common(CMD_REMOVE, hd, rsrcnames, flag, NULL, infop));
243 rcm_request_suspend(rcm_handle_t *hd, char *rsrcname, uint_t flag,
251 return (rcm_request_suspend_list(hd, rsrcnames, flag, interval, infop));
256 rcm_request_suspend_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
265 return (rcm_common(CMD_SUSPEND, hd, rsrcnames, flag, (void *)interval,
271 rcm_notify_resume(rcm_handle_t *hd, char *rsrcname, uint_t flag,
279 return (rcm_notify_resume_list(hd, rsrcnames, flag, infop));
284 rcm_notify_resume_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
292 return (rcm_common(CMD_RESUME, hd, rsrcnames, flag, NULL, infop));
297 rcm_request_capacity_change(rcm_handle_t *hd, char *rsrcname, uint_t flag,
311 rv = rcm_common(CMD_REQUEST_CHANGE, hd, rsrcnames, flag, (void *)nvl,
319 rcm_notify_capacity_change(rcm_handle_t *hd, char *rsrcname, uint_t flag,
333 rv = rcm_common(CMD_NOTIFY_CHANGE, hd, rsrcnames, flag, (void *)nvl,
341 rcm_notify_event(rcm_handle_t *hd, char *rsrcname, uint_t flag, nvlist_t *nvl,
356 rv = rcm_common(CMD_EVENT, hd, rsrcnames, 0, (void *)nvl, infop);
367 rcm_register_capacity(rcm_handle_t *hd, char *rsrcname, uint_t flag,
382 return (rcm_common(CMD_REGISTER, hd, rsrcnames, flag, NULL, NULL));
387 rcm_unregister_capacity(rcm_handle_t *hd, char *rsrcname, uint_t flag)
401 return (rcm_common(CMD_UNREGISTER, hd, rsrcnames, flag, NULL, NULL));
410 rcm_register_event(rcm_handle_t *hd, char *rsrcname, uint_t flag,
425 return (rcm_common(CMD_REGISTER, hd, rsrcnames, flag, NULL, NULL));
430 rcm_unregister_event(rcm_handle_t *hd, char *rsrcname, uint_t flag)
444 return (rcm_common(CMD_UNREGISTER, hd, rsrcnames, flag, NULL, NULL));
455 rcm_register_interest(rcm_handle_t *hd, char *rsrcname, uint_t flag,
470 return (rcm_common(CMD_REGISTER, hd, rsrcnames, flag, NULL, NULL));
475 rcm_unregister_interest(rcm_handle_t *hd, char *rsrcname, uint_t flag)
489 return (rcm_common(CMD_UNREGISTER, hd, rsrcnames, flag, NULL, NULL));
494 rcm_get_rsrcstate(rcm_handle_t *hd, char *rsrcname, int *statep)
510 result = rcm_common(CMD_GETSTATE, hd, rsrcnames, flag, NULL, &infop);
981 rcm_common(int cmd, rcm_handle_t *hd, char **rsrcnames, uint_t flag, void *arg,
986 if (hd == NULL) {
1014 if (hd->lrcm_ops != NULL) {
1015 return (rcm_direct_call(cmd, hd, rsrcnames, flag, arg, infop));
1031 return (rcm_daemon_call(cmd, hd, rsrcnames, flag, arg, infop));
1038 rcm_direct_call(int cmd, rcm_handle_t *hd, char **rsrcnames, uint_t flag,
1043 librcm_ops_t *ops = (librcm_ops_t *)hd->lrcm_ops;
1046 error = ops->librcm_getinfo(rsrcnames, flag, hd->seq_num,
1051 error = ops->librcm_offline(rsrcnames, hd->pid, flag,
1052 hd->seq_num, infop);
1056 error = ops->librcm_online(rsrcnames, hd->pid, flag,
1057 hd->seq_num, infop);
1061 error = ops->librcm_remove(rsrcnames, hd->pid, flag,
1062 hd->seq_num, infop);
1066 error = ops->librcm_suspend(rsrcnames, hd->pid, flag,
1067 hd->seq_num, (timespec_t *)arg, infop);
1071 error = ops->librcm_resume(rsrcnames, hd->pid, flag,
1072 hd->seq_num, infop);
1076 error = ops->librcm_regis(hd->modname, rsrcnames[0], hd->pid,
1081 error = ops->librcm_unregis(hd->modname, rsrcnames[0], hd->pid,
1086 error = ops->librcm_request_change(rsrcnames[0], hd->pid, flag,
1087 hd->seq_num, (nvlist_t *)arg, infop);
1091 error = ops->librcm_notify_change(rsrcnames[0], hd->pid, flag,
1092 hd->seq_num, (nvlist_t *)arg, infop);
1096 error = ops->librcm_notify_event(rsrcnames[0], hd->pid, flag,
1097 hd->seq_num, (nvlist_t *)arg, infop);
1101 error = ops->librcm_getstate(rsrcnames[0], hd->pid, infop);
1120 rcm_daemon_call(int cmd, rcm_handle_t *hd, char **rsrcnames, uint_t flag,
1169 if (rcm_generate_nvlist(cmd, hd, rsrcnames, flag, arg, &nvl_packed,
1327 rcm_generate_nvlist(int cmd, rcm_handle_t *hd, char **rsrcnames, uint_t flag,
1364 if (hd->modname) {
1365 if (nvlist_add_string(nvl, RCM_CLIENT_MODNAME, hd->modname)
1373 if (hd->pid) {
1374 if (nvlist_add_uint64(nvl, RCM_CLIENT_ID, hd->pid) != 0) {
1545 rcm_get_client_name(rcm_handle_t *hd)
1547 return (hd->modname);