Lines Matching refs:client

514 	client_t *client;  in rsrc_client_alloc()  local
526 client = s_calloc(1, sizeof (client_t)); in rsrc_client_alloc()
527 client->module = mod; in rsrc_client_alloc()
528 client->pid = pid; in rsrc_client_alloc()
529 client->alias = s_strdup(alias); in rsrc_client_alloc()
530 client->prv_flags = 0; in rsrc_client_alloc()
531 client->state = RCM_STATE_ONLINE; in rsrc_client_alloc()
532 client->flag = flag; in rsrc_client_alloc()
535 rcm_enqueue_tail(&mod->client_q, &client->queue); in rsrc_client_alloc()
537 return (client); in rsrc_client_alloc()
544 client_t *client = *list; in rsrc_client_find() local
549 while (client) { in rsrc_client_find()
550 if ((client->pid == pid) && in rsrc_client_find()
551 strcmp(modname, client->module->name) == 0) { in rsrc_client_find()
554 client = client->next; in rsrc_client_find()
556 return (client); in rsrc_client_find()
561 rsrc_client_add(client_t *client, client_t **list) in rsrc_client_add() argument
564 client->alias, client->module->name, client->pid); in rsrc_client_add()
566 client->next = *list; in rsrc_client_add()
567 *list = client; in rsrc_client_add()
572 rsrc_client_remove(client_t *client, client_t **list) in rsrc_client_remove() argument
577 client->alias, client->module->name, client->pid); in rsrc_client_remove()
581 if (client != tmp) { in rsrc_client_remove()
601 client_t *client = list; in rsrc_clients_free() local
603 while (client) { in rsrc_clients_free()
610 rcm_dequeue(&client->queue); in rsrc_clients_free()
612 if (client->module) { in rsrc_clients_free()
613 cli_module_rele(client->module); in rsrc_clients_free()
615 list = client->next; in rsrc_clients_free()
616 if (client->alias) { in rsrc_clients_free()
617 free(client->alias); in rsrc_clients_free()
619 free(client); in rsrc_clients_free()
620 client = list; in rsrc_clients_free()
629 rsrc_client_action(client_t *client, int cmd, void *arg) in rsrc_client_action() argument
638 struct rcm_mod_ops *ops = client->module->modops; in rsrc_client_action()
642 "rsrc_client_action: %s, %s, cmd=%d, flag=0x%x\n", client->alias, in rsrc_client_action()
643 client->module->name, cmd, targ->flag); in rsrc_client_action()
649 hdl = rcm_handle_alloc(client->module); in rsrc_client_action()
661 if ((client->flag & RCM_REGISTER_DR) == 0) { in rsrc_client_action()
668 if ((client->flag & RCM_REGISTER_CAPACITY) == 0) { in rsrc_client_action()
674 if ((client->flag & RCM_REGISTER_EVENT) == 0) { in rsrc_client_action()
696 rval = call_getinfo(ops, hdl, client->alias, client->pid, in rsrc_client_action()
702 (client->state == RCM_STATE_SUSPEND)) { in rsrc_client_action()
708 client->alias); in rsrc_client_action()
711 client->alias); in rsrc_client_action()
714 "suspend query %s cancelled\n", client->alias); in rsrc_client_action()
723 client->state = RCM_STATE_SUSPENDING; in rsrc_client_action()
725 client->state = RCM_STATE_SUSPEND_QUERYING; in rsrc_client_action()
727 client->state = RCM_STATE_ONLINE; in rsrc_client_action()
731 rval = ops->rcmop_request_suspend(hdl, client->alias, in rsrc_client_action()
732 client->pid, targ->interval, targ->flag, &error, in rsrc_client_action()
738 client->state = RCM_STATE_SUSPEND; in rsrc_client_action()
740 client->state = RCM_STATE_SUSPEND_FAIL; in rsrc_client_action()
744 client->state = RCM_STATE_SUSPEND_QUERY; in rsrc_client_action()
746 client->state = RCM_STATE_SUSPEND_QUERY_FAIL; in rsrc_client_action()
752 if (client->state == RCM_STATE_ONLINE) { in rsrc_client_action()
755 client->state = RCM_STATE_RESUMING; in rsrc_client_action()
756 rval = ops->rcmop_notify_resume(hdl, client->alias, client->pid, in rsrc_client_action()
760 client->state = RCM_STATE_ONLINE; in rsrc_client_action()
765 (client->state == RCM_STATE_OFFLINE)) { in rsrc_client_action()
771 client->alias); in rsrc_client_action()
774 client->alias); in rsrc_client_action()
777 "offline query %s cancelled\n", client->alias); in rsrc_client_action()
786 client->state = RCM_STATE_OFFLINING; in rsrc_client_action()
788 client->state = RCM_STATE_OFFLINE_QUERYING; in rsrc_client_action()
790 client->state = RCM_STATE_ONLINE; in rsrc_client_action()
794 rval = ops->rcmop_request_offline(hdl, client->alias, in rsrc_client_action()
795 client->pid, targ->flag, &error, &depend_info); in rsrc_client_action()
808 client->alias); in rsrc_client_action()
815 client->state = RCM_STATE_OFFLINE; in rsrc_client_action()
817 client->state = RCM_STATE_OFFLINE_FAIL; in rsrc_client_action()
821 client->state = RCM_STATE_OFFLINE_QUERY; in rsrc_client_action()
823 client->state = RCM_STATE_OFFLINE_QUERY_FAIL; in rsrc_client_action()
829 if (client->state == RCM_STATE_ONLINE) { in rsrc_client_action()
833 rcm_log_message(RCM_DEBUG, "onlining %s\n", client->alias); in rsrc_client_action()
835 client->state = RCM_STATE_ONLINING; in rsrc_client_action()
836 rval = ops->rcmop_notify_online(hdl, client->alias, client->pid, in rsrc_client_action()
838 client->state = RCM_STATE_ONLINE; in rsrc_client_action()
842 rcm_log_message(RCM_DEBUG, "removing %s\n", client->alias); in rsrc_client_action()
843 client->state = RCM_STATE_REMOVING; in rsrc_client_action()
844 rval = ops->rcmop_notify_remove(hdl, client->alias, client->pid, in rsrc_client_action()
846 client->state = RCM_STATE_REMOVE; in rsrc_client_action()
851 client->alias); in rsrc_client_action()
854 client->alias, client->pid, targ->flag, targ->nvl, in rsrc_client_action()
860 client->alias); in rsrc_client_action()
863 client->alias, client->pid, targ->flag, targ->nvl, in rsrc_client_action()
869 client->alias); in rsrc_client_action()
871 rval = ops->rcmop_notify_event(hdl, client->alias, in rsrc_client_action()
872 client->pid, targ->flag, &error, targ->nvl, in rsrc_client_action()
894 (void) call_getinfo(ops, hdl, client->alias, client->pid, in rsrc_client_action()
905 add_busy_rsrc_to_list(client->alias, client->pid, client->state, in rsrc_client_action()
906 targ->seq_num, client->module->name, info, error, in rsrc_client_action()
938 client_t *client = list; in rsrc_client_action_list() local
939 list = client->next; in rsrc_client_action_list()
946 client->state == RCM_STATE_REMOVE) { in rsrc_client_action_list()
947 client->state = RCM_STATE_ONLINE; in rsrc_client_action_list()
949 "state: REMOVE -> ONLINE: %s\n", client->alias); in rsrc_client_action_list()
952 if (client->state == RCM_STATE_REMOVE) in rsrc_client_action_list()
955 error = rsrc_client_action(client, cmd, arg); in rsrc_client_action_list()
1666 client_t *client = *listp; in clean_client_list() local
1671 while (client) { in clean_client_list()
1672 if ((client->state != RCM_STATE_REMOVE) && in clean_client_list()
1673 proc_exist(client->pid)) { in clean_client_list()
1674 listp = &client->next; in clean_client_list()
1675 client = *listp; in clean_client_list()
1683 rsrc_client_remove(client, listp); in clean_client_list()
1684 client = *listp; in clean_client_list()