Lines Matching refs:hd

55 	rcm_handle_t *hd;
69 if ((hd = calloc(1, sizeof (*hd))) == NULL) {
77 if ((hd->modname = strdup(namebuf)) == NULL) {
78 free(hd);
83 free(hd->modname);
84 free(hd);
93 hd->pid = (pid_t)0;
95 hd->pid = (pid_t)getpid();
98 *hdp = hd;
104 rcm_free_handle(rcm_handle_t *hd)
106 if (hd == NULL) {
111 if (hd->modname) {
112 free(hd->modname);
115 free(hd);
126 rcm_get_info(rcm_handle_t *hd, char *rsrcname, uint_t flag, rcm_info_t **infop)
147 return (rcm_common(CMD_GETINFO, hd, rsrcnames, flag, NULL, infop));
152 rcm_get_info_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
161 return (rcm_common(CMD_GETINFO, hd, rsrcnames, flag, NULL, infop));
166 rcm_request_offline(rcm_handle_t *hd, char *rsrcname, uint_t flag,
174 return (rcm_request_offline_list(hd, rsrcnames, flag, infop));
179 rcm_request_offline_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
187 return (rcm_common(CMD_OFFLINE, hd, rsrcnames, flag, NULL, infop));
192 rcm_notify_online(rcm_handle_t *hd, char *rsrcname, uint_t flag,
200 return (rcm_notify_online_list(hd, rsrcnames, flag, infop));
205 rcm_notify_online_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
213 return (rcm_common(CMD_ONLINE, hd, rsrcnames, flag, NULL, infop));
218 rcm_notify_remove(rcm_handle_t *hd, char *rsrcname, uint_t flag,
226 return (rcm_notify_remove_list(hd, rsrcnames, flag, infop));
231 rcm_notify_remove_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
239 return (rcm_common(CMD_REMOVE, hd, rsrcnames, flag, NULL, infop));
244 rcm_request_suspend(rcm_handle_t *hd, char *rsrcname, uint_t flag,
252 return (rcm_request_suspend_list(hd, rsrcnames, flag, interval, infop));
257 rcm_request_suspend_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
266 return (rcm_common(CMD_SUSPEND, hd, rsrcnames, flag, (void *)interval,
272 rcm_notify_resume(rcm_handle_t *hd, char *rsrcname, uint_t flag,
280 return (rcm_notify_resume_list(hd, rsrcnames, flag, infop));
285 rcm_notify_resume_list(rcm_handle_t *hd, char **rsrcnames, uint_t flag,
293 return (rcm_common(CMD_RESUME, hd, rsrcnames, flag, NULL, infop));
298 rcm_request_capacity_change(rcm_handle_t *hd, char *rsrcname, uint_t flag,
312 rv = rcm_common(CMD_REQUEST_CHANGE, hd, rsrcnames, flag, (void *)nvl,
320 rcm_notify_capacity_change(rcm_handle_t *hd, char *rsrcname, uint_t flag,
334 rv = rcm_common(CMD_NOTIFY_CHANGE, hd, rsrcnames, flag, (void *)nvl,
342 rcm_notify_event(rcm_handle_t *hd, char *rsrcname, uint_t flag, nvlist_t *nvl,
357 rv = rcm_common(CMD_EVENT, hd, rsrcnames, 0, (void *)nvl, infop);
368 rcm_register_capacity(rcm_handle_t *hd, char *rsrcname, uint_t flag,
383 return (rcm_common(CMD_REGISTER, hd, rsrcnames, flag, NULL, NULL));
388 rcm_unregister_capacity(rcm_handle_t *hd, char *rsrcname, uint_t flag)
402 return (rcm_common(CMD_UNREGISTER, hd, rsrcnames, flag, NULL, NULL));
411 rcm_register_event(rcm_handle_t *hd, char *rsrcname, uint_t flag,
426 return (rcm_common(CMD_REGISTER, hd, rsrcnames, flag, NULL, NULL));
431 rcm_unregister_event(rcm_handle_t *hd, char *rsrcname, uint_t flag)
445 return (rcm_common(CMD_UNREGISTER, hd, rsrcnames, flag, NULL, NULL));
456 rcm_register_interest(rcm_handle_t *hd, char *rsrcname, uint_t flag,
471 return (rcm_common(CMD_REGISTER, hd, rsrcnames, flag, NULL, NULL));
476 rcm_unregister_interest(rcm_handle_t *hd, char *rsrcname, uint_t flag)
490 return (rcm_common(CMD_UNREGISTER, hd, rsrcnames, flag, NULL, NULL));
495 rcm_get_rsrcstate(rcm_handle_t *hd, char *rsrcname, int *statep)
511 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,
1326 rcm_generate_nvlist(int cmd, rcm_handle_t *hd, char **rsrcnames, uint_t flag,
1363 if (hd->modname) {
1364 if (nvlist_add_string(nvl, RCM_CLIENT_MODNAME, hd->modname)
1372 if (hd->pid) {
1373 if (nvlist_add_uint64(nvl, RCM_CLIENT_ID, hd->pid) != 0) {
1543 rcm_get_client_name(rcm_handle_t *hd)
1545 return (hd->modname);